Search
Write a publication
Pull to refresh
4
0
Michael Elin @vanelm

Consulting Network Engineer

Send message

Как Uber обслуживает более 40 миллионов чтений в секунду из онлайн-хранилища с помощью встроенного кэша

Level of difficultyMedium
Reading time15 min
Views9.2K

Привет, Хабр! Представляю вам перевод статьи "How Uber Serves Over 40 Million Reads Per Second from Online Storage Using an Integrated Cache" автора Preetham Narayanareddy. Из неё вы узнаете, как в Uber проектировалась система кэширования на основе Redis, с какими сложностями и тонкостями пришлось столкнуться разработчикам, и как в итоге им удалось создать действительно высокопроизводительное решение.

Читать далее

Автоматический выпуск SSL-сертификатов. Используем Kubernetes и FreeIPA

Level of difficultyEasy
Reading time4 min
Views5.7K

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

Читать далее

Как внедрить двухфакторную аутентификацию в веб-приложения, не предусматривающие ее изначально

Level of difficultyMedium
Reading time8 min
Views7.1K

Еще в пандемийные годы стало понятно, что жить без двухфакторки на удаленке, как минимум, рискованно. И хоть большинство приложений и обеспечивают 2FA, все-таки существуют сервисы, для которых защищенный доступ из коробки недоступен. Я Саша Зеленов, архитектор Cloud.ru, и сегодня я поделюсь с вами опытом, как мы настроили у себя двухфакторную аутентификацию для веб-приложений, которые сопротивляются прогрессу. 

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

Путеводитель по Docker. От основ контейнеризации до создания собственного докера

Reading time10 min
Views40K

Добрый день! Сегодня мы поговорим о контейнеризации, а именно о наиболее популярной на данный момент технологии её реализации - Docker. Также вашему вниманию будут представлены уязвимости при реализации данной технологии.

Читать далее

От кода до сертификата: Создание веб-приложения на Python Flask для автоматизации выдачи сертификатов

Reading time9 min
Views5.7K

Привет всем! Меня зовут Дмитрий. Я надеюсь, что статья будет полезной и интересной для вас(не пинайте сильно, первый опыт, мысли путаются). Тема моей статьи — создание веб-приложения на Python Flask для автоматизации выдачи сертификатов и вдохновился написанием ее после прочтения Почта без хлопот: автоматизация отправки писем с помощью Python

Читать далее

Python — Unit of work

Level of difficultyMedium
Reading time6 min
Views9.4K

Unit of work или "единица работы" - Поведенческий паттерн, который позволяет определить логическую транзакцию. Эта транзакция нужна, для объединения нескольких "маленьких" операций в одну "большую"(Acid).

Читать далее

Как собрать LTE-модем на базе SDR

Level of difficultyHard
Reading time17 min
Views22K
Приветствую всех!
Пожалуй, самой закрытой технологией в пользовательском сегменте является сотовая связь. Очень немногие знают о том, как на самом деле работают телефоны и модемы, отчего им часто приписывают всякие мифические свойства. Как насчёт попробовать запустить полностью открытую реализацию модема стандарта 4G? Именно этим я и предлагаю заняться.



Итак, в сегодняшней статье поговорим о том, как взаимодействовать с мобильной сетью при помощи SDR. Попутно узнаем, какой софт для этого существует, и соберём самый дорогой 4G-модем в истории.

Традиционно будет много интересного.
Читать дальше →

Мега-Учебник Flask Глава 5: Логины пользователей (издание 2024)

Level of difficultyMedium
Reading time17 min
Views19K

Это пятая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как создать подсистему входа пользователей.

Начать изучение

SaltStack: управление конфигурациями

Level of difficultyMedium
Reading time5 min
Views6.4K

SaltStack позволяет администраторам и DevOps-специалистам взаимодействовать с различными уровнями своих инфраструктур, от индивидуальных серверов до центров обработки данных. Система использует модель Salt Minion.

Salt Master координирует действия и распределяет задачи среди узлов Salt Stack. Salt Minions, установленные на управляемых серверах и устройствах, слушают команды от мастера и выполняют их, обеспечивая таким образом моментальное распространение конфигурационных изменений и обновлений по всей инфраструктуре.

Читать далее

ГАЙД по python стеку для Data Science инженеров

Level of difficultyEasy
Reading time7 min
Views21K

