Читать дальше →
User
Книга: «Распределенные системы. Паттерны и парадигмы для масштабируемых и надежных систем на основе Kubernetes. 2-е изд»
24 min
1.3K
Издательство Sprint book представляет второе издание книги Брендана Бёрнса «Распределенные системы. Паттерны и парадигмы для масштабируемых и надежных систем на основе Kubernetes». Фундаментальное руководство превращает сложное искусство создания распределенных систем в понятную науку, предлагая проверенные решения для современных облачных архитектур.
На сегодняшний день мир разработки программного обеспечения кардинально изменился. Даже относительно простые мобильные приложения опираются на облачные API, чтобы обеспечить доступность данных на любом устройстве, которым пожелает воспользоваться клиент. Проектирование таких систем до сих пор остается сложной задачей, требующей специальных знаний.
Паттерны и компоненты, разбираемые в книге, помогут и опытному разработчику распределенных систем, и абсолютному новичку в этой области.
+8
Как я проектирую и разрабатываю реальные расширения для Python на Rust
14 min
3KTranslation

Вы, вероятно, уже видели немало статей с заголовками вроде «Python, Rust — производительность, бла-бла-бла…». Печально, но почти все эти статьи демонстрируют лишь самые простые примеры уровня «hello world». В отличие от них, в этой статье я хочу поделиться тем, как я проектирую крупные расширения для реальных проектов и почему принимаю при этом те или иные решения.
+19
Почему даже физики до сих пор не вполне понимают квантовую теорию
12 min
2.6KTranslation
В этом году исполняется 100 лет с тех пор, как Вернер Гейзенберг, Макс Борн Паскуаль Йордан и Эрвин Шрёдингер заложили основы квантовой механики. Без их вклада неизвестно, как бы развивалась наука, что таит в себе ещё множество загадок.
Шон Кэрролл, известный популяризатор науки и космолог. Автор бестселлеров Амазона о квантовых мирах и вселенной. Его книги обращены к читателям, которые хотят узнать больше о мире, понять его через законы физики. И сейчас готовится к выходу новинка из серии Величайшие идеи вселенной — «Кванты и поля».
Но чтобы скрасить время ожидания, мы перевели новую статью Шона Кэрролла о квантовой теории!
Приятного чтения!
Шон Кэрролл, известный популяризатор науки и космолог. Автор бестселлеров Амазона о квантовых мирах и вселенной. Его книги обращены к читателям, которые хотят узнать больше о мире, понять его через законы физики. И сейчас готовится к выходу новинка из серии Величайшие идеи вселенной — «Кванты и поля».
Но чтобы скрасить время ожидания, мы перевели новую статью Шона Кэрролла о квантовой теории!
Приятного чтения!
+9
Чистый код: с чего начать
4 min
4.2KTranslation
В статье The Life Changing Magic of Tidying Up Code я (Кент Бек) пошагово описал, как приучить себя к повседневной гигиене при создании кода. Код обычно приходит в беспорядок. В этом нет ничего постыдного. Если вам кажется, что код запутался — значит, вы чему-то научились. Чтобы код стал чистым, в нём надо хоть немного прибраться.
В статье о TLCMOTUC описан этот процесс: немного поправить код, остановиться на безопасной стадии, отпраздновать. Ниже я опишу, как именно выглядят некоторые приёмы такой уборки:
Со временем в коде может меняться тот смысл, который изначально вкладывался в выбранные имена. Команда работает, её словарь развивается. Вчерашние термины сегодня могут восприниматься уже иначе.
В статье о TLCMOTUC описан этот процесс: немного поправить код, остановиться на безопасной стадии, отпраздновать. Ниже я опишу, как именно выглядят некоторые приёмы такой уборки:
Имена
Со временем в коде может меняться тот смысл, который изначально вкладывался в выбранные имена. Команда работает, её словарь развивается. Вчерашние термины сегодня могут восприниматься уже иначе.
+6
Планирование в Python
7 min
4.6KTranslation
Планирование задач — неотъемлемая часть работы любых веб-приложений, в особенности таких, в которых требуется совершать периодические или отложенные действия. В Python предусмотрено множество способов планирования задач, и у каждого есть свои сильные и слабые стороны. В этой статье будут рассмотрены некоторые наиболее популярные способы планирования задач в приложении, написанном на основе FastAPI.
Модуль
sched
– планировщик событий из Python
Модуль
sched
входит в состав стандартной библиотеки Python и обеспечивает простой механизм для планирования событий в программе. Этот модуль может работать в приложении на FastAPI, но пользоваться им не рекомендуется, так как он слишком прост, и функциональность его ограничена.+10
Книга: «Kafka Streams в действии. Приложения и микросервисы, управляемые событиями. 2-е изд.»
20 min
2.9K
Сейчас, когда данные генерируются непрерывно и в огромных объемах, умение эффективно обрабатывать события в реальном времени становится критически важным навыком для разработчиков. Книга от Билла Беджека — это подробное руководство по созданию мощных приложений на основе Apache Kafka, одной из самых надежных и популярных платформ для потоковой обработки данных.
Автор, опытный инженер и участник проекта Apache Kafka, предлагает читателям практический подход к освоению Kafka Streams и других компонентов экосистемы Kafka. В книге рассматриваются не только основы, но и продвинутые техники, включая интеграцию с Kafka Connect, управление схемами через Schema Registry, работу с ksqlDB и тестирование потоковых приложений.
+7
Книга: «Масштабируемые данные. Высоконагруженные архитектуры, Data Mesh и Data Fabric. 2-е изд.»
5 min
3.4K
Издательство Sprint book представляет второе издание книги Питхейна Стренгхольта «Масштабируемые данные» — фундаментальное руководство по построению современных архитектур данных в эпоху цифровой трансформации.
Время централизованного хранения информации, например, в хранилищах данных (data warehouse) уходит в прошлое. Сегодня компании сталкиваются с необходимостью обрабатывать огромные объемы информации в реальном времени, обеспечивая при этом гибкость, безопасность и согласованность данных. Датафикация происходит повсюду: в смартфонах, телевизорах, электронных книгах, промышленных машинах, автомобилях с автопилотами, роботах и т. д. Она стремительно меняет нашу жизнь. А темы, заложенные в книге Стренгхольта, становятся новым стандартом для организаций, стремящихся построить гибкую, безопасную и ориентированную на бизнес-ценности инфраструктуру данных.
+7
Подбираем лучший механизм аппаратной конкурентности для машинного обучения на ЦП
7 min
566Translation

