Pull to refresh
34
ionicman@ionicman

User

11
Subscribers
Send message

Секреты Apache Kafka API: обработка сообщений без потерь и дублей

Level of difficultyMedium
Reading time9 min
Reach and readers16K

Меня зовут Андрей Серебрянский, и я люблю Apache Kafka. И гарантии доставки exactly once. И рассказывать обо всём этом на конференциях. Пять лет я строил платформы потоковой обработки данных в финтехе, а теперь вместе с командой работаю над YDB Topics: частью YDB (СУБД Яндекса), которая заменяет Apache Kafka в роли брокера сообщений. СУБД Яндекса уже некоторое время поддерживает Apache Kafka API. Недавно мы расширили этот API, добавив поддержку Kafka-транзакций.

Но наличия транзакций в брокере сообщений недостаточно для получения гарантий exactly once. Чтобы неудачно зависший или перезагрузившийся сервер не привёл к дублированию или потере сообщений, нужно хорошо понимать, как именно работают транзакции в брокерах сообщений вообще и в Apache Kafka в частности.

Эта статья будет полезна начинающим разработчикам и тем, кто хочет освежить знания или разобраться в тонкостях exactly once обработки данных с помощью YDB Topics или других брокеров сообщений.

Читать далее

Chrome, Xfce и очень страшное кино

Level of difficultyMedium
Reading time8 min
Reach and readers20K

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

Читать далее

Роевой интеллект: как 15 строк кода заменяют централизованное управление дронами

Reading time5 min
Reach and readers12K

Привет, Хабр! Сегодня мы погрузимся в увлекательный мир роевого интеллекта и децентрализованных систем. Я покажу, как простые правила, заложенные в каждый элемент системы, позволяют добиться сложного группового поведения без единого центра управления. В качестве полигона используем виртуальный рой автономных дронов.

*Код и симуляция: Python 3.8+, matplotlib, numpy

Проблема централизованного управления

Представьте, что вам нужно координировать движение 50 дронов. Первое, что приходит в голову — центральный контроллер с нейронной сетью, которая вычисляет оптимальные траектории для каждого аппарата. Но у этого подхода есть фундаментальные недостатки:

Читать далее

Архитектура слежки: Сравнительный анализ приватности веб-браузеров

Level of difficultyMedium
Reading time21 min
Reach and readers27K

Ваш браузер — это окно в интернет или двустороннее зеркало? По умолчанию многие из них спроектированы как настоящие терминалы для сбора данных.

Внутри статьи — детальный разбор телеметрии, оценка уровня шпионажа и, самое главное, исчерпывающее практическое руководство. Вы узнаете, как превратить Firefox в крепость с помощью about:config и настроить AdNauseam для тотальной блокировки слежки. Пора вернуть контроль над своей приватностью.

Читать анализ и руководство

Рецензия на книгу «Основы JetPack Compose: Разработка приложений для Android»

Level of difficultyEasy
Reading time7 min
Reach and readers9.1K

За последние несколько лет Jetpack Compose стал не просто новым способом создания интерфейсов под Android, а фактически основным инструментом UI-разработки. Google активно развивает Compose как декларативный фреймворк, заменяющий устаревший XML-подход, а экосистема вокруг него — от Material Design 3 до Compose Multiplatform — превратилась в полноценную платформу для современной мобильной разработки. Теперь учебник по Jetpack Compose уровня монографии (около 700 стр.) доступен на русском языке. Перевод книги по версии 1.6 — удобная отправная точка для тех, кто делает первые шаги или развивает компетенции в Compose-разработке.

Читать далее

Введение в Xray

Level of difficultyMedium
Reading time15 min
Reach and readers36K

Документ для тех, кто совсем не знает, что такое Vless, Xray и прочие штуки, связанные с «ВПН», но кому это нужно для планирования организации доступа через данные инструменты. Или если кому-то просто интересен принцип работы «на пальцах».

В некоторых местах используются упрощения, из-за которых могло бы быть сломано не мало копий на профильных форумах, но для человека, который не знает и не очень горит желанием знать технические детали, они все равно роли не играют.

В данной статье представлена исключительно архитектура работы, как настроить сервер ищите в других статьях или гугле.

Читать далее

Паттерны ООП, так не издевались даже… Структурные шаблоны с примерами на Java

Level of difficultyMedium
Reading time15 min
Reach and readers19K

Привет! Меня зовут Бромбин Андрей. В этой статье разберём структурные паттерны ООП. Используя примеры на Java и простые метафоры, поймём природу шаблонов: как они работают, зачем нужны и чего требуют от нас взамен. Почему дизайн называют удачным при использовании паттернов по назначению, и почему так бывает не всегда.

Книг и статей о шаблонах проектирования, как песен о любви, потому что в разработке эта тема волнует каждого начинающего и не очень специалиста. Помните, как пели Чиж и Ко: «а не спеть ли мне песню о любви?» — давайте и я попробую.

