Обновить
1024K+

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

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

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

PostgreSQL. ltree. JPA. Использование в микросервисах

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

В жизни разработчика периодически возникает задача каким-либо образом сохранить что-то древообразное. Это может быть оргструктура компании,   каталог товаров, генеалогическое дерево и т.п.

Читать далее

Новости

Вайбкодинг по Chess’ноку. 1. e4

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

От вайбкодинга к профессиональной ИИ-разработке на примере LanChess: 3300 промптов, 832 коммита, 100 тыс. строк кода и путь от POC к продакшен-сервису.

Поздний вечер, я смотрю в терминал. Celery worker на восьмиядерном сервере перемалывает 67 партий блица на Lichess одного из пользователей. Через минуту этот человек получит персонализированную аналитику и упражнения от сервиса, аналогов которого в России найти пока не удалось. Я же сижу и думаю, стоит ли выводить этот сервис из закрытого режима по инвайтам.

Менее чем за 3 месяца я написал 100 тыс. строк кода и ни одной — своими руками. Мне пришлось стать оператором персональных данных. РКН порекомендовал мне убрать авторизацию от Google. А ВК не давал мне подключить свою авторизацию, пока я не стал самозанятым.

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

Читать далее

Почему на фронте нет GRPC?

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

Я всю жизнь писал только бэк и подкапотщину - будь это классический КРУД, хайлоад, CLI, [вставьте свое]... И для любых сетевых взаимодействий чаще всего люди думают именно прикладными вещами - GRPC, REST, Kafka, не задумываясь об этом глубже - супер удобные инструменты с защитами от дураков и прочими радостями

Но тут спохватился я писать фронт - подключать свое же к себе же. И в этот момент я понял, насколько же это сложно, муторно и, главное, НЕУДОБНО взаимодействовать REST'ом

ЗАЧЕМ ОН НУЖЕН?? - У нас нет удобного контракта общения (eg Proto, Avro) кроме Swagger, который нужно поддерживать с обеих сторон. Да и к тому-же, сложность взаимодействия с JSONом с ОБЕИХ СТОРОН - одна постоянно маршаллит, защищается, ищет поля, в то время другая боится резких обновлений, что строчка получения поля может превратиться в что-то в роде

connect via grpc

Я не программист. Я два месяца учил нейросеть не подлизывать

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

Нейросеть хвалила мой говнокод и помогала закопать проект. Я психанул и два месяца строил инструкцию, которая убивает подлизу. Это история о том, что вышло.

Читать далее

Zig вместо C: пишем высокопроизводительный CLI-инструмент и заменяем 3000 строк C-кода

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

Всё началось на второй паре по системному программированию. Нам дали задачу: написать CLI-утилиту для анализа логов - парсить файл, фильтровать записи по уровню ошибок, считать статистику, выводить красиво в консоль. "Ну понятно", - открыл я vim и началось мое долгое приключение...

Неделя. Две. Утилита называлась logz, она умела читать логи nginx и apache, фильтровать по уровню (DEBUG, INFO, WARN, ERROR), по дате, по IP, выводила топ адресов с наибольшим числом ошибок, рисовала простенький bar-chart прямо в терминале через unicode-символы. Только вот я сидел как-то вечером, запустил wc -l main.c - 3147 строк. И смотрел на это число минуты три с таким лицом - O_O.

Сама утилита работала. Но открывая её осознаешь что - это месиво. Одна функция process_file на 400 строк. Сегфолты раз в неделю. Valgrind как лучший друг. И каждый раз когда надо добавить фичу - сначала полчаса вспоминаешь что вообще происходит в коде.

Потом я случайно прочитал пост про Zig на lobste.rs. Заинтересовался и попробовал. Через месяц у меня была та же утилита, но теперь на 1089 строках, которая работала быстрее и не падала.

Тут я понял что вот золотая жила и расскажу о том - зачем Zig, как переписывал, где облажался и что вышло в итоге.

Смотреть как горит C-код

Что всё таки не так с веб компонентами

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

Господа, продолжаем разбиратся в тонкостях веб компонент. Сделал тут бенч - сравнениe фреймворков ( $mol/lit/symbiot ) по todomcv. Вроде говорим об одном, а бенч о другом, разве не так ? Ан-нет, что бы разобраться с веб компонентами нужны фреймворки которые ставят их во главу угла, те, кто "сделал на них ставку".

Вот что мне удалось понять:

Первое. Память: 124 байта на веб-компонент, и 16 байт на JS object. Разница на порядок, это много, и без виртуализации интерфейс скорее всего будет лагать

Что не так то опять ?)

Я сделал язык программирования ради статьи на Хабр

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

Меня зовут Степан, я C# профессионал уже более 7 лет на рынке и рассказываю об этом в Telegram каналe StepOne. Иногда мне скучно на работе, потому что перекладывать JSON это слишком просто, даже если микросервисы.

