Вот, чтобы клиентский api был удобен, без магии. Да и вроде в Typesafe Reactive Platform для работы с БД Slick положен, а тут по дефолту не он, что странно.
Переехали на spray-io, клиентский api опять же свой.
Может правда я покастомнее люблю, но мы с пацанами когда выбирали, как-то сразу всем spray больше понравился.
Я второй год на Scala Days продвигаю тему, что разработчики Play — бакланы :) В прошлый раз задавал им вопросы и было много лулзов. Spray куда лучше, хотя скорее не для сайтиков, а для http. Хотя шаблонизатор туда очень просто влезает и с WS не думаю, что какие-то проблемы. Правда чуваки используют scalaz и IDEA иногда не очень понимает, что происходит :)
Пожалуйста, вот ссылка на звук files.mail.ru/7C8524A1BCEB472A93C8D3A817B8BF20, вот моя презентация (шла второй) speakerdeck.com/vuspensky/type-theory. Первую, по Spray попробую выпросить у автора.
Прошу прощения, видимо, нет. Не успел поймать наших операторов, а сам с профессиональной камерой не разобрался.
В теории можно выцепить звук и наложить на презентацию, но времени совсем нет. Если хотите выложу звуковую дорожку.
Спасибо за идею про неявный параметр. Пока не вкручивал, но попробую обязательно, жаль что вылезает слово implicit в прикладном коде…
От ORM не отказывались, его у нас не было ;)
Про пулы — да, это не про реактивность, а вообще про то, как справляться с нагрузкой. Но таки это ограничивает количество одновременно обрабатываемых запросов, а с реактивностью за счёт асинхронности такого быть не должно. Короче, принципиально улучшить архитектуру поможет только переход на другую БД или реверс инжиниринг драйвера, второе очень неконструктивно по ряду факторов.
Прошу прощения, в первый раз будем по простому делать. Попробую обсудить с коллегами, как можно улучшить формат, например, регистрацию в meetup сделать…
Извини, что не отписал фидбек по собеседованию, но там и помимо qsort было много огрехов.
Если ты узнаешь побольше, всегда рады пересмотреть твою кандидатуру.
Источниками информации готов поделиться.
database.execute { connection =>
val result = database.query(sql"select 1 from dual")(connection)
database.update(sql"update users set result = ${result}")(connection)
}
или даже так можно:
database.execute { connection =>
database.update(sql"update table1 set field1 = 1 where key1 = 1") ~
database.update(sql"update table2 set field2 = 2 where key2 = 2")
}
Вроде это обычная практика, нет? Позволяет сделать так, чтобы количество соединений с базой не зависело от количества клиентов. Можно нагрузку на базу регулировать.
Честно сказать, я по другому видел только в однопользовательских приложениях.
Пеши исчо. Если будут вопросы по scala-meta — пиши, мы с Женей теперь почти соседи 8-)
Вот, чтобы клиентский api был удобен, без магии. Да и вроде в Typesafe Reactive Platform для работы с БД Slick положен, а тут по дефолту не он, что странно.
Переехали на spray-io, клиентский api опять же свой.
Может правда я покастомнее люблю, но мы с пацанами когда выбирали, как-то сразу всем spray больше понравился.
В теории можно выцепить звук и наложить на презентацию, но времени совсем нет. Если хотите выложу звуковую дорожку.
людей у вас, по ощущениям, даже больше увлекающихся.
implicit
в прикладном коде…От ORM не отказывались, его у нас не было ;)
Про пулы — да, это не про реактивность, а вообще про то, как справляться с нагрузкой. Но таки это ограничивает количество одновременно обрабатываемых запросов, а с реактивностью за счёт асинхронности такого быть не должно. Короче, принципиально улучшить архитектуру поможет только переход на другую БД или реверс инжиниринг драйвера, второе очень неконструктивно по ряду факторов.
Извини, что не отписал фидбек по собеседованию, но там и помимо qsort было много огрехов.
Если ты узнаешь побольше, всегда рады пересмотреть твою кандидатуру.
Источниками информации готов поделиться.
database.execute { connection => val result = database.query(sql"select 1 from dual")(connection) database.update(sql"update users set result = ${result}")(connection) }
или даже так можно:
database.execute { connection => database.update(sql"update table1 set field1 = 1 where key1 = 1") ~ database.update(sql"update table2 set field2 = 2 where key2 = 2") }
batch update тоже есть, да.
sad.
Если бы речь шла только про базюльку нашего приложения — без вопросов, мало того на NoSQL даже.
Честно сказать, я по другому видел только в однопользовательских приложениях.