@proelixir

Страница 925 из 1045
Evgeny
04.04.2018
13:04:02
учитывая, что таких методов несколько, то мне придется городить case несколько раз

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

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

Buckler
04.04.2018
14:06:20
Hello, Arden! Please, calculate: 32+77=... If you don't answer - you'll get banned from the channel... Good luck!

Google
Артем
04.04.2018
15:54:25
https://alloy-ci.com

кто-нибудь юзал?

Igor
05.04.2018
09:14:00
Ребят, какие есть готовые решения для signin/signup/pass-restore используя api? Coherence или Guardian с этим можно подружить?

Никита
05.04.2018
09:58:59
гардиан побольше звезд на гитхабе имеет)

Alex
05.04.2018
10:58:11
как в distillery запретить генерацию tar архива?

Alex
05.04.2018
11:53:07
mix release --no-tar
А я в конфигурации искал, блин

Konstantin
06.04.2018
13:17:59
господа, а кто-нибудь использует docker для проектов на фениксе? в этом есть какой-то смысл/профит вообще? на http://elixir-lang.moscow/ уже два доклада вроде было про использование эликсира и феникса в связке с докером

Anatoliy Kovalchuk
06.04.2018
13:18:48
Мы используем, если можете обходится без него, то все лучше без него

Konstantin
06.04.2018
13:22:24
Ivan
06.04.2018
13:24:07
такой же как для всего остального, развернуть изолированное стейдж-окружение, например

Артем
06.04.2018
13:26:01
а какой в этом профит? что это дает?
модно, стильно, молодежно, можно на конференциях щёки надувать

Google
Ivan
06.04.2018
13:26:42
ну и это, конечно)

Артем
06.04.2018
13:29:11
кроме того - вот допустим спрашивают тебя посоны, ты с докером работал? а ты так стыдливо глазки отводишь - дескать, нет... и все такие - аааа. и всё с тобой понятно

Konstantin
06.04.2018
13:30:15
не ну серьезно ) такой тупой вопрос, например: есть ли смысл собирать релиз и пушить его в докер контейнер в таком случае? там ведь hotreload'а не будет в любом случае. потому что в докладе они с одной стороны мучались со сборкой релиза, запуском миграций и т.д. а потом еще мучались с докером. и не очень понять что они получили в итоге: собирают релиз -> собирают контейнер -> закидывают это все на прод без hotreload'а

Anatoliy Kovalchuk
06.04.2018
13:31:51
например, мобильному разработчику может быть удобно развернуть локально проект и использовать API с него

Максим
06.04.2018
13:32:03
можешь заморочиться, и запилить через systemd свой докер :3

Артем
06.04.2018
13:33:56
с докером как раз вполне себе зеро даунтайм можно организовать. собрал контейнер, залил туда всё, подождал, пока поднялось, перекинул трафик на него, а старый прибил

https://medium.com/@korolvs/zero-downtime-deployment-with-docker-d9ef54e48c4

Anatoliy Kovalchuk
06.04.2018
13:35:22
> с докером как раз вполне себе зеро даунтайм можно организовать. собрал контейнер, залил туда всё, подождал, пока поднялось, перекинул трафик на него, а старый прибил только возникнет проблема с синхронизацией стейтов запущенных генсерверов

Konstantin
06.04.2018
13:36:24
а как с релизами быть? в них есть в таком случае смысл?

Артем
06.04.2018
13:37:05
имхо приложение должно быть готово к рестарту в любой момент

Anatoliy Kovalchuk
06.04.2018
13:37:08
в смысле делать ли релизы если всеравно запускаешь в докере?

Артем
06.04.2018
13:37:12
иначе это уже не лет ит крэш

Ivan
06.04.2018
13:37:30
мы для дев-окружения отказались, больно долго собираются, а для стейджей самое оно релиз пихнуть в контейнер

Anatoliy Kovalchuk
06.04.2018
13:41:09
имхо люди пытаются перетянуть практики из других языков, в язык где это ненужно

Konstantin
06.04.2018
13:42:12
в смысле делать ли релизы если всеравно запускаешь в докере?
да, зачем там мучения с релизами, если можно просто запустить проект в контейнере и все

имхо приложение должно быть готово к рестарту в любой момент
так можно же остановить и запустить контейнер, нет?

Anatoliy Kovalchuk
06.04.2018
13:43:09
да, нету никакого смысла, разве что размер контейнера

Артем
06.04.2018
13:43:25
так можно же остановить и запустить контейнер, нет?
я про то, что в стейте генсерверов не должно лежать ничего ценного/невосполнимого при рестарте

Konstantin
06.04.2018
13:43:49
> я про то, что в стейте генсерверов не должно лежать ничего ценного/невосполнимого при рестарте а, понял, ок

Google
Konstantin
06.04.2018
13:47:42
вообще, релизы в элексире немного пугают, конечно ) отсутствие mix тасков + в чатике здесь полным полно писали как в production энвароменте появляются какие-то ошибки, которых в dev энвайроменте не было... очень, как-то, странно это все выглядит... неясно почему такая боль этим всем я зря на это все пессимистически смотрю? может стоит почитать/посмотреть что-то на эту тему? )

Артем
06.04.2018
13:48:52
у меня складывается ощущение, что тема релизов/зеро даунтайм деплоя это такое как бы табу

Anatoliy Kovalchuk
06.04.2018
13:49:31
сейчас уже лучше с этим стало, чем несколько лет назад с релизами, когда они просто не собирались по магическим причинам

Shumilkin
06.04.2018
13:51:42
Всем привет. Подскажите, плз, если кто сталкивался как средствами Ecto.Query запросить что-то такое SELECT id FROM recordss WHERE array_field[1] = 666; (разумеется, from(r in Record, where: r.array_field[1] = 666) не канает)

Максим
06.04.2018
13:55:12
where: fragment("sql") ?)

Shumilkin
06.04.2018
13:56:03
все усложняется тем, что этой проблеме предшествует куча джойнов и я хз как sql написать

Anatoliy Kovalchuk
06.04.2018
13:56:54
{sql, params} = Ecto.Adapters.SQL.to_sql(:all, Repo, query) IO.puts sql IO.inspect params

можно проверять какой SQL получится

Shumilkin
06.04.2018
13:57:52
и зашиваться на буковки которые он подставляет в as?

Anatoliy Kovalchuk
06.04.2018
13:58:51
ты всегда можешь изменить select: под тот который тебе нужен

Shumilkin
06.04.2018
13:59:58
да, верно, спасиб, кажется я теперь на верном пути

Anatoliy Kovalchuk
06.04.2018
14:14:35
видимо имелся ввиду codereload

Yuri
06.04.2018
15:46:03
у меня складывается ощущение, что тема релизов/зеро даунтайм деплоя это такое как бы табу
Это не табу. Про это никто не рассказывает, потому что никто не делает. А никто не делает, потому что не нужно.

Нужно в редких случаях, когда в сервере большое и сложное состояние, которое дорого восстановить.

Эти редкие случаи не редки в телекоме, но редки в вебе.

Артем
06.04.2018
15:49:32
Это не табу. Про это никто не рассказывает, потому что никто не делает. А никто не делает, потому что не нужно.
не видел ни одной статьи про деплой, где рассказывалось бы, как просто сделать зеро даунтайм

Yuri
06.04.2018
15:49:56
Google
Yuri
06.04.2018
15:51:32
не видел ни одной статьи про деплой, где рассказывалось бы, как просто сделать зеро даунтайм
В книжках пишут. У Армстронга, например. Но и то, про средства языка, а не про опыт в проде.

Современный подход к зеро даунтайм, это не про hot code reload, это про кластеры, переживающие падение нод.

И про это пишут достаточно много

Искать по ключевому слову "распределенные системы" :)

Артем
06.04.2018
15:54:44
нафига мне распределенные системы если у меня 1 нода

например

Yuri
06.04.2018
15:55:07
Ну не надо, значит не надо

Никто ж не заставляет

Но зеро даунтайм с одной нодой невозможен. Она может упасть, даже если твой сервис идеален, без багов. Из-за проблем в виртуалке, в ОС, в железе и тд

Или просто быть недоступной из-за проблем с сетью

Зеро даунтайм - - это всегда кластер

Артем
06.04.2018
16:00:24
речь про деплой

и рестарт приложения без прерывания обработки запросов

Dmitry
06.04.2018
16:01:10
По-моему релиз в докере не нужен

С другой стороны, докер для релиза тоже не нужен

Можно развернуть рельсу, написаннную на эликсире в хероке

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

Но hot code reload это хрень, мы уже обсуждали что в эликсире она редка, а в фениксе противопоказана

Работает только в АТС

Anatoliy Kovalchuk
06.04.2018
16:03:58
та ну?! на нескольких проект использовал и проблем особых небыло

Google
Dmitry
06.04.2018
16:04:57
Роутер на горячую не перезагружается

Конфиги тоже

Это я про феникс

Наверное как-то можно сделать

Yuri
06.04.2018
16:06:05
Hot code reload нужен там, где рестарт сервиса нежелателен. Например, есть долгоживущие клиентские сессии: чат, телефонный звонок, многопользовательская игра. Все это не про веб.

Мы не хотим обрывать телефонный звонок :)

Dmitry
06.04.2018
16:07:23
Что такое телефонный звонок в сравнении с каткой в танки? ;)

Yuri
06.04.2018
16:07:28
А что делать, если сервис не простаивает, и в любой момент времени есть активные сессии?

Вот тут hot code reload

Артем
06.04.2018
16:08:09
с докером как раз вполне себе зеро даунтайм можно организовать. собрал контейнер, залил туда всё, подождал, пока поднялось, перекинул трафик на него, а старый прибил

https://medium.com/@korolvs/zero-downtime-deployment-with-docker-d9ef54e48c4

то же самое без хот код релоада

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