Обновить
1024K+

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

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

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

Аутентификация и авторизация в Python: сессии и JWT токены в Backend-разработке

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

В современном мире разработки программного обеспечения аутентификация и авторизация являются ключевыми концепциями, необходимыми для обеспечения безопасности и контроля доступа пользователей. В статье рассмотрим основы регистрации, аутентификации и авторизации, а также два популярных механизма аутентификации — сессионный механизм и JWT токены. Разберем их принципы работы, отличия, плюсы и минусы, а также практические аспекты реализации на Python с использованием FastAPI и SQLAlchemy. 

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

Читать далее

Kodacode для бизнеса: SaaS с инфраструктурой в РФ и on-premise

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

Kodaсode используют десятки тысяч разработчиков в месяц. Постепенно запросы стали приходить не от отдельных людей, а от компаний: как оформить юридически, куда уходят данные из кодовой базы, есть ли централизованное управление доступами и корпоративный биллинг.

Этой статьёй мы отвечаем на все эти вопросы — и рассказываем о нашем корпоративном предложении.

Читать далее

Простой поиск имен в С++

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

Это продолжение темы начатой в статье Важны ли компилятору имена, и продолженной в Ночью все кошки серы, а using'и одинаковы, и далее в Компиляторы тоже путаются в именах. Если не читали, то лучше будет пробежаться по диагонали. Теперь вот мы подобрались к такой интересной теме, как квалифицированный и неквалифицированный поиск.

Что такое простой поиск(неквалифицированный) имени n в области S? Это механизм компилятора, который находит все объявления n, находящиеся непосредственно в этой области. Просто? С виду да, но даже этот простой механизм часто работает не так, как ожидает разработчик.

Например, у нас есть пространство имён N и локальная переменная N. Они могут сосуществовать вместе? Могут, потому что находятся в разных областях видимости. А пространство имён и глобальная переменная с тем же именем могут? Как же мы докатились до жизни такой, давайте разбираться.

Вот такой простой с++

Анализируем heap‑дампы с прода, не привлекая внимания безопасников

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

Heap‑дампы JVM — бесценный источник информации при разборе аварий с OutOfMemory и оптимизации производительности. Но вместе с тем они же — потенциальные каналы утечки данных, ведь будучи снятыми с боевого сервиса, дампы уносят в себе всё, с чем работал сервис на момент снимка: логины, пароли (иногда в открытом виде), важные ID и тому подобное — словом, всяческие sensitive данные, которые не нужны для анализа, но могут навлечь на получателя дампа серьёзную ответственность и риски. Как этого избежать без ущерба делу — разбираемся под катом.

Читать далее

Давайте уже сделаем отдельный хаб: «Я собрал приложение за вечер — зачем теперь разработчики?»

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

Нет, я серьёзно — в последние месяцы на Хабре появилась особая категория статей, которая начинает бесить.

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

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

Теперь по сути.
Специально не буду давать ссылки на отдельные статьи — думаю вы и сами их видите в ленте постоянно. Поэтому отвечаю сразу, так сказать «коллективному автору» подобных постов.

Читать далее

Java Digest #35

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

Всем привет! 👋👋👋👋👋

Мы — Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

В этом выпуске рассказываем, когда ждать релиз Java 27 и как Oracle планирует регулировать использование генеративного ИИ при написании кода. Посмотрим детальное интервью о Spring Framework 7 и Spring Boot 4 с самой командой создателей Spring. Почитаем, как безопасно работать с нативной памятью в многопоточной среде с помощью VarHandle. А еще изучим любопытный постмортем, посвященный расследованию раздувания памяти в контейнерах после перехода на JDK 17. Приятного чтения!

Читать 35 выпуск

FSRS для Obsidian: помнить всё

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

Обсидиан называют «вторым мозгом». Чтобы он им стал, одних связей недостаточно — нужна память.

Я сделал плагин интервального повторения на современном алгоритме FSRS. Он запоминает что и когда вы учили, предсказывает что вы вот-вот забудете, и показывает какая тема даётся тяжелее всего. Все данные хранятся локально в ваших .md файлах — ничего не уходит на сервера.

Читать далее

Имитация 3D-персонажей в 2D-движке

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

