Обновить

Разработка

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

Космотекст: отправляем статьи в космос — и объявляем победителей 🚀

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

Привет от Хабра! Несем вам буквально космическую новость — мы подвели итоги конкурса космических статей и выбрали те, что отправятся в настоящий КОСМОС 🛸. А еще отобрали автора лучшей статьи за время существования Хабра, который забирает экскурсию на Байконур! 

Рассказываем, какие авторы стали космическими победителями и о чем они написали.  

Читать далее

Люди, которые писали код на голых нервах. О практике девяностых и нулевых, которая до сих пор работает

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

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

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

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

Читать далее

Паттерн Transactional Outbox: от теории до продакшена

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

Transactional Outbox часто подаётся как простой рецепт: записали событие в отдельную таблицу, фоновый воркер разберётся. В реальности именно этот «временный костыль» неожиданно превращается во вторую очередь со своей конкуренцией за блокировки, дубликатами, нарушенным порядком и тихо растущими таблицами.

В статье разберемся, что именно начинает ломаться в outbox-паттерне под нагрузкой, как выбирать и блокировать события в разных СУБД, почему ретранслятор стоит отделить от API и какие гарантии доставки на самом деле получаются. А ещё — почему консюмеры должны быть идемпотентными, как следить за внутренней очередью в базе и не узнавать о проблемах уже после инцидента.

Разобрать outbox

Как IN (:ids) раздувал Hibernate Query Plan Cache до 100+ МБ и почему ANY(:ids) спас прод

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

При разборе продакшн heap dump я обнаружил странность: Hibernate Query Plan Cache занимал почти треть памяти. Обычный IN (:ids) внезапно генерировал тысячи SQL-планов и раздувал heap.

Почему так происходит и как полностью решить проблему с помощью ANY(:ids) — разбираю пошагово на реальном примере

Читать далее

Астероид для IT-индустрии: как пережить AI-апокалипсис

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

Всем привет! Меня зовут Николай Губин, являюсь Backend-разработчиком в Авито уже четыре года. Я тот, кто за пятнадцать лет пережил несколько революций в индустрии, каждая из которых выглядела как конец безбедной и счастливой жизни каждого разработчика. В этой статье поделюсь своим субъективным мнением на самый холиварный вопрос: с развитием ИИ что ждет IT- специалистов? Закат или новое начало?

Читать далее

Хватит писать CSS с нуля: как Chakra UI экономит время и нервы разработчика

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

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

В данной статье мы рассмотрим одну из таких библиотек — Chakra UI V3 в связке с React, так как она не особо большая и проста в изучении. В разных библиотеках синтаксис может немного отличаться, но в основном они все решают одни и те же проблемы. Давайте разберёмся, как она способна помочь нам в разработке.

Читать далее

Как оптимизация перформанса Debezium JDBC Sink Connector помогла улучшить Open-source версию решения

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

Debezium — популярный фреймворк для Change Data Capture (CDC), позволяющий отслеживать изменения в источниках данных (таких как базы данных) и передавать их в потоковые платформы вроде Apache Kafka. Одним из компонентов Debezium является JDBC Sink Connector, предназначенный для записи данных из Kafka в реляционные базы данных посредством интерфейса Java Database Connectivity (JDBC). 

Debezium JDBC Sink Connector может решать множество задач: от репликации данных между БД и синхронизации обновлений между микросервисами до создания резервных копий данных для целей тестирования или разработки. Мы в VK Tech используем Debezium JDBC sink connector, чтобы строить перформанс-интеграции. Но в нагрузочных тестах столкнулись с проблемой производительности, которая не решалась никакими обходными путями. Поэтому нам пришлось детально погрузиться в нюансы обработки событий в Debezium JDBC connector.

