Pull to refresh
4
0
Toxa Андреевич @andToxa

инженер широкого профиля

Send message

Как управлять распределённой системой, не привлекая внимания санитаров

Level of difficulty Medium
Views 1.6K

Привет! Меня зовут Александр Попов, я tech lead команды маркетплейса 05.ru. Сейчас мы занимаемся бэком маркетплейса и некоторыми другими сервисами на рынке Дагестана. 

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

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

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficulty Medium
Reading time 44 min
Views 122K

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

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Total votes 491: ↑483 and ↓8 +475
Comments 315

Защищаем сервис от перегрузки с помощью HAProxy

Reading time 13 min
Views 5.9K

Если вам доводилось использовать HAProxy для балансировки трафика, вы наверняка как минимум слышали, что этот продукт умеет отслеживать показатели активности сервиса и пользователей и реагировать на них по предопределённым условиям. Обычно в статьях на эту тему приводится пример ограничения пользователя по исходному IP-адресу, если частота запросов с него превышает некоторый предопределённый заранее лимит. Вот, к примеру, такая статья с сайта разработчиков.

Я бы хотел немного углубиться в тематику использованного механизма stick tables, но поговорить не про пользователей, активно интересующихся вашим сайтом, а про нагрузочную способность, или ёмкость, всего сайта (ну или каких-то его путей). Во-первых, любой сервис ограничен в количестве одновременных запросов, которые возможно обслужить на существующих ресурсах. Во-вторых, чаще всего у сервиса не одна площадка или хотя бы не один экземпляр балансёра. А это значит, что поймать одинокого пользователя — это, конечно, здорово, но хотелось бы решить и другую интересную задачу: защитить сервис от перегрузки в целом и в случае, если балансёров более одного. Бонусом поговорим о проблеме умного перераспределения нагрузки между локациями.

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

Микросервисы прагматика: как построить большую систему с помощью пачки монолитов

Level of difficulty Medium
Reading time 22 min
Views 6.2K

...

Попробую, попытаюсь объяснить. Наверное, для кого-то это будет оправданием, но я просто объясняю.

Как быстро зафейлить новый проект Java? Просто взять и применить все, что ты услышал на последней Java конференции;) Как быстро сделать энтерпрайзный проект минимальной командой в короткие сроки? Верно — подобрать оптимальную архитектуру и правильные инструменты. Senior Developer из команды Jmix Дмитрий Черкасов рассказывает о компромиссном варианте между хайповыми (все еще) микросервисами и монолитами, который называется Self-Contained Systems. Кажется, он выпьет меньше крови и сохранит ваши нервы. Дальше — рассказ от первого лица.

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

Почтовый сервер с нуля. Часть первая

Level of difficulty Medium
Reading time 17 min
Views 21K

Очень часто на этапе стажировки новых сотрудников мы в нашей компании сталкиваемся с типичными простыми ошибками, непониманием работы DNS и почты. При этом обучение новых сотрудников по этой теме — достаточно длительный и сложный процесс, так как сами вопросы требуют построения сложных логических цепочек в голове у начинающего инженера. В один момент мы составили свою вики и схемы для обучения и решили поделиться этим опытом на Хабре в виде серии статей, чтобы людям, которые решили связать свою жизнь с IT вообще и администрированием в частности, стало проще. Материалы этой серии предназначены для начинающих администраторов.

В этом материале будет представлена связка полноценного почтового сервера в виде Exim4+Dovecot+PostfixAdmin+RainLoop.

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

Obsidian. Путь от простой структуры к сложной и обратно. Часть 1

Level of difficulty Easy
Reading time 6 min
Views 18K

Я постоянно пишу заметки. В общей сложности занимаюсь этим уже 4+ года. Сперва был приверженцем бумажных заметок, так как мало информации "для изучения" туда попадало. Потом появилась потребность в навигации в своих записях, поэтому ушёл в цифру.

