Обновить
0
@estread⁠-⁠only

Пользователь

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

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

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

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

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

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

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

Читать далее

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

Время на прочтение7 мин
Охват и читатели18K
Планирование задач — неотъемлемая часть работы любых веб-приложений, в особенности таких, в которых требуется совершать периодические или отложенные действия. В Python предусмотрено множество способов планирования задач, и у каждого есть свои сильные и слабые стороны. В этой статье будут рассмотрены некоторые наиболее популярные способы планирования задач в приложении, написанном на основе FastAPI.

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


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

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

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели207K

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

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

Читать далее

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

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

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели45K

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели15K

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

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

Поехали!

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

Время на прочтение3 мин
Охват и читатели27K

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.8K

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

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

Читать далее

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

Время на прочтение5 мин
Охват и читатели672K

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


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

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

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели9.7K

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

Читать далее

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

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

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

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

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

Читать далее

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

Время на прочтение10 мин
Охват и читатели12K
Одной из причин популярности микросервисов является возможность автономной и независимой разработки. По сути микросервисная архитектура — это размен возможности автономной разработки на более сложный (по сравнению с монолитом) деплой, тестирование, дебаг и мониторинг. Но нужно учитывать, что микросервисы не прощают ошибок разделения ответственности. При неправильном разделение обязанностей возникают частые зависимые изменения в разных сервисах. И это намного больнее и сложнее, чем согласованные изменения в рамках разных модулей или пакетов внутри монолита. Согласованные изменения в микросервисах осложняется согласованной выкладкой, деплоем, тестированием и т.д.

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели12K

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

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

Читать далее

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

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели191K

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


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

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

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

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

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели20K

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

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

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность