@spbpython

Страница 438 из 785
Vadim
22.06.2017
09:31:31
привет

кто нибудь знает зачем некоторые люди пишут функцию do()

которая вызывает функцию _do()

в чем смысл сего действа?

Google
Vadim
22.06.2017
09:33:24
def do(self, data): _, data = self._do(0, 0, data) return data

для примера

Eugene
22.06.2017
09:33:46
Я так пишу когда в функции do делаются какие-то общие проверки, исключения, подготовка данных и т. п., а в функции _do чистая реализация алгоритма без всяких лишних действий

Vadim
22.06.2017
09:34:41
оке, спасибо

Andrey
22.06.2017
09:35:38
def do(self, data): _, data = self._do(0, 0, data) return data
ну тут прямо видно, что _do берет еще дополнительные параметры. может они там для рекурсии нужны или еще чего

Vadim
22.06.2017
09:36:06
ну то есть что то вроде враппера?

Andrey
22.06.2017
09:36:50
типа того. можно ограничить пользовательский интерфейс. а на внутреннюю функцию и тесты более конкретные можно написать

Vadim
22.06.2017
09:37:15
спасибо

Eugene
22.06.2017
09:55:13
Я в свою очередь спрошу, кто-нибудь практикует такое: [foo] __init__.py _foo.py # __init__.py from foo._foo import bar # app.py from foo import bar Идея в том, что у нас есть пакет, в нём модуль, в модуле какие-то классы/функции. Пакет и модуль у нас один и не хочется каждый раз писать from foo.foo import bar , но так же не хочется делать реализацию в __init__. Кто как делает в таком случае?

b0g3r
22.06.2017
09:55:56
Я делаю в _foo, и нужное импорчу в __init__

ой, а ты ж оно и написал

Eugene
22.06.2017
09:58:41
Ага, зачастую так бывает, что делаешь библиотеку в виде пакета с одним модулем и эта избыточность foo.foo напрягает и в __init__ писать реализацию тоже напрягает, и без пакета делать библиотечку тоже напрягает. :)

Andrey
22.06.2017
10:00:11
имхо. иногда модуль это просто модуль

Google
b0g3r
22.06.2017
10:00:36
вот - да, может и одним файлом хватит

Eugene
22.06.2017
10:02:12
имхо. иногда модуль это просто модуль
А если я хочу распространять свою библиотеку, положить на pypi? Пакетом распространять, мне кажется, правильнее. Хотя может это лично мои заморочки.

b0g3r
22.06.2017
10:02:45
а почему правильнее папкой?

если у тебя там всё равно один файл

когда нужно будет расширять - расширишь, на код это никак не повлияет

Eugene
22.06.2017
10:03:35
ну как минимум в site-packages будет лежать папка (пакет), а не какой-то файл. Можно, конечно, написать setup скрипт, чтобы там была папка и pth файл на неё.

Andrey
22.06.2017
10:05:19
Вот

Боттл

https://github.com/bottlepy/bottle

Andrey
22.06.2017
10:05:49
Однофайловый фрейворк, просто положили файло и всё. И вряд-ли кто-то на них косо смотрит.

b0g3r
22.06.2017
10:06:01
https://github.com/coleifer/peewee/blob/master/setup.py

одним файлом кладется в site-packages

Eugene
22.06.2017
10:06:33
Почему будет лежать папка, а не файл? Оо
site_packages/foo/ в случае одного модуля будет site-packages/foo.py

b0g3r
22.06.2017
10:06:41
да

Eugene
22.06.2017
10:08:10
С другой стороны в site-packages итак всегда свалка, поэтому, наверное, действительно пофиг.

Vadim
22.06.2017
18:53:04
раз уж тут тишина такая, спрошу

никто не знает, где почитать о бест практисес по SOA?

Dmitry
22.06.2017
20:23:09
я вот тут сразу присоединюсь и спрошу про практики по writing testable code

Google
Dmitry
22.06.2017
20:25:05
pytest + mypy и type annotations? :)
эм, это про другое. Я про как его строить testable way

Nikolay
22.06.2017
20:25:24
эм, это про другое. Я про как его строить testable way
в смысле? чтобы упростить покрытие его тестами?

Chikiro
22.06.2017
20:26:51
И я тоже спрошу. Кто как тестирует, если логика привязана к текущей дате и времени? Мокапить datetime.now? Написать обертку и мокапить ее? Не мокапить, а выставлять дату заведомо в будущем или прошлом? Как лучше?

Chikiro
22.06.2017
20:34:03
а нельзя переписать логику, чтобы она не была привязана к текущему времени?
Да, такой вариант тоже рассматриваю, но не знаю, стоит ли так делать. Не будет ли это усложнение кода ради тестов.

Nikolay
22.06.2017
20:34:36
Да, такой вариант тоже рассматриваю, но не знаю, стоит ли так делать. Не будет ли это усложнение кода ради тестов.
это усложнение кода ради кода. Привязка к текущему времени почти всегда зло

особенно когда надо масштабироваться в перспективе, например