В среде выполнения задач ИИ для Firefox можно задействовать сразу множество потоков в выделенном процессе логического вывода, чтобы ускорить выполнение таких операций на ЦП. В среде WASM/JS можно создать SharedArrayBuffer и обрабатывать содержимое этого буфера сразу несколькими потоками. Такая рабочая нагрузка поддаётся конкурентному распределению на несколько ядер ЦП.
+5
+10
Книга: «Настоящий SRE: инжиниринг надежности для специалистов и организаций»
3 min
2.8K
Ищете руководство, которое поможет разобраться в Site Reliability Engineering (SRE) с нуля?
Издательство Sprint book представляет книгу «Настоящий SRE: инжиниринг надежности для специалистов и организаций», написанную Дэвидом Н. Бланк-Эдельманом — экспертом с почти 40-летним опытом в области эксплуатации информационных систем. Она подскажет, как внедрить культуру надежности в вашей организации, на какие факторы стоит обращать внимание.
+8
Почему разработка через тестирование (TDD) не приводит к плохому коду
3 min
2.8KTranslation
Только вот если…
Мне не верится, что я до сих пор пишу такие вещи, но что поделать. Разработка и реализация кода, управляемого тестами (TDD), хороша ровно настолько, насколько хороши решения по проектированию и имплементации, принятые в этом коде. Точно так же, как и код, который разрабатывается не через тестирование.
Вот один ложный аргумент, который я хочу опровергнуть: используя TDD, вы никогда не сможете обобщить код.
Мне не верится, что я до сих пор пишу такие вещи, но что поделать. Разработка и реализация кода, управляемого тестами (TDD), хороша ровно настолько, насколько хороши решения по проектированию и имплементации, принятые в этом коде. Точно так же, как и код, который разрабатывается не через тестирование.
Вот один ложный аргумент, который я хочу опровергнуть: используя TDD, вы никогда не сможете обобщить код.
+8
Подборка: System Design
3 min
6.1KСобеседование по проектированию систем — одно из самых сложных испытаний для IT-специалиста. Здесь нет единственно верных ответов, зато есть десятки подводных камней: масштабируемость, отказоустойчивость, компромиссы между скоростью и надежностью. А если речь идет о машинном обучении, сложность возрастает в разы.
Как подготовиться? Изучать реальные кейсы, разбирать популярные вопросы и тренироваться мыслить как архитектор сложных систем. В этом помогут три книги, которые мы собрали в этой подборке!
Как подготовиться? Изучать реальные кейсы, разбирать популярные вопросы и тренироваться мыслить как архитектор сложных систем. В этом помогут три книги, которые мы собрали в этой подборке!
+11
Книга: «Kotlin. Паттерны проектирования и лучшие практики, 3-е издание»
13 min
4.3K
Издательство Sprint book представляет третье издание книги «Kotlin. Паттерны проектирования и лучшие практики» от Алексея Сошина — опытного архитектора ПО и эксперта в Kotlin. Это руководство станет незаменимым помощником для разработчиков, которые хотят не только изучить классические и современные паттерны проектирования, но и научиться применять их в реальных проектах на Kotlin.
Книга охватывает все ключевые аспекты языка, начиная с базового синтаксиса и заканчивая продвинутыми концепциями, такими как структурированная конкурентность, контекстные приемники и реактивное программирование. Особое внимание уделено актуальным обновлениям Kotlin, включая версии 1.6 и 2.0, а также популярным библиотекам, таким как Arrow, Ktor и Vert.x.
+10
Технический долг нельзя распланировать
4 min
4.2KTranslation

Будучи ведущим инженером, я неоднократно наблюдал следующую картину в разных компаниях.
- Руководители жалуются на недостаточно высокую скорость разработки. "Я просто хочу показывать день рождения пользователя на странице настроек. Почему на это уходит целый год?"
- Инженеры говорят, что техдолг мешает им двигаться вперед.
- Руководство поручает менеджерам «разобраться с техдолгом», чтобы повысить скорость разработки.
- Менеджеры начинают искать крупные проекты с технологическим долгом, чтобы добавить их в роадмап
+9
Умный подход к оптимизации Django
4 min
982Translation
Однажды я увидел этот пост и вспомнил, как оказался однажды в похожей ситуации — но в моём случае требовалось разобраться со строковыми операциями в нашей виртуальной машине. В настоящее время этот проект уже не функционирует, но код остался в открытом доступе. Давайте ненадолго перенесёмся в прошлое.
Шёл 2018 год, и я как раз присоединился к команде, которая поднимала новую среду выполнения для Python (тогда её прозвали Pyro, а теперь она называется Skybison). Была поставлена цель: опираясь на 30-летний опыт инженерных исследований в инженерии VM и народную мудрость заново спроектировать всё с нуля, чтобы получилась система с высокой производительностью. Важное уточнение: мы могли применять только одну кодировку строк: UTF-8 [1] (с прицелом на будущее).
Шёл 2018 год, и я как раз присоединился к команде, которая поднимала новую среду выполнения для Python (тогда её прозвали Pyro, а теперь она называется Skybison). Была поставлена цель: опираясь на 30-летний опыт инженерных исследований в инженерии VM и народную мудрость заново спроектировать всё с нуля, чтобы получилась система с высокой производительностью. Важное уточнение: мы могли применять только одну кодировку строк: UTF-8 [1] (с прицелом на будущее).
+4
+21
LLM-агенты могут сами взламывать веб-сайты
4 min
2.4KTranslation
В последние несколько лет возможности больших языковых моделей (LLM) радикально расширились. Теперь LLM могут содействовать в законотворчестве, решать геометрические задачи на уровне международной олимпиады и даже помогать в научных исследованиях. По мере такого совершенствования больших языковых моделей увеличивается и их потенциал для двойного или вредоносного применения. Несмотря на это, все известные вредные способности LLM легко находимы:
Но не так давно LLM стали переквалифицироваться в агенты, способные действовать самостоятельно. Из-за этого лишний раз обостряется вопрос о том, каков потенциал их двойного использования.
Но не так давно LLM стали переквалифицироваться в агенты, способные действовать самостоятельно. Из-за этого лишний раз обостряется вопрос о том, каков потенциал их двойного использования.
+7
Книга: «Магия Excel для непрограммистов. Сводные таблицы, Power Query, дашборды и многое другое»
3 min
15K
В бизнесе тот, кто владеет искусством превращения сырых данных в четкие инсайты, получает неоспоримое преимущество. Книга Томаса Фрагейла «Магия Excel для непрограммистов. Сводные таблицы, Power Query, дашборды и многое другое» раскрывает секреты мастерской работы с информацией, доступные каждому офисному сотруднику.
Автор, сертифицированный инструктор Microsoft с 40-летним стажем, создал практическое руководство по цифровому выживанию в мире, где требования к отчетности растут экспоненциально. Его методология прошла проверку в корпорациях из списка Fortune 500, государственных учреждениях и образовательных структурах.
+9
История о недостающих метриках: странности с замыканиями в Rust
8 min
1.6KTranslation
Как один нюанс, связанный с обработкой замыканий в Rust, привёл к потере метрик в нашей компании, и какие уроки мы из этого извлекли
В потоковой базе данных у вас должны быть в распоряжении точные метрики – это не просто плюс, а важнейшая предпосылка для отслеживания производительности, выявления узких мест и обеспечения ровного функционирования системы в режиме реального времени. Метрики можно сравнить с циферблатами на приборном щитке автомобиля. Именно по ним вы получаете оперативную обратную связь и узнаёте, что творится «под капотом». Один из ключевых показателей, который необходимо отслеживать — это скорость извлечения данных с того уровня, где они хранятся. В системе реального времени такая функция неоценима.
Нам довелось столкнуться с загадочной ситуацией: одна из наших метрик, характеризующая хранение данных, якобы оставалась на нуле, даже когда нам было точно известно, что через систему прокачиваются данные. Всё равно, что вести машину со сломанным спидометром — мы же едем, но не знаем, с какой скоростью. В результате нам пришлось устроить настоящее расследование и углубиться в наш код на Rust. В результате мы узнали много нового о том, как в Rust раньше обрабатывались замыкания.
В потоковой базе данных у вас должны быть в распоряжении точные метрики – это не просто плюс, а важнейшая предпосылка для отслеживания производительности, выявления узких мест и обеспечения ровного функционирования системы в режиме реального времени. Метрики можно сравнить с циферблатами на приборном щитке автомобиля. Именно по ним вы получаете оперативную обратную связь и узнаёте, что творится «под капотом». Один из ключевых показателей, который необходимо отслеживать — это скорость извлечения данных с того уровня, где они хранятся. В системе реального времени такая функция неоценима.
Нам довелось столкнуться с загадочной ситуацией: одна из наших метрик, характеризующая хранение данных, якобы оставалась на нуле, даже когда нам было точно известно, что через систему прокачиваются данные. Всё равно, что вести машину со сломанным спидометром — мы же едем, но не знаем, с какой скоростью. В результате нам пришлось устроить настоящее расследование и углубиться в наш код на Rust. В результате мы узнали много нового о том, как в Rust раньше обрабатывались замыкания.
+15