Разделенные, мы стоим: Рецепт шеф-повара Golang для Шардинга базы данных

Разделенные, мы стоим: Рецепт шеф-повара Golang для Шардинга базы данных

Ах, горизонтальное масштабирование — это кулинарное искусство архитектуры баз данных! Подобно нарезке гигантской салями на управляемые кусочки (но с меньшим количеством чеснока), сегментирование помогает нам обслуживать данные быстрее, чем нью-йоркский пиццерийщик. Давайте наденем наши поварские колпаки и приготовим устойчивую реализацию сегментирования в Go! Сегментированный шведский стол: выберите вкус раздела Прежде чем мы запустим кодовую печь, давайте рассмотрим основные варианты подачи: Горизонтальное или вертикальное сегментирование graph LR A[Монолитная база данных] --> B{Тип сегментирования} B --> C[Вертикальное: таблицы в виде слоёв] B --> D[Горизонтальное: строки в виде срезов] C --> E[Специализированные серверы баз данных] D --> F[Распределённые узлы данных] В этом рецепте мы сосредоточимся на горизонтальной нарезке — потому что кому не нравятся равномерно распределённые кусочки данных?...

May 12, 2025 · 3 min · 553 words · Maxim Zhirnov
Zig or Swim: A Pragmatic Dive Into Systems Programming Without Life Jackets

Zig or Swim: A Pragmatic Dive Into Systems Programming Without Life Jackets

Ah, Zig - the language that makes C look like it’s been napping since the 70s. Let’s roll up our sleeves and dissect this modern systems programming contender, complete with code samples that actually compile and analogies that won’t make you cringe (much). First Contact: Installing the Chainsaw Before we juggle memory pointers, let’s get our tools sharpened. Create a hello.zig file: const std = @import("std"); pub fn main() void { std....

May 8, 2025 · 4 min · 653 words · Maxim Zhirnov
Зигзаг или вплавь: Прагматичное погружение в системное программирование без спасательных жилетов

Зигзаг или вплавь: Прагматичное погружение в системное программирование без спасательных жилетов

Ах, Zig — язык, который заставляет C выглядеть так, будто он спит с 70-х годов. Давайте закатаем рукава и разберём этого современного претендента на системное программирование, дополненного примерами кода, которые действительно компилируются, и аналогиями, от которых не будет вас коробить (почти). Первый контакт: установка бензопилы Прежде чем мы будем жонглировать указателями памяти, давайте заточим наши инструменты. Создайте файл hello.zig: const std = @import("std"); pub fn main() void { std.debug.print("Привет, Meatbag!\n", ....

May 8, 2025 · 4 min · 655 words · Maxim Zhirnov
Extending Jupyter Notebook: A JavaScript Developer's Playground

Extending Jupyter Notebook: A JavaScript Developer's Playground

Picture this: you’re sipping coffee while Jupyter Notebook obediently types your Python variables into Shakespearean sonnets. That’s the power of extensions - and today we’ll make one that actually does something useful (though iambic pentameter support might come in v2). Buckle up for a code-packed journey through Jupyter’s extension system! Laying the Groundwork Before we make magic happen, let’s set up our wizard’s workshop: # Create extension scaffolding npx create-jupyterlab-extension jupyterlab_stonks cd jupyterlab_stonks jlpm install This creates a TypeScript project (JavaScript’s type-aware cousin)....

May 6, 2025 · 3 min · 532 words · Maxim Zhirnov
Расширение Jupyter Notebook: игровая площадка для разработчиков JavaScript

Расширение Jupyter Notebook: игровая площадка для разработчиков JavaScript

Представьте: вы потягиваете кофе, а Jupyter Notebook послушно превращает ваши переменные Python в сонеты Шекспира. В этом сила расширений — и сегодня мы создадим такое, которое будет действительно полезным (хотя поддержка ямбического пентаметра может появиться в версии 2). Приготовьтесь к насыщенному кодингом путешествию по системе расширений Jupyter! Подготовка основы Прежде чем мы начнём творить чудеса, давайте подготовим мастерскую нашего волшебника: # Создаём каркас расширения npx create-jupyterlab-extension jupyterlab_stonks cd jupyterlab_stonks jlpm install Это создаёт проект TypeScript (двоюродный брат JavaScript, знающий о типах)....

May 6, 2025 · 3 min · 533 words · Maxim Zhirnov