Size: a a a

2019 December 10

MA

Maxim Afanasev in SPb Python
Max Block
Именно джанговской админкой я не пользуюсь уже. У меня даже везде удален admin.py. Какое-то время я помучался, пытался в нее запихивать кучу своего кастомного функционала, а потом понял, что для меня оно зло.

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

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

Т.е. я могу в репозитории этого реюзабельного приложения исправить ошибки, написать новый код, написать миграции для БД. Потом во всех джанговских приложениях просто обновить версию этой аппы, и все хорошо продолжает работать с новыми возможностями этого общего приложения.
То, о чём вы говорите называется библиотекой. Это работает одинаково для всех языков программирования. Есть паттерны - сервис или Active record, не знаю, что в вашем случае лучше подойдет. Они обеспечивают вам абстракцию над низкоуровневыми операциями, предоставляя вам API в терминах вашей предметной области. Вам нужно реализовать такую абстракцию, общую для всех ваших приложений и просто использовать её.
источник

MB

Max Block in SPb Python
Maxim Afanasev
То, о чём вы говорите называется библиотекой. Это работает одинаково для всех языков программирования. Есть паттерны - сервис или Active record, не знаю, что в вашем случае лучше подойдет. Они обеспечивают вам абстракцию над низкоуровневыми операциями, предоставляя вам API в терминах вашей предметной области. Вам нужно реализовать такую абстракцию, общую для всех ваших приложений и просто использовать её.
библиотека - это что-то более простое. Когда есть функция, которая на вход что-то получает, и что-то выдает на выход.

А (реюзабельное) приложение это уже не только набор простых функций. Помимо этого там еще есть:
1) Статические файлы типа .css и .js
2) Веб шаблоны
3) Таблицы в БД
4) Файлы миграций в БД при смене версий.

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

MA

Maxim Afanasev in SPb Python
Вот, так мы с вам и спроектируем что-нибудь.
Во-первых, вашей бизнес-логике не нужно знать о реализации на уровне БД, веб-интерфейса и прочего. Она вообще не должна ни от чего зависеть.
Во-вторых, у вас есть реализация хранения данных в БД. Она отвечает за сохранение, чтение и миграции.
В-третьих есть внешний API, например REST, который ничего не знает про БД, а зависит только от ядра (первый пункт).
Затем есть фронтенд, который взаимодействует с API и обеспечивает интерфейс оператора.
И, наконец, ваши небольшие приложения, которые вы делаете раз в неделю. Они тоже используют только ядро и тут все зависит только от специфики ваших бизнес-задач, про которые мы знаем мало.
источник

SP

Stepan Potapov in SPb Python
сейчас корутины, light-wight треды, green-threads и прочие "легковесные" треды очень популярны
при этом совсем не ясно, что обеспечивает легковесность треда, в чем разница между тяжеловесным и легковесным тредом
есть ли минусы у использования легковесных и если есть - какие
когда легкие треды лучше не использовать - нигде про это не нашел ни слова

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

Есть желающие?) Может, @nonamenix  @xnuinside  @pragus или @smirnoffmg могут или кто то другой)
источник

YV

Yuliya Volkova in SPb Python
я бы с удовольствием, но раньше марта (и на самом деле, скорее даже апреля) врядли впишусь, у меня как-то много разных не проектных активностией
источник

p

pragus in SPb Python
Stepan Potapov
сейчас корутины, light-wight треды, green-threads и прочие "легковесные" треды очень популярны
при этом совсем не ясно, что обеспечивает легковесность треда, в чем разница между тяжеловесным и легковесным тредом
есть ли минусы у использования легковесных и если есть - какие
когда легкие треды лучше не использовать - нигде про это не нашел ни слова

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

Есть желающие?) Может, @nonamenix  @xnuinside  @pragus или @smirnoffmg могут или кто то другой)
Я гладко выбритый )))
источник

SP

Stepan Potapov in SPb Python
Ничего, и  такой сойдешь
Расскажешь во вторник?)
источник

DS

David Shiko in SPb Python
Simon Osipov
Кажется, у меня не получилось пояснить.
Вот в ваших этих двух строчках id это айдишник строки из posts_table?
Можете показать прям скриншот таблицы? Где для записи id=N записаны несколько айдишников юзеров которые её лайкнули
Я понял ваше заявление.
Да, я буду делать отдельную таблицу для айди лайкнувших, где будет 1 только 1 колонка с этими id
источник

p

pragus in SPb Python
Stepan Potapov
Ничего, и  такой сойдешь
Расскажешь во вторник?)
источник

SP

Stepan Potapov in SPb Python
источник

II

Ilya Ilyinykh in SPb Python
@stvlpotapov @pragus @xnuinside

Ребята, можно же закинуть тему эту на обсуждение)

У нас 2 часть митапа планируется же как разговорный интерактив😄

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

SP

Stepan Potapov in SPb Python
Обсудить и я могу ))) мне бы человека, который бы сказал: ну смотри, и показал бы нп своем ноуте как это работает ))
источник

p

pragus in SPb Python
Stepan Potapov
Обсудить и я могу ))) мне бы человека, который бы сказал: ну смотри, и показал бы нп своем ноуте как это работает ))
я тоже могу обсудить )
источник

II

Ilya Ilyinykh in SPb Python
Ну кто-то может и покажет, просто это будет менее формально, поэтому проще подготовить к этому что-то

Я мог бы на примере котлина показать, там и статей куча про это есть
источник

SP

Stepan Potapov in SPb Python
Ilya Ilyinykh
Ну кто-то может и покажет, просто это будет менее формально, поэтому проще подготовить к этому что-то

Я мог бы на примере котлина показать, там и статей куча про это есть
О, покажешь=)? Можно после митап а! Я был бы признателен, тк спринг поддержал корутины Колина, а писать на вебфлюксе у меня из глаз идет кровь
источник

II

Ilya Ilyinykh in SPb Python
Stepan Potapov
О, покажешь=)? Можно после митап а! Я был бы признателен, тк спринг поддержал корутины Колина, а писать на вебфлюксе у меня из глаз идет кровь
Окей👍
источник
2019 December 11

С

Семен in SPb Python
Коллеги, кто создавал ботов для телеграм, дайте совет по поводу авторизации.
Хочу хранить в sqlite пары chat.id - user.id, если кто-то пытается зайти и в базе нет таких пар то авторизация не происходит. Надежно?
источник

D

Dmitrii in SPb Python
А чем нет? Айди пользователя  не поменять , если я все верно помню. Я так же делаю.
источник

С

Семен in SPb Python
Dmitrii
А чем нет? Айди пользователя  не поменять , если я все верно помню. Я так же делаю.
Ок, спасибо за ответ
источник

DS

David Shiko in SPb Python
Парни, я правильно БД сделал?
Я делаю таблицу с каким то текстом и лайками. Лайки ссылаются на другую таблицу, в которой просто id лайкнувшего юзера.
источник