Когда инженер становится тимлидом, он быстро обнаруживает: самые сложные задачи лежат не в коде, а во взаимодействии с людьми. Разобраться с дедлоком в проде проще, чем спокойно обсудить с разработчиком упавшее качество, сорванные сроки или поведение, которое влияет на команду. Почти все понимают, что такие разговоры нужны, но немногие начинающие тимлиды уверенно их проводят. В материале разберем практичный фреймворк, который помогает превратить эмоционально заряжанные беседы в управляемый процесс — без потери доверия и с опорой на инженерную логику.
Разобрать подходПри работе нескольких независимых процессов использующих общие ресурсы, возникает задача синхронизации доступа. Ресурсом может выступать как файл или строчка в файле, так и доступ к железу или же ожидание завершения вычисления в параллельном процессе. Для реализации синхронизации между процессами необходимо иметь возможность межпотокового обмена данными.
В OORexx для реализации многопоточной работы есть инструкции «guard» и «reply». Но они относятся к работе в рамках одного процесса. Для синхронизации работы разных процессов можно использовать семафоры и внешние очереди (каналы). Вот о них мы и поговорим.
Читать далееХочу рассказать о магии построения Dream Team: как у меня получилось это сделать на текущем проекте.
Это полезно, потому что я могу спокойно уходить в отпуск, где меня не дергают, не держать все время руку на пульсе (не проверять чаты и почту). А при выходе из отпуска могу спокойно встроиться обратно в работу и не тушить пожары, которые возникли во время моего отпуска (потому что они не возникают). Кайф, не правда ли?
Моя статья в какой-то мере универсальна — описанные инструменты подойдут для любой команды. Возможно, даже руководители проектов возьмут себе что-то на вооружение.
Узнать, как вырастить дрим-тимЕсли когда-нибудь у вас в руках было электромагнитное реле, то вы знаете этот приятный щелчок, когда оно срабатывает. За этим звуком — целая эпоха.
Задолго до того как умный чайник получил Wi-Fi, а на заводах развернули первые SCADA, инженеры XX века строили умные системы на реле, шаговых искателях и Булевой алгебре.
Без микропроцессоров, без языков верхнего уровня, без OTA-обновлений. Только электромеханика.
Щёлк-щёлк и ехали поезда, крутились турбины, говорили абоненты. Давайте посмотрим, какой была автоматизация до появления ПЛК. И оценим вклад в историю прогресса одной из ключевых промышленных технологий - релейной автоматики.
Читать далееВ статье рассказываем о подходе к построению DWH на базе единой инфраструктуры данных (Unified Data Infrastructure), разработанной Andreessen Horowitz.
Разбираемся, почему модель a16z полезна в быстрорастущих компаниях или тех, кто переходит к data-driven управлению.
Читать далееМы продолжаем нашу серию статей, посвящённых фундаментальным концепциям разработки. Сегодня мы поговорим о проверенных практиках, которые помогают разработчикам избегать распространённых ошибок и работать эффективнее. Мы разберём принципы SOLID, а также парадигмы YAGNI, DRY и KISS, которые особенно актуальны в объектно-ориентированном программировании.
Читать далееРаспределенные системы (aka микросервисы) набрали популярность и применяются все шире в современных реалиях. Сервисов становится больше, привычные задачи для них решаются сложнее, усложнились и вопросы аутентификации и контроля доступа.
В статье рассмотрим различные подходы использования API Gateway как части более общего API security-решения в контексте его работы с токенами доступа, выделяя преимущества, недостатки и связанные с ними вопросы безопасности. Также разберем, почему нужно ограничивать область действия access token и может ли API Gateway помочь и в данном вопросе.
Статья написана на основе материала, с которым выступал на PHDays 2025 и CodeFest 15.
Читать далееДавайте продолжим обсуждение самой неоптимизированной в мире 32-битной библиотеки для работы с плавающей запятой TinyFloat. Библиотека написана на C++ и намеренно избегает встроенных типов плавающей запятой, полагаясь исключительно на 32-битные целые числа. Цель состоит в том, чтобы сделать код максимально читабельным — без бит-хаков и хитроумных уловок.
Кроме того, я хочу иметь подробную документацию о том, что происходит «под капотом». Оказалось, что лучший способ документировать код C++ — это полностью переписать его на Python :-)
Тема на сегодня - как работает сложение чисел с плавающей точкой и соответствующие подводные камни. Это третья статья из цикла, первые две читать тут и тут.
Читать далееВсем привет!
Сейчас я работаю Senior Java Developer в одном из банков, и за последние годы мне довелось пройти множество собеседований, столкнуться с десятками непростых вопросов и вложить кучу времени в подготовку. И со временем я заметил одну закономерность: Spring — одна из самых объёмных и любимых тем на Java‑собеседованиях, причём спрашивают её у кандидатов любого уровня.
Поэтому в этой статье я хочу помочь вам уверенно подготовиться к вопросам по Spring, также покажу примеры задач, которые дают на собеседованиях. Поехали!
Читать далееВсем привет!
Не так давно вышла статья о том, как @misterzsm нанял джуна в свой open source проект. Я и есть тот самый джун Рома (на самом деле я Рамазан).
В этой статье я бы хотел рассказать вам эту же историю, но со своей стороны. В частности, расскажу вам немного о своём бэкграунде, о том, почему я решил согласиться на это предложение, а также отвечу на некоторые комментарии из статьи Валика.
Читать далееВладельцам PlayStation в России пришлось привыкнуть к новому порядку. Раньше покупки в PS Store были делом пары минут — выбрал игру, оплатил картой и скачал. После 2022 года все усложнилось: магазин перестал принимать российские карты, часть игр исчезла из локального каталога, а официальная поддержка региона фактически прекратилась.
Но сама платформа жива: консоли продаются, обновления выходят, сетевые функции работают. И самое главное — игры все еще можно покупать. Просто теперь это делается чуть иначе.
Читать далееЯ нисколько не сомневаюсь, что системы ИИ (от ассистентов по кодированию до каркасных ИИ-систем) сегодня становятся незаменимым помощником разработчика и кардинально меняют рабочие процессы, выдавая на-гора функции, исправляя синтаксис и даже предлагая шаблоны проектирования в мгновение ока.
Но…
Читать далееПривет, Хабр! Меня зовут Валерий Пташкин, я руководитель направления в трайбе «Потребительское Кредитование» в Сбере. Статью я подготовил вместе с моими коллегами — Кириллом Макаровым и Евгением Беляевым.
Наш продукт отвечает за хранение клиентских заявок на потребительские кредиты, заявок кредитного потенциала, автокредитов, ипотечного кредитования и так далее. И в этом году мы перевели работу нашего модуля хранения с Oracle на СУБД Pangolin (сборка PostgreSQL с доработками от СберТеха).
При переезде у нас было несколько критичных требований к СУБД: способность держать достаточно высокую нагрузку (4 тысячи запросов в секунду), при этом иметь время отклика не более 100 мс для 99 % запросов, и обеспечивать максимально высокую доступность нашего сервиса как системы уровня mission critical.
В этой статье мы расскажем про состояние нашей инфраструктуры, этапы миграции, и коснёмся возможных нюансов и потенциальных рисков. Это будет полезно тем, кто тоже планирует переезд на СУБД Pangolin или другой форк PostgreSQL. Уверен, многие рекомендации будут полезны и пользователям стандартного PostgreSQL. Итак, начнём.
Читать далееС 2007 года я занимаюсь SEO и развиваю собственное рекламное агентство. Последние 9 месяцев плотно погрузился в исследование нейросетей как источника трафика, и мы с командой запустили отдельное направление GEO и AEO-продвижения. Такое решение продиктовано двумя причинами:
Читать далее
Я знаю, это будет звучать громко и самонадеянно, но все-таки я это скажу: мне кажется, я нашел ключик к проблеме объяснения и конструирования мышления. Нет, это еще не решение всей проблемы, но многообещающая возможность к нему приблизиться. Полгода назад у меня возникла идея, что в основе феномена мышления (даже у «низкоразвитых» животных вроде крабов или мышей) может лежать оперирование особого класса описательной языкоподобной структурой. Я попытался развить этот подход и обнаружил, что он как будто бы позволяет сформулировать много важных философских проблем о мышлении в виде точных математических вопросов. С тех пор мне удалось продвинутся в решении некоторых из них и получить несколько интересных, на мой взгляд, результатов на стыке логики и психологии. Я собираюсь написать серию статей, чтобы поделиться своими находками и привлечь энтузиастов вместе исследовать возможности, которые они открывают. Перед вами первая статья из этой серии.
Познакомиться с исследованиемПривет, Хабр!
Calico, Kolla, Reconciler — это названия технологических сервисов или имена героев аниме? Проверьте свою интуицию и знания в нашем новом тесте, который мы разработали в Хабре вместе с Рунити!
Мы собрали различные популярные и двусмысленные термины, чтобы выяснить, насколько хорошо вы чувствуете границу между IT-технологиями и поп-культурой. Готовы к вызову? Вперед!
Читать далееДоброго дня, всем любителям математики! Представляю вашему вниманию еще три интересные, на мой взгляд, логические задачи. Первая часть находится здесь. Спасибо всем, кто участвовал в обсуждениях и находил неточности! Итак,
Путник взбирается на высокую гору по тропе как по серпантину. На это ему необходим весь день с утра до вечера, с учетом времени на отдых и перекусы. На вершине горы находится жилище. Путник, добравшись до него, проводит в нем ночь и на следующий день с утра отправляется в обратный путь. Он также шел до вечера. Вопрос – есть ли на этом пути точка, в которой путник находился в одно и то же время дня когда поднимался и когда спускался обратно?
Наложим график функции зависимости координаты путника от времени дня в первый и второй день. Эти графики пересекутся в искомой точке.
Читать далееКоманда Spring АйО подготовила перевод статьи о том, почему архитектурный долг — это гораздо больше, чем кривой код или устаревшие паттерны. Автор показывает, как ошибки на уровнях приложений, бизнеса и стратегии усиливают друг друга и превращаются в системные риски.
Читать далееПривет! Меня зовут Маша Иванова, я старший аналитик монетизации в Авито. В статье расскажу, как несовершенство процесса логирования приводит к ошибкам в данных, как это влияет на достоверность аналитики и что мы разработали, чтобы предотвратить такие проблемы. Материал будет интересен аналитикам, QA-инженерам и разработчикам.
Читать далееСобрал обзор 10 планировщиков задач — для командной работы и для личной продуктивности. Кратко объясняю, как устроено планирование в каждом сервисе, какие фичи действительно полезны и кому что подойдёт.
Читать обзор