@proRuby

Страница 215 из 1594
Alex
02.10.2016
19:35:20
Ты как минимум в деве будешь юзать NullSender или подобный

который ты не пишешь.

Lupsick
02.10.2016
19:35:58
почему дополнительный?
дополнительный в геме

и бекендах

Google
Nikolay
02.10.2016
19:36:10
@pimpmyyoba ты пишешь тот же код, если бэкенд для твоего сервиса и этого гема уже написан, просто если ты хочешь поменять сервис отправки, ты меняешь только бэкенд и не паришься, а не переписываешь сам те части, где юзался старый гем

Alex
02.10.2016
19:36:18
Обертку достаточно один раз написать, и гонять на CI

Alex
02.10.2016
19:36:54
@pimpmyyoba ты пишешь тот же код, если бэкенд для твоего сервиса и этого гема уже написан, просто если ты хочешь поменять сервис отправки, ты меняешь только бэкенд и не паришься, а не переписываешь сам те части, где юзался старый гем
А также получаешь плюшки что в деве не отправляется смс а выводится в консоль/браузер. На стейжинге юзается такой то сервис, или не юзается, на проде другой.

Nikolay
02.10.2016
19:36:56
но так как по хорошему все эти гемы нужно оборачивать в коде самому, то скорее всего замена будет только в одном месте

Alex
02.10.2016
19:36:57
Код один и тот же.

Ivan
02.10.2016
19:37:19
Ребята, кто в баше что-нибудь понимает?

И должно ли это вообще работать http://pastebin.com/eAdYBqfz

Выдаёт ошибку - sh: 1: Syntax error: Unterminated quoted string

Неужели он в %x() вставляет строку с кавычками?

Alex
02.10.2016
19:37:20
Плюс, унификация, не нужно думать - уже есть готовое решение.

Google
ojab
02.10.2016
19:38:03
а, это на рубях

Lupsick
02.10.2016
19:38:07
у тебя очень ограниченная унификация для кейсов, которые составляют 5% от общего числа

Alex
02.10.2016
19:38:29
@pimpmyyoba хочу тебе сказать большое спасибо за дискуссию, я вынес для себя полезные мысли.

Lupsick
02.10.2016
19:38:48
в первую очередь количество поддерживаемых кейсов ограничивается количеством бекендов

Ivan
02.10.2016
19:39:00
Lupsick
02.10.2016
19:39:06
а потом количество кейсов ограничивается количеством нужных бекендов конкретному программисту

Alex
02.10.2016
19:39:08
у тебя очень ограниченная унификация для кейсов, которые составляют 5% от общего числа
Ты не пишешь код, ты не пишешь воркер. Ты подключаешь и оно просто работает. Оно разводится по ENV, оно может использовать разные бэкенды в разных местах. Например на продакшене это будет интранет, на стейже smsru и т.д.

а потом количество кейсов ограничивается количеством нужных бекендов конкретному программисту
Вот только программистов много, и общее количество кейсов разное.

Я приду в новый проект, увижу ActiveSMS, сразу знаю что делать.

Ivan
02.10.2016
19:39:48
>#{b}
если не сложно, напиши на баше эту строчку, или на чем угодно, чтоб работало :)

Alex
02.10.2016
19:39:48
Также как и рельсы, рельсы они везде рельсы.

Lupsick
02.10.2016
19:39:55
общий случай – это когда программисту нужен один гейт

Alex
02.10.2016
19:40:18
А потом он захочет перейти на другой гейт, ибо тут дорого. А потом он придет в другой проект где отправляются смс.

Да и при наличии реализаций это большой плюс. Я все таки только сегодня главную абстракцию написал, на очереди реализации.

Lupsick
02.10.2016
19:40:45
суть в том что это все костыльные решения

Alex
02.10.2016
19:40:51
Почему?

Lupsick
02.10.2016
19:40:55
нотификации должны отправляться только из одного места

всегда

все

Google
Alex
02.10.2016
19:40:58
Идеальных абстракций не существует.

