@proRuby

Страница 681 из 1594
No
29.08.2017
11:06:31
сюда задублирую на всякий пожарный

Alex
29.08.2017
11:09:57
кропали раньше ручками?

No
29.08.2017
11:10:35
раньше кропали ручками и сразу сохраняли сабнэйл (который ещё и умешьшенный)

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

Google
Alex
29.08.2017
11:10:48
сабнэйл это что? (для тупых)

No
29.08.2017
11:11:19
thumbnail - уменьшенная версия оригинальной картинки

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

Alex
29.08.2017
11:12:12
оно реально сабнейл звучит, жесть

всегда тумбами их звал

No
29.08.2017
11:12:20
сейчас вижу только варик каким-то образом по thumbnail-у выяснить координаты кропа

и рекропнуть, но уменьшить до более приемлимых размеров

Alex
29.08.2017
11:13:29
там наверняка потери в миниатюре, а значит нужен алгоритм определяющий схожесть. Ничего толком не подскажу.

http://www.imagemagick.org/discourse-server/viewtopic.php?t=24151

можно погуглить detect sub image in image. Можно даже на другом языке, раз это одноразовая задача.

No
29.08.2017
11:14:26
http://www.imagemagick.org/discourse-server/viewtopic.php?t=24151
спасибо, похожий кейс, правда не до конца, но буду смотреть в этом направлении

Alex
29.08.2017
11:14:29
Потом засунуть в базу найденные координаты и перезапустить carrierwave или чо там у вас.

Google
Alex
29.08.2017
11:14:50
ну да, там скорее всего нет потерь в изображении.

No
29.08.2017
11:14:55
ну у меня не саб-имадж, а уменьшенный саб-имадж

в этом сложность )

Alex
29.08.2017
11:15:09
ну так уменьшите оригинальную большую картинку

и ищите в ней сабимэдж уменьшенный

потом координаты подгоните под оригинал.

No
29.08.2017
11:15:27
а потом в процентах искать координаты кропа?

ну, тоже вариант в принципе

на безрыбье

Alex
29.08.2017
11:15:39
да, подогнать под оригинальные размеры и посмотреть что получится.

EtoZheSlava
29.08.2017
11:46:53
как траблшутить утечки памяти в sidekiq и unicorn? т.е есть метрики и алерты в aws - иногда есть скачки по потреблению памяти, нужно выявить причины и т.п

rekero
29.08.2017
11:49:32
у ньюрелика вроде есть memory profiler

Dmitriy
29.08.2017
13:47:30
Привет! Планирую из монолитного рельсового приложения выделить часть логики в отдельный микросервис на sinatra. Этот микросервис будет делать много запросов к основной базе. Не хочу писать голые sql-запросы, а хочу использовать ActiveRecord. В этом случае в синатре нужно будет объявлять много моделей, как в основном приложении на рельсах. Норм так делать на синатре? Или лучше на базе rails api mode делать сервис?

Alexander
29.08.2017
13:49:09
по мне так апи мод лучше. так как если ты возьмешь синатру, то будешь к ней лепить гемы на любой чих и в итоге получатся недорельсы. а внутри апи мода лучше пользоваться grape

Alexander
29.08.2017
13:50:11
как траблшутить утечки памяти в sidekiq и unicorn? т.е есть метрики и алерты в aws - иногда есть скачки по потреблению памяти, нужно выявить причины и т.п
попробуй стакпфур, и потом мне скажи, получилось ли) а то у меня проблемы похожие, но у нас они решились прочто изучением кода и асправление того что плохо пахгет

No
29.08.2017
13:50:36
чем grape так хорош?
скорость написания + автодоки к сваггеру + версионность + DSL как раз для json api

Dmitriy
29.08.2017
13:50:45
микросервис будет общаться с основным через rabbitmq. А апи будет только на один метод get

Alex
29.08.2017
13:51:10
а точно нужен отдельный микросервис - engine не подойдет?

Google
Alex
29.08.2017
13:51:22
> автодоки к сваггеру неплохо. А как относишься к rspec_api_documentation?

Alexander
29.08.2017
13:51:28
чем grape так хорош?
заточен под апи, хороший дсл, сам вставляет нужные коды, если самому лень. перехват ошибок, валидация параметров, а если использовать grape entity то еще и swag докумментация отличная получается

Alex
29.08.2017
13:51:54
не очень понимаю почему все так носятся со сваггером когда из тестов можно построить документацию.

Alexander
29.08.2017
13:52:14
писать тесты

Alex
29.08.2017
13:52:15
потому что он няшный)

No
29.08.2017
13:52:18
> автодоки к сваггеру неплохо. А как относишься к rspec_api_documentation?
использовал ) тоже неплохой вариант, но долго конфижится чтобы отображать информацию в нормальном виде

Dmitriy
29.08.2017
13:52:23
а точно нужен отдельный микросервис - engine не подойдет?
мне нужно снизить нагрузку на основное приложение.

Alex
29.08.2017
13:52:34
потому что он няшный)
действительно, давай больше работы делать )

писать тесты
если ты не пишешь тесты на апишку то я хз как к этому относиться.

No
29.08.2017
13:53:20
rspec_api_documentation отчасти диктует ограничения для написания тестов, насколько я помню

тобишь, он пихает в доки каждый кейс, допустим

Alexander
29.08.2017
13:53:34
Fedor
29.08.2017
13:53:37
если ты не пишешь тесты на апишку то я хз как к этому относиться.
Берешь бокорезы и откусываешь пальцы на ногах по фалангам

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

Alex
29.08.2017
13:53:52
тобишь, он пихает в доки каждый кейс, допустим
как укажешь так и будет, достаточно doc: false или какой то такой метадаты, и в доки не пихается.

Alexander
29.08.2017
13:54:14
Alex
29.08.2017
13:54:19
я ПРОСТО СРАЗУ пишу код без ошибок
как я сразу не додумался. Ребята это гениальное решение.

No
29.08.2017
13:54:34
там есть ручной режим вполне себе.
возможно ) вполне себе заменяемый вариант ) но на grape писать апи всё-таки быстрее + DSL под json api. ты делаешь API из инструментов которые предназначены онли для API

Alex
29.08.2017
13:54:49
надо попробовать будет.

Google
No
29.08.2017
13:54:52
но ничего против написания апи на плэйн рельсе не имею

просто мне grape показался более удобным под эти нужды

Alex
29.08.2017
13:55:17
строго говоря, лучше когда есть выбор, да.

No
29.08.2017
13:55:53
хотя Grape Entities иногда вызывают боль, если нужно что-то закастомайзить, но это следствие того, что я искал в доках только то, что нужно без чтения всей документации по entity разом

когда прочел в целом как это работает - проблемы в этом плане исчезли

Admin
ERROR: S client not available

No
29.08.2017
13:56:49
иногда, правда, приходится скучать по jbuilder, он как по мне - одно из лучших, что есть для API

Vasiliy
29.08.2017
13:57:27
а грейп разве не приложуха на синатре?

чет я его смотрел и как всё в одном файле не оч

Dmitriy
29.08.2017
13:57:57
grape можно монтировать к любому rack-приложению

No
29.08.2017
13:58:14
серьезно?
в нем есть тотальная гибкость для создания любого формата ответа

это и хорошо и плохо одновременно )

Vasiliy
29.08.2017
13:58:36
grape можно монтировать к любому rack-приложению
ну так рельса и так приложение)

Alex
29.08.2017
13:58:40
нет смысла задавать четкую структуру, даешь по endpoint'у на каждый запрос.

Dmitriy
29.08.2017
13:58:49
чет я его смотрел и как всё в одном файле не оч
там в разных файлах все пишется, как правило

Vasiliy
29.08.2017
14:00:56
хотя может и удобно

Sergey
29.08.2017
14:04:46
Подскажите плз, немного подзапутался с гемом protected_attributes Он используется у меня в проекте с 4ми рельсами Для 5х рельс достаточно его просто удалить, если permit параметров везде на уровне контроллера? Или все attr_accessible по проекту нужно будет тоже удалить в моделях?

No
29.08.2017
14:12:34
Google
No
29.08.2017
14:12:59
но обычно гибкость == возможность шмальнуть себе в ногу

за редкими исключениями

Zamira
29.08.2017
14:20:20
Подскажите плз, немного подзапутался с гемом protected_attributes Он используется у меня в проекте с 4ми рельсами Для 5х рельс достаточно его просто удалить, если permit параметров везде на уровне контроллера? Или все attr_accessible по проекту нужно будет тоже удалить в моделях?
В принципе уже на 4 рельсе разрешение присвоения параметров было перемещено из модели в контроллер, а твой гем он как раз был для того, что бы при миграции с 3 на 4 не приходилось много переписывать. И в 4 и в 5 в моделях нет attr_accesible. Если твой гем не допишут для пятых рельс, то надо с моделей это убирать конечно.

Bob
29.08.2017
14:30:13
может кто-нибудь знает, почему после вызова all.update_all в методе для релейшена, all становится пустым релейшном?

Zamira
29.08.2017
14:32:04
может кто-нибудь знает, почему после вызова all.update_all в методе для релейшена, all становится пустым релейшном?
Не совсем понятен вопрос. Ты делаешь model.all.update_all(attr1: value1), затем делаешь вновь model.all и это дает пустой рилейшн?

Bob
29.08.2017
14:36:48
не совсем. я добавил метод в модель. в нем делаю all.update_all(attr1: value1), за тем снова хочу получить релейшн, но в all уже путсой релейшн

No
29.08.2017
14:37:06
ммм

не уверен

но есть вариант, что не MODEL.all.update_all, а просто MODEL.update_all

а не, сорри, я похоже гоню

Vasiliy
29.08.2017
14:38:31
а ты пробовал? all.update_all(attr1: value1) all

Zamira
29.08.2017
14:38:57
Наверное ты просто обновляешь какой-то параметр, который не входит в дефолтный скоуп) У меня так было.

Если не это, то выглядит как мистика.

No
29.08.2017
14:39:38
если есть дефолтный скоуп - это уже небольшой звоночек, кроме кейсов софт делита и прочих подобных

это если об общепринятом в сообществе мнении

Zamira
29.08.2017
14:39:57
Звоночек к чему?

Felix
29.08.2017
14:40:01
обычно из-за софт-делита и делается дефолтный скоуп :)

Страница 681 из 1594