Chikiro
22.06.2017
20:35:27
Еще в гугле нашлась библиотека с забавным названием https://github.com/spulec/freezegun но пишут, что проблемы с таймзонами

Даниил
22.06.2017
21:26:52
Еще в гугле нашлась библиотека с забавным названием https://github.com/spulec/freezegun но пишут, что проблемы с таймзонами
Использую эту либу как раз в кейсах с таймзонами, полёт нормальный, версия 0.3.8

Aline
23.06.2017
07:33:32


Что это за фигня с делетед акк ?



Andrey
23.06.2017
07:34:45
Это его имя просто

b0g3r
23.06.2017
07:34:48
Спам бот зашел, видимо, но получил много репортов до нашего чата и не успел)

Это его имя просто
Хм, а может быть и да. По-моему удаленные капсом пишутся.

Aline
23.06.2017
07:35:49


Имя другое

Какой-то странный бот тусящий в чатике непонятно зачем(

Google
Danil
23.06.2017
07:53:48
Какой-то странный бот тусящий в чатике непонятно зачем(
Спасибо за бдительность )) Видимо, пока он останется жить с нами, в удаленном виде, кикнуть из чата в вебверсии его пока не получается.

Michael
23.06.2017
08:30:03
Принести его в жертву богам. Ухахахаха.

Ilia
23.06.2017
08:31:35
Вроде как левые боты не могут читать сообщения в чатах, только на команды реагировать

Andrey
23.06.2017
08:32:03
Нет там в настройках бота ставиться



Ilia
23.06.2017
08:33:45
Мда, хотелось бы иметь список ботов отдельно от списка участников в таком случае

Да, это дискриминация ботов, всё верно

b0g3r
23.06.2017
08:38:41
Мда, хотелось бы иметь список ботов отдельно от списка участников в таком случае
Это не спасет - это публичный чат, в него можно зайти через клиентское апи телеграма и считать все сообщения (telethon, tg-cli, telegram-history-dump)

Есть даже сервисы, которые дампят сообщения с публичных чатов и дают по ним поиск

http://telegrammy.net/pages/about, например

оно даже в гугле индексируется

Andrey
23.06.2017
08:41:50
Я честно говоря не знаю какой бот это делает, но если у кого есть интерес капать надо отсюда.

http://telegrammy.net/

b0g3r
23.06.2017
08:45:45
Так это не совсем ботом делается, это делается через клиентский апи, бороться с этим никак. Аккаунт даже в чат заходить не должен - чат публичный, история доступна всем.

Александр
23.06.2017
09:17:04
Вот оно было текущее и уже нет)

Chikiro
23.06.2017
09:36:50
А можно пример, как можно привязаться к текущему времени и что это вообще такое, текущее время?
Это како-то глобальное состояние времени на момент выполнения программы. Например, надо ограничить пользователям доступ к ресурсам по времени, вывести информацию о том, сколько времени осталось до окончания доступа. И написать тесты.

Евгения
23.06.2017
10:05:03
Привет! Есть #вакансияя Web-разработчика на python в Питере. Требования: • Уверенное владение python/javascript (2.7+/3+). • Знакомство с NoSQL. • Опыт работы с системами контроля версий: git/mercurial. • Близкое знакомство с практиками TDD. • Знание современных js-фреймворков с пониманием их архитектуры. Предлагаем: Зарплата до 150 т.р. нетт, гибкий график, ДМС, компенсация спорта, языковых курсов, бесплатные обеды, оплата профессиональных конференций и семинаров. Пишите в личку или на почту evgeniya.k@ati.su https://spb.hh.ru/vacancy/21025645

Google
Sergey
23.06.2017
10:09:48
full stack - это сила

Dmitry
23.06.2017
10:10:39
не, full stack это хорошо и интересно, зря вы )

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

Danil
23.06.2017
10:12:26
Sergey
23.06.2017
10:12:42
не, full stack это хорошо и интересно, зря вы )
а твой фулстэк как далеко в бэкенд распространяется? не текущие знания, а в целом

Andrey
23.06.2017
10:12:44
к счастью он становится лучше
Полностью согласен.

Dmitry
23.06.2017
10:13:30
а твой фулстэк как далеко в бэкенд распространяется? не текущие знания, а в целом
он в бэкэнд как раз и распространяется. он во фронтенд пока не до конца (но я работаю над этим ^^)

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

но никто нигде обычно и не ждёт идеальных знаний и там и там. у всех фулл-стек девелоперов свой перекос. Нет?

Sergey
23.06.2017
10:14:44
согласен, я про твой случай и спрашиваю, насколько широкий диапазон ты хочешь охватывать

Sergey
23.06.2017
10:15:51
не, full stack это хорошо и интересно, зря вы )
А я и не спорю, но было бы неплохо в вакансии писать сразу, что это fullstack, не? :)

Dmitry
23.06.2017
10:16:07
ну, меня устроит 1) понимать что везде происходит 2) уметь при желании нафигачить везде, включая вёрстку 3) сохранять уклон в бэкэнд (насчёт третьего пункта у меня сомнения, может и не так будет)

Страница 438 из 785