Pull to refresh
23
0
Aleks Lozovyuk @aleks_raiden

Криптовалюты, финансы, распределенные системы

Send message

Как создавать высокопроизводительные очереди сообщений с различной архитектурой

Level of difficultyMedium
Reading time10 min
Views4.1K

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

Рассказываем об основных сложностях развития высоконагруженных ИТ-систем и способах их преодоления с помощью очередей сообщений на примере Tarantool Queue Enterprise.

Материал подготовлен по мотивам вебинара «Как создавать высокопроизводительные очереди сообщений с различной архитектурой». Вы можете посмотреть его здесь.

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

Павел Дуров Российской Империи. Как Иван Сытин строил медиаимперию, просвещал крестьян и отказался стать наркомом

Reading time9 min
Views1.4K

Привет, Хабр! На связи Андрей из МТС Диджитал. Как-то раз, разбираясь с домашней библиотекой, я наткнулся на книгу об Иване Сытине — крупнейшем книгоиздателе в Российской Империи. Я много работаю с разными типами контента, и меня восхитило, как Иван Дмитриевич создавал новые форматы, выходил на новые рынки и просвещал таких же крестьян, каким он был сам. 

Под катом — про знаменитые календари и лубки Сытина, литературу для народа, газетную империю, которую можно сравнить с New York Times. А еще про то, как Сытин пережил проблемы с рабочими и две революции и чем он ответил на предложение Ленина стать наркомом. 

Читать далее
Total votes 15: ↑14 and ↓1+21
Comments3

Краткий гайд по созданию визуальной новеллы. Часть 2: сценаристика

Level of difficultyEasy
Reading time10 min
Views2.7K

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

Читать далее
Total votes 22: ↑21 and ↓1+24
Comments13

Хранение данных NFT в смарт-контрактах Ethereum

Level of difficultyMedium
Reading time5 min
Views666

Невзаимозаменяемые токены (NFT) стали популярным использованием технологии блокчейна, представляя уникальные цифровые активы. В основе реализации NFT лежит задача эффективного хранения и извлечения данных NFT в рамках ограничений модели хранения Ethereum. В этой статье рассмотрим технические тонкости хранения метаданных NFT (в частности, tokenURI и tokenId) в смарт-контрактах Ethereum с акцентом на хранилище смарт-контракта и важную роль хэш-функции keccak256.

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

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

Рецензия на книгу “Docker. Вводный курс. 3 издание"

Reading time8 min
Views5K

Аудитории Хабра нравятся рецензии на книги по базовым ИТ-технологиям. И сегодня — как раз такая:«Docker. Вводный курс. 3 издание» (Docker: Up & Running, 3rd Edition) от издательства O'Reilly Media, в переводе от БХВ Петербург. Популярное руководство по Docker, написанное Шоном П. Кейном и Карлом Маттиасом, выпущено в 2023 году и предназначена для разработчиков, сисадминов и DevOps-инженеров. Полезность книги — в подробном объяснении технологии Docker от самых основ и до продвинутых концепций и практик.

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

Hono.js: Легкий Путь к Эффективным API

Level of difficultyMedium
Reading time5 min
Views5K

Когда речь идет о разработке простого бэкенда, то в голову приходит Express.js. Однако в 2024 году он считается устаревшим, так как есть шустрые альтернативы. Приветствую вас, дорогие читатели и сегодня расскажу о Hono.js.

Читать далее
Total votes 12: ↑11 and ↓1+16
Comments11

Launcher для GoodbyeDPI – понятный способ обойти все блокировки и восстановить YouTube в России

Level of difficultyEasy
Reading time2 min
Views223K

Сейчас опишу интуитивно понятный способ восстановления работоспособности YouTube и обхождения любых блокировок провайдера на Windows компьютере. Уверен, что статью по указке РКН быстро удалят, так что если тема вам интересна, дочитайте до конца, сразу скачайте себе программу, даже если планируете использовать после. Заносить в закладки особого смысла нет. Ну и ставьте лайк. Отдельно также следует повысить карму ValdikSS - Пользователь / Хабр (habr.com) автору уникального решения GoodbyeDPI, который публиковал статью с описанием своего решения пару недель назад тут: Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу, теперь там банер РКН и слова «Эта интернет-страница удалена из публичного доступа по юридическим причинам».

