Обновить
1024K+

Программирование *

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

1 302,54
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Язык, который придумали для ИИ в 1958-м

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели16K

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

Только вот Python тоже унаследовал из Лиспа некоторую часть. Но не все. Самое радикальное так и не забрал.

Читать далее

Пишу алгоритм FFT на Си для процессора Эльбрус

Уровень сложностиСложный
Время на прочтение347 мин
Охват и читатели18K

Примерно полгода назад я познакомился с VLIW‑процессором Эльбрус-8СВ. На тот момент у меня уже был опыт написания кода на ассемблере для VLIW‑процессора TMS320C66. Поэтому я захотел сделать нечто похожее для Эльбруса, а именно, написать алгоритм FFT на ассемблере. Но из‑за нехватки документации на инструкции процессора мне пришлось начать с реализации какого‑нибудь простого алгоритма на Си, чтобы изучать его ассемблерный вывод.
По результатам этой работы была опубликована предыдущая статья на Хабре.

После завершения той статьи я решил попробовать написать алгоритм FFT на Си для Эльбруса. Работа ещё не завершена, но определённые успехи уже есть (сравнение с EML присутствует). В этой статье я хочу поделиться полученными на данный момент результатами.

Читать далее

Как Jepsen ломает распределённые базы: разбор бага в CockroachDB

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели9.9K

Запись вернула ошибку, но значение всё равно оказалось в базе. Именно такие сбои Jepsen вытаскивает из распределённых систем: в статье разбираем реальный баг CockroachDB, путь от странного симптома до причины и то, почему на расследование ушло два месяца.

Разобрать баг

sqlh — SQL в Go без boilerplate: пишем CRUD за 50 строк

Время на прочтение8 мин
Охват и читатели8.6K

Если вы пишете на Go и работаете с SQL-базами, вы знаете эту боль. Каждый CRUD-запрос — ручной SQL-строка, rows.Scan для каждого поля, Begin/Commit/Rollback вокруг записи, и постоянная синхронизация DDL-схемы с кодом. Шаблонный код не заканчивается никогда.

Это рассказ о sqlh — библиотеке, которая убирает всё это, оставаясь в «золотой середине» между raw SQL (слишком много работы) и тяжёлыми ORM (слишком много магии).

Читать далее

Как я пишу Telegram-ботов через Claude Code, вообще не умея программировать

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели8.4K

Как вы, вероятно, помните по статье про вайбкодинг на MacBook Neo, программировать я не умею. Вообще. Нет, про Терминал я, конечно, слышал, но по факту никогда им не пользовался. А вот зачем нужен Git, натурально узнал только после того, как случайно затёр рабочий код старой копией и потом 2 дня разбирался, почему вдруг завелась старая версия бота, а новый функционал пропал. Тем не менее, прямо сейчас у меня крутится около десятка Telegram-ботов на одном VPS — и все рабочие, все делают полезные вещи и даже помогают зарабатывать деньги. А всё потому, что я в своё время не испугался критики настоящих прогеров и рискнул войти в вайбкодинг. Да так, что не вышел из него до сих пор. Сегодня расскажу о том, как пишу телеграм-ботов, вообще не имея представления ни о питонах, ни даже о хеллоуворлдах.

Читать далее

Cколько железа нужно ИИ-агенту? Как мы считали ресурсы для on-premise LLM и почему калькуляторы ошиблись в 5 раз

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.5K

На связи Сергей Смирнов, AI-инженер и основатель LLMStart.ru. Один из самых частых вопросов от бизнеса: «Сколько и какого железа нужно, чтобы развернуть ИИ-агента у нас на серверах?».

В новом on-premise проекте нам нужно было оценить, сколько одновременных диалогов вытянет связка из двух RTX Pro 6000 Blackwell и модели GPT-OSS-120B. Популярный калькулятор пообещал 5000 токенов в секунду, но реальность оказалась в 5 раз медленнее!

В статье рассказываю, как правильно считать ресурсы под LLM, почему формулы ломаются на нестандартном железе и как мы устроили хардкорный краш-тест, чтобы дать заказчику железные гарантии.

Читать далее

Вайб-кодеры пришли на биржу. Что стало с фрилансом к середине 2026

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели15K

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

Я фрилансер! Последние годы зарабатываю только на бирже: ТГ-боты, бэкенды, AI-интеграции, с недавних пор — embedded. В начале года я писал, что разработка с LLM неизбежно станет нормой, и собирал в комментариях привычный скепсис. Так вот — она стала, по крайней мере на том же фрилансе.

К середине 2026 биржа, на которой я вырос с 40 до 270 тысяч в месяц, расслоилась на глазах. Я проиграл заказ человеку, который дал цену в пять раз ниже моей. Я видел ТЗ, где прямым текстом написано: «нужно, чтобы вы вайб-кодили мобильное приложение за 7 тысяч рублей». И я честно покажу свои цифры по доходу — включая те, которые показывать не очень приятно.

Читать далее

Shrinking: как property-тест сводит мусорный контрпример к минимуму

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.6K

Property‑тесты умеют находить ошибки на самых неожиданных входных данных. Но настоящая магия начинается после падения теста: вместо списка из сотен случайных значений Hypothesis часто показывает один короткий и предельно понятный контрпример.

Разбираемся, как работает shrinking, почему ручные shrinker'ы плохо масштабируются и за счёт чего Hypothesis умеет минимизировать ошибки практически автоматически.

Читать далее

Графический интерфейс Мандельброта: Визуализатор с методом возмущений и предела 1e-308

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели7.4K

Ключевые особенности:

Расчёт опорной траектории на 5000 бит всего один раз.
Реактивный расчёт миллионов пикселей на аппаратном double.
При использовании чисел с плавающей запятой двойной точности (порядка 10^{-15}) теория возмущений позволяет приблизиться к уровню 10^{-308} - не дальше.
Революционный алгоритм Reference Reset to Zero.
Настоящий SSAA 2x2 для идеально сглаженного изображения.
Параллелизм OpenMP для высокоскоростного многопоточного рендеринга.
Синхронизация через DwmFlush для плавного вывода кадров.
Динамическое вращение палитры для создания классического эффекта.

https://github.com/Divetoxx/Mandelbrot-2#russian

Это Гитхаб с Mandelbrot_AVX2.exe и Mandelbrot_SSE3.exe

А тут полный код на языке С++ - main.cpp

Читать далее

ObjectId против UUID: как выбор _id в MongoDB влияет на API, индексы и миграции

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели7.9K

_id в MongoDB кажется мелочью, пока не попадает в API, события и миграции.

Разбираем, когда оставить стандартный ObjectId, когда нужен UUID, почему его лучше хранить как BSON Binary subtype 4 и зачем иногда разделять внутренний и публичный идентификатор.

Читать далее

AI не убил разработчиков. Он сделал видимость разработки дешёвой

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели17K

«Я собрал приложение за вечер. Разработчики больше не нужны».

Лента забита такими постами, но мало кто показывает продолжение этих историй. А оно бывает ярким: от продовской базы, снесённой AI-агентом, до взлома на второй день после запуска.

По красивой картинке больше не понять, кто её собрал — инженер или человек, который научился красиво писать промпты. Разбираемся, почему рынок ослеп, при чём тут верстальщики на Tilda и что с этим делать бизнесу и инженерам.

Читать далее

Писал мониторинг на Go «за выходные» — застрял на месяцы. Вот на чём

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели13K

В этой статье я расскажу, на какие подводные камни я споткнулся при разработке своего пет‑проекта — мониторинга сайтов на Golang, аналог UptimeRobot.

Начнем издалека... Я хотел разработать пет‑проект, но не банальный todolist, а что‑то свежее, интересное в плане архитектуры и реализации. Шерстя по просторам интернета, я наткнулся на UptimeRobot — сервис для мониторинга сайтов. Азарт и любопытство взяли верх и я начал продумывать, как буду разрабатывать «свой» UptimeRobot. Думал — делов на пару недель от силы. Ведь принцип прост: дергать URL по таймеру и проверять код ответа и всё. Но на практике все оказалось намного сложнее, чем я изначально представлял...

Читать далее

LLM написала, человек одобрил, никто не понял: откуда на самом деле берётся нечитаемый код

Уровень сложностиСредний
Время на прочтение26 мин
Охват и читатели10K

Код работает, тесты зелёные — а читать его невозможно.

