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

Roman
09.08.2018
06:37:09

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

Google

Ivan
09.08.2018
06:47:36
было у друга так

Tim
09.08.2018
06:47:57

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

Dima
09.08.2018
08:46:12

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

Hurum
09.08.2018
09:37:04
А 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

Tim
09.08.2018
10:03:41

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

Rafkat
09.08.2018
10:16:41

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

Roman
09.08.2018
10:17:07

Dan
09.08.2018
10:17:18

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

Roman
09.08.2018
10:17:54

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

Dan
09.08.2018
10:19:17

Roman
09.08.2018
10:19:29
в твоем коде, в рельс-приложении - может быть

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

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

Alexander
09.08.2018
10:20:04

Ilya
09.08.2018
10:20:16

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

Nikolay
09.08.2018
10:20:26

Dan
09.08.2018
10:20:31

Crypt
09.08.2018
10:21:13

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

Crypt
09.08.2018
10:21:58

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
И как в сервисе норм миддлвари переписывать из раза в раз?