Я не буду заново описывать техническое решение GoodbyeDPI, кратко это программа (или служба ОС Windows) позволяющая обнаруживать «заглушки» созданные провайдерами по указанию РКН для блокировки небогоугодных сайтов. Программа бесплатно распространяется на GitHub, является консольной утилитой мало понятной рядовому пользователю. Полное описание и ссылки есть на NNMClub ⚡ Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу. GoodbyeDPI и ReQrypt + Blockcheck – ресурс, конечно же, заблокирован у вас, если еще не установлен какой-либо способ обхода блокировок.

Сейчас появилось решение в виде графической оболочки для GoodbyeDPI, которое на русском языке позволяет в пару кликов решить проблемы медленного YouTube и не работающих сайтов. Решение Launcher for GoodbyeDPI, это простое окошко настройки к GoodbyeDPI, который также идёт в комплекте. Скачивайте с сайта автора, или с моего зеркала.

Восстановите YouTube и запрещенные сайты
Total votes 193: ↑181 and ↓12+203
Comments172

Два потока, одно ядро: как устроена одновременная многопоточность

Level of difficultyMedium
Reading time13 min
Views22K

Одновременная многопоточность (Simultaneous multithreading, SMT) — это функция, позволяющая процессору одновременно обрабатывать команды из двух разных потоков. Но задавались ли вы когда-нибудь вопросом, как это работает? Как процессор отслеживает два потока и распределяет ресурсы между ними?

В статье я объясню, как устроена эта функция. Понимание внутреннего устройства SMT поможет вам решить, подходит ли она для ваших продакшен-серверов. Иногда SMT способна резко повысить производительность системы, но в некоторых случаях она приводит к замедлению. Знание подробностей позволит вам сделать правильный выбор.

Примечание: основная часть изложенного в статье относится к реализации SMT компании Intel, также называемой гипертредингом (hyper-threading). Она основана на научной статье компании, опубликованной в 2002 году.
Читать дальше →
Total votes 48: ↑46 and ↓2+68
Comments47

Баланс стоимости предметов в RPG с помощью линейной алгебры

Level of difficultyMedium
Reading time4 min
Views11K

Я обожаю RPG, меня привлекают их богатый сюжет, стратегическая глубина и захватывающие миры. Также меня восхищают data-driven подходы к разработке. Они не только улучшают логическую структуру игровых механик, но и гарантируют, что каждый элемент игры сбалансирован и вносит значимый вклад в опыт игрока. Баланс - один из самых сложных аспектов разработки игр, поскольку он требует тщательного внимания к взаимодействию игровых механик. Сегодня я расскажу о том, как использовать линейную алгебру для баланса стоимости предметов в игре.

Читать далее
Total votes 22: ↑20 and ↓2+24
Comments27

Распределённые блокировки с помощью Tarantool 3

Level of difficultyMedium
Reading time11 min
Views2K

Распределённая блокировка — очень удобный инструмент в кластере, который помогает обеспечивать эксклюзивный доступ к некоторому общему ресурсу. Цель такой блокировки — обеспечить доступ к ресурсу лишь одному сервису или запросу в данный момент времени. Так предотвращается гонка за данными и их неконсистентность. Распределённая (или кластерная) блокировка называется так потому, что она обеспечивается несколькими узлами, и выход из строя одного из них не повлияет на приложение. В этой статье я расскажу, как реализовать этот инструмент с помощью Tarantool 3.

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

Как построить мост между JavaScript и C++ через WASM, или гайд для самых маленьких

Level of difficultyEasy
Reading time11 min
Views4.9K

Всем привет. Сегодня я хочу рассказать об использовании WASM с C++ и разберу, как взаимодействовать с этим всем делом через JavaScript.

Материал предназначен для новичков в данной теме.

Читать далее
Total votes 14: ↑13 and ↓1+15
Comments8

Безопасность контейнерных сред: как отбить атаки киберпиратов

Level of difficultyHard
Reading time22 min
Views1.7K

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

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

Управление временем контейнера с помощью docker-compose и faketime

Level of difficultyMedium
Reading time5 min
Views3.7K

Периодически при тестировании микросервисов приходится сталкиваться с необходимостью изменения времени для проверки работы того или иного функционала. Это может быть функционал, который срабатывает по “тику” cron или применение системного времени как одного из условий обработки/хранения/передачи данных тестируемым микросервисом.  

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

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

Инфраструктура для data engineer Kafka

Level of difficultyEasy
Reading time8 min
Views2.4K

В этой статье я хочу показать как можно использовать Kafka в дата-инженерии и как её "пощупать".

Рекомендуется всем кто не знает что такое Kafka.

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

Обзор катастрофических рисков ИИ

Level of difficultyMedium
Reading time126 min
Views8.2K

Это перевод статьи Дэна Хендрикса, Мантаса Мазейки и Томаса Вудсайда из Center for AI Safety. Статья не требует практически никаких предварительных знаний по безопасности ИИ, хотя предполагает некоторый (небольшой) уровень осведомлённости о прогрессе ИИ в последние годы.

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

Копирайты – это рак, или инфраструктура разработки веб-сервера Angie

Level of difficultyMedium
Reading time17 min
Views2K

Open source проект – это не только код.

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

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

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

Сетевые плагины (CNI) в Kubernetes

Level of difficultyHard
Reading time14 min
Views5.3K

Сеть Kubernetes — это сложная и увлекательная тема, наполненная множеством подвижных частей. Одним из ключевых компонентов, обеспечивающих сетевую связность и взаимодействие различных элементов кластера, является CNI (Container Networking Interface).

CNI  - это спецификация, разработанная CNCF (Cloud Native Computing Foundation) для стандартизации процесса подключения сетевых интерфейсов к контейнерам. CNI обеспечивает гибкость и адаптивность сетевой инфраструктуры, позволяя интегрировать различные сетевые решения в Kubernetes.

Давайте подробнее разберем, что такое Container Network Interface?

Читать далее
Total votes 18: ↑16 and ↓2+17
Comments2

Эбен-Эмаль: или как я перестал волноваться и полюбил кумулятивный заряд

Reading time29 min
Views20K

Военная история изобилует примерами удивительных событий, на первый взгляд, не поддающихся логике и здравому смыслу. Один из них будет описан в этой статье. Сегодня мы рассмотрим события утра 10 мая 1940 года, когда в ходе плана «Гельб» небольшая группа немецких десантников высадилась на крышу бельгийского форта Эбен-Эмаль — крепости, спроектированной по последнему слову тогдашней фортификации, с гарнизоном численностью более 1200 человек, расположенную в идеальной для обороны местности и считавшуюся неприступной.

Читать далее
Total votes 104: ↑98 and ↓6+115
Comments21

Как использовать defer в Go

Level of difficultyEasy
Reading time5 min
Views3.1K

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

Defer — это ключевое слово в Go, которое позволяет отложить выполнение функции до момента завершения выполнения текущей функции. Это относительно простой способ управлять ресурсами.

В этой статье мы и рассмотрим как использовать defer в Golang.

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

От Отечественной войны 1812 года к правилам управления изменениями

Level of difficultyMedium
Reading time67 min
Views3.2K

12 июня 1812 года войска Наполеона перешли Неман. Так началась Отечественная война, в которой Российской империи противостоял очень сильный противник. С огромным опытом, с гениальным полководцем, который ещё не терпел поражений. Долгое наступление, Бородино, сданная врагу Москва, пожар, зима и бегство французов.

Через полгода после начала войны Наполеон с остатками армии убежал из России.

В этой статье мы изучим, почему Великая армия погибла, а её выдающийся полководец - отступил, что для этого предпринимала сторона Российской империи. И какие ошибки совершали обе стороны.

Но не просто так, а сквозь призму того, как нужно управлять изменениями.

Бой затеять новый и до конца стоять...
Total votes 25: ↑20 and ↓5+21
Comments17
1
23 ...

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity