@rubylang

Страница 332 из 1684
Aldar
25.08.2016
10:05:39
send_file блокируется?

Если блокируется то можно просто сразу после этого удалять файл и все

Andrey
25.08.2016
10:07:32
@hardliner хардкор какой то)

Aldar
25.08.2016
10:07:50
почему?

Google
Aldar
25.08.2016
10:08:04
не более хардкор чем уже есть)

Dan
25.08.2016
10:20:15
кстати у кого не настроен саблайм для работы с рельсами, есть очень хорошая рекомендуемая очень многими разработчиками статья-инструкция. для многих она покажется бесполезной или не новой, но может быть кому-то пригодится: https://mattbrictson.com/sublime-text-3-recommendations

Igor
25.08.2016
10:25:33
отдавайте архивы nginx-ом

а after_action тут бесполезен

ибо он выполнится ДО того как ответ начнет отдаваться пользователю

тут нужен Rack::BodyProxy

второй вопрос насчет самих архивов

их число и вариации конечные?

Mikhail
25.08.2016
10:27:51
да понял уже

на afteraction можно таск заводить

Igor
25.08.2016
10:28:10
тут еще напрашивается решение с кроном

смотришь файлы по atime

если их никто не читал больше суток

Google
Igor
25.08.2016
10:28:31
удалять нафиг

запускать раз в час

Mikhail
25.08.2016
10:28:59
классно) А ты всегда повторяешься?

Igor
25.08.2016
10:29:21
???

Mikhail
25.08.2016
10:29:32
У меня часто по 2-3 раза спрашивают. Давай я буду отвечать, а ты повторять уже сказанное)

ладно не парься

Igor
25.08.2016
10:30:00
я просто видел вопрос

Mikhail
25.08.2016
10:30:11
??

Igor
25.08.2016
10:30:12
но ту стену текста читать было лень

Mikhail
25.08.2016
10:30:25
А по сокету отдавать можно же

Igor
25.08.2016
10:30:35
ток чото про after_action глаз увидел

Mikhail
25.08.2016
10:30:35
этот вариант не рассмотрели

Andrey
25.08.2016
10:30:47
Число архивов в принципе неограниченно, но расширяется очень медленно. Про вариации не очень понял

Mikhail
25.08.2016
10:30:49
таже без крона можно таск таскать

просто заводить его после каждого скачивания

Igor
25.08.2016
10:31:14
просто можно кешировать архивы через название

зачем после каждого скачивания?

Mikhail
25.08.2016
10:31:38
там с местом на жестком проблемы

я так понял

и надо подгонять наиболее удобный вариант

Google
Igor
25.08.2016
10:32:10
super_achive_name = Digest::SHA2.hexdigest(source_archive_names.join(',')) + '.zip'

source_archive_names.sort.join(',')

Mikhail
25.08.2016
10:32:43
там любой подойдет нейм

Igor
25.08.2016
10:32:47
дальше проверять есть ли уже такой

те кешировать архивы

Andrey
25.08.2016
10:34:36
Пользователю нужны только определённые мелкие архивы в большом архиве. А мелкие постоянно изменяются.

Антон
25.08.2016
10:34:43
можно запилить наносервис который занимается только send_file и удаляет то что отправил

Igor
25.08.2016
10:35:12
на самом деле

Andrey
25.08.2016
10:35:12
На ноде?)

Igor
25.08.2016
10:35:20
можно отдавать эти архивы стримингом

на лету

Антон
25.08.2016
10:35:25
да хоть на CGI

Igor
25.08.2016
10:35:28
никуда ничего не сохраняя

Andrey
25.08.2016
10:35:43
Да, я так и думаю делать

Igor
25.08.2016
10:36:50
ладно, я плавать ??

а то на конфколл не успею

Антон
25.08.2016
10:37:32
ты до офиса вплавь добираешься? :)

Igor
25.08.2016
10:38:00
Питер же

тут без навыков плаванья не выжить

на самом деле по утрам тренируюсь

Google
Igor
25.08.2016
10:39:34
а потом чтобы в офисе не вонять иду в бассеин :)

https://www.strava.com/activities/688330354/overview

Антон
25.08.2016
10:42:52
60км ваще псих

Igor
25.08.2016
10:48:53
Это так, разминка :)

v
25.08.2016
10:58:11
а чо, вариантов с rack нет?

Serg Podtynnyi
25.08.2016
11:01:44
Это так, разминка :)
На велике любой дурак может, а вот бы пешком

s
25.08.2016
11:03:33
а почему нельзя отдавать файл nginx’ом? т.е. собирать файл, класть его директорию, которая обслуживается nginx, делать редирект на url этого файла

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

s
25.08.2016
11:09:05
ну и от блокирующей упаковки многомегабайтного архива неплохо бы избавиться. если совсем уж на коленке – обрабатывать xhr запросы к /archives/new и /archives/status в new – создавать воркер для сборки архива, отдавать клиенту его id. после того, как архив готов – класть в кеш путь к нему. в качестве ключа – id воркера. и долбить клиентом /archives/status на предмет наличия ключа в кеше

Admin
ERROR: S client not available

Nork
25.08.2016
11:17:56
Подскажите пожалуйста, как в AR лучше реализовать такое дело: есть новости и разделы, has_many в отношении друг друга (has_and_belongs_to_many ?). При этом в новости должна быть возможность указать несколько разделов. В данном случае вопрос можно решить только отдельной таблицей или можно сделать это по другому?

I
25.08.2016
11:19:03
промежуточная таблица - это достаточно распространенное явление. Только советую не has_and_belongs_to_many, а has_many through

Nork
25.08.2016
11:20:10
спасибо

Eugene
25.08.2016
11:31:27
Где Дьячук? Был на собеседование, у них там три слоя тестов

Компания занимается платежами это обязывает

Dan
25.08.2016
11:32:18
вопрос "из кустов": вы занимаетесь тестированием тестов?

Roman
25.08.2016
11:39:24
Dan
25.08.2016
11:40:20
Всему офису твоё сообщение показал ?
этот локальный "мем" у нас родился из вчерашнего митапа по рельсам, когда рассказывали про одну барышню, которая занималась тестированием тестов

Serg Podtynnyi
25.08.2016
11:40:24
писать тесты зло

Google
Dan
25.08.2016
11:40:27
на всякий случай решил спросить )

Serg Podtynnyi
25.08.2016
11:40:39
точнее для этого нужно нанимать отдельных людей

которые пишут тесты

s
25.08.2016
11:40:43
что значит тестирование тестов?

если уж речь о митапе, а не лулзах в чатике

лучше просто избавиться от тех, кто тесты не пишет

и дальше нормально организовывать процесс)

Serg Podtynnyi
25.08.2016
11:41:41
нуну

бабло платят за бизнесс логику

а не за тесты

проблема в том что много кто может писать тесты

s
25.08.2016
11:42:10
бабло платят за хорошую работу

Serg Podtynnyi
25.08.2016
11:42:13
а вот бизнесс логику не очень

s
25.08.2016
11:42:42
если человек не может написать тест к своему коду, то его возможность правильно реализовать бизнес-логику под сомнением

Serg Podtynnyi
25.08.2016
11:42:47
ок зачем придумали тогда QA?

s
25.08.2016
11:42:54
тем более, что он даже не может автоматизировано убедиться, что все сделал правильно

сейчас и через месяц, когда придется внести в нее правки

QA != тесты

s
25.08.2016
11:43:47
оправдания всегда можно найти)

Serg Podtynnyi
25.08.2016
11:43:49
баги будут как с тестами так и без

Страница 332 из 1684