
Denis
27.09.2018
00:25:02

Дмитрий
27.09.2018
00:28:36
Ушла епоха
Во второй версии завезли же
За что купил за то и продаю

Google

Дмитрий
27.09.2018
00:29:51
?
Говорят вот завезли

Denis
27.09.2018
00:47:59
Эррор хендлингом)

Bohdan
27.09.2018
05:43:38
ещё нет, только пропозал есть
правда, я не смотрел отношение к нему

illiatshurotshka❄️
27.09.2018
09:59:27
го 2 через пару лет выйдет только
но генерики там будут

F01134H
28.09.2018
11:43:12
Зачем некоторые сайты, имея в наличии SSL (защищающий от MITM атак), добавляют сверху еще и request signing?
ну т.е. ручную подпись запросов

Sergey
28.09.2018
11:45:23
за тем же зачем делают ssl pining. дабы уберечь пользователя от MITM атак при подмене рутового сертификата.

F01134H
28.09.2018
11:45:55
думаешь?

Sergey
28.09.2018
11:46:15
хз, просто полагаю что причины те же зачем стоит заморачиваться по ssl pining
потому что просто ssl недостаточно

Google

Sergey
28.09.2018
11:47:14
https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning#Patient_0

F01134H
28.09.2018
11:48:40
понял, спасибо)

Andrey
28.09.2018
12:16:13
здесь может больше защита от CSRF?

Yury
28.09.2018
12:20:53
Тут челу советовали использовать Visitor для решения его проблемы. Но не нарушает ли он принцип SRP? Чувак сомневался как раз в том чтобы помещать условный метод draw() в условный Shape. Да draw проксируется к Drawer. Но название draw которое не относится к Shape все равно остается. + Добавляется лишняя путаница, теряется читабельность имхо. Особенно если нет приписки Visitor у имени объекта.
Поясните плиз.

Роман
28.09.2018
12:22:30

Sergey
28.09.2018
12:23:42
хотя можно и так
поскольку там все про делигирование

Yury
28.09.2018
12:27:30

Sergey
28.09.2018
12:27:58
нет, ты ж не знаешь как оно что будет делать.
ну во всяком случае на абстрактных примерах это сложно, суть в том что источник изменений у модуля должен быть один (а источник изменений - это люди и их требования)

Yury
28.09.2018
12:30:50
У меня просто в моей задаче получается так, что в одном объекте помимо его собственных методов с логикой - нужно еще несколько таких делегирований. И получается мешанина из имен.

Роман
28.09.2018
12:31:18
Я не думаю что в контексте визитера мы можем говорить о делегирование. По сути, мы не имеем чёткой операции, а только прописываем кто нас будет обрабатывать

Yury
28.09.2018
12:33:03

Роман
28.09.2018
12:33:23
Я по другому пути решил пойти

Yury
28.09.2018
12:36:05

Роман
28.09.2018
12:41:30
Shape{
AcceptVisitor(IVisitor visitor);
}
Circle is a Shape
{
AcceptVisitor(IVisitor visitor){
visitor.AcceptCircle(this);
}
}
Drawer is a IVisitor{
AcceptCircle(Circle circle);
AcceptSquare(Square square);
}

Google

Роман
28.09.2018
12:43:51
Shape s = new Circle();
s.AcceptVisitor(new ConsoleDrawer());
s.AcceptVisitor(new CanvasDrawer());
s.AcceptVisitor(new AreaCompute());
Есть здравая заметка (не моя):
"Паттерн Visitor позволяет сделать универсальный обход структуры. Он становится полезен, когда мы имеем не один объект из семейства, а структуру из множества объектов. Например, внутри треугольника могут лежать квадраты, в которых есть другие треугольники. А у вас Visitor знает только то, как работать с одним треугольником и с одним квадратом. То, как они друг в друга входят, посетитель не знает. Как только Visitor обработал одну фигуру, управление передается в метод accept, а там уже наш Visitor получит для обработки следующую фигуру."

Andrew
28.09.2018
17:58:27
Наследование или композиция?

Гена
28.09.2018
18:11:38

Sergey
28.09.2018
18:12:05
Смотря для чего?
ты так говориишь как будтно можешь придумать ситуацию где наследование лучше)
я не говорю что их нет - но я с такими ситуациями не сталкивался

f4rt~
28.09.2018
18:12:55

Sergey
28.09.2018
18:13:16
всегда можно насрать в митингруме
зачем к наследованию прибегать то)

Гена
28.09.2018
18:13:37

f4rt~
28.09.2018
18:14:08

Sergey
28.09.2018
18:14:29

f4rt~
28.09.2018
18:14:48
шах и мат
а Макс отсюда ливнул да, он вроде говорил что у него саги от абстрактного класса наследуются

Sergey
28.09.2018
18:15:03
то есть для тебя наследование - это вариант жесткой связи - и ты считаешь что это хорошо. Я так не считаю, в этом и различие

Гена
28.09.2018
18:16:19
Это мое субъективное мнение, если логика классов наследников проста и сам родитель прост как три копейки считаю можно наследование использовать, ещё аргумент, наследование понимает больший процент новичков

f4rt~
28.09.2018
18:16:26
ну тогда точно шах и мат)

Sergey
28.09.2018
18:16:45

Гена
28.09.2018
18:16:58
Разное поведение

Sergey
28.09.2018
18:16:59
можно ж просто все в один класс запихнуть. раз уж там все протсо

Google

Sergey
28.09.2018
18:17:14
контракт один?

Гена
28.09.2018
18:17:36
Один

Sergey
28.09.2018
18:17:39
и что будет у тебя в общем классе - зачем он?
и да - в контексте какого языка мы сейчас обсуждаем?

Гена
28.09.2018
18:20:02
Конструктор и базовые методы, которые общие для наследников, иногда в зависимости от инстанса можно выше менять поведение instaceof, для этого нужны как раз несколько наследников
5.6

Sergey
28.09.2018
18:20:14

Гена
28.09.2018
18:20:48

Sergey
28.09.2018
18:21:18
Ну может он не понимает)
и считает себя новичком)

Гена
28.09.2018
18:21:22
Мой начальник не знает как работает трейт

Sergey
28.09.2018
18:21:28
значит не будет юзать это говно

Гена
28.09.2018
18:22:47
В общем новичкам проще разобраться с наследником чем с отдельным классом, который оборачивает его

Sergey
28.09.2018
18:23:24

Гена
28.09.2018
18:23:45
Нет

Sergey
28.09.2018
18:23:56
потому что по началу оно просто а потом вылазят в коде всякие if ($foo instanceof Foo) {

Google

Гена
28.09.2018
18:24:40
Где