Pull to refresh
1
0
Send message

gRPC некорректно сравнивать с REST, потому что первое - протокол и фреймфорк для него, а второе - паттерн/методология. Мы же не сравниваем что лучше, ехать на автомобиле и ехать быстро. Можно легко имплементировать REST API при помощи gRPC в абсолютно строгом смысле.

Сравнивать нужно либо RPC vs REST (две методологии), либо gRPC и (чистый) HTTP (два протокола).

RPC (методолгия), если прикинуть в терминах теории множеств, - это надмножество REST. Рисуем кружочек с RPC, и кружочек с REST полностью содержится в нем и не выпирает. В RPC можно творить что угодно (это и плюс и минус), а в REST у вас система ограничений. RPC - это любые глаголы (verbs), REST - это четыре глагола. RPC - это хоть про ресурсы, хоть про операции, REST - только про уникально-идентефицируцемые ресуры (если придерживаться строгой формулировки). RPC - это хоть с состоянием, хоть без, REST - только без состояния. RPC - это любые типа/бинарка, REST - это известные типы. RPC - это любая семантика связей между чем-угодно, REST - линки между ресурсами. То есть здесь немного неочевидно ставить слово "или" ("vs.") между ними, вы можете иметь протокол, который принадлежит и REST и RPC, хотя традиционно так никто не думает. Кстати, "запихуивание" операций и состояния в REST API забирает у нас право называться REST API, если строго. Этим вообще грешит больше половины "REST" API. Обнаружили аля /operations/start - все, это не REST. RPC - это про делать (что угодно и как угодно), REST - про хранить и изменять ресурсы в системе ограничений.

gRPC vs. HTTP, тут уже надо смотреть что именно мы сравниваем. gRPC (протокол) это и transport-agnostic, и бинарка, и в обе стороны, и стриминг. Кроме того, он умеет летать поверх HTTP (что опять же делает слово "или" неуместным, можно иметь и HTTP и gRPC одновременно). gRPC (фреймфорк) - это contract-first, код-генерация, кросс-платформенность. А HTTP - вообще не фреймворк.

Я зумаю автор имел ввиду точку с запятой вместо переноса строки.

На макоси окна приложения не смешаны как в винде в один линейный набор, а являются дочерними к приложению. Привычный cmd+tab прыгает по приложениям, а не окнам (потому бывает можно переключиться на приложение без окон и оказаться как бы «нигде»). А вот уже при переключении на приложение вы можете перебирать его окна. На это тоже есть отдельный хоткей, не помню какой, у меня cmd+alt+tab. Как только вы интернализуете эту разницу, навигация по окнам станет простой. Сперва решил какое приложение, потом какое из его окон. В винде как раз обратная проблема иногда бывает, хотелось бы с клавиатура иерархически ходить, но alt+tab на это плевал, все вместе смешал и вам остается только прикреплять приложения к таскбару, запоминать номера позиций и жать win+1, win+2 и т.д.

Хотел написать такой же комментарий, но увидел ваш. Сцена дейстительно, помимо (спорно) искуственных привязок света и прочих вещей к ней, по сути не отличается от префаба. В это смысле любой game object с дочерними game object-ами — это и есть сцена для них дочерних. Напрашивается вопрос — почему бы тогда не унифицировать. Вспоминается старый добрый Adobe Flash, где была концепция movieclip (эквивалент game object), library movieclip (эквивалент prefab) и scene (эквивалент scene). Но вперед был выпячен так называемый root/main movieclip (могу соврать на счет названия). То есть структура была та же, но напрямую со сценой никто не работал, в отличие от Unity, все происходило в корневом мувиклипе. Хотя и можно было параллельно корневому добавить ещзе мувиклипов в саму сцену. Но этим почти никто и никогда не пользовался, а некоторые и не знали, что такое есть. Кроме того сцена была ровно одна, нельзя было отгружать одну и подгружать другу. На этом языке разговаривали мувиклипы.
Перестал использоваться. Никто больше не говорит I am been to London.
Я думаю второе предложение автора комментария, на который вы ответили, про английский язык. Про спорность того, являются ли конструкции will / shall / going to действительно будущим временем. В плане смысла конечно являются. А в плане грамматики вы говорите буквально «я желаю завтра идти в парк». Что являются грамматически настоящим временем. В английском нет именно формы самого глагола, соответствующей русскому «куплю».
Прочитал ваш комментарий с удовольствием. Спасибо. Всё структурированнее, чем у меня. Я кстати не лингвист. А что, если в ваших примерах заменить страдательное причастие на «обычное» (не вспомнил, как оно называется). То есть:

Он уйден — Он ушедший
Он куплен — Он купивший
Он продан — Он продавший

