В открытом репозитории «A to Z Resources for Students» представлены ресурсы для обучения Python, PHP, Ruby, C++, C#, Machine Learning и нейросетями, а также всё про разработку на Android и много материалов про Frontend и Backend.

Искусство создания компьютерных программ
В открытом репозитории «A to Z Resources for Students» представлены ресурсы для обучения Python, PHP, Ruby, C++, C#, Machine Learning и нейросетями, а также всё про разработку на Android и много материалов про Frontend и Backend.
Как правильно откатывать миграции? Если коротко, то никак.
В продакшене миграции могут идти только вперед. Какого? Откат миграции во время ролбека (при неудачном деплое) во-первых сильно усложняет всю процедуру, во-вторых, в теории, может ее некисло замедлить, уже не говоря про потенциальные локи на время отката. На фоне этого возможны ошибки, которые приведут всю систему в неконсистентное состояние.
Ролбек, в идеале, это просто переключение с одной версии кода на другую. Но ведь тогда возможны ошибки связанные с изменениями в базе? Если делать через жопу, то возможны. При правильном подходе, база всегда обратно совместима как минимум на одну версию. Только в этом случае мы можем обеспечить и бесшовный деплой (zero downtime deploy) и практически моментальный откат.
А это значит, что нельзя менять тип у колонок (если тип сужается), нельзя менять именования таблиц и полей. Если это все таки нужно, то существует немало техник, позволяющих сделать переход через создание новых сущностей и синхронизацией либо через код либо через саму базу (например с помощью триггеров). По этой теме даже написали целую книгу "Refactoring Databases: Evolutionary Database Design".
Получается, что любые ошибки в базе будут только накапливаться? Не совсем. Обратная совместимость обычно нужна только на текущую и следующую версию. Если у нас не коробка, а облачное решение, то одновременно могут работать только две версии. В таком случае, мы без проблем можем писать любые миграции, которые удаляют и меняют все что угодно, что уже не используется. Заметьте, это не откат, а новые миграции.
А вот в разработке откат миграции конечно же удобен. Пока код еще не слит в основную ветку или лежит только локально, то мы без проблем можем откатить и удалить миграции, которые сами же недавно создали, но в процессе проработки поняли что они нам не нужны или их нужно переделать.
Больше про разработку в моем телеграм-канале организованное программирование
На днях посмотрел два видео по рынку ИТ, в том числе с фокусом на российский сегмент (раз и два).
За завесой рассказов про ИИ, vibe coding, T-shape, динамику Восточной Европы и прочим анализом в тени остался, на мой взгляд, самый важный вопрос, на который можно ответить "да" или "нет".
Способен ли "вкатун" - человек без коммерческого опыта, выучивший ответы для прохождения собеседования - удовлетворять потребностям компании, куда его наняли?
То есть достаточно ли для компании того, что задачи будут выполняться человеком, который на ходу будет находить способы их решения, не важно какие и как.
Приносит ли такой сотрудник по факту больше пользы, чем вреда, и стоит ли он своих денег.
Если да, то ваши годы опыта, полученные в бою знания, институтская теория больше не стоят примерно ничего, кто бы что ни говорил, вы стоите в общей очереди со всеми.
Они могут дать вам только полезные знакомства, и вы обойдете сам процесс найма.
Поэтому работникам придется адаптироваться, находя новые подходы к прохождению собесов, или менять профессию.
Если нет, то компаниям срочно надо менять подходы к найму, о чем было сказано многократно, а текущие тенденции временные и будут сглажены самим рынком.
А как думаете вы?
Cursor теперь помогает составлять User Rules
В Cursor буквально сегодня увидел новую опцию. А именно: когда с ним работаешь по проекту и по ходу как-то его поправляешь, то внизу слева выскакивает пимпочка и предлагает занести такие вещи в User Rules.
Очень даже удобно. Не надо самому отдельно все записывать, а потом переносить.
Репозиторий react-bits содержит тысячи анимированных компонентов на React для создания веб-проектов и интерфейсов, а также большое количество элементов — кнопки, карточки, меню, необычные курсоры, анимированные списки и декоративные фишки. Каждый из компонентов можно протестировать в браузере — проверить работу и то, как он будет смотреться в вебе. Элементы интегрируются в проект за один клик.
Обновлён репозиторий System Prompts Leaks с гайдами для большинства современных нейронок от Anthropic, Google, OpenAI, Perplexity, xAI до других топовых разработчиков, включая базу по всем моделям — как их обучали, что под капотом, бенчи, пределы возможностей и правила, по которым ИИ размышляет, а также лайфхаки, как обойти ограничения, цензуру и тормоза, пошаговые инструкции о том, как создать свою нейронку под конкретные задачи и сэкономить десятки рабочих часов на рутине.
Список инструментов low-code/no-code разработки и вайбкодинга для диплома
Всем привет. Я учусь в магистратуре ИТ-юрист и планирую писать диплом с рабочей темой "Правовые основы low-code/no-code разработки и вайбкодинга". Прошу накидать инструментов для анализа )
Основная цель работы простым языком - понять, если я разрабатываю продукт с использованием сервисов low-code/no-code (или ИИ-агентов в случае вайбкодинга), могу ли я его считать полностью своим или нет.
С правовой точки зрения задачи работы понятны - я буду анализировать лицензии, смотреть, как сервисы передают исключительные права пользователям, как обстоит ситуация с персональными данными в случае, если сервис иностранный.
Теперь передо мной стоит задача подготовить список подобных сервисов для дальнейшего анализа. Я сделала небольшую подборку и буду очень благодарна, если вы мне в комментариях подскажете еще подобные популярные платформы, которые позволяют вести разработку при отсутствии навыков программирования/либо минимальных навыках. Есть ли что-то подобное для разработки видеоигр?
Разработка сайтов: tilda, wix, carrd, Collabza (личные кабинеты), Webflow, Craftum, Flexbe, Creatium, LPgenerator
Автоматизация бизнес-процессов: битрикс24 (роботы), NBT, BPMSoft, ROBIN (российские решения), zapier, albato, Бипиум, Nodul, APInita
Разработка приложений: bubble, glide, appmaster, adalo, appsfera, Stacker, QuintaDB, Directual, Bravo Studio, Thunkable, Voiceflow
Вайб-кодинг: Cursor, Windsurf, Replit, Devin, Claude Code, Cline, GigaStudio (рус)
Лайфхак по нейронкам №89: лоцируй связанный код
Когда-то писал о подходах, которые в эру нейронок получили еще аргументов к применению: WYNWYN и Vertical Slice – принципам, говорящим, что надо писать только то, что нужно и там где нужно.
Недавно работал с кодовой базой, где код обработки http запросов (авторизация, пойти в бд, посчитать что-то, сделать запрос в стороннюю систему, смерджить результат и отдать) лежал в папках по категории (все обращения в бд в одной папке, все модели в другой, все обращения к API в третьей, все операции по мерджу в четвертой, и т.д.).
Когда я пытался попросить нейронку (платные Claude, Codex, Gemini) что-то сделать с этими ручками, то для решения ей приходилось каждый раз собирать полный контекст папок, и как только она осознавала бесполезность сего предприятия, резко обрезала контекст, недобирала нужного кода и отвечала нерабочим куском галлюцинации.
Важно отметить, большинство функций, разбросанных по папкам, буквально вызывались всего один раз в конкретных местах (и такая ситуация встречается в 90% кодовых баз, с которыми приходилось работать).
Решил сделать эксперимент: сложил весь связанный код в одно место (причем не ctrl-c-v
, а ctrl-x-v
), запустил нейронку и да, она сначала прочитала весь связанный код из папок, и уже после пыталась добирать доп контекст из сторонних, но теперь ответы и код были почти 100% попаданием в мой запрос (опять же, в меру их текущих возможностей).
Далее я сделал тоже самое, вынеся целый модуль с его ручками в отдельную папку и получил идентичные результаты: нейронка быстрее разбиралась в коде, качественнее его описывала, добавляла рабочий код и писала полезные тесты.
И тут важно сделать несколько умозаключений:
Если нейронке НЕ дать хороший контекст, она отвечает абсолютным бредом, поэтому, если есть желание пользоваться благами ИИ, самая важная задача – создавать условия при которых она будет получать только нужные данные
Лоцирование связанного кода – одно из прекрасных решений этой задачи
На самом деле, для людей это работает точно так же – иметь возможность зайти в одно место и прочитать весь связанный код – ускоряет и улучшает итоговый результат, который выдают ~кожаные мешки~ мы
Как вы действуете, если кодовая база разбросана по проекту и нет возможности собрать ее в одном месте, а контекст нейронки надо задать?
24 бесплатных урока недели
Привет, Хабр. Делимся подборкой открытых уроков, которые пройдут в Otus в рамках онлайн-курсов. Вас ждут живые лекции с преподавателями-практиками — отличная возможность не только получить новые знания, но и задать вопросы экспертам. Участие — бесплатное, нужна только регистрация. Присоединяйтесь!
26 августа, вторник:
20:00 — Интерактивный интерфейс на JavaScript — без фреймворков
20:00 — Как читать и строить BPMN-диаграммы: визуальный язык бизнес-процессов
20:00 — Интеграция инструмента ArgoCD
20:00 — Весна (Spring). Граф против отдыха. Проблемы выбора технологии для API
20:00 — Лучшие практики Kafka и Schema Registry в backend-разработке на Java
20:00 — Fullstack Observability для PostgreSQL: от метрик до распределенной трассировки
20:00 — Ящик со змеями: контейнеризация Python-приложений и работа с Docker
27 августа, среда:
20:00 — GitLab CI + Ansible: автоматизация инфраструктуры без боли
20:00 — От N-Layer к Clean Architecture: Эволюция проектирования .NET приложений
20:00 — Чем занимается CTO: зоны ответственности в различных компаниях
28 августа, четверг:
18:00 — Практическое введение в Apache Spark: первые шаги в обработке больших данных
19:00 — Обработка ошибок в C++: исключения, ожидания и исключения из правил
20:00 — Мониторинг и алертинг приложений с помощью Prometheus и Grafana
20:00 — Использование SonarQube в процессе разработки на платформе 1С:Предприятие
20:00 — Jenkins и эффективные CI/CD-конвейеры для автоматизации тестирования
1 сентября, понедельник:
Выводим Бугаенко на чистую воду разбирая ООП
Топ Перлов
Любой массив байт должен уметь работать с файлами, сетью и тд.
Программа должна не падать на ошибках, а продолжать работу с фейковыми объектами.
Вместо падения в моменте конструирования объекта, надо падать на другом конце программы при каждом его использовании.
Я придумал новый язык, и чтобы он не так сильно тормозил, надо встроить GC в CPU.
Упомянутые ссылки
Парадигмы диспетчеризации (включая ООП)
Виды объектных декомпозиций (включая MVC)
В Alibaba выпустили пока бесплатный ИИ-агент для написания кода Qoder, который может сам создавать готовые приложения из простого промта. Разработчики решения написали, что это платформа для кодинга «нового поколения». Анализирует весь проект и кодовую базу, сходу понимает как именно вы пишете код и пытается делать также, разбивает сложные задачи на шаги и решает постепенно, пишет спецификацию, планирует и выполняет изменения в коде.
Интеграция PVS-Studio c SGRC SECURITM
Компания PVS-Studio и платформа Securitm заключили технологическое партнёрство для обеспечения интеграции статического анализатора кода PVS-Studio в экосистему DevSecOps.
Облачный сервис и программное обеспечение SGRC Securitm позволяют построить управление информационной безопасностью на базе риск-ориентированного подхода и единой информационной модели компании.
Отчёт анализатора PVS-Studio стало возможным загрузить в Securitm для дальнейшего использования с помощью пользовательского интерфейса системы.
Подробнее о том, как загрузить отчёт анализатора PVS-Studio в систему Securitm можно прочитать в посвящённом этому разделе нашей документации.
Также мы с коллегами из Securitm провели совместный вебинар, на котором обсудили, как обеспечить соблюдение требований ГОСТ в области РБПО, а также показали реальные примеры использования PVS-Studio и Securitm.
Подключайте LLM и AI-модели бесплатно 🤩
Мы открываем бесплатный доступ к моделям в Evolution Foundation Models до 31 октября.
В сервисе уже доступно больше 20 open source моделей, в том числе новинки от OpenAI — gpt-oss-120b, DeepSeek, Qwen и QwQ, T-pro-it-2.0. А еще — новая open source модель GLM-4.5 с контекстным окном в 131 тысячу токенов от китайской компании Z․ai. Она показала высокие результаты на бенчмарках, особенно в агентных задачах и программировании. Как интегрировать GLM-4.5 в VS Code рассказали в нашем telegram-канале.
Все модели могут подключаться к внешним инструментам с Function Calling и поддерживают Reasoning.
Как попробовать:
Регистрируйтесь в личном кабинете Cloud․ru.
Выбирайте подходящие модели.
Интегрируйте их по OpenAI-совместимому API в ваши проекты, сравнивайте ответы и получайте быстрые результаты.
Просмотр кода в интерфейсе Amvera Cloud
Мы сделали возможность просмотра содержимого файлов репозитория в интерфейсе.
Раньше было сложно понять, какая версия файла загружена в облако.
Теперь можно зайти в файл в разделе Репозиторий и посмотреть его содержимое.
Amvera – облако для простого запуска проектов со встроенным CI/CD (деплой идёт через Git или загрузку файлов в интерфейсе). C Amvera вам не нужно думать о настройке NGINX, виртуальных машин и другой инфраструктуры.
«То, для чего Cи недостаточно хорош»: МойОфис выпустил трёхтомник по Lua
Lua — актуальный и востребованный в разработке язык программирования, но литературы на русском языке про него по-прежнему немного. Мы решили это исправить и выпускаем трёхтомник, в котором собрали всё, что нужно знать о Lua, и показали, как именно он работает на примере редакторов МойОфис — от основ синтаксиса до создания надстроек и автоматизации обработки электронных документов.
«Lua предлагает то, для чего Си недостаточно хорош: достаточную удалённость от аппаратного обеспечения, динамические структуры, отсутствие избыточности и лёгкость тестирования и отладки. С самого начала Lua создавался для реальных сценариев взаимодействия с хост-программами, такими как МойОфис, и предлагает инструменты для опытных программистов, чтобы проявить свои творческие способности», — Роберту Иерузалимски, один из основных создателей языка программирования Lua.
Первый том — уже третье переиздание классической книги Роберту. Предыдущие два издания также вышли в свет при поддержке МойОфис.
Второй и третий тома — первый выпуск учебников Дмитрия Шульгина, старшего тренера по продуктам Учебного центра МойОфис («Хаб Знаний МойОфис»), посвященных созданию макрокоманд и надстроек в наших текстовых и табличных редакторах.
В них вы найдёте:
что такое макросы и надстройки, как устроена автоматизация в МойОфис и зачем все это нужно (к слову, о разработке макросов мы подробно писали здесь);
основы Lua — от переменных и типов данных до пользовательских функций;
примеры работы со списками, листами, ячейками, а также задания для закрепления материала;
примеры создания надстроек для ускорения и автоматизации операций: от вставки изображений и рецензирования до печати и локализации интерфейса.
Каждая глава сочетает теорию, рекомендации и практические задания, которые можно выполнить прямо в наших редакторах.
Книга подойдёт как опытным разработчикам, так и новичкам в Lua и автоматизации. А если хотите глубже погрузиться в тему — присоединяйтесь к нашим курсам по Lua.
Интеграция PVS-Studio в Inseq RBPO
Компания PVS-Studio и Inseq заключили технологическое партнёрство для обеспечения интеграции статического анализатора кода PVS-Studio в экосистему DevSecOps.
Программное обеспечение Inseq RBPO предназначено для создания и управления конфигурациями, необходимыми для автоматического развёртывания и настройки компонентов инфраструктуры безопасной разработки ПО — систем контроля версий, анализаторов кода, инструментов автоматизации сборки, тестирования и развёртывания. Управление конфигурациями и политиками безопасности осуществляется централизованно.
"ИНСЕК.РБПО" представляет собой клиент-серверную систему, работающую на локальном оборудовании. Она включает серверную часть, генерирующую конфигурационные файлы, и веб-приложение с графическим интерфейсом для взаимодействия с пользователями.
Внутри этой платформы стало возможным использовать статический анализатор PVS-Studio для поиска критических ошибок в исходном коде.
Также мы провели вебинар с коллегами из Inseq, в котором поговорили о необходимости регулярного статического анализа, а также в целом об автоматизации в РБПО.
SourceCraft поддержит опенсорс‑разработчиков: старт грантовой программы с 16 августа и новые возможности платформы
Платформа для разработчиков SourceCraft открывает приём заявок на участие в грантовой программе поддержки: гранты на облачные технологии Yandex Cloud в размере 600 тыс. рублей на год получат важные и интересные опенсорс‑проекты, отвечающие критериям отбора. Подать заявку можно с 16 августа на сайте программы.
Оценивать проекты будут эксперты Яндекса. Среди ключевых критериев оценки:
активность репозитория,
актуальность,
практическая польза проекта,
понятный вектор развития.
Дополнительно, будет учитываться позиция в общем рейтинге на платформе SourceCraft, которая также пополнилась новыми инструментами:
интеллектуальным алгоритмом для оценки значимости репозитория,
системой личных достижений в профилях разработчиков.
Теперь вклад в открытый код можно оценить по расширенной системе: не только по количеству звёзд, но и по вовлечённости, актуальности и значимости проекта для сообщества. Новый рейтинг объединяет разные метрики, помогает выделить самые ценные репозитории и авторов. На основе этих оценок формируется общий рейтинг репозиториев платформы.
Личные награды и достижения видны в профиле разработчика, так формируется портфолио индивидуального вклада в опенсорс. Награды автоматически фиксируют активность пользователя — от публикации изменений в коде и выпусков релизов до проверок кода и участия в обсуждениях. Достижения разделены на категории: работа с кодом, вклад в сообщество, освоение инструментов, подтверждённая экспертиза — и имеют уровни. Визуальные эмблемы наград создаются индивидуально для каждого разработчика с помощью YandexART.
Кроме того, 16 августа на платформе стартует конкурс проектов для опенсорс‑сообщества. Авторы новых репозиториев на платформе, которые наберут наибольший рейтинг до 31 августа, получат наборы эксклюзивного мерча от SourceCraft.
Следить за новостями от разработчиков и архитекторов платформы — также можно в блоге SourceCraft.
А вы уже пробовали запустить свой проект с помощью бесплатного объема облачных ресурсов Evolution free tier?
Тогда поделитесь опытом и мнением — опрос займет не больше 5-7 минут.
Так мы узнаем, что еще можно улучшить, чтобы free tier стал для вас еще удобнее и полезнее. А еще, в перспективе сможем подключить его и для других облачных сервисов 😉
Текущие условия:
виртуальная машина в конфигурации 2vCPU, 4 ГБ RAM, диск 30 ГБ;
ежемесячный объем хранилища S3 — 15 ГБ, 100 000 операций PUT/POST/LIST, 1 000 000 операций GET/HEAD, 10 ТБ исходящего трафика;
ежемесячный объем ресурсов для запуска контейнеров — 120 vCPU x час, 480 ГБ RAM х час.
Этого хватит, чтобы хранить важные данные, развернуть сервер Minecraft, запустить умного Telegram-бота с AI, опубликовать персональный сайт или реализовать любые другие сценарии.
Почему недостаточно Unit тестов и нужны Интеграционные?
Когда мы пишем юнит-тесты, мы словно смотрим на систему в упор. В поле зрения - отдельные строительные блоки, отдельные функции и классы, из которых складывается фича. Это точечная проверка, фокус на корректности изолированных элементов. Мы видим, как компоненты связаны между собой, но только внутри одного участка - не видим всей картины.
Интеграционные тесты - это другой масштаб. Мы поднимаемся выше и наблюдаем работу всей системы в целом: как компоненты взаимодействуют, как фича проходит сквозь слои приложения, как реагирует окружение. Это не тест кода как такового - это тест результата, поведенческий сценарий.
Именно этот масштаб ближе к тому, как пользователь воспринимает ваш сервис: его не волнует, сколько модулей под капотом сработало корректно. Его интересует, верно ли обработан запрос, получен ли нужный ответ, сохранились ли данные.
Юниты важны - они дают стабильность и быструю обратную связь. Но недооценка интеграционных тестов часто приводит к иллюзии "всё работает", хотя на самом деле система как целое может вести себя непредсказуемо. В итоге мы оптимизируем в сторону локальной правильности, забывая о глобальной.