@scala_ru

Страница 375 из 1499
Юрий
29.12.2016
10:40:52
или еще как-то

Anatoliy
29.12.2016
10:41:20
id | user_id | role_type | inner_ids

И мне надо два последних поля объединить в один объект получается

Mikhail
29.12.2016
10:43:49
погугли acl - кто как делает, потом свой велосипед построишь)

Google
Уйкучу
29.12.2016
10:44:17
еще есть rbac

Dmitry
29.12.2016
10:46:10
Коллеги, а поделитесь опытом, как вы используете type level программирование для решения задач бизнес-логики? В моём текущем проекте ситуация такая: - Есть поток сообщений из всяких сокетов. В конечном счёте, бизнес-логика описывается в akka stream Flow. - Логика -- последовательные вычисления на каждом сообщении, а потом их агрегация. Поэтому используется комонада с HList внутри: каждый следующий шаг дописывает в HList, имея возможность читать предыдущие. - Для типов результатов вычислений есть тайпклассы: как минимум, Monoid. Это позволяет делать несколько агрегаций по одному потоку через |+|. Моноид HList-а получается понятным образом из кусочков. - Аналогично добываются другие тайпклассы, например, Show. Сериализация результатов вычислений для конечного пользователя в итоге зависит только от данных и выстраивается автоматически. В конечном счёте, это решение задачи типа map/reduce в конкретной предметной области с помощью cats и shapeless. Akka Streams -- просто транспорт (правда, важный: я пользуюсь материализацией, поэтому заменить Flow на какой-нибудь более общий тип не могу). А вы какие прикладные задачи решаете с помощью cats и shapeless или других инструментов на уровне типов?

Anatoliy
29.12.2016
10:47:38
Да, rbac это то что я хочу. Но вот как раз там есть параметры у роли, по которым можно делать сверку на разрешение пользователя. И вот как раз мне надо понять как это хранить.

Хотя не, rbac - не судьба, пошел смотреть abac

Diemust
29.12.2016
11:04:20
в табличке rolId -> userId и джойнить, в чем проблема то?

Evgeniy
29.12.2016
11:10:55
https://github.com/47deg/freestyle/
забавно, еще только надо либу которая скрестит это с freek

Aleksei
29.12.2016
11:22:30
Митя ну е мое, тут люди линзы не дают притащить в проект, а ты вон чо =(

Dmitry
29.12.2016
11:23:01
Ну есть же и тут товарищи, которые сами тащут и спросу не просят?

Интересно сознание расширить. Я руками только два проекта с функциональщиной написал: парсер хтмл с клеисли и вот реалтайм мап-редьюс с шейплесс и комонадами-моноидами. Очень интересно, какие ещё задачи удаётся упростить со всей этой магией :) вдохновения хочется!

Aleksei
29.12.2016
11:25:44
Я помню парсер да =)

Я бы тоже послушал ответ на твой вопрос

KrivdaTheTriewe
29.12.2016
11:30:05
Aleksei
29.12.2016
11:31:39
Google
Aleksei
29.12.2016
11:32:08
там оказывается где то старая версия скалазей протянута зависимостями, думаю их потихонечку юзать

KrivdaTheTriewe
29.12.2016
11:33:02
утешение , когда скалази нельзя, найдется библиотека в проекте, которая использует скала зи

Aleksei
29.12.2016
11:33:37
да не

там кто то в пылу каком то реально юзал скалаз

Viacheslav
29.12.2016
11:43:43
Посоны ламацкий вопрос! Как это озвучить на английском? Node current = head;

Aleksei
29.12.2016
11:45:19
assigning?

Oleksandr
29.12.2016
11:53:45
там кто то в пылу каком то реально юзал скалаз
к слову, а кто юзает именно скалаз, а не котов?

Aleksei
29.12.2016
11:54:15
Grigory
29.12.2016
11:54:49
к слову, а кто юзает именно скалаз, а не котов?
косвенно в депенсях висят скалаз стримы поэтому скалазы ): + моноколь на скалазе; а сча цирк хочу использовать и надо что-то думать

Alex
29.12.2016
11:55:36
фс2 сыряк

Grigory
29.12.2016
11:55:37
неа, в планах миграция

но пкоа не пробовали даже

я не пробовал*

Alex
29.12.2016
11:56:00
скалаз-стримы пока что делают фс2 по перфомансу и стабильности

Grigory
29.12.2016
11:56:32
да пкоа вообще не горит) изза монокля скалаз в зависиостях тогда какая разница на данный момент

Alex
29.12.2016
11:56:50
я предпочитаю скалаз котам

мне кажется что коты пока тоже сыряк

Grigory
29.12.2016
11:57:34
я использовал котов когда цирк использовал; разницы не заметил)

Wystan
29.12.2016
12:17:37
Друзья, а если вам данные держать вне сервиса и там счетчики, то что вы используете? Постгрес редис или что-то в моде?

