@scala_ru

Страница 519 из 1499
Grigory
26.02.2017
18:45:34
?

Sergey
26.02.2017
18:45:37
ну или если это слишком простая задача. то если нужны алгоритмы по бектрекингу и просчету в глубину, нафига мне весь этот оверхед с высшими типами?

Grigory
26.02.2017
18:46:34
ну это не оверхед; если найдешь баланс; будешь писать быстрее код меньше кода и он у тебя с меньшей вероятностью должен валиться в рантайме; другое дело конечно насоклько он у тебя правильно работает поэтому тесты все равно нужны

Oleksandr
26.02.2017
18:47:29
для каких задач это вообще нужно? ну скажем если мне нужно написать скрейпер для сайтов или что-то по типу как для Megogo писали тут тестовое(опрашивать апи, с учетом лимитов, ретраев и тд). как мне все эти типы помогут в этом всем?
окей, для апи: 1) пусть у тебя запрос к апи не зависит от предыдущих ответов 2) тебе надо учитывать лимит 3) ты можешь написать такой аппликативный функтор, что он будет делать все запросы параллельно и с учетом этого лимита профит в том, что внешне это будет выглядеть как самый обычный for

Google
Oleksandr
26.02.2017
18:49:06
тут могу отослать к http://blog.colinbreck.com/akka-streams-a-motivating-example/

можно это считать продвинутым (очень) развитием идей с алгребрами

Dmitry
26.02.2017
18:50:57
ну так концепция аппликатива это теоркат

значит можно

Oleksandr
26.02.2017
18:52:20
не люблю теоркат, оно для меня слишком абстрактное я имел в виду алгебру типа https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%89%D0%B0%D1%8F_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D0%B0

Dmitry
26.02.2017
18:58:30
в моей шараге такое не читалось, но полукольца, группы и тд нам читали в курсе дискры

вполне хватает для понимания

Oleksandr
26.02.2017
18:59:37
основные "структуры" алгебры понимаются за пол-часа где-то был шикарный блогпост на эту тему, но я фиг его найду

Dmitry
26.02.2017
19:03:14
https://leon.epfl.ch/doc/intro.html

кто нибудь юзал?

Grigory
26.02.2017
19:12:58
интересная ссылка

ах; давно видел; странно что его не форсят нигде а сам поект аткивно развивается

Dmitry
26.02.2017
19:19:11
а вообще здесь кто нибудь теорем прувингом за деньги занимался?

Google
Dmitry
26.02.2017
19:19:38
ну или хотя бы пет проджектах?

можно ли понимать тайплевел программирование как прувинг или я не понимаю что такое теорем прувинг?

Читал тут статью за 2014 год, и там написано что была летняя школа по зависимым типам в СпбГу с подачи Дмитрия Булычева. Но про это событие ничего не гуглится. Может кто был очно или что знает про это? А может даже какой материал остался?

Alex
26.02.2017
20:07:30
так-то любое программирование с типами можно назвать прувингом

def id[A](a: A): A = a

теорема что для любого а a=a

Sergey
26.02.2017
20:16:33
просто функция которая возвращает аргумент) зачем все так сложно обзывать то

Alex
26.02.2017
20:18:03
http://www.haskellforall.com/2017/02/the-curry-howard-correspondence-between.html

Alexander
26.02.2017
22:49:10
ну или хотя бы пет проджектах?
Писал прувы для разных теорем про натуральные числа. Где-то даже ссылка на репозиторий по теме есть.

Описываешь аксиомы Пеано - и погнал.

Dmitry
26.02.2017
22:49:57
ну да, я таких примеров много видел

Dmitry
26.02.2017
22:50:23
насколько я помню нет

это тебе в доки матрешки

Alexander
26.02.2017
22:55:12
Спасибо, гляну.

Dmitry
26.02.2017
22:56:34
https://github.com/slamdata/matryoshka

Alexander
26.02.2017
23:14:00
Подскажите, пожалуйста, либу для логов. Не безумно навороченную, но и не совсем нубскую. Кто что предпочитает?

Alexander
27.02.2017
02:43:17
Блин я уже через com.typesafe.scalalogging сделал =(

И logback

Google
Alexey
27.02.2017
02:46:34
ну логбек это бекенд к slf4j

scalalogging кому-то заходит. мне не влом написать val log = LoggerFactory...

Alexander
27.02.2017
02:49:25
ну тогда ок всё. глубже позже посмотрю)

спасибо

Kirill
27.02.2017
03:40:18
scala-logging, ofc, extends lazylogging и погнали, супер удобно же

Denis
27.02.2017
03:53:41
Ofc?

Kirill
27.02.2017
04:11:06
оф корс

никогда не видел такого сокращения?))

Denis
27.02.2017
04:16:27
Нет, как то не подходит к контексту тем более, подумал что еще одна либа.

.
27.02.2017
04:48:12
Может кто-то знает, как в akka-http обработать ошибку в случае валидации на websocket handshake. Т.е. вернуть пользователю сообщение об ошибке например?

.
27.02.2017
04:50:16
Хотя бы сторону в которую копать. Сейчас я возвращаю Route с ошибкой, но что-то мне подсказывает что это не верно.

Aleksei
27.02.2017
04:54:01
там же можно реджектить со своей ошибкой по условию вроде

. https://github.com/unicorndevru/auth/blob/master/akka/src/main/scala/auth/handlers/AuthHandler.scala#L32 типа такого?

.
27.02.2017
05:00:48
Не совсем. Но похоже, спасибо, почитаю

там же можно реджектить со своей ошибкой по условию вроде
Сейчас так и делаю, но реджект проходит до установления wss. Проблема в том, что мне нужно в рамках соединения отправить ошибку и оборвать соединение корректно.

Sergey
27.02.2017
05:50:26
По сравнению с другими яп, в частности с нодой и джавой. Проект - система ботов связанная между собой, с большим потоком сессий и юзеров
Сделать упор на то что типа да, ты прав, этот проект можно сделать на многих языках, но когда пойдет успех и нагрузка, то вместо того чтобы переписавать на что то подходяшее с нуля, как это обычно бывает, теряя пользователей и волну, на Scala его можно грамотно масштабировать <Акка> и обслуживать милионы пользователей, ботов, сессий или чего у вас там. Заказчик изначально верит в успех своего детища и поэтому купится с потрохами

Alexander
27.02.2017
05:52:08
А если ещё взять монго..

Sergey
27.02.2017
05:52:27
Вобще это задача ПМа общаться с заказчиком на его языке, а не разработчика

Google
Sergey
27.02.2017
05:54:56
Grigory
27.02.2017
05:58:16
Или Кассандру)
Жопу с пальцем сравнивать нe надо тут :0

Sergey
27.02.2017
05:59:18
Жопу с пальцем сравнивать нe надо тут :0
Ты чертовски прав, я на секунду усомнился в божественности монги)

Grigory
27.02.2017
05:59:39
Конечно, конeчно!

Только слишком толсто, зачкм озвучивать было

Всe и так поняли

Admin
ERROR: S client not available

Sergey
27.02.2017
06:01:00
Интересно а по базам данных есть каналы

Grigory
27.02.2017
06:01:35
Монгоканалы

Nick
27.02.2017
06:10:09
Монгоаналы @pomadchin не за что снова

Над чтоль подкаст послушать

Grigory
27.02.2017
06:10:50
Монганалы

Nick
27.02.2017
06:10:55
Хочу услышать опыт использования скалажс

Sergey
27.02.2017
06:18:41
Да интересная штука

Я кстати в печали. Выпиливаю из игрового сервера typed акторы, введенные самого начала на скорую руку, занимаются хранением сессий и записью в бд, оказывается там конкурентный доступ внутри...

Юрий
27.02.2017
06:23:16
Это новые или старые?

Sergey
27.02.2017
06:24:06
Старые, новые не смотрел еще

Юрий
27.02.2017
06:24:49
так они выпилины же уже, не?

Sergey
27.02.2017
06:24:56
Кстати у кого есть опыт использования нового akka typed расскажите в двух словах в чем там идея

так они выпилины же уже, не?
Нет, они оставлены для совместимости с ООП кодом

Google
Daniel
27.02.2017
06:31:43
Нет, они оставлены для совместимости с ООП кодом
порой мне кажется, что ты можешь много нового об акке рассказать её разрабам

Sergey
27.02.2017
06:35:39
Я всего лишь счастливый пользователь Акки)

Daniel
27.02.2017
06:38:43
> This module will be deprecated as it will be superseded by the Akka Typed project which is currently being developed in open preview mode. Где написано?

Sergey
27.02.2017
06:41:38
Typed actors are nice for bridging between actor systems (the “inside”) and non-actor code (the “outside”), because they allow you to write normal OOP-looking code on the outside

А насчёт выпелены, ещё же не заменён, akka typed пока экпериментал

так они выпилины же уже, не?
Да я неправильно понял, с точки зрения будущего использования - выпилины. Ты правильно сказал

Nikita
27.02.2017
07:11:17
Откуда у тебя там конкуренция? В тайп акторах?

Grigory
27.02.2017
07:23:45
диалоги о какке

Sergey
27.02.2017
07:30:16
Так и в обычных акторах ты можешь устроить конкурентность - future.onComplete и все
насколько я понял, если вызывать sessionsTyped.getUserName(userId) из разных акторов то эти вызовы могут исполниться на разных потоках и соответственно внутри getUserName будет конкурентный доступ. и похоже что с future и ask будет тоже самое. Поэтому сейчас я стараюсь делать всё на UntypedActor-ах sessionsUntyped.tell(new SesNameRequest(userId)) и обрабатываю ответ в сообщении SesNameResponse всё идёт через mailBox и поэтому доступ синхронный и не блокирующий

Vladimir
27.02.2017
07:33:56
Невероятно звучит, если честно. Основной контракт актора, каким бы он ни был - отсутствие конкурентности внутри, вызов же будет через проксю. Разные потоки - да, одновременно - едва ли.

Grigory
27.02.2017
07:36:56
мне кажется очередной тонкий (нет, толстый) наброс на вентилятор.

Dmitry
27.02.2017
07:38:27
наверное он имел ввиду сиквентальный какой-нибудь

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