Как стать автором
Поиск
Написать публикацию
Обновить
1147.24

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

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

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

Мой опыт работы с MWS Tables: взгляд бренд-аналитика на новый low-code-инструмент

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

Привет, Хабр! Меня зовут Маша, я бренд-аналитик, провожу разные исследования, а в перерывах пишу на Хабр. Коллеги из команды спецпроектов попросили меня протестировать на моих реальных задачах MWS Tables и сравнить со своими привычными сервисами. Я проверила его для проведения опросов, обработки данных и отслеживания задач на канбан-доске — и готова поделиться впечатлениями.

Читать далее

Путешествие в мир функционального программирования: как я провела курс студентам

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

Привет! Меня зовут Ксюша, я работаю бэкенд-разработчиком на C# в Контуре. В весеннем семестре я провела курс по функциональному программированию на Haskell для студентов 3 и 4 курса направления ФИИТ (фундаментальная информатика и информационные технологии) в УрФУ и хочу поделиться своим опытом организации и проведения курса.   

Читать далее

Программированию все возрасты покорны: Любовь Яковлевна и другие бабушки в ИТ

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

Многие до сих пор воспринимают IT-индустрию как пространство для молодых: стартапы, хакатоны, agile-команды и шумные open space. В голове автоматически возникает образ 20–30-летнего разработчика в худи. А если добавить, что речь о программировании на 1С, — так вообще большинство подумает о крепком мужчине предпенсионного возраста с двадцатью годами стажа в одной системе.

Но бывают исключения, которые ломают шаблоны. И об одном таком исключении я расскажу сегодня.

Читать далее

Паттерн Спецификация: реальный опыт применения

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

Четыре года назад на собеседовании я услышал от интервьюера о том, как замечательно паттерн Спецификация помогает справиться с проблемой разрастания репозитория. Я думаю, многие с этим сталкивались, когда количество методов типа getByThisAndThat(…) улетает за десяток, а то и за несколько десятков, и репозиторием становится пользоваться неудобно.

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

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

Читать далее

MemHawk — профилировщик памяти для многопоточных приложений

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

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

Большинство популярных профилировщиков памяти либо дают неточную информацию (sampling), либо значительно замедляют выполнение (Valgrind, heaptrack). При этом в многопоточной среде они плохо масштабируются и требуют сложной настройки.

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

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

Спойлер - удалось ускориться по отношению к heaptrack в 30 раз.

Читать далее

Как выжить новому языку программирования?

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

Любой программный продукт, язык - не исключение - должен иметь чёткую причину для существования. Просто быть "ещё одним способом выразить алгоритм" уже недостаточно. На насыщенном рынке языков программирования (ЯП) успеха достигают те, у кого есть понятный маркетинговый аргумент для выбора - будь то особенности самого языка, убойные примеры применения (killer apps) или области применения (killer domain), в которой язык особенно силён.

Читать далее

Как научить нейросеть работать руками: создание полноценного ИИ-агента с MCP и LangGraph за час

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

Надоели чат‑боты, которые только болтают? Создаём настоящего ИИ‑помощника: читает файлы, ищет в сети, запоминает всё. LangGraph + MCP — пошаговый гайд для Python‑разработчиков. Меньше теории, больше работающего кода.

— Два готовых агента: классификатор вакансий + файловый помощник
— Поддержка Ollama, OpenAI, DeepSeek — выбирайте любую модель
— Асинхронная архитектура с обработкой ошибок
— Полная интеграция в Python‑проекты без no‑code конструкторов
— Код готов к продакшену: логирование, retry‑механизмы, конфигурация

От настройки окружения до рабочего агента за час.

Читать далее

Vibe Coding: Заглянем под капот Claude Code. Часть 2

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

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

Читать далее

Grok 4 — самая умная модель? Обзор новой нейросети от Илона Маска

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

В июле этого года Илон Маск и команда xAI выпустили Grok 4 — свою новую «самую умную модель в мире».

Компания называет Grok 4 флагманской моделью с «непревзойденной производительностью в языке, математике и рассуждениях». По словам Маска, 4-я версия разумнее, чем учёные в степени кандидата наук: «Многие обладатели PhD завалились бы там, где Grok справился».

В этом обзоре — всё об особенностях Grok 4, его характеристики и рекорды в бенчмарках, а также информация, где воспользоваться моделью.

Читать далее

Найм в IT мёртв, а я ещё нет…

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

На Хабре констатируют смерть найма в ИТ. Тревожные новости для всех быстро‑курсов «Хренак и ты в ИТ за 2 дня без регистрации и смс».

Когда ты HR в ИТ‑компании и читаешь статью с таким тревожным заголовком, первое, что приходит в голову: ещё один разочарованный соискатель излил душу.

Но будем честны, рынок труда действительно изменился в 2025 году и для соискателей, и для работодателей. И об этом хочется сказать несколько слов.

Войти в АйТи

Будущее JavaScript: что нас ждет

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

Недавно прошла 108-я встреча TC39, на которой было продвинуто 9 предложений на разные стадии стандартизации — от сырых идей (Стадия 0) до полностью утвержденных возможностей (Стадия 4).

Ниже краткий обзор этих предложений и того, что они могут привнести в JavaScript.

Читать далее

Как использовать AI-агент Claude Code: советы опытного разработчика

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

Я больше года использовал Cursor. Подробно изучил все его возможности и лучшие практики работы с инструментами и... отказался от всего этого в пользу Claude Code.

Уже несколько недель я полностью работаю в Claude Code вместо Cursor. И, честно говоря, возвращаться совсем не хочется. В этой статье я расскажу, как использую Claude Code и поделюсь своими советами по его максимальному использованию.

Читать далее

Комментарии vs. самодокументируемый код: что выбрать?

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

Если вы когда-либо сталкивались с чужим кодом (или даже со своим, написанным полгода назад), то знаете, как сложно бывает понять, что именно делает тот или иной фрагмент. В такие моменты особенно остро ощущается потребность в пояснениях. Но какие есть способы, помогающие сделать код понятным?

Разберемся вместе.

Читать далее

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

Фича ради фичи: как потерять продукт, продолжая его улучшать

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

- А давайте добавим ещё фильтр…
- Хорошо бы выгрузку в Excel
- Вот бы ещё график и пуши — красиво же будет!

Проект набирает скорость. Только вот в каком направлении?

Читать далее

lateinit вместо nullable: пять ошибок

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

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

Сегодня разберёмся, почему попытка «избавиться от ? любой ценой» приводит к проблемам, и как жить с этим вообще жить.

Читать далее

Долгий путь к ResizeObserver

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

Привет, Хабр! Меня зовут Анна, я JS-разработчик в компании SimbirSoft и занимаюсь разработкой веб-приложений на React. Эту статью я посвящаю тем, кто занимается разработкой, сталкивается с нестандартными задачами и переживает, что нашу профессию может вскоре заменить искусственный интеллект (ИИ). Я поделюсь решением задачи, связанной с динамическими размерами блока, — проблемой, с которой наверняка может столкнуться в своей работе любой frontend-разработчик.

Почему же я назвала статью именно «Долгий путь к ResizeObserver»?

Возможно, я и слышала раньше про этот API, но когда передо мной встала конкретная задача (описанная ниже), я о нем даже не вспомнила. Мне пришлось пробовать сначала одно решение, потом другое — и лишь в третью очередь я пришла к нужному инструменту. Таков мой путь — из трех шагов. Я человек, поэтому могу честно рассказать, как именно искала решения, в отличие от ИИ. Надеюсь, моя статья поможет вам быстро и эффективно справиться с похожей задачей, а заодно придаст уверенности в собственных силах. Я убеждена: ответы на вопросы находятся не только в нашей голове, но и в окружающем мире, а человек, в отличие от ИИ, способен чувствовать, искать и находить их самым неожиданным для себя образом.

Читать далее

Самый обобщённый живучий алгоритм

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

Путь от костылей к универсальному живучему алгоритму

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

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

Пропустить обложку через вентилятор

REST API в облаке: пошаговый гайд на Java + Spring

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

Представьте, что у вас есть бэкенд-приложение с REST API и вы хотите обращаться к нему не только с локальной машины, но и из интернета — через браузер, Postman, фронтенд или мобильное приложение. Для этого можно настраивать маршрутизацию, туннелирование, искать белый IP — или просто задеплоить приложение в облако. Под катом — пошаговая инструкция, в которой развернем Java-приложение на облачном сервере и пошагово пройдем весь процесс — от сборки до запуска и обращения к API извне.

Изучить инструкцию

Статический анализ Pull Request'ов — ещё один шаг к регулярности

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

Хотите, чтобы статический анализ работал не только на ваших локальных машинах, но и прямо в Pull Request'ах? Чтобы баги ловились до попадания в главную ветку, а не после? В этой статье покажем, как это сделать на конкретном примере пайплайна в GitHub Actions.

Читать далее

Akka.NET: зачем нужны акторы

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

Привет, Хабр. Это снова Алексей Деев, backend программист в компании Avanpost. Сейчас я хочу предложить вам отойти немного от написания кода и погрузиться в теорию: рассмотрим архитектуру Akka.net и проблемы, которые акторы помогут нам решить. Перед прочтением советую хотя бы бегло прочитать статью Введение в Akka.NET], чтобы иметь базовое представление о модели акторов в целом. Эту статью я не позиционирую как часть цикла, скорее, это небольшой спин-офф к основному сюжету.

Читать далее

Вклад авторов