Pull to refresh
0
@estread⁠-⁠only

User

Send message

FastStream — новый убийца Celery?

Level of difficultyEasy
Reading time7 min
Reach and readers48K

FastStream - это относительно новая блестящая игрушка в руках Python’истов, которая создана специально для работы с брокерами сообщений.

В Python сложилось устойчивое убеждение, что если мы работаем с MQ - то нам нужен Celery, но он слегка устарел. Именно поэтому люди пытаются выкинуть “деда” и затащить вместо него любой новый многообещающий MQ-инструмент. Кроме того, культ Celery настолько силен в умах, что практически все новые библиотеки для работы с MQ пытаются стать его “убийцей” и заменой.

Однако, это не совсем верно. Существует огромный пласт проектов, которым нужен не фреймворк для менеджмента задач, а просто “голый” функционал Kafka/RabbitMQ/NATS/whatever для межсервисного взаимодействия. И все эти проекты вынуждены довольствоваться “сырыми” python-клиентами к своим брокерам, а всю обвязку вокруг этих клиентов писать самостоятельно. FastStream целится как раз в эту нишу.

В рамках статьи я хочу убедить вас, что не Celery мы едины, и для альтернативных инструментов найдется место под солнцем. А также рассмотрим фичи FastStream, которые он привносит в застоявшийся мир MQ-инструментов.

Читать далее

Планирование в Python

Reading time7 min
Reach and readers18K
Планирование задач — неотъемлемая часть работы любых веб-приложений, в особенности таких, в которых требуется совершать периодические или отложенные действия. В Python предусмотрено множество способов планирования задач, и у каждого есть свои сильные и слабые стороны. В этой статье будут рассмотрены некоторые наиболее популярные способы планирования задач в приложении, написанном на основе FastAPI.

sched – планировщик событий из Python


Модуль sched входит в состав стандартной библиотеки Python и обеспечивает простой механизм для планирования событий в программе. Этот модуль может работать в приложении на FastAPI, но пользоваться им не рекомендуется, так как он слишком прост, и функциональность его ограничена.
Читать дальше →

Собираем сетевое хранилище (NAS) XPenology

Level of difficultyEasy
Reading time12 min
Reach and readers207K

Привет! С вами снова Александр, DevOps из Банки.ру. Прошлая статья «Домашний сервер на базе Proxmox» вызвала интерес сообщества и бурное обсуждение в комментариях. 

Сегодня продолжу тему и расскажу о сборке NAS (Network Attached Storage) своими руками из доступного сейчас железа. Остановлюсь на процессе выбора, покупках, ориентировочной цене общей сборки на данный момент. 

Читать далее

Особенности Python, о которых вас точно спросят на техническом собеседовании. Часть 2

Level of difficultyMedium
Reading time11 min
Reach and readers23K

Привет, Хабр! Меня зовут Бартенев Евгений, я автор курса «Python-разработчик» в Яндекс Практикуме и практикующий разработчик. Я прособеседовал сотни кандидатов и сам неоднократно побывал в роли собеседуемого, поэтому хорошо представляю, какие именно знания проверяют на интервью и где чаще всего «проваливаются» не только джуны, но и опытные разработчики.

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

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

Читать далее

Особенности Python, о которых вас точно спросят на техническом собеседовании

Level of difficultyEasy
Reading time11 min
Reach and readers45K

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

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

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

Читать далее

Не рейт-лимитером единым: как управлять нагрузкой в микросервисах

Level of difficultyEasy
Reading time12 min
Reach and readers15K

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

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

Поехали!

VPN включил — подозрение получил: анонимность становится красным флагом

Level of difficultyMedium
Reading time6 min
Reach and readers275K

Раньше VPN был как шапка-невидимка. А теперь — как табличка на лбу: «Я скрываюсь, спросите меня за что».

В России готовится закон: поиск запрещенных материалов + VPN = отягчающее. Это значит, что мы подходим к черте когда сам факт анонимности будет поводом для расследования. В будущем мы будем платить за то, чтобы оставаться анонимными.

На примере «Моя борьба» разберем примеры запросов, за которые тебе ничего не будет, и случаи, когда за ту же тему могут наказать.

