Как стать автором
Обновить
3
0.4
Павел @pvzh

Разработчик веб-приложений

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

с ходу не получилось установить соединение через Tor, хотя я пробовал использовать предлагаемые мосты (bridges) и разных провайдеров

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

Не знаю, насколько может быть востребовано данное решение, надеюсь, оно имеет право на жизнь. Как считаете?

Хорошее решение, положить в сумочку на чёрный день, только добавить на SD-карту базу KeePass. Крыска не так уж и легка сейчас, Хвосты привлекают лишнее внимание, я бы взял дистриб полегче, типа PuppyRus.

Реакция сообщества - это вы про 8 дизлайков в гитхабе? Это ни о чём. Я сугубо практик. Про connexion там верно подметили, вот инструмент гораздо более подходящий.

Ознакомьтесь со списоком генераторов

Даже пробовал похожее, для генерации нагрузочных тестов. Не впечатлило.

Вы не подумайте, мне нравится сама идея API first. Ещё бы поглядеть на видео как полагается спеку собирать, опенсорсными local-first инструментами, желательно не выходя из VS Code. Swagger Editor не предлагать;)

ничего противоестественного в API first нет

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

если тема вам кажется интересной

Да, тема настолько интересна, что каждый день по ней работаю. Во многих статьях красиво изложено на паре примитивных роутов и на типах integer и string. На практике бывают весьма развесистые джсоны на входе/выходе, с кучей разнообразных проверок, включая непустые массивы, диапазоны чисел, url и прочее. Можете подсказать видео, очень хочется посмотреть процесс, как с нуля собирается yaml для нетривиального API хотя бы на пять полноценных сущностей?

Если проект большой, много команд и есть отдельный опытный аналитик, то конечно же удобно и правильно сперва зафиксировать спеку. Я не лезу в такое, пишу только с позиции одной команды и проекта типа стартапа. Так вот, на мой взгляд FastAPI особенно хорош для стартапов, и удивительно и приятно видеть его заход в более крупные проекты.

Но ведь в FastAPI уже из коробки есть Swagger UI. Я не пишу его, он там работает автомагически. Зачем выбирать, когда он уже там есть?

Я вижу противоестественное использование инструмента и это меня напрягает. Если смотреть в масштабе команды, когда можно выбирать инструменты, то FastAPI полностью закрывает и валидацию и автодокументацию. Это его лучшие стороны. Мой опыт с JSON Schema и другими валидаторами (и другими стеками) позволяет сравнить и сделать вывод, что FastAPI здесь крайне хорош. Рекомендую почитать, как автор объясняет причину создания FastAPI: https://fastapi.tiangolo.com/alternatives/#swagger-openapi

Про Flask и сокращение работы - скажу кратко и поэтому довольно категорично. В новом проекте я бы забыл про Flask и попросил бы аналитиков работать с вики-текстом и схемами и не тратить время на собирание yaml руками. Само собой, у фронтэнда и тестировщиков будет всегда актуальный Swagger UI, бесплатно. Если в проекте Flask и автогенерация Pydantic моделей - это не мой проект, извините.

Что-то у меня голова закружилась. С ног на голову перевёрнуто. Как раз-таки ключевая особенность FastAPI это чудесный встроенный генератор OpenAPI из Pydantic-моделей. А писать Pydantic-модели проще некуда и уж намного приятнее всяких Swagger Editor-ов.

«Offline-First and Bloat-Free» – выглядит как хорошая замена тяжеловесному Постману. Раньше такой заменой была Инсомния, но сейчас она привязалась к облаку. Внутри IDE вполне удобен httpYac, но у аналитиков и тестировщиков не всегда есть IDE.

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

В заголовке между «Автоматизация» и «REST API» пропало важное слово «тестирования». А вот слово «REST» не обязательное, там не только HTTP. Постман это же привязка к иностранному облаку, уже вроде наелись такого. Есть же более свободный httpYac.

