
Привет, Хабр! На связи Кирилл Мазуров, продуктовый аналитик в Garage Eight. Прошлая статья с советами по визуализации данных собрала больше 70 сохранений, поэтому написал вторую часть и дополнил ее примерами кода.
Разработчик мобильных приложений
Привет, Хабр! На связи Кирилл Мазуров, продуктовый аналитик в Garage Eight. Прошлая статья с советами по визуализации данных собрала больше 70 сохранений, поэтому написал вторую часть и дополнил ее примерами кода.
«А сколько пользователей выдержит наш сервис?»
Вопрос звучит просто, но каждый раз ставит в тупик. Его задают на демо, на встречах с заказчиками, менеджеры, иногда даже сами разработчики.
Когда‑то, ещё в школьные годы, я читала журнал «Хакер» и мечтала, как было бы здорово «ломать серверы» и находить их слабые места.
Теперь я занимаюсь этим вполне законно — через нагрузочное тестирование. И, честно говоря, это одно из самых приятных занятий в моей работе.
Видеть, как система реагирует на рост нагрузки, оптимизировать запросы, отслеживать поведение метрик в реальном времени — это настоящее инженерное удовольствие. Ведь за каждой цифрой стоят реальные пользователи, для которых важно, чтобы всё работало быстро и стабильно, даже в пиковые моменты.
Тем не менее, многие команды избегают нагрузки.
«Мы уже проверяли это в начале проекта — зачем снова?»
«Сложно, долго, не для нас.»
«Сделайте отчёт, главное чтобы красиво смотрелось.»
А иногда — просто страшно увидеть, как система покажет себя в реальных условиях.
На самом деле всё гораздо проще. Главное, понимать ключевые метрики и уметь смотреть на них не как на сухие цифры, а как на отражение реального опыта ваших пользователей.
Привет! Это снова Максим из Яндекс Браузера. Мы с командой продолжаем делиться историями об интересных и неочевидных оптимизациях производительности, которые внедряем в наш браузер. В прошлый раз мы писали о том, как улучшили стабильность GPU‑процесса, воспользовавшись оптимизациями в драйверах видеокарт, сделанными специально для Google Chrome. А сегодня речь пойдёт об ускорении старта нашего браузера на Windows.
Привет, Хабр! Вы — трудоголики? А как вам тот факт, что отдых больше помогает работе, чем лишний час перед ПК? И что, на самом деле, вы работаете, когда гуляете, нежитесь в ванной или режете морковь. И что это куда продуктивнее, чем сидеть в IDE или Confluence. Звучит немного парадоксально: как отдых может помочь быть более продуктивным в работе?
В этом посте я хочу поделиться теми методами, которые помогли мне найти свой баланс и повысить эффективность работы, не теряя при этом личного времени. Рассказать, как отдых и переключение на нерабочие дела помогают принимать крутые решения.
Так уж сложилось, что моя основная работа — пролистывать, просматривать и очень внимательно прочитывать статьи на Хабре: уже опубликованные, конкурсные для Технотекста (эти не по первому разу), статьи из Песочницы. Это довольно большой массив данных, который непрерывно обучает мою личную человеческую нейросетку и в том числе «натаскивает» её на распознавание хороших и плохих авторских паттернов. В результате накапливаются знания, которыми очень хочется поделиться с существующими, начинающими и будущими авторами.
На Reddit я наткнулся на статью про обработку создания 100 тысяч коротких URL в секунду1. [Прим. пер.: автор статьи по ссылке создал три варианта системы; третий, наилучший, по его мнению, вариант при помощи кластера-координатора делит нагрузку на несколько ECS-воркеров, использует DynamoDB TransactWrite для пакетных условных вставок, а для устойчивости применяет кэш Redis.]
Какой же это запутанный оверинжиниренный бардак!
Не поймите меня неправильно: я люблю оверинжиниринг, но только в обучающих хобби-проектах. Как сказали многие комментаторы на Reddit, в образовательных учреждениях редко преподают распределённые системы и архитектуру ПО. Когда новички попадают в нашу отрасль, из-за подобных постов, написанных авторитетными на вид техлидами, они могут подумать, что оверинжиниринг — это единственный способ работы. Однако часто решение может быть гораздо проще.
В этой статье я собрал подборку ресурсов по изучению алгоритмов и структур данных — именно так бы я начал свой путь, если бы учился с нуля сегодня. Материал также будет полезен тем, кто готовится к алгоритмическим собеседованиям в FAANG и не только.
Архитектор редко работает в идеальных условиях. Бюджет ограничен, сроки поджимают, часть инфраструктуры устарела, часть команды работает удалённо. Всё это реальные ограничения, с которыми нужно уметь работать. А ещё, нужно уметь предсказывать различные риски.
Давайте постараюсь сформулировать советы, которые я дал бы самому себе, если бы возвращался назад, или тому, кто сейчас работает аналитиком, разработчиком или тестировщиком, и хочет двигаться в сторону архитектуры.
Мэтт Годболт, знаменитый разработчик Compiler Explorer — потрясающий человек, вам стоит найти в вебе и изучить весь созданный им контент. Именно этим и занимался, просматривая Correct by Construction: APIs That Are Easy to Use and Hard to Misuse. Я уже больше двадцати лет работаю с C/C++, поэтому эта тема была мне близка.
Когда я смотрел его доклад, ко мне постоянно приходила мысль: «Да! И именно поэтому в Rust это делается так». После просмотра видео я подумал, что этот доклад — отличный способ понять, как Rust помогает разработчикам не только в безопасности по памяти, и в своей статье я расскажу об этом.
Но прежде нам следует поговорить о поднятых Мэттом проблемах и о том, как он предлагает решать их в C++. Сделайте себе одолжение и посмотрите доклад целиком, а я разберу один из его пунктов.
eBPF vs BitDive: Сравнение решений для системного и прикладного профилирования
Разбираем разницу между eBPF и BitDive: системное профилирование против глубокого анализа Java-приложений. Что выбрать для продакшена?
В статье описан путь преобразования предложенного экспертами Google способа отображения страничных данных с использованием библиотеки Paging3 и Compose от развесистого сборника if'ов и when'ов, вероломно нарушающего все границы архитектурных слоев, до чистого, лаконичного и затягивающего в себя DSL.
Сегодня мы ничего не ломаем (хотя совсем без этого не обошлось). Просто настраиваем. Хотя я сильно сомневаюсь, что все описанные методы должны работать в продакшене коммерческой модели. Но пока не пофиксили — смотрим.
Мы заглянем под капот языковой модели: как она видит твои запросы, где срабатывают фильтры, как определяется чувствительность и почему один ответ проходит, а другой — нет. Это не теория. Это — инструменты, команды и реальные сигналы, которые можно вытащить прямо из модели.
По сути — рабочее место исследователя.
А по факту — то, с чего должен начинаться любой обход.
Оценка риска этой статьи от ChatGPT: 80-90. Тема чувствительная, с высоким риском для злоупотреблений и манипуляций.
Мы начали наше исследование по эмуляции iOS с изучения уже существующих опенсорсных решений. Ранее мы уже успешно запускали alephsecurity/xnu-qemu-arm64, но нас беспокоило то, что проект имеет статус read-only.
Затем мы попробовали TrungNguyen1909/qemu-t8030 и обнаружили в нём довольно много интересных фич:
возможность восстановления iOS (при помощи второго QEMU-«компаньона» для подключения по USB)
— запуск iOS 14
— самую свежую версию QEMU
— удобную wiki о запуске эмулятора
Благодаря этому проекту мы быстро получили доступ к оболочке и ssh, изменив System/Library/xpc/launchd.plist
, что стало отличной отправной точкой.
Всем привет!
Думаю, многие из вас слышали о проблеме четырех красок. Это известная теорема, которую не могли доказать более ста лет.
Историю ее доказательства я много раз слышал в научно-популярном изложении, но глубоко не вникал в математические детали.
Мне стало интересно разобраться, как именно доказывал эту теорему Кемпе, какой контрпример нашел Хивуд и как в итоге устроено компьютерное доказательство Аппеля и Хакена.
Я не нашел достаточно подробного изложения на русском языке, поэтому взял книгу Робина Уилсона «Four Color Suffice», узнал из нее все, что мне было интересно, и кратко пересказал это для вас. Большинство иллюстраций в статье взято из этой книги.
Приятного чтения!
Нейробиолог и биохакер Эндрю Губерман и психиатр Джон Круз в новом подкасте обсудили комплексный подход к управлению СДВГ. У здорового человека могут периодически проявляться отдельные симптомы, похожие на проявления СДВГ, особенно в условиях стресса, переутомления или недосыпа. Это не означает наличие расстройства, но может временно снижать качество жизни и продуктивность. Решение проблем с концентрацией требует комплексного подхода, который разбираем в статье.
Всем привет! 👋👋👋👋👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.
В этом выпуске рассказываем о новых JEPs в OpenJDK, которые вошли в статус Candidate. Спойлер Applet API — RIP. В этом месяце вышли сразу IntelliJ IDEA 2025.1 и OpenIDE — эта битва будет легендарной!
Мы добавили краткий обзор JavaOne’25. И, как обычно, собрали полезные статьи: как избавиться от Flaky-тестов с помощью JMina, как ZGC аллоцирует память в хипе. Сделали подборку материалов о паттернах и методологиях разработки и разбавили размышлениями о том, как писать хороший код и оставаться профессионалом.
Всем привет! Мы – Саша Королёв и Юля Трусова, инженеры в Design System Авито. Наша команда работает над качеством интерфейсов: актуальностью, предсказуемостью, доступностью. В этой статье рассказываем про наш опыт внедрения edge-to-edge в мобильном приложении Avito для Android.
Материал будет особенно вам интересен, если ваше приложение не использовало режим edge-to-edge, но ввиду последних требований от Google по переходу на target SDK 35, появилась в этом необходимость. Ведь данное обновление применяет режим по умолчанию без возможности его отключить. Из статьи вы узнаете, с какими сложностями столкнулись мы как участники большого проекта при интеграции данного режима в масштабный проект с не одной сотней экранов.
Полтора года назад мы в RuStore собрали новую команду, чтобы с нуля разработать собственное платёжное решение. Тогда всё началось с одной фичи. Казалось бы, «просто запилить», чего тут сложного. Но на деле это обернулось целым кварталом разработки, бесконечными доделками и болью на финальном этапе интеграции. Тогда мы столкнулись с типичным набором проблем — от отсутствия документации и слабой декомпозиции до невозможности предсказать сроки. Да, в конечном итоге всё как-то заработало, но по ощущениям исключительно на энтузиазме.
Победив голод, люди нашли себе новую проблему – одержимость едой. Кока-кола, бургер, шоколад, макарошки с мазиком и даже бич-пакет – все это мозг считает за необходимость. И это величайшая подстава всех времен. В статье расскажу, как скачки глюкозы влияют на организм и что с этим делать, а еще поделюсь советами по питанию от врача. Погнали.
Материал проверен эндокринологом, доктором Анастасией Белошистой. Вот теперь точно погнали.
Представьте на секунду, что ваш организм – это космический корабль
Вы летите в пассажирском кресле, особо не задумываясь, куда нажимать, где стоп-кран и почему под вечер хочется сожрать слона. В кабине пилотов прочно засел ваш мозг. Но прежде чем понять его, позвольте я задам вам несколько вопросов: