@proRuby

Страница 1343 из 1594
unknownperson
08.08.2018
22:39:09
всем привет) кто знает как службы безопасности в банках работают? интересует что они делают при интеграции новых решений от сторонних разработчиков

Tim
09.08.2018
06:44:00
а вообще похоже на то, что ты хочешь сделать что-то нехорошее

Google
Ivan
09.08.2018
06:47:36
а вообще похоже на то, что ты хочешь сделать что-то нехорошее
это в ГДЕ ты это увидел? а по существу. вендоры проверяют и юзают для всех проектов. если обновляют зависимости - то перепроверяют.

было у друга так

Ivan
09.08.2018
06:48:43
чет программисты очень много предполагают и додумывают в последнее время)

особенно додумывают

кароч. они хранят последнюю версию проверенных вендоров и юзают ее.

Sviat
09.08.2018
07:38:33
Привет нужно улучшить код не слишком усложняя '(' + number[0..2] + ') ' + number[3..5] + '-' + number[6..-1] if number.present? number - только стринга но может быть любой длинны (если меньше 6 тогда ошибка изза number[6..-1])

вот картинкой для визуального восприятия

Alexey
09.08.2018
07:46:29
ok = /(?<code>\d{3})(?<first>\d{3})(?<last>\d{4})/ =~ "9876543221" "(#{code})#{first}-#{last}" if ok

> "(987)654-3221"

для любой длины ok = /(?<code>\d{3})(?<first>\d{3})(?<last>\d+)/ =~ "987654322144444"

Roman
09.08.2018
07:48:52
если использовать #{}, то и ошибки не будет, а будет просто пустая строка

Google
Sviat
09.08.2018
07:50:32
Nick
09.08.2018
08:09:36
Вопрос на засыпку. Кака объяснить ActiveStorage, что мне нужен вариант картинки с вотермарком. Переформулируя, как передать в @model.image.variant параметры, чтобы дёрнуть minimagick#composite? https://github.com/minimagick/minimagick#composite

Combot
09.08.2018
08:46:12
Dima (0) увеличил репутацию Nikita Batrak (1)

Hurum
09.08.2018
09:37:04
то есть напрямую в класс пишем метод а не в инстанс?
@danSteshenko почитай вот эту статью http://nashbridges.me/introducing-ruby-oop Очень рекомендую!

А class << self это всего лишь синтаксический сахар, чтобы не писать у каждого метода self.method_name

Roman
09.08.2018
09:47:29
потому что infinity это действительно not a number

Nikita
09.08.2018
09:55:55
потому что ты делишь на 0.0

Tim
09.08.2018
09:58:00
а че не так

Subb98
09.08.2018
10:03:16
потому что при делении на 0 будет бесконечность, если не ошибаюсь

ojab
09.08.2018
10:03:20
ojab
09.08.2018
10:04:07
> Float::INFINITY == Float::NAN => false

Tim
09.08.2018
10:04:23
деление на 0 не определено

в пределе равно бесконечности

Dan
09.08.2018
10:08:15
Ребят, такая ситуация. Начал писать на рейлс, так как на проекте на нем api. И мне сразу не понравилось огромное количество скрытой магии, которая есть в рейлс приложении. Магия собственно появляется из-за миксинов и наследования, ну вы сами знаете. И тут я узнал, что есть такая штука как сервис обжекты. И это как раз то, что мне не хватало. Я сам js разработчик и пишу на ember и там тоже есть сервисы. То есть во первых это для меня интуитивно, а во вторых это реально делает код более явным (не прям до конца как хотелось бы, но все же). Так вот я написал новую фичу, вынеся код из контроллеров в сервис и спросил ребят из команды как им это нравится и почему они не делали этого раньше. Парень, который написал большую часть кода приложения оказался против этого по следующим соображениям. Во-первых он считает что это нарушает текущую консистентность, а во-вторых это против рейлс-вэй, потому что все должно быть магией, хотя ему тоже это не нравится. Насколько я понимаю, сервисами в рейлс сообщество пользуется давно, но для него это было что-то новое. В общем я считаю, что он просто очень консервативный и аргументы его меня не убеждают. Как вы считаете, кто прав? Сорри за лонг рид

Alexander
09.08.2018
10:10:03
Ребят, такая ситуация. Начал писать на рейлс, так как на проекте на нем api. И мне сразу не понравилось огромное количество скрытой магии, которая есть в рейлс приложении. Магия собственно появляется из-за миксинов и наследования, ну вы сами знаете. И тут я узнал, что есть такая штука как сервис обжекты. И это как раз то, что мне не хватало. Я сам js разработчик и пишу на ember и там тоже есть сервисы. То есть во первых это для меня интуитивно, а во вторых это реально делает код более явным (не прям до конца как хотелось бы, но все же). Так вот я написал новую фичу, вынеся код из контроллеров в сервис и спросил ребят из команды как им это нравится и почему они не делали этого раньше. Парень, который написал большую часть кода приложения оказался против этого по следующим соображениям. Во-первых он считает что это нарушает текущую консистентность, а во-вторых это против рейлс-вэй, потому что все должно быть магией, хотя ему тоже это не нравится. Насколько я понимаю, сервисами в рейлс сообщество пользуется давно, но для него это было что-то новое. В общем я считаю, что он просто очень консервативный и аргументы его меня не убеждают. Как вы считаете, кто прав? Сорри за лонг рид
рейлс-вэй не работает для больших проектов. и вообще чаще зло чем добро. так что гни свою линию

Crypt
09.08.2018
10:10:04
Вот это спор...

Тонкий контроллер - главное, а куда вынести его потроха уже дело десятое

Roman
09.08.2018
10:11:13
тут придет на помощь здравый смысл, если логика на 20 строчек, то ничего страшного, что она останется в контроллере/моделе, плюс если уже все приложение так работает. Если кусок логики большой, то, конечно, стоит его держать отдельно от модели/контроллера

Google
Dan
09.08.2018
10:13:11
Я согласен, что это добавляет немного энтропии, так как появляется два способа решения проблемы. Но код с сервисами понятен сразу. Мы видим сразу, что есть сервис и мы вызываем на нем метод, а если решать через миксин например, но в контроллере вообще непонятно из какого миксина взялся метод. То есть если даже не рефакторить прям все на сервисы, то хотя бы новый код будет попятным

Nikolay
09.08.2018
10:14:40
миксины - это не архитектура

Dan
09.08.2018
10:14:54
Сейчас есть много миксинов и лично мне это доставляет боль. Плюс сами контроллеры и модели очень толстые с кучей логики. То есть код явно угешный, но чувак стоит на своём

Nikolay
09.08.2018
10:14:58
это как насрать и положить сверху коврик типа “ну не видно же”

Dan
09.08.2018
10:15:09
Crypt
09.08.2018
10:15:12
Вопрос держать его в сервисе или миксине
В миксинах, что-то универсальное типа миддлвари обычно, логика в сервисе

Nikolay
09.08.2018
10:15:48
А сервисы?
Уже лучше. Тут все будут за сервисы, инфа100

Другой вопрос что все их готовят по разному

Dan
09.08.2018
10:16:37
Уже лучше. Тут все будут за сервисы, инфа100
Писец, почему тогда чувак который уже лет 7 на рельсах и руби не знает что это и более того против и утверждает что вс сообщество пишет миксины

Максим
09.08.2018
10:16:59
а давай

Dan
09.08.2018
10:17:18
зови его сюда)
Он не говорит по русски)))

Максим
09.08.2018
10:17:21
просто опять же всю игру тоже передавать везде всегда тоже отстой

это считай что глбальной переменной нет

но она как бы есть

типа состояние класса доступно всем всегда везде

Ilya
09.08.2018
10:18:34
может это мальчик, выращенный миксинами
или просто человек, живущий в стороне от сообщества

Google
Dan
09.08.2018
10:18:40
может это мальчик, выращенный миксинами
Я хз. Причём мне сложно спорить, так как он тыщу лет это пишет, а я тут такой щегол пришёл не нюхавший и начинаю рассказывать как делать

Admin
ERROR: S client not available

Darth
09.08.2018
10:19:08
Что такое миксины? Концерны?

Crypt
09.08.2018
10:19:13
А в рельсе есть DI?

Nikolay
09.08.2018
10:19:16
может это мальчик, выращенный миксинами
Или человек выращенный php-шниками

Roman
09.08.2018
10:19:29
А в рельсе есть DI?
в рельсе нет

в твоем коде, в рельс-приложении - может быть

Darth
09.08.2018
10:19:45
Да
Тогда и называйте концернами )

Максим
09.08.2018
10:19:52
может он консёрны имеет ввиду

Alexander
09.08.2018
10:20:04
А в рельсе есть DI?
что то из dry стека умеет делать di но не помню точно какой гем

Ilya
09.08.2018
10:20:16
Максим
09.08.2018
10:20:16
а вижу

Dan
09.08.2018
10:20:31
Тогда и называйте концернами )
Ну как-то все меня поняли)

Crypt
09.08.2018
10:21:13
Максим
09.08.2018
10:21:54
консёрны лучше для расширения а сервисы для операций

Google
Dan
09.08.2018
10:22:18
Так что сказать ему? Почему он не прав?

Максим
09.08.2018
10:22:30
типа если тебе нужно логи например автоматом писать при любом действии то лучше консёрн если сложная логика записи какой то сущности то лучше сервис

ну т.е. консёрны это расширение типа доп. методы или там автоматизированые штуки всякие а сервисы для атомизирвоания и переиспользования логики во всём проекте

я так вижу

буду рад услышать другие мнения

Dan
09.08.2018
10:23:18
типа если тебе нужно логи например автоматом писать при любом действии то лучше консёрн если сложная логика записи какой то сущности то лучше сервис
Я полностью согласен что они могут существовать вместе и решать свои задачи. Просто он говорит что типа тогда надо что-то одно

Максим
09.08.2018
10:24:11
я не знаю какая там у вас ситуация, но мб ты предлагаешь два одинаковых типа задачи решать разными подходами? тогда лучше рал один подход для одних задач. другой для другиз, мб он это имеет ввиду?

Crypt
09.08.2018
10:24:30
Roman
09.08.2018
10:24:58
консерны ввел dhh, чтобы скидывали тут всю логику, по факту с сервисами они не нужны, имхо я их сразу выпиливаю из приложения, просто лишняя абстракция

Максим
09.08.2018
10:25:23
ну хз

я бы например всякое метапрограммирование сувал бы в консёрны

а конкретные атомизированые операции в сервисы

Crypt
09.08.2018
10:26:01
И как в сервисе норм миддлвари переписывать из раза в раз?

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