
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

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
ну да, я таких примеров много видел

Alexander
26.02.2017
22:50:10
ну на пальцах:
вот у тебя есть список и есть мапа
у них можно определить некое общее поведение, для примера, пусть это будет ассоциативность операции
то есть combine(x, combine(y, z)) = combine(combine(x, y), z)
это свойство есть у многих вещей, так почему бы не вынести его в отдельный интерфейс?
собственно, это и делается, с той разницей, что с обычными интерфейсам тебе придется много копипастить, а тайпклассы + HKT позволяют иногда это красиво обойти
herding cats написан для хаскелистов, там надо уже разбираться в теме, чтобы понять /=
я посоветовал бы "functional programming in scala" ака "красная книжка"
В красной книге есть про всякие f-algebra/coalgebra?

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
Подскажите, пожалуйста, либу для логов. Не безумно навороченную, но и не совсем нубскую. Кто что предпочитает?

Alexey
27.02.2017
02:41:18

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
Нет, как то не подходит к контексту тем более, подумал что еще одна либа.

Daniel
27.02.2017
04:37:41

.
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
Не совсем. Но похоже, спасибо, почитаю

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

Sergey
27.02.2017
05:59:18

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
Откуда у тебя там конкуренция? В тайп акторах?

Mikhail
27.02.2017
07:14:59

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
Невероятно звучит, если честно. Основной контракт актора, каким бы он ни был - отсутствие конкурентности внутри, вызов же будет через проксю. Разные потоки - да, одновременно - едва ли.

Mikhail
27.02.2017
07:35:46

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

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