Pull to refresh
20
0
Сергей Поповичев @Vanger

DevOps

Send message

Ускоряем разработку на FastAPI: Мощный инструментарий для создания и тестирования API

Level of difficultyMedium
Reading time11 min
Views2K

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

Ходя по множеству собеседований, я заметил что многие компании, активно использующие FastAPI, разработали собственные библиотеки, но аналогичных инструментов с открытым доступом и свободной лицензией практически нет. Я, как опытный backend-разработчик на Python и Django, решил адаптировать и интегрировать наиболее полезные и востребованные решения для разработки REST API в FastAPI, основываясь на своем опыте работы с Django.

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments9

Telegram Боты на Aiogram 3.x: Доступ после подписки на каналы, получение Telegram ID и админка с рассылкой сообщений

Level of difficultyMedium
Reading time39 min
Views5.1K

В рамках цикла публикаций о разработке телеграм-ботов с использованием aiogram 3 я давно хотел осветить несколько ключевых тем: получение Telegram ID пользователей, групп и каналов, рассылка сообщений всем пользователям бота, вход в бота только по подписке на определенный канал или каналы, интеграция базы данных SQLite с помощью aiosqlite и деплой (удаленный запуск бота на сервере или хостинге). Сегодня мы закроем все эти вопросы.

Мы создадим бота с использованием вебхуков (о необходимости и способах их настройки я уже рассказывал в одной из предыдущих статей) и в конце статьи осуществим деплой на сервисе Amvera Cloud. Я выбрал этот сервис из-за бесплатного доменного имени с HTTPS-протоколом, которое автоматически выделяется и привязывается к созданному проекту, а также за простоту деплоя: достаточно загрузить файлы через GIT или внутренний интерфейс, сгенерировать простой файл с настройками прямо на сайте Amvera, и проект автоматически соберется и запустится.

Читать далее
Total votes 7: ↑5 and ↓2+7
Comments15

Реальный кейс для РЕД АДМ и никаких сферических конфигураций в вакууме

Level of difficultyEasy
Reading time8 min
Views1.4K

Привет, Хабр, меня зовут Елена, я работаю в компании «РЕД СОФТ» и отвечаю за функционал централизованного управления конфигурациями РЕД АДМ Промышленная редакция. В прошлой статье я рассказала о механизме работы конфигураций — одного из разделов подсистемы управления РЕД АДМ. Однако сферические конфигурации в вакууме — это, конечно, замечательно, но вам, дорогие читатели, наверняка хотелось бы больше реальных боевых кейсов. Их есть у меня!

Сегодня расскажу вам, как реальные кейсы наших заказчиков ложатся в основу стандартных конфигураций в РЕД АДМ, где уже это применялось и с какими трудностями столкнулись заказчики и разработчики (а также пресейл, техподдержка и все сообщ….то есть причастные). Конечно же, явок и паролей называть не буду, но техническую составляющую распишу во всех деталях.

Читать далее
Total votes 6: ↑5 and ↓1+11
Comments2

Как я решил проблему с постоянными обрывами RDP-соединения после внедрения MFA-аутентификации

Level of difficultyEasy
Reading time5 min
Views8.5K

Как я решил проблему с постоянными обрывами RDP-соединения после внедрения MFA-аутентификации

После внедрения в рабочие процессы компании MFA-аутентификации появилась проблема - RDP-соединение обрывалось каждые 10-15 минут. Это сильно мешало работе сотрудников, в основном при работе с сервером 1С. К сожалению, точную причину проблемы в итоге мне выявить не удалось, но сама проблема все же была решена.

Читать далее
Total votes 4: ↑3 and ↓1+4
Comments10

Разбираемся со сканерами в Linux: Установка и конфигурирование устройства

Level of difficultyMedium
Reading time61 min
Views6.1K

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

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

Попробуем
Total votes 11: ↑11 and ↓0+14
Comments9

Настройка мониторинга XRay в Grafana

Level of difficultyMedium
Reading time4 min
Views6.1K

У меня как и многих айтишников был свой VPS сервер с настроенным OpenVPN, работоспособность которого я отслеживал на бесплатном инстансе Grafana Cloud. В начале года "по неизвестным причинам" (tm) OpenVPN стал работать нестабильно. Было принято решение поднять и настроить XRay, который с тех пор работал без проблем.

Но был у него недостаток. К нему не было нормального и простого мануала по настройке мониторинга, в итоге контролировать его работу я мог только косвенно, по изменению общего сетевого трафика всего сервера.

Спасибо @vsviridov, который подсказал подходящий экспортер.

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

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

Погружение в DevOps: запускаем GitLab и GitLab Runners локально

Level of difficultyMedium
Reading time3 min
Views5.6K

