2026 год. Нейросети – теперь рабочий инструмент, который есть почти у каждого.
Но в этом и проблема: их стало так много, что глаза разбегаются. Только собрался освоить один сервис – тут же выходит другой, который обещает быть лучше, быстрее и дешевле. Как не утонуть в этом потоке и выбрать то, что действительно работает?
Мы решили помочь и протестировали 25 нейросетей для самых разных задач: от генерации текста и видео до создания музыки и презентаций. В этом обзоре вы найдёте не только известных гигантов вроде ChatGPT 5.2 или Gemini 3, но и другие решения: ChatPDF для документов, SlidesAI для слайдов, Suno для музыки и отечественный “Кандинский” для изображений.
Если вы устали от поиска “той самой нейросети” – эта статья станет вашей картой сокровищ.
Читать далееПришло время поговорить о главной функции сборщика мусора в CPython. В предыдущих частях (1, 2, 3) мы говорили о поколениях, инкрементальной и полной сборке мусора — но все они в итоге вызывают главную функцию, которая и реализует основной алгоритм циклического сборщика мусора — находит и разрывает циклы у объектов, которые уже вышли из использования.
В первой статье на тему устройства сборщика мусора я написал, что история началась, когда я попробовал исправить ошибку в CPython. И вот, в четвёртой статье, я наконец‑то добрался до функции, в которой была ошибка.
Если вам интересно, давайте посмотрим, как работает «сердце» сборщика мусора.
Читать далееНачиная писать данную статью, меня не покидало ощущение, что я открываю “Ящик пандоры”. Холивар. Так как ну кто признается, что он плохой проектный менеджер? Кто скажет - я плохо управляю проектами? Ну я же… (дальше сами подставьте необходимый спич:))
Тем не менее, в рамках цикла статей по управлению рисками в GameDev данную область просто необходимо рассмотреть.
Четкое понимание целей, целевого состояния проекта, продукта, позволяет лучше понять присущие риски. Эффективное управление игровым проектом и присущими рисками, дает конкурентное преимущество тому, кто знает, как управлять и эффективно этим пользуется.
Мы все часто слышали: “Нужно задержаться”, “Нужно выйти в субботу”, “Вся команда пашет, а ты домой собрался”, “У нас дедлайн, нужно сделать и все”, “It is the Crunch time, baby!” и т.д. в подобном ключе. Я сам, бывало, работал и по выходным, и до утра. Иногда это было дико интересно, а иногда у тебя был просто выбор - либо поработать как просят, либо уволиться.
Давайте разберемся, почему так происходит?
Читать далее20 января была зафиксирована атака на цепочку поставок, затронувшая индийскую компанию MicroWorld Technologies, разработчика антивирусного продукта eScan. Представители компании позднее сами сообщили изданию BleepingComputer о том, что злоумышленники взломали один из региональных серверов и подменили там файл обновления антивируса, который был доставлен клиентам. Атака была обнаружена «снаружи» — специалистами из компании Morphisec, которые проинформировали производителя через день после начала атаки.
Специалисты «Лаборатории Касперского» опубликовали подробный анализ использованного в атаке вредоносного кода. По их оценке, это достаточно необычный вектор атаки. Мало того что атаки на цепочку поставок в принципе происходят редко, еще реже фиксируются случаи компрометации антивирусного программного обеспечения. При этом атака была тщательно подготовлена: не только был взломан сервер обновления, но вредоносный код был специально разработан так, чтобы наиболее эффективно работать с учетом особенностей компрометируемого легитимного ПО.
Читать далееКак компания с «покупкой в 1 клик» кинула меня на 90 000 ₽. Мой урок для IT-фрилансеров
Я в разработке с 2011, и по молодости и наивности накопил целую коллекцию серьёзных факапов. Каждому из которых я, как ни странно, благодарен — без них не было бы опыта.
Читать далее«Данные закончились». «Архитектура исчерпана». «LLM упёрлись в потолок».
Звучит умно. Проблема? Это одномерное мышление.
Когда говорят «данные закончились» — имеют в виду текстовые данные для supervised pre-training. Это правда. Но это одна ось из шести, по которым модели становятся умнее.
Inference-time compute (o1/o3), algorithmic efficiency (Mamba, MoE), мультимодальность, tool use, RL и self-play — пять осей, о которых забывают, когда хоронят AI.
В 2020 году консенсус был: GPT-3 — потолок. В 2022: нужны триллионы токенов для каждого улучшения. В 2023: reasoning невозможен без symbolic AI.
Все эти «потолки» были пробиты.
Даю ментальную модель, которая позволит не попадаться на ложные прогнозы о «смерти AI» — и задавать правильные вопросы, когда кто-то уверенно предсказывает будущее.
Читать далееРезультаты исследования, в рамках которого моделировалось распределение денег в обществе и определялся основной фактор, ведущий к богатству.
Почему одним все, другим почти ничего?
Алессандро Плючино и его коллеги из Университета Катании получили ответ, создав компьютерную модель таланта и того, как человек им пользуется. На выходе модель показывает роль случая в этом процессе. Моделирование дало то же распределение богатства, что и в реальном мире. Плюс, еще раз подтвердилось, что самые богатые люди — далеко не самые одаренные. Они просто самые везучие.
Читать далееOpen Source Analysis: зачем нужен и как его проводить
В мире современной разработки приложений программное обеспечение с открытым исходным кодом (open source) стало неотъемлемой частью практически любого приложения. Open source библиотеки, фреймворки и компоненты ускоряют разработку, снижают затраты и способствуют инновациям. Но при этом существует серьёзная проблема: каждая зависимость — это не только ускорение разработки, но и дополнительные риски. В этой статье я постараюсь разобрать, что такое анализ открытого исходного кода (Open Source Analysis, или OSA), зачем его необходимо проводить, как он выполняется и как выглядит на практике.
Почему же open source — это одновременно благо и риск?
По разным исследованиям, от 70 до 90% кода в современных приложениях – это open source компоненты. Обычный сервис может тянуть за собой в проект сотни транзитивных зависимостей, о существовании которых разработчик может иногда даже не подозревать.
Примечание: транзитивная зависимость – это косвенная зависимость, пакет или библиотека, на которую ПО зависит косвенно через другую зависимость, это «зависимость от зависимости».
И в этом моменте у нас уже появляются проблемы. А именно:
Читать далееЗакономерности социального развития известны тысячи лет. Рецепты — не секрет. Но ни одна цивилизация не смогла их последовательно применить. Жадность, глупость, злая воля — это не объяснение, это пересказ проблемы другими словами.
Я начинал с поиска того, кто мешает. Пришёл к другому: сложные общества сами порождают механизм, который одновременно обеспечивает их устойчивость и блокирует развитие. Без заговора. Без злого умысла. Без координации. Как он устроен, почему его нельзя просто отключить и что меняется прямо сейчас — об этом статья.
Кто виноват?Обычно обезьяны решают головоломки с удовольствием, но получив за это изюм, начинают ошибаться. Когда школьникам дают деньги за хорошие оценки, их интерес к учебе исчезает. Интересно, что и взрослые ведут себя так же. Когда программистам платят за каждую закрытую задачу, производительность команды падает примерно на 20%. Возможно, есть другой вид мотивации, когда само выполнение задачи служит вознаграждением?
Что ж, попробуем в этом разобраться.
Меня зовут Костя Дубровин. Я веду канал про книги.
РазобратьсяЯ активно использую на проекте Kafka Connect Framework и в частности Kafka JDBC Sink Connector для быстрого сохранения данных из Kafka Topic в БД PostgresSQL. Для большинства задач достаточно написать простую JSON-конфигурацию и все стабильно и быстро работает из коробки. Нет необходимости в написании собственного кода. Однако в нетиповых ситуациях расширяемость Kafka Connect тоже помогает - можно переопределить и написать один из компонентов.
В конфигурации JDBC Sink Connector Task существует настройка dialect.name, которая отвечает за выбор диалекта для работы с конкретной БД. Как правило, в 99% случаев используется один из уже реализованных для популярных БД диалектов, как например в моем случае PostgresSqlDatabaseDialect для PostgreSQL.
Может показаться, что вряд ли кому-то понадобится реализовывать свой диалект, если только не имеем дело с какой-то специфичной непопулярной БД. Однако на практике оказалось, что реализация своего диалекта даже для PostgreSQL может быть полезна для решения некоторых возникающих прикладных задач.
В данной статье я хочу показать идеи того, как реализация своего DatabaseDialect может помочь при имплементации нестандартных сценариев для вполне себе популярной БД Postgres, для которой существует PostgresSqlDatabaseDialect.
Читать далееВсем привет! Когда речь заходит о разработке высоконагруженных систем, многие предлагают: «python, сделать проще и быстрее». Но есть проблема: Скорость разработки != скорость и качество работы сервиса. Когда мы делаем любой продукт, важны: Масштабируемость, стабильность работы под большой нагрузкой, предсказуемость поведения системы — особенно когда речь идет о тысячах одновременных пользователей, лентах новостей в реальном времени, уведомлениях и сложных связях между разными сущностями.
Именно поэтому и выбрана Java и Spring Boot как основа. Банки, сервисы видео, они работают именно на Java и Spring.
Одна из особенностей: строгая типизация, качественные инструменты для многопоточности, мощная экосистема и предсказуемое потребление памяти делают Java идеальным выбором для систем, где падение = полная потеря пользователей.
Попробую сделать цикл статей по разработке соцсети, которая будет объединять в себе ВК, пикабу, и иже с ними. Не ради «создания продукта который затмит всех и вся», а ради самого программирования.
Итак, начну, среда разработки Intellij Idea. О, точно, весь проект будет доступен из gitLab. Нам необходимо создать файлы с конфигурацией. можно сказать что их обычно 3. Да, я про application.yml. один из них общий, который так и называется: application.yml, и еще два: application-dev.yml и application-prod.yml
Читать далееКогда на сервере появляется «прожорливый» процесс, который забирает все ядра и постепенно выдавливает память, хочется ограничить его быстро — но так, чтобы это было воспроизводимо и не держалось на магии.
В статье — практический разбор cgroups v2: как руками через cgroupfs создать группу, задать лимиты CPU/RAM и правильно запускать процессы без «окна без ограничений», а затем сделать то же самое через cg*-утилиты и systemd-run/slice. По дороге станет ясно, почему эти приёмы напрямую перекладываются на мир Docker и Kubernetes.
Меня зовут Коля Шевчик, я создатель Remocate, платформы для поиска удалённой работы и релокации с аудиторией 150+ тысяч человек.
21 января 2026 года я передал мошенникам один из своих Telegram-каналов после получения «оплаты». На кошельке отображалось 20 000 USDT. На деле это был фейковый токен, который ничего не стоит.
Рассказываю, как это произошло, почему я не заметил подвох и как не повторить мою ошибку.
Читать далееКак быстро пролетели шесть месяцев! Продолжаю рассказывать о том, как решил сделать пет-проект: НормЦРМ. Сам я ремесленник-одиночка и пользовался ограниченным набором инструментов для ведения дел: Google Таблицы, да Windows-заметки. Решил все эти данные свести воедино в рамках собственной црмки.
Я не разработчик, а проектировщик интерфейсов (UX/UI-дизайнер). Опыта в программировании совсем немного. Поэтому пет-проект был мне особенно интересен. Я уже двадцать лет готовлю проектную документацию для других — а в этот раз для себя.
Сейчас расскажу, что сделал по проекту за последние полгода, как мне в этом помогли ChatGPT и Codex, как изменился процесс работы и почему это поначалу было скучно и грустно — а теперь с каждым днём жизни проекта всё интереснее и веселее.
Читать далееВ какой-то момент почти каждая продуктовая IT-команда приходит к одной и той же мысли: «Нам нужно навести порядок в процессах».
Это обычно происходит не из-за моды на менеджмент, а из-за вполне конкретных ощущений:
Читать далееСегодня подпись — это движение шариковой ручкой, галочка на экране смартфона или шифрованная цифровая формула. Мы привыкли к ней настолько, что забыли: за этим простым жестом стоят тысячи лет эволюции человеческой потребности утверждать свою личность, власть, слово и собственность.
Задолго до появления бумаги и даже письма люди изобретали способы «отметить» себя: выводили тотемные знаки, прижимали к сырой глине ногти, резали пальцы для кровной клятвы, вырезали печати на камне и металле. Перстни-печатки, тамги кочевников, японские ханко, турецкие тугры, византийские хрисовулы — все они выполняли одну задачу: подтвердить подлинность и придать словам юридическую силу.
История печати — это история доверия. Того самого — между племенами, родами, государствами, людьми.
Давайте проследим, как человечество училось «подписываться» — от отпечатков пальцев до цифровых сертификатов.
Читать далееКак устроен конвейер
Сборочный конвейер большой софтверной компании обычно состоит из множества виртуальных машин, управляемых оркестраторами сборки. В качестве последних часто используются TeamCity и Jenkins. В этом случае на виртуальных сборочных машинах установлены соответствующие сборочные агенты.
При разработке программного обеспечения для Windows есть необходимость подписывать исполняемые модули (файлы EXE и DLL), а также инсталляционные пакеты MSI с использованием закрытого ключа.
Как всё было хорошо и просто раньше
До 2025 года такие закрытые ключи в комплекте с открытыми ключами и с сертификатами открытых ключей можно было приобрести у компании GlobalSign в виде отчуждаемого крипто-контейнера PFX в формате pkcs12, доступ к содержимому которого был защищён паролем.
Читать далееЧеловеческий фактор, который все упускают
Когда Дарио Амодеи, генеральный директор Anthropic, сказал, что нас отделяет всего 6-12 месяцев от ИИ-систем, способных делать всё, что делают программисты, мне пришлось остановиться.
Это не "в будущем". Это практически следующий год.
В то же время Anthropic представила тесты производительности своей новой модели Claude Opus 4.5, показывающие значительные улучшения в кодировании, рассуждении и обработке сложных задач. Цифры выглядят действительно впечатляюще.
И я начал задаваться вопросом: действительно ли эти тесты означают, что разработка программного обеспечения вот-вот будет полностью автоматизирована? Позвольте мне разобрать, что, на мой взгляд, на самом деле происходит.
Читать далееВ рамках одного из обсуждении с чатах я предложил использовать функцию Merge для IAsyncEnumerable<T>, чтобы объединить результаты чтения однотипных данных из разных источников. Но когда попытался сделать пример оказалось что такой функции в System.Linq.Async нет. Есть аналог в Reactive Extensions, но тащить библиотеку для одного примера не захотел и решил написать сам.
Читать далее