Я всегда был фанатом шутеров с видом сверху. Hotline Miami и по сей день остаётся моей любимой инди-игрой, а недавно я решил проиграть в её духовную наследницу — OTXO.

Он всегда был моим любимым жанром. Моя первая «серьёзная» игра, Alien Killer (написанная на Flash, поэтому сегодня в неё практически не поиграешь), была шутером с видом сверху, вдохновлённым старой игрой Net YarozePsychon.

В этой статье я расскажу, как разработал похожий на трёхмерный top down shooter без 3D-движка.

Читать далее

Flappy Bird: код веб-клона под микроскопом

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

В январе 2014 года мир сошёл с ума из-за игры, где нужно просто тыкать в экран. Flappy Bird приносила создателю $50 000 в день, пока он не удалил её из-за давления и бессонницы. Игру начали продавать на чёрном рынке вместе со смартфонами.

Я решил собрать свой веб-клон, чтобы понять, в чём же здесь магия. А в конце — откровенный список из 12 проблем, из-за которых мой клон всё ещё не тянет на оригинал.

Читать далее

Как Monium приручил GC: разбираемся со сборщиками мусора в observability‑платформе

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

Всем привет, меня зовут Антон Рыбочкин, я старший разработчик бэкенда в команде Yandex Monium. Monium — это платформа для сбора, хранения и анализа телеметрии (метрик, логов и трейсов). Она позволяет дать оценку того, как себя чувствует сервис, находить причины сбоев, оперативно уведомлять об аномалиях.

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

В этой статье я расскажу про наш опыт с разными сборщиками мусора: с какими проблемами Java GC мы столкнулись в разных сервисах, как их можно диагностировать и как решить.

Читать далее

Как настроить AI-агента под проект: контекст, rules, skills, MCP — конспект двух вебинаров

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

Цепочка короткая: сначала был просто автокомплит, потом появились чаты, в которые надо было руками копировать код туда-обратно (и человек выступал прокси между моделью и проектом — «много ручной работы, контекст рвётся»). Потом пришли агенты, которые живут прямо в проекте, читают и правят файлы, запускают команды. Сверху — агентские системы, которые координируют нескольких агентов и решают проблему перегрузки одного контекста.

Где живёт агент: три класса инструментов

Читать далее

Как я писал трей-утилиту для управления sing-box на Windows

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

Эта статья о том, как я хотел сэкономить несколько секунд при переключении системного прокси в Nekobox, а в итоге уже несколько месяцев пишу мини-программу для управления sing-box.

Началось с того, что для прокси на Windows я стал использовать Nekobox. Про гибкое раздельное туннелирование я еще не знал, и приходилось постоянно включать и выключать системный прокси, чтобы зайти то туда (сайт заблокирован), то сюда (сайт блокирует IP прокси). Много раз в час: клик по значку в трее, режим системного прокси, отключить (а потом обратно). И я подумал, что было бы удобнее просто кликать по значку. Ничего сложного — почему бы не реализовать? Начал я, конечно же, с рисования значка. Решил, что хорошо подойдет портал из «Рика и Морти» как метафора беспрепятственного перемещения между измерениями. Провел целый вечер в Procreate на iPad, замучился, устал и отложил затею на потом.

Что было дальше

Создание чат-бота в портале Битрикс24 с помощью AI-агентов

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

5-я статья из цикла туториалов о кастомизации своего бизнес-портала в Битрикс24.

Сегодня возьмём наш шаблонный репозиторий для AI-разработки и сделаем на его основе чат-бота. Боту можно написать в мессенджере и научить его делать разные полезные вещи: давать информацию по сделкам, задачам и другим деталям бизнеса. 

Ещё бот может обращаться к другим программам по API и возвращать данные оттуда, например курсы акций и облигаций.

Что было в предыдущих туториалах:

1 — Пишем первое приложение с AI-стартером, чтобы видеть прибыли и убытки
2 — Добавляем в бизнес-портал Битрикс24 роботов для автоматизации
3 — Что даёт воспроизводимая среда разработки и как развернуть контейнеры на VPS
4 — Анализ и модернизация коннектора баз данных с помощью AI-агентов

Читать далее

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

На периферии трёх миров: ещё один шаг к нейронной операционной системе

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