В этой статье мы рассмотрим, как развернуть собственный GitLab сервер и GitLab Runners с использованием Docker Compose. Это руководство поможет вам создать локальную среду для изучения и практики GitLab CI/CD. Мы пройдем через все этапы: от настройки контейнеров до регистрации раннеров и создания примера CI/CD пайплайна. Независимо от того, новичок вы в CI/CD или опытный разработчик, этот гайд предоставит вам ценные знания для улучшения вашего процесса разработки.

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

Почтовый сервер с нуля. Часть вторая

Level of difficultyMedium
Reading time27 min
Views14K

Приветствую всех читателей!

Подошло время для второй части нашей серии статей по настройке почтового сервера. Напомню, что в первой части мы рассмотрели основные моменты, касающиеся настройки почтового сервера, а также конфигурировали Exim4 для корректной отправки почты.

В этой статье мы настроим полноценный почтовый сервер. Использовать будем PostfixAdmin, Dovecot и RainLoop.

Давайте настроим!
Total votes 16: ↑13 and ↓3+12
Comments22

Open Source GraphQL CDN / Edge Cache с Cloudflare, Fastly и Fly.io

Reading time12 min
Views749

Мы недавно объявили, что WunderGraph теперь полностью открыт в исходном коде. Сегодня мы хотели бы объяснить, как вы можете использовать нашу платформу для разработчиков API, чтобы добавить кэширование на уровне Edge в ваши GraphQL API, не привязывая себя к конкретному поставщику.

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

DevOps as a Service. Часть 5. Работа с бэклогом и сквозной приоритизацией команды

Level of difficultyMedium
Reading time8 min
Views2.8K

Всем доброе утро! С Вами Крылов Александр, и мы продолжаем серию статей про DevOps as a Service, и как с помощью данного подхода возможно решить ряд распространённых проблем в организации работы подразделения. В прошлых статьях мы описали подход и показали пути решения часто встречающихся проблем. С данными материалами можно ознакомиться тут Часть1, Часть2, Часть 3, Часть 4. Сегодня мы обсудим совмещение нескольких подходов для управления сквозным бэклогом команды.

Итак, проблема, которую мы будем решать — это отсутствие процесса работы с бэклогом и сквозной приоритизацией. Важно отметить, что инструменты, которыми я буду в основном оперировать, — это jira инсталляции server, плагин jira structure, jira kanban. Если реализация возможна на других инструментах, я буду в явном виде на них ссылаться. Но думаю, что в том или ином виде, подход можно переиспользовать и для других тикетных систем.

Читать далее
Total votes 8: ↑7 and ↓1+7
Comments0

Домашняя виртуальная лаборатория. Готовим собственный сервер виртуализации для обучения. 2. Выбираем сервер

Level of difficultyEasy
Reading time5 min
Views14K

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

Читать далее
Total votes 11: ↑9 and ↓2+11
Comments54

Настройка связки VScode, OpenOCD, WCH-LinkE, Cortex-M

Level of difficultyMedium
Reading time6 min
Views4.4K

Wch-link является программатором для ARM, RISC-V микроконтроллеров. По возможностям это аналог St-link, JLink и прочих. По сравнению с st-link он поддерживает контроллеры не только фирмы STM. А по сравнению с JLink стоит намного дешевле и не имеет проблем с лицензиями, которые могут встречаться у дешевых клонов JLink. Также плюсом идет поддержка набирающих популярность контроллеров от китайской компании WCH.

Есть несколько вариантов этого отладчика, я буду говорить о версии Wch-linkE rev 1.3.

Читать далее
Total votes 11: ↑11 and ↓0+13
Comments26

Реверс-инжиниринг сигнала автомобильного брелка

Level of difficultyEasy
Reading time10 min
Views15K

Я уже пару лет как изучаю протоколы радиосвязи. Началось это с момента, когда я из любопытства решил поэкспериментировать с USB-донглом RTL-SDR. Мне всегда хотелось понять, как передаются данные в пультах дистанционного управления (в частности, автомобильных брелках), попробовать перехватить их сигнал и выяснить, какие ещё в этом случае есть векторы атаки.

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

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

Ещё одной целью, пожалуй, будет доказательство, что большинство машин не так уж просто угнать посредством перехвата сигнала (разве что Honda, хах), несмотря на то, что недавно в Канаде запретили якобы опасный Flipper Zero, который можно собрать из дешёвых модулей беспроводной связи.
Читать дальше →
Total votes 78: ↑78 and ↓0+78
Comments21

Краткий обзор фреймворка Svelte

Level of difficultyEasy
Reading time5 min
Views5.3K

Привет, Хабр!

Svelte, в его сущности, предлагает нам подход меньше значит больше. Вместо того чтобы полагаться на виртуальный DOM, как большинство фреймворков, Svelte переносит эту работу на этап сборки. Результат? Более чистый и эффективный код, который выполняется непосредственно в браузере. Каждый компонент в Svelte компилируется в самодостаточный JavaScript.

