
Константин
31.08.2016
07:08:34
Сталкивался кто с кешированием запросов?))))
Так то я думаю можно на генсервер повесить
но может какая либа есть уже с :ets

Alexander
31.08.2016
07:09:34
я в асинк таске в редис откладываю на минуту

Google

Alexander
31.08.2016
07:09:50
редис сам заэкспаерит итд

Константин
31.08.2016
07:14:37
а ETS не умеет делать TTL?
Хотя в документации сказано Warning! Don’t use ETS as a cache prematurely! Log and analyze your application performance and identify which parts are bottlenecks, so you know whether you should cache, and what you should cache.
у меня массив городов из базы берется, вот думаю куда его пихать, чтобы потом доставать
он не обновляется почти

Alexander
31.08.2016
07:29:23
я понимаю что у меня кеши, но все же. Плюс дуть память машин с приложением не очень. Редис живет себе на отдельной ноде и обслуживает все такие вещи.

Константин
31.08.2016
07:30:37
А в редис чем писал? Redix?

Alexander
31.08.2016
07:31:38
был redix, но потом он начал загнивать
так что перевел на exredis

Dmitry
31.08.2016
07:33:13
Быстрый Гугл даёт всякие поделки https://github.com/mattsta/ecache/blob/master/README.md

Константин
31.08.2016
07:33:33
https://github.com/h4cc/awesome-elixir#caching

Dmitry
31.08.2016
07:33:38
Можно либо юзать, либо смотреть как сделано

Google

Константин
31.08.2016
07:33:42
Да их тут целый зоопарк

Alexander
31.08.2016
07:35:08
т.е больше организационная штука. Как например не крутить бд с приложением на 1 ноде

Константин
31.08.2016
07:37:37
https://github.com/zackehh/cachex
вот это буду юзать

Alexander
31.08.2016
07:40:02
т.е если у тебя к примеру 2 ноды, то кеши у них будут разные
что само по себе уже атас
хочешь узнать сколько в корзине яблок, нода 1 говорит 10, нода 2 - 9
ух
а так да, редис для бедных на вид

Константин
31.08.2016
08:03:27
У меня одна нода.. маленький сервис
будет овер дохрена запросов на неё
там 3 запроса в базу
надо их кешировать минут на 10
def a() end
Оо норм выглядит
def list_active_cached() do
case Cachex.get(:query_cache, "list_active_cached/0") do
{:ok, list} -> list
{:missing, nil} ->
list = list_active
Cachex.set(:query_cache, "list_active_cached/0", list,
async: true, ttl: :timer.minutes(10))
list
end
end
def list_active() do
query = from c in __MODULE__,
where: c.active == 1,
select: [c.id, c.title]
RepoVipgeo.all query
end
Вот такой код получился

Dmitry
31.08.2016
09:35:32
Ребят, есть в миксе необязательные desp?
Кейс такой - пишу либу, хочу сразу написать экто модель в неё. Но также хочу чтобы её можно было использовать без экто.
Так вот есть какие то варианты компилится этот модуль в зависимости от того, есть ли в проекте экто или нет???

Google

Dmitry
31.08.2016
09:35:57
Вроде в руби есть такое...
Иди где-то, не помню где)

Eugene
31.08.2016
09:55:03
в миксе есть optional: true
http://blog.plataformatec.com.br/2016/07/understanding-deps-and-applications-in-your-mixfile/ сделай поиск слова “optional” по этой статье

Dmitry ?
31.08.2016
09:59:19
Может кто знает почему phoenix не собирает static js/css сам?
Вручную node node_modules/brunch/bin/brunch build срабатывает
В доках написано When Phoenix is running, asset source files are processed automatically when changed
Сейчас запускаю так
node node_modules/brunch/bin/brunch watch --server
Работает. Но автоматом что-то нифига

Alexander
31.08.2016
10:13:40
watchers: [node: ["node_modules/brunch/bin/brunch", "watch", "--stdin",
cd: Path.expand("../", __DIR__)]]
в конфиге должен быть

Dmitry ?
31.08.2016
10:16:45
Спасибо

Dmitry
31.08.2016
10:18:21
Супер, optional есть. А как работает? Т.е если нету того, что optional, то часть файлов неьскомпилируеься?

Alexander
31.08.2016
10:21:59
optional расшифровывается, как optional build string
скорее всего просто не компилятся части если нет импортов
я кстати не задумывался об этом

