Pull to refresh
430
67.6
Send message

Книга: «Распределенные системы. Паттерны и парадигмы для масштабируемых и надежных систем на основе Kubernetes. 2-е изд»

Reading time24 min
Views1.3K
Привет, Хаброжители!

Издательство Sprint book представляет второе издание книги Брендана Бёрнса «Распределенные системы. Паттерны и парадигмы для масштабируемых и надежных систем на основе Kubernetes». Фундаментальное руководство превращает сложное искусство создания распределенных систем в понятную науку, предлагая проверенные решения для современных облачных архитектур.

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

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

Как я проектирую и разрабатываю реальные расширения для Python на Rust

Reading time14 min
Views3K

Вы, вероятно, уже видели немало статей с заголовками вроде «Python, Rust — производительность, бла-бла-бла…». Печально, но почти все эти статьи демонстрируют лишь самые простые примеры уровня «hello world». В отличие от них, в этой статье я хочу поделиться тем, как я проектирую крупные расширения для реальных проектов и почему принимаю при этом те или иные решения.
Читать дальше →

Почему даже физики до сих пор не вполне понимают квантовую теорию

Reading time12 min
Views2.6K
В этом году исполняется 100 лет с тех пор, как Вернер Гейзенберг, Макс Борн Паскуаль Йордан и Эрвин Шрёдингер заложили основы квантовой механики. Без их вклада неизвестно, как бы развивалась наука, что таит в себе ещё множество загадок.

Шон Кэрролл, известный популяризатор науки и космолог. Автор бестселлеров Амазона о квантовых мирах и вселенной. Его книги обращены к читателям, которые хотят узнать больше о мире, понять его через законы физики. И сейчас готовится к выходу новинка из серии Величайшие идеи вселенной — «Кванты и поля».

Но чтобы скрасить время ожидания, мы перевели новую статью Шона Кэрролла о квантовой теории!

Приятного чтения!
Читать дальше →

Чистый код: с чего начать

Reading time4 min
Views4.2K
В статье The Life Changing Magic of Tidying Up Code я (Кент Бек) пошагово описал, как приучить себя к повседневной гигиене при создании кода. Код обычно приходит в беспорядок. В этом нет ничего постыдного. Если вам кажется, что код запутался — значит, вы чему-то научились. Чтобы код стал чистым, в нём надо хоть немного прибраться.

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

Имена


Со временем в коде может меняться тот смысл, который изначально вкладывался в выбранные имена. Команда работает, её словарь развивается. Вчерашние термины сегодня могут восприниматься уже иначе.
Читать дальше →

Планирование в Python

Reading time7 min
Views4.6K
Планирование задач — неотъемлемая часть работы любых веб-приложений, в особенности таких, в которых требуется совершать периодические или отложенные действия. В Python предусмотрено множество способов планирования задач, и у каждого есть свои сильные и слабые стороны. В этой статье будут рассмотрены некоторые наиболее популярные способы планирования задач в приложении, написанном на основе FastAPI.

sched – планировщик событий из Python


Модуль sched входит в состав стандартной библиотеки Python и обеспечивает простой механизм для планирования событий в программе. Этот модуль может работать в приложении на FastAPI, но пользоваться им не рекомендуется, так как он слишком прост, и функциональность его ограничена.
Читать дальше →

Книга: «Kafka Streams в действии. Приложения и микросервисы, управляемые событиями. 2-е изд.»

Reading time20 min
Views2.9K
Привет, Хаброжители!

Сейчас, когда данные генерируются непрерывно и в огромных объемах, умение эффективно обрабатывать события в реальном времени становится критически важным навыком для разработчиков. Книга от Билла Беджека — это подробное руководство по созданию мощных приложений на основе Apache Kafka, одной из самых надежных и популярных платформ для потоковой обработки данных.

Автор, опытный инженер и участник проекта Apache Kafka, предлагает читателям практический подход к освоению Kafka Streams и других компонентов экосистемы Kafka. В книге рассматриваются не только основы, но и продвинутые техники, включая интеграцию с Kafka Connect, управление схемами через Schema Registry, работу с ksqlDB и тестирование потоковых приложений.
Читать дальше →

Книга: «Масштабируемые данные. Высоконагруженные архитектуры, Data Mesh и Data Fabric. 2-е изд.»