Шаблонизироваться

Веб. К черту фреймворки! Пишем свой starter-kit с роутером и сторами. Часть 2

Level of difficultyHard
Reading time15 min
Reach and readers7.4K

Пробуем собрать свой минималистичный starter-kit.

Туториал из трех частей.

В предыдущей части мы реализовали причудливый конфиг на webpack + собственный роутинг.

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

В следующей рассмотрим работу с web-компонентами.

Читать далее

Kubernetes на пальцах: самое простое объяснение, что это такое

Reading time7 min
Reach and readers63K

Вы наверняка знаете, Kubernetes просто повсюду. От разработчиков, тестировщиков, DevOps-инженеров и системных аналитиков ожидают умения работать с этим инструментом. Даже продакт-менеджеры иногда интересуются, что это такое.

Если вы только начинаете знакомство с Kubernetes и хотите понять, с чего начать, эта статья для вас. Разберем, какие задачи он решает, какие у него основные объекты и как можно управлять кластером без сложных команд в терминале. Подробнее читайте внутри.

Читать далее

Что такое дескрипторы в Python и почему вам следует о них знать

Level of difficultyMedium
Reading time13 min
Reach and readers21K

Когда я только начинал изучать Python, я впервые столкнулся с дескрипторами. Глядя на примеры с кодом, я никак не мог понять, зачем это вообще нужно, и как я могу использовать это для решения моих задач. В общем, при первом знакомстве дескрипторы показались мне странной вещью, без знания которой вполне можно обойтись. Несколько месяцев назад, я вернулся к теме дескрипторов и полностью изменил свое мнение. И вот почему.

Читать далее

Pytest. Гайд для тех, кто ни разу про него не слышал

Level of difficultyEasy
Reading time24 min
Reach and readers46K

Недавно на работе передо мной возникла задача максимально быстро погрузиться в автоматизированное тестирование с ранее мной не использовавшимся фреймворком pytest. Почитав порядка десяти статей на Хабре я понял, что в каждой из статей есть много всего интересного, а чтобы системно погрузиться — необходимо идти читать документацию. Я решил, в привычной мне манере, разобраться и систематизировать самый сок для того, чтобы быстро въехать в суть и важные тонкости положив основу для дальнейшего использования. 

Всем интересующимся — добро пожаловать под кат!

Читать далее

Техническое руководство по реализации цифро-аналогового двухрежимного модуля рации DMR818S для системной интеграции

Level of difficultyMedium
Reading time14 min
Reach and readers11K

DMR818S — это высокоинтегрированный радиочастотный приемопередающий модуль, в который встроены микроконтроллер (MCU), основной чип цифровой рации и радиочастотный усилитель мощности (PA). Он поддерживает как цифровой режим связи DMR, так и традиционный аналоговый. Серия в основном состоит из двух основных моделей: стандартной версии DMR818S (номинальная мощность 2 Вт) и версии высокой мощности DMR818S-5W (номинальная мощность 5 Вт). Обе модели совместимы по распиновке и физическим размерам корпуса. Эта особенность позволяет поддерживать варианты продуктов с разным уровнем мощности за счет унифицированной конструкции печатной платы, что упрощает разработку и управление производством аппаратных платформ.

Читать далее

Почему E = mc²: подробное объяснение с минимумом формул и максимумом смысла

Level of difficultyEasy
Reading time25 min
Reach and readers126K

28 сентября 2025 года празднуется 80-летие атомной промышленности. А ещё в 2025-м году исполняется 120 лет, как Эйнштейн вывел формулу эквивалентности массы и энергии (в контексте его теории, не отрицая вклада других исследователей - мы поговорим и про них). Представляю вам текстовое изложение моей лекции, посвящённой этим событиям. Я не физик, но специализируюсь в теории и истории энергии и энергетики, поэтому не могу пройти мимо истории и смысла самой знаменитой формулы. Я попытался дать наиболее простое и в то же время полное объяснение этой формулы, с позиции современных знаний о физических явлениях. Я искал подобные объяснения во многих источниках, но либо натыкался на лес формул без пояснения их смысла, либо на что-то простенькое и поверхностное. Итак, [еще одно] объяснение смысла E=mc^2 . Углубленные знания в физике и математике не требуются. Критика и дополнения приветствуются!

Читать далее

The Goddess's Will — или почему никто не делает видеоигры в стиле пререндеренного 3D, а мы делаем одну такую

Level of difficultyEasy
Reading time15 min
Reach and readers67K

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

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

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

Будет про идеи, технологии, HR-процессы, страх публикации и сладкую депрессию. Так что тут без ромашкового чая не обойдётся. Заваривайте чашечку, и добро пожаловать под кат.

Читать далее

Как Borland «профукали все полимеры»

Level of difficultyEasy
Reading time17 min
Reach and readers139K

Первая встреча с Turbo Pascal

Начать стоит с самого начала, когда я впервые увидел Turbo Pascal 5.0. Тогда для меня это было что‑то на грани чуда.

Ведь как в те времена делалось «в норме»:

Читать далее...

SteosMorphy: опенсорс замена давно умершему PyMorphy2

Level of difficultyMedium
Reading time6 min
Reach and readers7.7K

PyMorphy2 — самая популярная библиотека для обработки слов в русском языке. Однако последний коммит в репозиторий этой библиотеки был сделан более 5 лет назад, а её установка на Python версии 3.11+ вызывает трудности, что делает использование данной библиотеки в нынешнее время максимально затруднительным.

Предлагаю рассмотреть новую Open Source библиотеку SteosMorphy, которая является аналогом PyMorphy, но делает всё быстрее и круче!

Ознакомиться

Знакомство с TypeScript: базовая типизация и ключевые возможности

Level of difficultyEasy
Reading time9 min
Reach and readers18K

Андерс Хейлсберг — именно этого человека принято считать создателем TypeScript. Инженер-программист, который подарил миру такие языки как: Turbo Pascal, Delphi и C#.
Основным мотивом создания TypeScript было желание решить проблемы, связанные с разработкой крупных и сложных приложений на JavaScript.

Думаю, многие кто работал с большими проектами замечал, как порой бывает сложно рефакторить или даже просто понимать структуру данных , а чаще всего вообще невозможно. Именно этими проблемами и "занимается" TypeScript. На данном этапе стоит уточнить, что TypeScript представляет собой расширенную версию JavaScript, содержащую в себе все основные возможности языка JavaScript, дополненные некоторыми расширениями.

Основной причиной использования TypeScript является возможность добавления статической типизации к JavaScript. Переменные с статической типизацией имеют тип, который не может быть изменен после их объявления. Это позволяет предотвратить множество потенциальных ошибок.

Читать далее

Использование файберов в PHP: разбор от команды СберЗдоровье

Level of difficultyMedium
Reading time12 min
Reach and readers17K

PHP и асинхронность. Такая комбинация долгие годы казалась невозможной, ведь PHP прочно ассоциировался с блокирующим подходом и синхронным выполнением скриптов «от запроса до ответа». С выходом PHP 8.1 ситуация несколько изменилась — появилась возможность реализовать асинхронность в PHP на основе файберов. Но есть нюанс — вопрос о том, действительно ли PHP с приходом файберов стал асинхронным, по-прежнему для многих остается открытым.

Меня зовут Михаил Сазонов. Я работаю в команде «Регистратура» в MedTech-компании №1 в России – в СберЗдоровье. В этой статье я разберу, наступило уже будущее или нет: стал ли PHP действительно асинхронным с приходом файберов или это миф.

Читать далее

Санпросвет о плавающей точке, статья первая: компьютеры и числа

Level of difficultyEasy
Reading time9 min
Reach and readers29K

Недавно мне понадобилось сэмулировать работу с плавающей точкой только при помощи целочисленной арифметики, поскольку флоаты были недоступны. Полез я было в интернет за готовой библиотекой, и чуть не утонул. Мало того, что я не нашёл того, что искал, это бог с ним. Я обнаружил, что в интернете кто-то неправ. :)

Оказалось, что форумы кишат людьми, которые не до конца понимают, как компьютеры манипулируют числами. Например, мемасик с КПДВ я стянул с реддита (перечеркнул его я). Кто-то настолько был напуган страшными ошибками округления чисел с плавающей точкой, что даже смешную картинку смастерил. Только вот проблема в том, что 0.5 + 0.5 в точности равно 1.0.

Таким образом, я решил засучить рукава, и изобрести велосипед. То есть, написать самую неоптимизированную C++ библиотеку для эмуляции IEEE754 32-битных чисел с плавающей точкой при помощи исключительно 32-битной целочисленной арифметики. Библиотека уложится в несколько сотен строк кода, и в ней не будет никакого битхакинга. Задача написать понятный код, а не быстрый. А заодно хорошенько его документировать серией статей.

Итак, этим полукреслом мастер Гамбс начинает новую партию мебели, или статья первая: поговорим о числах и компьютерах.

Читать далее

Топ-12 бесплатных нейросетей для создания видео и оживления картинок

Level of difficultyEasy
Reading time13 min
Reach and readers680K

Когда вы в последний раз поднимали взгляд к звёздам и думали: «А вдруг где-то там действительно есть жизнь?»

Космос всегда был для нас не только загадкой, но и сценой для фантазий. Учёные ищут ответы в телескопах и формулах, а мы решили погнаться за модой и спросить у нейросети.

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

Мы протестируем 12 сервисов и посмотрим, смогут ли они превратить безмолвный космос в оживший пейзаж и заселить его инопланетными героями.

Да пребудет с тобой Сила, нейросеть… и пусть твои звёзды не рендерятся сутками!

Приятного чтения!

Читать далее

Information

Rating
Does not participate
Registered
Activity