@proelixir

Страница 726 из 1045
Tigran
19.09.2017
21:33:00
Типо сделать render(conn, 'index.html') + этот редирект по таймеру

?

Александр
20.09.2017
02:06:19
Но дело во втором случае: если я сразу перейду по нужной ссылке, оно сразу начнет аплоад и не покажет даже страницу
решение очевидно, где-то сохраняется время захода человека по ссылке (в сессии или в хранилище ключ/значение, в общем куда умения хватит сохранить =) ), если 10 секунд после последнего посещения не прошло, ему показывается шаблон с meta refresh иначе ему отдаётся файл

Google
Alexander
20.09.2017
03:19:28
в эликсире конечно конвенции нет, но все же get_by_short_id! с ! обычно означает что ты или делаешь запись в бд или какую-то хитрую валидацию, ожидая эксепшена или чего-то такого. В твоем случае в паттернматче не вижу матча на ошибку или уже просто маску _.

я не говнюсь, просто так вижу )

Andrey
20.09.2017
04:02:06
Ловите рубиста!

Alexander
20.09.2017
04:06:29
Ловите рубиста!
в эликсире примерно такой же расклад

в том же ecto

Andrey
20.09.2017
04:06:57
Понятно чем вдохновлялись

Alexander
20.09.2017
04:08:13
да там и не скрывают, ну кроме того что экто под капотом делает вызов консольных утилит

illiatshurotshka❄️
20.09.2017
04:16:04
лучше бы в typespec описывалось

Alex
20.09.2017
04:33:42
в эликсире конечно конвенции нет, но все же get_by_short_id! с ! обычно означает что ты или делаешь запись в бд или какую-то хитрую валидацию, ожидая эксепшена или чего-то такого. В твоем случае в паттернматче не вижу матча на ошибку или уже просто маску _.
возможно тут автор сделал что-то вроде Ecto.Repo.get! и его код должен вернуть одну из мап а иначе - лет-ит-краш. возможно там в дебрях дергается этот самый Ecto.Repo.get! . и судя по коду get_by_short_id! где то уже учитывает эти 10 сек

а не туплю, не учитывает. а ! у get_by_short_id! потому что раз у клиента уже есть short_id, значит соотв запись должна быть в базе с пометкой: либо файл закачан либо еще нет.

Nikita
20.09.2017
05:31:37
> да там и не скрывают, ну кроме того что экто под капотом делает вызов консольных утили WAAAAT

Каких и зачем?

Alexander
20.09.2017
05:47:34
Каких и зачем?
psql, mysqldump и даже мать его cl.exe

Google
Nikita
20.09.2017
05:48:07
А если их нет в $PATH?

Alexander
20.09.2017
05:48:25
всякие загрузки схем, дампы и куча всего выполняется через cli для баз данных, особенно весело что экто пытается запустить cl.exe на винде для sqlite

А если их нет в $PATH?
ну тогда креш и кишки повсюду

я не заметил, ты тут новенький?

я просто с месяца 4 назад плакался по этому поводу и даже для CI сделал свой образ

Vladimir
20.09.2017
05:49:25
Nikita
20.09.2017
05:50:10
Я в ридонли довольно много просидел

Alexander
20.09.2017
05:51:15
cl.exe - это жыыр))
ну это классика, по сути ты феникс не сможешь даже в стандартной комплектации чтобы мелкий круд попробовать запустить

благо cl.exe входит в состав visual studio, не vscode.

но по факту это пиздец

эликсир не совсем умеет в использование либ и поэтому все так убого

костыль ввиде System.cmd - официально ободренный вариант написания программ

Vladimir
20.09.2017
05:53:19
Это я и не понимаю - есть вот этот вот офигенский эликсир со всем его макросами и парстрансформами. Неужто нельзя без настолько сторонних вещей обойтись. Нифы - это ладно, но блин вот такое...

Nikita
20.09.2017
05:53:43
https://github.com/elixir-ecto/ecto/blob/a24d25431e4ef112e5213fc7ebb6aa7003085e62/lib/ecto/adapters/postgres.ex#L202 Вроде ничего криминального, используется в mix task и для миграций, на сколько я понял

Dmitry
20.09.2017
05:54:16
Ну какбе нет ничего плохого в том чтобы дёргать консольные тулзы в некоторых случаях. Environment настраиваться должен либо перед деплоем, либо непосредственно во время него. Но вот это тот самый случай, когда в эрланге нужна обработка исключений. Как там в эликсире принято, яхз. Но если ты работаешь с некоторым внешним источником данных, который может вернуть дичатину, логично обернуть её в трай кэтч. Принцип let it crash работает только для эрланговского кода.

Alexander
20.09.2017
05:54:18
почти всем языкам хватает хедер файлов из postgresql-dev

Nikita
20.09.2017
05:55:28
Есть подозрение, что это просто хелпер, на который сам ecto не завязывается. По крайней мере в коде не нашёл

Alexander
20.09.2017
06:00:56
у меня в амбрелла аппе штук 8 аппов и БД это один из аппов шареный между всеми. Чтобы гонять нормально тесты, я после прогона теста бд сбрасываю дамп и использую для каждого друго аппа

Google
Dmitry
20.09.2017
06:02:17
Это я и не понимаю - есть вот этот вот офигенский эликсир со всем его макросами и парстрансформами. Неужто нельзя без настолько сторонних вещей обойтись. Нифы - это ладно, но блин вот такое...
Какой смысл тратить ресурсы на имплементацию того, что уже написано, и нагружать beam работой, которая для неё не свойственна? Это неэффективное использования и труда, и вычислительных мощностей.

Alexander
20.09.2017
06:02:31


если для создания базы нужен вызов cl.exe - это пиздец

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

Alex
20.09.2017
06:05:29
ну это вариант вникуда, тогда можно и вместо Феникса просто 1 файл сделать у которого внутри rails new
как я понял создатель феникса решил его сделать только из-за Socket Channels

Alexander
20.09.2017
06:05:48
я не так давно для редиса очередь писал свою, я же не пишу System.cmd("redis-cli бла бла")

Alex
20.09.2017
06:05:51
если бы не это то он не стал бы пилить еще один фреймворк

Dmitry
20.09.2017
06:06:04
ну это вариант вникуда, тогда можно и вместо Феникса просто 1 файл сделать у которого внутри rails new
Я в РоР вообще ничего не понимаю. Подозреваю, что в сравнении производительности где-то будет эффективнее одно решение, где-то другое. Надо же выбирать инструмент исходя из задачи, а не пытаться натянуть инструменты на все подряд

Alexander
20.09.2017
06:08:07
да мне просто нужно чтобы бд схема была загружена

мокать все - это поддерживать 8 комплектов моков

а тут база сбрасывает схему, остальные подхватывают и все отлично

база в сендбоксе просто схему использует от основной и не надо париться с миграциями и прочим

вся настройка заключается в скрине выше.

Alex
20.09.2017
06:10:19
может в базе для тестов домен заюзать?

Alexander
20.09.2017
06:10:31
да, наверное я все же забыл сказать - тут экто не владеет базой. Все основные операции с бд на стороне руби аппа, сответственно такой костылек помогает не насиловать себя в эликсире

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

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

это как бы на ходу придумывается из-за того что все идет по пизде постоянно.

Google
Alexander
20.09.2017
06:13:28
не претендую на супер решение, но в проекте где базой владеет рельса, тестирование 2х аппов на эликсире для нее стало намного проще

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

если же все в моках, то тесты эликсир аппа не тестируют ничего кроме этих моков ?

Sergey
20.09.2017
06:32:21
/clear

)

Что тут происходит. По теме эликсира 2% инфы

остальное мусор

Кто-нибудь сидит в IRC на freenode?

Alexander
20.09.2017
06:37:38
а чего вы с рельс решили съехать?
Все на месте. Эликсир не годится для замещения всего подряд, но отлично показывает себя мелких задач или апи

В нашем случае на эликсире небольшой кусочек апи и маленькая молотилка логов

Marat
20.09.2017
06:39:39
Все на месте. Эликсир не годится для замещения всего подряд, но отлично показывает себя мелких задач или апи
Для очень мелких задач лучше го ничего не придумали, хотя язык отвратительный конечно

Alexander
20.09.2017
06:40:29
Тогда уж кристал надо ждать. Я нго проверяю переодически, но пока там все плохо

Придумал бы кто для Го какой транспайлер чтобы синтаксис причесать

Alex
20.09.2017
06:43:46
а чем С++ плох?

не модный? )))

Taras ?
20.09.2017
06:44:31
а чем С++ плох?
толстый очень (книга на 1200++ страниц - это же жесть)

Alex
20.09.2017
06:45:57
"Как выучить С++ за 21 день читайте в моей новой книге "Никак бля**""

Marat
20.09.2017
06:53:08
а чем С++ плох?
Да ничем, ещё ассемблер есть можно и на нем писать

Google
Alex
20.09.2017
06:55:56
Да ничем, ещё ассемблер есть можно и на нем писать
да неее, в C++ не все так плохо, там же стандарты новые пилят вот уже С++17 вышел вроде как...

Marat
20.09.2017
06:58:49
да неее, в C++ не все так плохо, там же стандарты новые пилят вот уже С++17 вышел вроде как...
В котором все интересное оставили на потом. Но в любом случае язык от этого проще не стал. И если мне нужно набросать простой вебсервер, который можно скомпилировать в бинарник и забыть, то го идеальный вариант

Alexey
20.09.2017
07:02:34
я даже вот вчера наше одну вещицу, которая быстрее го отвечает на http запросы, и как-то успокоился. полегчало.



Yura
20.09.2017
07:09:00
Что за вещица?

Alexey
20.09.2017
07:09:55
https://github.com/h2o/h2o

есть еще ulib-mongodb http но, что-то у меня он не завелся

https://github.com/stefanocasazza/ULib

кстати, пользуясь случаем, хотел спросить. кто-то тут в чатике некоторое время назад цитировал автора то ли Riak, то ли чего-то другого. о том, что тестирование одним сервером - это не тестирование. даже ссылку на видео доклада давали. никто не помнит?

Dmitry
20.09.2017
07:36:21
/clear

Fedor
20.09.2017
08:05:24
хех )

пару секунд назад светочка разразилась спамом в чатике кристала )))

Dmitry
20.09.2017
08:18:04
/clear

Maksim
20.09.2017
08:33:29
/clear

illiatshurotshka❄️
20.09.2017
08:49:00
/clear

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