@proelixir

Страница 633 из 1045
Combot
16.06.2017
07:51:41
combot.org/chat/-1001061355522

Alexey
16.06.2017
07:51:44
три варианта. есть меню снизу. есть кнопки под сообщением. и есть вот такие команды со слеша

Dmitry
16.06.2017
07:57:45
Набери @music

Roman
16.06.2017
08:09:37
народ, никто с кафкой в ляксире не работал?

Google
maier
16.06.2017
08:12:52
kafkaex

я это использовал

Roman
16.06.2017
08:13:49
я тоже с него начал, но стартует контейнер с ним

голову сломал уже

кейс таков: надо пробрасывать в конфиг эликсира переменные среды

делается это с Envy

https://github.com/BlakeWilliams/envy

maier
16.06.2017
08:14:54
это уже другой вопрос))

Roman
16.06.2017
08:15:10
однако, kafka_ex стартует перед тем как переменные будут прочитаны

можно сказать клиенту чтобы он не стартовал и запускать его руками, что я и сделал

Max
16.06.2017
08:15:41
надо это в контейнере пускать, а контейнер запускать с переменными

через docker-compose например

Google
Roman
16.06.2017
08:15:57
так и происходит

Roman
16.06.2017
08:16:27
все переменные подхватваются, ошибок нет, но аппликуха не стартует

Dmitry
16.06.2017
08:16:32
Ну так не используй envy

Что за сраный костыль....

Roman
16.06.2017
08:17:04
надо использовать

maier
16.06.2017
08:17:16
config :kafka_ex, # a list of brokers to connect to in {"HOST", port} format brokers: [ {System.get_env("KAFKA_IP") || «10.1.1.1», 9092} ]

Roman
16.06.2017
08:17:17
потому что все наши микросервисы крутятся в marathon

Max
16.06.2017
08:17:18
даже если не работает?

Dmitry
16.06.2017
08:17:35
Нормальный люди используют system tuple

И не имеют проблем

А всякие рубисты понапридумывают всякие envy

И потом даже кофе не помогает

Roman
16.06.2017
08:18:24
примерно так, наверное?

config :geronimo, kafka_host: System.get_env("BROKER_HOST"), kafka_port: System.get_env("BROKER_PORT"), consumer_group: System.get_env("CONSUMER_GROUP"), start_kafka_worker: System.get_env("START_WORKER")

дык вот, не катит

Dmitry
16.06.2017
08:25:48
http://blog.plataformatec.com.br/2016/05/how-to-config-environment-variables-with-elixir-and-exrm/

ENV vars need to be present during compile time

То, что Kafka_ex не продакшн реди, потому что его делали хипстеры - форкай и фикси

Google
Dmitry
16.06.2017
08:32:29
В 1.3 фениксе Валим и компания пытались какой то новый способ конфига сделать, через лямбды, но я пока что не разобрался

Roman
16.06.2017
08:32:56
не феникс :(

в целом вектор понятен

спасибо!

я надеялся что есть быстрое решение :)

Alexander
16.06.2017
13:59:35
для кафки юзайте brod, он лучше kafka_ex

https://github.com/klarna/brod

Пещерный
16.06.2017
15:05:45
ребят не подскажите, при передаче строки в fragment как параметр, экранируется ли она ?

Dmitry
16.06.2017
15:06:37
Что значит экранируется?

Rumata
16.06.2017
15:07:07
никогда не слышал термин?

экранировать параметр

забавно )

Пещерный
16.06.2017
15:07:31
ну инъекчий не произойдет если в строке запрос будет

Dmitry
16.06.2017
15:08:24
Экранировать можно когда ты вводишь с клавиатуры в память компьютера

Когда строка в переменной - это набор байт

Экранируюь например чтобы компилятор понял что " - не конец ввода строки, или чтобы поменял \n на EOF

Поэтому я не понял вопроса

Пещерный
16.06.2017
15:12:24
тогда по-другому спрошу

Rumata
16.06.2017
15:14:01
Человек брокен кодировка

Экранировать параметры довольно общая тема

Google
Пещерный
16.06.2017
15:15:35
если я в fragment("?", string) в параметре string напишу sql запрос он выполнится?

Dmitry
16.06.2017
15:15:37
Ну, может быть sql экранирование, URL экранирование

Я так понимаю ecto.query.fragment?

Пещерный
16.06.2017
15:20:01
да

Dmitry
16.06.2017
15:20:44
Выполнится

Только я наврал

Ecto.Query.Api.fragment

https://hexdocs.pm/ecto/Ecto.Query.API.html#fragment/1

Admin
ERROR: S client not available

Пещерный
16.06.2017
15:22:57
ну я не стал поправлять

спасибо

не зря боялся инъекций)

Анастасия
16.06.2017
15:39:34
и где там сказано что выполнится

Dmitry
16.06.2017
15:41:49
Send fragments directly to the database.

Анастасия
16.06.2017
15:43:03
fragments да, параметры не факт

Dmitry
16.06.2017
15:43:44
Анастасия
16.06.2017
15:45:07
ну что мешает им обернуть его в строку перед тем как передать

Анастасия
16.06.2017
15:46:22
я просто говорю что по ссылке инфы нет

Dmitry
16.06.2017
15:47:13
Так есть же) написано что то что напишешь в фрагменте - напрямую пойдёт в бд

Google
Dmitry
16.06.2017
15:47:20
Если напишешь запрос - пойдёт запрос

Если экранированный запрос - то пойдёт экранированный запрос

Анастасия
16.06.2017
15:48:44
если там есть возможность передавать параметры, то скорее всего это подготавливаемый запрос и конкретно параметры экранируются

Dmitry
16.06.2017
15:51:58
И опять же это написано по ссылке It is very important to keep in mind that Ecto is unable to do any type casting described above when fragments are used. You can however use the type/2 function to give Ecto some hints

Анастасия
16.06.2017
15:53:49
насколько я поняла это сравнение типов

Dmitry
16.06.2017
15:55:32
Это как раз если ты напишешь fragment("?", string) == type(string, :string) - то он его заэкранирует

А иначе так и прокинет

Анастасия
16.06.2017
15:57:29
https://hexdocs.pm/ecto/Ecto.Query.API.html#type/2 или просто сравнение типов

я просто говорю что это неоднозначно описано

Alexander
17.06.2017
11:37:15
я пока даже не представляю себе вакансии эликсироводов без знания других язык

Dmitry
17.06.2017
12:30:52
Я пока отлично работаю только на эликсире

И немного приходится ещё и отказываться

Alexander
17.06.2017
12:36:53
ух, обычно проблема “я отлично работаю только на одном языке программирования” - отличительная черта фронтендеров

там все поехавшие на джаваскрипте и считают что более языков не существует )

у нас тут диллема, научить народ элму или херачить, как есть

Dmitry
17.06.2017
12:38:41
Я просто не считаю HTML CSS JS PSQL Python для докера и vagrant за языки

Поэтому фигачу на одном пока что

Alexander
17.06.2017
12:39:06
;) а ну так то да

еще кстати есть вариант линукс перестать считать операционной системой

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