Как стать автором
Обновить
4
0
Toxa Андреевич @andToxa

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

Отправить сообщение

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

Уровень сложностиСредний
Количество просмотров2.3K

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

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

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии4

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

Уровень сложностиСредний
Время на прочтение45 мин
Количество просмотров199K

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

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

Читать далее
Всего голосов 446: ↑438 и ↓8+490
Комментарии360

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

Время на прочтение13 мин
Количество просмотров8.4K

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

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

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии0

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

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров7.7K

...

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

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

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии10

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

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров37K

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

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

Читать далее
Всего голосов 20: ↑19 и ↓1+18
Комментарии27

Доступ к серверу за NAT

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров23K

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

Читать далее
Всего голосов 9: ↑7 и ↓2+6
Комментарии34

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

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров44K

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

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

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

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

Читать далее
Всего голосов 12: ↑7 и ↓5+2
Комментарии24

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

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров49K

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

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

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

Читать далее
Всего голосов 69: ↑67 и ↓2+80
Комментарии96

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

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров27K

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

Читать далее
Всего голосов 8: ↑6 и ↓2+4
Комментарии29

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

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.6K

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

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии4

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

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров44K

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

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

Читать далее
Всего голосов 70: ↑65 и ↓5+77
Комментарии252

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

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров10K

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

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

Читать далее
Всего голосов 16: ↑9 и ↓7+5
Комментарии4

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

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров31K

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

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

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

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии36

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

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров5K

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

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

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

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии19

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

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров7.5K

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

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

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

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), можно сделать вывод, что специалисты выделяют несколько контрольных точек:

Читать далее
Всего голосов 6: ↑1 и ↓5-4
Комментарии7

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

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров17K

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

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

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

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

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.2K

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

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

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

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии9

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

Время на прочтение7 мин
Количество просмотров2.1K

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

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

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии2

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

Время на прочтение16 мин
Количество просмотров63K

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

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

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

Кто тут прав?

Читать далее
Всего голосов 95: ↑91 и ↓4+104
Комментарии334

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

Время на прочтение11 мин
Количество просмотров2.9K

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

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

Читать далее
Всего голосов 8: ↑6 и ↓2+6
Комментарии6

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность