
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

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

b0g3r
22.06.2017
10:05:33

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

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

Nikolay
22.06.2017
20:23:51

Google

Nikolay
22.06.2017
20:24:15

Dmitry
22.06.2017
20:25:05

Nikolay
22.06.2017
20:25:24

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

Nikolay
22.06.2017
20:27:22
чаще всего от этого одни проблемы

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

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
Есть даже сервисы, которые дампят сообщения с публичных чатов и дают по ним поиск
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

Sergey
23.06.2017
10:05:38

Andrey
23.06.2017
10:07:34

Google

Sergey
23.06.2017
10:09:30

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

Dmitry
23.06.2017
10:10:39
не, full stack это хорошо и интересно, зря вы )
тем более что всё ещё очень много позиций, которые его не требуют, так что всё ок

Andrey
23.06.2017
10:12:05

Danil
23.06.2017
10:12:26

Sergey
23.06.2017
10:12:42

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

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

Andrey
23.06.2017
10:16:13