
Andrew
04.12.2016
17:34:10
На первый взгляд ничего нового, но думаю, я и половины не помню на память

Nikolay
04.12.2016
17:34:35
это по 3.x?

Андрей
04.12.2016
17:35:21
но там часто сравнения с 2

Google

Андрей
04.12.2016
17:35:34
типа раньше было вот так

Nikolay
04.12.2016
17:35:36
ок, схоронил; когда-нибудь на 3 перейду :)

Андрей
04.12.2016
17:35:50
советую поскорее переходить. очень хорошо на нем
не могу привести прям сравнения

Ivan
04.12.2016
17:35:59

Nikolay
04.12.2016
17:35:59
медленнее же

Андрей
04.12.2016
17:36:03
но мне почему-то в разы удобнее на нем писать

Andrew
04.12.2016
17:36:32

Nikolay
04.12.2016
17:36:35
для меня 2.7 хватает; не ущемлен ни в чем :))

Андрей
04.12.2016
17:36:36
потому что могут появиться новые и тогда пиздец
там скорее объясняют подробно как это работает вообще

Fox.rs
04.12.2016
17:37:18

Google

Ivan
04.12.2016
17:37:24

Андрей
04.12.2016
17:37:37
так писали, да
я ж не отрицаю

Роман
04.12.2016
17:37:48

Ivan
04.12.2016
17:38:02

Андрей
04.12.2016
17:38:30
причем объясняют кмк на человеческом языке

Ivan
04.12.2016
17:38:30

Иван
04.12.2016
17:38:39
/admins@mostproxy_bot

Aragaer
04.12.2016
17:42:51
есть куча книг с хорошими советами по программированию. Беда в том, что кроме хороших советов там еще куча всего другого понаписано. Тоже полезного, но отвлекающего от собственно советов

Andrew
04.12.2016
17:44:04
И всё равно надо это на своём опыте почувствовать
Но надоело учиться на своих ошибках, почитать что-нибудь хочется

Андрей
04.12.2016
17:45:10

Nikolay
04.12.2016
17:45:15
глянуть как устроены открытые проекта A класса :)
django, например

Андрей
04.12.2016
17:45:30
если бы я следовал такой логике, то хуй бы я прогать научился

Ivan
04.12.2016
17:45:32

Andrew
04.12.2016
17:45:38
От исходников celery мне стало грустно немного
Я такое не пишу
А от openstack мозг сломался немного

Google

Nikolay
04.12.2016
17:45:49
гавнина?

Андрей
04.12.2016
17:45:50
обучающие книги для того и созданы, чтобы передавать знания

Andrew
04.12.2016
17:46:03
Нет, норм
Хотя про опенстек такого сказать не могу, но он был сырой тогда. А его ещё и допиливать пришлось
Постоянно какие-то ошибки, которые либо не обрабатываются, либо глушатся исключения где не надо и оно потом вываливается где-то ещё

Aragaer
04.12.2016
17:46:48
а я что-то сказал, что надо отказываться от информации?

Andrew
04.12.2016
17:46:48
И отлаживай это..

Aragaer
04.12.2016
17:47:06
наоборот, надо перечитывать уже прочтенное, чтобы увидеть там новую информацию между строк

Ivan
04.12.2016
17:47:50
Да, и книги в любом случае полезно почитывать. Как минимум потому, что в них информация структурирована

Andrew
04.12.2016
17:48:45
Вот исходники flask читаются легко, но там ничего сложного и нет
Не, в celery вроде хорошо всё, но оказалось сложно понять сходу

Ahmed
04.12.2016
18:00:05
Ребята, подскажите linux сообщество в телеграме.

Firdavs
04.12.2016
18:08:06
unix.community у них вроде была группа в телеграме

Anton
04.12.2016
18:09:15

arisu
04.12.2016
18:17:49
> php
что за школофорум-то ебать

Petr
04.12.2016
18:41:30
Поч такая штука не работает class GG(object):
def __init__(self):
self.name = self.__class__.__name__
def Load(self):
eval('app.GG=self')
pass
def OnCommand(self):
print 1
pass
GG().Load() на eval ругается, app - класс

Andrew
04.12.2016
18:43:22
А что говорит и как объявлен app ?

Petr
04.12.2016
18:44:57
SyntaxError: invalid syntax и app = plugins()
class plugins:
pass

arisu
04.12.2016
18:52:09
не надо лазить в __

Google

Stanislav
04.12.2016
18:52:37
Method Names and Instance Variables
Use the function naming rules: lowercase with words separated by underscores as necessary to improve readability.
https://www.python.org/dev/peps/pep-0008/#class-names
это к стайлу
не могу смотреть на такой стайл класса

Andrew
04.12.2016
18:52:55
exec тут сработает
Но не делай так

Admin
ERROR: S client not available

Andrew
04.12.2016
18:53:04
Ты делаешь неправильно что-то

Petr
04.12.2016
18:54:02
рил?

Andrew
04.12.2016
18:54:44
Тебе нужно куда-то плагины складывать или какая задача?

Stanislav
04.12.2016
18:55:05
eval('app.GG=self')
self точно так должен быть?

Petr
04.12.2016
18:55:20

Andrew
04.12.2016
18:57:32
Почему бы не сделать класс с плагинами и явно их там регистрировать, а не делать это наоборот?
Ещё есть способы найти все классы, которые наследуют базовый класс плагина например.
А даже если так писать, то зачем тут eval?

Stanislav
04.12.2016
18:58:24
я тоже думаю что структура с eval попросту не нужна
можно сделать к примеру класс Plugin, и сделать PluginDB, который будет регистрировать плагины

Petr
04.12.2016
18:59:34
попробую, спасиб

Stanislav
04.12.2016
19:00:11
https://github.com/XtremeTeam/Talisman-xmpp-bot
посмотри как тут сделали в свое время
https://github.com/XtremeTeam/Talisman-xmpp-bot/blob/master/pybot.py#L182

Andrew
04.12.2016
19:01:19
https://github.com/python-telegram-bot/python-telegram-bot/

Google

Stanislav
04.12.2016
19:01:36
https://github.com/XtremeTeam/Talisman-xmpp-bot/blob/master/pybot.py#L232
а вот как плагины брали с папки

53r63rn4r
04.12.2016
20:19:15
CPU-зависимая задача => Multi Processing
I/O-зависимая, быстрый I/O => Multi Threading
I/O-зависима, медленный I/O => Asyncio
Поясните, плз
Оффтоп

Stanislav
04.12.2016
20:20:11
http://uwpce-pythoncert.github.io/SystemDevelopment/threading-multiprocessing.html
вот тут хорошо объяснили
советую

Andrew
04.12.2016
20:20:32
Треды в контексте питона или системы?

Pavel
04.12.2016
20:20:33
CPU-зависимая задача => Multi Processing
разные процессы раскидывается на разные ядра - ок для загрузки cpu

Andrew
04.12.2016
20:20:51
Ну если gil нет, то и треды так же раскидываются

53r63rn4r
04.12.2016
20:23:42
Ну стандартный питон - это же сипитон, также?

Pavel
04.12.2016
20:23:55

Andrew
04.12.2016
20:24:38
А разделение на быстрый/медленный i/o не совсем понятно
Зависит от конкретной задачи всё

53r63rn4r
04.12.2016
20:24:52
Видели как работает телебот, кто-нить? Там же есть асинхронность, реализованная через треадинг
Вот и я не пойму как правильно подойти к задаче, воть

Anton
04.12.2016
20:25:47
Асинхронность никак не связана с тредами. Concurrency is not parallelism.