В статье:
– Какие формулировки в поиске считаются «плохими»
– Как написать «Mein Kampf» так, чтобы не словить протокол
Как извне определить, что ты используешь VPN?

ТОП-бонус внутри:
Технические данные для распознавания VPN, как построить твой уникальный UserID: пример кода и логика работы.

Читать далее

Из ATX в SFF: хроники компактной сборки, или как усмирить Ryzen в мини-корпусе

Level of difficultyEasy
Reading time8 min
Reach and readers16K

Привет, Хабр! Меня зовут Виталий, я дежурный системный инженер дата-центра в Selectel.

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

Маленькие корпуса формата SFF (Small Form Factor) завоевали популярность не только среди тех, кто стремится сэкономить пространство. Придать своему рабочему месту более стильный и минималистичный вид — бесценно! Такая система будет органично смотреться рядом с телевизором, впишется в любой интерьер комнаты.

Меня же привлекла идея собрать маленький, но мощный игровой ПК не столько из-за желания навести порядок, сколько из чистого любопытства — захотелось попробовать что-то новое и нестандартное.

Читать далее

Погружение в Go: подборка ресурсов для новичков и продолжающих

Reading time3 min
Reach and readers27K

Привет, Хабр! Пару лет назад мы уже выпускали подборку книг, подкастов и других ресурсов для изучения языка программирования Go. За это время коллекция полезных материалов подросла, и пришло время поделиться продолжением.

Новая подборка ждет вас под катом. Сохраняйте себе и отправляйте коллегам — пригодится как новичкам, так и опытным специалистам.

Читать далее

PaaS два года спустя. Обзор инструментов и какие задачи они решают

Level of difficultyMedium
Reading time9 min
Reach and readers6.8K

Друзья, привет! Если у вас так же много разработчиков как у нас, то и им, возможно,  стало тесно стоять в очереди на deploy в монолите. А значит, вы можете решить перейти на микросервисную архитектуру и дать каждому игроку свой мяч каждой команде свой микросервис. 

Меня зовут Дмитрий Лукиянчук, и я руковожу отделом в IT-платформе СберМаркета. В этой статье я сделаю обзор инструментов, которые у нас есть сейчас, спустя 2,5 года, и какие задачи эти инструменты решают. Вы узнаете, что вам нужно будет сделать, если вы сами решите взяться за построение платформы, а если у вас уже есть своя платформа, то вам будет интересно найти 10 отличий в своей и нашей реализации.

Читать далее

Как посчитать всё на свете одним SQL-запросом. Оконные функции PostgreSQL

Reading time5 min
Reach and readers672K

Я с удивлением обнаружил, что многие разработчики, даже давно использующие postgresql, не понимают оконные функции, считая их какой-то особой магией для избранных. Ну или в лучшем случае «копипастят» со StackOverflow выражения типа «row_number() OVER ()», не вдаваясь в детали. А ведь оконные функции — полезнейший функционал PostgreSQL.
Попробую по-простому объяснить, как можно их использовать.


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

Паттерны кеширования: проблемы, решения, практические рекомендации

Level of difficultyMedium
Reading time14 min
Reach and readers9.7K

Приложения тормозят. Пользователи уходят. Бизнес недоволен. Знакомая картина? Часто корень зла – медленный доступ к данным. Кеширование может стать спасательным кругом. Но это не серебряная пуля. Неправильно настроенный кеш – источник новых проблем, иногда похуже старых.

Читать далее

Еще чуть-чуть быстрее ищем кратчайший путь на Python

Level of difficultyMedium
Reading time7 min
Reach and readers8.6K

Привет! На связи команда геоаналитики ecom.tech, мы строим модели машинного обучения на основе пространственных данных для задач ритейла в реальном времени, а также создаем промежуточные инструменты на базе методов прикладной геоаналитики. На наших технологиях работает Самокат и Мегамаркет. 

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

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

Читать далее

Как сварить кашу из микросервисов

