@proelixir

Страница 99 из 1045
Константин
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
а ETS не умеет делать TTL?
ets не подходит для стейтлес нод

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

Константин
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
Можно либо юзать, либо смотреть как сделано
дело не в том что трудно с ETS жить, просто привычка, что стейтлес аппы живут в стейлесе, а кеши все же кеши.

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

Константин
31.08.2016
07:37:37
https://github.com/zackehh/cachex

вот это буду юзать

Alexander
31.08.2016
07:40:02
вот это буду юзать
да неплохо, но опять же, обертка на ets

т.е если у тебя к примеру 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
Ладно, через 3 часа засяду , отпишусь если че получится
я пропустил, ты какую либу пилить собрался?

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

И модно проверить попадает ли момент времени в такой интервал

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

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
Если хочешь стать девелопером нормального уровня, то учить и то и другое все равно
Я хочу фичи пилить. Можно же было бы пошире сделать stdlib-то алиасы какие-то прикрутить.

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
В том же для чего создают любой дсл
То есть ты хочешь сказать что elixir просто dsl для erlang?

Can
31.08.2016
18:50:22
запись :erlang.asdasd

это запись эликсира

Страница 99 из 1045