Search
Write a publication
Pull to refresh
0
@oneshikread⁠-⁠only

User

Send message

Самый полный Роадмеп бэкенд-разработчика на Python с нуля 2025

Level of difficultyEasy
Reading time40 min
Views41K

Этот роадмэп мы начали собирать ещё в прошлом году вместе с нашей командой мидл-бэкендеров. Хотелось системно оформить весь стек технологий, с которым реально работает современный backend-разработчик на Python — от базовых тем вроде HTTP и SQL до CI/CD, микросервисной архитектуры, Kubernetes, облаков, безопасности и брокеров сообщений.

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

Читать далее

Containerlab, как альтернатива Cisco Packet Tracer / PNETLab

Level of difficultyEasy
Reading time8 min
Views5.4K

Всем привет!

В этой статье, я вам расскажу про свой личный опыт работы с виртуальными сетевыми лабораториями. Хочу начать своё повествование с небольшой предыстории — как я пришёл к теме.

Читать далее

DevOps Tutorials — Ansible: разворачиваем веб-приложение на виртуальном сервере

Level of difficultyMedium
Reading time9 min
Views8.2K



Привет, друзья!


В этой серии статей я делюсь с вами своим опытом решения различных задач из области веб-разработки и не только.


В этой статье мы научимся разворачивать Angular+Java веб-приложение на виртуальном сервере Ubuntu Linux с помощью Ansible.


Интересно? Тогда прошу под кат.

Читать дальше →

CI/CD на GitHub Actions и GitLab CI для самых маленьких. Часть 1

Level of difficultyEasy
Reading time5 min
Views15K

Часть 1: Основы CI/CD – что это и зачем нужно; обзор GitHub Actions и GitLab CI

В последние годы вы, вероятно, слышали слова "DevOps", "CI", "CD", возможно, даже "GitHub Actions" или "GitLab CI". Но что это всё значит на практике? Нужно ли быть сеньором DevOps-инженером, чтобы с этим разобраться?

Читать далее

Чистый код — красивая архитектура. А работает ли это?

Level of difficultyEasy
Reading time12 min
Views20K

Вы пишете код не для компилятора — он съест любую абракадабру, если синтаксис верен. Вы пишете для людей, для того парня из соседнего отдела, который будет разбирать ваш код через полгода. Для себя, когда забудете, о чём думали в момент написания. Для тимлида, у которого нет времени расшифровывать ваши «фичи», замаскированные под техдолг. 

Грязный код — это про непонятные переменные, запутанные модули и решения «на скорую руку». Вас ждёт после такого потеря во времени и в лучшем случае косые взгляды коллег. К сожалению, непонятный код часто пишут не только из-за спешки, но и из-за неопытности и чрезмерного энтузиазма тех, кто хочет всё переделать.

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

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

Давайте разберём, как превратить кошмар в конфетку — детали внутри.
Читать дальше →

Экстремально отказоустойчивые сети для офиса на базе фабрики BGP EVPN VXLAN: решение, которым гордился бы Скайнет

Level of difficultyMedium
Reading time10 min
Views13K

К миллиону продолжений «Терминатора» есть много вопросиков. Мой личный топ кринж — в «Терминатор. Генезис», когда Скайнет теряет ядро сети (там реально звучит слово «ядро») и все боты вырубаются. Между тем, отказоустойчивые сетевые конфигурации начали строить ещё мы, кожаные мешки, в первой половине 21 века. 

В кампусных сетях отказоустойчивость ядра мы чаще всего реализуем за счёт объединения коммутаторов ядра в стек. Это защищает ядро от сбоев и выхода из строя оборудования. В ЦОДах же отказоустойчивость сети реализуется на основе MLAG либо же за счёт развертывания сети в виде фабрики BGP EVPN VXLAN — набора из  коммутаторов уровня spine и leaf. Такие конфигурации защищены не только от сбоев оборудования, но и от ошибок в коде и конфигурациях ПО.

Я уверен, что инфраструктура сети Скайнет реализована как минимум в одной из этих конфигураций, причём с геораспределением. Так что показанное в кино — бред (впрочем, как и многое другое). А вот для обычных кампусных сетей такая архитектура — оверкил, её используют очень редко и в специфических обстоятельствах.

Сегодня именно о таких кейсах из своей практики я расскажу в этой статье: как архитектура BGP EVPN VXLAN защищает от ошибок на уровне ПО и позволяет реализовать геораспределённую катастрофоустойчивость, какие с ней связаны подводные камни и в каких случаях компании считают такое решение целесообразным.

Читать далее

Proxmox Datacenter Manager: новый способ управления нодами

Reading time5 min
Views20K

Proxmox — яркий представитель систем, которые при должной настройке работают годами без перерыва. Максимальный аптайм моих серверов уже превысил три года — и это не предел. Да, он не идеален и до сих пор у него были недостатки, с которыми приходилось мириться. А вот недавно на официальном форуме была опубликована альфа-версия новой системы управления Proxmox Datacenter Manager — должно помочь! Что же это за софт? Давайте разбираться.

Читать далее

Я тебя найду и позвоню

Level of difficultyEasy
Reading time6 min
Views181K

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

Расскажу далее.

Об инциденте с NTP-серверами

Reading time5 min
Views84K

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

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

Читать далее

Управление конфигурациями сетевого оборудования Eltex | Oxidized

Reading time4 min
Views8.4K

Каждый системный / сетевой администратор в рано или поздно сталкивается с ситуацией: кто-то поправил конфиг, но не очень известно кто и когда. Дифференциальных бэкапов не было, сислог не снимался.

Как узнать что было изменено?

Долго искал подходящее решение. Нашел. 

Читать далее

Топология Dragonfly для дата-центровых сетей

Level of difficultyHard
Reading time40 min
Views14K

Итак, вы гиперскейлер, давайте отталкиваться от этого. Потому что если нет — собирайте хоть 3-tier на OSPF. А гиперскейлер вы в том случае, если у вас большая сеть на тысячи хостов, а лучше стоек. Вы уже попробовали топологию Клоза. Сначала вам очень нравилось. Она вся такая плотная, регулярная и масштабируемая — просто прелесть.

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

Но отчего‑то вы несчастливы. Вам плохо спится. Гложут сомнения и дурные мысли.
А всё дело в эпохе 400G! Вы долгие годы строили свою сеточку на 25+100, и всего всегда хватало. Раньше. А теперь надо на хосты соточку спустить. А значит и аплинки надо расширять, да вы и сами уже понимаете, что пора: ещё несколько лет — и эта сеть станет устаревшей. 200G, 400G, SerDes по 100 Гб/с на PSM4. Тут думать надо.

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

Читать далее

Протоколы внутренней маршрутизации

Level of difficultyMedium
Reading time7 min
Views11K

Материал продолжает серию статей, посвящённую семинарам внутреннего обучения, которые проводятся в IT‑компании NAUKA. Надеемся, что сведения, представленные в ней, будут полезными для школьников старших классов, студентов младших курсов ВУЗов, сотрудников IT‑компаний, не связанных в своей работе с IT‑инфраструктурой.

В данном разделе будут кратко рассмотрены протоколы внутренней динамической маршрутизации (RIP, EIGPR, OSPF) наиболее часто используемые в настоящее время для сетей IPv4.

Читать далее

Разница между прямым прокси, обратным прокси и балансировщиком нагрузки

Level of difficultyEasy
Reading time5 min
Views30K

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

Читать далее

Как не сжечь команду дотла, или Почему Work-life balance — задача руководителя

Level of difficultyEasy
Reading time9 min
Views22K

Всем привет! Я Саша Ворожищев, руководитель мобильной разработки в AGIMA. В интернете сотни статей о том, как важно не выматывать себя на работе, но всё без толку. Согласно недавнему исследованию Хабр Карьеры, более 90% российских IT-специалистов сталкивались с выгоранием. При этом более 40% доводят себя до поздних стадий, когда эмоциональное истощение уже перерастает в депрессию.

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

Читать далее

Что читать Golang-разработчику. Семь главных книг: от Донована и Кернигана до МакДауэлл

Reading time7 min
Views34K

