
Daniel
28.04.2018
14:01:53
Не, твою не пробовал
Если ты считаешь, что будет лучше, могу попробовать

Alexander
28.04.2018
14:03:09

Oleg
28.04.2018
14:03:33
началось

Google

Oleg
28.04.2018
14:04:38
Господа проходил мимо, и не в курсе обсуждаемого, не соблаговолите ли провести вводную презентацию.

Mikhail
28.04.2018
14:05:15

Alexander
28.04.2018
14:05:22
/toxic

Daniel
28.04.2018
14:05:24
6 гигов оперативки и амд А6 проц

Oleg
28.04.2018
14:05:58
/chpoxic

Mikhail
28.04.2018
14:06:00
можно пример?
В гисте же) https://gist.github.com/rudogma/58f330db4a9c79f56f968587b49d9f1d

Alexander
28.04.2018
14:07:19
гист видел, втыкать в 300 строк лень
это Олегу можно, он робот

Mikhail
28.04.2018
14:09:21
гист видел, втыкать в 300 строк лень
300 и не надо) я всегда акцентирую внимание на тех блоках, которым надо уделить внимание. там первые пару десятков - без всякой магии - просто код для примера (и перед ними в комментарии уазано какие строчки изменены по сравнению с супертаггет) - дальше superduper - просто копипаста супертаггет с парой измененных строк
чтобы можно было вставить и скомпилировать норм


