Pull to refresh
54
371

Пишу обзоры на библиотеки и инструменты

Send message

Строим микрокernel на Golang

Reading time6 min
Views1.5K

Привет, Хабр! Сегодня рассмотрим, как построить гибкую и масштабируемую систему с использованием микрокernel архитектуры на Golang.

Перед тем как взяться за код, разберёмся, о чём вообще идёт речь. Микрокernel — это архитектурный стиль, при котором минимальное ядро системы отвечает за основные функции: управление процессами, памятью, коммуникациями и т.д., а всё остальное делегируется в виде отдельных модулей или сервисов.

Почему стоит использовать микрокernel? Простота модификации, высокая степень изоляции компонентов и легкость масштабирования — лишь малая часть преимуществ.

Читать далее
Total votes 5: ↑3 and ↓2+4
Comments7

Tribuo и регрессия: как строить предсказательные модели на Java

Level of difficultyEasy
Reading time7 min
Views574

Привет, Хабр!

В этой статье наш взор упадет на на Tribuo — библиотеку машинного обучения на Java от Oracle.

Tribuo поддерживает различные алгоритмы для классификации, регрессии, кластеризации и многого другого. Но сегодня мы сосредоточимся на регрессии — фундаментальной задаче, которая позволяет предсказывать непрерывные значения. Одним из главных плюсов Tribuo является её удобный API, который позволяет быстро строить модели и оценивать их эффективность.

Читать далее
Total votes 3: ↑1 and ↓2+1
Comments0

Миграция данных в Kubernetes: Всё, что нужно знать новичку

Level of difficultyEasy
Reading time5 min
Views945

Привет, Хабр!

Сегодня у нас на повестке дня тема миграции данных в Kubernetes. Kubernetes — это как швейцарский нож в разработке: умеет всё и сразу. Он не только управляет контейнерами, но и отлично справляется с данными.

Читать далее
Total votes 2: ↑2 and ↓0+4
Comments1

Golang + Redux

Reading time4 min
Views859

Привет, Хабр!

Сегодня мы попробуем реализовать управление состоянием в Go‑приложениях с помощью паттерна Redux. Да‑да, Redux не только для JS.

Redux — это предсказуемый контейнер состояния для приложений. Он помогает управлять состоянием приложения централизованно, делая его более предсказуемым и удобным для отладки. В основном Redux ассоциируется с фронтендом на JavaScript, но принципы, лежащие в его основе, иногда могут подойти и для Go‑приложений.

Читать далее
Total votes 6: ↑3 and ↓3+2
Comments4

Коротко о SLAB, SLOB и SLYB в Linux

Reading time4 min
Views2.1K

Привет! Когда речь заходит о динамическом управлении памятью в Linux, мы имеем дело с несколькими разными подходами, каждый из которых имеет свои плюсы и минусы.

В этой статье разберём три аллокатора памяти ядра: SLAB, SLOB, а также SLUB.

Читать далее
Total votes 17: ↑15 and ↓2+19
Comments6

Управление зависимостями с Autofac в C#

Level of difficultyMedium
Reading time8 min
Views975

Привет, Хабр! Сегодня у нас на повестке дня библиотека Autofac — один из самых популярных инструментов для внедрения зависимостей в C#. Разберемся, как она помогает упорядочить код и сделать проект более управляемым.

Читать далее
Total votes 9: ↑8 and ↓1+12
Comments13

Sidecar на Go: позволь другому заниматься твоими проблемами

Level of difficultyEasy
Reading time4 min
Views1.8K

Привет, Хабр!

В распределённых системах каждая служба выполняет свою задачу: одна отвечает за логи, другая за обработку запросов, третья за безопасность. Но не всегда удобно нагружать основной сервис дополнительной логикой. Именно здесь хорошо вписывается Sidecar — отдельный контейнер или процесс, который берёт на себя часть инфраструктурных задач, разгружая основное приложение и позволяя сосредоточиться на главной бизнес-логике.

Сегодня мы рассмотрим реализацию Sidecar на Golang.

Читать далее
Total votes 18: ↑17 and ↓1+21
Comments1

Как и зачем использовать Template Method в C#

Level of difficultyEasy
Reading time7 min
Views4.9K

Template Method (он же «Шаблонный метод») — это паттерн проектирования, который определяет скелет алгоритма в методе, оставляя определенные шаги подклассам. Проще говоря, есть базовый алгоритм, но мы можно менять детали, переопределяя части этого алгоритма в наследниках.

Классический пример — процесс заказа товара в интернет-магазине. Независимо от того, какой у вас магазин, шаги примерно одинаковые: проверка наличия товара, оплата, упаковка и доставка. Но в зависимости от специфики магазина, эти шаги могут отличаться в деталях.

Template Method позволяет создать базовую структуру этих шагов и менять конкретные реализации без изменения самой структуры. В этой статье мы рассмотрим, как реализовать этот паттерн на C#.

Читать далее
Total votes 15: ↑13 and ↓2+16
Comments45

Всё, что вы хотели знать о Django Channels

Reading time10 min
Views1.7K

Приветствую, друзья!

Когда я впервые начал работать с Django, меня всё устраивало, за исключением одного момента: как сделать так, чтобы приложение могло общаться с пользователем в реальном времени? Веб-сокеты, уведомления, асинхронные запросы — казалось, это точно не про чистый Django. Но затем я наткнулся на Django Channels, и многое изменилось. Channels позволили мне сделать приложение асинхронным, добавить поддержку веб-сокетов и превратить его во что-то гораздо более крутое.

В этой статье я расскажу, как работать с Django Channels.

Читать далее
Total votes 14: ↑14 and ↓0+19
Comments0

Настройка CI/CD для AWS Lambda с CodePipeline и SAM CLI

Level of difficultyMedium
Reading time6 min
Views553

Приветствую! Сегодня я расскажу вам, как настроить CI/CD для AWS Lambda с использованием AWS CodePipeline и AWS SAM CLI. Если вы хотите автоматизировать процесс деплоя серверлесс-приложений и избавиться от рутины, то эта статья для вас.

Читать далее
Total votes 8: ↑8 and ↓0+13
Comments0

Кратко про библиотеку mlfinlab: инструмент для финансового ML

Level of difficultyMedium
Reading time4 min
Views1.9K

Привет, Хабр!

Сегодня мы рассмотрим такую замечательную библиотеку как mlfinlab.

Если вы пытались применить методы машинного обучения к финансовым данным, то наверняка сталкивались с массой подводных камней: от шумных данных до проблем с автокорреляцией. mlfinlab — это библиотека, которая реализует передовые техники из книги Маркоса Лопеса де Прадо "Advances in Financial Machine Learning". Она позволяет не изобретать велосипед, а использовать проверенные временем методы для решения сложных задач финансового ML.

Читать далее
Total votes 11: ↑9 and ↓2+12
Comments4

Как поднять свой WebSocket сервер на Node.js: основы

Level of difficultyEasy
Reading time4 min
Views3.1K

Привет, Хабр!

Сегодня создадим свой WebSocket сервер на Node.js. Это тот самый протокол, который позволяет отправлять и принимать данные в реальном времени без перекладывания на HTTP. Для этого мы будем использовать библиотеку ws.

Читать далее
Total votes 24: ↑15 and ↓9+12
Comments7

База, которую нужно знать про JSON Schema

Level of difficultyEasy
Reading time7 min
Views15K

Привет, Хабр!

Сегодня мы рассмотрим одну из тем, которая, как ни странно, остаётся недооценённой — JSON Schema. Если ты аналитик (или хочешь им быть) и в твоей работе часто мелькают JSON-файлы, то наверняка знаешь, как сложно порой бывает держать всё это под контролем. В этой статье мы разберём всё, что тебе нужно знать про JSON Schema.

Читать далее
Total votes 34: ↑30 and ↓4+36
Comments9

Обзор библиотеки LIBMF для Rust: факторизация матриц

Level of difficultyEasy
Reading time6 min
Views1.1K

Привет, Хабр!

Сегодня поговорим о библиотеке libmf — одном из лучших инструментов для факторизации матриц на Rust. libmf используется для задач машинного обучения: построение рекомендаций, сжатие данных и уменьшение размерности.

Устанавливается она через Cargo легко и просто.

Читать далее
Total votes 14: ↑12 and ↓2+15
Comments0

Регулярные выражения в SQL

Reading time6 min
Views13K

Привет, Хабр!

Представьте, что вам нужно найти иголку в стоге сена, но стог — это ваша БД, а иголка — данные со сложным шаблоном. Деофлтные операторы LIKE и IN тут не помогут — слишком уж они прямолинейны. Но зато здесь отлично зайдут регулярные выражения, которые позволяют выполнять сложные поиски и преобразования строк.

Читать далее
Total votes 27: ↑26 and ↓1+30
Comments11

Коротко про слоты в Vue.js

Level of difficultyEasy
Reading time3 min
Views3.3K

Привет, Хабр!

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

Читать далее
Total votes 10: ↑8 and ↓2+11
Comments7

Как провести безопасный эксперимент: guardrail metrics

Level of difficultyEasy
Reading time6 min
Views621

Привет, Хабр!

Хотел было назвать эту статью «Защитные метрики», но тут такая штука — погуглил в рунете, а там тишина (ну, почти). Пришлось пойти по классике и оставить название на английском — guardrail metrics.

Guardrail metrics — это метрики, которые используются в A/B тестировании для предотвращения нежелательных побочных эффектов. Их основная цель — следить за тем, чтобы изменения, которые вы вносите для улучшения определенных показателей, не повредили другим важным аспектам продукта.

Рассмотрим подробнее.

Читать далее
Total votes 9: ↑8 and ↓1+12
Comments1

Реализуем паттерн Unit of Work в ASP.NET Core

Level of difficultyEasy
Reading time4 min
Views3.1K

Привет, Хабр!

Сегодня разберём, как реализовать паттерн Unit of Work в ASP.NET Core. Вместо долгих теоретических рассуждений, посмотрим, зачем он вообще нужен, и как правильно его применить на практике.

Читать далее
Total votes 18: ↑9 and ↓9+6
Comments14

Куда утекает производительность? Ищем ответ в логах Greenplum

Reading time5 min
Views904

Привет, Хабр!

Greenplum — это база данных, созданная специально для больших данных и аналитики. Ее основное преимущество — это архитектура массово параллельной обработки, сокращенно – MPP, которая позволяет масштабироваться до огромных объемов данных, не теряя производительности.

Но с большими данными приходят и большие проблемы. Медленные запросы, ошибки сегментов, отказы... Когда что-то идет не так, первое, куда мы заглядываем — это логи. Логи Greenplum содержат все, что нужно для диагностики и отладки системы. В этой статье рассмотрим, как извлечь из логов максимум полезной информации, какие инструменты помогут и как автоматизировать анализ.

Читать далее
Total votes 10: ↑9 and ↓1+15
Comments0

ThreadLocal и проблемы с памятью: что вы должны знать

Level of difficultyEasy
Reading time4 min
Views2.1K

Привет, Хабр!

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

Читать далее
Total votes 16: ↑10 and ↓6+9
Comments1
1
23 ...

Information

Rating
2-nd
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity

Specialization

Specialist
Middle
From 1 ₽
SQL
Python
Database
English
PostgreSQL
Git