
Артур Евгеньевич
27.06.2017
19:14:51
почему?

F01134H
27.06.2017
19:15:10

Сергей
27.06.2017
19:15:31
почему?
stateless, statefull оч часто слышу в двух сферах: реакт и server API

da horsie
27.06.2017
19:16:09

Google

da horsie
27.06.2017
19:16:35
только про "принимают объект и делают с ним что-то" не согласен

Артур Евгеньевич
27.06.2017
19:17:02
кстати я вот сегодня осознал что сервисы(у нас в проектк) это по сути тоже самое что группировка функций в саттические классы кк неймспейсы. Отличия только в том что их можно инджектить
так ли это на самом деле?

da horsie
27.06.2017
19:17:34
стейтлесс - это тебе пришел объект откуда-то и ты можешь его пользовать как будто ты один в системе.

Артур Евгеньевич
27.06.2017
19:17:34
"у нас в проекте" - имею ввиду сервисы ккак свалка оберток над репозиторием и чуть чуть более сложной логики

da horsie
27.06.2017
19:18:00
стейтфул - тебе пришел объект и ты не знаешь, с кем он еще за твоей спиной общается и как это влияет на его поведение

guga
27.06.2017
19:18:29

F01134H
27.06.2017
19:19:09
stateful — модель, при котором объект содержит информацию о своем состоянии, все методы работают в контексте его состояния. (идеологически ближе к обычному полниманию объекта в терминат ООП).
stateless — все методы объекта работают вне какого-либо контекста или локального состояния объекта, которого в этом случае просто нет. (Используется для реентерабельных объектов, идеологически ближе к библиотеке независимых функций).

da horsie
27.06.2017
19:19:48

Mykola
27.06.2017
19:19:51
шо-то чатик по ооп скатился
всем вечер!

Артур Евгеньевич
27.06.2017
19:19:58

Google

Mykola
27.06.2017
19:20:35
вижу, зреет холивар

Артур Евгеньевич
27.06.2017
19:20:42

guga
27.06.2017
19:21:08

F01134H
27.06.2017
19:21:15
Реентерабельность Компьютерная программа в целом или её отдельная процедура называется реентера́бельной (от англ. reentrant — повторно входимый), если она разработана таким образом, что одна и та же копия инструкций программы в памяти может быть совместно использована несколькими пользователями или процессами.
т.е. php к примеру нереентерабелен

da horsie
27.06.2017
19:22:02

F01134H
27.06.2017
19:22:38

Mykola
27.06.2017
19:24:02
стейтлес - это такая фантастическая несуществующая штука, которая с некоторых ракурсов выглядит как будто контрольная по математике в сельской школе: писать можно только один раз, начисто, исправлять нельзя
но все равно двойка

Stepan
27.06.2017
19:24:17
а и еще по этому определению, PHP с Opcache каким то уже проходит ) Там же все хранится между запросами в оперативке.

F01134H
27.06.2017
19:28:00
парни, расскажите, как можно докатиться до такой жизни, что начинаешь юзать CQRS?

Mykola
27.06.2017
19:28:15
и микросервисы

F01134H
27.06.2017
19:28:29
мне просто интересно

Mykola
27.06.2017
19:29:16
ну просто заходишь в интернеты, там умные люди пишут: класная штука этот цкуэрэс

F01134H
27.06.2017
19:29:40
xD

Mykola
27.06.2017
19:29:46
и такой: о, нужно в продакшн

Max
27.06.2017
19:30:38

Mykola
27.06.2017
19:30:40
вот на конфу fwdays не так давно приезжали лиды из olx
поляки

Google

Mykola
27.06.2017
19:31:04
бухали сильно и жаловались: не помог им cqrs

Aleh
27.06.2017
19:31:26
просто не помог?

f4rt~
27.06.2017
19:31:46

F01134H
27.06.2017
19:31:49
ахах

Mykola
27.06.2017
19:31:49
хз, может и я)
Зееву Сураски? :)

f4rt~
27.06.2017
19:32:23
йеп

da horsie
27.06.2017
19:32:31
микросервисы это просто. была большая какаха - стало много маленьких слипшихся какашечек.

f4rt~
27.06.2017
19:32:40

F01134H
27.06.2017
19:32:53
xD

Max
27.06.2017
19:32:53
Ну и чтение данных всегда намного проще изменения состояния системы

Aleh
27.06.2017
19:33:12

Mykola
27.06.2017
19:33:27
не, никто не понял сути микросервисов

f4rt~
27.06.2017
19:33:45
и тот ржач что поднялся в зале)))

Mykola
27.06.2017
19:33:55
микросервисы - это когда у тебя команда из 100 человек, и ты устал

Like
27.06.2017
19:33:58

f4rt~
27.06.2017
19:34:11
https://www.youtube.com/watch?v=ly77wvz2Bjo&t=2s

Google

da horsie
27.06.2017
19:34:12

Like
27.06.2017
19:34:13
Монолит говно (нет)

Mykola
27.06.2017
19:34:19
просто берешь, делишь по 5-9 человек, и говоришь: делайте что хотите
вот тут начинаются микросервисы

Aleh
27.06.2017
19:34:34

Mykola
27.06.2017
19:34:42
да, спасибо за ссылку на мой доклад)

Like
27.06.2017
19:34:48

Mykola
27.06.2017
19:35:29
с микросервисов не так то просто уволиться... особенно если ты инфраструктуру делаешь
потому что интересно жутко
как их всех подружить

Admin
ERROR: S client not available

Mykola
27.06.2017
19:36:46
но вот конкретные микросервисы пилить - это такое...

f4rt~
27.06.2017
19:37:00

Mykola
27.06.2017
19:37:30
ну канеш, я хочу свой стартап
только я еще не закончил с апворком)

f4rt~
27.06.2017
19:37:58
с докером и continuous delivery ? :D

Mykola
27.06.2017
19:38:02
сначала нужно апворк допилить
дада
как раз докером занимаюсь, бгггг)

Stepan
27.06.2017
19:39:04
я кстати тоже всегда считал что докер, анзибл, тесты и CI/CD это херня для сектантов, а теперь тоже сектант )

Google

f4rt~
27.06.2017
19:39:23
гыгы добро пожаловать :D

Mykola
27.06.2017
19:39:52
а я все еще считаю, что не в тестах счастье

Like
27.06.2017
19:40:13

Mykola
27.06.2017
19:40:38
нене
ну вот простой жизненный пример

Stepan
27.06.2017
19:41:04
когда стареешь и все впадло то TDD оказывается крутой штукой )))

Mykola
27.06.2017
19:41:13
сделайте юнит тест вот такой функции:
function($x) { return $x; }

Stepan
27.06.2017
19:41:18
TDD + щепотка вуду программинга

Like
27.06.2017
19:41:22
Я без type hinting'a не пишу

Mykola
27.06.2017
19:41:50
ладно, отойду на полчаса

Aleh
27.06.2017
19:57:10

Сергей
27.06.2017
19:58:14

f4rt~
27.06.2017
19:58:37
а что тут юнит?

da horsie
27.06.2017
20:00:19

Nik
27.06.2017
20:04:34
Чдж

da horsie
27.06.2017
20:06:26
предположу по виду, что ты хочешь протестировать реализацию функции identity. хороший тест будет включать набор значений, как-то покрывающий допустимые типы/диапазоны входных параметров (включая boundary вроде MAX_INT, 0, '', [], {}) и проверяющие, что вход равен выходу
в чем подвох?

Mykola
27.06.2017
20:18:41
ну ты написал тест, и он проходит
а потом меняется реализация функции:
function ($x) { if (fool_moon()) return "Woooooooo"; else return $x; }
и тесты все равно проходят

andretshurotshka?❄️кде
27.06.2017
20:20:09
зачем писать тест на identity ?

Mykola
27.06.2017
20:20:12
потому что сегодня не полная луна)