Привет, Хабр. Меня зовут Артём Дубинин. Я старший разработчик Backend в команде Tarantool CDC — решения для репликации данных в реальном времени между системами управления базами данных (СУБД). В этой статье я изложу свою интерпретацию создания Debezium, расскажу о том, как работает Debezium JDBC connector, а также о нашем варианте оптимизации перформанса, который попал в Open-source версию.

Читать далее

Второй мозг для автора — собираем экосистему из нейросетей и заметок

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

Второй мозг для автора — собираем экосистему из нейросетей и заметок

Привет, Хабр! Эта статья - результат совместного труда двух авторов. В своей карьере мы перепробовали много различных методик. Мы искали способы «вытаскивать» мысли из головы в цифровое пространство, где их удобнее структурировать, чтобы затем превратить в связный живой текст. Делимся своим опытом работы с инструментами написания и редактирования текстов, среди которых есть как проверенные временем, так и появившиеся сравнительно недавно.

Узнать больше

Как инженер-программист сделал синтезатор для дочери с помощью Arduino и 3D-принтера

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

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

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

Год спустя я решился воплотить эту идею в жизнь. И так как у меня не было опыта в создании такого рода устройств, то проект стал для меня поводом изучить микроконтроллеры, САПР, проектирование печатных плат и 3D-печать.

В результате получилась музыкальная игрушка, в которой есть встроенный синтезаторный модуль, динамик, элементы управления темпом, громкостью, тональностью и инструментами (ползунки и «крутилки»), OLED-экран с танцующей пандой. И всё это в корпусе, напечатанном на 3D-принтере.

Прототип вы видите на фото, а демонстрация финальной версии в конце статьи.

Читать далее

Книга: «Алгоритмы машинного обучения»

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

Привет, Хаброжители!

Узнайте тонкости работы алгоритмов ML, чтобы эффективно решать задачи и повы-шать производительность используемых моделей. Познакомьтесь с фундаментальными математическими основами важнейших алгоритмов машинного обучения и вариантами их реализации на Python. Особое внимание уделяется вероятностным методам.

В книге анализируются и объясняются десятки алгоритмов, применяемых в различных сферах, в частности финансах, компьютерном зрении и обработке естественного языка. Каждый алгоритм сначала выводится математически, а потом иллюстрируется кодом на Python, снабженным подробными пояснениями и информативными графиками. Особую ценность представляет данная автором ясная интерпретация байесовских алгоритмов для моделей Монте-Карло и марковских цепей.

Читать далее

Open source понарошку? Продолжающийся переход на source available, а также набирающий обороты феномен openwashing

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

Недавно мы в Beeline Cloud рассказывали о полезных ресурсах для тех, кто желает влиться в open source и начать контрибьютить. Сегодня поговорим о крайне дискуссионном тренде в данной области — продолжающемся переходе западных open source-компаний на ограничительные лицензии. Кроме того, разберем примеры противоречивого опенсорсинга, когда открытый код на поверку оказывался не таким уж открытым. А в конце материала — поделимся литературой с рекомендациями о том, как эффективно работать с корпоративным open source в подобных условиях.

Читать далее

Типичные проблемы с Docker и как их решать

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

Docker прочно вошел в нашу жизнь, став стандартом де-факто для контейнеризации приложений. Он обещает среду «работает на моей машине — будет работать везде», и в большинстве случаев так и есть. Но рано или поздно каждый разработчик или DevOps-инженер сталкивается с ситуацией, когда эта магия дает сбой. Контейнер не запускается, приложение не видит друг друга, а диск сервера таинственным образом переполняется.

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

Читать далее

Docker для самых маленьких: упаковываем Python-бота за 10 минут

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

Хватит запускать ботов кнопкой Run в PyCharm! Пора осваивать промышленные стандарты.
В этом туториале я простым языком объясняю, как работает Docker и зачем он нужен Python-разработчику. Мы возьмем простого Telegram-бота, напишем для него конфиг, настроим .dockerignore и запустим в изолированном контейнере. Идеально для тех, кто давно хотел разобраться с Докером, но боялся сложных инструкций.