Reading time5 min
Views3.4K
Привет, Хаброжители!

Издательство Sprint book представляет второе издание книги Питхейна Стренгхольта «Масштабируемые данные» — фундаментальное руководство по построению современных архитектур данных в эпоху цифровой трансформации.

Время централизованного хранения информации, например, в хранилищах данных (data warehouse) уходит в прошлое. Сегодня компании сталкиваются с необходимостью обрабатывать огромные объемы информации в реальном времени, обеспечивая при этом гибкость, безопасность и согласованность данных. Датафикация происходит повсюду: в смартфонах, телевизорах, электронных книгах, промышленных машинах, автомобилях с автопилотами, роботах и т. д. Она стремительно меняет нашу жизнь. А темы, заложенные в книге Стренгхольта, становятся новым стандартом для организаций, стремящихся построить гибкую, безопасную и ориентированную на бизнес-ценности инфраструктуру данных.
Читать дальше →

Подбираем лучший механизм аппаратной конкурентности для машинного обучения на ЦП

Reading time7 min
Views566

В среде выполнения задач ИИ для Firefox можно задействовать сразу множество потоков в выделенном процессе логического вывода, чтобы ускорить выполнение таких операций на ЦП. В среде WASM/JS можно создать SharedArrayBuffer и обрабатывать содержимое этого буфера сразу несколькими потоками. Такая рабочая нагрузка поддаётся конкурентному распределению на несколько ядер ЦП.
Читать дальше →

Книга: «Настоящий SRE: инжиниринг надежности для специалистов и организаций»

Reading time3 min
Views2.8K
Привет, Хаброжители!

Ищете руководство, которое поможет разобраться в Site Reliability Engineering (SRE) с нуля?

Издательство Sprint book представляет книгу «Настоящий SRE: инжиниринг надежности для специалистов и организаций», написанную Дэвидом Н. Бланк-Эдельманом — экспертом с почти 40-летним опытом в области эксплуатации информационных систем. Она подскажет, как внедрить культуру надежности в вашей организации, на какие факторы стоит обращать внимание.
Читать дальше →

Почему разработка через тестирование (TDD) не приводит к плохому коду

Reading time3 min
Views2.8K
Только вот если…

Мне не верится, что я до сих пор пишу такие вещи, но что поделать. Разработка и реализация кода, управляемого тестами (TDD), хороша ровно настолько, насколько хороши решения по проектированию и имплементации, принятые в этом коде. Точно так же, как и код, который разрабатывается не через тестирование.

Вот один ложный аргумент, который я хочу опровергнуть: используя TDD, вы никогда не сможете обобщить код.
Читать дальше →

Подборка: System Design

Reading time3 min
Views6.1K
Собеседование по проектированию систем — одно из самых сложных испытаний для IT-специалиста. Здесь нет единственно верных ответов, зато есть десятки подводных камней: масштабируемость, отказоустойчивость, компромиссы между скоростью и надежностью. А если речь идет о машинном обучении, сложность возрастает в разы.

Как подготовиться? Изучать реальные кейсы, разбирать популярные вопросы и тренироваться мыслить как архитектор сложных систем. В этом помогут три книги, которые мы собрали в этой подборке!
Читать дальше →

Книга: «Kotlin. Паттерны проектирования и лучшие практики, 3-е издание»

Reading time13 min
Views4.3K
Привет, Хаброжители!

Издательство Sprint book представляет третье издание книги «Kotlin. Паттерны проектирования и лучшие практики» от Алексея Сошина — опытного архитектора ПО и эксперта в Kotlin. Это руководство станет незаменимым помощником для разработчиков, которые хотят не только изучить классические и современные паттерны проектирования, но и научиться применять их в реальных проектах на Kotlin.

Книга охватывает все ключевые аспекты языка, начиная с базового синтаксиса и заканчивая продвинутыми концепциями, такими как структурированная конкурентность, контекстные приемники и реактивное программирование. Особое внимание уделено актуальным обновлениям Kotlin, включая версии 1.6 и 2.0, а также популярным библиотекам, таким как Arrow, Ktor и Vert.x.
Читать дальше →

Технический долг нельзя распланировать

Reading time4 min
Views4.2K
image


