
Enterpise
28.03.2018
09:02:38

Like
28.03.2018
09:14:25

Pavel
28.03.2018
09:14:50
блять хорош троллить

Артур Евгеньевич
28.03.2018
09:17:41
php это наше солнышко

Google

Mykola
28.03.2018
09:20:33
ой, что-то хорошее было
и пропало)
я вчера до 4 утра уснуть не мог, думал о том какой пхп хороший язык

Bohdan
28.03.2018
09:21:28
не придумал и расстроился?

Sergey
28.03.2018
09:21:44

Enterpise
28.03.2018
09:21:49
php это наше солнышко
быдлокодить на по на пе - это все равно что входить без защиты в татуированную прокуренную работнику склада

Bohdan
28.03.2018
09:22:01

Like
28.03.2018
09:22:36

Mykola
28.03.2018
09:22:51
я просто буду доклад скоро рассказывать, который "Функциональное программирование и пхп"

Like
28.03.2018
09:23:06

Sergey
28.03.2018
09:23:08

Mykola
28.03.2018
09:23:14
и вот, думаю как его правильно подать широкой аудитории, чтоб никого не обидеть
:)

Google

Pavel
28.03.2018
09:23:28

Артур Евгеньевич
28.03.2018
09:23:36

Mykola
28.03.2018
09:23:39
в одессе на CodeId

Sergey
28.03.2018
09:23:55

Mykola
28.03.2018
09:24:07
эм...

Pavel
28.03.2018
09:24:19
в монаду

Mykola
28.03.2018
09:24:26
доклад назфывается "ФП и ПХП", а не "ФП в ПХП"
что как-бы намекает)

Bohdan
28.03.2018
09:24:53
кружочек слева с подписью фп
кружочек справа с подписью пхп
между ними два метра пространства
все, доклад окончен
утрирую, конечно
при должном градусе извращенности можно и не такое делать

Moz
28.03.2018
09:26:28

Quantum Harmonizer
28.03.2018
09:26:29

Mykola
28.03.2018
09:27:33
сложно, кароч...
у меня уже есть этот доклад, но я хочу его переделать процентов на 50
убрать лямбда-исчисление
все равно никто не понимает)

F01134H
28.03.2018
09:30:53

Pavel
28.03.2018
09:32:02

Mykola
28.03.2018
09:32:18
не понимают ничего)
есть тут люди, которые понимают лямбда-исчисление?

Google

Quantum Harmonizer
28.03.2018
09:33:04

Mykola
28.03.2018
09:33:36

Aleh
28.03.2018
09:34:02

Quantum Harmonizer
28.03.2018
09:34:22
как и ООП это ваше
ООП и ФП более-менее понятны, а лямбда-исчисление кажется мне чисто математическим объяснением чего-то

andretshurotshka?❄️кде
28.03.2018
09:34:25

Mykola
28.03.2018
09:34:55

