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

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

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

Верните непрерывную интеграцию разработчикам

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

Все знают аббревиатуру CI/CD. Continuous Integration and Continuous Delivery - Непрерывная интеграция и Непрерывная поставка. Но едва ли можно найти более неправильно понимаемую нашей индустрией идею, чем непрерывная интеграция. Практика, которая была придумана, чтобы её делали разработчики, почему-то превратилась в объект работы девопсов, хотя к культуре DevOps ну вообще никакого отношения, по идее, иметь не должна.

Так что вот вам статья про то, как так вышло, что сейчас под CI понимают что угодно, кроме того, чем она, на самом деле, является.

Читать далее

Чем различаются ОС IBM мейнфрейм и ОС х86

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

Это статья в формате вольного пересказа более чем сорокалетнего периода работы с разными ОС, главным образом с ОС мейнфрейм, и размышлениями об их сходстве и различиях (в большей степени о различиях, конечно).

Многие популярные ОС выполняются на серверах (речь в статье пойдет исключительно про серверные ОС) х86 (Intel, AMD). Это Линукс разных мастей и названий, и Windows. В силу уклона российского образования в сторону инфраструктур на основе х86 у многих айтишников есть твердое убеждение, что то, как написаны известные ОС, это единственный вариант, как ОС и могут быть написаны. Попытки писать свою, российскую, ОС сводятся к написанию очередного Линукса.

Но есть и другие, современные ОС, выполняющиеся не на х86 платформе. Это одна из ОС IBM мейнфрейм (МФ), называемая z/OS. IBM МФ — тоже весьма современная техническая платформа. В апреле этого года IBM анонсировали новое поколение z17, т. е. семнадцатое поколение, начавшее свою историю в далеком 1964 году.

Читать далее

Сжатие текста в Angie: статика, динамика, производительность

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

Сжатие текстовых ресурсов — это базовая мера оптимизации скорости загрузки веб‑приложений. Действительно, текста в вебе много: HTML, CSS, JS, JSON, SVG и не только. Казалось бы, тема простая: включили gzip, добавили типы контента для сжатия и всё готово. Однако, как всегда самое интересное в деталях. Разберёмся во всём подробно.

Читать далее

Шаг за шагом проектируем сокращатель ссылок

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

В этой статье я хочу показать, что из себя представляет System Design. На примере простого и очень популярного на собеседованиях сервиса «Сокращатель ссылок», мы рассмотрим стадии System Design и в конце у нас будет готова схема системы со всеми расчетами.

Вперед!

От React всё так же веет безумием, но все об этом молчат

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

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

Так что вот она полноценная статья, ещё больше той, из которой она родилась. Здесь я подробно опишу все проблемы React и поясню, почему это может не быть виной разработчиков.

Читать далее

CRDT: Conflict-free Replicated Data Types

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

Как считать хиты страницы google.com? А как хранить счётчик лайков очень популярных пользователей? В этой статье предлагается рассмотреть решение этих задач с помощью CRDT (Conflict-free Replicated Data Types, что по-русски переводится примерно как Бесконфликтные реплицированные типы данных), а в более общем случае — задачи синхронизации реплик в распределённой системе с несколькими ведущими узлами.
Читать дальше →

Подготовка к техническому собеседованию Senior/Team Lead backend

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

Недавно появились мысли походить на собеседования чем я успешно занялся. Если конкретно - смотрел лидовскую/сеньерскую позиции на Python и Golang(но статья может пригодиться backend разработчикам в целом). Не ставлю целью статьи объять все не объятное и дать какие-то гарантии. Я лишь зафиксирую данные для себя на будущее.

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

Сразу сделаю пометку, что некоторые навыки/ресурсы специфичны(по типу нарешивания Leetcode), но отталкиваемся от текущих реалий рынка.

Читать далее

Собеседование Backend-Java-разработчика: вопросы и где искать ответы. Часть 2

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

Публикую продолжение сборника вопросов-ответов с собеседований на Backend-Java-разработчика. В первой части мы прошлись по Java и Spring. А в этой поговрим о Hibernate, базах данных, паттернах и практиках разработки, об одной популярной библиотеке, поддержке и сопровождении наших приложений, а также посмотрим на альтернативные шпаргалки и подведём итоги.

Потопали

10 треков, которые обязательно стоит запустить для проверки акустики

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

Салют, Хабр!

Я Артур, CPO умных колонок Sber. Я отвечаю за создание наших умных колонок, в том числе за предмет этой статьи — их звучание.

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

Чтобы оценить аудиосистему, нужны музыкальные треки, которые раскроют весь её потенциал и способность передавать разные аспекты музыки. Собрали 10 треков, которые используем в работе, оценивая любые колонки. Рассказываем, как проверяют звучание устройств и как мы тестируем его при разработке умных колонок; делимся плейлистом для проверки, насколько совершенно ваше аудиоустройство.    

Читать далее

Гайд на полиморфизм. Что там под капотом?

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

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

Читать далее

System Design: Чек-лист по сбору и фиксации требований на все случае жизни

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