Я в Termux (планшет, смартфон) пытаюсь понять, как из нескольких строк на чистом Си рождается свободная и не зависимая личность - Нейрон.

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

На нахожусь на периферии трёх миров :

Читать далее

Что делает match после того, как вы нажали Compile

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

Вы пишете match десятки раз в день. Разбираете Option, матчите варианты enum, ловите диапазоны. Выглядит как switch из Си, только мощнее!

Но задумывались ли вы, что происходит, когда компилятор берёт ваш match с вложенными паттернами, гардами и привязками — и превращает его в машинный код? Там, внутри, лежит целый мир: деревья решений, таблицы переходов, niche-оптимизации, и иногда — один-единственный mov, где вы ожидали десяток сравнений.

Пройдем весь путь от паттерна до ассемблера.

Читать далее

Как подготовиться к алгоритмическим соревнованиям: опыт финалиста ICPC

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

Всем привет! Меня зовут Андрей, я финалист ICPC (Международной студенческой олимпиады по программированию), разработчик Техплатформы Городских сервисов Яндекса. Эта статья — концентрат неочевидных (а порой и контринтуитивных) советов по подготовке к соревнованиям. Годами я тренировался, набивал шишки на контестах и набирался мудрости у топовых тренеров, чтобы собрать этот опыт в одном месте.

Читать далее

Баги, которые не ловит Rust

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

В апреле 2026 года Canonical раскрыла 44 CVE в uutils — реализации GNU coreutils на Rust, которая поставляется по умолчанию с версии 25.10. Большинство из уязвимостей обнаружилось при внешнем аудите, проведённом перед выпуском 26.04 LTS.

Я изучил список и решил, что из него можно многому научиться.

Примечательно то, что все эти баги оказались в кодовой базе на Rust, написанной людьми, которые знают, что делают, и ни один из багов не был отловлен механизмом проверки заимствований, clippy lints и cargo audit.

Я пишу эту статью не для того, чтобы покритировать команду разработчиков uutils. Ровно наоборот: мне хочется поблагодарить её за публикацию результатов аудита с подробностями, благодаря которым все мы можем научиться чему-то новому.

Кроме того, на нашем подкасте Rust in Production недавно был вице-президент по разработке Ubuntu Джон Сигер, заслуживший похвалы слушателей за честный рассказ о состоянии Rust в Canonical.

Если вы пишете системный код на Rust, то эта статья будет самым сжатым анализом того, где сейчас заканчивается безопасность Rust.

Читать далее

SocratiCode: разбираю MCP-сервер, который даёт ИИ-агенту понимание кодовой базы

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

Если ваш ИИ-агент при каждом вопросе начинает grep-ом по всему проекту — у меня есть для вас одна штука. SocratiCode — это MCP-сервер, который индексирует кодовую базу через Qdrant и даёт агенту нормальный поиск вместо построчного чтения. Разобрал, как он устроен внутри, потестировал на нашем монорепе и сравнил с обычным режимом Claude Code

Читать далее

Почему CRM в Битрикс24 тормозит на 50К сделок и что с этим делать

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

Когда CRM в Битрикс24 начинает открывать список сделок по 10 секунд, обычно первым делом подозревают сервер, нагрузку или саму платформу. Но на практике узкое место часто лежит ближе к базе: фильтры по UF-полям без индексов, лишние JOIN, неявный LIKE в ORM, N+1-запросы и обработчики, которые внезапно превращают массовое обновление в нагрузочный тест.

В статье разбираем, как подойти к проблеме системно: включить slow query log, прочитать EXPLAIN, найти реальные причины тормозов и точечно ускорить CRM без миграции и бессмысленного наращивания железа.

Читать далее

10 уроков агентного кодинга. Что делать в эпоху дешёвого кода?

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

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

Я веду список советов по агентному кодингу: правила и ориентиры для тех, кто только начинает работать с Codex, Claude Code, Pi или любым другим агентом. Каждый пункт — обобщённая рекомендация, применимая к агентному программированию в целом. Хочется, чтобы уроки оставались актуальными по мере того, как улучшаются модели и инструменты.

Ниже — текущий список: 10 уроков агентного кодинга. Десять — красивое круглое число, хороший повод опубликовать.

Читать далее