Data science - это область, которая занимается изучением и анализом больших объемов данных, чтобы находить в них полезные закономерности, делать прогнозы или принимать решения на основе фактов. Самым популярным языком программирования для data science является Python. Библиотеки pyhton, о которых пойдет речь: NumPy, SciPy, Pandas, Matplotlib. Статья написана для новичков, которые хотят узнать о python стеке для data science.

Подробнее

Инструменты, уязвимости и атаки на беспроводные технологии. Злой двойник и плата глушилка

Reading time7 min
Views8.6K

Снова рады приветствовать дорогих читателей! Продолжаем рубрику статей "Без про-v-ода" в которой мы обозреваем для вас различные инструменты, уязвимости и атаки на беспроводные технологии или протоколы. Wi-Fi технология стала неотъемлемой частью нашей повседневной жизни. Мы используем беспроводные сети для доступа в интернет, обмена данными, стриминга видео и музыки, и многих других целей. Однако, с увеличением популярности Wi‑Fi сетей, также возрастает и риск для безопасности информации, передаваемой по этим сетям. В этой статье будет задействован мощный инструмент который поможет нам оценить уровень безопасности Wi‑Fi сетей и выявить потенциальные уязвимости и плата для тестирования на безопасность Wi‑Fi сетей.

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

Читать далее

Почта без хлопот: автоматизация отправки писем с помощью Python

Level of difficultyEasy
Reading time3 min
Views16K

Привет-привет! С вами снова Оля — программист Учебного центра компании «Тензор». Ранее я писала здесь о разработке ботов в Telegram, но в моем отделе не скупятся на творческие задачи — так что и эта статья вряд ли будет последней.

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

Читать далее

Ликбез по методологиям проектирования хранилищ данных

Level of difficultyEasy
Reading time2 min
Views15K

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

Рассмотрим сильные и слабые стороны самых популярных методологий.

Читать далее

Микросервис на Python+ FastAPI

Level of difficultyEasy
Reading time19 min
Views32K

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

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

В микросервисной архитектуре приложение разбивается на несколько отдельных служб, которые выполняются в отдельных процессах. Существует другая база данных для разных функций приложения, и службы взаимодействуют друг с другом с использованием HTTP, AMQP или двоичного протокола, такого как TCP, в зависимости от характера каждой службы. Межсервисное взаимодействие также может осуществляться с использованием очередей сообщений, таких как RabbitMQ , Kafka или Redis .

Читать далее

Как я делал сеть на 10 гигабит с минимальным бюджетом

Level of difficultyMedium
Reading time11 min
Views84K


Решил я ускорить тривиальную задачу в виде передачи файлов с одного компьютера на маленький домашний NAS. Раньше 10 гигабит были для меня чем-то заоблачным (с учётом цены на свичи, а также сетевые карты). Но благодаря апгрейду дата-центров, а также свежим чипам для свичей от Realtek, апгрейд оказался недорогим и безболезненным.

О выборе железа и тестах — под катом.
Читать дальше →

Знакомство с TPM (доверенным вычислительным модулем)

Level of difficultyHard
Reading time9 min
Views16K
TPM (Trusted Platform Module) — это международный стандарт, обеспечивающий доверенную работу с вычислительными платформами в целом и предоставляющий ряд возможностей обеспечения безопасности в компьютерных системах, в частности: хеширование, шифрование, подписывание, генерацию случайных чисел и т.д.


Он был разработан консорциумом TCG (группа по доверенным вычислениям) и стандартизирован в 2009 году Международной организацией по стандартизации (ISO) и Международной электротехнической комиссией (IEC), получив номер ISO/IEC 11889:2009.
Читать дальше →

Ыыыы ыыыыыыыыыы с помощью AmneziaЫЫЫ

Reading time3 min
Views115K

Ну что теперь будем писать про VPN вот так?

Кстати, в Китае вместо слова VPN вы часто можете встретить «Science Online»(科学上网), «ladder»(梯子), или «Internet accelerator»(上网加速器), все это обозначает VPN. В России, кажется еще все не так плохо, но это не точно. С первого марта писать о VPN на русскоязычных площадках нельзя, наказание для площадок — блокировка на территории России. При этом считаются как новые статьи, так и статьи, опубликованные до вступления в силу приказа о запрете. В скором времени, крупные ресурсы будут блокировать любую информацию о VPN, поэтому мы настоятельно советуем подписываться на телеграм каналы разных VPN, в том числе на наш. Мы не знаем сколько еще статей нам отведено на Хабре, и как хабр дальше будет показывать статьи со словом VPN в разных странах.

