170 похожих чатов

42 ответов

10 просмотров

Никак, просто код писать.

fp ? ) 😂

иначе менять работу чаще ;)

Alex- Автор вопроса
Ilya Zviagin
Никак, просто код писать.

И как ты собираешься писать свой код без паттернов? Хуяк-хуяк и в продакшен?

Alex
И как ты собираешься писать свой код без паттернов...

Ну... А вот какие паттерны так вот для питона уж совсем нужны?

Alex
И как ты собираешься писать свой код без паттернов...

Спор про паттерны я думаю не нужен. Всегда лучше знать чем не знать)

Oleksandr Kalmykov
Спор про паттерны я думаю не нужен. Всегда лучше з...

Это да, но питонисту зачем — не совсем ясно (мне)

Alex- Автор вопроса
Ilya Zviagin
Ну... А вот какие паттерны так вот для питона уж...

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

Alex
Эм нет, давай так: Допустим у тебя есть апишечка....

апишечка — это WEB апишечка, или C call level API?

Alex
веб апишечка.

Так, ну и в чём вопрос? Как я буду делать к ней запросы — на HTTP. И не факт, что вообще на питоне.

Alex- Автор вопроса
Alex
ну а в код ты этот как упакуешь?

А как это фреймворк реализует — так и упакую. Я вон на Ладоне делал — там вызов API это просто питоновская функция в модуле (или классе — не помню, не очень важно)

Alex
какой еще фреймворк?

В котором я работать буду. Ладон, Бутылка, или Джанго.

Alex- Автор вопроса
Ilya Zviagin
В котором я работать буду. Ладон, Бутылка, или Джа...

А при чем здесь они? Может у тебя вообще тонкий клиент и тебе в нем надо чье-то апи утилизировать. Я про это говорю.

Alex
А при чем здесь они? Может у тебя вообще тонкий кл...

Ладно, я не понял тогда. Сори что поднял тему.

Alex- Автор вопроса
Ilya Zviagin
Ладно, я не понял тогда. Сори что поднял тему.

Давай тогда я объясню. Допустим у нас есть rest api и мы хотим его утилизировать у себя. Пусть это будет например апи какой-нибудь рекламной площадки и мы хотим в тонком клиенте отображать статистику по рекламным кампаниям. Допустим мы пишем клиент на питоне. Опустим нюансы типа фреймфорка для гуи и просто остановимся на питоне. Итак, как ты собираешься делать запросы в это апи?

Alex
Давай тогда я объясню. Допустим у нас есть rest ap...

Я собираюсь делать запросы по REQUESTS.

Alex- Автор вопроса
Ilya Zviagin
что значит в тонком клиенте?

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

Alex- Автор вопроса
Ilya Zviagin
Я собираюсь делать запросы по REQUESTS.

хорошо, как именно? просто requests.get/post?

Alex
хорошо, как именно? просто requests.get/post?

Ну, в первом приближении и так можно. Можно наваять маленькую фукнцию / набор функций / класс чтобы делать однотипные вещи (хер там знает что отдаёт это API) Ну и кстати SWAGGER же есть наверняка — можно им сгенирировать клиента.

Alex
хорошо, как именно? просто requests.get/post?

И вот я не понимаю — при чём тут паттерны?

Alex- Автор вопроса
Ilya Zviagin
И вот я не понимаю — при чём тут паттерны?

> Можно наваять маленькую фукнцию / набор функций / класс Допустим класс. Как ты его организуешь? Просто def get_campaigns(self): return requests.get('/api/campaigns') ?

Alex
> Можно наваять маленькую фукнцию / набор функций ...

Ой ну не знаю. надо смотреть на апи это.

Alex- Автор вопроса
Alex
ну примерно так?

Да нет, там наверное надо данные кэшировать, а не запрашивать каждый раз, И обрабатывать как-то, оно же (requests.get('/api/campaigns')) выдаёт объект-результат запроса, надо из него данные вытащить, зачем прям вот объект отдавать? Смысла мало. А так не знаю, — надо задаться целью, что эта прослойка делать должна. Видимо, что-то полезное с данными, в терминах предметной области, чтобы клиент класса не думал ни о каком API, ни о каком HTTP

Alex- Автор вопроса
Ilya Zviagin
Да нет, там наверное надо данные кэшировать, а не ...

> А так не знаю, — надо задаться целью, что эта прослойка делать должна. На такие вещи и помогает отвечать знание паттернов.

Alex
> А так не знаю, — надо задаться целью, что эта пр...

Ну, не согласен, просто наличие мозгов помогает больше. Паттерны можно и самому придумать находу.

Alex- Автор вопроса
Ilya Zviagin
Ну, не согласен, просто наличие мозгов помогает бо...

> Паттерны можно и самому придумать находу. Так заебись же. Расскажи пожалуйста какие паттерны ты придумал. Мне как интересующемуся архитектурой прям интересно.

Alex
> Паттерны можно и самому придумать находу. Так за...

Я предумал независимо от его автора virtual self reference , Composite, независимо от ГоФ, чёта ещё дофига всего, не помню.

Alex- Автор вопроса
Alex- Автор вопроса
Ilya Zviagin
сейчас переведу на GoF...

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

Alex
> virtual self reference Ух ты, а это что такое?

В общем наверное это декоратор. https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BA%D0%BE%D1%80%D0%B0%D1%82%D0%BE%D1%80_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F) с динамически меняющейся реализацией каждого метода. Каждый метод имеет параллельную фукнцию, возвращающую объект, реализующий данный метод. Сначала получается этот объект, затем ему перенаправляется вызов метода.

Alex- Автор вопроса
Ilya Zviagin
В общем наверное это декоратор. https://ru.wikipe...

> с динамически меняющейся реализацией каждого метода. Это не декоратор. Это больше похоже на замыкание или какую-то кодогенерацию. > Каждый метод имеет параллельную фукнцию, возвращающую объект, реализующий данный метод. Сначала получается этот объект, затем ему перенаправляется вызов метода. Звучит просто как своего рода dispatch.

Alex- Автор вопроса

Стикер

Похожие вопросы

Обсуждают сегодня

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
> комьюнити я бы не судил по этому чату. Как мы видели по статам просмотров нескольких телеговских постов, то в чате их набивается 30-40 или даже выше, когда как общаются акти...
Constantin F.
4
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Как сделать чтобы short точно был 2 байта, int точно 4 байта ?(без стандартных библиотек, ну типа без int16_t, int32_t)
#
8
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Всем привет. Испытываю проблемы в работе БД, а именно огромного роста логов, такого характера: 024-05-16 18:39:07 +05 sentry sentry [unknown] 1050169 7-1 app-sentry01.corp.ru>...
Alexey
2
Только такой if ($modx->event->name == 'OnBeforeCartItemAdding') { $meta = $params['item']['meta']; $lang = $modx->getConfig('_lang'); // проверяем, задана ли опция i...
Multi Web
1
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Карта сайта