@rubylang

Страница 1164 из 1684
Vadim
10.08.2017
08:10:29
https или http?

Amir
10.08.2017
08:11:33
поменял proxy_set_header Host $host; на proxy_set_header Host $http_host; просто по чутье и все заработала

хотя пишут Однако, если это поле отсутствует в заголовке запроса клиента, то ничего передаваться не будет. В этом случае лучше воспользоваться переменной $host - её значение равно имени сервера в поле “Host” заголовка запроса, или же основному имени сервера, если поля нет:

Кроме того, можно передать имя сервера вместе с портом проксируемого сервера: proxy_set_header Host $host:$proxy_port;

Google
Amir
10.08.2017
08:12:53
а так не работает

а теперь сделал так proxy_set_header Host $host:$server_port; вроде тоже работает че кчему

No
10.08.2017
10:24:38
https://semaphoreci.com/blog/2017/08/09/faster-rails-eliminating-n-plus-one-queries.html?utm_source=rubyweekly&utm_medium=email

Уже обсуждали

но напомнте

зачем каждый месяц писать подобную статью?

в рубивикли из выпуска в выпуск пихают что-то типа "Вся правда про N+1"

Vladislav
10.08.2017
10:26:46
Потому что у каждого в выпуске есть кусочек уникального контента

Eugene
10.08.2017
12:43:22
что нибудь крутое для логирование воркеров есть у вас на примете?

resque

Anton
10.08.2017
12:44:25
обычный логгер?

или что тебе надо?

Eugene
10.08.2017
12:45:09
Да

Google
Fedor
10.08.2017
12:47:51
Rails.logger ?

Или нужно что то вроде rollbar?

Igor
10.08.2017
12:58:21
Ребят, есть paperclip, есть рекорды, каждый из которых имеет image. Задача в том что бы сделать копию, в теории будет много копий одной записи. Изначально даже не подумал, и просто дублировал всё как есть. Теперь начал думать о том что таким образом будет создаваться много одинаковых файлов image на сервере. Есть какой-нибудь тривиальный путь решения проблемы? предложили связывать новые записи с уже существующим файлом. Мне кажется что это не безопасно, я ошибаюсь?

Fedor
10.08.2017
13:00:15
hardlink

правда реализацию придется самому писать

где-то в недрах обработки файлов

вообще paperclip не очень то дает модифицировать свой код, так что я бы посоветовал переехать на carrierwave

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

Igor
10.08.2017
13:02:59
Не вариант переходить. По простому подменить линки я так понимаю не получится

Igor
10.08.2017
13:04:56
Много записей становятся зависимыми от одного файла в системе

Fedor
10.08.2017
13:05:05
дернул destroy на одной модельке - снес у всех файлы

ojab
10.08.2017
13:05:40
https://github.com/thoughtbot/paperclip#file-preservation-for-soft-delete

Fedor
10.08.2017
13:06:40
https://github.com/thoughtbot/paperclip#file-preservation-for-soft-delete
забавно, а как потом его удалить?

ojab
10.08.2017
13:08:22
А при каких условиях надо удалять?

Fedor
10.08.2017
13:08:40
ну когда-нибудь файлы обчно надо удалять

что бы место не занимали

https://github.com/thoughtbot/paperclip#custom-attachment-processors

ojab
10.08.2017
13:09:01
Таску написать, которая будет периодически запускаться и по условию удалять.

Google
Fedor
10.08.2017
13:09:18
можно попробовать написать свой процессор который будет делать картинку хардлинком имеющейся при дублировании

и дергать его как-то именно при дублировании

rekero
10.08.2017
13:10:10
md5 вычисляй файла

и проверяй, есть ли уже запись с таким md5

Igor
10.08.2017
13:12:01
можно попробовать написать свой процессор который будет делать картинку хардлинком имеющейся при дублировании
hardlink это просто линк в системе? запись в бд будет распозновать это как другой image под другим путём?

я думал записывать напрямую с таким путём к фалу как оригинальная запись

Fedor
10.08.2017
13:12:38
хардлинк это такая хитрая штука в файловой системе, которая указывает на наборт блоков на жестком диске, где хранится информация

пока ссылка есть - файл есть

Антон
10.08.2017
13:13:07
помоему задача не сформулирована окончательно

