@proelixir

Страница 936 из 1045
Денис
21.04.2018
21:13:36
Всем привет) а подскажите по фениксу тут тоже можно вопросы задавать или есть отдельный канал?

Buckler
22.04.2018
09:17:02
Hello, VOVAN! Please, calculate: 66+41=... If you don't answer - you'll get banned from the channel... Good luck!

Hello, Ivan! Please, calculate: 5+18=... If you don't answer - you'll get banned from the channel... Good luck!

Google
Yuri
22.04.2018
11:41:32
Привет, подскажите, а как с case сработать в запросе Repo.one!(from c in Categories, where: c.id == 1) вернет ли nil или результат, ну и с результатом надо потом чет сделать

Marsel
22.04.2018
12:18:16
case Repo.one!(...) do %Category{} = category - >... nil - >... end

Raman
22.04.2018
12:39:39
Ребята, всем привет. Пишу свой модуль, который хочу использовать в других при помощи use. Я так понимаю, что там задействована макросовая магия, с чем я пока оч плохо знаком. Смог завести базовый пример, когда функции просто вставляются в тело модуля. Использую defoverridable, однако когда я определил всего лишь одну более специфичную реализацию, то у меня благополучно пропали другие перегрузки. Поэтому вопрос, можно ли добавить свою реализацию так, чтобы она не перекрывала полностью, а просто добавляла мою единственную перегрузку? Пример кода: https://gist.github.com/RamanBut-Husaim/98e108a61ff9ef17fee632e4543a4679 Предполагаю, что можно через super обойти, но интересно, есть ли другие варианты?

Dmitry
22.04.2018
13:23:01
@rakkattakka Моя рекомендация, сделать вначале вообще без макросов, т.е. через композицию функций. Т.е. вместо super добавить вот так и всё без макросов: def process_response(result, conn), do: API.Response.process_response(result, conn)

Raman
22.04.2018
13:23:55
Dmitry , а понял. Оки. Можно же для этого ещё запользовать defdelegate насколько я знаю.

Но при таком подходе придётся в каждом модуле определять такие функции.

Кстати, через super завелось.

Мне ещё интересно, насколько это вообще нормальный подход с точки зрения дизайна. :)

Dmitry
22.04.2018
13:32:34
Я знаю, что оно и через super работает. Можно вообще тут магии понакрутить всякой(если чисто потреннироваться). Но, тут есть сейчас разница в том, что если без макроса, то все дефолтные мэтчи у тебя в одном модуле будет, а в случае use - они копируются каждый раз в новый модуль, соответственно конечные размеры модулей будут больше. Такой подход оправдан в случае с GenServer-ом стандартным, но в случае имплементации чего-то в приложении, лучше начать с композиции и только потом убирать в макросы. Желательно, чтобы при этом и функциональный интерфейс сохранился.

Тут ещё о чём, нужно подумать.

@rakkattakka То, что если будет что-то крэшиться в дефолтной имплементации, то не будет показана точная стрчока, где это произошло, нужно использовать здесь location: :keep

Чтобы получить в стектрейсе путь в правильное место.

Google
Raman
22.04.2018
13:54:44
Все, понял. Спасибо. Та же идея, что и с наследование vs композиция в ооп. А use очень сильно напоминает один из видов наследования - наследование с целью переиспользования кода. Dmitry Russ (Aleksandrov) Спасибо большое за наводку. Полезные идеи.

Dmitry
22.04.2018
14:21:47
Чуваки, кто хочет поработать на неделе на еликсире?

25$ в час

Сразу с цены начинаю )

Работка не пыльная вообще для новичков

Переписать C# в эликсир

Rushan
22.04.2018
14:28:36
ох. Что ж я раньше Эрланг с Эликсиром не начал раньше учить

Raman
22.04.2018
15:05:44
Ради интереса, @Virviil , что пошло не так? Почему переписываете, если не запрещает контракт? Интересно, т.к. сам на dotnet фуллтайм.

:)

Taras ?
22.04.2018
15:06:32
25$ в час
норм * пошел агитировать сестренку учить эрланг + эликсир *

