Новости информационных технологий

TL;DR. Один foo.GetAsync().Result внутри middleware превращает ASP.NET Core, державший 50k RPS на p99 = 40 мс, в сервис на 12k RPS с p99 = 4 с при CPU 8 %. Виноват не блокирующий вызов сам по себе. Виноват hill-climbing: фидбэк-луп в ThreadPool, внутри которого живёт дискретное преобразование Фурье. Разбираемся по исходникам CoreCLR, как это работает, воспроизводим эффект на ~80 строках кода и показываем, почему SetMinThreads это не лечение, а анестезия.

Пролог: «у нас CPU 8 %, почему всё тормозит?»

Читать полностью »

Когда я начал поднимать PostgreSQL через Docker для своих проектов, всё выглядело просто: описал сервис в docker-compose.yml, запустил контейнер - база доступна.

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

Читать полностью »

Для пользователей, которые читают это на Хабре

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

Сам справочник был сделан @jsAnotherSec(Телеграм: @jsAnotherPlayer) для бесплатного прочтения. Если вы заметили его в платном доступе, прошу сообщить.

Что такое OpSec?

OpSec (Операционная БезопасностьЧитать полностью »

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

Я собрал обзор инструментов, которые помогают визуализировать задачи и связи между ними. Смотрел в первую очередь на официальную документацию и страницы продуктов: Jira, Яндекс Трекер, Asana, Linear, Azure DevOps, YouTrack, ClickUp, monday.com, а также приложения из Atlassian Marketplace.

Читать полностью »

В прошлом году одна из наиболее оживлённых дискуссий в моём блоге (116 комментариев) развернулась под статьёй о ложном вакуумеЧитать полностью »

Полтора года назад я работал в B2C-продукте с командой около 150 человек. Маркетинг хотел запускать промо на сайте: баннеры, акции, сезонные кампании. Простая задача, на которую у нас ушло два с половиной года и шесть разных решений.

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

Читать полностью »

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

Зачем бизнесу приложения для Битрикс24

Приложения для Битрикс24 хороши для бизнеса тем, что упрощают решение Читать полностью »

Всем привет! Меня зовут Александр, я техлид в продуктовой компании.

Недавно один хороший знакомый набирал команду в стартап. Он приверженец подхода AI first и попросил меня помочь с наймом.

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

Читать полностью »

Знаете, какой вопрос математикам и популяризаторам науки задают чаще всего? Нет, это не просьба на пальцах объяснить теорему Пуанкаре или устройство квантового компьютера. Взрослые, состоявшиеся люди и даже журналисты с серьезным видом просят растолковать совершенно базовые вещи: например, почему Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js