Search
Write a publication
Pull to refresh
-6
0
Send message

Но новичкам осилить его с наскоку не так то просто

Зависит от того, что у новичков за плечами. Если они работали с SQL - то как раз SQLAlchemy будет более понятен и очевиден. А ORM для них будет какой-то магией, в которой неясно, что происходит под капотом и их знания SQL им вряд ли сильно помогут

Для того, чтобы работать с SQLAlchemy, приходится прокидывать db_session от контроллера вниз по слоям абстракции, что крайне неудобно

DI - я для вас просто шутка? Именно данная практика является верной при построении многослойной архитектуры приложения, где внешние зависимости (например в нашем случае, подключение к бд и сетевой запрос от клиента) используют БЛ, и БЛ вообще не должна знать, что и откуда ее использует!

И никто не заставляет вас прокидывать именно подключение или сессию к бд, нередка практика заворачивания всех таких объектов (или их геттеров с кастомной логикой) в какую-нибудь обертку с дальнейшим ее прокидыванием (например Axum.rs использует понятие State для подобных вещей). В итоге и волки целы, и овцы сыты)

Лично мне не нравится стиль написания запросов в SQLAlchemy. Приходится писать много ненужного кода, чтобы составить простецкий запрос. Да, повышается уровень контроля над ними, но даже самые простые могут занимать по 3-4 строчки

...и дальнейшие замечания

Опять же, SQLAlchemy (даже само ORM, а не Core) - менее низкоуровневый инструмент по сравнению с TortoiseORM или DjangoORM. Но не стоит обманывать себя - одни не лучше других, просто SQLAlchemy дает в разу больше уровней взаимодействия, настроек и прочих плюшек для работы с бд, а ORMки Tortoise и Django - высокоуровневые вещи, в которых как раз меньше контроля и шаг вправо - шаг влево -- сложно сделать.

Так можно сравнивать что угодно, например FastAPI и Django: зачем писать ручками в FastAPI, если есть DRF. Во втором просто написал модель - и всё, урлы, контролеры, сериализаторы готовы! А в первом - всё ручками-ручками)))

P.s.: в целом больше видно, что вы сталкивались с простыми кейсами и задачами быстрого прототипирования, а не с какими-то неординарными и хоть немного сложными кейсами. Вот там-то приходится изловчаться с ORM, в то время как на SQLAlchemy спокойно делается в несколько очевидных строк. Я не хочу вас как-то принизить, мой посыл в том, что универсальных инструментов не бывает и для каждой задачи нужно подбирать свой индивидуально

В cli на каждый чих своя утилита которая часто пересекается с другой

Вы забыли про принцип Unix о том, что утилита должна выполнять одну вещь и хорошо ее выполнять

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

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

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

Когда решил сэкономить на написании статей настолько, что вместо подписки ChatGPT-4o заюзал какую-то устаревшую слабую LLM для генерации статьи целиком

Почему выбрали именно Proxmox для домашнего сервера, а не нативный LXC, например, раз все равно ставите на Линукс? И почему не контейнеризация вместо тяжеловесной виртуализации?

Алексей Яковлев (если это ваше настоящие имя-фамилия, я не знаю, я же не занимаюсь гуглингом людей). Не знаю, зачем вы интересуетесь информацией о том, сколько кому лет и кто чем увлекался, тем более, что это не имеет абсолютно никакого отношения к вашим статьям. Вы как маленький ребенок - вам говоришь: "Иди, убери свои игрушки на место", а вы все продолжаете искать, чем бы заняться вместо этого, главное - не делать того, что говорят!

Вроде бы взрослый человек (надеюсь). Нет бы, статейку поправить, или хотя бы продвинуть свои знания дальше уровня интерна, чтобы хоть немного соответсовать статусу "Опытного Python-разработчика с многолетним стажем". А то даже какой-то Кирилл Гимранов со всего лишь 6ти летним стажем (хотя с таким стажем люди уже лидят команды) указывает вам на очевидные недочеты. Глядишь, и всякие почемучки и остальные серьезные дядьки перестанут "снобить" в комментариях, поучая вас. Вы то поучать стремитесь в своих статьях, а вот критику как-то не привыкли принимать. Я к тому, что это мешает даже вам самому развиваться и двигаться дальше. Вам просто кажется, что если работаете фрилансерам и клиенты довольны вашим парсерам на requests, то вы - бог этого мира и дальше развиваться ну просто уже не куда!

своих роботодателей

У меня нет "роботодателей", возможно у вас на фрилансе их много, простите, тут я признаю, что не разбираюсь, никогда не доводилось сталкивать с "роботодателями"

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

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

P.s.: моя любовь ко вселенной Роулинг, ровно как и всё остальное, что вы смогли найти обо мне (или придумать) - никак не мешают мне развиваться. Представьте, если бы вам написал, например, Илон Маск, а вы бы вместо ответа на его вопросы к вашей статье также понакопировали бы информации о нем из открытых источников, в чем смысл? Ваша гордыня и эгоцентризм (или ужасное зрение, дислексия или визуальные галюцинации) мешают вам видеть вопросы и замечания, как мои, так и других людей в комментариях к вашим статьям. Возможно настала пора уже наконец открыть глаза и на правду?

Этого времени более чем достаточно, чтобы:

  • Переписать примеры на async httpx (благо их разрабы подсуетились и специально для таких лентяев сделали схожий апи). Ну как же вы так, используете ваш любимый asyncpg-lite и FastAPI, но при этом requests? Как говорится, подоконник должен быть либо в ровень со стенкой, либо должен выпирать, а у вас с одной стороны вровень - а с другой - выпирает

  • Перестать игнорировать вопросы и конструктивную критику, переводя всё в шутки и смолток

  • Перестать писать статьи в принципе, т.к. половина из них даёт инфы по тематике меньше, чем офиц доки этой тематики (в данном случае офиц доки FastAPI точно лучше и полнее), а другая половина - полный мусор в принципе

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

Автор также не учел, что requests - синхронная

Небольшая аудитория и миллион значений, которые постоянно надо шерстить и гонять туда-сюда?

Инет-магазины часто реализуют засчет устаревших CMS и прочего

Вообще, я не продвигал ее использование в своем комментарии, а говорил о том, как важно именно индивидуально подстраивать реализацию под ТЗ, если говорить по простому

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

Да ну что вы! Он же "Опытный Python-разработчик с многолетним стажем"!

Нагенерить нейронкой воды можно хоть на 5 часов прочтения статей, странно использовать это как показатель

Мериться мне не чем, тем более с человеком, который игнорирует вопросы

Придерживайтесь одного источника истины

Централизация, одним словом

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

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

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

это будет говорить не просто про "нездоровый интерес") Тут уже клиника скорее. Знаете. Вот эта вот неразделенная любовь. Ну или все прозаичнее - лично вы никому не интересны

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

А теперь пройдемся по реальным фактам, специально для дислексиков:

  1. Вы проигнорировали 2 вопроса и 1 замечание. Но зато расписали свои фантазии о моих проблемах

  2. Вы прочли неверно часть моего комментария и опять что-то надумали. На что я указал на вашу неточность! И это вы тоже проигнорировали

  3. Все мои повторы о том, что Хабр - не площадка для продажи курсов и рекламы своей персоны (тем более с навыками заурядного джунишки) вы также проигнорировали, опять надумав себе, что если вам что-то пишут - значит это от “неразделенной любви”

И теперь я отвечу на оставшуюся критику в адрес моего мнения, как это должны были сделать и вы с моими комментариями (а не выдумывать несуществующие небылицы о человеке, который тратит время на то, чтобы отчистить площадку Хабра от таких посредсвенных пиарщиков себя):

Делом займитесь

Я работаю. И изучаю множество вещей кроме работы. И вынужден натыкаться на ваши детсадовские статьи, которые штампуете каждый день

Создайте классную программу, напишите приличную статью.

Я создал много классных программ, даже без учета того, чем я занимался на работах. Можете ознакомиться c моим профилем на гитхаб

По поводу статей: в отличии от вас я понимаю уровень, на котором должны быть статьи на Хабре. И подхожу к этому очень серьезно, и не штампую статьи из воздуха, как некоторые. Если вы зайдете в мой профиль здесь, то обнаружете заветную статью, к созданию которой я долго шел и над которой я кропотливо работал. Она получилась, вероятно, длинее, чем все ваши статьи вместе взятые (даже без учета нейросетевой воды в ваших статьях), но именно такие полноценные статьи, богато расскрывающие тематику, и должны быть. В конце концов, это статьи, а не ролики в тиктоке типо "пара фактов за одну минуту"

Станьте полезным, а не просто человеком, который залетает тут и начинает в непонятную и плохо пахнующую субстанцию обмазывать все и всех

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

То, что вы можете красиво говорить и генерировать воду нейросетью - это, наверно, хорошо, но на критику тоже надо уметь отвечать. Иначе ваши красивые слова и нагенеренная вода, по сути, ничего не стоят. А отвечать на критику, как на мою, так и на критику других, как можно заметить, вы не умеете

И давайте уже этот срачь в публичную плоскость выносить не будем. Хотите обсудить - пишите в личку

Зачем? Материал публичный - критика тоже должна быть публичной! Иначе смысл теряется.

Повторюсь: Хабр - открытая площадка, где люди деляться своими наработками и идеями, и как в любой другой научной среде, подвергаются критике. Успешная защита своей точки зрения доказывает её право на жизнь

Люди тут информацию полезную найти хотят

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

очередного знатока с минусовым рейтингом и одним проектом за спиной

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

И да, у меня не один проект за спиной, и вы бы поняли это по уровню моих вопросов (если бы их вообще читали, а не сразу строчили комментарии о том, что вас все любят)

Вы явно спутали комментарии Хабра с чатом Доты или фриланс-биржы, где сначала нужно написать о том, как хорошо вы знаете меня лично, а потом - "Всего доброго" или "Надеюсь, что вас больше не увижу"

Я знаю, что у вас проблемы, но дислексии не ожидал:

хотя странно было бы читать статьи по Python от человека, знакомым с ним менее года)

Где я здесь говорю, что вы знакомы с Python меньше года? Или вам везде все мерещится? Как например с тем, какая ваша либа - прорыв, а ваши статьи - просвещение

Кроме того. Вы достаточно часто появляетесь под моими постами в комментариях. У вас ккакой-то нездоровый интерес к моей персоне?

Хабр - не рекламная площадка своих услуг, тем более столь примитивных. А по сему есть комментарии, где читатели могут оставить свою критику и обсудить что-либо. Так что стоит прислушиваться к тому, что говорят люди в них, особенно если не только я это говорю.

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

Занимайтесь, пожалуйста, своими вопросами. Надеюсь, что больше вас не увижу

Вы даже свой комментарий заканчиваете так, словно общаетесь в торговой или бизнес-среде, о чем мне вообще говорить?

Очередная статья от "Опытного Python-разработчика с многолетним стажем" (хотя странно было бы читать статьи по Python от человека, знакомым с ним менее года)

взаимодействием FastAPI и баз данных

Простите, что? FastAPI - роутер, а не ОРМ/драйвер к бд. Я даже не стану говорить, что это должны быть разные и абсолютно не знающие друг о друге компоненты системы, но до таких тем видимо ещё далеко

Допустим, вам нужно парсить большой объем товаров с интернет-магазина

Как это вообще относится к FastAPI? Я ничего не хочу сказать, но мне кажется, вы действительно несколько лет занимались парсингом и созданием ТГ ботов, а неделю назад узнали о существовании FastAPI и Docker

В целом, какой смысл писать данную библиотеку на Python и только для Python? Она же будет весьма медленной и прожерливой по памяти. Такие вещи реализуют на языках без рантайм примочек вроде интерпретации и gc, а затем через FFI используют где хотите, в то же самом Python.

P.s.: очевидный вопрос в стиле "зачем эта либа вообще нужна" задавать не буду, т.к. уже итак все поинтересовались. Может быть всё-таки вернётесь к парсингу инфы с маркетплейсов и ТГ ботам, а не будете продвигать никому не нужный модуль с несколькими CRUD-функциями под видом "классной и универсальной библиотеки". Я понимаю, вы вероятно работали все это время в сфере фриланса и привыкли рекламировать свои решения, какими на самом деле простыми и недалёкими они ни были

а можно ли используя Этот генератор QR генерировать такие коды для любой ошибки?

QR-code - всего лишь закодированный текст. Так что вопрос сводится к тому, можно ли любую ошибку сконвертировать в текст

Вроде как только в 3.13: PEP-554 и PEP-734.

А отдельный GIL для каждого суб-интерпретора вообще в 3.12: PEP-684

Information

Rating
Does not participate
Registered
Activity