Fedor
10.08.2017
13:13:11
хитрость в том, что можно сделать несколько ссылок на один набор блоков, будет несколько одинаковых файлов, но место занимать будет только один

и удалится он только с последней ссылкой

Антон
10.08.2017
13:13:22
предлагать решения изходя из предположений - странновато

Fedor
10.08.2017
13:14:02
нет

Антон
10.08.2017
13:14:10
в чем разница?

Fedor
10.08.2017
13:14:16
https://ru.wikipedia.org/wiki/%D0%96%D1%91%D1%81%D1%82%D0%BA%D0%B0%D1%8F_%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0

это вообще не иеет отношения к базе данных

Антон
10.08.2017
13:14:40
я не про устройство я про задачу которую оно решает в рамках бизнеса

Fedor
10.08.2017
13:14:41
это структура файловой системы

ааа, ну в целом да

Google
Антон
10.08.2017
13:14:49
да всем пофиг :)

Igor
10.08.2017
13:15:48
Может попробовать через бд, создать отдельно таблицу, в которой один image будет иметь ассоциацию ко многим записям

Антон
10.08.2017
13:16:00
почти

в котором один image как сущность с одним image как файл будет иметь возможность прицепиться к множеству объектов

has many

возможно полиморфно, если есть желание

Admin
ERROR: S client not available

Igor
10.08.2017
13:18:38
Но нужно что бы у оригинаьной записи картинка была одна, а у всех скопированных была вторая (которая копия первой)

Антон
10.08.2017
13:19:13
что есть картинка, оригинальная запись, копия?

копия - две одинаковых копия - ссылка на первую?

картинка - сущность хранящее расположение файла с изображением? или сам файл с изображением?

кароче в этой задаче большая смысловая размытость

все неоперделено

Igor
10.08.2017
13:24:31
На данный момент есть таблица в бд, предположм она называется Item(author_id, image, parent_id : polymorph) Владелец Item создаёт запись, эта запись - оригинал. Далее другой User копирует эту запись (это копия). Задача в том, что бы не создавать новый файл в системе каждый раз, когда новый юзер делает копию оригинала Item, но при этом что бы изменение файла оригинальной записи не повлекло изменения во всех скопированных записях

Fedor
10.08.2017
13:25:18
эээ

это как

Антон
10.08.2017
13:25:27
ну так нельзя :)

Fedor
10.08.2017
13:25:42
типа файл мы имеем один, но если его изменить, то все остальные начинают иметь другой?

Антон
10.08.2017
13:26:09
но есть событие - изменение оригинальной записи в этот момент все копии должны стать самостоятельными и не ссылаться на оригинал

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

Google
Антон
10.08.2017
13:27:35
обслуживать двойственное поведение, когда в однов время копии просто ссылаются на оригинал а в другое время хранят самостоятельные копии - сложно

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

Igor
10.08.2017
13:29:19
Когда я говорю копировать, я имею ввиду конено же создать самостоятельную запись, которая будет иметь связь с оригинальной через parent_id Копируя я могу создавать для каждой скопированной записи новый файл в системе, но тогда собственно и появляется проблема с местом на сервере. Иметь один файл точно не получится. Суть в том что бы изменения файла оригинала не повлекло за собой изменений в скопированных записях. Но я так же знаю что файл к которому привязаны все копии менятся не будет и не должен

Антон
10.08.2017
13:31:15
это все нелогично если копии ссылаются не на файл, а на запись, то почему файлы копий должны меняться?

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

если специально не программировать проблему - не будет проблемы

Igor
10.08.2017
13:32:04
Копии должны ссылаться на файл, и этот файл не будет меняться

Igor
10.08.2017
13:34:52
проблемы нет, есть вопрос который я спрашиваю решал ли кто то, и есть ли тривиальный способ его решения. И так - как связать много записей с одним файлом?

image это attachement, реализован через carrierwave

Антон
10.08.2017
13:35:44
1 запись хранит 1 файл => class Image объекты, копии, пофиг кто имеют не поле image а референс к Image

Igor
10.08.2017
13:36:21
тоесть как вариант создать отдельную таблицу

?

Антон
10.08.2017
13:36:41
да

столько флуда ради решения из учебника

Igor
10.08.2017
13:39:47
для меня это возможный вариант решения, спасибо. Может для кого то тоже. То что это флуд это субъективное мнение

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