ojab
02.10.2016
19:41:00
for FILE in /path/to/file/*; do unzip ${FILE}; done
(на самом деле "${FILE}", чтобы пробелы ок обрабатывались)

Alex
02.10.2016
19:41:11
Ну оно и отправляется из воркера

в чем проблема?

Lupsick
02.10.2016
19:41:13
просто шаблонный код

Alex
02.10.2016
19:41:17
толкьо тебе даже воркер не надо писать

Небось рельсы хейтишь?

на голых рубях пишешь?

без гемов?

Lupsick
02.10.2016
19:41:35
да ебать мне не сложно руби скрипт написать

Alex
02.10.2016
19:41:39
там же везде шаблонный код.

Alex
02.10.2016
19:41:50
Написать не сложно. А поддерживать дорого.

Lupsick
02.10.2016
19:41:50
хейчу только активрекорд

Alex
02.10.2016
19:41:58
Я точно также могу factorygirl выкинуть

Alex
02.10.2016
19:42:03
только это резко стоимость поддержки повышает

Ivan
02.10.2016
19:42:17
(на самом деле "${FILE}", чтобы пробелы ок обрабатывались)
А я ему хотел скармливать файлы аргументом :( Ну ничего, так приспособлю сейчас)

Alex
02.10.2016
19:42:22
~ 30 строк
В рамках проекта?

Lupsick
02.10.2016
19:42:36
В рамках проекта?
в рамках всего

Google
Lupsick
02.10.2016
19:42:40
один раз написал

Alex
02.10.2016
19:42:50
Я тебе еще раз говорю, суть точно такая же как например у рельс

одинаковый инструмент

Lupsick
02.10.2016
19:43:09
суть такая же

Alex
02.10.2016
19:43:10
Быстрый вход. Легкий опенсорс

Lupsick
02.10.2016
19:43:12
но у тебя надо писать бекенды

Alex
02.10.2016
19:43:17
Ну и тебе писать ничего не надо.

но у тебя надо писать бекенды
Нет, ты берешь готовую реализацию )

Lupsick
02.10.2016
19:43:27
тебе надо

Alex
02.10.2016
19:43:29
если сервис публичный.

Admin
ERROR: S client not available

Alex
02.10.2016
19:43:43
тебе надо
Как ты сказал, я беру гем компании и пишу обертку

Да, мне нужно. точно также как ActiveSMS поддерживать. Но это мои косты как мейнтейнера, а не твои.

Ты просто берешь и юзаешь.

Lupsick
02.10.2016
19:44:53
хз

по мне дроч на пустом месте

Alex
02.10.2016
19:45:27
Я сталкивался с смсками, и понял что это небольшой адок.

Ладно нам с тобой, мы можем это разрулить, но для джуна будет проще гем подключить чем свои шишки набивать.

Абстракции плохи - когда они дырявые. Тут все довольно просто, возможно есть кейс который я не учел.

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

Google
Alexander
02.10.2016
19:51:30
абстракции — это хорошо. здесь не вижу лишней абстракции. то есть, конечно, её можно считать за лишнюю, я знаю людей которые вообще на DRY забивают большой болт, но всё же, без абстракций не было бы очень многого (те же ORM, или Rack; вот зачем писался Rack? наверняка кто-то кричал, что это не нужно, и он бесполезен, просто фреймворк должен работать с веб-сервером, а не какой-то дополнительной абстракцией) так что, @Fedcomp, всё правильно делаешь. даже если никто использовать не будет — это хороший опыт для тебя.

Alex
02.10.2016
19:51:56
Главное что этот гем будет полезен лично мне.

Он изначально писался для этого.

Если мне снова придется столкнуться с смсками, то теперь я потрачу почти ноль времени на все это.

Alexander
02.10.2016
19:52:44
Главное что этот гем будет полезен лично мне.
да-да! и ты и в программировании опыта наберёшься, и в архитектуре (дизайне кода), и вообще со временем поймёшь, нужно оно было или нет даже тебе

Alex
02.10.2016
19:53:56
Ну надо же чем то полезным гитхаб профиль наполнять

а то там одно гавно.

Alexander
02.10.2016
19:55:03
так что топить «ололо, зачем, воркеры жи есть» немного глупо. да, способов реализации одной задачи почти всегда несколько. но далеко не все используют те же воркеры, например. и у каждого решения есть свои плюсы и минусы. а опыт важен, стремления и попытки сделать что-то полезное, да ещё open-source, надо поддерживать. не нравится? не подходит? не пользуйся. но ты не один на свете, кому-то может очень пригодиться, особенно самому maintainer'у

Alex
02.10.2016
19:55:33
На саомм деле он очень годные мысли выразил, было полезно.

Прикольно что чатик развивается, помню тут было 81 человек.

Alexander
02.10.2016
19:57:04
тут кто-то сказал в разговоре про докер про разворачивание дев-среды — да, уели. есть какие-нибудь инструменты более скриптовые для данных задач? кроме самостоятельного написания шелл-скриптов. не нашёл пока

то есть, выгрузил проект (гит), выполнил команду (в нём конфиг) — всё установилось (и настроилось)

Alex
02.10.2016
19:57:46
docker-compose.yml

docker-compose up

очень крутая вещь на самом деле, попробуй.

Alexander
02.10.2016
19:58:19
docker-compose.yml
кроме докера. без образов

Alex
02.10.2016
19:58:38
Но оно реально прикольное

остальное просто дольше

Huken
02.10.2016
19:58:56
ну CI можно заставить это делать только там тоже докер скорее всего будет

Alex
02.10.2016
19:59:07
vagrant разве что еще

Alexander
02.10.2016
19:59:39
ну вот выполнил команду, в локальном конфиге указана версия postgresql >= 9.4, она проверяет установленную, если не подходит — ставит нужную (с опознанием ОС)

не очень хороший подход для разработки сразу нескольких проектов с разными зависимостями, да. но тут свои +/-

Alex
02.10.2016
20:00:10
Ты можешь конечно свою машину провизионить через энсибл, но мне кажется это черезчур.

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