
Bohdan
20.06.2018
14:21:22

Sergey
20.06.2018
14:21:25
что жирный свитч с instanceof что роутер

Bohdan
20.06.2018
14:21:30
просто логика была бы вынесена чуть выше

Maksim
20.06.2018
14:22:45
что жирный свитч с instanceof что роутер
только в случае с роутером ты не завязываешья на тип события.
но тут ещё накладывается немного моя испорченная картина происходящего. У меня события - тупые DTOшки. И нехер им знать, как их там обрабатывать будут. Никаких маркеров нет

Google

Maksim
20.06.2018
14:23:08
точнее, ты не завязываешь события на типы, во

Bohdan
20.06.2018
14:23:18
кстати, в контексте instanceof - маркерные интерфейсы это ок или не ок?

Sergey
20.06.2018
14:23:25

Bohdan
20.06.2018
14:23:27
пустые, необходимые только для проверки

Maksim
20.06.2018
14:23:58

Sergey
20.06.2018
14:24:22

Bohdan
20.06.2018
14:25:37
окей, давайте еще дополнение
некоторые события нужно сохранять в базу (они важны для юзера)
допустим, будет это делаться командой (saveEvent etc)
кто должен решать, какое событие сохранить, а какое нет?
я могу сделать это в мидлваре шины, которая уже решит это (тем же instanceof или проверкой по методу)
а могу вручную подписаться на все ивенты, которые должны быть сохранены

Maksim
20.06.2018
14:26:02
чёт жуткое ты там мутишь

Bohdan
20.06.2018
14:26:12
сам боюсь

Maksim
20.06.2018
14:26:23
если события важны для юзера, то тебе в сторону es. ну или аудита какого

Bohdan
20.06.2018
14:26:25
тип есть событие в коде и есть событие в бизнес-логике
не, es там не сдался
аудит - да, это ближе, но мне пока что (!) проще ручками говорить "эй, тут чет произошло, сохрани-ка"

Maksim
20.06.2018
14:27:11
для чего сохранять?

Google

Bohdan
20.06.2018
14:27:35
чтобы потом показать юзеру / отдать zapier'у

Maksim
20.06.2018
14:27:36
делаешь подписчик для события onPasswordChanged и внутри него сохраняешь.

Bohdan
20.06.2018
14:27:49
а если таких событий 20?)
это собственно второй вариант

Maksim
20.06.2018
14:27:57
Опять-таки, эвент не должен знать, что его будут сохранять. Эт не его собачье дело

Bohdan
20.06.2018
14:28:13
подписчик, в нем все ивенты указаны и вуалябля
но блин, если их будет 20 гребаных штук...

Maksim
20.06.2018
14:28:35
можешь сделать вундерсабскрайбер, где подписаться на пачку событий

Bohdan
20.06.2018
14:28:39
это мне определенно не нравится
и именно об этом я тоже говорю)

Maksim
20.06.2018
14:28:56
я понимаю)
я бы сделал 20 отдельных

Bohdan
20.06.2018
14:29:49
я люблю писать много простого кода (аргумент резолверы), но не настолько же)

Maksim
20.06.2018
14:31:13
короче) у меня событие = class Abube implement EventMarker
у Сергей вон тож самое)
события в душе не знают, чё с ними дальше будет) и будет ли вообще) и это, имхо,единственный верный вариант)
а дальше уже в апликейшене твори любую сраную магию) роутер, имхо, лучше всего)
в роутере мапа, которая знает чё с свалившимся событием делать) и делат ли)

Bohdan
20.06.2018
14:36:53
ладно, ще думкаю ,спасибо

Sergey
20.06.2018
16:36:30
Мне удобно

Maksim
20.06.2018
16:38:29
но это такое.
хоть ямлом описывай

Google

F01134H
20.06.2018
17:16:10
Рэбят рэбят
короче, юзаю я prophet, создал стаб для своего класса, хочу заинжектить. Но проблема в том, что это объект типа ProphesyObject, т.е. не заинжектишь его
как быть
ну т.е. мне нужен стаб с переназначенными методами, но типа MyObject
это вообще возможно?)
ага, понял
->reveal() делает то что нужно

Andrew
20.06.2018
17:38:09

F01134H
20.06.2018
17:41:03
ну и ладно
мне бы с одним пока разобраться)

Vitaly
20.06.2018
19:56:14

Dmitry
20.06.2018
20:01:00
это уже называется не солью
так делают, но в общем смысла в этом не очень много

Valentin
20.06.2018
20:08:10
это имеется ввиду соль, которая подсовывается в bcrypt?
видел вариант, где, например, берут пароль, конкатенируют его с солью сгенериной и потом в bcrypt кидают
в этом случае же все достаточно секьюрно получается, если тот, кто украл пароль не знает алгоритм, который проводится перед хэшированием? или я ошибаюсь?
И ещё нельзя исходить только из того что "это работает если у хакера нет информации об алгоритме", в криптографии принято считать что у злоумышленника уже есть доступ к коду, и на основе этого надо думать как защищаться

Vitaly
20.06.2018
20:09:09

Dmitry
20.06.2018
20:09:18
ну вот выше сказали
в некоторых источниках это называется перцем (pepper)

Vitaly
20.06.2018
20:09:45
ну вроде чаще происходят случаи, что сливают именно базу, а не код
в общем тогда понятно, я просто подумал, что вдруг этот вариант тоже как-то перебирают

Dmitry
20.06.2018
20:12:23
https://stackoverflow.com/questions/16891729/best-practices-salting-peppering-passwords

Sergey
20.06.2018
20:35:25
для php best practice будет PASSWORD_DEFAULT

Google

Vitaly
20.06.2018
21:42:50
немного офтопа: есть те, кто пишет какие-нибудь заметки по каким-нибудь технологиям и пр.? Если есть, то где это делаете? Сделал простой самопис, чтобы можно было в маркдауне писать, но хотелось бы что-нибудь специально заточенное под это, чтобы удобный каталог, поиск и прочие фичи были

Chupa
20.06.2018
21:51:25
anki и не нужно будет ничего искать
хотя там что-то вроде категорий, теги есть

Bohdan
20.06.2018
21:56:45
я просто в trello пишу

Vitaly
20.06.2018
22:03:57

Bohdan
20.06.2018
22:05:03
ну, мне не очень удобно, но пока такого же доступного и относительно удобного не видел
workflowy ок, но платный, а бесплатного мне может быть мало
dynalist ещё
вообще хочу что - то вроде этой пары, но с напоминаниями и бесплатно хД

Admin
ERROR: S client not available

Vitaly
20.06.2018
22:07:05
workflowy тоже использую, но чисто для заметок и списков, очень удобен для этого
и он же и так бесплатный? или там какие-то килерфичи в платном?
я просто иногда пишу что-то вроде конспектов, чтобы более-менее глубоко разобраться в теме, с картиночками, схемами и тд

Bohdan
20.06.2018
22:10:37
конспекты - это можешь dynalist глянуть, там картинки вроде можно
но идея та же, вложенные списки

Vitaly
20.06.2018
22:11:32
у тебя больше 100 итемов в месяц? жестко)
а листы вроде как не особо нужны, мне вложенности хватает
ну да, это типа туду листа, а мне конспекты нужны

Bohdan
20.06.2018
22:13:52
не, не обязательно тудушка
это вообще майндмап, они универсальные

Vitaly
20.06.2018
22:14:32
хм, ну посмотрю еще подробнее тогда, спасибо

Sergey
20.06.2018
22:20:58
а уже упомянули

Google

Bohdan
20.06.2018
22:21:30

Sergey
20.06.2018
22:21:47
ну я просто расстраиваюсь когда todo-ки веду
типа надобавлял и потом нотификашки приходят "просрочено"

Bohdan
20.06.2018
22:22:32
мне нужны и тудушки, и такое просто
пока тудушки в календаре, но какие - то они странные там

Vitaly
20.06.2018
22:30:30
кстати, если кому интересно, в ulysses можно в принципе попытаться писать

Sergey
20.06.2018
22:33:30
https://externals.io/message/102333

Dmitry
20.06.2018
22:38:42

Sergey
20.06.2018
22:38:52
но вообще хотя б соль не через uniqid генерить

Bohdan
20.06.2018
22:40:47

Dmitry
20.06.2018
22:43:19
uniqid коротковатую строчку дает, да

Bohdan
20.06.2018
22:45:28
а вот про parent тип не понял...
The parent type may be used in classes that do not have a parent, consistent with parameter and return type declarations.

Dmitry
20.06.2018
22:47:28
вот не уверен в профите типизированных свойств...

Bohdan
20.06.2018
22:49:04
избежать геттеров и сеттеров там, где их юзают только из - за типизации

Dmitry
20.06.2018
22:50:07
ну т.е. для говна всякого, я так и понял

Artem
20.06.2018
23:17:20
шота много букав, надо будет завтра почитать
обычно rfc покороче

Maksim
21.06.2018
05:31:43
На вскидку из dto'шек мусор улетит без страха, да и в целом ничего плохого нету, как мне кажется.
Остаётся момент с рантаймом, но в целом мб и до него когда-нить доберутся)