Я так понимаю, в английском V3 означает и купленного и купившего? Или есть какой-то четкий исторический факт, который говорит что V3 (past participle) — соответствует только русскому страдательному причастию?
Резонно. Зачем ворошить историю, ведь сейчас уже to have перед глазами, и уступать to be обратно не планирует. Так же согласен про то, что не стоит заморачиваться над проецированием одного зыка на другой слишком сильно.
Скорее ваш второй вариант ближе. То есть речь про вас. У вас есть факт выгуливания (вами) пса. У вас есть факт нахождения (вами) ключа. Нам не найти хорошо звучащей эквивалентной конструкции на русском, потому что ее нет. Так же не воспринимайте мои изначальные «переводы» из топового комментария слишком буквально.
Ну вот думаю из-за как раз вымирания глагола to be, и выживания глагола to have как вспомогательных, не стоит переводить I have been как «я имею себя побывавшим» а стоит так, как было в оригинале «я есть побывавший». То есть глагол подменился, но смысл остался старый.

I have jumped (было раньше I am jumped) (еng.)
Ich bin gesprungen (нем.)
Я являюсь подпрыгнувшим (рус.)

То есть тут буквальность не помогает, а помогает чуточка истории.

PS: обожаю гибкость русского языка. Даешь каждому городу быть побыванным мной!
Есть совсем радикальные экстремисты, которые считают, что времени всего два: прошедшее и настоящее. И что будущего нет именно в плане формы слова. С will оно конечно-же по факту есть.

english.stackexchange.com/questions/429932/is-it-true-that-english-has-no-future-tense
Дельный вопрос! Тут нужно оговориться, что все мои примеры конечно не претендовали на точный перевод. Основной целью было показать что все эти тантры про «действие из прошлого, но еще не закончилось бла бла бла» — это крайне неинтуитивное объяснение, с которым не понятно что делать русскоговорящему человеку. В вашем первом примере действие все же совершаю я. То есть это что-то вроде «у меня есть выгулянность собаки». Тогда как второй пример «у меня есть выгулянная собака». То есть уже про собаку, а не меня. Криво, знаю.
Оно, дельное замечание! Я бы даже задумался, пес ли выгулянный, или я его выгулявший. Но здесь, лично для меня уже слегка размывается разница. Довольно сложно спроецировать это на современный русский точно, где мы не говорим вещи вроде «я владею выгулявшестью моего пса». Радостно видеть, что есть целые книги, где пытаются исправить это растиражированное непонимание. Спасибо!
Спасибо за статью.

Не совсем по отношению к статье, но по отношению к теме. Из моего личного опыта работы и жизни почти исключительно на английском уже больше 10 лет, и лингвисты скоере всего меня раскритикуют в пух и прах, существует целая теория заговора про все эти perfect времена, которые сбивает с толку нашего русскоговорящего брата. Все эти «началось в прошлом, но еще не закончилось» (как это вообще черт возьми применять на практике?), все эти «но результат уже виден сейчас», все эти отрезки на временной шкале с открытым правым краем, все эти слова маркеры типа just и already, все эти тантры о том, как «на самом деле» понять перфект, доминирующие туториалы, уроки и статьи, — забывают одну простую вещь. В русском языке есть вполне себе эквивалентный, и вполне себе почти индентично устроенный перфект.

I have = у меня (есть) + walked (выгуляно) + my dog (мой пес).
I have walked my dog = у меня мой пес выгулян.

То есть нет никакого прошло с релятивистскими эффектами на временной шкале на опережение, и вот этим вот всем. Это буквально означает то, что написано: у меня есть выгулянный пес. Сейчас, в настоящем. И глагол have внезапно не особо вспомогательный, а обычный. Так, мы часто говорим «у меня все еще ничего не сделано» (I still haven't done anything).

Посмотрим на другие времена.

I had walked my dog.
У меня был выгулян мой пес.

I will have walked my dog.
У меня будет выгулян пес. На самом деле will означает желать, так что совсем уж упоротое дословное значение: я желаю иметь моего пса выгулянным.

Хитрее становится, когда перфект использует глаголы движения, смены состояния, сам глагол to be и глагол to become. В английском постарее, который германиский (и в немецком это осталось и сейчас), вспомогательный глагол для таких глаголов был to be, а не to have. Фразы вроде:

I have been to London выглядели как I am been to London.
Ich bin in London gewesen. (нем.)
Я являюсь бувавшим в Лондоне.

Эти глаголы исторически схлопнулись в to have, хотя артефакты остаются в разных выражениях вроде he is gone (а не he has gone) или помрачнее I am become death (вместо I have become death).

Это все конечно не означает, что нужно переводить перфекты такими монстрами как «я владею выгуливанием моего пса». Переводы, как раз, проецируют эти перфекты на более богоугодные русские времена. Но не нужно забывать, именно в плане глубокого понимания, что present perfect это в первую очередь таки present, а уже потом perfect.

В разных северорусских говорах, Википедия нам в помощь, кстати есть вполне официальные перфекты типа «он был пришел» (he had (was) come).

В русском еще и рудиментарно артикли прячутся, и определенные и неопределенные. Но это уже другое.

Information

Rating
Does not participate
Registered
Activity