Dmitry
31.08.2016
11:05:37
Ладно, через 3 часа засяду , отпишусь если че получится

Alexander
31.08.2016
11:13:59

Dmitry
31.08.2016
11:14:56
Интервалы задаются кронтабом
И модно проверить попадает ли момент времени в такой интервал

Google

Dmitry
31.08.2016
11:15:34
Можно*

Taras ?
31.08.2016
12:13:21

Dmitry ?
31.08.2016
12:38:56
Неа
Лоакально iex -S mix phoenix.server

Dmitry
31.08.2016
15:15:27
Всем привет. Если есть желающие на позицию стажера/джуниора в не очень интересный проект, но с очень интересными технологиями, в котором будет возможность переписать Rails на Phoenix, и уже есть возможность делать интересный фронтенд по запрокинутым макетам заказчика-фантазера на Clojure + React, зарабатывая 300-800 рублей в час, пишите в лс, pls

Dmitry
31.08.2016
16:30:15
if Code.ensure_loaded?(Ecto) do
defmodule Cron.Adapter.Ecto do
...
end
end
всё оказалось просто
if это мать его макрос. Поэтому код даже не вызывается))

Andrey
31.08.2016
18:22:13

Admin
ERROR: S client not available

Dmitry
31.08.2016
18:22:39
Всё прально
Поэтому и компилится нормально

Dmitriy
31.08.2016
18:41:26
Чуваки, а тут elixir вместе с erlang учат говорят про него? А то я натолкнулся когда решал задачу на http://exercism.io/, что ":lists.prefix/2 is part of the Erlang standard library." и теперь думаю, ну так че мне elixir учить если там даже stdlib такая пустая и вообще всего лишь leaky abstraction over erlang. Что посоветуете?

Can
31.08.2016
18:42:42
Если хочешь стать девелопером нормального уровня, то учить и то и другое все равно

Dmitry
31.08.2016
18:42:47
c - leaky abstraction over asm
Чуваки, а тут elixir вместе с erlang учат говорят про него? А то я натолкнулся когда решал задачу на http://exercism.io/, что ":lists.prefix/2 is part of the Erlang standard library." и теперь думаю, ну так че мне elixir учить если там даже stdlib такая пустая и вообще всего лишь leaky abstraction over erlang. Что посоветуете?

Can
31.08.2016
18:43:00
Ну т.е. учить не всмысле знать синтаксис эрланга
Хотя тоже не помешает
А знать идеологию языка
Как и почему он создался, как и что работает в виртуальной машине

Google

Dmitriy
31.08.2016
18:45:42

Dmitry
31.08.2016
18:46:19
Нет смысла в алиасах
Я хочу фичи пилить. Можно же было бы пошире сделать stdlib-то алиасы какие-то прикрутить.
И так норм

Dmitriy
31.08.2016
18:46:31
Я просто смотрю пока на stdlib elixir и сравниваю с haskell, так вообще не сравнимо

Dmitry
31.08.2016
18:46:33
Зато ты автоматически эрланг знаешь

Can
31.08.2016
18:46:48
На самом деле 1) функций в эликсире и так очень много, реально не так часто приходится использовать :erlang запись 2) что здесь такого? это нисколько не портит.
Если ты сомневаешься в том, насколько много ребята из эликсира поменяли по сравнению с эрлангом, то можешь не сомневаться)

Dmitriy
31.08.2016
18:47:10
Ну я пока даже не знал про такую запись, только начинаю

Can
31.08.2016
18:47:43
Т.е. как бы твой коммент оттуда похож на багет, а-ля вот педики, немного синтаксис поменяли и называют это новым языком, всего лишь абстракция
И в качестве аргумента приводится, что нужно иногда вызывать функции из эрланга
вдумайся в логику

Andrey
31.08.2016
18:48:24
alias :erlang, as: Erlang

Dmitriy
31.08.2016
18:49:04
Ну а в чем прикол переключаться между двумя языками хоть и похожими

Dmitry
31.08.2016
18:49:32
В том же для чего создают любой дсл
В оти же, для чего есть ActiveSupport
linq в c#
И куча других фич

Can
31.08.2016
18:50:14
Так переключаться не надо, в эрланге по-другому пишется

Dmitriy
31.08.2016
18:50:15

Can
31.08.2016
18:50:22
запись :erlang.asdasd
это запись эликсира