Если на собеседовании по System Design не уделить внимание требованиям, это почти гарантированно приведёт к провалу — даже если ваше техническое решение идеально. Игнорирование требований — главная причина провала на собеседовании. Уделите этому 5-10 минут, и ваше решение сразу станет в разы сильнее. Расскажем, как собрать и зафиксировать требования чтобы повысить свои шансы при прохождении собеседования в IT-компанию.

Читать далее

Как работает ingress-nginx: нырнем еще глубже. Часть 2 — балансировка

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

В первой части мы разобрались с принципами работы Ingress-nginx контроллера. Теперь пришло время углубиться в то, как в Ingress-nginx устроен механизм обновления бэкендов и как реализована балансировка нагрузки на примере sticky sessions. Готовы узнать больше? Поехали!

Напомню, если вдруг забыли, эта статья написана по мотивам выступления на DevOpsConf’25, а меня зовут Алексей Колосков, я Lead DevOps из Hilbert Team.

Итак, рассмотрим, как реализовано обновление бэкендов в самом контроллере.

Читать далее

Карьерный рост из senior: кто такой staff-инженер?

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

Привет! Меня зовут Дима Салахутдинов, я principal-инженер в Купере и автор tg-канала «Стафф-инженер». У нас в компании это один из грейдов технической ветки развития инженеров, которую мы обобщенно именуем «Staff-инженер».

Цель статьи — сформировать у senior-разработчика общее представление о роли стафф-инженера, как об одном из направлений карьерного роста. А также дать практические советы, что прокачивать, на случай, если описанные трудности вас не отпугивают.

Статья будет состоять из двух частей, в этой части разберем, чем занимаются стафф-инженеры, и что вас ожидает в этой роли. Приступим!

Читать далее

Почему мы все еще храним код в текстовых файлах?

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

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

Читать далее

Радиолокационный радар — менее чем за 400 рублей: на базе esp32 и wi-fi

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


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

Если не приходило, то добро пожаловать под кат, так как кое-кому это пришло:-))
Читать дальше →

Разгоняем Go TLS до 100 Gbps с сервера: опыт Kinescope

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

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

Мы в Kinescope — те, кто эту магию делает. Видео, которое вы смотрите в интернете, вполне может идти через нашу инфраструктуру — пусть даже вы об этом не знаете. Под капотом у нас: высоконагруженные сервисы, сотни тысяч RPS, терабиты трафика и собственные технологии, написанные на Go.

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

Привет, Хабр! Меня зовут Кирилл Шваков. В Kinescope мы разрабатываем B2B-решение для хранения, обработки, защиты и доставки видео через CDN. Среди наших клиентов — как небольшие стартапы, так и крупные компании. Помимо CDN, у нас, само собой, есть и собственный DNS. А главное, множество инфраструктурных самописных компонентов на Go, которые мы развиваем и поддерживаем внутри команды.

Читать далее

Гайд по зрению: здоровье глаз в цифровую эпоху

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

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

За свою жизнь я успел пообщаться с десятками специалистов, несколько раз прошёл процесс лечения и даже операцию "лазерной коррекции", и теперь я готов поделиться советом с вами, а также развеять некоторые популярные мифы. Поговорим о БАДах, каплях, мониторах, программах, рисках, и даже про курение.

Я страдал и продолжаю страдать от:
- Мейбомиевого блефарита
- Синдрома сухого глаза
- Спазма аккомодации сетчатки
- Астигматизма
- Близорукости

И сегодня я расскажу вам, как можно если не избежать этих проблем, то хотя бы их облегчить, ведь наши глаза - это связь с реальностью. Цель статьи - дать практичные и полезные совет, и одновременно с этим дать понимание, почему тот или иной совет работает и как. Здесь я собрал всё, что мне известно про глаза, средства, практики и угрозы, приятного чтения!

Читать далее

Как расширенные статистики помогли раскрыть неочевидную аномалию в VACUUM PostgreSQL

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

Эксперт Postgres Professional Андрей Зубков «нырнул» в недра VACUUM и выяснил, что детализированная статистика может выявить проблемы, которые критически влияют на производительность. Расскажем о том, что скрывалось в глубине PostgreSQL

Читать далее

Почему Android не может использовать CDC Ethernet

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

Если вам просто нужен ответ на вопрос в заголовке, то просто нажмите на TLDR и можете закрыть страницу. Но если вам любопытны подробности, то пристегнитесь, мы займёмся отладкой; этот пост в основном посвящён моему мыслительному процессу и методикам, которые я использовал, чтобы прийти к ответу.

Читать далее

Почему (и по чему) мы испытываем ностальгию?

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

Стоит ли иногда горевать о «пролитом молоке» и мысленно возвращаться в далекое прошлое, или это все же порочная практика? До недавнего времени официальная психология действительно считала ностальгию «вредным» проявлением. Однако на текущий момент позиция ученых изменилась. Ностальгию начали рассматривать как полезный инструмент для борьбы с тревогой, депрессией и стрессом. Так что запустить вечерком Денди или потратить пару часов в любимых HOMM III — это не прокрастинация, это для здоровья.

В статье мы поговорим о ностальгии, некоторых её причинах и интересных проявлениях. Усаживайтесь поудобнее — под катом мы будем препарировать значение слов «теплое‑ламповое», а заодно разберемся в пользе, которую ностальгия может принести в умеренных дозах.

Читать далее

Информация

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