Pull to refresh
75
0

Пользователь

Send message
Если знать как орм работает, то всё понятно. Кроме того, в 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 и т.п.
1.4 уже довольно давно зарелизилась, а я использовал -dev версию в проде ещё до её выхода.

У peewee асинхронная версия это отдельный проект, который отставал на несколько версий от синхронной версии(возможно, это уже не так).

В django есть костыли в виде sync_to_async/async_to_sync.

А вот tortoise мне понравился больше всего, сейчас для каких-то небольших проектов, типа ботов на aiogram, я беру именно её.
Я честно говоря не понимаю вообще о чем речь. Какой смысл показывать гитхаб аккаунт, если там не ваш код? У меня на гитхаб аккаунте исключительно мои проекты, либо проекты в которые я контрибьютил(мне тупо нужно было сделать форк, чтобы создать пулл реквест), либо мантейнером которых я являюсь.
Да и без гитхаба были случаи, когда на собеседовании выяснялось что собеседующий пользуется кодом, который я когда-то написал.
Зачем работать в таком месте? Я работал в закрытом НИИ при роскосмосе и даже там начальство было не против, хотя там была масса бюрократии и всяких юридических ньюаесов. Потому что они тоже инженеры и понимали что такое open source и какие преимущества это дает.
А в вашем банке скорее всего какие-то идиоты, которые надеются что их спасет security through obscurity. Впрочем вряд ли там какой-то код, который можно переиспользовать, там же формошлепство.
Стек технологий на самом деле не имеет значения,


О это вообще страшилка для нубов, что «технологии постоянно меняются», «надо постоянно переучиваться». Так кажется только тем. кто от этих технологий далек. Потому что они все опираются на принципы, заложенные неколько десятилетий назад. Например столько хайпа вокруг виртуализации, но она была во все поля ещё в мейнфреймах. Контейнеры тоже вовсю использовались, например в виде freebsd jails. Функциональные языки, вокруг которых много хайпа, тоже родом из 60-х. И когда ты знаком со всякими концепциями и технологиями из прошлого, «новые» изучать намного проще, потому что нового в них мало, это всё тебе уже знакомо))

Наибольший прогресс в области машинного обучения — но он скорее экстенсивный — стало больше данных, готовых библиотек, появились серверы с GPU. Алгоритмы то тоже не новые, просто раньше это было проблемно использовать из-за ресуркоемкости.
Не хочется пересказывать tutorial в очередной раз, а пример как было «плохо» был бы размазан во всему проекту, как это ужать до статьи я не придумал.
Ну это можно применять в любом языке и фреймворке и не только в вебе. Многие библиотеки вообще framework-agnostic и их можно использовать везде.
А джанго… Он всё ещё очень хорош для прототипирования(и не только). И дает предсказуемую структуру проекта и кучу батареек — можно открыть большой незнакомый проект на django и очень быстро в нем разобраться. С другой стороны получается, что эта структура вам как бы навязывается, а многие решения там компромиссные или что называется opinionated.
Глупости, если это не какая-то критичное и именно специфичное для бизнеса, а что-то выделенное в виде библиотеки — они получат бесплатные багфиксы, если ей будут пользоваться. Никогда не было проблем убедить начальство что что-то открыть — выгодно.
Вот очень неплохая библиотека github.com/kachayev/fn.py с недостающими структурами данных и функциями, рекомендую.
Вообще я думаю паскаль и правда один из лучших языков для обучения основам программирования. С этими основами без проблем можно уже изучать любой другой язык по вкусу. Причем, мне кажется, какой-нибудь turbo pascal и сейчас одна из самых удобных сред для обучения. У нас на младших курсах был Turbo C на 286 компах, там всё есть и всё под рукой и не переусложнено)
В json ключи должны быть обязательно в двойных кавычках. {a:1} — корректный javascript объект, но не json.
json.loads('{a:1}')
# JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)


Ничего не сказано, например, о датах, их принятно передавать в iso формате.
Вы писали вам нужен HA. О каком HA может идти речь в случае single postgres? У консула же может упасть несколько нод и он будет работать.

Вообще я не понял о какой сложности поддержки consul идет речь, он написан на go, там один бинарник и настраивается элементарно.
Я пытался сделать гейт между livechan и matrix, так вот — разные клиенты matrix показывали одинаковые сообщения очень по-разному. Сервер matrix был на питон2 с twisted и жрал нереально много ресурсов.

Нафиг такое счастье. А пользователи так и будут ждать централизованную проприетарщину будь то icq, однокрассники, телеграммы и воцапы. XMPP, к сожалению, не взлетел толком даже когда был google talk и все популярные социалочки и прочие яндексы его поддерживали(как правило, ограничено, но всё-таки). Но раньше можно было юзать благодаря этим сервисам и гейтам. Да и google talk был у многих.

Хотя, у меня, до сих пор есть свой jabber сервер.
Моя супруга наоборот любит специально в багажнике по лесам покататься. Конечно, травмы бывают, и частенько визуально избитая, он в целом пока цела.
А в t и r серии второй диск можно воткнуть вместо cdrom в ultrabay. В x220 уже можно поставить msata ssd
С тех пор пока написал статью добавил HtmlEndpoint на базе BeautifulSoup
Однако я их не изменяю, а где надо копирую. Заворачивать всё в какие-нибудь immutable объекты, потому что пользователь может накосячить? Это лишний оверхед, там и так со всякими resultwrapper слишком много всего создается(однако это отключается).
Ну а что, makes sense. Зарабатывают они скорее всего на продаже драйвера для macos. А открыв код они будут получать «халявные» исправления.
>благодаря которому Javascript-на-сервере стал реальностью.
мм. серверные сценарии на js были ещё в nescape server. и в классическом asp помимо vbscript был доступен jscript

Information

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