@proRuby

Страница 561 из 1594
Alex
23.05.2017
17:19:39
а то ща дойдем до того что магия не нужна.

Alexander
23.05.2017
17:20:26
Я познал силу декларативного кода когда давно писал чисто фронтенд. И когда ты описываешь виджет конфигом, декларативно, ключ-значение - это было большим шагом по сравнению с явным описанием всего. Такими же там были модели, которые ходили на сервер по единому протоколу. И вот они тоже все напрочь были декларативны. И всё было декларативно где это только было можно. Идеально же - разделение описания функциональности от явных команд для исполнения и прочей рантайм-логики. Возможно по этому мне больше по душе пришелся активрекорд. Но скорость - тож аргумент, да... Ну и наследование интереснее, динамическое задание всего без костылей и всё такое тоже имеет свои плюсы.
Мне нравится ООП и руби, сами рельсы и классовые методы — не очень. В мире вокруг нет "описательной" части, есть состояние и поведение. Валидация объекта — это его поведение. Хоть ты правила опиши заранее, от поведения не уйдёшь, только лишние действия внутри.

лучше все это бенчмарками подтверждать
Да очевидно хуже либо на выполнении, либо на старте. Быстрее или даже таким же не будет по логике

Oleg
23.05.2017
17:21:18
Так правила поведения - это мета, по которым ориентируется рантайм

Google
Alex
23.05.2017
17:21:29
твое хуже может быть настолько ничтожным что незаметно

Alexander
23.05.2017
17:21:37
Alex
23.05.2017
17:21:51
что?

Alexander
23.05.2017
17:22:00
твое хуже может быть настолько ничтожным что незаметно
Ну да. Но я про скорость валидации не говорил

что?
Что?

Alex
23.05.2017
17:22:30
что значит поведение само себя определяет?

Alexander
23.05.2017
17:23:34
что значит поведение само себя определяет?
Содержание метода определяет метод

Alex
23.05.2017
17:23:51
это как?

Alexander
23.05.2017
17:24:03
Ограничивать его извне можно, но странно

Oleg
23.05.2017
17:25:44
Когда создается новый класс - ему часто передаются некоторые параметры. Так вот это - декларативные правила. Мол давай исполняй код, но вот учитывай вот эти штуки что я тебе отправил. Так вот декларация на уровне класса - по сути просто способ конструирования объекта когда мы определяем параметры не вызовом метода создания экземпляра, а декларацией в теле метода. В итоге мы получаем класс с предопределенными параметрами.

Alexander
23.05.2017
17:26:04
это как?
Ну если у тебя в методе x * 2 — значит, метод умножает x на два)

Alex
23.05.2017
17:27:59
я не люблю explicit подход

Alexander
23.05.2017
17:28:04
Когда создается новый класс - ему часто передаются некоторые параметры. Так вот это - декларативные правила. Мол давай исполняй код, но вот учитывай вот эти штуки что я тебе отправил. Так вот декларация на уровне класса - по сути просто способ конструирования объекта когда мы определяем параметры не вызовом метода создания экземпляра, а декларацией в теле метода. В итоге мы получаем класс с предопределенными параметрами.
Не. Когда создаётся объект с передачей параметров — ему задаётся​ состояние. И при инициализации он не должен выполнять код, он просто устанавливает себе состояние, создаётся. Дальше вызываются у него методы, его поведение, которое использует его состояние. Это ООП. Мне кажется, ты путаешь, или смешиваешь.

Google
Alex
23.05.2017
17:28:15
собственно нелюбители рельсы как правило и есть нелюбители магии и implicit кода.

Alexander
23.05.2017
17:28:37
я не люблю explicit подход
На вкус и цвет, да)

Alex
23.05.2017
17:29:01
куча бестолкового boilerplate. Люблю меньше символов.

Alexander
23.05.2017
17:29:06
Alex
23.05.2017
17:29:18
has_many :stuff Это магия.

оно что то там внутри делает

Oleg
23.05.2017
17:30:50
Не. Когда создаётся объект с передачей параметров — ему задаётся​ состояние. И при инициализации он не должен выполнять код, он просто устанавливает себе состояние, создаётся. Дальше вызываются у него методы, его поведение, которое использует его состояние. Это ООП. Мне кажется, ты путаешь, или смешиваешь.
Это тоже ООП, просто состояние декларируется на уровне класса. Причем это может быть базовое состояние, которые потом дополняется или даже переопределяется в зависимости от логики. Более того - в базовом виде это давно существует - константы! Просто сейчас в нашем веке можно методы вызывать, которые обрабатывают константу на уровне класса 1 раз, до создания экземпляра

Oleg
23.05.2017
17:33:20
Вот, в конструкторе оно будет вызваться каждый раз при создании экземпляра, если вынести всё это на уровень класса - лишь 1 раз

Alexander
23.05.2017
17:33:31
Всё что внутри делает, если это не чёртов ток в транзисторах

Alex
23.05.2017
17:33:46
мне питонист недавно тоже что то про ООП втирал

когда я ему говорил как богически иметь has_many

Alexander
23.05.2017
17:34:11
Вот, в конструкторе оно будет вызваться каждый раз при создании экземпляра, если вынести всё это на уровень класса - лишь 1 раз
С чего ты взял, что одно один раз будет вызываться? Тебе же мердж нужен дефолта. Он будет происходить каждую инициализацию в любом случае

Alex
23.05.2017
17:35:14
да, он совал свой путон и говорил как это круто

каждый раз указывать сессию для связи с базой и прочие explicit вещи.

Alexander
23.05.2017
17:35:28
да, он совал свой путон и говорил как это круто
Там иначе ассоциации пишутся? Интересно​ как

Alexander
23.05.2017
17:36:04
Нет, либо мы о разном :)
Сможешь короткий пример привести?

Google
Alex
23.05.2017
17:36:15
там тупо они пишутся, типа такого: import AnotherModel from Orm class Model: posts = AnotherModel.many()

Nikita
23.05.2017
17:36:16
Alex
23.05.2017
17:36:18
что то типо такого.

Alexander
23.05.2017
17:36:21
Мне искренне интересно рассуждать на такие темы, к счастью это не холивар

Alex
23.05.2017
17:36:28
Ну ты ему набил морду?)
не там питонистов было больше, я проиграл неравный бой.

Nikita
23.05.2017
17:36:40
Слил

Alexander
23.05.2017
17:37:45
там тупо они пишутся, типа такого: import AnotherModel from Orm class Model: posts = AnotherModel.many()
Неплохо, кстати. Но в руби всё равно это будет поведение класса, то есть технически ничем не отличаться

Alex
23.05.2017
17:38:07
ну это explicit

Alexander
23.05.2017
17:38:11
Я бы посмотрел на реализацию с помощью констант ?

Alex
23.05.2017
17:38:20
в рубях ты пишешь has_many :something и фреймворк все за тебя проставляет

быстро, удобно, однотипно.

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

Alexander
23.05.2017
17:38:56
ну это explicit
И к ООП не имеет отношения, да

Alex
23.05.2017
17:39:12
причем здесь ООП мне не ясно

ты тоже мыслишь видимо как тот питонист.

Alex
23.05.2017
17:39:27
Он тоже к ООП прицепился и говорил почитать мне про ООП.

Alexander
23.05.2017
17:39:40
Я ожидал от него ООП-выпадов, но это не то

Alex
23.05.2017
17:39:42
типа ему нифига не понятно что тут происходит и воще это не ООП и я нуп и опозорился.

он еще аргументировал что питон понятнее для сишников

Google
Alexander
23.05.2017
17:40:22
Хотя может в пайтоне действительно так ставится состояние класса

там тупо они пишутся, типа такого: import AnotherModel from Orm class Model: posts = AnotherModel.many()
Бля, в руби это было бы как class Model @posts = AnotherModel.many end В целом, не так уж и ужасно

Alex
23.05.2017
17:42:35
нет не было бы

в руби оно так было бы если

class Model posts = AnotherModel.many() end Model.posts

Admin
ERROR: S client not available

Alex
23.05.2017
17:43:00
но оно не будет так работать.

Alexander
23.05.2017
17:43:16
но оно не будет так работать.
Ну смотря как напишешь. Может

class Model posts = AnotherModel.many() end Model.posts
Мало чем отличается от моего

Dmitry
23.05.2017
19:57:59
Всем привет! Вопрос для тех, кто использует rails + devise_token_auth и react + redux на фронте: есть ли какие-то более-менее универсальные npm-пакеты для упрощения аутентификации и хранения токенов (нашёл redux-auth, но он устарел), или же обычно пишут такое вручную под каждый проект?

Dmitry
23.05.2017
20:45:26
спасибо за совет, пожалуй, так и поступлю

Lupsick
23.05.2017
20:46:17
Alex
23.05.2017
20:53:31
Я его юзал, что то мне там дико не понравилось.

мы вроде сами написали потом простенький модуль который подмешивает эти токены

middleware в общем написали.

Dmitry
23.05.2017
20:55:14
понятно, спасибо

А в бэкенде вы чистый json принимаете или jwt?

Google
Alex
23.05.2017
20:59:33
jwt это авторизация

пробовали json-api формат, но он что то никому не понравился, поэтому были самопальные json ответы.

Dmitry
23.05.2017
21:02:29
ясно, начну тогда с прочтения информации о стандарте jwt и удаления джема devise_token_auth с моих рельс)

Alex
23.05.2017
21:06:52
device_token_auth насколько я понял именно jwt и предоставляет

Dmitry
23.05.2017
21:10:34
там он в заголовках выдаёт access-token и прочую информацую, а принимает также в заголовках формата bearer.

Roman
24.05.2017
05:58:53
никто не знает почему при редиректе нарут могут пропадать стили?

на рут*

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

v
24.05.2017
06:43:19
ну я так и знал

манипуляции со стилями

и ты о них скромно умолчал

Roman
24.05.2017
07:16:59
дело в том, что у меня две страницы, в первой head идет c layout'a, у второй страницы свой head, и когда делаю редирект с первой на вторую, на второй остается хедер с первой, layout: false усть

есть*

окей

трабл бил в турболинксах

был*

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