Pull to refresh
20
0

User

Send message

OpenConnect: недетектируемый VPN, который вам понравится

Level of difficultyMedium
Reading time15 min
Views222K

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

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее
Total votes 325: ↑324 and ↓1+323
Comments342

Kubernetes (не) для всех

Reading time9 min
Views6.1K

Когда мы собрались писать статью про Kubernetes, у нас была куча идей для мемов, картинок и интересных историй из жизни. Стоило только заварить эфиопских зёрен, достать пару куросанчиков (пасхалка из курса). Всё перевернулось с ног на голову. И знаете почему?

Какими бы интересными ни были истории из жизни, статья про Kubernetes всё равно превращается в «очередную статью про Kubernetes». Вот вам история Kubernetes, вот его архитектура, а вот манифесты и пример приложения. И так каждый день: приложения, манифесты, релизы. Снова релизы, откаты релизов.

Даже работая YAML-программистом и выкатывая по 10 раз на дню в Kubernetes очередной релиз, задумываешься об однообразии процессов. Не хочется растягивать резину и петь дифирамбы kubectl, а хочется, чтобы за твоим приложением в Kubernetes следила автоматика: выкатывала новые версии, восстанавливала после сбоя и перезапускала, если закончилась память. Поэтому рано или поздно на свет должны были появиться операторы Kubernetes!

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

Штраф в 150% от стоимости проданной квартиры: ужасы валютных нарушений, и как их избежать

Reading time11 min
Views65K

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

Читать далее
Total votes 200: ↑193 and ↓7+186
Comments173

Имплементируем WebSocket протокол на Go

Reading time9 min
Views23K

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

Или узнать с какой простотой Go стал одним из самых популярных языков программирования для написания сетевых приложений.

Читать далее
Total votes 39: ↑38 and ↓1+37
Comments9

Разработчик с мозгом груга

Reading time14 min
Views86K

Введение


это сборник мыслей о разработке программ собранный разработчиком с мозгом груга

разработчик с мозгом груга не очень умный, но разработчик с мозгом груга программирует много лет и научился кое чему, хоть всё равно часто запутывается

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

разработчиков с большим мозгом много, некоторым страница не понравится, скривят кислая рожа

Ещё больше-больше ДУМАЮТ, что они разработчики с большим мозгом и им она тоже не понравится

(груг раньше думал груг с большим мозгом, но потом всё понял)

это ладно!

груг надеется, что тебе понравится читать и может ты научишься на много-много ошибка груг совершил за длинную жизнь программиста
Читать дальше →
Total votes 261: ↑235 and ↓26+209
Comments81

Еще один гайд по переходу с Linux на Mac

Reading time15 min
Views19K

Вот вот начнется продажа ноутбуков Apple с чипами M2. Для кого-то этот факт будет сигналом к обновлению рабочей машинки. Наверняка, найдутся и те, кто впервые пересядит за мак. И среди пересевших на мак обязательно будет какая-то небольшая доля линуксоидов. Решил написать небольшой обзор актуальных инструментов, поделиться опытом перехода. Знаю, по теме на Хабре есть десятки статей. Где-то повторюсь, где-то раскрою тему хуже коллег, но я уверен, каждый читатель найдет для себя что-то новое.

Читать далее
Total votes 62: ↑43 and ↓19+24
Comments68

Yandex Planner. Как планировать вычислительные мощности

Reading time14 min
Views12K


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

Меня зовут Сергей Фомин, я разработчик Yandex Planner. Мой пост будет посвящён тому, как мы эффективно решаем задачу планирования вычислительных мощностей.

Сначала я расскажу, что такое Yandex Planner и почему мы решили писать своё решение. После этого мы поговорим про то, в чём заключается задача планирования, почему она не такая простая, как может показаться на первый взгляд. И в качестве одного из способов решения задачи мы рассмотрим дефрагментацию ресурсов. Поехали.
Читать дальше →
Total votes 47: ↑47 and ↓0+47
Comments3

Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу

Reading time7 min
Views700K
Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.

Существует два распространенных типа подключения DPI: пассивный и активный.

Пассивный DPI

Пассивный DPI — DPI, подключенный в провайдерскую сеть параллельно (не в разрез) либо через пассивный оптический сплиттер, либо с использованием зеркалирования исходящего от пользователей трафика. Такое подключение не замедляет скорость работы сети провайдера в случае недостаточной производительности DPI, из-за чего применяется у крупных провайдеров. DPI с таким типом подключения технически может только выявлять попытку запроса запрещенного контента, но не пресекать ее. Чтобы обойти это ограничение и заблокировать доступ на запрещенный сайт, DPI отправляет пользователю, запрашивающему заблокированный URL, специально сформированный HTTP-пакет с перенаправлением на страницу-заглушку провайдера, словно такой ответ прислал сам запрашиваемый ресурс (подделывается IP-адрес отправителя и TCP sequence). Из-за того, что DPI физически расположен ближе к пользователю, чем запрашиваемый сайт, подделанный ответ доходит до устройства пользователя быстрее, чем настоящий ответ от сайта.
Читать дальше →
Total votes 212: ↑212 and ↓0+212
Comments352

Архитектура и решения безопасности в облаке часть 1

Reading time5 min
Views5.7K

