Жизнь и смерть цивилизаций: освещаем тёмный лес (и немного Python)

Одиноки ли мы во вселенной? Если нет, то почему мы не наблюдаем другой разум? Потому что не способны? Или потому что во мрачной тьме далёкого будущего...

Искусство создания компьютерных программ

Одиноки ли мы во вселенной? Если нет, то почему мы не наблюдаем другой разум? Потому что не способны? Или потому что во мрачной тьме далёкого будущего...
Говорят, на собеседованиях стали просить закрывать глаза при ответах на сложные вопросы, чтобы исключить подсказки ИИ.
Сразу вспоминается случай из шахматного мира, где Ханс Ниман обыграл Магнуса Карлсена, и его обвинили в том, что он читер, и для подсказок использовал анальный вибратор на радиоуправлении, так как явных признаков чита не нашли.
Думаю, что на алгоритмической секции прогерского собеса тоже можно так читить. Так что надо еще просить не только закрывать глаза, но и показать ж, чего уж мелочиться.

Команда AI for Devs подготовила перевод статьи о том, как быстро растущие AI-ассистенты меняют саму природу разработки. Их код выглядит безупречно — но всё чаще решает не ту задачу, что стоит перед нами. Где проходит граница между ускорением и самообманом, и какую новую ответственность это накладывает на инженеров?
Привет Хабр! Понимаю, что постов на эту тему появляется всё больше, вижу как их количество растёт. Все они подходят к проблеме с разных сторон — я хочу показать свою.
Я фриланс-разработчик, 2 года опыта. В основном делаю телеграм-ботов и TG mini apps, иногда бывают заказы на лендинги, смарт-контракты и пентесты. Работаю на одной площадке — Кворк. Есть аккаунт на Fiverr, но там никто ни разу не писал, кроме мошенников...
Последние полгода я делаю проекты только при помощи LLM. Я почти не читаю код и не пишу его совсем — только логи иногда добавляю. Готов к летящим помидорам. Хочу рассказать о том, что я только вырос: в доходе, эффективности, доверии заказчиков. За эти полгода мой доход вырос почти в три раза, я нашёл двух стажёров, и дело идёт в гору — появились крупные заказы.
Но меня немного обескураживает, когда люди называют процесс разработки при помощи LLM «вайбкодингом». Я не могу назвать это ни вайбом, ни кодингом. Сейчас объясню почему.
Это история о том, как написать компилятор Python, генерирующий оптимизированные ядра и при этом позволяющий сохранить простоту кода.

Привет! Меня зовут Влад, и я разрабатываю сердце витрины Ozon — сервис product-facade. Пару лет назад мы уже делились нашим опытом в этой статье, но с тех пор многое изменилось: выросли нагрузки, появились новые фичи и оптимизации, система стала сложнее и надёжнее.
Прежде чем перейти непосредственно к актуальности кешей, давайте разберёмся, почему это так важно. Представьте: вы добавляете товар в корзину, но что-то пошло не так, и покупку совершить не удаётся — склад больше не возит в ваш ПВЗ. Даже 0.1% таких ошибок — это тысячи недовольных пользователей каждую секунду. А когда что-то массово меняется, разработчики вынуждены расследовать инцидент, чтобы понять, что проблема была всего лишь в устаревших кешах.
Бывает так, что запускаешь тесты, а они падают там, где вроде бы всё должно работать. В логах — только сухая ошибка, без контекста. Открываешь код, смотришь на участок кода, где произошёл сбой, и начинаешь гадать:

Всем привет! Я Игорь Голиков, ведущий разработчик ГК “Юзтех”. В данной статье хочу рассказать о метриках памяти в VMware vCenter, в том числе как получить скрытые метрики.
Статья может быть полезна SRE/DevOps и администраторам VMware vCenter, заинтересованным в получении «гостевых метрик» виртуальных машин, тем, кто хочет обосновать снижение выделенной виртуальным машинам памяти и сократить расходы без риска для производительности.
На одном из наших проектов возникла необходимость отслеживать использование памяти в гостевой ОС на виртуальных машинах под управлением VMware vCetner и формировать рекомендации по увеличению/уменьшению памяти выделенной виртуальной машине (rightsizing). Стандартные метрики памяти, доступные через vSphere Web Services API, не позволяют оценить объём памяти, используемой гостевой ОС.
Метрика (производительности) — это количественный показатель, который отражает состояние или поведение системы во времени (CPU, память, диск, сеть и т.д.).
Задача: найти метрику, показывающую объем памяти, потребляемой гостевой ОС и процессами в Linux системах с установленными Guest Tools.
Требования к метрике:

Давайте начистоту. Большинство Angular-приложений пишутся по инерции. Мы используем паттерны, которые выучили на заре второй версии, и продолжаем тащить их за собой, игнорируя всё, что фреймворк предложил за последние годы.
Фреймворк постоянно обновляется и дополняется, и уследить за всеми лучшими практиками почти нереально. В итоге даже опытные разработчики продолжают делать ошибки, которые когда-то не считались ошибками. В небольшом проекте это не страшно, но в крупном такие просчеты накапливаются и превращают код в трудноподдерживаемый легаси. Проблема в том, что фреймворк меняется, а привычки остаются.
В этой статье мы не будем говорить о базовых синтаксических ошибках или разбирать, где вы точку с запятой забыли. Речь пойдёт о более глубоком уровне, об архитектурных просчётах и антипаттернах, которые тиражируются из проекта в проект. Многие из этих привычек были допустимы в прошлом, но с приходом новых версий, вроде Angular 20, от них пора избавляться.

Привет, Хабр!
Недавно выпустил технологию BayLang и сделал интеграцию с Laravel. BayLang позволяет компилировать фронтенд и делать Server Sider Render используя PHP, без необходимости в NodeJS.

Вчера (27 ноября) Хабр устроил «Авторский огонёк».
Было очень интересно, и меня задело одно утверждение докладчика. Оно заключалось в том, что ИИ может помочь писать простые куски кода, но не работает со сложными вещами. Таким образом, большие языковые модели уподобляются программисту-джуну.
Решил с утра накатать об этом статью, опираясь на свои знания и опыт в вычислительной математике (в прошлом занимался моделированием, а последние несколько лет преподаю вычислительную математику в МФТИ), оцените, что получилось.
Я думаю, что это главный миф вайб-кодинга. Всё ровно наоборот — ИИ нередко хорошо пишет довольно сложные вещи и достает важную информацию, которую самостоятельно трудно найти. Но путается как раз таки в самых элементарных вещах. Это джун наоборот.
Проблема в том, что это опасная иллюзия и я вам сейчас наглядно объясню, почему, и чем это может быть опасно. Заваривайте кофе и готовьтесь к разоблачению, которое, может быть, в будущем спасет ваши миллионы, карьеру или даже человеческие жизни.

Недавно мы разбирали популярную задачу — проверяли строку на наличие цифр. Еще одна популярная задача при работе со строками — удалить из них пробельные символы. Можно представить, что нам нужно очистить пользовательский ввод: удалить пробелы вначале и конце строк в имени или удалить пробелы из телефонного номера. .NET предоставляет нам несколько возможностей для решения этой задачи, давайте рассмотрим самые популярные и попробуем найти наиболее эффективные. Заодно проверим, какие изменения произошли в новой версии .NET 10.

Привет, Хабр! 30 ноября отмечается международный день защиты информации. Мы как ИБ-компания не можем оставить этот факт без внимания. В этом году событие выпадает на воскресенье, на которое у всех точно будут свои планы, поэтому предлагаем отметить профильный праздник уже сегодня, 28 ноября.
Мы решили собрать наших ИБ-специалистов и устроить дискуссию в формате ask me anything в комментариях — просто заглядывайте в статью, оставляйте свои вопросы по ИБ нашим экспертам, а мы постараемся оперативно на них ответить.
Сегодня в эфире:
- Илья Башкиров, юрист по информационной безопасности, будет отвечать на все вопросы, связанные с законодательством в инфобезе, тонкостями и юридическими аспектами, которые важно учесть при работе с персональными данными.
- Николай Берко, развивает продукты по анализу и защите данных и готов прокомментировать любые вопросы, связанные с защитой информации, от классических способов до более изощрённых историй.
- Эликс Смирнов, эксперт-консультант и ведущий кейс-аналитик, кажется, знает всё про внутряки инфобеза: ухищренные сливы, расследование инцидентов, мошеннические схемы, кибершпионаж и, конечно, способы противодействия всему этому.
- Роман Сафиуллин, руководитель отдела защиты информации в InfoWatch ARMA, подразделении ГК InfoWatch по обеспечению кибербезопасности АСУ ТП и защите сетевой инфраструктуры бизнеса. Задавайте вопросы Роме, если хотите обсудить внешние и внутренние угрозы с точки зрения ИБ: хакерские атаки, внутренних нарушителей, способы проникновения в инфраструктуру, риски для бизнеса. В фокусе экспертизы Романа также вопросы про атаки на различные виды ML-систем и способы защиты решений на базе ИИ.
В статье мы хотим символически подвести итоги уходящего ИБ-года: расскажем про самые значимые обновления наших продуктовых линеек, сделаем подборку интересных историй про уязвимости и инциденты и поделимся кратким обзором самых важных регуляторных обновлений в ИБ.

