
Anders
24.06.2016
12:35:40
я че-т не понимаю, про yield на каждую операцию

Alex
24.06.2016
12:38:05
ты асинхронный код писал?

Anders
24.06.2016
12:38:17
ну, async/await

Alex
24.06.2016
12:38:18
На торнаде, асинхио?

Google

Alex
24.06.2016
12:38:46
ну ты когда в сеть отправляешь или получаешь что-то, ты как это делал?

Anders
24.06.2016
12:38:58
сходить в редис - await сделать, в чем проблема-то?

Alex
24.06.2016
12:39:50
и как будет превращать существующий синхронный код написанный с использованием джанги, в асинхронный при этом не переписывая его?
и как ты будешь*

Anders
24.06.2016
12:40:21
зачем превращать синхронный код в ассинхронный?
новые вьюхи для работы с вебсокетами
в стиле срфттуды
channels*

H
24.06.2016
12:40:53
вы похожи на двух алкашей говорящих о смысле жизни :)

Alex
24.06.2016
12:41:07
ээээ
я вот щас представил как ты в БД пойдешь за новыми данными из этих самых каналов, ага )

Anders
24.06.2016
12:41:50
asyncio-redis?

Alex
24.06.2016
12:42:10
т.е. ты сначала их из джанги туда положишь, а потом вьюхами заберешь? Не, ну ок

Google

Alex
24.06.2016
12:42:15
если тебе так нравится конечно )
но чот по-моему проще взять asyncio
но в целом у меня познания про каналы чутка устарели, да )

Anders
24.06.2016
12:43:14
я думаю, тут вопрос более глобальный следует поставить, для чего использовать вебсоекты?

Alex
24.06.2016
12:43:14
я их тыкал последний раз только когда они заикнулись про них
Не знаю, народ для чего-то использует
ну и я не знаю как у остальных, но я стараюсь избегать всего что использует twisted и является твистедом
ну просто потому, что в какой-то момент времени перестаешь аще понимать как вот это все там у неё работает

Anders
24.06.2016
12:45:53
это проблема любого ассинхронного/многопоточного кода, больше 50 строк

Alex
24.06.2016
12:46:08
не, на торнде норм
торнаде*

Cykooz
24.06.2016
12:46:24
Ну как бы твистед не самый лучший образец понятной асинхронности

Alex
24.06.2016
12:46:38
твист это вообще по-моему самый плохой образец всего
твистед*

Cykooz
24.06.2016
12:46:41
Вот в asyncio гораздо всё проще в этом плане

Alex
24.06.2016
12:47:04
ходят легенды, что даже разработчики твистеда не знают как у них это все работает

Cykooz
24.06.2016
12:47:11
В своё время твистед был единственный, и хотя бы за это ему спасибо

dmks
24.06.2016
12:47:58
Я начинал
ой,слуачайно энтер нажал. Начинал с твистеда,я проклял все.

Alex
24.06.2016
12:48:43
ну не ужели асинхио так хорош? Все до сих пор торнаду использую для асинхронщины. Жду подходящей задачи на "попробовать" его

Google

Cykooz
24.06.2016
12:50:05
Мне очень понравился asyncio + aiohttp. С торнадо конечно не сильно много я мутил, но врят ли уже буду им пользоваться - нет причин уже

Alex
24.06.2016
12:51:24
Мое знакомство с твистед началось когда я хотел решить простую задачу: сделать TFTP сервер который бы за файлами бегал в БД, и отдавал их (файлы - это текстовые конфиги, так что можно было). Закончилось оно в общем-то тогда же. Оказалось куда проще и быстрее руками все написать без него

dmks
24.06.2016
12:53:59

Андрей
24.06.2016
12:53:59
А что выбрать, если нужно писать сервак для игры по типу agar io? Есть смысл пайтон брать или лучше сразу го?

Anders
24.06.2016
12:54:34
node.js вроде моден для всего этого

Alex
24.06.2016
12:54:46