При увеличении объёма использования облачных ресурсов возникла необходимость встраивания методологии CI/CD в процесс облачной разработки, так как в текущем варианте скорость раскатки приложений и сервисов хоть и стала быстрее, но по концепции не сильно отличалась от baremetal-инфраструктуры.

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

Kubernetes в НСПК

Reading time5 min
Views7.5K

Всем привет! Меня зовут Назаров Алексей, я работаю в отделе администрирования инфраструктурных сервисов автоматизации Мир Plat.Form (НСПК) и сегодня расскажу о том, как устроены наши кластеры Kubernetes и как мы ими управляем.

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

R*-tree в Go, немного геймдева и поиска элементов в пространстве

Reading time7 min
Views7.4K

Приветствую, уважаемые читатели Habr!

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

Эта статья заденет опыт в геймдейве и идеи, где это ещё можно было бы использовать :)

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

Мигрируем БД в продакшене без даунтайма

Reading time12 min
Views24K

В этой статье мы рассмотрим основные принципы миграции БД без даунтайма и дадим быстрые рецепты для наиболее распространенных случаев.

Читать далее
Total votes 59: ↑58 and ↓1+57
Comments51

Yubikey для дома и офиса

Reading time10 min
Views29K

На приобретение Yubikey меня вдохновил Хабр материал из опубликованной ранее статьи. Может быть, и моё творчество способно вдохновить кого-то на подобные действия, и в результате будут появляться все новые и новые информационные блоки не раскрытых ранее областей применения подобных аппаратных ключей шифрования. Такой своего рода прирост человеческих знаний. IT-гикам будет понятнее, что с такой штукой можно сделать, куда её вставить и как применить по назначению. В статье рассмотрена модернизация входа в учётную запись Windows, работа с GPG шифрованием, в том числе использование Yubikey для SSH как на Linux, так и на Windows, подружим с ним LUKS, а также продемонстрируем работу TOTP аутентификации на примере Github. Материал не носит рекламный характер. Создан гиком для гиков, содержит только материалы практики. Минимум воды и научных изысканий.
Читать дальше →
Total votes 56: ↑54 and ↓2+52
Comments48

Прячем секреты в репозитории с помощью helm-secrets, sops, vault и envsubst

Reading time6 min
Views17K

Привет, Хабр! Меня зовут Евгений Симигин, я занимаюсь внедрением DevOps-практик в Центре компетенций по разработке облачных и интернет-решений МТС Digital. А еще я – куратор практикумов docker и kubernetes на платформе rebrainme.com.

Практика показывает, что далеко не все инженеры знают о том, как шифровать секреты в своих репозиториях. Поэтому расскажу об инструментах helm-secrets, sops и vals, которые помогают быстро и просто решить эту задачу. Надеюсь, что после выхода моей статьи закоммиченных паролей в репах станет меньше :).

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

11 Aтрибутов Хорошего Firmware

Level of difficultyEasy
Reading time6 min
Views18K

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

Читать далее
Total votes 56: ↑51 and ↓5+46
Comments114

Организация кода в микросервисах и мой подход применения гексагональной архитектуры и DDD

Reading time7 min
Views14K

Привет, Хабр! В Монолите весь код должен быть в едином стиле, a в разных микросервисах можно использовать разные подходы, языки программирования и фреймворки. Для простых микросервисов с 1 — 2 контроллерами и 1 — 10 действиями особо смысла городить слои абстракций нет. Для сложных микросервисов с различными состояниями и логикой перехода между ними наоборот лучше изначально не лениться. Я хочу рассказать о моем опыте организации кода и использования подходов DDD, Портов и Адаптеров для обоих случаев. Есть кратко суть статьи: Джун — пишет код в контроллере. Мидл — пишет кучу абстракций. Сеньор — знает когда нужно писать код в контроллере, а когда нужны абстракции.
Читать дальше →
Total votes 13: ↑9 and ↓4+5
Comments8

Scala: Гексагональная архитектура и DDD на Free Monad в функциональном программировании

Reading time8 min
Views4K

Привет Хабр! Пятничного тру ФП хардкора с Free Monad, Таглес Финал, Монад трансформерами, Refined Types, Smart Constructors и прочим таким вам в ленту. Хардкор сам себя в ленту не принесет так что погнали.

Гексагональная архитектура делит наш код на три основные части.

1) Primary Adapters,

2) Secondary Adapter

3) Logic aka Domain.

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

Как я решил проблему плохого кода с помощью architecture guide

Reading time13 min
Views15K

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

Читать далее
Total votes 29: ↑23 and ↓6+17
Comments36

Ирина — опенсорс русский голосовой помощник. Offline-ready

Reading time9 min
Views48K

- Ирина, таймер...
- Ставлю таймер на пять минут.

Вполне себе обыденная история из моего быта. Я таки сделал собственного автономного голосового помощника.

TL;DR> Ирина вполне неплохо работает дома 24x7.

Потребуется установить Python 3.5+ и зависимости через pip (немного знаний Python).

Скиллы "из коробки": таймер, погода, контроль медиа (громче/тише/дальше), контроль плеера MPC-HC, запуск медиа из папки, расписание ближайших электричек, "подбрось кубик/монетку".

Плагинами добавляются: другие скиллы, Text-to-Speech и Speech-to-Text движки.

Интересно? Поехали >
Total votes 110: ↑108 and ↓2+106
Comments88
1
23 ...

Information

Rating
Does not participate
Registered
Activity