Я отучился на системного программиста-компиляторщика и столкнулся с отсутствием спроса рынка на такие навыки. Но выбрал быть счастливым и написал язык программирования hydrascript, чтобы JSON гонялся даже в докере на макбуке. Решение под катом вас точно удивит!

dotnet tool install hydrascript -g

Пробуем использовать бесплатные ИИ для написания кода

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

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

Читать далее

Как я искал мягкий вход в программирование — и сделал Stepwise

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

Мой младший брат Максим попросил меня позаниматься с ним программированием: ему предстоял экзамен по C. У меня сразу было ощущение, что уроки будут непростыми — даже в привычном общении он обычно оставался довольно закрытым — и я опасался, что редкие “угу” будут давать крайне мало информации о том, что происходит у него в голове: интересно ли ему, понял ли он пример, или же ему скучно и он просто вежливо досиживает занятие.

Дополнительно всё усложнялось тем, что до колледжа программирования у него, по сути, не было. Из похожего опыта была разве что подготовка к ОГЭ, где встречалось задание с роботом, которого нужно было довести от старта до финиша.

Поэтому я начал думать, как можно изменить сам формат обучения. Мне казалось, что если мы сразу уйдём в синтаксис, то быстро получим именно то, чего хотелось бы избежать: тишину, слабую вовлеченность и ощущение, что он вообще не понимает, зачем всё это.

Читать далее

Что не так с веб-компонентами?

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

Если кратко - да все с ними ТАК. Это замечательный набор современных браузерных технологий, для решения реальных задач веб-разработки. Веб-компоненты позволяют делать очень многое, более просто и элегантно, чем это было бы без них. А главное, они позволяют, с потрясающей гибкостью, решать задачи “со звездочкой” - те, которые немного выходят за рамки и требуют более творческого подхода от разработчика.

Почему-же тогда по Хабру гуляют, кхм… некие одиозные личности (не будем показывать пальцем) и рассказывают нам про то, что веб-компоненты это ужас-ужас и полный провал? Давайте разберемся.

Читать далее

Тихая сторона крипторынка: что на самом деле стоит за «магией» торговых ботов

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

На дворе 2026 год. В мире неспокойно. Военные конфликты, санкционные войны, передел рынков, борьба за ресурсы. Кажется, что мировая финансовая система уже давно живёт в режиме постоянной турбулентности, и никого это не удивляет.

А что у нас по крипте?

На момент написания статьи биткойн держится в районе 70 тысяч долларов. Кто-то скажет: опять рухнул. И формально будет прав. Относительно недавнего исторического максимума в 126 тысяч долларов это действительно серьёзное снижение — почти в два раза. Но давайте обернёмся и посмотрим на ситуацию не в масштабе недель или месяцев, а в масштабе последних лет.

Не так давно сама идея о том, что биткойн может стоить 100 тысяч долларов, для многих звучала как «бред сумасшедшего». Причём не только для рядовых скептиков, но и для вполне серьёзных и влиятельных экономистов. Сосем недавно отметка в 10 тысяч казалась фантастикой. Потом рынок долго привыкал к 20 тысячам. Затем спорил, возможны ли 50. А сегодня рост до 200 тысяч уже выглядит лишь вопросом времени.

Мы быстро ко всему привыкаем

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

За это время криптоиндустрия уже успела пройти через многое. Эра ICO — время, когда рынок буквально заливали деньгами за одни лишь обещания. Бум L2-решений и новых блокчейнов. Затем волна NFT, различных Web3-сервисов, GameFi-игр и множества других трендов.

Читать далее

Java Digest # 34

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

В этом выпуске мы узнаем, как Java 26 меняет правила игры с десятком новых JEP - от долгожданного шестого превью Structured Concurrency до похорон апплетов и поддержки HTTP/3. Увидим, как IntelliJ IDEA становится умнее с ИИ-агентами, Spring Debugger с отображением бинов и поддержкой Git worktrees. Обсудим Spring AOT, версионирование API в Spring Boot 4.0. Плюс, как всегда, свежие релизы Spring, Gradle, Micronaut, LangChain4j и бенчмарки Quarkus против Spring. Будет интересно!

Читать далее

Я устал настраивать ПК и написал свое приложение для Windows на Flutter

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

Привет. Меня зовут Никита.

Наверняка многим знакома ситуация: кто‑то из друзей или родственников просит «почистить комп», «передалать PNG в JPG» или «раскидать свалку файлов в загрузках».

В какой‑то момент мне это надоело и я решил обернуть все свои рутинные скрипты в удобный графический интерфейс. Чтобы можно было просто скинуть человеку один.exe файл, и всё работало из коробки. Никаких установок питона, никаких консолей.

Так появился мое приложение SmartLauncher.

Читать далее

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

Нужны ли сейчас джуны-разработчики, если есть вайбкодинг?

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

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

Читать далее

Раздувание памяти JDK 17 в контейнерах: разбор инцидента

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

В новом переводе от команды Spring АйО разберем тему раздувания памяти в JDK 17. Апгрейд микросервисов с JDK 8 на JDK 17 прошел dev и QA спокойно, но в проде через 2-3 часа все начало падать. Утилизация памяти выросла в 4 раза, контейнеры стали ловить OOMKill и перезапускаться, Uptime SLA просел, массовый инцидент.

Раньше JVM использовала около 50% памяти контейнера и обслуживала ~400 потоков. После релиза стало 95-100% и 1600+ соответственно. 

При этом heap выглядел нормально, около Xmx, а раздувалась нативная память: ~800 MB -> 3,4-3,6 GB. Виноваты несколько эффектов, которые в контейнерах усиливаются: JVM начала создавать намного больше потоков, OS стала выделять JVM гораздо больше, а дефолтный GC в JDK 17 добавил накладные расходы.

Всё это из-за простого бага в JDK, который при миграции утащил за собой весь production.

Читать далее

Python: с чего начинать, где брать знания и как не бросить после первых трудностей — интервью с Алексеем Голобурдиным

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

Python любят за «плавный вход» и огромную экосистему. Но вокруг него было много мифов: от «Python медленный» до «джунам не пробиться без накрутки опыта». В этом интервью я - Александр, автор (телеграм-канала «Shulepov Code»), поговорил с Алексеем Голобурдиным – автором книги «Типизированный Python», основателем канала на Ютубе «Диджитализируй» (170k+ подписчиков) и практиком, совмещающим продуктовую разработку, обучение и эксперименты с БЯМ (большая языковая модель) LLM и ИИ-агентами. В разговоре затронуты: устройство Python и CPython, роль PEP8, корректный подход к изучению Python с нуля, а также ситуации, в которых нейросети действительно помогают, и случаи, когда они формируют лишь иллюзию обучения.

Читать далее

Мифы о веб-фреймворке $mol

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

Здравствуйте, меня зовут Дмитрий Карловский и я.. автор самого крутого на текущий момент (и в ближайшем будущем) фреймворка $mol. Вот уже десяток лет я рассказываю о заложенных в него идеях, которые конкуренты, если и пытаются повторить, то получается у них плохо. За это время вокруг него сложилось множество мифов, которые люди с радостью ретранслируют друг другу для самоуспокоения. Что ж, давайте соберём их все вместе, разберёмся, как они возникли, и как обстоят дела на самом деле.

Далее идёт развеивание мифов, касательно разработки "на $mol" в сравнении с разработкой "на React", как типичной ситуации в индустрии. Но вместо React вы смело можете подставлять любой другой его аналог.

Развенчать мифы

Роботы vs бизнес-процессы в Битрикс24: когда что использовать и как не запутаться

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

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

В Битрикс24 есть два инструмента автоматизации, которые как будто делают одно и то же. Роботы — настраиваются в CRM на стадиях воронки, срабатывают при переходе сделки между этапами. Бизнес-процессы — настраиваются в визуальном дизайнере, поддерживают ветвления, циклы, переменные и многоэтапные согласования.

Ответ на то, что использовать — очевиден не всегда, потому что возможности частично пересекаются: и робот может отправить письмо, и бизнес-процесс тоже. Но граница между ними большущая.

Разберём, чем роботы и бизнес-процессы отличаются по механике, и на конкретных сценариях покажем, где какой инструмент уместен.

Читать далее

PromptPilot: шедулер задач для Claude Code, Codex и других AI CLI

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

«Всё у нас, Луцилий, чужое, одно лишь время наше» Сенека, Письма к Луцилию, I, 3.

С подписками на AI это буквально: квоты токенов, лимиты запросов и «окна» сброса — не твои, их задаёт провайдер. Остаётся то, что ты можешь распорядиться сам: когда отправить задачу, в каком порядке её выполнить и где ты в этот момент находишься — за столом, в такси или уже в постели.

Я собрал PromptPilot — очередь промптов для AI CLI (Claude Code, Codex, Qwen): задачи ставятся из терминала, веб-интерфейса или Telegram-бота, воркер выполняет их по очереди, с планированием, приоритетами и повтором при rate limit. Идея простая: не гнаться за лимитом глазами, а заранее разложить работу так, чтобы к моменту, когда ты реально сел кодить, под рукой уже был результат — или чтобы «разогрев» сессии случился без тебя у монитора в пять утра.

Ниже — зачем это кому-то кроме меня, как устроена архитектура на SQLite и трёх процессах, и как из бота ответить модели в середине диалога, не открывая терминал. Если узнаёте себя в историях про сгорающие токены и ночные дедлайны по лимитам — добро пожаловать в комментарии.

Читать далее

Аудит сайта, который навайбкодил CEO Y Combinator

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

Я провёл аудит веб-сайта CEO Y Combinator Гарри Тана после того, как он похвастался, что выдаёт по 37 тысяч строк кода в день, и держит этот темп уже 72 дня. В статье я покажу, как на самом деле выглядят в продакшене 78,4 тысячи строк ИИ-слопа. При загрузке одной главной страницы http://garryslist.org в 169 запросах загружается 6,42 МБ. И это для простого новостного блога с рассылкой.

Читать далее