В идеальном случае, клиент может вообще ничего не делать, сервер выполняет всю логику и отправляет на клиент уже просто готовые картинки. Так сделали, например, в стадии, или стим клауд, но у них чудовищные требования к пропускной способности и задержкам сети, не говоря уже про нагрузку на сервер.
Чтобы сэкономить трафик и, главное, избежать заеданий интерфейса при не идеальном коннекте, спекулятивно запускают часть логики на клиенте — клиенту просто говорят что юнит А атакует юнит Б, и он уже сам дальше высчитывает в какой момент времени включить анимацию меча у юнита А, а когда на юните Б нарисовать раны.
И вот тут интересно то, что можно конечно сделать два разных кода — один следит за правилами, а второй отображает ход игры. Но при достаточно сложных правилах игры, логика будет неизбежно разъезжаться — по правилам сервера юнит умер, а правила клиента не обновили, и анимация смерти не запустилась. И чтобы этого избежать, просто запускают один и тот же код и на сервере и на клиенте.
Я так понял, что игра у них не очень-то пошаговая. В том смысле, что другие игроки на твоём ходу не просто смотрят на чёрный экран, а в реальном времени видят, что ты делаешь (ну, в рамках механик, конечно)
Выскажу непопулярное мнение. Если уж говорить про рынок ИТ, где найти адекватного сотрудника — проблема, а найти работу можно за пару недель, то риски которые вы закрываете ТК не имеют особого значения. Можно легко попасть к менеджеру-самодуру, например, или утонуть в техдолге и выгореть так, что потом придётся долго лечиться вместо работы. Залипнуть на легаси проекте на много лет и отстать от трендов — легко, и нет такой статьи в ТК, которая от этого защитит. Ну и что, что на восьмой джаве пишем — зато зарплата «белая».
Организация кода по смыслу, конечно, удобней. Но это ж думать надо. Вот в вашем примере с отелем, логику рум-сервиса вы куда поместите, к номерам или к гостям? Раскладывать же дтошки к дтошкам, сервисы к сервисам — легко и понятно. Плюс, «стековая» организация поддерживает некоторые важные свойства архитектуры автоматически. Можно легко доказать, например, что дто не содержат логики, а запросы в базу не делаются из фронтенда. В семантической организации это тоже можно сделать, но понадобятся более продвинутые инструменты, а это опять же «надо думать»
Так есть же третья ОС, вот же она! Да, десктопный линукс кривоват в некоторых аспектах, но мы его за это и любим. И давайте смотреть правде в глаза, времена когда для настройки линукса нужно было PhD уже прошли (достаточно магистерской степени, кек)
Зачем ещё одна прилизанная винда в которой нельзя ковыряться в конфигах, а надо ставить галочки в гуе?
Ну вот же, вот прям тут в посте автор написал километр текста, рассказывая почему линукс не готов для бытового пользователя. Ваше заявление «нет же, готов» без каких-либо аргументов выглядит, так сказать, слабовато на этом фоне.
Как ОС для рабочей станции десктопный линукс очень ок. Ещё в нем можно развлекаться и экспериментировать. Предлагается потратить кучу ресурсов и разломать экосистему, сделать очередную винду, чтобы затащить в неё бабушек и детей. Не понятно только, какой от этого профит?
Вы забываете, что ∀х∈Х. Если в исходном утверждении не приведено определения Х, то автор всегда может сказать, что в вашем примере x1∉X. Что и произошло.
В расте «правила времени» заложены в основу языка. Си же не накладывает никаких ограничений, так что разработчики ядра линукс изобрели свои методы и правила. Мистер Хартман говорит, что успех раста в ядре линукс в основном зависит от того, как эти два подхода удастся подружить.
Знаете, у работы в офисе есть такая особенность, что жить надо где-то относительно недалеко. И внезапно оказывается, что в городках вокруг офисов богатых софтверных компаний налоги заметно выше, а жильё дороже. Можно, конечно, поселиться чуть подальше, скажем в двух часах езды, но принципиально это ничего не поменяет. А тут такая халява: жильё можно найти вдвое дешевле и ещё и лучше чем было, налогов платить в разы меньше и продолжать (примерно) так же работать как сейчас уже, вобщем-то, работаем. Чувство локтя и прочие радости несколько меркнут, а гугле в основном работают не дураки и прекрасно это понимают.
Я согласен, что есть немало людей, которым в офисе работается комфортнее чем дома, особенно сейчас, когда дом для работы не очень-то предназначен. Но если разрешат вот этот гибкий график, и если даже треть сотрудников разъедется в чудесные дома в деревнях, то работа из офиса тоже изменится: вы точно так же будете общаться с коллегами по видеосвязи, только из офиса. Где, напомню, жить дороже и не так комфортно. И вы тоже начнёте присматриваться к другим городам и штатам.
Руководство гугла тоже, в принципе, не дураки и прекрасно понимают, что полумерами тут не обойтись. Надо или всех загонять обратно в офисы, или всех отпускать на удаленку.
Метрики эти собирают, конечно, но даже внутри компании почему-то не публикуют. Только говорят что вот, мы тут результаты посмотрели, решили что надо возвращаться. Неформальные опросы показывают, что народ удаленку распробовал и возвращаться не очень-то и хочет.
В идеальном случае, клиент может вообще ничего не делать, сервер выполняет всю логику и отправляет на клиент уже просто готовые картинки. Так сделали, например, в стадии, или стим клауд, но у них чудовищные требования к пропускной способности и задержкам сети, не говоря уже про нагрузку на сервер.
Чтобы сэкономить трафик и, главное, избежать заеданий интерфейса при не идеальном коннекте, спекулятивно запускают часть логики на клиенте — клиенту просто говорят что юнит А атакует юнит Б, и он уже сам дальше высчитывает в какой момент времени включить анимацию меча у юнита А, а когда на юните Б нарисовать раны.
И вот тут интересно то, что можно конечно сделать два разных кода — один следит за правилами, а второй отображает ход игры. Но при достаточно сложных правилах игры, логика будет неизбежно разъезжаться — по правилам сервера юнит умер, а правила клиента не обновили, и анимация смерти не запустилась. И чтобы этого избежать, просто запускают один и тот же код и на сервере и на клиенте.
Я так понял, что игра у них не очень-то пошаговая. В том смысле, что другие игроки на твоём ходу не просто смотрят на чёрный экран, а в реальном времени видят, что ты делаешь (ну, в рамках механик, конечно)
Именно так, да. Статья же как раз про то, почему не всегда получается посчитать все состояние на сервере и просто раздать клиентам.
Так сервер все равно проверяет корректность действий. Хакнутый клиент отправит команду «купить шлем за миллион», но в ответ получит не шлем а ошибку.
На С++ вообщем-то достаточно легко написать такой код, в котором и сам разобраться не сможешь.
Выскажу непопулярное мнение. Если уж говорить про рынок ИТ, где найти адекватного сотрудника — проблема, а найти работу можно за пару недель, то риски которые вы закрываете ТК не имеют особого значения. Можно легко попасть к менеджеру-самодуру, например, или утонуть в техдолге и выгореть так, что потом придётся долго лечиться вместо работы. Залипнуть на легаси проекте на много лет и отстать от трендов — легко, и нет такой статьи в ТК, которая от этого защитит. Ну и что, что на восьмой джаве пишем — зато зарплата «белая».
Лучше тогда вместо резинок ремни на катушках ставить: и ресурс будет заметно больше, и тяжелый вел болтаться туда-сюда не будет.
Так есть же третья ОС, вот же она! Да, десктопный линукс кривоват в некоторых аспектах, но мы его за это и любим. И давайте смотреть правде в глаза, времена когда для настройки линукса нужно было PhD уже прошли (достаточно магистерской степени, кек)
Зачем ещё одна прилизанная винда в которой нельзя ковыряться в конфигах, а надо ставить галочки в гуе?
Ну вот же, вот прям тут в посте автор написал километр текста, рассказывая почему линукс не готов для бытового пользователя. Ваше заявление «нет же, готов» без каких-либо аргументов выглядит, так сказать, слабовато на этом фоне.
Я согласен, что есть немало людей, которым в офисе работается комфортнее чем дома, особенно сейчас, когда дом для работы не очень-то предназначен. Но если разрешат вот этот гибкий график, и если даже треть сотрудников разъедется в чудесные дома в деревнях, то работа из офиса тоже изменится: вы точно так же будете общаться с коллегами по видеосвязи, только из офиса. Где, напомню, жить дороже и не так комфортно. И вы тоже начнёте присматриваться к другим городам и штатам.
Руководство гугла тоже, в принципе, не дураки и прекрасно понимают, что полумерами тут не обойтись. Надо или всех загонять обратно в офисы, или всех отпускать на удаленку.