Обработка исключений — одна из фундаментальных тем в Java, с которой сталкивается каждый разработчик. Правильная работа с ошибками не только делает приложение стабильным, но и значительно упрощает его отладку и поддержку. В отличие от многих других языков, Java имеет строгую и продуманную систему исключений, которая делит все ошибки на проверяемые (checked) и непроверяемые (unchecked).
В этой статье мы подробно рассмотрим иерархию исключений, их типы, лучшие практики обработки, а также распространенные антипаттерны. Чтобы статья была практико‑ориентированной, мы разберем реальные примеры кода, которые покажут, как правильно выбрасывать, обрабатывать и создавать собственные исключения.

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

Fizz Buzz — это игра с числами, которая стала неожиданно популярной в мире компьютерного программирования в качестве простой проверки базовых навыков. Правила игры просты: игроки вслух произносят по порядку числа, начиная с единицы. Если число делится на 3, игрок должен сказать вместо него «Fizz». Если число делится на 5, он должен сказать «Buzz». Если оно делится и на 3, и на 5, игрок говорит «FizzBuzz». Вот типичная программа на Python, выводящая нужную последовательность:
for n in range(1, 101):
if n % 15 == 0:
print('FizzBuzz')
elif n % 3 == 0:
print('Fizz')
elif n % 5 == 0:
print('Buzz')
else:
print(n)
А вот её вывод: fizz-buzz.txt. Можно ли усложнить эту программу? Слова «Fizz», «Buzz» и «FizzBuzz» повторяются в этой последовательности периодически. А что ещё у нас есть периодического? Тригонометрические функции! Возможно, нам удастся при помощи этих функций закодировать все четыре правила последовательности в выражении в аналитическом виде. Именно эту задачу мы и исследуем в статье, получив в конце дискретный ряд Фурье, который может получить любое целочисленное n и выбрать для печати соответствующий текст.

Привет, Хаброжители!
Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию.

Неважно, в какой сфере вы работаете: backend-разработчик, frontend, архитектор БД, системный аналитик, тестировщик или кто-то еще. А может, вы только ищете работу в IT? Или просто интересуетесь, как устроен цифровой мир. Эта статья - возможность освежить в памяти базовые концепции программирования, подготовиться к собеседованию (ведь вопрос про CRUD-операции может прозвучать не напрямую, но почти всегда скрыт в других задачах или кейсах) или просто понять, как устроены ваши любимые приложения.
Вопрос на миллион: Знаете ли вы, что общего между созданием поста в Нельзяграм, покупкой на Ozon и обновлением резюме на hh.ru?
Ответ прост: в их основе лежат четыре базовые операции, скрытые за аббревиатурой CRUD. И да, эти операции — первая ступень к пониманию того, как работают современные API.

В выходные я просматривал Твиттер, чтобы узнать, что происходит в сфере ИИ. И снова DeepSeek привлек внимание всего мира.
Это не просто очередной инструмент для распознавания текста, а новая технология контекстного оптического сжатия, которая использует визуальные методы для решения проблемы обработки длинных текстов, предлагая новый подход к работе с огромными массивами информации.
Любой, кто пользовался большой языковой моделью (LLM), сталкивался с такой проблемой:
Когда вы просите модель обобщить десятки тысяч слов из конспектов конференций или научных статей, она начинает терять память.
Это происходит потому, что квадратичная сложность длины последовательности по своей сути ограничивает GPT, Gemini и Claude - чем длиннее входные данные, тем больше вычислительной мощности требуется.

В этой части добавил Claude Opus 4.5 и GPT 5.1-Codex-Max
Для тех, кто не любит читать, результат сразу тут: