
Roman
28.08.2017
10:52:49
для чтения

No
28.08.2017
10:52:53
так я ж и говорю, что можно не боятся - рельса не будет интрпретировать нэймспэйс как STI

Roman
28.08.2017
10:53:02

Roman
28.08.2017
10:54:06
Я изначально начал в sti, но по ходу роста проекта, модели оказались слишком разные, я решил это выпилить пока не поздно, но структуру классов оставить как есть, а factory girl сейчас ищет таблицу users, хотя я ее удалил

Google

No
28.08.2017
10:54:21
STI коварная штука
она вначале кажется сверхудобной
а потом ты начинаешь кушать из унитаза
большой глубокой ложкой

Roman
28.08.2017
10:54:41
factory girl там может руками указано
class или parent

rekero
28.08.2017
10:55:04

Roman
28.08.2017
10:55:06
factory :manager, class: User::Manager do

Roman
28.08.2017
10:55:21
хм

No
28.08.2017
10:55:21
и в итоге получается огромная таблица
с кучей неюзаемых полей
для разных типов

Google

Roman
28.08.2017
10:55:43
сейчас попробую через table_name

No
28.08.2017
10:56:37
для модели Attachment с типами вроде Image, Video, Audio
STI заходит норм

rekero
28.08.2017
10:56:44
ну не надо микроскопом гвозди забивать

No
28.08.2017
10:56:52
в остальных кейсах я фэйлился с STI
и в итоге выпиливал

rekero
28.08.2017
10:57:13
я использовал для аккаунтов в oauth

No
28.08.2017
10:57:38
воообще кстати я так понимаю с STI нормально живут только рельсовики
остальные при объяснении, что это такое - начинают фыркать и пытаться прыгнуть под проезжающий мимо камаз

rekero
28.08.2017
10:58:32
в джаве есть
даже в пхп вроде

No
28.08.2017
10:58:51
в Yii, который с рельсов слизан, вроде нет
за джаву - хз, не располагаю инфой

Roman
28.08.2017
10:59:24
с table_name отработало, всем спасибо)

rekero
28.08.2017
11:01:05

No
28.08.2017
11:01:33
окей, в таком случае уточню откуда инфа
есть товарищ очень хороший, ПХПист бывший
3+ года на Yii
про STI услышал от меня

Roman
28.08.2017
11:01:55
дело в том что по умолчанию sti в рельсах сделан по-быдлячи: пихать в поле базы строку с именем класса - это просто смерть для других сервисов, которые эту базу используют

Google

Vasiliy
28.08.2017
11:02:30
в жанге сти вроде тоже есть

No
28.08.2017
11:02:37
ну это типо противоречит Clean архитектуре

Roman
28.08.2017
11:02:37
но конечно стоит признать, что для "блога за 15 минут" это лучший выбор

No
28.08.2017
11:02:42
когда у тебя база отдельно
и несколько приложений отдельно
но рельса в принципе противоречит clean архитектуре )

Evegeniy
28.08.2017
11:03:05
У тебя как правило рельса не предназначена для того, чтобы другие сервисы юзали ее базу. на мой взгляд это кощунство
дело в том что по умолчанию sti в рельсах сделан по-быдлячи: пихать в поле базы строку с именем класса - это просто смерть для других сервисов, которые эту базу используют

No
28.08.2017
11:03:07
и это не есть плохо обычно

Roman
28.08.2017
11:03:08
рельсы много где противоречат clean в угоду fast and easy

No
28.08.2017
11:03:15

Roman
28.08.2017
11:03:29
ой ну налетели

Vasiliy
28.08.2017
11:03:31

rekero
28.08.2017
11:03:37

Roman
28.08.2017
11:03:44
а как же обмазать го?

rekero
28.08.2017
11:03:47
зачем им в ту же базу лезть

No
28.08.2017
11:03:51
скорее просто у них не принято юзать STI
возможность != используемость

Vasiliy
28.08.2017
11:04:41
тут какждый же сам решает

Google

No
28.08.2017
11:04:42
active record в рельсе позволяет делать value обджекты из записи в базе и делать таким образом композицию
и мне это нравится

Roman
28.08.2017
11:04:55
ну я согласен со всеми аргументами. я наверное немного biased потому что мне пришлось переводить портал с PHP на руби, чтобы оба работали с одной базы параллельно. поэтому у меня есть пункты :)

No
28.08.2017
11:04:55
но я ни разу не видел, чтобы кто-то такое сделал
это не говоря уже о том, что люди до сих пор не знают про delegate
и пишут отдельные методы для тех же целей
ну или просто используют #try

Roman
28.08.2017
11:05:43
гг

Admin
ERROR: S client not available

rekero
28.08.2017
11:05:45
а какие проблемы у php с полем type?

Evegeniy
28.08.2017
11:05:57
у php проблемы с php
а с полем тайп никаких

Vasiliy
28.08.2017
11:06:11
видимо прост не кастится в тип

Roman
28.08.2017
11:06:11
никаких просто это к вопросу о том что кроме рельсу в базу никто лезть не должен
в PHP в type были инты
константы

rekero
28.08.2017
11:06:47
ну там было про >это просто смерть для других сервисов, которые эту базу используют

Roman
28.08.2017
11:06:51
пришлось учить рельсы

rekero
28.08.2017
11:07:08
ну там можно кастомное имя поля для sti задать

No
28.08.2017
11:07:10

Google

No
28.08.2017
11:07:18
и пишешь функционал на подходящих инструментах
это не упрек в сторону рельсы, скорее упрек в сторону неидеального мира

Roman
28.08.2017
11:07:33
вернее для содержимого тоже можно
def sti_name или как-то так
не помню уже
и там внутри перегонять инты в имена классов
а вот для polymorphic такого нет
пришлось шаманить
через attributes api

wi11son
28.08.2017
12:59:01
Привет
И конечно же сюда дублирую:
https://www.meetup.com/saintprug/events/242892997/

Alexander
28.08.2017
13:46:25
вопрос не по теме канала, но канала девопсов под рукой нету. docker stats как считает потребление памяти? уже по всякому пробовал считать внутри контейнера, никак не совпадает с тем что мне докер показвает

Алексей
28.08.2017
14:58:49
Парни, привет! Нужен второй руби-кодер в веб-проект на удалёнку. Проект огонь! :) Подробности в личку

Ilya
28.08.2017
15:13:04
уже и огонь кодить начали

Alex
28.08.2017
15:15:13
Алексей без деталей проекта и вилки вряд ли кто заинтересуется

Fedor
28.08.2017
15:16:19
есть же https://t.me/rubyjob, там хорошо описано, как надо делать вакансии )

Alex
28.08.2017
15:17:07
да, кстати - и там это будет более уместно

Алексей
28.08.2017
15:31:17

No
29.08.2017
11:06:21
Ребята, вопрос скорее по обработке изображений, но мало ли. Есть оригинальная картинка. Есть кропнутая + уменьшенная картинка (thumbnail). Есть ли возможность сделать кроп по тем же координатам, имея уменьшенную кропнутую картинку? (Координаты кропа не сохранялись в старой версии приложения, в новой с этим проблем нет, но картинки надо как-то промигрировать)
на всякий случай поясню зачем: в старой версии сабнэйлы не использовались почти, и делались очень маленькие (отображаются на девайсе хреново). в новой это пофикшено, сабнэйлы активно используются, но надо замигрировать старые сабнэйлы так, чтобы они стали больше (оригинальная картинка присутствует).