А теперь о хорошем.

Самый ожидаемый нашими пользователями бесплатный VPN AmneziaFree v.2 c защитой от блокировок наконец‑то готов. Должны признаться, последнее время мы много работали над self‑hosted приложением AmneziaVPN, а так же над протоколом AmneziaWG (или по простому — AWG, его мы используем в бесплатном VPN), поэтому работа над проектом AmneziaFree v.2 немного затянулась. В любом случае, мы очень рады, что наконец можем пригласить Вас присоединиться к числу пользователей нашего бесплатного сервиса. Все так же, как и раньше, без регистрации, рекламы и ограничении по сроку работы.

Бесплатный VPN AmneziaFree v.2, можно использовать только для популярных недоступных на территории России сайтов (не будем их перечислять, вы и сами их знаете), список достаточно большой, поэтому, скорее всего, то что вам надо в нем есть. При этом, не заблокированные в России сайты, будут открываться напрямую, без VPN. То есть напрямую с Вашего IP‑адреса.

Читать далее

Пишем асинхронный парсер и скрапер картинок на Python с графическим интерфейсом

Reading time6 min
Views20K

В этой статье мы создадим desktop-приложение, которое по нашему запросу будет сохранять на нашем диске заданное количество картинок. Так как картинок будет много, мы воспользуемся асинхронностью Python для конкурентной реализации операций ввода-вывода. Посмотрим, чем отличаются библиотеки requests и aiohttp. Также создадим два дополнительных потока приложения, чтобы обойти глобальную блокировку интерпретатора Python.

Читать далее

Умный офис в «Москва-Сити» на Home Assistant: автоматизируем только нужное

Level of difficultyEasy
Reading time5 min
Views11K

Умными домами сегодня никого не удивишь, но как насчет офисов? Могут ли умные функции повысить комфорт и, как следствие, производительность труда в офисе?

Мы попытаемся ответить на этот вопрос, посетив умный офис в башне «Федерация» комплекса «Москва-Сити». Там весьма высоки требования к интеграторам, поэтому решение должно быть проверенным и надежным.

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

Интересно? Ныряйте под кат.

Читать далее

Лучший стек для питониста-джуна 2024 (2 часть)

Level of difficultyEasy
Reading time7 min
Views30K

Итак, что же поменялось за чуточку больше чем полгода? Если мы будем говорить об актуальности - ничего. Django до сих пор, а скорее всего так будет и всегда, остается "на плаву". Большая часть вакансий для back-end разработчика на Python имеет в себе требования по знаниям Django. Говорить вечно о том, что он удобен, постоянно поддерживаем, дает довольно обширный функционал и так далее - бессмысленно. Все основные моменты я упомянул в первой части.

Ладно, вступление в сторону! Лучше обсудить то, что изменилось с Django за это время.

Самое грандиозное из этого - выход Django 5! По сути скачок на пятую версию не принес в фреймворк особо крупных изменений, но парочку моментов хочу подчеркнуть. Первое и самое важное, на мой взгляд, это то, что разработчики решили добавить больше асинхронности без подключения таск-менеджеров. Для этого они добавили несколько декораторов и методов. Хотя это немного, на мой взгляд, противоречит самому принципу работы Django (напоминаю: Django синхронный фреймворк и для того, чтобы сделать очередь задач, нужно подключать таск-менеджеры, например, Celery), но тем не менее, это все равно крутой шаг в эволюцию. Надеюсь, что разработчики и дальше будут двигаться в этом направлении.

Далее, не могу не упомянуть очень важный момент - совместимость с Python. Django 5 будет работать только с версиями Python 3.10 и выше. Django 4.2.x - последняя версия, которая работает с Python 3.8 и 3.9.

Остальное я могу отнести в одну кучу: добавление фасетных фильтров в админке, упрощение шаблонов для отрисовки полей формы, прикольная, на мой взгляд, функция для значений по умолчанию, вычисленных базой данных, и еще пару приколюх с БД. Все остальное и более подробно вы сможете почитать в официальной документации. Я же не буду все разжевывать, так как отойду от темы статьи.

Смотреть польностью

Information

Rating
Does not participate
Location
Praha, Hlavni Mesto Praha, Чехия
Registered
Activity