
Azat
20.02.2018
14:20:14
Надо хук на гит коммит ставить типа mix deps.update --all, тогда и старьё копиться не будет

Dmitry
20.02.2018
14:23:53
@AzatMurtazin Не поможет, если у тебя версия конкретная прописана в зависимости.

Azat
20.02.2018
14:26:36
Дык можно по-гусарски больше либо равно 0 везде вписать)

Никита
20.02.2018
14:27:19
Ну новые вресии не только фиксят ошибки, они ж еще и добавляют) Так что гсурский подход может привести к поиску непонятно откуда появляющихся ошибок)

Google

Azat
20.02.2018
14:30:00
Интегрейшон унд юнит тестенг

Dmitry
20.02.2018
14:32:14
Все равно это должно быть выделенное время.

Roman
20.02.2018
15:50:45
Скинули вакансию в Санкт-Петербурге, может кому интересно
http://workworldwide.ru/vacancy/146831
Email рекрутера: kristina.a.nadey@gmail.com

Анастасия
20.02.2018
15:58:49
Сайт доставил
>workworldwide
>.ru

Roman
20.02.2018
16:14:56
И под VPN возвращает 503 ошибку

Alex
20.02.2018
16:49:08
https://www.facebook.com/tsargradtv/videos/1603169779773998/

Kazakbay
20.02.2018
17:08:24
Всем привет.
Подскажите плс что не так...
{ :ok, pdf_content } = File.read(filename)
conn
|> put_resp_content_type("application/pdf")
|> put_resp_header("content-disposition", "attachment; filename=\"pdf_name\"")
|> send_resp(200, pdf_content)
В итоге пустая pdf на странице


Alex
20.02.2018
17:14:17
Всем привет.
Подскажите плс что не так...
{ :ok, pdf_content } = File.read(filename)
conn
|> put_resp_content_type("application/pdf")
|> put_resp_header("content-disposition", "attachment; filename=\"pdf_name\"")
|> send_resp(200, pdf_content)
В итоге пустая pdf на странице
def send_attachment(conn, {:file, path}, opts) do
# ext = Path.extname(path)
filename = opts[:filename] || Path.basename(path)
content_type =
opts[:content_type] ||
case Path.extname(path) do
"." <> ext -> MIME.type(ext)
_ -> "application/octet-stream"
end
conn
|> put_resp_content_type(content_type, opts[:charset])
|> put_resp_header(
"content-disposition",
~s[attachment; filename="#{escape_filename(filename)}"]
)
|> put_resp_header("content-transfer-encoding", "binary")
|> send_file(conn.status || 200, path)
end


Den
20.02.2018
19:37:08
Привет всем) Есть ли правило по возврату результатов с функции: когда нужно вернуть {: ok, result}, а когда просто result (кроме функций с !)?
Допустим String.duplicate возвращает значение, а не кортеж, при этом она без «!»

Yaroslav
20.02.2018
19:38:40
шлёшь бинарь по текстовому каналу
@GuestKgz
Denis правил как в го нет, есть соглашения

Google

Den
20.02.2018
19:42:15
По видимому если функция работает с процессом, тогда возвращаем tuple - чтобы в случаи когда этот процесс зафейлится вернуть reason
Во всех остальных случаях result
Так?)

V
20.02.2018
20:08:05
Московская IT компания ищет профессионалов (elixir и fullstack developers), уверенных в себе, имеющих опыт разработки финтех (в том блокчейн) и высоконагруженных проектов, разбирающихся не только в вопросах создания проектов, но и понимающих финансовые продукты и сопутствующие протоколы.
В данный момент ведется набор на два проекта (один смежный)
1) Облачная финансовая, банковская платформа с open API и мобильное приложение к ней.
2) Конструктор смарт-контрактов с системой документооборота
Зарплаты выше рыночных, техника Apple, офис в Москве, гибкий график работы.
Не startup. Все вопросы в личку.


Dmitry
20.02.2018
20:24:44
Denis : Нет. result - всегда, когда есть result и нет вариантов ошибки. {:ok, result} | {:error, error} - в случаях когда возможна ошибка и совершенно не обязательно это процесс (примеры Macro.validate и Regex.compile - которые не запускают и не общаются с никакими процессами). ! превращает из {:ok, result} в result, а случай ошибки в exception. Т.е. часто предлагают два варианта функций, как File.read! и File.read. Когда результат пустой, то вместо тупла можно вернуть :ok (Macro.validate). Но это всё соглашения. Соответственно String.duplicate - функция, которая в своём определении не может вернуть обрабатываемую ошибку, соответственно она без ! и не возвращает тупл.

Den
20.02.2018
20:28:46
Dmitry спасибо большое )

abc
20.02.2018
21:21:42
> Московская IT компания ищет профессионалов (elixir и fullstack developers), уверенных в себе
Мне кажется уверенных в себе разработчиков не существует. Каждый день появляется что-то новое, библиотеки, подходы к разработке, языки, технологии. Синдром самозванца - профессиональная болезнь разработчиков )

Alister
20.02.2018
21:22:29
нет, почему
я встречал очень самоуверенных говнокодеров

abc
20.02.2018
21:23:24
ключевое слово - говнокодеров

Ivan
20.02.2018
21:36:01
и каждый думает не про себя))

Evgeny
20.02.2018
21:48:27
я уверен в себе, что я не самоуверенный!

abc
20.02.2018
21:56:20
https://www.vanityfair.com/news/2018/02/how-twitter-lost-the-internet-war/amp
Вот твиттер жалуется на Ruby On Rails. Говорит все проблемы были из-за него

Alister
20.02.2018
22:01:55
вините технологии а не хуевый менеджмент и выборы
Twitter’s backend was initially built on Ruby on Rails, a rudimentary web-application framework that made it nearly impossible to find a technical solution to the harassment problem.
рили
звучит как текст написанный продажником или кадровиком
я сам рубист, знаю что рельсы не панацея и для платформ типа твитера не очень подходят
но проблема твитера не в рельсах

Google

Dmitry
20.02.2018
23:17:11

Alister
20.02.2018
23:19:34
Любой код говно если правильно поменять ТЗ

Vladimir
21.02.2018
01:57:07

Kazakbay
21.02.2018
02:07:54

Артем
21.02.2018
08:43:47
посоны, может кто проверял - насколько медленнее достать переменную из ets по сравнению со state в генсервере?
или порядков там не будет и это не принципиально?