Одна вакансия – не так уж мало! Всего в 3 раза меньше, чем на легендарный Rust. Вообще по слову Rust сейчас нашлось 5 вакансий, но 2 из них уровня техдира/лида, так что их не считаем. На Carbon и Nim вообще нет спроса.

Удобство обсуждать смысла нет, тут субъективно. Лично мне виндовая панель задач не мешает. Коннектиться по RDP не обязательно, QEMU работает в таком же нативном соседнем окне. По ресурсам не соглашусь, мой вариант намного легче, особенно по диску. Плюс всё прозрачно, проще дебаг, нет зависимости от сторонних репозиториев и образов.

Не, я чисто про WinApps и контейнеры. Wine и WSL мне параллельны. Я к тому что не стоит плодить сущности без нужды. Это чудо "Виндовс в контейнере", заманчивое на первый взгляд, на деле оказалась просто обёрткой. ВиртуалБоксом я тоже по первости пользовался, но сейчас перешёл на QEMU и для моих простых задач гостя с WinXP хватает с головой. QEMU есть в родном репозитории, что большой плюс. Общаться с гостём можно через Samba/WebDAV/RDP. Ну так и зачем мне ещё что-то сверху наворачивать? Возможно, WinApps годится чтобы разово что-то прогнать, если нет дистрибутива Винды. Но очень громоздко.

Забыли самый большой минус - целая матрёшка из обёрток внутри других обёрток.

Docker контейнер с Windows

Надеюсь, читатель понимает, что это по сути образ с QEMU плюс несколько преднастроенных томов. См. https://github.com/dockur/windows/blob/master/Dockerfile

То же самое можно получить без магии, простой установкой QEMU на Linux-хост и запуском гостя с WinXP, это будет 2 команды и менее 1 Гигабайта на диске.

Свежо предание, да верится с трудом. В прошлом году я как родитель помогал кое-что вешать в классе и заодно проверять вывод с ноута на ТВ. Так вот, при мне классная сначала долго по телефону узнавала пароль, потом там обнаружился Виндоуз 7, ну и на Рабочем столе конечно же – значки МС Ворд и ООо Райтер. Между прочим она отметила неудобство Райтера. Само собой, все материалы к урокам в Ворде.

Да зайдите на любой урок.рф и узрите все эти иллюстрации в виде скринов экрана с круглой кнопкой Пуск. Я к тому, что инерция в данной теме колоссальная. Поразительно, как же удалось насчитать 60%

Спасибо, это тончайший комментарий месяца! Хорошо дополняет текст. Закрепите, пож-та.

Небольшое примечание: в текущей версии спецификации Compose-файла его имя по-умолчанию уже не содержит префикса docker-, там просто compose.yaml: https://docs.docker.com/compose/compose-application-model/

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

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

Простой в смысле «примитивный»? Понятность под вопросом, не просто так же crontab.guru придумали. Под Линуксом cron из коробки есть не везде, чаще фоновые задачи планируются через systemd таймеры. Это нагляднее и привычнее, хотя и задаётся не одной строкой. Крон жив разве только под BSD.

JMeter тут слегка чужеродно смотрится. У Графаны есть же свой родной инструмент k6. Я бы его применил.

Курс прекрасный, спасибище! А кроме неугодного кое-кому Ютьюба будет ещё какой-нибудь запасной вариант хранения этого сокровища? Может иногда обновляемая раздача через Торрент или IPFS-сайт?

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

Cron - это стандартный инструмент в операционных системах Unix, который позволяет запускать задачи по расписанию.

Да, но вы взяли не BSD, а Убунту, где cron уже не в почёте. Рекомендуемая замена – таймеры systemd.

при перезапуске или сбое приложения обработчик перестанет работать! Тут нам и поможет Supervisor

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

Информация

В рейтинге
2 046-й
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность

Специализация

Backend Developer, Fullstack Developer
Middle
От 150 000 ₽
Python
RESTful API
Docker
Linux
Redis
Golang
PostgreSQL
Node.js
JavaScript
Web development