andretshurotshka?❄️кде
28.03.2018
09:35:14
окей(

Mykola
28.03.2018
09:35:40
ну вот :(

Like
28.03.2018
09:35:47

Aleh
28.03.2018
09:36:13
а тезис Чёрча?
Об эквивалентности лямбда-исчисления и тьюринг алгоритмов?

F01134H
28.03.2018
09:36:58

Mykola
28.03.2018
09:37:00
угу, и чрф

F01134H
28.03.2018
09:37:03
?♂️

Like
28.03.2018
09:37:18

F01134H
28.03.2018
09:38:02
но не все люди - программисты :D

Bohdan
28.03.2018
09:44:40
ребята, а я вот еще наброшу на типа-DDD тему
вот у меня наркоманско огранизован проект: папка Domain содержит в основном сущности и несколько разных VO и DTO (и старые комманд хендлеры и команды)
я сделал отдельно папку Application, в которую кладу новые комманд хендлеры (пока не решился с них свалить, но речь не об этом) и сервисы
идея такова: фреймворк дергает application level сервисы, которые имеют все зависимости в себе (симфони сервисы)
те в свою очередь дергают domain level сервисы, в которых зависимостей минимум (предоставляют максимально чистые и конкретные данные)
а application level сервис уже потом преобразует эти данные в то, что нужно фронту (ну или делегирует это соответствующим классам) и отдает в контроллер
сильно ли я наркоман? :D


Артур Евгеньевич
28.03.2018
09:52:07
> фреймворк дергает application level сервисы
Как понять фреймворк дергает? У меня это в Presentation слое(контролле по сути) вызывается
> а application level сервис уже потом преобразует эти данные в то, что нужно фронту
Тут тоже у меня преобразованием DTO от Application к пользователькому формату отвечает контроллер.
Ну а в целом ничего наркоманского я не вижу, я так понял это стандартная структура

Bohdan
28.03.2018
09:57:56
> У меня это в Presentation слое(контролле по сути) вызывается
да, вызывается в контроллере
> DTO от Application к пользователькому формату
хочу максимально разгрузить контроллеры
хотя в чем-то согласен, что это было бы более логично
просто для этого преобразования могут быть необходимы другие сервисы - не хочу тянуть их в контроллер

Alan
28.03.2018
10:07:14
а почему dto в domain ?

Bohdan
28.03.2018
10:10:32

Google

Adel
28.03.2018
10:20:19

Mykola
28.03.2018
10:22:06

Артур Евгеньевич
28.03.2018
10:25:18

Bohdan
28.03.2018
10:25:40

Alan
28.03.2018
10:39:40
будь мужиком рефактори и тестируй в продакшене ))

Bohdan
28.03.2018
10:46:09
я бы рад, но увольняться не хочу)

Sergey
28.03.2018
10:46:25

Bohdan
28.03.2018
10:46:42

Mykola
28.03.2018
10:48:22
сегодня в киеве митап по скале, будут рассказывать про CRDT и CATs

Bohdan
28.03.2018
10:49:04
окей, гугл, что такое crdt и cat

Mykola
28.03.2018
10:49:13
https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type
https://typelevel.org/cats/

Bohdan
28.03.2018
10:49:40
я уже) но спасибо)

Mykola
28.03.2018
10:51:18
первое - это как шардить данные, чтоб не было конфликтов при апдейте, решения на уровне типов данных
а второе - это эзотерические приёмы функционального карате, кокофункторы всякие с комонадами

andretshurotshka?❄️кде
28.03.2018
10:58:14
кококернелы

Bohdan
28.03.2018
10:58:27
хм, вот еще околофп вопросец
из видоса boundaries
вот по сути expired_users - это можно назвать типом

Google

Bohdan
28.03.2018
10:59:07
что, если подобные выборки/трансформации данных делать не императивно?
а через класс. в конструктор которого передаются исходные данные, а результат в итоге остается в этом классе

Mykola
28.03.2018
11:00:50
запахло idris'ом

Bohdan
28.03.2018
11:01:48
блин, надо хотя бы почитать про синтаксис хаскеля, чтобы хотя бы на базовом уровне понимать, вот из вот

Adel
28.03.2018
11:02:26
1.month.ago - это мне вот совсем не нравится :)

Bohdan
28.03.2018
11:02:27
из плюсов вижу хорошую проверку типов, более удобную (без лишних классов), нежели с императивным сервисом
ну то руби)

Mykola
28.03.2018
11:04:19
ну если копать глубоко, то это зависимые тайпклассы, на уровне языка хер где есть
руби далеко до такого
по этому я и упомянул идрис

Bohdan
28.03.2018
11:05:03
я чекнул, видел, что там такое упоминается, но сломал глаза на синтаксисе
он там дальше по видосу вообще на экторов это все переводит, но опять-таки речь не об этом

Mykola
28.03.2018
11:05:41
а что это за видос?

Bohdan
28.03.2018
11:05:47
https://www.destroyallsoftware.com/talks/boundaries
просто я не вижу негатива в таком варианте
ну разве что то, что это нельзя назвать ни DTO, ни VO
но я это как-то переживу :D
ну и красиво ложится на идею functional core, imperative shell из видоса (с поправкой на ее применимость в php)