Сначала пробовал ноуш для личных записей + Confluence для записей по личным проектам + Saved Messages в тг для ссылок .
Оказалось сложно и не удобно. Год назад открыл для себя Obsidian.

Перенёс туда всю инфу со всех пространств и было ОК несколько месяцев. Но информация всё копилась и копилась.

И тут пришло время усложнений и планирования...

Читать далее
Total votes 12: ↑7 and ↓5 +2
Comments 24

Как разработчику организовать личную базу знаний: систематизация информации из книг, статей, видео и курсов

Level of difficulty Easy
Reading time 6 min
Views 42K

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

Хочу поделиться своими мыслями и опытом («сыном ошибок трудных») в организации своей базы знаний, регулярно приобретаемых после прочтения разных книг, статей, просмотра видосов, прохождения курсов и прочих самообразовательных активностей.

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

Читать далее
Total votes 84: ↑82 and ↓2 +80
Comments 93

Как я настраивал WireGuard Server на MikroTik

Level of difficulty Medium
Reading time 7 min
Views 11K

После недавнего приобретения роутера MikroTik, у меня встала задача настроить на нём WireGuard сервер для удалённых клиентов. Если вы, как и я, никогда до этого не настраивали сервер WireGuard, то это статья для вас.

Читать далее
Total votes 8: ↑6 and ↓2 +4
Comments 26

Вариантность обобщенных типов в картинках и простых примерах

Level of difficulty Medium
Reading time 6 min
Views 2.8K

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

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

Умный дом в панельной хрущёвке

Level of difficulty Easy
Reading time 9 min
Views 41K

Сразу признаюсь, что слово «хрущёвка» в этом тексте – скорее хук в заголовке. Правильнее было бы сказать, что я просто описываю свой опыт создания умного дома в обычной среднестатистической квартире городского жителя РФ, который я проживаю прямо сейчас.

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

Читать далее
Total votes 87: ↑82 and ↓5 +77
Comments 252

Популярные расширения на PostgreSQL

Level of difficulty Easy
Reading time 8 min
Views 8.9K

В чем сила, бр..Постгреса? Сила PostgreSQL во многом заключается в его расширяемости, которая позволяет открыть больше функциональности.

В статье рассмотрим четыре популярных расширения на PostgreSQL на 2024 год.

Читать далее
Total votes 19: ↑12 and ↓7 +5
Comments 4

Умный коттедж 500 м² на Home Assistant: автоматизируем только нужное

Level of difficulty Easy
Reading time 8 min
Views 29K

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

Но что, если подойти с умом и выбрать только действительно нужное, ограничившись светом, шторами, датчиками и климатом?

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

Читать далее
Total votes 16: ↑16 and ↓0 +16
Comments 36

Добавление оффлайн карт с open street map (osm) на web страницу

Level of difficulty Easy
Reading time 2 min
Views 3.2K

Задался я как-то вопросом собрать GPS-ошейник для шерстяного спутника моей жизни, дабы этот кракен сухопутный мог бороздить лесные просторы без особого ущерба для моей нервной системы. Собрать саму “шайтан-машинку” планирую на двух ESP32, двух GPS-модулях NEO-6M и Lora-модулях E22 для дальней связи, чтобы работало везде, всегда и безотказно.

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

И вот, я решил поделиться тем, что нашёл, вразумил и применил.

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

SMTP как открытая дверь для фишинга. Популярный недостаток почтовых серверов и меры предосторожности

Level of difficulty Easy
Reading time 7 min
Views 6.3K

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

Немного вводной информации

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

Open Relay – SMTP сервер, поддерживающий соединения без авторизации от любого устройства для отправки электронной корреспонденции. Очевидно, что данный недостаток представляет собой серьезную угрозу для безопасности электронной почты и инфраструктуры в целом.

Более подробно об истории с открытым перенаправлением можно прочитать здесь - https://practical365.com/what-is-an-open-relay. Ну а мы двинемся дальше.

Общий подход к тестированию smtp

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

