Как стать автором
Обновить
23
0
Dmitry Khomutov @Corpsee

Web-разработчик

Отправить сообщение

Update: в restic завезли компрессию в версии 0.14.0.

Если API сервиса не заявляется как REST, то нет никакой проблемы в том что сервис отвечает 200 и кладет ошибку в error. 200 - это статус транпортного уровня, а ошибка возникает на уровне сервиса. Так что зависит от контракта, "интересное" решение или нет.

Про пирамиду согласен.

В теории всё так, а на практике не совсем так. На практике контракт подразумевает не только очевидные части (декларация функций и API), но и всякие неявные части (порядок вызовов, выбрасываемые исключения и т.д.), которые формально никак не описаны, но влияют на работу системы.

И хрупкость и проблема интеграционных тестов заключается в том, что после массивного рефакторинга, формально контракт может остаться соблюден, но тесты при этом будут падать.

И в случае модульных тестов, если они написаны как нормальныен модульные тесты и падают при рефакторинге, найти причину очень просто, как правило, и исправить можно очень быстро. В случае же интеграционных тестов, причину искать можно долго, особенно если в коде завелся какой-то мерцающий баг, который зависит от порядка вызовов, времени или состояния луны.

А отцам точно не нужно выстраивать рабочий график и при этом достаточное время общаться с детьми?
Ну поговорить с голосовым ассистентом конечно же тоже самое, что и с человеком) Никакой разницы)
Человек зато смысл речи распознает в бесконечное число раз лучше.
Не один, у меня та же история каждый раз.
Restic не умеет компрессию. Пруф: github.com/restic/restic/issues/21.
Ну формально это и в PHP не массивы) Я про динамические массивы писал к тому, что сравнивать нужно сравнимые вещи, а не те, которые удобно сравнивать.
Это верно. Двухсвязный список используется для итерации и сортировки, но так же есть и доступ к произвольному элементу по хэшу, что делает утверждение из статьи: «PHP и JavaScript массивы — это, по сути, слабо типизированные списки переменной длины.» мягко говоря неверным.
Статья откровенно плохая с кучей фактических ошибок и религиозных советов на тему: как автору больше нравится работать с массивами.

1. В C как и в подавляющем большинстве языков высокого уровня есть массивы переменной длины. Поэтому противопоставление массивов PHP/JS статическим массивам C выглядит мягко говоря странно.

2. Автор сам говорит, что массивы в PHP — это фактически такой специфический Hash Map, а потом зачем-то говорит, что они похожи на списки на основании того, что есть функции pop, push и подобные. И массивы и ассоциативные массивы, — это очевидно не списки и работают совершенно не как списки (Можно обратится к элементу по произвольному индексу/ключу без перебора элементов, как в списке).

3. Forech — это не улучшенная версия for для динамических языков, а более высокоуровневая конструкция для большенства практических применений for в этих языках. То есть это синтаксический сахар для частного случая for.

Жаль, что это перевод, потому что у меня есть задачка для автора: пройтись по массиву с шагом 3 элемента, не перебирая весь массив при этом с помощью foreach. Она по-моему наглядно показывает, что for не только более низкоуровневая конструкция, но и более гибкая и все еще полезная в ряде случаев почти что в любом языке.

Ну и выше в комментариях еще написано про ошибки.
Ну так озвучьте их)
Спасибо за очередной дайджест!
Чистая правда
Ну например при кэшировании или ленивой загрузке: пустой массив — это корректное значение, полученное откуда-то (из базы данных), а null — это указатель на то, что значение еще не запрашивали вовсе.
Там описана просто цепочка сеттеров (fluent interface). Это паттерн из мира ООП, ФП вообще не при чем. Не вводите людей в заблуждение.
Отсутствие массива и пустой массив — это, мягко говоря, совершенно разные вещи семантически.

Все, что вы описали (пустые массивы, 0 и т.д.), есть везде и эти значения можно использовать вместо null. По сути дела это null-объекты, у которых ограниченная сфера применения. Только иногда нужно сообщить, что массив неинициализирован совсем, а не то, что он пустой.

Информация

В рейтинге
Не участвует
Откуда
Новосибирск, Новосибирская обл., Россия
Зарегистрирован
Активность