Артем
22.04.2018
15:18:46
Мопед не мой, мое дело дать код и бабки)
Мопед с апворка, рейтинг делаешь?

Dmitry
22.04.2018
15:19:03
Ну если хочешь - могу через апворк завести

Только от 25 твоих сколько останется?

Артем
22.04.2018
15:19:35
Не, я там вчера такой проект видел, это не оно?

Dimon
22.04.2018
15:19:47
Чуваки, кто хочет поработать на неделе на еликсире?
у тебя часто бывает работа на эликсире?

Dmitry
22.04.2018
15:20:16
Бывает иногда

Dimon
22.04.2018
15:21:13
буду иметь ввиду

Dmitry
22.04.2018
15:23:15
Самому времени нету

Google
Dmitry
22.04.2018
15:23:38
Хоть со своими поделюсь

А не с ындусами)

Тем больее недавно обсуждали работы за сравнительно большие деньги за бугор

Moi_nik
23.04.2018
06:43:47
Господа, какой elixir version manager вы используете? Есть-ли что-то типа RVM?

Denis
23.04.2018
06:45:29
asdf

Через него чутли не пол системы стоит

Alexander
23.04.2018
06:59:23
kiex

Yuri
23.04.2018
07:02:03
Alexander
23.04.2018
07:08:16
я тут порекламировал @BucklerBot в другом чятике, и заодно прочитал его описание. У меня вопрос, что такое dirsty? > I'm BucklerBot, and I'll defend your group or chat from dirsty spammers.

Никита
23.04.2018
07:11:07
Наверное, просто опечатка и предполагалось dirty

Dmitry
23.04.2018
07:24:46
Опечатка походу

Sergey
23.04.2018
08:19:49
Господа, а есть у кого пример elixir проекта, который собирается на gitlab-ci? Хочу подглядеть .gitlab-ci.yaml

Dmitry
23.04.2018
08:22:18
У меня только для heroku есть

stages: - init - test - deploy cache: key: ${CI_COMMIT_REF_SLUG} paths: - deps/ - _build/ init: stage: init image: virviil/asdf-elixir:latest variables: MIX_ENV: "test" script: - mix deps.get - mix compile test: stage: test image: virviil/asdf-elixir:latest services: - postgres:latest variables: MIX_ENV: "test" script: - mix ecto.reset - mix test code_analysis: stage: test image: virviil/asdf-elixir:latest services: - postgres:latest variables: MIX_ENV: "test" script: - mix format mix.exs "apps/**/*.{ex,exs}" "test/**/*.{ex,exs}" "config/**/*.{ex,exs}" --check-formatted - mix credo - mix compile --warnings-as-errors deploy_stage1: stage: deploy image: virviil/asdf-elixir:latest before_script: - git fetch origin $CI_COMMIT_REF_NAME:$CI_COMMIT_REF_NAME --force - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts - chmod 644 ~/.ssh/known_hosts script: - if git config remote.stage1.url > /dev/null; then git remote set-url origin dokku@iilhub.com:hota-core-s1; else git remote add stage1 dokku@iilhub.com:hota-core-s1; fi - git push stage1 $CI_COMMIT_REF_NAME:master cache: {} environment: name: stage1 url: http://hota-core-s1.iilhub.com when: manual # auto_deploy_stage1: # stage: deploy # image: virviil/asdf-elixir:latest # before_script: # - eval $(ssh-agent -s) # - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null # - mkdir -p ~/.ssh # - chmod 700 ~/.ssh # - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts # - chmod 644 ~/.ssh/known_hosts # script: # - git push stage1 master # cache: {} # only: # - master

Делюсь бесплатно

Артем
23.04.2018
08:24:00
mix compile —warnings-as-errors

прика

надо утянуть к себе

Google
Alexey
23.04.2018
08:24:33
да. это хорошая тема )

Артем
23.04.2018
08:32:13
а у меня тут кстати на проекте Analysis took 3.6 seconds (0.1s to load, 3.5s running checks) 698 mods/funs, found 12 consistency issues, 1 warning, 57 refactoring opportunities, 83 code readability issues, 34 software design suggestions.

((

наследие от прошлых девелоперов

а бедный диаликсир даже не стартует

Le
23.04.2018
08:33:55
могу поделиться скриптами с билдом докера в докера, но они сложнее, если не требуется такое то лучше сриптом выше пользоваться

I
23.04.2018
08:34:50
а бедный диаликсир даже не стартует
мне он что-то ничего не насоветовал(

Артем
23.04.2018
08:36:44
Egor
23.04.2018
08:37:46
Спеков не напишешься

Эк каждую функцию документировать, жизни не хватит

I
23.04.2018
08:38:38
Эк каждую функцию документировать, жизни не хватит
если писать все в одной функции, то хватит =)

Артем
23.04.2018
08:40:13
ну да, а если ещё и тесты писать это ж сплошное разбазариваение времени на ерунду, сколько кода можно было написать вместо

Dmitry
23.04.2018
08:42:00
Чтобы работал dialyzer не обязательно писать спеки

Он еще и сам тебе скажет, что твоя спека неправильная

Максим
23.04.2018
08:44:11
Всем привет! Что я не так сделал с протоколом? https://gist.github.com/Slavenin/f78fa3f9531b63d126078f7df9a2779c при компиляции пишет == Compilation error in file lib/telegrm/handlers/start.ex == ** (CompileError) lib/telegrm/handlers/start.ex:3: undefined function via_tuple/1 (stdlib) lists.erl:1338: :lists.foreach/2 lib/telegrm/handlers/start.ex:3: (module) (stdlib) erl_eval.erl:670: :erl_eval.do_apply/6 (elixir) lib/kernel/parallel_compiler.ex:198: anonymous fn/4 in Kernel.ParallelCompiler.spawn_workers/6

Sergey
23.04.2018
08:44:46
stages: - init - test - deploy cache: key: ${CI_COMMIT_REF_SLUG} paths: - deps/ - _build/ init: stage: init image: virviil/asdf-elixir:latest variables: MIX_ENV: "test" script: - mix deps.get - mix compile test: stage: test image: virviil/asdf-elixir:latest services: - postgres:latest variables: MIX_ENV: "test" script: - mix ecto.reset - mix test code_analysis: stage: test image: virviil/asdf-elixir:latest services: - postgres:latest variables: MIX_ENV: "test" script: - mix format mix.exs "apps/**/*.{ex,exs}" "test/**/*.{ex,exs}" "config/**/*.{ex,exs}" --check-formatted - mix credo - mix compile --warnings-as-errors deploy_stage1: stage: deploy image: virviil/asdf-elixir:latest before_script: - git fetch origin $CI_COMMIT_REF_NAME:$CI_COMMIT_REF_NAME --force - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts - chmod 644 ~/.ssh/known_hosts script: - if git config remote.stage1.url > /dev/null; then git remote set-url origin dokku@iilhub.com:hota-core-s1; else git remote add stage1 dokku@iilhub.com:hota-core-s1; fi - git push stage1 $CI_COMMIT_REF_NAME:master cache: {} environment: name: stage1 url: http://hota-core-s1.iilhub.com when: manual # auto_deploy_stage1: # stage: deploy # image: virviil/asdf-elixir:latest # before_script: # - eval $(ssh-agent -s) # - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null # - mkdir -p ~/.ssh # - chmod 700 ~/.ssh # - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts # - chmod 644 ~/.ssh/known_hosts # script: # - git push stage1 master # cache: {} # only: # - master
Спасибо, правда такие штуки лучше гистом выкладывать: https://gist.github.com/szobov/1c88d8ba4e49ec9ea432451d34eb0ada

Dmitry
23.04.2018
08:45:23
Не умею в гисты)

Артем
23.04.2018
08:45:26
не обязательно, но желательно

Alexey
23.04.2018
08:45:50
выглядит очень трагично. не писал спеки, а потом вдруг написал. и тебе диалайзер сказал, что они не правильные )))

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