Richard
24.06.2016
12:55:15
Конечно go --- это же лучше, моднее, там форматирование, корутины, всё такое.
Ещё, говорят, rust крут.
swift, вот, вышел недавно, но это корпоративное яблодрочерское говно.
(что там ещё из модного есть...)

Anders
24.06.2016
12:55:58
у питона тоже корутины, форматирование

Richard
24.06.2016
12:56:39
Это был сарказм.

Андрей
24.06.2016
12:57:47
я не для сарказма спрашивал, если че. С Node.js у друга был опыт, он плохо отзывался.

Anders
24.06.2016
12:58:06
в go прикольные defer вместо эксепшенов

Мерлин
24.06.2016
12:58:22

Anders
24.06.2016
13:00:21
ну, т.е. штука, вроде нашего contex-manager'а, которая вызывает какую-то логику, которая должная закрывать файлы, коннекшны и прочее
интересная концепция

Мерлин
24.06.2016
13:02:41
Да, он прикольная
Но вот как раз с помощью defer налажать можно не просто, а очень просто (

H
24.06.2016
13:02:56
лучше бы они сделали наследование

Anders
24.06.2016
13:03:22
эт точно:

Google

Anders
24.06.2016
13:03:22
In this example, a deferred function increments the return value i after the surrounding function returns. Thus, this function returns 2:
func c() (i int) {
defer func() { i++ }()
return 1
}

H
24.06.2016
13:03:23
и каждый раз ерр проверять

Alex
24.06.2016
13:13:00
в го есть чота типа наследования
через жопу реализованное
но есть
я где-то находил целый бложик, где чувак рассказывал как привычные людям ООП методологии применять в го-мосятине
а вот вообще, у меня всего один раз был опыт работы с нагруженным проектом, и чота ребята там уперлись ну совсем не в ЯП
уперлись по производительности имеется ввиду

Admin
ERROR: S client not available

H
24.06.2016
13:15:27
хочешь методы - хуячь копипаст

Alex
24.06.2016
13:20:44
да, все для людей ыы

Мерлин
24.06.2016
13:22:41

Alex
24.06.2016
13:26:30
ни функциональщина, ни ООП
хрен пойми под какой наркотой были люди когда его рожали

Мерлин
24.06.2016
13:28:21
ООП там есть
Просто не джава-вэй
Функциональщиной там и не пахнет
Разве что на уровне "горутины-потоки"
И ваще, как-будто что-то плохое
Go можно и нужно ругать за многое
Но уж точно не за это :3

H
24.06.2016
13:34:40
с каких пор ООП это джава вей? лол

Google

H
24.06.2016
13:35:15
когда придумали ООП джавы еще не было

Anders
24.06.2016
13:36:30
я думаю, среди большинства людей как раз-таки устаканалась мысль о том, что Джава - это единственно верный ООП подход в языках
не стоит спорить о том, правильно это или нет, такова ситууация

Мерлин
24.06.2016
13:38:39
с каких пор ООП это джава вей? лол
Anders вон правильно выразил мысль
Я не про то, что ООП появилось в Java
Я про то, что разные варианты ООП имееют право на существование

H
24.06.2016
13:41:30
ну вот это галимый вид ооп, через эти ебучие интерфейсы
у меня как раз наследование идеально было для моей задачи, с питона переписывал
но пришлось копипастить один "метод" в каждый класс...

Мерлин
24.06.2016
13:42:31
У тебя метод менял состояние объекта?

H
24.06.2016
13:43:04
у меня вызывать нужно было другие методы в зависимости от класса
https://play.golang.org/p/nYc2hc3UbG
даже линк остался

Мерлин
24.06.2016
13:46:31

H
24.06.2016
13:46:54
мне нужно получить классическое наследование, лол
чтобы было im in a
im in b
без копипаста discover во все классы

Мерлин
24.06.2016
13:56:48

H
24.06.2016
14:05:29
ты забыл одну тонкость
у меня атрибут возвращает метод obj.GetTest()
просто выдавать поле структуры и в моем варианте работать будет, вроде
полиморфизм короче мне нужен, которого нет