Автожиры были и с приводом на несущий винт, для взлёта "прыжком". Например, Air & Space 18A или McCulloch J-2. Винт ставился нв нулевой угол атаки, разгонялся двигателем, затем угол атаки увеличивался и автожир взлетал за счёт набранных оборотов, сильно сокращая разбег.
Художник Василий Верещагин писал: «Я ездил два раза курьером (каретой военно-курьерской службы – ред.) в Туркестан, через Сибирь, один раз летом, другой – зимой, и оба раза езда была прямо бешеная; случалось делать по 400 верст в сутки». С другой стороны, писатель Николай Михайлович Ядринцев писал в те же годы: «Состояние дорог в Западной Сибири крайне неудовлетворительно. Местами дорога представляет вид… пашни, изрезанной продольными бороздами… приходится то подскакивать и биться теменем о верх тарантаса, то качаться из стороны в сторону… Станцию верст в тридцать приходится ехать часов 7-8».
А давайте посмотрим, что сам Филдинг говорил о кэшировании:
In order to improve network efficiency, we add cache constraints to form the client-cache-stateless-server style of Section 3.4.4 (Figure 5-4). Cache constraints require that the data within a response to a request be implicitly or explicitly labeled as cacheable or non-cacheable. If a response is cacheable, then a client cache is given the right to reuse that response data for later, equivalent requests. The advantage of adding cache constraints is that they have the potential to partially or completely eliminate some interactions, improving efficiency, scalability, and user-perceived performance by reducing the average latency of a series of interactions. The trade-off, however, is that a cache can decrease reliability if stale data within the cache differs significantly from the data that would have been obtained had the request been sent directly to the server.
То есть, в авторском варианте кэширование как раз отдавалось на откуп клиенту, сервер только сообщал, можно кэшировать эти данные или нет. Должен ли этим заниматься непосредственно клиент (WebSocket) или промежуточный транспортный слой в виде браузера (HTTP) - Филдинг не говорит. Так что никто не мешает в ответном сообщении WebSocket с представлением ресурса указывать возможность кэширования этого представления и/или срок кэширования. И это будет соответствовать REST.
Какое кэширование в асинхронном протоколе обмена сообщениями? Только если сами напишете. Но, в принципе, ничего невозможного нет. При запросе ресурса указываете версию того представления, которое у вас есть, и, если ничего не изменилось, то сервер так и ответит.
Но в WebSocket нет привычных HTTP-глаголов, и нет какого-то специально выделенного поля под ресурс. Сообщение WebSocket - это просто сообщение в произвольном формате и где что располагается - выбор разработчика. По поводу глагола - хорошо, поправим сообщение:
Пока это решение ВС РФ по конкретному делу - оно формально никак не влияет на другие дела. Чтобы изменения были глобальными, позиция ВС должна быть оформлена в постановление Пленума ВС.
И что означает сама по себе 403? Нет прав на работу с данным ресурсом вообще? Нет прав на конкретное действие с данным ресурсом, например DELETE? Нет прав на изменение элемента ресурса, например PATCH конкретного поля?
в теле делаю 2 поля: error_code, error_description
То есть получается, что использование HTTP-статусов это не самый лучший подход.
а могу включить этот вопрос в одну из следующих статей
Давайте, думаю не мне одному будут интересны варианты решения такой задачи.
И сразу, как думаете, вот такой запрос JSON-RPC, отправленный через WebSocket можно считать REST или нет?
Стандартные вопросы: HTTP - транспорт для REST или его неотъемлемая часть? Что делать, если HTTP-статусов не хватает? Как различить по ошибке 404 отсутствие конкретного ресурса (ошибка уровня приложения) и отсутствие обработчика API (ошибка уровня транспорта)? Добавлять информацию в ответ? Но зачем тогда вообще использовать HTTP-статусы? Что делать если HTTP-глаголов не хватает? Создавать псевдоресурсы? Что делать, если нужен REST over WebSocket? Там нет ни глаголов, ни статусов, ни синхронных ответов.
А в истории вообще мало доказательств. И чем древнее эта история, тем доказательств меньше. Однако, вам никто не мешает изучить те же материалы и артефакты и выдвинуть свою гипотезу.
А какой может быть механизм возникновения в античном приморском городе вытянутой области, заполненной скелетами людей из разных народов вперемешку? При этом состояние костей и характер травм говорят о крайне тяжёлой работе гребцом без возможности получить помощь даже при переломах. Нашли даже ложный сустав на одном из рёбер, то есть во время заживления перелома ребро постоянно активно двигалось и вместо срастания кости обломанные концы просто зажили независимо и притёрлись друг к другу.
В эпоху античности - это высокооплачиваемый наёмный специалист с долей в добыче и перспективами.
Далеко не всегда. У Дробышевского есть лекция "Гребцы Боспора — жизнь и смерть на античной галере", где он рассказывает о найденной в Керчи свалке рабов-гребцов (не захоронении, их просто сваливали в канаву) времён Боспорского царства.
Смотря какая точка. Если используется только в схемах входа/выхода, то уберут. Если маршрутная, то оставят, разве что минимальную безопасную высоту поменяют.
и "попал" с расстояния в несколько тысяч км в нужное место
Или не попал, поскольку течение, и ветер дают боковой снос. Мимо материка промахнуться сложно, но чтобы прямо в нужное место - на межконтинентальном маршруте вряд ли так просто получится. А плавали, всё таки, несколько более сложными маршрутами, чтобы попасть в зону попутных ветров и течений.
Поддержу. Кратчайшая линия на сфере (ортодромия) - дуга большого круга. И она, в общем случае, вовсе не отображается в прямую на привычной карте в проекции Меркатора. Частные случаи, когда кратчайшая траектория выглядит прямой, - экватор или меридиан. Скажем, перелёт Москва-Хабаровск по ортодромии - 6160 км. Он же, но по прямой на карте - 6700 км.
clone был и раньше. Сейчас его расширили, добавив второй параметр - ассоциативный массив со свойствами, которые будут изменены в копии. Это позволяет менять readonly-свойства при копировании.
Если изменится сигнатура вызова, например, то у вас хоть вызов через пайп, хоть прямой, всё равно дадут ошибку. Ну или приведите пример обратного. Только потрудитесь свои примеры проверять, а не от балды их писать, как в статье.
Вот только узнавать всё лучше в официальной документации. А тут все примеры нерабочие, в вызове функций должен стоять spread-оператор.
$ php -r '$size = "Welcome to PHP!" |> strlen(); print $size;'
PHP Fatal error: Uncaught ArgumentCountError: strlen() expects exactly 1 argument, 0 given in Command line code:1
$ php -r '$size = "Welcome to PHP!" |> strlen(...); print $size;'
15
Ну и якобы ошибки: 1, 3, 4 - пропущен spread. Если его поставить, то всё работает без дополнительного оборачивания в лямбду; 2 - у preg_match два обязательных аргумента, а в пайпе разрешены только функции с одним обязательным аргументом.
Автожиры были и с приводом на несущий винт, для взлёта "прыжком". Например, Air & Space 18A или McCulloch J-2. Винт ставился нв нулевой угол атаки, разгонялся двигателем, затем угол атаки увеличивался и автожир взлетал за счёт набранных оборотов, сильно сокращая разбег.
Художник Василий Верещагин писал: «Я ездил два раза курьером (каретой военно-курьерской службы – ред.) в Туркестан, через Сибирь, один раз летом, другой – зимой, и оба раза езда была прямо бешеная; случалось делать по 400 верст в сутки».
С другой стороны, писатель Николай Михайлович Ядринцев писал в те же годы: «Состояние дорог в Западной Сибири крайне неудовлетворительно. Местами дорога представляет вид… пашни, изрезанной продольными бороздами… приходится то подскакивать и биться теменем о верх тарантаса, то качаться из стороны в сторону… Станцию верст в тридцать приходится ехать часов 7-8».
Писать рапорт руководству и просить разъяснений.
А давайте посмотрим, что сам Филдинг говорил о кэшировании:
То есть, в авторском варианте кэширование как раз отдавалось на откуп клиенту, сервер только сообщал, можно кэшировать эти данные или нет. Должен ли этим заниматься непосредственно клиент (WebSocket) или промежуточный транспортный слой в виде браузера (HTTP) - Филдинг не говорит. Так что никто не мешает в ответном сообщении WebSocket с представлением ресурса указывать возможность кэширования этого представления и/или срок кэширования. И это будет соответствовать REST.
Какое кэширование в асинхронном протоколе обмена сообщениями? Только если сами напишете. Но, в принципе, ничего невозможного нет. При запросе ресурса указываете версию того представления, которое у вас есть, и, если ничего не изменилось, то сервер так и ответит.
А потом код для входа в госуслуги приходит исключительно в макс.
Но в WebSocket нет привычных HTTP-глаголов, и нет какого-то специально выделенного поля под ресурс. Сообщение WebSocket - это просто сообщение в произвольном формате и где что располагается - выбор разработчика.
По поводу глагола - хорошо, поправим сообщение:
Теперь это REST?
Пока это решение ВС РФ по конкретному делу - оно формально никак не влияет на другие дела. Чтобы изменения были глобальными, позиция ВС должна быть оформлена в постановление Пленума ВС.
И что означает сама по себе 403? Нет прав на работу с данным ресурсом вообще? Нет прав на конкретное действие с данным ресурсом, например DELETE? Нет прав на изменение элемента ресурса, например PATCH конкретного поля?
То есть получается, что использование HTTP-статусов это не самый лучший подход.
Давайте, думаю не мне одному будут интересны варианты решения такой задачи.
И сразу, как думаете, вот такой запрос JSON-RPC, отправленный через WebSocket можно считать REST или нет?
Стандартные вопросы:
HTTP - транспорт для REST или его неотъемлемая часть?
Что делать, если HTTP-статусов не хватает? Как различить по ошибке 404 отсутствие конкретного ресурса (ошибка уровня приложения) и отсутствие обработчика API (ошибка уровня транспорта)? Добавлять информацию в ответ? Но зачем тогда вообще использовать HTTP-статусы?
Что делать если HTTP-глаголов не хватает? Создавать псевдоресурсы?
Что делать, если нужен REST over WebSocket? Там нет ни глаголов, ни статусов, ни синхронных ответов.
А в истории вообще мало доказательств. И чем древнее эта история, тем доказательств меньше. Однако, вам никто не мешает изучить те же материалы и артефакты и выдвинуть свою гипотезу.
А какой может быть механизм возникновения в античном приморском городе вытянутой области, заполненной скелетами людей из разных народов вперемешку? При этом состояние костей и характер травм говорят о крайне тяжёлой работе гребцом без возможности получить помощь даже при переломах. Нашли даже ложный сустав на одном из рёбер, то есть во время заживления перелома ребро постоянно активно двигалось и вместо срастания кости обломанные концы просто зажили независимо и притёрлись друг к другу.
Далеко не всегда. У Дробышевского есть лекция "Гребцы Боспора — жизнь и смерть на античной галере", где он рассказывает о найденной в Керчи свалке рабов-гребцов (не захоронении, их просто сваливали в канаву) времён Боспорского царства.
Смотря какая точка. Если используется только в схемах входа/выхода, то уберут. Если маршрутная, то оставят, разве что минимальную безопасную высоту поменяют.
Или не попал, поскольку течение, и ветер дают боковой снос. Мимо материка промахнуться сложно, но чтобы прямо в нужное место - на межконтинентальном маршруте вряд ли так просто получится.
А плавали, всё таки, несколько более сложными маршрутами, чтобы попасть в зону попутных ветров и течений.
Поддержу.
Кратчайшая линия на сфере (ортодромия) - дуга большого круга. И она, в общем случае, вовсе не отображается в прямую на привычной карте в проекции Меркатора. Частные случаи, когда кратчайшая траектория выглядит прямой, - экватор или меридиан.
Скажем, перелёт Москва-Хабаровск по ортодромии - 6160 км. Он же, но по прямой на карте - 6700 км.
clone был и раньше. Сейчас его расширили, добавив второй параметр - ассоциативный массив со свойствами, которые будут изменены в копии. Это позволяет менять readonly-свойства при копировании.
Тут вся статья кривая. Если сделать как полагается, то всё работает без лямбд,
Если изменится сигнатура вызова, например, то у вас хоть вызов через пайп, хоть прямой, всё равно дадут ошибку. Ну или приведите пример обратного. Только потрудитесь свои примеры проверять, а не от балды их писать, как в статье.
Вот только узнавать всё лучше в официальной документации.
А тут все примеры нерабочие, в вызове функций должен стоять spread-оператор.
Ну и якобы ошибки:
1, 3, 4 - пропущен spread. Если его поставить, то всё работает без дополнительного оборачивания в лямбду;
2 - у preg_match два обязательных аргумента, а в пайпе разрешены только функции с одним обязательным аргументом.