Search
Write a publication
Pull to refresh
41
1.8
Иван @janson

Разработчик. PHP, JS, TypeScript.

Send message

Как использовать AI-агент Claude Code: советы опытного разработчика

Level of difficultyMedium
Reading time10 min
Views12K

Я больше года использовал Cursor. Подробно изучил все его возможности и лучшие практики работы с инструментами и... отказался от всего этого в пользу Claude Code.

Уже несколько недель я полностью работаю в Claude Code вместо Cursor. И, честно говоря, возвращаться совсем не хочется. В этой статье я расскажу, как использую Claude Code и поделюсь своими советами по его максимальному использованию.

Читать далее

Head Hunters на LinkedIn — они очень хотят, чтобы вы сделали тестовое задание

Reading time13 min
Views36K

Знакомая ситуация? Неизвестный вам контакт пишет на LinkedIn, предлагает работу мечты... Но что‑то вас останавливает, вы уверены, что вас хотят обмануть! В этой статье я расскажу вам о новом способе атаки на разработчиков, под названием OtterCookie.

Читать далее

Что собой представляют образы Docker none:none?

Reading time3 min
Views23K

Предлагаю вашему вниманию перевод статьи What are Docker none:none images? из блога Project Atomic.


Последние несколько дней я потратил на упражнения с образами Docker <none>:<none>. Чтобы объяснить, что они собой представляют, и что могут натворить, я пишу этот пост, в котором ставлю вопросы:


  1. Что собой представляют образы Docker <none>:<none> ?
  2. Что собой представляют обособленные (dangling) образы ?
  3. Почему я вижу кучу образов <none>:<none>, когда делаю docker images -a ?
  4. В чем разница между docker images и docker images -a ?

Прежде чем я начну отвечать на вопросы, запомните, что есть два вида образов <none>:<none>: хорошие и плохие.

Читать дальше →

Когда JOIN тянет ко дну: как одно изменение ускорило запрос в 75 раз

Level of difficultyMedium
Reading time6 min
Views3.4K

TL;DR Иногда «убить» самый тяжёлый JOIN — проще, чем кажется. Достаточно вынести агрегат в коррелированный под-запрос и дать движку опереться на индекс.

Читать далее

Как хранить деньги в базах данных и почему это не так просто, как кажется

Level of difficultyEasy
Reading time11 min
Views25K

Хранение денежных сумм в базах данных и API: анализ подходов платежных систем

Хранение денег — вещь только на первый взгляд простая, а на деле содержит множество подводных камней. Выбрав не тот тип данных, можно получить неточности в расчётах, возможна путаница при переводе суммы из одной валюты в другую. А если ещё и подключать внешние API, у каждого из которых своя точность для одних и тех же валют, уследить за совместимостью еще труднее.

Разбираем, как решают эти проблемы Stripe, PayPal, Google Wallet и другие платежные системы. Сравниваем три основных подхода: Integer minor units, Decimal base units и String base units.

Читать далее

Vue Teleport: как работает

Level of difficultyEasy
Reading time5 min
Views4.2K

Привет, Хабр!

Сегодня разберём один из недооценённых, но крайне полезных инструментов во Vue 3 — <Teleport>. Это встроенный механизм, который позволяет рендерить часть шаблона вне текущего DOM‑контекста. Он нужен при реализации модалок, тултипов и других компонентов, которые должны «выпрыгивать» из дерева компонентов, но при этом сохранять реактивность, фокус и доступность. Без этих костылей, z-index: 9999 и appendChild.

Читать далее

Переход на Symfony в заскорузлом Yii2 монолите: подробный разбор

Level of difficultyHard
Reading time20 min
Views3.3K

Полгода назад мне посчастливилось решать интересную и нетипичную задачу по затаскиванию Symfony в Yii2 монолит. В данном материале я подробно и пошагово распишу весь процесс решения этой задачи с пояснениями, почему были выбраны именно такие решения и как это работает.

Читать далее

Грехи программиста: MVC

Level of difficultyEasy
Reading time28 min
Views7.1K

Использование MVC — это удобная отправная точка для небольших и средних проектов. Он прост, широко понятен и поддерживается большинством фреймворков. Однако по мере роста продукта MVC становится архитектурным тормозом: он нарушает принципы модульности, затрудняет тестирование и ведёт к плотной связанности компонентов.

Читать далее

15 минут — и у тебя бесплатная ИИ-модель для генерации кода, текста, чтения иллюстраций

Level of difficultyEasy
Reading time11 min
Views68K

Я устал платить за GPT и думать, куда уходят данные. Нашёл Gemma 3 12B от Google и LM Studio — установил всё за 15 минут. В статье — подробная инструкция и советы, как запустить свою Gemma даже без опыта в ML.

Читать далее

Как собрать Docker-образ, который можно запускать в проде (а не только у себя на ноуте)

Level of difficultyEasy
Reading time4 min
Views31K

Если ты пишешь Dockerfile, скорее всего, он работает. Но вопрос не в том, работает ли. Вопрос в другом: будет ли он работать через неделю, на другом сервере, в CI/CD, на чужом железе — и будет ли это безопасно?

Читать далее

Создание 2D игры на Python

Level of difficultyEasy
Reading time13 min
Views3.9K

Этот подробный гайд проведет вас шаг за шагом через процесс создания увлекательной игры, используя Python и библиотеку Pygame. Независимо от вашего уровня опыта, мы разберем каждую деталь, чтобы вы могли легко повторить этот проект.

Читать далее

Итак, я приехал, что дальше?

Level of difficultyEasy
Reading time19 min
Views49K

Digital nomad - это человек, который добровольно решил сняться с якоря и жить свободно. Я к этой категории не отношусь. Меня скорее обстоятельства заставили сняться с большого тяжёлого якоря и двинуть куда подальше. Этим "куда подальше" оказались Штаты. Пока я жил во Владивостоке, я умудрился несколько раз отказаться от предложений с релокацией в Корею (Южную, на всякий случай уточняю), в Сингапур, в Канаду и США. Поэтому довольно иронично, что спустя 5 лет я оказался здесь.

В этой статье я больше хочу поделиться не тем как и почему я решил переехать, а скорее историей "оседания" там, куда приехал. Конкретно, я хочу затронуть три важных темы: культура и язык, быт, поиск работы. Это мой опыт, мой путь, конкретно про США (Калифорния). Кому-то он будет полезен - класс! Если кого-то это заденет за живое - сочувствую вам. Итак, пристегните ремни, мы...

садимся.

«Кем Вы видите себя через 5 лет», или HRско-русский разговорник

Level of difficultyEasy
Reading time8 min
Views77K

Вас спрашивали «Кем Вы видите себя через 5 лет»? Меня тоже. За двадцать пять лет в IT я понял, зачем они так делают. Понял – это значит, что я «привык и научился пользоваться» (С). Но «неприятно удивлять» они меня не перестали.

Публикую свой личный русско-HRский разговорник. Он вряд ли поменяет ваше отношение к HRскому языку, но проходить собеседования вы будете проще и эффективнее.

Дисклеймер:

Я не призываю врать или «играть по правилам» HR. Я делюсь практической схемой подачи опыта и скиллов, чтобы минимизировать отказы «по софтам». В моем случае она работает.

Читать далее

Отменить ЕГЭ? А после — градусники?

Level of difficultyMedium
Reading time8 min
Views22K

В последнее время всё чаще звучит критика в адрес современной системы образования. Главным «виновником» называют ЕГЭ — якобы именно он породил так называемое «поколение ЕГЭ» — людей с худшим уровнем знаний по сравнению с «нормальными» выпускниками прошлого. Некоторые даже требуют отмены ЕГЭ, полагая, что это автоматически решит все проблемы.

Но так ли всё однозначно? Попробуем разобраться: как устроен ЕГЭ, в чём его настоящие достоинства, и почему претензии к нему чаще всего не по адресу.

Читать далее

One-shot промптинг. Как я начал вайбкодить в 10? раз быстрее

Level of difficultyEasy
Reading time6 min
Views50K

Вообще, я менеджер.

Но когда-то писал код и всегда любил это занятие. Серьезно прогал мобильные приложения, и даже заработал за один из ответов на SO больше 100 звездочек.

Но с тех пор прошла куча времени.

И последнее время меня вновь увлекла эта тема. А как она может увлечь современного человека, измученного миллиардом фреймворков и отставшего от прогресса лет на 15?
Конечно-же курсором и вайб-кодингом.

И я начал кодить.

Собрал несколько ботов, потом замахнулся на CMS. Сейчас даже делаю свою тулзу для запуска LLM-пайплайнов с импортом их из n8n.

Но в процессе всего этого неизменно сталкивался с двумя проблемами

1) Cursor (и брат его Windsurf) паршивейшим образом обходится с нетипизированными и слабо-типизированными языками. Изобретает названия переменных, меняет их по ходу, и вообще, забивает на это огромный и толстый... За пределами этого кодит он неплохо. Но данная штука лично у меня порождает 90% багов.
2)...

Читать далее

Мое производство электрощитов приносит 40 млн в год. Спасибо нейросетям и СССР за конструкторскую школу

Level of difficultyEasy
Reading time14 min
Views101K

А сейчас мое производство электрощитов занимает 1 700 кв.м, и поставляет продукции на 500 млн ₽ (прошлый год). В этом году я планирую выйти на миллиард. 

Читать далее

Как я не стал…

Level of difficultyEasy
Reading time12 min
Views27K

На Хабре много статей о том, как кто-то кем-то стал. Истории успеха, карьеры, достижений... Я предлагаю уважаемому читателю историю неосуществлённых возможностей. Рассказ о том, кем автор мог стать, но, в силу собственного выбора и/или внешних причин, всё вышло иначе.

История может быть (не-) интересна юношам и девушкам, раздумывающим над принятием раз и навсегда правильного решения.

Читать далее

Как полюбить математику и подружиться с ней на всю жизнь, если ты уже не школьник

Level of difficultyEasy
Reading time10 min
Views111K

«Вспоминаю, как в 7-м классе ничего не понимал, когда мы начинали разбирать тригонометрию. С учителем мы не смогли найти общий язык, поэтому к 8–9-му классу я был уверен, что никогда не буду заниматься математикой, а уж тем более сидеть по несколько часов в день, утыкаясь в учебники Беклемишева или Кожевникова и параллельно просматривая лекции Физтеха…»

Всем привет! Идею этой статьи я вынашивал довольно долго, пока не набрался опыта в том, что сейчас стало моей каждодневной практикой. Надеюсь, мой опыт поможет кому-то из вас комфортнее и эффективнее подойти к изучению математики (а может, и других наук). Предлагаю познакомиться:

Меня зовут Ренат, мне 23 года, я родился в Москве, окончил обычную школу и вплоть до 19 лет не понимал, чем хочу заниматься — что называется «что меня драйвит». Сейчас живу на Кипре, работаю тут аналитиком, продолжаю параллельно учиться в России и скоро заканчиваю там университет.

За последние несколько лет я успел поработать аналитиком в Ozon, затем продуктовым аналитиком в Тинькофф (ныне Т-банк), перешёл в лондонский стартап, а сейчас тружусь над проектами в сфере Trust & Safety. И вот в один прекрасный день я решился «серьёзно ботать математику»: уже несколько месяцев уделяю 10–15 часов в неделю задачам, лекциям и подготовке к поступлению в магистратуру (решая вступительные от МГУ, ВШЭ, МФТИ). Именно об этом пути — как я ищу мотивацию, борюсь с прокрастинацией и стараюсь не выгореть — я и хочу вам рассказать.

Читать далее

«Казалось бы, это было только вчера: какие хиты выходили 10 лет назад и насколько хорошо они сохранились?

Level of difficultyEasy
Reading time5 min
Views8.1K

Как бы мне ни хотелось остановить время, оно неумолимо движется вперёд. Кажется, что совсем недавно в интернете активно обсуждалась каноничность MGS V, поклонники ПК искали проблемы в Bloodborne, чтобы убедить себя, что игра на их платформе не нужна, а третья часть приключений Геральта открыла для всего мира Гвинт.

Однако страшно представить, что всё это было целых 10 лет назад. Сегодня я предлагаю вспомнить 5 проектов, которые с честью выдержали испытание временем и позволяют забыть, что с их выхода прошло уже 10 лет.

Читать далее

Если ваша карьера или бизнес не растут, значит вы так и не прошли ключевое испытание. О чем речь?

Level of difficultyEasy
Reading time6 min
Views40K

Слова про испытание могут показаться бредом, ведь современная работа — это просто работа. Это не «Матрица», не «Властелин колец» и не «Кунг-фу панда». Тут достаточно хорошо делать и хорошо будет, тут не надо голодать в пустыне и таскаться с кольцом по окрестностям, так ведь?

Читать далее
1
23 ...

Information

Rating
2,724-th
Location
Бишкек, Кыргызстан, Кыргызстан
Date of birth
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
Senior
PHP
OOP
Git
Database
Docker