Oleg
28.04.2018
14:15:10
гист видел, втыкать в 300 строк лень
ну сделал ты например (псевдоскала
opaque type Time = Long
и есть у тебя что-то типа
implicit class TimeOps(val time: Time) extends AnyVal{
def plusSeconds(seconds: Int): Time = ...
т.е. методы твоего ньютайпа, не можешь же ты их в тайпалиасе объявить
и нужно, чтобы вот тот implicit def TimeOps подтягивался компилятором без дополнительных импортов, т.е. ему достаточно увидеть экземплятр Time, чтобы найти его методы

Google

Alexander
28.04.2018
14:17:16

Oleg
28.04.2018
14:18:35

Mikhail
28.04.2018
14:18:49

Alexandr
28.04.2018
15:00:18
Кто работает с quill - как там указать тип возвращаемого значения IO[MyResult, _], не таская за собой постоянно контекст?
Аналогично как я могу импортировать ConnectionIO в doobie или DBIO в slick без привязки к конкретному контексту\профилю\драйверу

Oleg
28.04.2018
15:12:07
Не отвечу, но потоксифицирую.
Ты решил от СУБД абстрагироваться?

Alexandr
28.04.2018
15:13:56
Да. С doobie и slick это очень легко, а в quill все как-будто гвоздями прибито к контексту

Daniel
28.04.2018
15:19:39

Oleg
28.04.2018
15:20:43
ну там же разный SQL у разных СУБД

Alexandr
28.04.2018
15:21:47

Daniel
28.04.2018
15:33:15
На самом деле вопрос глубже. Все эти либы для конвертации в sql по сути своей транспайлеры. Но ни одна не пытается подойти хоть как-то формально. Хотя и стандарт есть на скуль и диалекты описаны в доках тоже хорошо как правило. В итоге это все словно на коленках сделано.

Nick
28.04.2018
15:34:13

Daniel
28.04.2018
15:34:35

Victor
28.04.2018
16:00:37

Nikita
28.04.2018
16:58:28

Grigory
28.04.2018
17:07:55
Json patch
да может он хочет гонок избежать я хз в чем вопрос у него на самом деле
какой вопрос такие и ответы

Nikolay
28.04.2018
17:10:04
он просто в понве не задал вопрос - там бы разобрались и помогли человеку

Grigory
28.04.2018
17:14:54

Nikolay
28.04.2018
17:23:01
слушайте, а можно в слике такое изобразить через обычные запросы?
select * from foo where (a,b) > (2,9)

Google

Nikolay
28.04.2018
17:23:14
я не могу filter по паре сделать
то есть table.filter(r => (r.a, r.b) > (2, 9)) = не катит

Alexandr
28.04.2018
17:29:47
Ему, наверное mapper в sql тип для Tuple2 нужен

Nikolay
28.04.2018
17:31:32
да, судя по всему самому нужно написать его
я просто надеялся что в слике он есть

Alexandr
28.04.2018
17:32:44
Вот что-то похожее https://ru-scala.livejournal.com/65410.html?thread=564866#t564866

Nikolay
28.04.2018
17:35:12
спасибо, похоже на то что мне нужно
работает, только я не понимаю почему ??? в ProdJdbcType не ведут к падению в рантайме

Diemust
28.04.2018
17:53:36

Nikolay
28.04.2018
17:54:38
так два фильтра будут по другому работать
попробуйте сами

OlegYch
28.04.2018
17:55:08
a > 2 || (a == 2 && b > 9)

OlegYch
28.04.2018
17:55:21
для больше двух заколебешься имхо

Nikolay
28.04.2018
17:55:48
а, можно и так

Alexandr
28.04.2018
17:55:50

Nikolay
28.04.2018
17:59:47

OlegYch
28.04.2018
18:01:08
може как-то так лучше https://github.com/tminglei/slick-pg/blob/master/src/test/scala/com/github/tminglei/slickpg/PgCompositeSupportSuite.scala

Ilya
28.04.2018
20:30:12
пацаны, по котам вопрос
банальный пример не компилится с 1.x, а с 0.9.0 - норм
import cats.data.Reader
import cats.syntax.applicative._
type MyReader[A] = Reader[String, A]
false.pure[MyReader]ошибка ambiguous implicit values, целиком - тут https://gist.github.com/ilya-murzinov/8c2fc8d513365331b468b0776cc82949
если поменять Reader на Kleisli то компилится, хотя это и так одно и то же
это баг какой-то?

Sergey
28.04.2018
20:39:49

Google

Sergey
28.04.2018
20:39:59
в scalacOptions

Nick
28.04.2018
20:40:35
+1
https://scastie.scala-lang.org/VZeKrgCMRG6IA8cv3HxcTw

Ilya
28.04.2018
20:40:58
тьфу
спс

Daniel
28.04.2018
20:54:13
где-то уже есть вмердженный пр, чтобы включить по дефолту

Alexander
28.04.2018
22:03:26
в 2.12.6 разве не вошло?

Aleksey
29.04.2018
10:34:00
Скаланы! Приходите сегодня на прямой эфир скалалаз-подкаста. https://www.youtube.com/watch?v=L7-l2zCe10U

Admin
ERROR: S client not available

Wystan
29.04.2018
12:30:15
Господа, а как в akka-http избавить от No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. The response had HTTP status code 502.

Grigory
29.04.2018
12:31:30

Wystan
29.04.2018
12:45:56
Ок, спасибо. Думал чо без дополнительной либы есть.

Sergey
29.04.2018
12:48:03
в nginx воткнуть корс в конфиге
или не в nginx

Wystan
29.04.2018
13:12:54
Ну вроде эта библиотечка заработала. Не понимаю все равно, в чем польза от этих cors фильтров, если у меня SPA


Sergey
29.04.2018
13:19:15
А как в nginx это присунуть?
как-то так. если стучишься с google.com:
server {
location /whatever {
if ($http_origin ~* (.*\.google.com)) {
set $cors "1";
}
# OPTIONS indicates a CORS pre-flight request
if ($request_method = 'OPTIONS') {
set $cors "${cors}o";
}
if ($cors = "1") {
more_set_headers "Access-Control-Allow-Origin: $http_origin";
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PUT' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
add_header 'Access-Control-Allow-Headers' 'User-Agent,Keep-Alive,Content-Type,Authorization,Origin,Accept,Refresh-Token' always;
add_header 'Access-Control-Expose-Headers' 'Authorization,Set-Authorization,Set-Refresh-Token' always;
}
if ($cors = "1o") {
add_header 'Access-Control-Allow-Origin' "$http_origin";
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PUT';
add_header 'Access-Control-Allow-Headers' 'User-Agent,Keep-Alive,Content-Type,Authorization,Origin,Accept';
return 204;
}
}
}
там много лишнего, в Access-Control-Allow-Headers


Wystan
29.04.2018
13:24:07
Хм, спасибо! Когда-нибудь эта война закончится и я пойму зачем вся эта кухня нужна.

Mikhail
29.04.2018
13:32:36

Alexander
29.04.2018
14:06:20
кто-нибудь в курсе что с трансляцией на 17 00 ?

Google

Oli
29.04.2018
14:11:54
мы немного задерживаемся

Aleksey
29.04.2018
14:23:40
начали трансляцию!

Nikita
29.04.2018
18:43:30
Скаланы, а кто как добивается маленьких зедержек в построении Read Model, именно в части где мы типа подписываемся на стрим событий. Просто если смотреть на акка персистенс с кассандрой и query by persistence id с поллингом, то выглядит не самым оптимальным вариантом

Nikita
29.04.2018
18:53:01
eventsByTag?
я скоро закончу пилить akka-persistence-foundationdb, вот там будет low-latency для read model

Александр
29.04.2018
18:56:13
И на GitHub?

Nikita
29.04.2018
19:00:12
и туда тоже

Victor
29.04.2018
19:14:15

Denis
29.04.2018
19:33:19
Мы слезаем на собственный журнал и собственную реализацию eventsourced актора
Журнал на дуби + кластер постгреса из 3х нод с репликацией sync any 2
Если eventsByTag не через костыли то вообще офигенно
Прорекламирую aecor.io

Александр
29.04.2018
19:37:16

Denis
29.04.2018
19:37:46
А доклад будет?
На осеннем митапе может быть вполне. Сначала проверим продакшеном

Nikita
29.04.2018
19:38:52

Nikita
29.04.2018
19:41:25