
KrivdaTheTriewe
07.07.2017
20:34:59
ну нет , я не против получить кровавый опыт

Nikita
07.07.2017
20:35:05
Да получишь стопудово, главное будь готов мониторить, быстро рекаверить и добавлять нодов

KrivdaTheTriewe
07.07.2017
20:37:35

Google

KrivdaTheTriewe
07.07.2017
20:37:45

Nikita
07.07.2017
20:45:46

KrivdaTheTriewe
07.07.2017
20:50:27
tsdb grafana

Nikita
07.07.2017
20:54:03
а что для отсылки и сбора взял? камон?

KrivdaTheTriewe
07.07.2017
20:55:23
сбор делает отдельный актору и раз в секунду сливает по хттп
сначала сливал акккой хттп, потом заюзал scalaj

Grigory
07.07.2017
20:58:31
Камон пользуй
Для акки есть даже у них интерфейс

KrivdaTheTriewe
07.07.2017
21:00:08
Камон пользуй
все будет , пока текущую инфраструктуру использую , все сразу хорошо не делается
но метрики работают оч хорошо

Nikita
07.07.2017
21:03:08

KrivdaTheTriewe
07.07.2017
21:03:39
я видел

Google

KrivdaTheTriewe
07.07.2017
21:03:57
но у меня нет ни одного аска
аск не нужн

Nikita
07.07.2017
21:05:33
да у тебя шикарный дизайн

KrivdaTheTriewe
07.07.2017
21:06:17

Mikhail
07.07.2017
21:09:21
сбор делает отдельный актору и раз в секунду сливает по хттп
это ведь аггрегированные данные у тебя? в любом случае не лучшая стратегия для нагруженного сервиса. для начала можно сделать примерно так:
def receive = {
if( сейчас-новая-секунда ) ( шедулим отправку буфера асинком и заменяем новым )
иначе ( аггрегируем в текущий буфер )
}
+
раз в 10-30 секунд или даже в минуту, можно проверять на всякий случай - если долго не было новых записей, которые бы сбросили буфер - вручную запускать ту же процедуру очистки буфера и шедула отправки
если сервис у тебя не простаивает - новые записи сами постоянно будут в нужное время отщелкивать буфер без задержек и не будешь нагружать дополнительной ерундой и без того нагруженную ерунду. такие принципы много где можно применять

KrivdaTheTriewe
07.07.2017
21:11:51


Nikita
07.07.2017
21:12:46
собственно так и сделано в других либах с метриками
другого пути нет) иначе можно завалить все системы посылкой и обработкой метрик

KrivdaTheTriewe
07.07.2017
21:15:27
единственное , что у меня не вышло , это artery из под докера , ноя хочу закончить с фичами и работать над надёжностью , к сожалению ddd это не оч для качества проекта

Nikita
07.07.2017
21:19:04
я пока и не пробовал артери, тоже фичи важнее

Nick
08.07.2017
17:45:33
@optician_owl @odomontois я смотрю вы там уже обосновались)

Daniel
08.07.2017
17:46:57
надо знать много инструментов чтобы выбирать подходящий или знать как улучшить другой инструмент
хотя раст не очень подходит сейчас для того, чтобы я хотел
но надеюсь допилят

Nick
08.07.2017
17:47:47
А для чего ты его хочешь?

Daniel
08.07.2017
17:47:52
математика

Nick
08.07.2017
17:48:35
Хм

Daniel
08.07.2017
17:50:11
ну как, подходит, но весьма неудобно еще)

Nick
08.07.2017
17:53:25
Для математики любой язык подходит

Google

Friedrich
08.07.2017
17:56:06
Смотря какая математика :)
Она же очень разная бывает.
Для теории типов одни языки (Idris etc.), для логики другие (miniKanren?), для линейной алгебры что-нибудь третье (наверное, что-то для GPU?). Ну и есть языки, которые более-менее умеют то и другое, и есть биндинги ко всему остальному.

Nick
08.07.2017
17:58:28
Рантаим эт дело третье)

Friedrich
08.07.2017
17:59:46
В общем, никак нельзя говорить, что появился язык, который идеально подходит для любой математики. А если обсуждаем какие-то конкретные разделы, то ещё как-то можно начинать рассуждения :)

Vladimir
08.07.2017
18:12:27
http://lex-kravetski.livejournal.com/577235.html
Похоже на продолжение его доклада с прошлогоднего митапа