Читать далее
Total votes 15: ↑11 and ↓4+9
Comments4

Pgpool-II

Level of difficultyEasy
Reading time6 min
Views6.8K

Привет, Хабр!

Pgpool-II позволяет юзерам PostgreSQL управлять пулами соединений БД, реализовывать репликацию данных между серверами БД. Pgpool-II работает как прокси-сервер между клиентскими приложениями и серверами PostgreSQL, перехватывая запросы от клиентов и направляя их к соответствующим серверам БД согласно настроенным правилам и политикам.

Pgpool-II также поддерживает множественные режимы репликации, включая репликацию на уровне строки и репликацию на уровне транзакций. Репликация на уровне строки позволяет синхронизировать изменения данных между серверами в реальном времени, в то время как репликация на уровне транзакций сосредотачивается на синхронизации транзакций целиком.

Читать далее
Total votes 11: ↑8 and ↓3+8
Comments3

Сбор и сортировка вложений писем с помощью Fetchmail + Procmail + uudeview

Level of difficultyEasy
Reading time3 min
Views1.4K

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

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

Читать далее
Total votes 3: ↑3 and ↓0+4
Comments5

Что нужно чтобы не было бабаха? Три составляющих хорошего силового преобразователя. Часть 1

Reading time12 min
Views19K

Наверное, силовая электроника – рекордсмен по скорости и зрелищности начальных испытаний опытных образцов. Тут вам и свето-шумовые эффекты, и пластиковый короб для защиты глаз/лица, и даже острые ощущения. Вспомните первое включение. Это трепетное ожидание пиротехнического шоу, готовность выдернуть вилку, надеть шлём и убежать в бункер. А ведь так хочется, чтобы проект взлетел! Посмотрим, без чего проект точно успешно не взлетит, разберём примеры и полюбуемся на бабахи…
Читать дальше →
Total votes 42: ↑41 and ↓1+52
Comments58

TOTP без смартфона

Level of difficultyEasy
Reading time5 min
Views18K

Когда я решил избавиться от необходимости постоянно носить с собой смартфон, одной из проблем оказалась двухфакторная аутентификация (2FA, приложение Google Authenticator). Остаться без возможности авторизации на множестве сервисов было неприемлемо, нужна была альтернатива.

Беглый поиск вывел меня на утилиту oathtool: командная строка, POSIX, OSS — всё, как я люблю, проблема в принципе решена. Но, как и большинство CLI утилит, её удобно использовать в сочетании с другими утилитами, а для этого полезно написать скриптовую обвязку. Собственно этой обвязкой, а также опытом использования, я и решил поделиться.

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

Взламываем головное устройство автомобиля Nissan

Reading time22 min
Views18K

В комплекте с моим Nissan Xterra поставлялось современное (на то время) головное устройство с сенсорным экраном, встроенной навигацией, дисплеем камеры заднего вида, мультимедийными функциями и возможностью подключения смартфона. Некоторые из самых продвинутых функций доступны только через приложение NissanConnect, требующее регистрации и подписки. Я никогда не пользовался им и даже не уверен, поддерживается ли оно сейчас.

Разве не здорово было бы добиться выполнения кода на устройстве и даже разрабатывать собственные расширения и приложения?

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

В статье также представлен код, позволяющий воспроизвести эти действия на вашем автомобиле, а также пример приложения, выполняющего задачу логирования GPS-данных. Однако здесь вы не найдёте абсолютно никакой информации по обходу механизмов DRM/защиты от копирования, особенно связанных с навигационными картами и онлайн-сервисами. Весь представленный в статье код и инструкции не дают никаких гарантий, воспроизводите их на собственный риск.
Читать дальше →
Total votes 86: ↑84 and ↓2+110
Comments26

Почтовый сервер с нуля. Часть первая

Level of difficultyMedium
Reading time17 min
Views39K

Очень часто на этапе стажировки новых сотрудников мы в нашей компании сталкиваемся с типичными простыми ошибками, непониманием работы DNS и почты. При этом обучение новых сотрудников по этой теме — достаточно длительный и сложный процесс, так как сами вопросы требуют построения сложных логических цепочек в голове у начинающего инженера. В один момент мы составили свою вики и схемы для обучения и решили поделиться этим опытом на Хабре в виде серии статей, чтобы людям, которые решили связать свою жизнь с IT вообще и администрированием в частности, стало проще. Материалы этой серии предназначены для начинающих администраторов.

В этом материале будет представлена связка полноценного почтового сервера в виде Exim4+Dovecot+PostfixAdmin+RainLoop.

Читать далее
Total votes 20: ↑19 and ↓1+18
Comments27
1
23 ...

Information

Rating
Does not participate
Location
Калужская обл., Россия
Date of birth
Registered
Activity