Обновить
18
0.1
Юрий Павлов@sparhawk

Ведущий разработчик Java

Отправить сообщение

YDB в мире Java: от нативного клиента до ORM’ов за 1 год

Время на прочтение6 мин
Охват и читатели10K

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

Меня зовут Кирилл Курдюков, в 2024 году я выступил в Питере на Joker — конференции для Java-разработчиков — с историей о том, как мы с командой делаем СУБД Яндекса удобной для джавистов.

Под катом статья, написанная по мотивам доклада. Это история о том, как маленькими шагами пройти путь от нативного клиента на Java до поддержки Hibernate, Liquibase, jOOQ и других популярных в мире Java-разработки решений.

Читать далее

9 причин работать медленнее, чтобы успевать больше

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

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

Читать далее

Смирись: ты ненормальный

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

Я встречал много людей, которым не нравится их работа. И когда я их спрашиваю, чем бы они занимались вместо, около 75% из них отвечают что‑то вроде: «Хммм, не знаю. Я бы хотел открыть свою небольшую кофейню!» Если в тот день я в хорошем настроении, я задаю им встречный вопрос: «Тогда где бы ты взял кофейные зерна?»

Если они не знают что ответить, то я задаю ещё пару наводящих вопросов:

Читать далее

Вы не знаете TDD

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

Кажется, про TDD давно всё известно: сперва тест — потом код — получаем покрытие. Но на деле его суть понимают неправильно — как критики, так и сторонники.

Эта статья — не инструкция и не религиозная проповедь. Это разбор заблуждений. Причём речь пойдёт не только о критиках TDD, но и о его сторонниках.

TDD часто воспринимают как способ добиться максимального покрытия или как дисциплину «писать тесты вперёд». Но настоящая цель — не в тестах, а в итеративном проектировании поведения и архитектуры.

Если вам кажется, что TDD — это занудно, медленно, не подходит к реальному коду или убивает гибкость — возможно, вы всё делали правильно.
Но с совершенно другими целями.
Именно поэтому вам не понравилось.

Разберёмся, что такое TDD на самом деле — и почему вы, скорее всего, не знаете TDD.

Читать далее

Работа над ошибками

Уровень сложностиПростой
Время на прочтение21 мин
Охват и читатели5.4K

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

Читать далее

Как делать большие изменения на бэкенде: доклады от спикеров из Wrike, Яндекс.Денег и Nexign

Время на прочтение1 мин
Охват и читатели4K
image

13 сентября в офисе Wrike прошел бэкенд-митап, посвященный глобальным изменениям в продукте. Поговорили о глобальном рефакторинге, смене методологии разработки на лету, унификации в проектах и микросервисах.

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

Как YDB изолирует OLTP и OLAP

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

Привет, Хабр! Меня зовут Олег Доронин, и мы с командой делаем СУБД Яндекса, которая называется YDB. Каждый транзакционный запрос к базе данных обычно работает с небольшим набором строк и быстро отрабатывает за единицы или десятки миллисекунд, но таких запросов каждую секунду поступает огромное количество. А вот аналитические запросы обычно выполняются не так часто, но каждый из них может требовать обработки вплоть до всех строк в одной или нескольких таблицах. Такие запросы могут выполняться секунды, минуты, или даже часы в зависимости от объёмов данных и сложности запрошенных вычислений.

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

Читать далее

PostgreSQL без боли и костылей: обзор ключевых расширений

Время на прочтение8 мин
Охват и читатели13K

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

Читать далее

Маленькое эссе о техдолге

Время на прочтение4 мин
Охват и читатели13K

Ко мне тут пришло одно уважаемое айтишное издание и попросило комментарий на тему технического долга. Как бы, сразу возникают два вопроса. Вопрос номер раз — им это зачем? И вопрос номер два — а я тут при чем? (есть люди, которые гораздо лучше в теме разбираются). Но как-то они сами не сказали. А я как-то не спросил…

Читать далее

Как превратить ноутбук в полноценное рабочее место не хуже стационарного ПК

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели36K

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

Читать далее

MDC в реактивном стеке: как не потерять контекст в Spring WebFlux и Kotlin Coroutines

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели5.8K

Всё больше Java-разработчиков переходят от приложений, использующих синхронный стек, к реактивным решениям на базе Spring WebFlux и Kotlin Coroutines. Такой переход позволяет строить более масштабируемые и устойчивые к высокой нагрузке системы, эффективно используя пул потоков и асинхронное выполнение задач. Однако вместе с преимуществами реактивного подхода появляется и новая неочевидная проблема — потеря MDC-контекста (Mapped Diagnostic Context), который традиционно используется для сквозной трассировки запросов в логах.

