Если знать как орм работает, то всё понятно. Кроме того, в django, например достаточно написать str(queryset) чтобы увидеть sql-запрос, есть ключил --print-sql в shell_plus который будет сразу печатать все sql запросы, которые выполняются. Есть debug_toolbar и silk которые покажут все sql запросы на странице и время их выполнение. Есть метод queryset.explain() docs.djangoproject.com/en/3.2/topics/db/optimization
В алхимии есть аналогичные средства, их даже больше т.к. она более навороченная и с её помощью можно выразить вообще любые запросы.
Но главное — это то, что запросы можно конструировать динамически, из кусочков. Например, добавлять условия в зависимости от параметров запроса. На «голом» sql это будет кошмар. Есть конструкторы запросов, но почему бы не использовать сразу orm. Потому что помимо этого орм обеспечивает средства для автоматических миграций и т.п. При наличие декларативных моделей можно автоматически создавать сериализаторы github.com/pawnhearts/aiorf/blob/master/aiorf/saschema.py и т.п.
Я честно говоря не понимаю вообще о чем речь. Какой смысл показывать гитхаб аккаунт, если там не ваш код? У меня на гитхаб аккаунте исключительно мои проекты, либо проекты в которые я контрибьютил(мне тупо нужно было сделать форк, чтобы создать пулл реквест), либо мантейнером которых я являюсь.
Да и без гитхаба были случаи, когда на собеседовании выяснялось что собеседующий пользуется кодом, который я когда-то написал.
Зачем работать в таком месте? Я работал в закрытом НИИ при роскосмосе и даже там начальство было не против, хотя там была масса бюрократии и всяких юридических ньюаесов. Потому что они тоже инженеры и понимали что такое open source и какие преимущества это дает.
А в вашем банке скорее всего какие-то идиоты, которые надеются что их спасет security through obscurity. Впрочем вряд ли там какой-то код, который можно переиспользовать, там же формошлепство.
О это вообще страшилка для нубов, что «технологии постоянно меняются», «надо постоянно переучиваться». Так кажется только тем. кто от этих технологий далек. Потому что они все опираются на принципы, заложенные неколько десятилетий назад. Например столько хайпа вокруг виртуализации, но она была во все поля ещё в мейнфреймах. Контейнеры тоже вовсю использовались, например в виде freebsd jails. Функциональные языки, вокруг которых много хайпа, тоже родом из 60-х. И когда ты знаком со всякими концепциями и технологиями из прошлого, «новые» изучать намного проще, потому что нового в них мало, это всё тебе уже знакомо))
Наибольший прогресс в области машинного обучения — но он скорее экстенсивный — стало больше данных, готовых библиотек, появились серверы с GPU. Алгоритмы то тоже не новые, просто раньше это было проблемно использовать из-за ресуркоемкости.
Ну это можно применять в любом языке и фреймворке и не только в вебе. Многие библиотеки вообще framework-agnostic и их можно использовать везде.
А джанго… Он всё ещё очень хорош для прототипирования(и не только). И дает предсказуемую структуру проекта и кучу батареек — можно открыть большой незнакомый проект на django и очень быстро в нем разобраться. С другой стороны получается, что эта структура вам как бы навязывается, а многие решения там компромиссные или что называется opinionated.
Глупости, если это не какая-то критичное и именно специфичное для бизнеса, а что-то выделенное в виде библиотеки — они получат бесплатные багфиксы, если ей будут пользоваться. Никогда не было проблем убедить начальство что что-то открыть — выгодно.
Вообще я думаю паскаль и правда один из лучших языков для обучения основам программирования. С этими основами без проблем можно уже изучать любой другой язык по вкусу. Причем, мне кажется, какой-нибудь turbo pascal и сейчас одна из самых удобных сред для обучения. У нас на младших курсах был Turbo C на 286 компах, там всё есть и всё под рукой и не переусложнено)
Я пытался сделать гейт между livechan и matrix, так вот — разные клиенты matrix показывали одинаковые сообщения очень по-разному. Сервер matrix был на питон2 с twisted и жрал нереально много ресурсов.
Нафиг такое счастье. А пользователи так и будут ждать централизованную проприетарщину будь то icq, однокрассники, телеграммы и воцапы. XMPP, к сожалению, не взлетел толком даже когда был google talk и все популярные социалочки и прочие яндексы его поддерживали(как правило, ограничено, но всё-таки). Но раньше можно было юзать благодаря этим сервисам и гейтам. Да и google talk был у многих.
Однако я их не изменяю, а где надо копирую. Заворачивать всё в какие-нибудь immutable объекты, потому что пользователь может накосячить? Это лишний оверхед, там и так со всякими resultwrapper слишком много всего создается(однако это отключается).
>благодаря которому Javascript-на-сервере стал реальностью.
мм. серверные сценарии на js были ещё в nescape server. и в классическом asp помимо vbscript был доступен jscript
В алхимии есть аналогичные средства, их даже больше т.к. она более навороченная и с её помощью можно выразить вообще любые запросы.
Но главное — это то, что запросы можно конструировать динамически, из кусочков. Например, добавлять условия в зависимости от параметров запроса. На «голом» sql это будет кошмар. Есть конструкторы запросов, но почему бы не использовать сразу orm. Потому что помимо этого орм обеспечивает средства для автоматических миграций и т.п. При наличие декларативных моделей можно автоматически создавать сериализаторы github.com/pawnhearts/aiorf/blob/master/aiorf/saschema.py и т.п.
У peewee асинхронная версия это отдельный проект, который отставал на несколько версий от синхронной версии(возможно, это уже не так).
В django есть костыли в виде sync_to_async/async_to_sync.
А вот tortoise мне понравился больше всего, сейчас для каких-то небольших проектов, типа ботов на aiogram, я беру именно её.
Да и без гитхаба были случаи, когда на собеседовании выяснялось что собеседующий пользуется кодом, который я когда-то написал.
А в вашем банке скорее всего какие-то идиоты, которые надеются что их спасет security through obscurity. Впрочем вряд ли там какой-то код, который можно переиспользовать, там же формошлепство.
О это вообще страшилка для нубов, что «технологии постоянно меняются», «надо постоянно переучиваться». Так кажется только тем. кто от этих технологий далек. Потому что они все опираются на принципы, заложенные неколько десятилетий назад. Например столько хайпа вокруг виртуализации, но она была во все поля ещё в мейнфреймах. Контейнеры тоже вовсю использовались, например в виде freebsd jails. Функциональные языки, вокруг которых много хайпа, тоже родом из 60-х. И когда ты знаком со всякими концепциями и технологиями из прошлого, «новые» изучать намного проще, потому что нового в них мало, это всё тебе уже знакомо))
Наибольший прогресс в области машинного обучения — но он скорее экстенсивный — стало больше данных, готовых библиотек, появились серверы с GPU. Алгоритмы то тоже не новые, просто раньше это было проблемно использовать из-за ресуркоемкости.
А джанго… Он всё ещё очень хорош для прототипирования(и не только). И дает предсказуемую структуру проекта и кучу батареек — можно открыть большой незнакомый проект на django и очень быстро в нем разобраться. С другой стороны получается, что эта структура вам как бы навязывается, а многие решения там компромиссные или что называется opinionated.
www.w3docs.com/snippets/javascript/the-right-json-date-format.html
Ничего не сказано, например, о датах, их принятно передавать в iso формате.
Вообще я не понял о какой сложности поддержки consul идет речь, он написан на go, там один бинарник и настраивается элементарно.
Нафиг такое счастье. А пользователи так и будут ждать централизованную проприетарщину будь то icq, однокрассники, телеграммы и воцапы. XMPP, к сожалению, не взлетел толком даже когда был google talk и все популярные социалочки и прочие яндексы его поддерживали(как правило, ограничено, но всё-таки). Но раньше можно было юзать благодаря этим сервисам и гейтам. Да и google talk был у многих.
Хотя, у меня, до сих пор есть свой jabber сервер.
мм. серверные сценарии на js были ещё в nescape server. и в классическом asp помимо vbscript был доступен jscript