Документация «содержит всё» — а в голове после неё не остаётся ничего.

Привычный диагноз «плохо обучили» объясняет не всё: человек и LLM мыслят по-разному устроенными механизмами, и значительная часть «низкого качества» — это столкновение двух когнитивных архитектур.

Где на самом деле предел внимания LLM, почему у человека сложность болит, а у модели нет, и кто в системе «человек + LLM» заметит момент потери контроля.

Спойлер: никто.

Узнать, где теряется понимание

Ближайшие события

Одна маленькая ошибка в дизайне Java API, за которую потом приходится платить очень дорого

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели11K

Привет, Друзья!

Хотел написать короткий пост по мотивам одного казалось бы простого ПР-а, который мы недавно получили в рамках Axelix: Open Core продукта для решения основных известных болей при разработке Spring Boot приложений (кстати, give us a star!).

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

Я не буду погружать вас в детали того, что мы делали, просто покажу на абстрактном примере.

Давайте с места в карьер. Посмотрите на этот код:

Читать далее

Как я написал BGP-сервер и не сошёл с ума

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели10K

BGPLite — open-source BGP route-server на C# и .NET 10. Он принимает BGP-сессии, динамически загружает префиксы через RIPE Stat и управляется через HTTP API. В статье разберём архитектуру проекта и реализацию собственного BGP-сервера с нуля.

Читать далее

Работаем с Fable 5, Claude Code и Antigravity на десктопе из России. Часть 2

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели16K

После выхода первой части прошло 2 месяца, и наши многоуважаемые американские партнёры из Anthropic и Google что-то подхимичили, и новые версии Claude Code и Antigravity перестали работать.

А так хочется попробовать новые чудо-модели типа Fable 5 и Opus 4.8! Поэтому нам придётся осваивать новые хитрости для настройки VPS, чтобы быть на острие прогресса.

Читать далее

Оптимизация производительности современных процессоров, 2-е издание. Книга с ароматом железа

Время на прочтение6 мин
Охват и читатели11K

Приветствуем, уважаемые читатели! На связи Олег Сивченко @OlegSivchenko.

Пару месяцев назад мы анонсировали выход русскоязычного издания знаменитой в узких кругах книги Дениса Бахвалова, которая в оригинале называется «Performance Analysis and Tuning on Modern CPUs» или просто «perf-book». Теперь она, наконец, в продаже и на полках магазинов. Русское издание называется «Оптимизация производительности современных процессоров. 2-е изд.». Это один из моих наиболее сложных, выстраданных, многоэтапных и при этом ценных проектов за последние четыре года. Уверен, он бы не состоялся без активного участия автора, его искренней заинтересованности и содействия в редактуре, проверке терминологии и в целом качества перевода, а также при составлении глоссария.

Читать далее

ИИ-ревью кода в 2026 году: как оно работает и как внедрять

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели9.1K

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

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

Разобраться в ревью

Как правильно заLOOPить Fable 5

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели10K

Модели класса Mythos (такие как Claude Fable 5) изменили рабочий процесс многих из нас в Anthropic. Хочу поделиться двумя советами, как работать с этим классом моделей эффективнее.

Читать далее

Как LLM* тотально перевернули концепцию разработки и программирования ПО

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6.6K

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

Вот ты впервые научился синтаксису и пытаешься запустить первую в жизни реализованную идею... Вжух! Оно отработало, как ты хотел. Восторг, чистый эндорфин, гордость за себя.

Затем ты находишь первую работу. Задачки становится сложнее, но все же тотальный хардкор тебе не дают, ибо не дорос и застрянешь в этом из‑за отсутствия опыта в этой области.

Затем первый сложный проект, где ты отвечаешь единолично за все. Требуется реализовать бизнес идею. Спустя боль и страдания, эта проблема тоже поддаётся и поднимает твои навыки и ЧСВ еще выше.

И тут появляется ChatGPT. Вопросы теперь задаются не в StackOverflow или гугл, а напрямую в нейронку, где ты сразу получаешь ответ. Да, он не идеален, местами нарушает все правила хорошего кода одновременно, но все же работает. Ты тратишь дополнительное время на его улучшение, но общее решение все же принимаешь. Хороший инструмент!

Читать далее