Size: a a a

2020 March 28

AW

Alex Wells in PHP
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
Цикломатическая сложность (а также N-complexity) не просто так придумана - каждый цикл умножает величину
ну, да. Но без них же не обойдешься)
"декларативных иммютабл мапов" - пример приведи хотя б какой-то. Не понимаю как цикл может вдруг стать мапой.
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪ in PHP
Alex Wells
ну, да. Но без них же не обойдешься)
"декларативных иммютабл мапов" - пример приведи хотя б какой-то. Не понимаю как цикл может вдруг стать мапой.
источник

AW

Alex Wells in PHP
окей, а дальше?) С таким же успехом мог просто сказать "коллекции". Причем тут мапы? Или имеется в виду verb map, а не noun?
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪ in PHP
Alex Wells
окей, а дальше?) С таким же успехом мог просто сказать "коллекции". Причем тут мапы? Или имеется в виду verb map, а не noun?
Если конкретно по мап, то это функтор. Но массив может реализовать много других алгебраических типов. Многие из них реализованы в collect. (Те же полугруппы)
источник

AW

Alex Wells in PHP
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
Если конкретно по мап, то это функтор. Но массив может реализовать много других алгебраических типов. Многие из них реализованы в collect. (Те же полугруппы)
то есть verb. Мапы для меня в первую очередь это map<key, value>.

тогда возвращаюсь к тому, что я уже говорил
источник

AW

Alex Wells in PHP
Переслано от Alex Wells
Ну окей, но я не вижу причин не использовать циклы. Безусловно, если можно использовать готовое решение (как коллекции) - я так и сделаю, потому что это банально читабельней.

Но "рамки использования циклов" звучит как-то слишком строго, как будто их использование - что-то плохое. Они же вполне удобные и читабельные, почему нет?
источник

AW

Alex Wells in PHP
можно использовать - пожалуйста, но можно/нужно не всегда
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪ in PHP
Alex Wells
то есть verb. Мапы для меня в первую очередь это map<key, value>.

тогда возвращаюсь к тому, что я уже говорил
Array - это лишь один пример реализации алгебраического типа функтора. Но мы можем map-ить и Pair, и Either, и конечно же, всеми любимый Maybe
источник

A

Aleksandr Khristenko in PHP
Alex Wells
а причем тут орм? лейзи всегда в выигрыше по скорости, как минимум потому что не итерирует то, что конечному пользователю может быть нахрен не нужно
Не бывает серебрянной пули. Но при этом идут аллокации, когда в случае конечного списка они могут быть необязательны.
источник

AW

Alex Wells in PHP
Aleksandr Khristenko
Не бывает серебрянной пули. Но при этом идут аллокации, когда в случае конечного списка они могут быть необязательны.
конечно, но если это настолько важно - то пхп это в принципе неправильный выбор.
источник

A

Aleksandr Khristenko in PHP
Alex Wells
ну, да. Но без них же не обойдешься)
"декларативных иммютабл мапов" - пример приведи хотя б какой-то. Не понимаю как цикл может вдруг стать мапой.
Любой цикл можно представить в виде рекурсии. Любую мутацию в таком виде можно представить как иммутабельные данные которые по которым на каждом шаге делается новые данные и прокидываются в следующую итерацию функции.
источник

A

Aleksandr Khristenko in PHP
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
Array - это лишь один пример реализации алгебраического типа функтора. Но мы можем map-ить и Pair, и Either, и конечно же, всеми любимый Maybe
В том-же хаскеле, кстати, map по Pair довольно антиинтуитивный.
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪ in PHP
Aleksandr Khristenko
Любой цикл можно представить в виде рекурсии. Любую мутацию в таком виде можно представить как иммутабельные данные которые по которым на каждом шаге делается новые данные и прокидываются в следующую итерацию функции.
Жаль, только в пхп нету хвостовой оптимизации с трамплинами в рекурсии (в жабаскрипте тоже нет - я проверял) - поэтому и циклимся вместо использования рекурсий
источник

AM

Artem Molotov in PHP
Переслано от Artem Molotov
Об одной уязвимости в… / Комментарии / Хабр
https://habr.com/ru/company/mailru/blog/493920/
источник

AM

Artem Molotov in PHP
Переслано от Artem Molotov
Смотрите нет ли у вас этого бага
источник

КГ

Константин Грачев in PHP
Kirill Nesmeyanov
для xdebug
А для какого кейса?
Я вспоминаю про шаманства с ip только когда нужно руками внутри контейнера что-то запустить, но такие кейсы крайне редкие.
Для запросов из браузера через connectback отлично работает.
А самый частый кейс это запуск phpunit через шторм, которому этот ip тоже не нужен
источник

EL

Eugene Leonovich in PHP
Константин Грачев
А для какого кейса?
Я вспоминаю про шаманства с ip только когда нужно руками внутри контейнера что-то запустить, но такие кейсы крайне редкие.
Для запросов из браузера через connectback отлично работает.
А самый частый кейс это запуск phpunit через шторм, которому этот ip тоже не нужен
Я подозреваю для дебага cli
источник

КГ

Константин Грачев in PHP
Eugene Leonovich
Я подозреваю для дебага cli
cli не покрывается тестами?
источник

EL

Eugene Leonovich in PHP
Константин Грачев
cli не покрывается тестами?
Причем тут тесты к дебагу?
источник

КГ

Константин Грачев in PHP
Dmitry MiksIr
в смысле? ты этот скрипт ставишь как entry point контейнера с php и xdebug на host.docker.internal  ... зачем постоянный ip то
Меня тут охуительная идея осенила как обойтись без энтрипоинта) https://github.com/automagistre/automagistre/commit/09e714cacba42965c33549175fff6a2caae2f79c
источник