Разгоняем сервис до 1M RPS: с чего начинается производительность

Оглавление Введение Когда в статье написано, что система “держит 1M RPS”, а рядом нет ни размера ответа, ни latency, ни уровня ошибок, ни описания стенда, ни состояния кэша, ни правил подсчета успешных запросов, то инженерной ценности у такой цифры почти нет. Пропускная способность системы сам по себе не говорит, держит ли система реальный пользовательский трафик, … —Читать далее—

Loading

Java vs Python: практическое сравнение производительности, синтаксиса и инструментов

Оглавление Введение Когда перед командой встает вопрос выбора между Java и Python для нового проекта, решение оказывается далеко не тривиальным. Оба языка чрезвычайно популярны и широко используются в продакшене, но имеют разные сильные стороны. Правильный выбор может влиять на скорость разработки, производительность приложения и поддерживаемость кода. Часто сравнение Java и Python становится актуальным при старте … —Читать далее—

Loading

Java vs Go: практическое сравнение производительности, синтаксиса и инструментов

Оглавление Введение Java и Go – два мощных языка, часто используемые для разработки серверной части и микросервисов, но появившиеся в разные эпохи и философски противоположные. Java – ветеран индустрии, впервые выпущенный в 1995 году компанией Sun Microsystems (ныне под эгидой Oracle). За почти 30 лет Java стала основой корпоративного программного обеспечения – по некоторым оценкам, … —Читать далее—

Loading

20 типовых ошибок Java-разработчиков в пул реквестах

Оглавление Введение Code review (ревью кода) – ключевой этап в корпоративной разработке, позволяющий повысить качество программного обеспечения. Опытные инженеры при проверке pull request’ов обращают внимание на типичные ошибки, которые повторяются из проекта в проект. Эти системные проблемы затрагивают разные аспекты: от архитектуры и читабельности кода до производительности, устойчивости и безопасности приложения. Игнорирование этих аспектов приводит … —Читать далее—

Loading

Ввод-вывод в Java: IO и NIO на практике

Оглавление Введение Java предоставляет мощный функционал для операций ввода-вывода (I/O – Input/Output). Исторически основной механизм I/O был реализован в пакете java.io (классическом Java IO), основанном на потоках (streams). Однако с выходом Java 1.4 (J2SE 1.4, 2002 год) появился Java NIO (New I/O) – новый подход к вводу-выводу, призванный повысить производительность и обеспечить масштабируемость систем ввода-вывода. … —Читать далее—

Loading