
Whore Amazing
13.08.2016
07:41:16
Ок, спасибо. Дело в том, что и foo, и bar - параметры, соответственно, могут быть разные. От этого ничего не зависит? Считаются разделительные символы '/' ?

Andrey
13.08.2016
07:41:42

Whore Amazing
13.08.2016
07:41:48
Спасибо.

Zart
13.08.2016
08:47:27
если б джангу писали не мудаки, то можно было бы роутить внутри одного процесса

Google

Zahar
13.08.2016
08:48:22
Sup, /p
Такой вопрос
впервые пишу что-то, вроде движка-сервера для игрули
Игра - текстовая ММОРПГ

Zart
13.08.2016
08:49:59
текстовые мморпг были задолго до мморпг и звались MUD'ами

Zahar
13.08.2016
08:50:10
Вопрос вот в чем: нормально ли использовать tornado.gen для асинхронности и tornado.web для связи с ним по http
да, точно, я слово забыл просто)

Zart
13.08.2016
08:50:30
нормально

Zahar
13.08.2016
08:50:38

Zart
13.08.2016
08:51:16
для сети они обычно асинк и юзают, хотя традиционно управление было по телнету же
прошло правда

Zahar
13.08.2016
08:52:34
ну, а мне вот пришла идея написать что-то, вроде движка для такого

Google

Zahar
13.08.2016
08:52:44
самый сок - телеграм в качестве обертки

Zart
13.08.2016
08:53:00
валяй, очень хорошая практика
даже если не осилишь, с асинком точно познакомишься вплотную

Zahar
13.08.2016
08:54:51
ну, асинк уже осилил

Zart
13.08.2016
08:55:07
ха

Zahar
13.08.2016
08:55:12
Разбирался "в работе"
Написал порнобота для тг

Zart
13.08.2016
08:55:47
я когда начал курить исходники серверных движков столько нового узнал

Zahar
13.08.2016
08:56:11
каких именно?)

Zart
13.08.2016
08:57:12
CircleMUD - весьма удачная схема управления сетевыми буферами на каждого клиента
Athena - невероятно оптимизированный селект цикл, использующий лог2 трюк для быстрого обхода тысяч дескрипторов
может это и малоинтересно при работе из питона, но про то как люди компактно и эффективно пилят сетевые движки - очень ценно
еще часто применяют распределенную архитектуру, разбивая на сервисы, чтобы можно было масштабировать игру горизонтально

Jonh
13.08.2016
09:03:06
Кстати, зарт, что можешь посоветов почитать по поводу микросервисной архитектуры в принципе и применительно к питону?

Zart
13.08.2016
09:04:09
та же афина - один сервис обрабатывал логины, второй хранил бд игроков и их стораджа, и работал брокером сообщений чата, третий обрабатывал геймплей/мобов по локациям, и можно было поднчть пачку их, раскидав локации по каждому
в микросервисы я пока еще не нырял. думаю тут надо изучать сервисные шины и очереди сообщений в первую очередь, без них микросервисы не взлетят

b0g3r
13.08.2016
09:06:09

Zart
13.08.2016
09:25:25
https://sans-io.readthedocs.io/how-to-sans-io.html мне нравится куда стремится питон в плане работы с сетевым I/O

53r63rn4r
13.08.2016
09:30:23
Это где?

Google

Bulat
13.08.2016
09:32:58
Avito

Sergey
13.08.2016
09:33:46

Zart
13.08.2016
09:34:19
ачотам?

Темный
13.08.2016
09:35:38
Avito
продавать барахло учат?

Bulat
13.08.2016
09:36:07

Zart
13.08.2016
09:36:23
вопрос был не тебе 8)

Bulat
13.08.2016
09:36:58
Гг

Sergey
13.08.2016
09:42:18
ачотам?
Я может что-то изменилось за год, но последний раз когда я изучал эту тему, единственный способ сделать кроссплатформенный асинхронный доступ к файлам был в создании тред пула и выноса io операций в отдельные треды.

Zart
13.08.2016
09:42:46
а, ты про файловый и/о.. я думал речь о форматах файлов
а кроссплатформа там и не будет
файловый айо есть практически только в линуксе, и при очень неудобных условиях

Denis
13.08.2016
12:18:12
А есть ли в стандартной библиотеке декоратор, который оборачивает вызов функции в threading.Lock или RLock?

Zart
13.08.2016
12:20:28
но зачем, если локи умеют контектс менеджер протокол

Denis
13.08.2016
12:20:48
Чтобы не добавлять лишний уровень вложенности в самой функции

Zart
13.08.2016
12:20:59
т.е. объявляешь lock = threading.Lock()
потом пишешь в коде
with lock:
x = f()
декоратор имхо паршивая идея

❄☁cybernetic life support system
13.08.2016
12:46:24
ууууу, ничего себе dark souls 2 + windows 10 + высокие = 60 фпс
супер
как будет тогда на линупсе
ууупс

Google

❄☁cybernetic life support system
13.08.2016
12:53:20
нитуда тыкнул

[Anonymous]
13.08.2016
12:59:14
Loftblog?

Geronimo
13.08.2016
13:08:26
как много хипсторов в одной комнате

Andrew
13.08.2016
13:46:42
ребят а есть в python что-то подобное map С++? типо безрамерный массив в который всегда числа добавляются по порядку и можно обращаться к индексу, или надо самому реализовывать?

Zart
13.08.2016
13:49:42
map в C++ ни разу не массив

Admin
ERROR: S client not available

Zart
13.08.2016
13:49:46
что именно ты хочешь?

Zahar
13.08.2016
13:50:19

Zart
13.08.2016
13:50:22
по описанию ты хочешь OrderedDict

Zahar
13.08.2016
13:50:27
ну, да
хотя, я не совсем понял

Zart
13.08.2016
13:51:50
"добавляются по порядку"

Andrew
13.08.2016
13:51:54
вроде OrderedDict подходит

Zahar
13.08.2016
13:52:00
да, при итерации ключи идут от меньшего к большему
только вот
при индексировании ничего не изменится
a[5] так и будет a[5]

Zart
13.08.2016
13:52:27
чо

Zahar
13.08.2016
13:52:40
всегда числа добавляются по порядку

Andrew
13.08.2016
13:52:44
а разве в OrderedDict можно писать просто значения без ключей?

Google

Zart
13.08.2016
13:53:01
в случае с map С++, dict/OrderedDict питона - индексов нет от слова "вообще"

Zahar
13.08.2016
13:53:15
key

Zart
13.08.2016
13:53:28

Zahar
13.08.2016
13:53:51

Andrew
13.08.2016
13:54:01
спасибо

Zahar
13.08.2016
13:55:59
о, раз пошла такая пьянка
что насчет pbds политик из С++
есть ли в питоне красно-черное дерево
и остальные

Zart
13.08.2016
13:57:04
накой..

Zahar
13.08.2016
13:57:09
ну, нужен мне допустим ordered set

Zart
13.08.2016
13:57:14
сделай

Zahar
13.08.2016
13:57:28
ну, просто в плюсах я такой
typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;
а, хотя
в PyPI наверняка есть что-то такое

Zart
13.08.2016
13:59:33
ордеред сет можно сделать либо из сета, чтобы получить уникальность, и допилить методы так чтобы они возвращали упорядоченный набор
либо сделать из листа, чтобы получить упорядоченность, и допилить методы чтобы обеспечить уникальность
Эта группа больше не существует