Обновить

Бэкенд

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

Программирование на Go: чему можно научиться за 2 часа и как понять, стоит ли идти дальше

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

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

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

Читать далее

Лучший веб UI для 1С-разработчиков

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

На Global Tech Forum в октябре 2025, я услышал историю от ИТ-директора компании Gulliver, производителя одежды. Он рассказывал, как инхаус команда 1С разработки автоматизировала процессы жизненного цикла продукта в группе компаний - от планирования коллекций, до размещения заказов в производства и учет реализации в сбытовую сеть. 

Формально проект был завершен удачно: система запущена, процессы автоматизированы, отчётность формировалась корректно. Плановые проектные показатели были достигнуты. Однако, при опросе удовлетворённости пользователей команда разработки услышала неожиданный отзыв от главного дизайнера компании о том, что компания столкнулась со сложностью в найме новых специалистов из-за жалобы на «некрасивый» UI. 

Читать далее

Как я пришел к SLO: От хаоса алертов к осознанности

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

Меня зовут Дима Синявский, я SRE-инженер в Ви.Tech — это IT-дочка ВсеИнструменты.ру.

Много лет назад я сидел под компьютером во время дождя. В субботу. И меня ударила молния.

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

20+ лет в IT: сисадмин, бэкенд-разработчик, руководитель разработки, теперь — SRE.

Ты разработчик или инженер эксплуатации, и тебя дергают на каждую 500-ку. Бизнес требует: «Разберитесь!». А ты не знаешь — это много или мало? И главное — почему именно сейчас?

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

Я раскажу про SLO не в общем, а от себя лично. Не через одну книжку. А через боль и бессонные ночи.

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

Читать далее

Как добавить AI-ревью и ответы ассистента в Pull Request всего за 30 минут

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

В этом материале я покажу, как всего за 30 минут встроить в ваш CI/CD пайплайн полноценное AI-кодревью и ассистента на базе открытого инструмента AI Review — без платных API и лишней инфраструктуры.

Читать далее

Задачи по алгоритмам: избавляемся от анаграмм

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

Задача с LeetCode.

Дан массив слов words. Слово содержит латинские буквы в нижнем регистре a-z. Проверить пары смежных слов (w_i, w_{i+1}) и удалить w_{i+1}, когда w_i и w_{i+1} - анаграммы.

Найдем группы смежных анаграмм и оставим в массиве первую строку каждой группы.

Читать далее

Как мы устроили Wi-Fi хакинг‑баттл для студентов IT-вуза: кейс необычного чемпионата по обучению wireless технологиям

Время на прочтение8 мин
Количество просмотров2.5K

Привет, Хабр! Меня зовут Алексей, и я занимаюсь беспроводными технологиями. В апреле этого года мне посчастливилось принять участие в организации образовательного мероприятия для студентов Томского государственного университета систем управления и радиоэлектроники. Мы смогли придумать новый формат, сочетающий программирование, спортивные соревнования на время, исследования в области безопасности, взлом, разработку, анализ, радиочастотное обследование и многое другое. Мероприятие получило название «Сетевая Wi-Fi битва» и включало в себя две активности: одну, связанную с захватом точек доступа; другую — с прохождением Wi-Fi лабиринта. О том, как проходило данное мероприятие, как мы смогли повторить его еще несколько раз, и к чему это привело и будет написано ниже.

Читать далее

Дэвид Л. Парнас «О критериях для разбиения систем на модули»

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

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

Читать далее

Java 25: упрощённые исходники

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

Язык Java развивается. Не так давно вышла очередная версия, в которой, помимо всего прочего, вышло любопытное обновление языка (JEP-512).

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

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

Читать далее

Пограничные случаи HTTP, которые должен понимать каждый разработчик API

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

В феврале прошлого года у интерфейса веб-серверов Rack, лежащего в основе практически каждого приложения Ruby on Rails, был обнаружен CVE-2024-26141. Уязвимость была простой: достаточно отправить запрос файла с сотней байтовых диапазонов, и Rack генерировал неожиданно большой ответ. Серверы продакшена можно было атаковать одиночными HTTP-запросами, пока у них не закончится ресурс памяти или канала.

Усугубляло ситуацию то, что баг затронул широкий диапазон версий: от 1.3.0 и выше; это означало, что уязвимыми оказались приложения, которые писали с 2011 года. Многие разработчики тратили все свои выходные на установку патчей.

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

Читать далее

Когда ERP умирает раньше, чем рождается: почему инфраструктура стареет ещё до запуска

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.2K