Обратившись к популярным методичкам по наступательной безопасности (например, Hacktricks - https://book.hacktricks.xyz/network-services-pentesting/pentesting-smtp), можно сделать вывод, что специалисты выделяют несколько контрольных точек:

Читать далее
Total votes 6: ↑1 and ↓5 -4
Comments 7

Бесплатные векторные карты на своём хостинге

Level of difficulty Medium
Reading time 6 min
Views 13K

Векторные карты Protomaps на базе OSM

Каждый веб-разработчик знает о OpenStreetMap (OSM), свободной альтернативе Google Maps. Несмотря на всеобщую известность OSM, у некоторых всё-таки возникают вопросы: как сделать веб-карту с открытыми данными OSM, как самостоятельно публиковать карты?

На эту тему есть популярные руководства, в том числе по работе с базами PostGIS и запуску тайлсерверов для реализации бесшовных карт OSM. Но есть принципиально иной подход — векторные карты Protomaps, которые обеспечивают более высокое разрешение, настройку внешнего вида и наложение произвольных меток. Они изначально предполагают максимальную простоту в создании своих карт. А главное, что разместить тайлы можно на своём хостинге или в облаке.
Читать дальше →
Total votes 89: ↑86 and ↓3 +83
Comments 12

Метрики команды разработки

Level of difficulty Easy
Reading time 4 min
Views 3.4K

Заказчику задачи в конечном счёте всё равно, какой методологией управления разработкой пользуется команда исполнителей - точная дата получения результата для него важнее.

Чтобы называть эту дату более обоснованно, необходимо понимать, как на самом деле работает команда: сколько поставляет задач, как долго проходит процесс анализа задачи перед взятием в работу, на каких этапах в целом происходит "застревание" задачи.

Под катом - описание метрик и способы их расчёта.

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

Как мы использовали Telekube для удаленной отладки приложений в Kubernetes

Reading time 7 min
Views 1.9K

Привет, Хабр! Эта статья расскажет о способе, который мы в Just AI придумали и реализовали для локальной разработки и отладки сервиса, работающего в Kubernetes.

Допустим, у нас есть некий компонент (ядро системы), который обычно запускается в Kubernetes и имеет множество взаимосвязей с другими сервисами. У компонента два сетевых интерфейса, которыми активно пользуются другие части системы, также развернутые в Kubernetes. Наша задача — научиться запускать его в IDE на своем ноутбуке в режиме отладки, чтобы максимально удобно и быстро отлаживать этот компонент. Telekube предоставляет возможность это сделать

Читать далее
Total votes 1: ↑1 and ↓0 +1
Comments 0

Система водяных «тёплых полов» в квартире и частном доме. Что нужно знать, чтобы не пожалеть о содеянном?

Reading time 16 min
Views 61K

«Тёплые полы» в квартирах- это модная тема в ремонте ещё с 1990-х.

Сейчас тема сильно развилась, так как резко увеличилось количество специалистов, желающих такие полы построить из современных материалов.

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

Кто тут прав?

Читать далее
Total votes 112: ↑108 and ↓4 +104
Comments 334

Наблюдаемость качества разработки: от субъективных суждений к объективным данным

Reading time 11 min
Views 2.4K

Привет, Хабр! Я — Алексей Диянов, технический директор Nedra Digital. Мы — IT в нефтегазовой отрасли. Компании чуть больше трёх лет. Мы быстро выросли как в численности персонала, так и в количестве проектов, но не избежали классических проблем в виде трудностей внутренней коммуникации, регулярного тушения пожаров и принятия управленческих решений на основе субъективного мнения.

Поговорим о наблюдаемости качества разработки. Нужно ли измерять всё, что поддается измерению? И если нужно, то с чего начать, где брать исходные данные и с какими инженерными метриками работать, чтобы повысить управляемость разработки в будущем? 

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

Information

Rating
Does not participate
Location
Барнаул, Алтайский край, Россия
Date of birth
Registered
Activity