Alexey
08.07.2017
19:36:54
скаланы подскажите как дружить с фриманатками

Nick
08.07.2017
19:37:16
почему не for!

Alexey
08.07.2017
19:37:34
это интерпритатор на котах

Oleksandr
08.07.2017
19:38:30
выбрать альтернативый редактор кода
ну не переваривает идея многие супер-навороченные вещи

Alexey
08.07.2017
19:38:58
нууууу, типо без asInstanceOf идея не схавает да?

Nick
08.07.2017
19:39:10
наркот

Oleksandr
08.07.2017
19:40:01
если кастануть, то пойдет, конечно, но вот звучит это странно
"навернуть фримонад и потом заюзать ансейф каст"

Alexey
08.07.2017
19:40:27
ну этож на интерпре :)

Nick
08.07.2017
19:40:31
https://www.youtube.com/watch?v=t2WTtIwgdLc
прикольный спикер)

Alexey
08.07.2017
19:40:36
ну вообще да выглядит так се
ну вообще идея как бы права, с точки зрения типов это выглядит так се

Google

Alexey
08.07.2017
19:47:41
да и в доке по котам такая же какаха

Oleksandr
08.07.2017
19:49:51
лол
тайпсейф!
это как долго готовиться подьему на гору, тренироваться, собрать экипировку, а потом взять и полететь на разваливающемся вертолете

Nick
08.07.2017
19:56:07

Alexey
08.07.2017
19:56:13
scalac не ругается
так что идею думаю можно "обмануть"

Admin
ERROR: S client not available

Oleksandr
08.07.2017
19:57:26
так что идею думаю можно "обмануть"
а что именно-то не нравится?
красный код в этом месте, по сути, ерунда, тк при его вызове будет работать сигнатура метода — то есть краснота не расползется

Alexey
08.07.2017
19:59:15
ну это то понятно, прост не эстетично
ну и вообще похорошему надо проверить, что тип из алгебры сходится с тем, что я вернул

Oleksandr
08.07.2017
20:01:09
мб можно как-то провернуть тот же фокус с вынесением отдельных мини-методов и указанием типов в них, а в apply вызывать
даже если обмануть не выйдет, будет минимизировано место потенциальной красноты

Mikhail
08.07.2017
20:02:23
так что идею думаю можно "обмануть"
trait Eq[T,T2]
implicit def eqImpl[T]:Eq[T,T] = null.asInstanceOf[Eq[T,T]]
def safe[T,V](value:V)(implicit eq:Eq[T,V]):T = value.asInstanceOf[T]
не прокатит такой сейфкаст для идеи?
у меня нет под рукой такого кода на котором можно проверить, так бы сам проверил)
у сейфа не над имплисит. его явно вместо asInstanceOf просто вызвать
если красноту уберет, то лучше его использовать. потому что не даст случайно ошибиться и закастовать не то
хотя не, похоже не прокатит для идеи. но где-то я подобный трюк проводил успешно

Google

Mikhail
08.07.2017
20:10:59
или он был слегка видоизмененный, не помню уже)
фишка там была в том, что в определенном случае идея пропускала имплисит не сумев его найти и считала его успешным. краснота снималась, компилятор успешно все находил и проверял. волки сыты и овцы целы

Alexey
08.07.2017
20:14:29
ну тоже не оч красиво выходит, хотелось бы как нить избежать asInstanceOf
лан что нить придумаю

Mikhail
08.07.2017
20:17:15

Oleg
08.07.2017
20:56:01

Oleksandr
08.07.2017
20:56:53

Oleg
08.07.2017
20:57:59

Oleksandr
08.07.2017
20:58:43

Oleg
08.07.2017
20:58:57

Oleksandr
08.07.2017
20:59:09
одним патматом афаик нельзя доказать, что несвязанные типы A и B равны

Oleg
08.07.2017
21:00:08

Oleksandr
08.07.2017
21:00:14
собственно в спиннете выше вместо ??? было бы интересно увидеть пример (non-exhaustive не считается)

Oleg
08.07.2017
21:00:56

Oleksandr
08.07.2017
21:00:56

Oleg
08.07.2017
21:01:24
если доказательство может стать невалидным от его расширения

Alex
08.07.2017
21:01:39
зависимым патматом можно да
with в идрисе

Oleksandr
08.07.2017
21:02:08
вообще a.asInstanceOf[B] — вполне себе доказательство
или мы вообще о разном говорим)