Каждый, кто хоть раз участвовал в крупном проекте автоматизации, знает это странное чувство — вроде всё делали по плану, а на выходе получается громоздкий, неуправляемый монстр. Почему современные ERP и CRM-системы часто не доживают до реального запуска в актуальном виде? Разберём, как инфраструктура стареет быстрее проекта, какие признаки указывают на надвигающуюся катастрофу, и что можно сделать, чтобы не повторять чужие ошибки.

Читать далее

Реализация DOM-подобных структур данных на C++

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

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

Ранее мы рассмотрели что такое DOM-подобные структуры данных и как оценить их поддержку языках программирования и препарировали JavaScript.

Сегодня мы проверим как с Card DOM справится С++.

Читать далее

Как я в одиночку спроектировал API-шлюз на FastAPI, который держит 200к+ запросов в сутки

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров21K

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

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

Статья будет полезна тем, кто работает с FastAPI, микросервисами и думает о надежности и масштабируемости своих систем.

Читать далее

Категории типов. Часть 4. Монады

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров4.1K

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

Читать далее

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

Kafka для начинающих: откуда такой спрос и зачем нужна эта технология

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

Почему REST API не всегда подходит для общения микросервисов?
Разбираем на примере интернет-магазина, как Kafka решает проблемы синхронной коммуникации, масштабирования и отказоустойчивости.

Простыми словами о топиках, партициях, consumer groups — для начинающих разработчиков.

Читать далее

Как одновременно заварить кофе для 10 000 сотрудников — и еще 7 неожиданных вопросов архитектору ПО

Время на прочтение6 мин
Количество просмотров9.4K

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

Привет, Хабр! Меня зовут Дмитрий Овчаренко, я технический директор департамента разработки для финансового сектора IBS, более десяти лет создаю сложные ИТ-решения для лидеров рынка, а также преподаю в Учебном центре IBS.

Недавно мы провели внутрикорпоративный эфир Ask Me Anything («Спроси меня о чем угодно»). Коллеги могли задать любой вопрос о работе архитектора ПО. В этой статье поделюсь самыми интересными и неожиданными из них.

Читать далее

VibeCode. Как не назови все равно полетит

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

Plain Text vs XML or Markdown: на чём писать промпты для ИИ‑кодера?

Структура - это новый язык общения с ИИ. Особенно когда дело касается кода.
Есть миф: чтобы попросить ИИ написать код, достаточно набросать запрос в чат «как есть». Plain text, без правил. Сработает? Иногда. Будет эффективно? Редко.
Почему ИИ «понимает» структурированный промпт (с тегами, отступами, чёткими блоками) лучше, чем простой текст?

Читать далее

[Алгоритмы, Задачки] Элегантно и идиоматично обходим двоичное дерево поиска на Python 3

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

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

Читать далее

Кластеры Patroni 4.0.7 и etcd 3.6.5 в docker-контейнерах

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

В статье рассматривается создание кластера Patroni последней версии 4.0.7 и etcd 3.6.5 в контейнерах docker. Приводится пример, когда Patroni не может автоматически восстановить и запустить кластер PostgreSQL. 

Patroni в докере

Задача запуска Patroni в докере обсуждалась на реддит и гитхаб. Приводился пример наиболее простой сборки batonogov/patroni-docker, которая состоит из 7 контейнеров: трёх с кластером etcd и трёх с PostgreSQL 17 под управлением Patroni (мастер и две реплики), один контейнер с HAProxy.

Читать далее

Всё что нужно и не нужно знать про заимствование в Rust

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

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

Сегодня я хочу поговорить о заимствованиях в Rust – теме, которая очевидно вводит многих в заблуждения но первых порах, но жизненно необходима для каждого, кто хочет писать на Rust. Мы с вами разберём, зачем Rust ввёл эту концепцию, как она работает под капотом, и какие нюансы следует знать, чтобы подружиться с borrow checker’ом, а не воевать с ним каждый раз при компиляции кода.

Читать далее

Раскрываем всю мощь динамических матриц GitHub Actions

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров1.9K

Сегодня мы с вами на практике разберем что такое динамические матрицы в Github Actions и как с их помощью экономить время и ресурсы на практике.

Я подготовил монорепозиторий с несколькими микросервисами url-shortener-demo с очень коротким флоу: feature_branch(через PR) →  main. Как понятно из названия это проект позволяющий генерировать короткие ссылки.

Читать далее