Google
Nikita
29.12.2016
12:19:55
Для простых вещей redis ок, если что-то посложней, то hazelcast / zookeeper

KrivdaTheTriewe
29.12.2016
12:19:56
постгря

Alexander
29.12.2016
13:05:22
А вот как вы считаете, у object oriented design есть будущее, или мы все так или иначе идём к чистым функциям и монадам? Вот я тут попробовал написать одну штуку в ОО стиле, а после пришёл к выводу что не могу грамотный дизайн в терминах ООП сделать, и с функциональщиной оно бы проще было.

Alex
29.12.2016
13:12:45
если под ооп понимать что то типа акторов, то применение есть

Alexander
29.12.2016
13:16:50
Ну я скорее про утвердившийся подход с классами и методами, вот этим всем.

D
29.12.2016
13:29:19
Ну я скорее про утвердившийся подход с классами и методами, вот этим всем.
я 4 года не писал, сейчас даже не представляю, зачем оно нужно

Aleksei
29.12.2016
13:31:00
ну вообще меньше классов - легче читать )

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

D
29.12.2016
13:33:13
печаль

блеск и нищета скалы, тащемта

Не, у нас тоже есть легаси проект, в котором часть кода написана с классами. Так вот, его никто не любит и никто не понимает до конца, как оно работает.

Aleksei
29.12.2016
13:36:43
ну а у нас еще знаете как его рефакторят? еще один слой абстракции сверху, и реально простые функции становятся нечитаемыми. рефакторить низя потому что "а вот после тебя придет другой ему не понравится и что опять переписывать?"

D
29.12.2016
13:37:32
мда

ну, я стараюсь при рефакторинге упрощать читабельность(она, конечно, у всех разная, но …) — короткие функции(желательно не больше 10 строк), реюз, паттернматчинг, где возможно

Aleksei
29.12.2016
13:43:01
ну если мне попадается кусок такой который надо переделать, то моя главная задача меньше вложенности и меньше кода

но не все придерживаются этого правила

в основном х--к х--к и в продакшон =)

Aleksei
29.12.2016
13:44:09
теперь сос только вжух вжух и остается писать =(

Google
Aleksei
29.12.2016
13:44:15
но вот у нас есть интерн китаец

он еб-т-ся улыбаться как рефакторит

я даже узнаю его код по первым строчкам

как когда то посты просвирина на глагне

D
29.12.2016
13:45:09
на глагне чего?

Aleksei
29.12.2016
13:45:26
лепры

D
29.12.2016
13:46:27
в смысле, пример какой-нибудь можно?

Admin
ERROR: S client not available

Aleksei
29.12.2016
13:50:45
сча попробую что нибудь найти/ уже наверное пару месяцев как нас разделили

классный класс?

=)

прямо учебник паттерны проектирования на яве

D
29.12.2016
13:55:01
мда

адок

Anton
29.12.2016
13:55:21
а чо… программирование на типах..

Vadim
29.12.2016
13:55:37
это то что делает китаец, или то с чем он борится?)

Aleksei
29.12.2016
13:55:53
это то что стало после него )))

есть несколько слоев которые накопились

и короче я просто не знаю что сказать

Google
Aleksei
29.12.2016
13:56:33
вот такие штуки после его рефакторингов, я стараюсь в этот код не лазить и смежные задачки сливать кому нибудь

Vadim
29.12.2016
13:57:08
а мягко объяснить на ревью, что друг не надо так, мы это не будем мержить -низя?)

Aleksei
29.12.2016
13:57:39
я не ревьюю (??) его код

это делает супер ведущий или сто

я картинку грохну в целях ну мало ли

D
29.12.2016
13:59:49
дада, все кому надо схоронили^Wпосмотрели :)

Andrey
29.12.2016
13:59:52
я картинку грохну в целях ну мало ли
Правильно, а то народ подумает, что это бест Практис ))

D
29.12.2016
13:59:57
ггг

Aleksei
29.12.2016
14:01:11
и вот мне как то дали баг, а там примерно 3-4 таких вот слоя фабрик провадеров =)

2 дня только код читал и разбирался что куда и зачем

D
29.12.2016
14:02:26
2 дня только код читал и разбирался что куда и зачем
я обычно, если код нечитабельный, начинаю его рефакторить в читабельный

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

Aleksei
29.12.2016
14:03:35
я обычно так делаю, там где мне никто не выскажет

а такие вот вещи во-первых трогать страшно

Alex
29.12.2016
14:03:57
Aleksei
29.12.2016
14:04:03
в памяти

Alex
29.12.2016
14:04:47
https://i.gyazo.com/0c6729c9239b6c31199692177fa66637.png

Alex
29.12.2016
14:05:24
а не заметил

Aleksei
29.12.2016
14:05:42
так красивше )

Страница 375 из 1499