Reading time10 min
Reach and readers12K
Одной из причин популярности микросервисов является возможность автономной и независимой разработки. По сути микросервисная архитектура — это размен возможности автономной разработки на более сложный (по сравнению с монолитом) деплой, тестирование, дебаг и мониторинг. Но нужно учитывать, что микросервисы не прощают ошибок разделения ответственности. При неправильном разделение обязанностей возникают частые зависимые изменения в разных сервисах. И это намного больнее и сложнее, чем согласованные изменения в рамках разных модулей или пакетов внутри монолита. Согласованные изменения в микросервисах осложняется согласованной выкладкой, деплоем, тестированием и т.д.

И хотелось бы рассказать о различных паттернах и антипаттернах разделении ответственностей на микросервисы.
Читать дальше →

Массовые увольнения в российском IT: что на самом деле происходит в компаниях — взгляд CEO

Level of difficultyEasy
Reading time7 min
Reach and readers291K

Минцифры кричит о нехватке миллиона IT-специалистов, министр труда и социальной защиты заявляет о «всего» ста тысячах. Параллельно рынок труда захлестнула волна сокращений. А тут ещё и слухи об AGI — суперумном ИИ, который захватит все рабочие места. Парадокс? Нет, скорее болезненная трансформация от иллюзий к реальности. 

На связи CEO Surf Владимир Макеев. Я в разработке с 2011 года, почти с самых истоков развития мобильных приложений в РФ. Сегодня поделюсь своим взглядом на то, как накопленный кризис управленческих иллюзий повлиял на IT-сферу и почему за последний год уволили так много специалистов. И как на ситуацию влияет развитие ИИ, который может заменить разработчиков.

Читать далее

System Design — ТОП 5 ошибок новичка на интервью

Level of difficultyEasy
Reading time9 min
Reach and readers28K

Почему так сложно пройти первые System Design Интервью? Какие есть подводные камни? Оказывается, что не все понимают базовый алгоритм прохождения, а также нюансы движения по основным этапам.

Меня зовут Владимир и я senior backend в геораспределенной HighLoad системе. Которая выдерживает пиковые нагрузки в млн RPS. Моя страсть System Design. Я успешно прохожу интервью в BigTech компании, а также готовлю учеников. Выделил ТОП-5 ошибок у новичков и готов поделиться их разбором. Подробности под катом.

Узнать ошибки

Пользовательская документация: как мы применили к ней лучшие мировые практики

Level of difficultyEasy
Reading time12 min
Reach and readers12K

Привет, Хабр! Я Костя Макушев, работаю техническим писателем в подразделении ИТ-Инфраструктуры Т-Банка. В этой статье расскажу, какие проблемы возникли с пользовательской документацией наших продуктов и какие подходы мы начали применять, чтобы эти проблемы решить.

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

Читать далее

Как я свой VPN-сервис делал

Level of difficultyEasy
Reading time5 min
Reach and readers107K

Под катом: моя история о том, как я решил не платить за VPN, а вместо этого развернуть свой. Потом подумал: а почему бы не сделать полноценный сервис? А потом... ну, дальше всё как обычно.

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

Читать далее

Как поднять персональный VPN

Level of difficultyEasy
Reading time3 min
Reach and readers191K

Как поднять свой VPN?


Зачем я вообще решил сделать свой VPN? 1. Я хочу быть уверен, что никто не пишет логи и не знает куда и что я отправил. 2. Я могу пользоваться ВПН без ограничений на количество устройств, скорости и объема траффика. 3. Если скинуться группой, то выйдет дешевле.

Что же, приступим к запуску персонального VPN. Расскажу как это делал я:

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

Как мы пришли к использованию фейков в API-тестах и почему фейки лучше моков

Level of difficultyMedium
Reading time15 min
Reach and readers20K

Всем привет! Меня зовут Найля, и я инженер по обеспечению качества в Т-Банке на одном из внутренних сервисов. Занимаюсь ручным и автоматизированным тестированием на проекте. Расскажу о том, как мы написали API-тесты с использованием фейков, что это такое и когда стоит отдать предпочтение им, а не мокам.

Долгое время у нас были только юнит-тесты, написанные разработчиками, и небольшое количество UI-тестов с использованием внутреннего фреймворка компании. На другие виды тестов на тот момент было недостаточно компетенций. Но время шло, и все больше всплывала потребность менять автоматизацию тестирования на проекте.

Читать далее
1
23 ...

Information

Rating
Does not participate
Registered
Activity