Будучи ведущим инженером, я неоднократно наблюдал следующую картину в разных компаниях.
  1. Руководители жалуются на недостаточно высокую скорость разработки. "Я просто хочу показывать день рождения пользователя на странице настроек. Почему на это уходит целый год?"
  2. Инженеры говорят, что техдолг мешает им двигаться вперед.
  3. Руководство поручает менеджерам «разобраться с техдолгом», чтобы повысить скорость разработки.
  4. Менеджеры начинают искать крупные проекты с технологическим долгом, чтобы добавить их в роадмап
Читать дальше →

Умный подход к оптимизации Django

Reading time4 min
Views982
Однажды я увидел этот пост и вспомнил, как оказался однажды в похожей ситуации — но в моём случае требовалось разобраться со строковыми операциями в нашей виртуальной машине. В настоящее время этот проект уже не функционирует, но код остался в открытом доступе. Давайте ненадолго перенесёмся в прошлое.

Шёл 2018 год, и я как раз присоединился к команде, которая поднимала новую среду выполнения для Python (тогда её прозвали Pyro, а теперь она называется Skybison). Была поставлена цель: опираясь на 30-летний опыт инженерных исследований в инженерии VM и народную мудрость заново спроектировать всё с нуля, чтобы получилась система с высокой производительностью. Важное уточнение: мы могли применять только одну кодировку строк: UTF-8 [1] (с прицелом на будущее).
Читать дальше →

LLM-агенты могут сами взламывать веб-сайты

Reading time4 min
Views2.4K
В последние несколько лет возможности больших языковых моделей (LLM) радикально расширились. Теперь LLM могут содействовать в законотворчестве, решать геометрические задачи на уровне международной олимпиады и даже помогать в научных исследованиях. По мере такого совершенствования больших языковых моделей увеличивается и их потенциал для двойного или вредоносного применения. Несмотря на это, все известные вредные способности LLM легко находимы:

Но не так давно LLM стали переквалифицироваться в агенты, способные действовать самостоятельно. Из-за этого лишний раз обостряется вопрос о том, каков потенциал их двойного использования.
Читать дальше →

Книга: «Магия Excel для непрограммистов. Сводные таблицы, Power Query, дашборды и многое другое»

Reading time3 min
Views15K
Привет, Хаброжители!

В бизнесе тот, кто владеет искусством превращения сырых данных в четкие инсайты, получает неоспоримое преимущество. Книга Томаса Фрагейла «Магия Excel для непрограммистов. Сводные таблицы, Power Query, дашборды и многое другое» раскрывает секреты мастерской работы с информацией, доступные каждому офисному сотруднику.

Автор, сертифицированный инструктор Microsoft с 40-летним стажем, создал практическое руководство по цифровому выживанию в мире, где требования к отчетности растут экспоненциально. Его методология прошла проверку в корпорациях из списка Fortune 500, государственных учреждениях и образовательных структурах.
Читать дальше →

История о недостающих метриках: странности с замыканиями в Rust

Reading time8 min
Views1.6K
Как один нюанс, связанный с обработкой замыканий в Rust, привёл к потере метрик в нашей компании, и какие уроки мы из этого извлекли

В потоковой базе данных у вас должны быть в распоряжении точные метрики – это не просто плюс, а важнейшая предпосылка для отслеживания производительности, выявления узких мест и обеспечения ровного функционирования системы в режиме реального времени. Метрики можно сравнить с циферблатами на приборном щитке автомобиля. Именно по ним вы получаете оперативную обратную связь и узнаёте, что творится «под капотом». Один из ключевых показателей, который необходимо отслеживать — это скорость извлечения данных с того уровня, где они хранятся. В системе реального времени такая функция неоценима.

Нам довелось столкнуться с загадочной ситуацией: одна из наших метрик, характеризующая хранение данных, якобы оставалась на нуле, даже когда нам было точно известно, что через систему прокачиваются данные. Всё равно, что вести машину со сломанным спидометром — мы же едем, но не знаем, с какой скоростью. В результате нам пришлось устроить настоящее расследование и углубиться в наш код на Rust. В результате мы узнали много нового о том, как в Rust раньше обрабатывались замыкания.
Читать дальше →
1
23 ...

Information

Rating
Does not participate
Works in
Registered
Activity