Читать далее

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

Аутсорсинг и приказ ФСТЭК №117, теория РБПО, инструменты

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

Этот текст для компаний, занимающихся аутсорсом и аутстаффингом. Продвигая статический анализ кода в целом и инструмент PVS-Studio в частности, мы отдельно не выделяем компании этой направленности. Сейчас, в связи с вступлением в силу 1 марта 2026 года приказа №117, всё немного по-другому.

Читать далее

Интеграция пеcочницы с CommuniGate: наш опыт работы с API

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

Привет, Хабр! На связи Евгений Лавров, архитектор отдела инжиниринга комплексных проектов компании Positive Technologies. Я занимаюсь разработкой проектных решений и внедрением наших продуктов совместно с партнерами или собственными силами у клиентов. Сегодня я хочу рассказать об интеграции нашей песочницы PT Sandbox со сторонними системами, даже если они не заявлены как поддерживаемые в документации, на примере интеграции с почтовым сервером CommuniGate Pro.

Читать далее

Как я сделал senior-стол за $1000

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

Я решил сделать стол из дубового слэба толщиной 10 см и весом 340 кг. С точки зрения сложности: это senior стол. Вот мои выводы, ошибки, инженерные решения и расходы.

Читать далее

1 ИИ, 100 чашек кофе и 365 дней: как превратить онбординг инженеров техподдержки в квест

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

Дисклеймер: Это не пошаговый гайд «сделай сам», а честный рассказ о годовом пути, ошибках и находках. Возможно, он вдохновит кого-то из вас на свои проекты — будем рады обратной связи!

Читать далее

Что такое API Gateway: 10 главных функций и роль в архитектуре микросервисов [полный гайд]

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

Микросервисная архитектура уже давно стала нормой для IT-продуктов. И одну из центральных ролей в таком подходе занимает API Gateway.

В этой статье разберём, что такое API Gateway, зачем он нужен в микросервисной архитектуре, какие 10 ключевых функций он выполняет, и является ли он потенциальной точкой отказа в системе.

Внутри вы найдёте много картинок и примеров схем архитектуры, чтобы объяснения были максимально понятными.

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

Оглавление:
Что такое API Gateway
10 главных функций API Gateway
Виды API Gateway
API Gateway - центральная точка отказа
Примеры схем архитектуры с API Gateway в нотации C4 (и не только)
Заключение и полезные ссылки

Читать далее

Как производительность Low-code платформы SimpleOne выросла в 16 раз: архитектура, практика и метрики

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

Производительность Low-code платформы — один из самых спорных вопросов для enterprise-сегмента. Интерпретация настроек «на лету» создает дополнительную нагрузку по сравнению с готовыми решениями, но дает бизнесу гибкость и возможность быстро менять процессы. Работая с крупнейшими заказчиками, мы сделали производительность стратегическим приоритетом и сейчас продолжаем развивать платформу под требования больших компаний. С 2023 года производительность SimpleOne выросла с 56 тысяч до миллиона пользовательских обращений в месяц — это результат системной работы над архитектурой платформы.

Рассказываем о нашем пути и архитектурных решениях, которые позволили увеличить производительность Low-code платформы.

Читать далее

Мод всему голова: случаи, когда фанатский игровой контент лег в основу официальных релизов

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

Игра мечты сама себя не сделает! Так посчитали модеры и принялись за работу. Первые игровые моды, которые обрели известность, можно было назвать отчасти баловством и стремлением фанатов попробовать свои силы в геймдеве, дорога в который была закрыта. Постепенно, по мере развития индустрии и распространения технологий, росло и мастерство мододелов. Сегодня можно найти немало примеров того, как геймеры создают собственный контент для любимых игр настолько высокого качества, что даже большие студии хотят включить его в свои официальные релизы. Что ж, давайте же взглянем на подборку именно таких случаев. Прошу под кат.

Читать далее