@scala_ru

Страница 309 из 1499
Nikolay
13.12.2016
19:22:55
я читал статью, в которой всерьез втиралось, что питон более строго типизирован, чем джава

Oleksandr
13.12.2016
19:22:56
больше вообще или на 100 строчек кода?

Semyon
13.12.2016
19:23:03
я не помню уже, конечно

они вроде семантику как-то по-хардкору препарировали

Google
Semyon
13.12.2016
19:23:27
а не тупо скобочки считали

Semyon
13.12.2016
19:24:12
Nikolay
13.12.2016
19:24:56
Denis
13.12.2016
19:28:40
http://degoes.net/articles/easy-monads

Vladimir
13.12.2016
19:30:02
Замануха какая-то небось, этот лысый только и ждёт, чтоб сделать с моим мозгом то, что его коллега из бразерс делает с женщинами

Alex
13.12.2016
19:30:08
дехус шкварыць

Kirill
13.12.2016
19:30:53
https://neoeinstein.github.io/monads-are-not-burritos/images/what-is-monad.jpg

https://camo.githubusercontent.com/2a4d9287a3990bfcee878f32e588b4a69aed61d2/68747470733a2f2f636c6475702e636f6d2f53357443313841625f782d3230303078323030302e6a706567

Nikolay
13.12.2016
19:31:31
чтобы понять монады - надо понять монады

Kirill
13.12.2016
19:32:57
тут люди списки складывают, а им в лицо монадами швыряются :(

web.num
13.12.2016
19:33:22
нутакчО!? var - evil ??

Google
Alex
13.12.2016
19:33:51
можно но чтобы никто не видел

Kirill
13.12.2016
19:34:08
нутакчО!? var - evil ??
Если в монаде - нет

Alex
13.12.2016
19:34:10
observable nondeterminism по научному

Lev
13.12.2016
19:34:32
можно но чтобы никто не видел
Чтобы было сюрпризом для тех, кто потом будет поддерживать?

web.num
13.12.2016
19:34:35
ок.....еще бы монаду понять.....надо монаду понять ?

Alex
13.12.2016
19:35:14
я про инкапсуляцию мутабельности :)

Mikhail
13.12.2016
19:35:27
нутакчО!? var - evil ??
у каждого свой монастырь и свой устав)

Denis
13.12.2016
19:36:13
https://www.fpcasts.com/

web.num
13.12.2016
19:37:31
у каждого свой монастырь и свой устав)
ну....я вот по учебнику старенькому изучаюсь, видимо сой устав будет как там + курсера

Vladimir
13.12.2016
19:40:41
https://www.fpcasts.com/
Чего-нибудь посоветуешь, или только нашел?

Denis
13.12.2016
19:41:01
Vladimir
13.12.2016
19:41:10
The Type Theory Podcast

звучит прикольно

Nikolay
13.12.2016
20:12:09
Ты через 5 месяцев попробуй свой изящный код почитать :)
обычно небольшие функции с рекурсией пишутся, с ними проблем не бывает

Aleksey
13.12.2016
20:15:02
обычно небольшие функции с рекурсией пишутся, с ними проблем не бывает
У человека опыт - написал функцию рекурсивную, через 5 месяцев не може прочитать. Всякое бывает

Nikolay
13.12.2016
20:45:14
на reddit-е кинули https://github.com/Tenchi2xh/Scurses хорошо выглядит

Vadim
13.12.2016
23:40:05
юбиленый scalalaz - http://scalalaz.ru/series-10.html

Юрий
14.12.2016
00:34:28
почему недостаточно? берем и решаем что отправлять будем используя JSON подобной структуры: { "type":"example", "data": { .... } } Дальше просто проверяем что находится в type и на основе этого уже проводим десериализацию.... Или можо проще и без этой обертки?
Не забывай про одинаковые запросы с разными параметрами. Например, как я выше писал, запросили двух юзеров с разными айди. Клиент асинхронный, такие ситуации нужно обрабатывать.

Google
Anatoliy
14.12.2016
03:41:39
Не забывай про одинаковые запросы с разными параметрами. Например, как я выше писал, запросили двух юзеров с разными айди. Клиент асинхронный, такие ситуации нужно обрабатывать.
конечно нужно, но на каждого клиента свой актор, я просто знаю откуда и что пришло, зачем мне еще дополнительно пометку делать?

Юрий
14.12.2016
03:51:28
Твой клиент А сделал 2 запроса getUser. Как понять, какой из ответов вернул какого юзера?

понять на клиенте А

Mikhail
14.12.2016
05:11:08
конечно нужно, но на каждого клиента свой актор, я просто знаю откуда и что пришло, зачем мне еще дополнительно пометку делать?
Он верно тебе говорит) При хттп запросах - у тебя каждый запрос изолируется в отдельный канал и нет проблем. А здесь иначе, причем даже в случае если обеспечиваешь синхронность очереди ( запрос Б не отправится на сервер до тех пор пока не будет получен ответ А ) - не исключена ситуация, что ответ на А придет после истечения таймаута и ты можешь подумать, что пришел ответ на Б

Alexander
14.12.2016
06:31:48
Max
14.12.2016
06:50:59
Твой клиент А сделал 2 запроса getUser. Как понять, какой из ответов вернул какого юзера?
То есть такое бывает что у вас на клиенте в двух разных местах посылается запросы на один урл с разными параметрами и нужно получить в двух разных местах ответы на свои запросы?

Mikhail
14.12.2016
06:55:54
причем тут один урл?

Max
14.12.2016
06:56:22
> Юрий Твой клиент А сделал 2 запроса getUser.

Mikhail
14.12.2016
06:57:23
Ну как бы стоило сначало прочитать в чем суть беседки была) Запросы отправляются в контексте websocket

Max
14.12.2016
06:59:11
я как бы читал еще со вчера > @rudogma При хттп запросах - у тебя каждый запрос изолируется в тут сравнивали с http - и пишите это в достоинства - это конечно достоинство но как это использовать можно

то есть http - обеспечивает идентификацию запроса а ws идентификацию вида сообщения(что бы обеспечить идентификацию запроса предлагали использовать requestId) - так я и спрашиваю реально нужна идентификация запроса где то?

Mikhail
14.12.2016
07:02:39
ws не обеспечивает идентификацию сообщения

оно позволяет тебе пихать туда сюда сообщения в рамках одного постоянного соединения

в сокетах нет понятия запрос-ответ. есть просто сообщение в ту или иную сторону

Max
14.12.2016
07:03:46
никто не спорит

Mikhail
14.12.2016
07:04:29
и до сих пор непонятно почему требуется id для сообщений?

Mikhail
14.12.2016
07:05:20
Конечно бывает. Без этого придется делать передачу сообщений по вебсокету синхронными.
Синхронность очереди по сокету не отменяет исходной проблемы

Юрий
14.12.2016
07:05:31
ну да, это правда

Google
Max
14.12.2016
07:06:10
> Юрий Конечно бывает. а можно пример для глупых? хотя бы наивный

Mikhail
14.12.2016
07:06:43
дашборд - кидаешь на него два юзера. по каждому одновременно запрашивается инфа

Max
14.12.2016
07:07:08
на одном клиенте два юзера?

Mikhail
14.12.2016
07:09:53
еще раз - представь себе гуи дашборд(сводка, как хочешь назови) - кидаешь на него два виджета и говоришь им, что один должен показать инфу про пользователя id=1, второй по пользователю id=2. Естественно, что каждый из них инициирует свой запрос

Admin
ERROR: S client not available

Mikhail
14.12.2016
07:10:32
замени "пользователь" на "проект" - если тебя смущает и возникает когнитивный диссонанс

Max
14.12.2016
07:10:43
ок такой пример понятен

приходящие сообщения о разных юзерах будут содержать в себе напрмер userId и можно будет узнать в какой виджет сообщение сунуть ну ладно я попросил пример для глупых

Mikhail
14.12.2016
07:19:16
Хорошо, закроем глаза еще на пачку проблем которые ты поимеешь при таком подходе. Но ответь на следующее - если ты получил сообщение с ошибкой и там естественно не будет id юзвера, как ты теперь будешь разбираться к какому виджету оно относится?

Max
14.12.2016
07:30:54
если в сообщении нет инфы по какой причине оно произошло - то это хреновое сообщение) - посылай в сообщении userId В общем да получится что userId будет requestId для этого конкретного случая Просто вот это решение с requestId слишком начинает превращать общение в запрос/ответ а ws мне кажется не про это - разве нет?

Andrey
14.12.2016
07:38:13
приведенную задачу не нужно решать чисто вебсокетами

Юрий
14.12.2016
07:38:15
можно в принципе использовать два транспорта - http и web-socket

это просто другое решение

Andrey
14.12.2016
07:39:10
а почему отказались от http?

Юрий
14.12.2016
07:40:59
да как-то хз, не помню уже. Просто нужен был пушинг с сервера, значит надо юзать вебсокеты. Ну и завернули всё в одном слое. Может @fomkin меня поправит.

Nikolay
14.12.2016
07:43:46
> Просто вот это решение с requestId слишком начинает превращать общение в запрос/ответ а ws мне кажется не про это - разве нет? да не, тут же двухсторонняя коммуникация, sse не про это, а ws вполне

Aleksey
14.12.2016
07:44:00
да как-то хз, не помню уже. Просто нужен был пушинг с сервера, значит надо юзать вебсокеты. Ну и завернули всё в одном слое. Может @fomkin меня поправит.
1) Мобильное приложение. Интернет плохой, делать SSL-хэндшейки каждый раз когда хочется чего-нибудь дернуть -- не очень круто. 2) Если мы уже сапортим вебсокет-хозяйство, то почему бы не сделать поверх него запрос ответ 2.1) Не надо матчить HTTP-сессию с вебсокетом.

Mikhail
14.12.2016
07:57:37
можно в принципе использовать два транспорта - http и web-socket
а можно не ограничивать себя и использовать один транспорт для req/resp & signal

Andrey
14.12.2016
08:00:22
Ну вот кстати про пример с дашбордом. Оно вроде и так... Но всегда стараюсь строить приложение так, чтобы не надо было приседать. Решается просто, каждый виджет знает юзера с каким ID он показывает. Тебе "из трубы" прилетают 2 юзера, у них ID есть и приложение знает на каком виджете какого отобразить. Привязка к запросам уже не нужные приседания.

Google
Mikhail
14.12.2016
08:05:33
Просили простой случай - дал простой случай. Пожалуй перечислять все возможные случаи на которые натолкнешься, если для реализации семантики "запрос-ответ" не будешь использовать req-id - мне лень и нет никакого желания)

Ivan
14.12.2016
08:10:44
Так id юзера это и есть reqid в этом просто случае

Nikolay
14.12.2016
08:10:47
Не считаю идентификатор запроса "приседаниями"

Ivan
14.12.2016
08:10:49
Разве нет?

Andrey
14.12.2016
08:11:01
Нет, так не должно быть

Mikhail
14.12.2016
08:11:09
Мдя

Nick
14.12.2016
08:11:23
Aleksey ну что, будешь вписываться за скалу?)

Andrey
14.12.2016
08:11:28
Не считаю идентификатор запроса "приседаниями"
Не сам идентификатор, а бизнеслогика заявязанная на него

Aleksey
14.12.2016
08:12:21
Aleksey ну что, будешь вписываться за скалу?)
Я написал Баруху, он не против, но сказал, что им надо обсудить мое участие.

Жду в общем.

Aleksei
14.12.2016
08:13:03
а про что вообще речь?

Nick
14.12.2016
08:13:08
Или они все будут против?

Страница 309 из 1499