Спрос на бэкенд-разработчиков — а Go неотделим от бэкенд-программирования — стабильно растет. У самого же Golang немало плюсов: простой, строгий, статически типизированный, он обладает развитой стандартной библиотекой и славится поддержкой параллельного и асинхронного программирования. При этом в Golang нет классов и нет поддержки наследования, что значительно повышает удобство поддержки кода. Благодаря этим и другим преимуществам Go в последние годы сохраняет статус популярного и перспективного языка.

В МойОфис мы широко используем Go в качестве основного языка для разработки корпоративной почты нового поколения Mailion. При этом разрабатываем на нём не только микросервисы, но и собственное хранилище с поддержкой дедупликации (про устройство Mailion читайте здесь). В связи с этим мы постоянно следим за книжными новинками и актуальными темами современной бэкенд-разработки. Специальной литературы по теме Golang существует немало, однако с помощью наших разработчиков мы выбрали самые важные, профессионально полезные и увлекательно написанные издания.

Делимся рекомендациями книг под катом!

Открыть подборку книг

Собираем docker и деплоим из GitHub Actions

Level of difficultyMedium
Reading time4 min
Views9.6K

Я приведу краткую инструкцию, как быстро собирать проект и деплоить docker. Флоу будет очень простым: одним job мы собираем образ (с указанием тэга или ветки) и кладем в приватный репозиторий образов GitHub, а другим - job деплоим оттуда. Это удобно, когда есть несколько сред и мы один раз собираем и контейнер запускаем из него с разными переменными среды.

Начнем

Сеть контейнеров — это не сложно

Reading time17 min
Views35K

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

В этой статье мы ответим на следующие вопросы:

Как виртуализировать сетевые ресурсы, чтобы контейнеры думали, что у каждого из них есть выделенный сетевой стек?

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

Как настроить сетевой доступ из контейнера во внешний мир (например, в Интернет)?

Как получить доступ к контейнерам, работающим на сервере, из внешнего мира (публикация портов)?

Читать далее

Изучаем Docker, часть 2: термины и концепции

Reading time6 min
Views278K
В первой части перевода серии материалов, посвящённых Docker, мы сделали общий обзор этой системы. В частности, мы говорили о том, почему технологии контейнеризации важны в наше время, о том, что такое контейнеры Docker, и о том, с чем их можно сравнить. Сегодня мы поговорим об экосистеме Docker и рассмотрим важные термины, с которыми вы можете столкнуться на пути изучения и использования Docker. Продолжив аналогию с разными вкусностями, представим, что наши термины — это пончики. Дюжина пончиков.

Часть 1: основы
Часть 2: термины и концепции
Часть 3: файлы Dockerfile
Часть 4: уменьшение размеров образов и ускорение их сборки
Часть 5: команды
Часть 6: работа с данными



Читать дальше →

Grep все, что можно

Reading time6 min
Views57K

Про grep знают если не все, то многие читатели Хабра, однако его многочисленных родственников знают немногие.




Давайте узнаем, как можно грепать все, что таит в себе хоть крупицу текста.

Читать дальше →

Сети для самых матёрых. Микровыпуск №7. EVPN

Reading time65 min
Views78K


Как вы помните из прошлого выпуска провайдер linkmeup встал на ступень Tier 2. Но просто предоставлять услуги доступа в Интернет или L2/3VPN-ы (быть по сути трубой для трафика) Linkmeup не устраивает. Сейчас большим спросом пользуются услуги облачного хранения данных, поэтому linkmeup обзавелся несколькими собственными датацентрами, расположенные по экономическим соображениям в Рязани. В связи с этим перед нами встала новая задача — как связать датацентры между собой и предоставить клиентам доступ к корпоративным СХД, расположенные в наших автозалах? Ввиду того, что в core-network уже запущен MPLS, то наш выбор пал на EVPN/MPLS. Его и рассмотрим.
Читать дальше →
1
23 ...

Information

Rating
Does not participate
Registered
Activity

Specialization

Network Engineer, NetOps
Middle
Git
Python
RESTful API
Flask
Docker
Linux
Nginx