Читать далее

Где живут LLM: разбираем инференс-кластер YADRO и гоняем в нем модели

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

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

Читать далее

JEP 519: Компактные заголовки объектов — теперь официально

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели7.2K

Команда Spring АйО представляет одну немаловажную фичу Java 25: компактные заголовки объектов (Compact Object Headers). Это позволит JVM экономить память и ускоряться без вмешательства в код.

Читать далее

Angie 1.10: разбор фич, планы на 1.11

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели6.3K

Следуя устоявшемуся квартальному ритму выпуска значимых релизов, мы выпустили стабильные версии Angie и Angie PRO 1.10 — форка nginx, развиваемого в основном бывшими ключевыми разработчиками оригинального проекта.

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

А пока — краткий список нововведений, которые будут разобраны ниже:

— автоматическое проксирование и балансировка веб-сервисов в Docker-контейнерах (или Podman);
— автоматическое получение TLS-сертификатов для потокового модуля (stream);
— прием соединений Multipath TCP (MPTCP);
— контроль перегрузки CUBIC в QUIC-соединениях;
— привязка сессий с внешним хранилищем в модуле stream;
— новые режимы привязки сессий при проксировании HTTP-запросов;
— режим постоянного перехода на резервную группу в модуле stream.

Читать далее

OpenCV. Начало

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели24K

В прошедшем июне исполнилось 25 лет первому релизу OpenCV. Господи, как летит время! Кажется, только вчера мы писали первые строчки. А уже четверть века с тех пор прошло. Самое время вспомнить, как все начиналось. Я не ставил себе целью рассказать в этой статье полную историю OpenCV — есть замечательная книга Гари, отличная статья в интеловом блоге и много других материалов. А у меня — скорее взгляд изнутри на то, как зарождался де-факто стандарт компьютерного зрения, размышления о причудливых развилках пути и факторе везения в технологии и дань уважения людям, с которыми мне довелось поработать.

Читать далее

Сервер, который не хотел жить

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

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

На связи сервисная команда «Инфосистемы Джет». Сегодня хотим рассказать про один из технических кейсов. На его решение должна была уйти пара часов. Вместо этого он съел четыре дня нашей жизни. Спустя почти десяток лет он регулярно вспоминается в обсуждениях за обедом как один из непростых в диагностике. На днях обсуждали его — почему бы теперь не рассказать о нем вам? :) Приступим.

Читать далее

Про архитектуру приложений для тех, кому мало Чистой архитектуры

Уровень сложностиСложный
Время на прочтение19 мин
Охват и читатели12K

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

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

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

Раньше мы в 3 частях [1, 2, 3] пробежались по основным идеям архитектуры систем. Поэтому, если вы ищете информацию по System Design, микросервисам и топологии команд, то вам туда. Эта же статья про архитектуру внутри кодовой базы: она посвящена концепциям программирования, влияющим на структуру приложения, поэтому описывает не только архитектурные подходы, но и иные идеи, оставляющие на дизайне свой отпечаток.

Читать далее

Вредные советы Java: просто используй Parallel Stream

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

Stream'ы в java явление давно не новое. Старая добрая Java 8 появилась на свет более 10 лет назад. С появлением Stream API жизнь стала проще и веселее. Но есть в Stream API два гадких утёнка: Stream#close и Stream#parallel.

С первым все достаточное просто — если не уверен в источнике откуда берется Stream — то он может быть вполне себе ресурсом и требовать try‑with‑resources (привет java.nio.file.Files#list). Cо вторым куда веселее...

Читать далее

Как я стал быстрее переключаться между задачами

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

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

Приятного просмотра

IT-рынок в 2025 году: тренды и вызовы. Как искать работу в текущих реалиях?

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели8.8K

Привет, хаборовцы! 👋

Меня зовут Никита, я отвечаю за подбор IT-специалистов и выстраивание эффективных процессов найма в компании Домклик. Поделюсь с вами сегодня своим экспертным мнением на тему того, что происходит на рынке IT. Вопросов, на самом деле, довольно таки много, правила игра меняются просто по щелчку пальца. А что поделать, 2025 год, он такой. Тут нужно уметь выкручиваться и быстро адаптироваться под новые условия =)

Давайте начнем разбираться, расскажу обо всем по порядку...

Читать далее

Информация

В рейтинге
4 413-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность