Найди баг джуна🤔
Вчера скинули на ревью вот такой кусок кода. Задача простейшая отфильтровать список пользователей по возрасту.
Скрипт вроде работает, ошибок не выдает. Но в продакшен я его не пустил.
Кто первым напишет в комменты💬 , почему этот код бомба замедленного действия и как он себя поведет на реальных данных?
Правильный ответ и то, как надо было сделать, закину вечером👌
КАНАЛ📱 ЧАТИК💬
Вчера скинули на ревью вот такой кусок кода. Задача простейшая отфильтровать список пользователей по возрасту.
def filter_adults(users):
for user in users:
if user['age'] < 18:
users.remove(user)
return users
Скрипт вроде работает, ошибок не выдает. Но в продакшен я его не пустил.
Кто первым напишет в комменты
Правильный ответ и то, как надо было сделать, закину вечером
КАНАЛ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Будни программиста
Найди баг джуна🤔 Вчера скинули на ревью вот такой кусок кода. Задача простейшая отфильтровать список пользователей по возрасту. def filter_adults(users): for user in users: if user['age'] < 18: users.remove(user) return users Скрипт…
В чем суть проблемы джуна в этом посте
Удалять элементы из списка во время итерации по нему это выстрел себе в ногу. Когда
Итог на реальных данных: Если в списке идут два человека младше 18 лет подряд, цикл удалит первого, сдвинет список и просто "перепрыгнет" второго. В продакшене у вас в базе останется куча несовершеннолетних юзеров, а вы даже не узнаете об этом, потому что скрипт отработает без ошибок (тихий баг самый страшный баг).
✔️ Как надо было сделать (Выбор Сеньора)
Вариант 1 List Comprehension (База) Самый питонячий, читаемый и быстрый способ. Мы просто создаем новый отфильтрованный список, а не мучаем старый.
Вариант 2 Функция filter() Для тех, кто любит функциональный стиль. Работает так же отлично.
Вариант 3 Идем с конца (In-place) Если список весит гигабайт, и нам критически важно менять именно исходник, чтобы не жрать память вспоминаем мой недавний пост! Используем
Мораль никогда не мутируйте объект, по которому итерируетесь. Всем чистого кода 🤝
КАНАЛ📱 ЧАТИК💬
Удалять элементы из списка во время итерации по нему это выстрел себе в ногу. Когда
users.remove(user) удаляет элемент, все оставшиеся элементы списка сдвигаются на один индекс влево. Но внутренний указатель цикла for всё равно делает шаг вперед.Итог на реальных данных: Если в списке идут два человека младше 18 лет подряд, цикл удалит первого, сдвинет список и просто "перепрыгнет" второго. В продакшене у вас в базе останется куча несовершеннолетних юзеров, а вы даже не узнаете об этом, потому что скрипт отработает без ошибок (тихий баг самый страшный баг).
Вариант 1 List Comprehension (База) Самый питонячий, читаемый и быстрый способ. Мы просто создаем новый отфильтрованный список, а не мучаем старый.
def filter_adults(users):
return [u for u in users if u['age'] >= 18]
Вариант 2 Функция filter() Для тех, кто любит функциональный стиль. Работает так же отлично.
def filter_adults(users):
return list(filter(lambda u: u['age'] >= 18, users))
Вариант 3 Идем с конца (In-place) Если список весит гигабайт, и нам критически важно менять именно исходник, чтобы не жрать память вспоминаем мой недавний пост! Используем
reversed(). При удалении с конца сдвиг индексов не ломает оставшуюся итерацию.def filter_adults(users):
for user in reversed(users):
if user['age'] < 18:
users.remove(user)
return users
Мораль никогда не мутируйте объект, по которому итерируетесь. Всем чистого кода 🤝
КАНАЛ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3❤🔥1
Разбавим немного код железной темой. Часто начинающие программисты или даже уже программисты могут задаться вопросом
Мой ответ: Кодить можно, но эффективно работать вряд ли. Бэкендер на Python это не просто редактор кода. Это одновременно запущенный Docker, локальная база данных, тяжелая IDE, пара десятков вкладок в браузере и в моем случае локальные тесты ИИ моделей или 10 окон Playwright для парсинга. Старое железо от такой нагрузки начинает просто дымиться.
Чтобы всё это летало и Event Loop не фризил систему, я использую вот такую конфигурацию.
Моя рабочая станция:
Короче, этот сетап позволяет мне не думать о ресурсах ещё долгое время и просто делать свою работу быстро и качественно.
А на чем кодите вы? Скидывайте фотки своих рабочих мест и конфиги железа в комменты, интересно посмотреть
КАНАЛ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Будни программиста
Photo
Смех смехом, а мем-то страшный 😅
Вчера закинул вам картинку про требования к джунам, и на самом деле в ней только доля шутки. Рынок сейчас это мясорубка.
Раньше знал базовый синтаксис, мог написать простейшую функцию тебя отрывали с руками на позицию стажера. Сейчас из-за того, что базовый код за секунду пишет любая нейронка, планка входа улетела в космос. HR-ы требуют от джуна знать Python, Docker, CI/CD, асинхронность и иметь коммерческий опыт еще до окончания универа.
Как пробивать эту стену в 2026 году? Мой путь (и почему я вообще сижу на фрилансе) заказчику в телеграме или на бирже вообще плевать, как ты отцентрируешь div или знаешь ли ты алгоритмы сортировки бинарного дерева. Ему нужен РЕЗУЛЬТАТ, который сэкономит ему время и принесет деньги.
🤖 Нужен бот, который парсит конкурентов? Сделал -> получил оплату (я чаще всего беру криптой). ⚙️ Нужна автоворонка с базой данных? Собрал -> получил деньги.
Пока тысячи новичков штурмуют корпорации и проходят по 5 этапов собеседований ради неоплачиваемого тестового задания, на бэкенд-автоматизации для малого бизнеса можно спокойно зарабатывать.
Если тема интересна, дайте огня 🔥 в реакциях, и в следующем посте я разберу, как правильно «причесать» свои пет-проекты (тех же парсеров и ботов), чтобы клиенты на фрилансе хотели отдавать вам заказы
КАНАЛ📱 ЧАТИК💬 ГИТХАБ👨💻 СВЯЗАТЬСЯ СО МНОЙ❤
Вчера закинул вам картинку про требования к джунам, и на самом деле в ней только доля шутки. Рынок сейчас это мясорубка.
Раньше знал базовый синтаксис, мог написать простейшую функцию тебя отрывали с руками на позицию стажера. Сейчас из-за того, что базовый код за секунду пишет любая нейронка, планка входа улетела в космос. HR-ы требуют от джуна знать Python, Docker, CI/CD, асинхронность и иметь коммерческий опыт еще до окончания универа.
Как пробивать эту стену в 2026 году? Мой путь (и почему я вообще сижу на фрилансе) заказчику в телеграме или на бирже вообще плевать, как ты отцентрируешь div или знаешь ли ты алгоритмы сортировки бинарного дерева. Ему нужен РЕЗУЛЬТАТ, который сэкономит ему время и принесет деньги.
Пока тысячи новичков штурмуют корпорации и проходят по 5 этапов собеседований ради неоплачиваемого тестового задания, на бэкенд-автоматизации для малого бизнеса можно спокойно зарабатывать.
Если тема интересна, дайте огня 🔥 в реакциях, и в следующем посте я разберу, как правильно «причесать» свои пет-проекты (тех же парсеров и ботов), чтобы клиенты на фрилансе хотели отдавать вам заказы
КАНАЛ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥2
Будни программиста
Смех смехом, а мем-то страшный 😅 Вчера закинул вам картинку про требования к джунам, и на самом деле в ней только доля шутки. Рынок сейчас это мясорубка. Раньше знал базовый синтаксис, мог написать простейшую функцию тебя отрывали с руками на позицию стажера.…
Как упаковать пет-проект, чтобы вам доверяли реальные заказы🤔
Вчера пообещал выложить, так что выкатываю базу.
🤔 Многие из вас, возможно, сидят и думают: «Я же хороший специалист, постоянно развиваюсь, да вроде и делаю нормально. Почему тогда мои отклики игнорят, а заказы не берут?» Раскрою секрет: бизнесу вообще плевать, как красиво вы написали парсер или отцентрировали кнопку. Бизнесу важны готовый результат и ваша ответственность
💡 И еще один важнейший момент, прежде чем мы перейдем к правилам. Иногда нужно отвечать и помогать клиентам абсолютно бесплатно: подсказать по серверу, быстро поправить мелкий баг или проконсультировать. Именно это делает из вас крутого специалиста, который реально любит свое дело, а не кодера, который делает всё исключительно ради денег.
Чтобы ваш кейс на GitHub или отклик на заказ продавал вас как профи, транслируйте эти три принципа:
⚡️ 1. Вы продаете спокойствие, а не скрипты Джун сдает проект и пропадает это клиентов пугает. Опытный разраб сдает систему и показывает, что он отвечает за свои решения. В описании кейсов делайте акцент на стабильность. Клиент должен видеть: если завтра целевой сайт поменяет верстку или база ляжет от нагрузки вы не сольетесь, вы заложили это в архитектуру и знаете, как починить и всегда готовы помочь и подсказать даже если клиент не заплатит
⚙️ 2. Тотальная самостоятельность (Работа под ключ) Никто не хочет нянчиться с программистом и сутками висеть с ним на созвонах. Настоящая ценность это когда вы берете проблему и приносите готовое решение. Я выстраиваю процессы так, чтобы клиенту было максимально комфортно: мы четко утверждаем всё в текстовом формате, я ухожу работать и возвращаюсь с готовым продуктом. Экономия времени заказчика ваш главный козырь.
📈 3. Ответственность важнее денег Если вы берете заказ, вы берете ответственность за кусок чужого бизнеса. Умение сказать «я не успею в эти сроки» или «эта архитектура тут не сработает» еще до старта работы это признак профессионала. На фрилансе репутация строится на том, как вы ведете себя, когда что-то идет не по плану.
Настоящий Senior начинается не там, где он выучил все библиотеки, а там, где он готов нести полную ответственность за написанный им код
Всем удачного кодинга😓
КАНАЛ📱 ЧАТИК💬 ГИТХАБ👨💻 СВЯЗАТЬСЯ СО МНОЙ❤
Вчера пообещал выложить, так что выкатываю базу.
Чтобы ваш кейс на GitHub или отклик на заказ продавал вас как профи, транслируйте эти три принципа:
Настоящий Senior начинается не там, где он выучил все библиотеки, а там, где он готов нести полную ответственность за написанный им код
Всем удачного кодинга
КАНАЛ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Как я написал свой антидетект на Playwright⚡️
🤔 Недавно на фрилансе прилетел заказ: нужно было настроить автоматическое скачивание медиа с сайта. Загвоздка в том, что ресурс был намертво закрыт Cloudflare Turnstile. Защита стояла такая, что даже я руками через обычный браузер не всегда мог пробиться с первого раза.
Обычный
✔️ Решение: Пишем свой класс-Bypasser Я собрал кастомную антидетект-систему поверх Playwright. Бот, которого я написал, начал пробивать Cloudflare с первого раза там, где я руками ловил бесконечные капчи.
За счет чего работает обход:
🟢 Тотальная подмена железа (Stealth-инъекция) Скрипт внедряет JS-код до загрузки страницы. Мы скрываем маркеры автоматизации и подменяем характеристики. Сайт думает, что к нему зашел юзер с NVIDIA RTX 3060, 16 ГБ оперативки и стандартными плагинами вроде PDF Viewer. Добавляем уникальный шум в Canvas и WebGL, чтобы отпечаток выглядел естественно.
🟢 Поведенческая эмуляция Боты кликают мгновенно и в центр кнопки. Мой Bypasser генерирует случайные кривые движения мыши с человеческими таймингами и кликает по чекбоксу Cloudflare со смещением (offset).
🟢 Умная навигация и траст Использую подмену Referer на
📷 Что на скриншоте? Это кусок моего класса, отвечающий за систему отладки (
🤝 Мораль такая на фрилансе бизнесу нужен результат. Заказчику плевать сколько тебе лет,или насколько сложная там капча, ему нужны данные. И если вы умеете писать такие байпассеры, у вас всегда будут жирные заказы.
КАНАЛ📱 ЧАТИК💬 ГИТХАБ👨💻 СВЯЗАТЬСЯ СО МНОЙ❤
Обычный
requests тут летит в мусорку сразу. Голый Selenium или Playwright отлетают на первой же проверке navigator.webdriver. Сайт анализирует всё: твою видеокарту, движения мыши, отпечатки канваса и ИНОГДА даже аудио-контекст.За счет чего работает обход:
google.com (Cloudflare гораздо лояльнее к трафику с поисковиков) и подключаюсь к живому профилю Chrome через CDP (Chrome DevTools Protocol). Это дает нам реальные куки и историю, что повышает траст до небес._dump_watch_artifacts). Когда ты воюешь с защитой, важно понимать, на каком этапе бот спалился. Если обход не прошел, скрипт автоматически дампит скриншот и HTML страницы. Без таких логов дебажить антибот-системы просто невозможно.КАНАЛ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Почему я перестал стремиться к «идеальному» коду 🤯
📈 На старте карьеры я был фанатом чистоты. Вылизывал каждый класс, тратил часы на паттерны проектирования, чтобы всё было по SOLID, DRY и прочим святым книгам. Казалось, что если код выглядит как произведение искусства, я бог программирования.
🤩 А потом пришел фриланс. И рынок показал мне настоящую жизнь. Заказчику плевать на красоту твоего
👌 Моя позиция сейчас: Код это просто инструмент. Если ты написал систему за 3 дня, она стабильна, легко масштабируется и приносит прибыль это идеальный код. Даже если внутри там «костыль», который ты покрасил в белый цвет.
Профессионализм это не умение красиво расставить отступы. Это умение понимать, где можно срезать углы, а где это убьет проект.
Когда ты понимаешь бизнес-логику, ты перестаешь быть просто "кодером". Ты становишься тем, кто решает проблемы. И вот за это платят в разы больше, чем за знание всех библиотек Python наизусть
КАНАЛ📱 ЧАТИК💬 ГИТХАБ👨💻 СВЯЗАТЬСЯ СО МНОЙ❤
async def. Ему плевать, используешь ты Dependency Injection или нет. Ему нужно, чтобы бот работал сейчас, приносил лиды сегодня, а скрипт не падал, когда на сайт налетает поток парсинга.Я видел сеньоров с 10-летним стажем, которые тонули в «идеальных» архитектурах, переписывая проекты месяцами, пока их конкуренты на «грязном», но работающем коде забирали все деньги с бирж.Профессионализм это не умение красиво расставить отступы. Это умение понимать, где можно срезать углы, а где это убьет проект.
Когда ты понимаешь бизнес-логику, ты перестаешь быть просто "кодером". Ты становишься тем, кто решает проблемы. И вот за это платят в разы больше, чем за знание всех библиотек Python наизусть
КАНАЛ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Будни программиста
Разбор реального заказа от отвалившихся прокси до Windows Server Core за 24 часа
Вы проголосовали за этот формат, так что выворачиваю карманы и показываю изнутри, как проходит рабочий день Python-разработчика📱 . Никакой успешной успешности только чистый опыт, кодинг и скорость
1️⃣ Этап 1. ТЗ и моментальный апселл
Клиент пришел с задачей: нужно было доработать логику уже существующего софта по автоматизации (скрипт для Дайвинчика) и добавить жесткий лимит на итерации (лайки), чтобы аккаунты не улетали в бан.
Любое расширение ТЗ = расширение бюджета. Мы быстро согласовали доплату за внедрение счетчика и лимитов. Это классический пример правильного апселла: цените свое время и не делайте правки за спасибо.
2️⃣ Этап 2. Проблема с прокси и мое решение
Софт у клиента крутился на старой Windows 8.1, и в какой-то момент сеть просто легла прокси наглухо отвалились. Бот начал зависать на состояниях.
Чтобы реанимировать поток, я сам предложил и настроил связку через v2rayN. Это помогло временно прилепить прокси обратно, но стало очевидно: старая ОС это мина замедленного действия. Я выступил инициатором переезда на нормальный VPS.
3️⃣ Этап 3. Главный факап (Классика хостингов)
Мы приняли решение переезжать. Клиент идет покупать Windows Server, но случайно берет версию Core (это которая управляется чисто через консоль, вообще без графического интерфейса). Для десктопного софта и быстрой настройки абсолютно мимо.
Время шло, но паники не было. Оперативно поменяли тариф, накатили нормальный Windows Server в Лондоне, и я зашел на чистый сервер.
4️⃣ Этап 4. Финал: 3 софта за 1 день
В итоге вся задача от разбора старого кода до полной сдачи заняла ровно 1 день. За это время я:
Перенес и настроил 3 разных софта/скрипта на новый сервер.
Привязывать прокси не пришлось ведь сервер теперь в лондоне, просто проверил лимиты чтобы убедиться что всё работает штатно.Ну и передал клиенту готовую работу.
Успешно закрыл сделку и получил оплату в USDT🪙 чеком в CryptoBot 💸
😎 Главный инсайт: Почему программирование это НЕ про код?
Этот кейс идеальный маркер того, чем Junior-разработчик отличается от Middle/Senior специалиста.
Новички часто думают: «Я научусь писать синтаксис Python, циклы, функции и мне начнут платить тысячи долларов». Нет, не начнут. За код как таковой платят копейки. Платят за решение бизнес-проблем.
В этом заказе написание самого кода (счетчика лимитов) заняло от силы 10–15% времени. Всё остальное это сопутствующий стек и soft-skills, без которых проект бы умер
⏺ Понимание сетей и Linux/Windows администрирования. Мало написать бота. Нужно уметь развернуть его на удаленном сервере, настроить сетевые интерфейсы, разобраться с v2rayN, прокси, протоколами шифрования и маршрутизацией. Если ваш софт работает только на вашем локальном ПК вы еще не разработчик.
⏺ Стрессоустойчивость и менеджмент. Когда клиент покупает Windows Server Core вместо GUI, джун падает в обморок или начинает винить клиента. Профи спокойно берет контроль в свои руки, координирует действия, меняет тариф и решает проблему за полчаса.
⏺ Продуктовое мышление. Вы должны смотреть на код глазами конечного пользователя. Я мог бы просто впилить лимит, забрать деньги уйти и сказать "Сервер твой решай сам". Но я понимал, что на старой ОС софт продолжит падать, а клиент продолжит терять деньги. Инициатива переезда это забота о бизнесе клиента, которая окупается долгосрочным доверием.
Развивайте инфраструктурное мышление, учитесь администрировать то, что пишете, и никогда не бойтесь брать на себя ответственность за конечный результат
КАНАЛ📱 ЧАТИК💬 ГИТХАБ👨💻 СВЯЗАТЬСЯ СО МНОЙ❤
Вы проголосовали за этот формат, так что выворачиваю карманы и показываю изнутри, как проходит рабочий день Python-разработчика
Клиент пришел с задачей: нужно было доработать логику уже существующего софта по автоматизации (скрипт для Дайвинчика) и добавить жесткий лимит на итерации (лайки), чтобы аккаунты не улетали в бан.
Любое расширение ТЗ = расширение бюджета. Мы быстро согласовали доплату за внедрение счетчика и лимитов. Это классический пример правильного апселла: цените свое время и не делайте правки за спасибо.
Софт у клиента крутился на старой Windows 8.1, и в какой-то момент сеть просто легла прокси наглухо отвалились. Бот начал зависать на состояниях.
Чтобы реанимировать поток, я сам предложил и настроил связку через v2rayN. Это помогло временно прилепить прокси обратно, но стало очевидно: старая ОС это мина замедленного действия. Я выступил инициатором переезда на нормальный VPS.
Вывод для разработчика Не бойтесь вести клиента за собой. Если видите, что инфраструктура ложится предлагайте решение первыми. Клиенты ценят проактивность
Мы приняли решение переезжать. Клиент идет покупать Windows Server, но случайно берет версию Core (это которая управляется чисто через консоль, вообще без графического интерфейса). Для десктопного софта и быстрой настройки абсолютно мимо.
Время шло, но паники не было. Оперативно поменяли тариф, накатили нормальный Windows Server в Лондоне, и я зашел на чистый сервер.
В итоге вся задача от разбора старого кода до полной сдачи заняла ровно 1 день. За это время я:
Перенес и настроил 3 разных софта/скрипта на новый сервер.
Привязывать прокси не пришлось ведь сервер теперь в лондоне, просто проверил лимиты чтобы убедиться что всё работает штатно.Ну и передал клиенту готовую работу.
Успешно закрыл сделку и получил оплату в USDT
Этот кейс идеальный маркер того, чем Junior-разработчик отличается от Middle/Senior специалиста.
Новички часто думают: «Я научусь писать синтаксис Python, циклы, функции и мне начнут платить тысячи долларов». Нет, не начнут. За код как таковой платят копейки. Платят за решение бизнес-проблем.
В этом заказе написание самого кода (счетчика лимитов) заняло от силы 10–15% времени. Всё остальное это сопутствующий стек и soft-skills, без которых проект бы умер
Запомните: Умение гуглить синтаксис библиотек это база. Но реальная ценность инженера складывается из его автономности. Когда вы можете взять «голую» идею заказчика, протащить её через адские настройки серверов, кривые прокси, технические факапы хостингов и выдать под ключ работающую экосистему вот тогда вы становитесь незаменимым специалистом.
Развивайте инфраструктурное мышление, учитесь администрировать то, что пишете, и никогда не бойтесь брать на себя ответственность за конечный результат
КАНАЛ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Будни программиста
Когда я делал этот опрос я думал "Да кто этого не знает"
Но в викторине выше мнения разделились, хотя правильный ответ здесь один
В учебниках это обычно преподносят как душную теорию для собесов, но на реальных фриланс-заказах этот мелкий капкан стабильно генерирует седые волосы, когда ты часами дебажишь упавший софт клиента.
🔍 Где тут ловушка, которая обманывает глаза?
Посмотрим на этот код еще раз:
👀 Джун смотрит на первую строчку и думает: «Ну тут же круглые скобки, значит это точно кортеж (tuple)». А вот и нет.
Для интерпретатора круглые скобки здесь это просто приоритет операции, как в обычной школьной математике (например,
👌 А теперь факт, который реально переворачивает мышление: в Python кортежи создают ЗАПЯТЫЕ, а не круглые скобки!
Строка
🚨 Как этот баг стреляет в реальном продакшене?
Пока ты пишешь простые скрипты для себя, это кажется пустяком. Но давай перенесемся в реальный заказ. Представь, что тебе нужно сделать запрос к базе данных (через
Пример:
Ты запускаешь готового асинхронного бота, клиент заливает трафик, и сервер намертво падает со знакомым матом в логах:
И ты сидишь, часами смотришь на этот кусок, видишь круглые скобки вокруг
КАНАЛ📱 ЧАТИК💬 ГИТХАБ👨💻 СВЯЗАТЬСЯ СО МНОЙ❤
Но в викторине выше мнения разделились, хотя правильный ответ здесь один
False.В учебниках это обычно преподносят как душную теорию для собесов, но на реальных фриланс-заказах этот мелкий капкан стабильно генерирует седые волосы, когда ты часами дебажишь упавший софт клиента.
Посмотрим на этот код еще раз:
a = (1)
b = (1,)
print(type(a) == type(b))
Для интерпретатора круглые скобки здесь это просто приоритет операции, как в обычной школьной математике (например,
(2 + 2) * 2). Они не создают структуру данных. В итоге переменная a становится обычным числом (int).Строка
b = (1,) благодаря одной лишь висячей запятой превращается в полноценный tuple. Более того, если ты напишешь c = 1, вообще без скобок Python всё равно послушно создаст кортеж. Скобки вокруг него нужны исключительно нам разработчикам просто для читаемости.Пока ты пишешь простые скрипты для себя, это кажется пустяком. Но давай перенесемся в реальный заказ. Представь, что тебе нужно сделать запрос к базе данных (через
sqlite3, psycopg2 или asyncpg) и вытащить инфу по одному конкретному ID пользователя:Пример:
# Момент, когда софт ложится колом
user_id = 777
cursor.execute("SELECT * FROM users WHERE id = ?", (user_id))```
Ты запускаешь готового асинхронного бота, клиент заливает трафик, и сервер намертво падает со знакомым матом в логах:
TypeError: 'int' object is not iterable. База данных ждала кортеж или список параметров для подстановки, а ты подсунул ей чистый инт.И ты сидишь, часами смотришь на этот кусок, видишь круглые скобки вокруг
user_id и искренне не понимаешь, почему Python считает это числом. А цена простоя бизнеса один пропущенный символ. Стоит дописать висячую запятую (user_id,) и всё начинает лететь.Вывод для прокачки: Всегда контролируйте запятые, когда передаете один-единственный элемент туда, где архитектура проекта ждет итерируемый объект будь то SQL-запросы, отправка JSON-payload в сторонние API или параметры для фоновых воркеров.
КАНАЛ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Великий плач по «настоящему коду», или почему в 2026 году глупо писать руками
В последнее время в комментах и чатах регулярно всплывает одна и та же предъява: «Ой, да у него код из Курсора/Клода», «Да ты всё через ChatGPT делаешь», «Настоящий инженер пишет сам».
Слушайте, этот бесконечный плач «олдов» и душных теоретиков уже даже не смешит. Давайте один раз детально разберем тему ИИ в разработке
1️⃣ МИФ . «Писать всё руками это признак профессионализма»
Мы в 2026 году ии сейчас буквально в каждой микроволновке. Писать сейчас каждую строчку кода, каждый импорт, базовый роутинг или бойлерплейт вручную в голом блокноте это как пахать поле лошадью, когда рядом стоит трактор. Да, ты задолбаешься сильнее. Да, ты сможешь гордо сказать: «Я сделал это сам!». Но зачем, если трактор сделает это за 5 минут, а ты в это время займешься реальной архитектурой?
👤 Илон Маск говорил что программирование пропадет, но пропадет в таком виде в котором оно было. Программирование перестало быть про «заучивание синтаксиса». Синтаксис это копеечная рутина. Ценность разработчика сегодня это:
Понимание, как связать три разных софта между собой.
Умение выстроить логику базы данных так, чтобы она не легла при первой тысяче юзеров.
Знание инфраструктуры: как поднять сервак, настроить сеть, если всё падает.
ИИ забирает на себя механическую работу. Я отдаю нейронке скучную рутину, а сам думаю головой над логикой проекта. Это не «лень», это оптимизация процессов.
2️⃣ МИФ 2. «ИИ пишет всё за тебя, ты просто жмешь кнопку»
Так думают только те, кто дальше запроса «напиши калькулятор на пайтоне» в ChatGPT ни разу не заходил. ведь такие простые скрипты коды он давно заучил и выдает их не думая.
Любой, кто пробовал собирать на нейронках сложные асинхронные системы или кастомные парсеры, обходящие защиту, знает: что ИИ тупит. Постоянно. Он путает контекст, забывает про лимиты, выдает устаревшие библиотеки и генерирует баги.
И вот тут как раз и включается твое «инженерное мышление»:
Тебе нужно понимать, что именно пошло не так.
Тебе нужно уметь прочитать сгенерированный код, найти там косяк (например, кривой кортеж или не ту обработку ошибок) и исправить её руками.
Тебе нужно составить такой промпт чтобы твоя ии-шка поняла контекст проблемы и так декомпозировать задачу на мелкие куски, чтобы модель вообще выдала что-то вменяемое.
❗️ ИИ это не замена программиста. Это безумно мощный, но слепой инструмент. Если у тебя в голове пусто, никакой Cursor не соберет тебе рабочий коммерческий продукт, который купят. Он просто выдаст тебе красивую кашу из букв, которая упадет при первом запуске.
3️⃣ МИФ. Бизнес-реальность: Время = Деньги (владельцу бизнеса) абсолютно плевать, сколько часов вы страдали над циклом
Клиенту нужно:
Чтобы софт работал стабильно.
Чтобы задача была сделана быстро.
Чтобы продукт решал его бизнес-проблему (приносил деньги / экономил время).
И самое главное я всегда это говорю, ВЫ ОТВЕСТВЕННЫ ЗА КОД А НЕ ИИ и если код упадет то только тебе за это отвечать, клиент если бы доверял нейронке сам бы загрузил пару промтов
Ну и если я с помощью ИИ-инструментов закрываю задачу за 1 день вместо 4 дней ручного кодинга, и я могу взять следующий заказ. В плюсе все, кроме душных теоретиков, которые продолжают полировать одну функцию до идеала, сидя без заказов.
☝ Ну и про «тексты от ИИ»
На днях в коментах написали "ТЫ ПИШЕШЬ ТЕКСТ С ПОМОЩЬЮ ИИ🥴 " . Это совсем отдельный рофл когда грамотный, структурированный текст в постах называют «генерацией ChatGPT». Я иногда на посты для вас трачу по 2-3 дня, ну и я за это время не могу его оформить? Ребят, если текст разбит по пунктам, в нем нет кучи орфографических ошибок и его банально удобно читать это называется «базовая редактура» и уважение к своей аудитории. Извините, конечно, что не пишу посты сплошной стеной текста с кучей матов через слово. Если для кого-то нормальный стиль это маркер нейронки, то у меня для вас плохие новости, это совсем не так
Всем хорошого вечера, и удачного кодинга без багов👍
КАНАЛ📱 ЧАТИК💬 ГИТХАБ👨💻 СВЯЗАТЬСЯ СО МНОЙ❤
В последнее время в комментах и чатах регулярно всплывает одна и та же предъява: «Ой, да у него код из Курсора/Клода», «Да ты всё через ChatGPT делаешь», «Настоящий инженер пишет сам».
Слушайте, этот бесконечный плач «олдов» и душных теоретиков уже даже не смешит. Давайте один раз детально разберем тему ИИ в разработке
Мы в 2026 году ии сейчас буквально в каждой микроволновке. Писать сейчас каждую строчку кода, каждый импорт, базовый роутинг или бойлерплейт вручную в голом блокноте это как пахать поле лошадью, когда рядом стоит трактор. Да, ты задолбаешься сильнее. Да, ты сможешь гордо сказать: «Я сделал это сам!». Но зачем, если трактор сделает это за 5 минут, а ты в это время займешься реальной архитектурой?
Понимание, как связать три разных софта между собой.
Умение выстроить логику базы данных так, чтобы она не легла при первой тысяче юзеров.
Знание инфраструктуры: как поднять сервак, настроить сеть, если всё падает.
ИИ забирает на себя механическую работу. Я отдаю нейронке скучную рутину, а сам думаю головой над логикой проекта. Это не «лень», это оптимизация процессов.
Так думают только те, кто дальше запроса «напиши калькулятор на пайтоне» в ChatGPT ни разу не заходил. ведь такие простые скрипты коды он давно заучил и выдает их не думая.
Любой, кто пробовал собирать на нейронках сложные асинхронные системы или кастомные парсеры, обходящие защиту, знает: что ИИ тупит. Постоянно. Он путает контекст, забывает про лимиты, выдает устаревшие библиотеки и генерирует баги.
И вот тут как раз и включается твое «инженерное мышление»:
Тебе нужно понимать, что именно пошло не так.
Тебе нужно уметь прочитать сгенерированный код, найти там косяк (например, кривой кортеж или не ту обработку ошибок) и исправить её руками.
Тебе нужно составить такой промпт чтобы твоя ии-шка поняла контекст проблемы и так декомпозировать задачу на мелкие куски, чтобы модель вообще выдала что-то вменяемое.
for и использовали ли вы Claude.Клиенту нужно:
Чтобы софт работал стабильно.
Чтобы задача была сделана быстро.
Чтобы продукт решал его бизнес-проблему (приносил деньги / экономил время).
И самое главное я всегда это говорю, ВЫ ОТВЕСТВЕННЫ ЗА КОД А НЕ ИИ и если код упадет то только тебе за это отвечать, клиент если бы доверял нейронке сам бы загрузил пару промтов
Ну и если я с помощью ИИ-инструментов закрываю задачу за 1 день вместо 4 дней ручного кодинга, и я могу взять следующий заказ. В плюсе все, кроме душных теоретиков, которые продолжают полировать одну функцию до идеала, сидя без заказов.
На днях в коментах написали "ТЫ ПИШЕШЬ ТЕКСТ С ПОМОЩЬЮ ИИ
Всем хорошого вечера, и удачного кодинга без багов
КАНАЛ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2 2
Постов не было в канале больше недели, потому что я с головой утонул в заказе, который собрал в себе вообще все ошибки фриланса, какие только можно придумать. Выворачиваю карманы и делюсь жестким опытом, как делать НЕ НАДО, и как выходить из таких ситуаций с деньгами в кармане.
Как обычно приходит клиент, просит скопировать готового VPN-бота. Изначально я назвал адекватный ценник средний по рыночной цене за полноценное веб-приложение. Клиент сказал, что дорого. И тут я совершаю главную ошибку у меня не было активных проектов, было скучно, и я согласился урезать функционал и сделать бота в 4-5 раз меньше рыночной стоимости.
Но вместо того, чтобы за эти деньги сделать тяп-ляп и готово я начал делать почти идеально как себе
Да мы прошли кучу правок из-за недопониманий, но бот был полностью готов.
На 6-й день разработки клиент заявляет: «А где обход блокировок?». Оказывается, ему нужно, чтобы ВПН наглухо пробивал жесткие блокировки мобильного интернета в рф, обходил ТСПУ и открывал Инсту без лагов.
Я был в шоке, ведь это вообще другая лига и совершенно другие деньги. Ради интереса я пошел по чатам и спросил знакомых разрабов даже самых заядлых вайбокодеров, за сколько они готовы повторить мой готовый функционал + внедрить этот обход. Ценники на бота которого я же сделал стартовали и доходили до $2000–$3000, потому что такую систему нужно постоянно кастомизировать и поддерживать.
Я честно поковырял настройки ведь думал "Раз начал нужно заканчивать", понял, что этот геморрой кратно превышает бюджет, и прямо сказал клиенту: «Обхода в рамках этого бюджета не будет, бот готов по изначальному договору».
- Я сказал я не буду делать обход за такой бюджет, клиент говорит я позову человека он даст обход а я просто приклею к боту. Клиент зовет «спеца, который шарит и решал такое». Нас добавляют в общий чат, и тут начинается комедия
- Этот чувак пришел с одной целью засрать мою работу, напугать клиента и забрать заказ себе «прогреть» на деньги. Первым делом он начал орать, что моя панель 3X-UI устарела, проект упадет, и клиенту вообще не стоит мне платить!
- Я спокойно объясняю, что панель это просто визуальный веб-интерфейс который сделали для удобства, ведь не каждый сможет лезть. Спрашиваю: «Умник, в чем суть твоего обхода? Давай я файлы напрямую ковырять». И тут эксперта понесло
Он начал втирать, что ядро на котором я сижу Xray Core это «монолитное ядро», хотя его хваленая панель Remnawave работает ровно на том же самом Xray. Это значит, что на базовом сетевом уровне они поддерживают одинаковый набор протоколов и его движок не может больше чем мой только может выдержать больше нагрузки, но так-как в ТЗ не было ничего сказано про ядро, я выбрал ядро соответствующие бюджету (почти символический)
Заказчик оказался адекватным, всё понял. Я объяснил ему базовое правило. Если хочется работать с другим окей, забирайте код и работайте, но сначала закройте сделку со мной.
ТАК КАКОЙ ИТОГ? Мы закрыли уговор. Я скинул остаток кода, переписал и передал все пароли от серверов и бота. Работа сдана, деньги в кармане, а наглый демпингер из чата остался ни с чем.
Выводы:
Не берите заказы за копейки от скуки - наплачетесь
Фиксируйте ТЗ до единого знака, чтобы «обход блокировок всей страны» не всплывал как само собой разумеющееся.
Шлите левых критиков лесом, если они путают бинарник с веб-мордой.
КАНАЛ
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
ГАЙД НА бесплатные AI-РЕДАКТОРЫ🖋
Много кто может задаться вопросом где сейчас вообще кодить, чтобы нейронка под боком, да ещё и бесплатно? Кряки с GitHub искать лень, подписки по карману могут бить или лимиты там за день испаряются. Давайте разберем, в чем сейчас реально стоит писать код бэкендеру
🎖 0. Легенда о Windsurf И главный урок AI-халявы
Пацаны, Windsurf это был реальный чит-код. Две недели фри-триала на все жирные модели и в том случае на топовый Claude Sonnet Thinking. Его хватало на неделю дикого кодинга 24/7! Без рофла за один заезд можно было собрать сложнейший проект.
Что сейчас. Запартнерились с Devin, лавочку моментально прикрыли.
Вывод: Если ты видишь новый перспективный AI-инструмент залетай сразу, пока инвесторы оплачивают твои серверные мощности. Thinking AI дорогое удовольствие
👑 1. 👩💻 VS Code это нестареющая классика
Вне конкуренции. Лёгкий, если без плагинов. Накатил пару расширений и он умеет всё Python, Docker, Гит, базы данных.
Вайбик тут такой поставил, накатил 100500 плагинов, сидишь, кайфуешь... пока оперативка не сдохнет. Подойдёт всем.
🐍👩💻 2. PyCharm Community тяжелый для Python
JetBrains Professional стоит денег, а Community на халяву. Не просто редактор, а полноценная IDE.
Вайбик Если ты чистокровный питонист и тебе нужен мощнейший статический анализ косяков ещё до запуска. Тяжёлый, но честный.
⚡️ 3. Zed - AI редактор скорость света на Rust
➕ Новый, дерзкий, написан на Rust. Настолько быстрый, что кажется, будто он открыл файл до того, как ты кликнул. Оптимизация космос и главное если не хочешь платить за нейронки, поставил как я RTX 5060 TI 16GB и запускаешь нейронки в LM studio через localhost, и вставляешь в Zed и она в реальном времени на твоем же пк пишет код (работает без интернета) для тех у кого железо по сильнее, это прям идеальный вариант
➖ Экосистема плагинов ещё догоняет. Идеален для тех, кого бесят микро-фризы VS Code.
🧐 4. Cursor Классика AI-разработки
Да хороший но как бесплатный редактор не сказал, есть лимиты но чисто попробовать ОК, застал момент когда и там был Free Trial на две недели, как первый AI-редактор юзал очень долго, но сейчас платная лимиты быстро ест для халявщиков тут действительно нечего ловить». Да это тот редактор где нейронки вшиты прямо на уровне ДНК. Хорошо понимает контекст всего твоего проекта. Но халявы тут нет
🥇 5. Trae AI-редактор новый фаворит с бесконечным абузом🔥
Знаю у меня в канале много халявщиков, это им понравится👌 Мой личный топ сейчас. По сути, главный конкурент Cursor тоже что и там, но с жирным плюсом по лимитам. При обычной реге дают $3 лимита на баланс. Не сказать что много, но как на халяву приятно, там нет всяких дорогих Claude opus 4.8, есть Chat GPT 5.4, всякие китайские дипсики ну и достойный уважение Gemini 3.1 Pro тоже отлично кодит, а если вспомнить что и на халяву то вопросов не будет
👩💻 Вайбик такой что тратится баланс медленно, даёт кучу генераций. Ни для кого не секретный. Кончились $3? Не платим. Меняешь аккаунт за секунду, и у тебя на базе следующие $3. Пользуемся, пока лавочку не прикрыли. Идеально для тех, кто хочет мощный AI без ограничений.
Вывод такой: Обычный код VS Code. Тяжёлый Python-бэк PyCharm Community. Реальная скорость Zed. Мощный AI без трат Trae +абуз, пока работает.
Всем хорошого вечера, и не увлекайтесь там сильно Вайбкодингом🙂
КАНАЛ📱 ЧАТИК💬 ГИТХАБ👨💻 СВЯЗАТЬСЯ СО МНОЙ❤
Много кто может задаться вопросом где сейчас вообще кодить, чтобы нейронка под боком, да ещё и бесплатно? Кряки с GitHub искать лень, подписки по карману могут бить или лимиты там за день испаряются. Давайте разберем, в чем сейчас реально стоит писать код бэкендеру
Пацаны, Windsurf это был реальный чит-код. Две недели фри-триала на все жирные модели и в том случае на топовый Claude Sonnet Thinking. Его хватало на неделю дикого кодинга 24/7! Без рофла за один заезд можно было собрать сложнейший проект.
Что сейчас. Запартнерились с Devin, лавочку моментально прикрыли.
Вывод: Если ты видишь новый перспективный AI-инструмент залетай сразу, пока инвесторы оплачивают твои серверные мощности. Thinking AI дорогое удовольствие
Вне конкуренции. Лёгкий, если без плагинов. Накатил пару расширений и он умеет всё Python, Docker, Гит, базы данных.
Вайбик тут такой поставил, накатил 100500 плагинов, сидишь, кайфуешь... пока оперативка не сдохнет. Подойдёт всем.
🐍
JetBrains Professional стоит денег, а Community на халяву. Не просто редактор, а полноценная IDE.
Вайбик Если ты чистокровный питонист и тебе нужен мощнейший статический анализ косяков ещё до запуска. Тяжёлый, но честный.
⚡️ 3. Zed - AI редактор скорость света на Rust
Да хороший но как бесплатный редактор не сказал, есть лимиты но чисто попробовать ОК, застал момент когда и там был Free Trial на две недели, как первый AI-редактор юзал очень долго, но сейчас платная лимиты быстро ест для халявщиков тут действительно нечего ловить». Да это тот редактор где нейронки вшиты прямо на уровне ДНК. Хорошо понимает контекст всего твоего проекта. Но халявы тут нет
Знаю у меня в канале много халявщиков, это им понравится
Вывод такой: Обычный код VS Code. Тяжёлый Python-бэк PyCharm Community. Реальная скорость Zed. Мощный AI без трат Trae +абуз, пока работает.
Всем хорошого вечера, и не увлекайтесь там сильно Вайбкодингом
КАНАЛ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Почему я больше не созваниваюсь с заказчиками 📞
Иногда ловлю себя на том, что каждый второй новый клиент пишет одно и то же: «а давай на созвон, голосом быстрее». И каждый раз внутренне выдыхаю, потому что знаю, чем это закончится.
🗣 Расскажу честно как есть. Года 2-3 назад я вообще не парился насчет звонков соглашался на всё. И только со временем дошло девять из десяти таких звонков это не про архитектуру и не про ТЗ. Это прощупывание. Человек на том конце слушает не что ты говоришь, а как. Замялся на вопросе про стек минус к цене. Голос молодой, разговор слишком «сельский» тоже минус. Причем это не всегда осознанно с их стороны, но эффект один чем меньше уверенности слышно в голосе, тем ниже ставка, которую тебе предложат 💸
У меня был случай сдавал проект, где на созвоне вроде бы «на словах» договорились об одном объеме работ. А к финалу вдруг всплыло «ну мы же обсуждали, что нужна еще админка и кнопки не там стоят». Ничего мы не обсуждали, если по-честному просто было сказано вскользь, и человек потом трактовал это как согласованное ТЗ. С тех пор я для себя решил если это не в переписке, этого не было.
Поэтому сейчас работаю только текстом. Без Zoom, без Meet, без войсов вообще, и скажу так всё сейчас наладилось в лучшую сторону, больше с клиентами понимаем друг друга, меньше сбросить цену просять и в целом стало лучше
🤔 И дело не только в защите от манипуляций с ценой (хотя это тоже важно в тексте не слышно твой возраст и тембр, там видна только логика и структура вопросов). Дело еще в банальной гигиене процесса если требование написано, оно зафиксировано. Спор один скрин показал из чата, и всё встало на места.
🔊 Звучит немного параноидально, но за пару лет это реально сэкономило и деньги, и нервы. Нет текста нет задачи, я в это верю железно
Надеюсь этот пост вам будет полезным на будущее, всем хорошого вечера (без багов)👍
КАНАЛ📱 ЧАТИК💬 ГИТХАБ👨💻 СВЯЗАТЬСЯ СО МНОЙ❤
Иногда ловлю себя на том, что каждый второй новый клиент пишет одно и то же: «а давай на созвон, голосом быстрее». И каждый раз внутренне выдыхаю, потому что знаю, чем это закончится.
У меня был случай сдавал проект, где на созвоне вроде бы «на словах» договорились об одном объеме работ. А к финалу вдруг всплыло «ну мы же обсуждали, что нужна еще админка и кнопки не там стоят». Ничего мы не обсуждали, если по-честному просто было сказано вскользь, и человек потом трактовал это как согласованное ТЗ. С тех пор я для себя решил если это не в переписке, этого не было.
Поэтому сейчас работаю только текстом. Без Zoom, без Meet, без войсов вообще, и скажу так всё сейчас наладилось в лучшую сторону, больше с клиентами понимаем друг друга, меньше сбросить цену просять и в целом стало лучше
Надеюсь этот пост вам будет полезным на будущее, всем хорошого вечера (без багов)
КАНАЛ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1
TiktokSave.zip
3 KB
Бот по скачивание видео с тик тока1⃣
👋 Всем привет короче надоела мне эта ситуация что вообще все боты для скачки тиктока без водяных знаков требуют подписку на каналы какие-то, причём не на один а на 3-4 сразу,и не факт что завтра не нужно будет ещё подписываться на пару каналов и это притом что у самих ботов по 500к юзеров в месяц минимум
Сделал свой в итоге. на пайтоне если кому важно, aiogram и yt-dlp внутри. работает просто - кидаешь ссылку на видео, он качает без водяных знаков и без каких либо подписок вообще, хоть сто видео подряд шли
бот вот делюсь @tt_downloader_v_bot, стоит у меня на сервере уже (если кому лень у себя запускать) просто открываете и кидаете ссылку, больше ничего делать не надо
🇷🇺 Ну а если вдруг не доверяете чужим ботам (нормальная тема кстати, я б тоже задумался) в архиве прикреплённом весь код, можно у себя поднять. там по сути много ума не надо питон 3.9+, venv создать, зависимости из requirements.txt поставить, токен у BotFather в телеге получить и в файл .env вписать, ну и запустить main.py - всё, готово
Если кто не шарит в этом всём а хочет запустить пишите в чате или мне, помогу разберёмся, не проблема вообще,
архив сверху, там всё и код и файл с примером конфига и инструкция🖋
#ПолезныйКод
КАНАЛ📱 ЧАТИК💬 ГИТХАБ👨💻 СВЯЗАТЬСЯ СО МНОЙ❤
Сделал свой в итоге. на пайтоне если кому важно, aiogram и yt-dlp внутри. работает просто - кидаешь ссылку на видео, он качает без водяных знаков и без каких либо подписок вообще, хоть сто видео подряд шли
бот вот делюсь @tt_downloader_v_bot, стоит у меня на сервере уже (если кому лень у себя запускать) просто открываете и кидаете ссылку, больше ничего делать не надо
Если кто не шарит в этом всём а хочет запустить пишите в чате или мне, помогу разберёмся, не проблема вообще,
архив сверху, там всё и код и файл с примером конфига и инструкция
#ПолезныйКод
КАНАЛ
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤1