Начинающим разработчикам строки обычно кажутся едва ли не самым простым, что есть в языке программирования. Возможно, причина в том, что знакомство с новым языком зачастую начинается с вывода на экран строки Hello, world!.«Это же просто набор символов, заключённый в кавычки!» — обычно
Привет! Меня зовут Алина Бабенко, я тимлид команды Auction Efficiency в Авито. Под моим руководством 12 DS, и мы отвечаем за то, чтобы в поиске и рекомендациях Авито корректно учитывались разные целевые действия продавцов — клики, сделки, звонки. Этой зимой я, как менеджер, провела четвёртый цикл перформанс ревью и решила рассказать, как устроен этот процесс. Статья будет интересна DS и ML-инженерам, а также DS-менеджерам и лидам. Читать далее
Electrical Projects [CreativeLab]В прошлой статье мы ознакомились с одним из самых интересных, по моему мнению, роботов последних лет, на которого выложены исходники — двухколёсным и двуногим одновременно роботом. Как мы там увидели, нет ничего невозможного, и, в принципе, подобный робот…
Coroutine, Fiber, Virtual thread - это всё одно и то же?Или нет ?Или нет.А если под капотом всё равно JVM, почему нельзя просто везде включить virtual threads и успокоиться? Разберемся! Coroutine, Fiber, Virtual Thread ???
Инфраструктура API SpeShu.AI обновилась. Для бизнеса с ИИ-агентами и чат-ботами это означает, что одни и те же задачи теперь стоят в десятки раз дешевле без каких-либо изменений в коде. Читать далее
Три месяца назад я начал делать NextDNS-clone для Европы. Рекурсивный DNS с фильтрацией рекламы, трекеров и malware. Первый день: открываю Unbound, читаю man, всё понятно. К вечеру понимаю, что не подходит. Через неделю пишу свой резолвер на Go и вспоминаю поговорку про человека, который решил…
Самой важной частью шахматной программы, которая вносит основной вклад в силу игры, является направленный перебор. А самой главной частью направленного перебора являются отсечения и сокращения наиболее неперспективных ходов. Отбрасывая наименее важные ветви, программа…
Запутались в многоэтажных SQL‑запросах? Обобщённые табличные выражения (CTE) — тот инструмент, который превращает лапшу из JOIN и подзапросов в читаемый, модульный код. Разберем на реальных примерах из FinTech и e‑commerce, как разбивать сложную логику на цепочку простых шагов, использовать CTE в UPDATE/DELETE, строить рекурсии для иерархий и избегать ловушек оптимизатора в PostgreSQL. Разобраться с CTE
Стек: prisma-generator-express + prisma-guard: генерация CRUD-роутера, валидация ввода, ограничение формы запроса и изоляция тенантов. Подход я для себя называю shape-as-boundary: форма запроса становится исполняемой границей доступа.В примерах ниже - сайт аренды/продажи недвижимости. Реальный проект был другим, кадровой платформой, но я перевожу примеры на недвижимость, чтобы не добавлять лишний контекст. Читать далее
Наверное многие из вас помнят шахматные состязания людей против компьютеров, которые проводились еще относительно недавно. Обычная картина для того времени - на сцене, за шахматным столом, под светом софитов и вспышками фотокамер в своих креслах расположились два человека.…