У нас в Тюмени есть улица Монтажников и проезд Монтажников. Правда, они находятся рядышком. А ещё есть довольно похожие названия улиц, которые люди иногда путают (улица Вербная и улица Вербовая).
Пробовали переиспользовать на много сессий, но столкнулись с проблемами, что игровой мир после завершения сессии не до конца очищает свой стейт и частично сохраняет его между сессиями. А это нам не нужно.
А поправить этот баг не? Если на сервере используется тот же код, что и на клиенте, то не может ли это вызвать проблемы у обычных игроков? Например, те же лаги, когда у клиента во время игры предсказываются одни данные, но с сервера прилетают другие.
Плюс необходимость поддерживать все эти пеи на стороне продавца, причем каждый со своим API. Это если пытаться использовать их в своих мобильных приложениях или для оплаты на сайте.
Глупый вопрос, но почему ключевое слово для короутин именно suspend? Оно ведь означает "приостановить". Почему бы не сделать что-нибудь более понятное, типа async, asynchronous, awaitable, coroutine ?
Насколько я помню, при оплате через Google Pay и Apple Pay можно сформировать токен на оплату одной суммы (которая отобразится на экране устройства), но в банк отправить запрос на списание меньшей суммы. Возможно, с Mir Pay можно делать так же.
Насчет задержки между нажатием на клавишу и отображением символа на экране... Как бы сравнение не слишком корректно.
В 1980-х годах для этого нужно было обработать прерывание от клавиатуры, положить символ в буфер и отобразить на экране с заранее запрограммированным шрифтом.
Сейчас нужно сделать откровенно дофига: получить это нажатие системой, проверить, не является ли оно служебной комбинацией клавиш, оповестить приложения о этом нажатии, преобразовать нажатие в символ на нужном языке, обработать этот символ в самом приложении (всякие подсказки и автодополнения), отобразить на экране с нужным красивым шрифтом в hi-dpi... ну как-то так. И все это в условиях многозадачности.
Компьютеры стали на порядки мощнее, но и задачи тоже нехило усложнились - пусть мы их временами не замечаем, и для нас это все такое же нажатие на клавишу и отображение символа.
Некоторые банки (например, Альфа) вообще считают операции с Qiwi (пополнение кошелька, перевод на виртуальную карту Qiwi) подозрительными и блокируют карту.
У подобного способа есть один минус: отсутствует кеширование при построении контейнера. Это довольно критично, если у вас много зависимостей, которые долго скачиваются либо собираются.
Как вариант, на одном из шагов можно удалять лишние данные из контейнера, чтобы уменьшить его размер.
Хмм... Шанс получить хорошую видяху 2+4 = 6%. В среднем можно вытащить с 100 / 6 ~= 17 попытки. 17 попыток = 17 * 14 000 = 238 000 йен ~= 153 500 рублей.
Шанс на все нормальные видяхи 2+4+8+16 = 30%. Это примерно каждая третья видяха. Треть от 17 - это примерно 5 нормальных видях. GTX 950 на Авито продается от 9 000 рублей... Если их продать, можно получить от 9 000 * 5 = 45 000 рублей.
RTX 3060 продается в Citilink за ~79 000. 153 500 - 45 000 - 79 000 = 29 500 рублей.
Как бы да, в целом небольшая прибыль продавцу есть, даже если играть честно.
Попробовал недавно Rust, теперь интересно: как на нем действительно можно писать с комфортом? Куча кода просто генерируется через derive, этот сгенерированный код не подцепляется к анализу и автодополнению ни в плагине к VSCode, ни в плагине к IntelliJ.
Потому что написание оптимизированного по всем статьям кода требует времени. А железо сейчас стоит дешевле, чем зарплата программистов. В итоге и получаем всякие тяжелые фреймворки, на которых можно писать быстро, но они жрут ресурсы.
У iPhone SE сейчас есть один большой недостаток: батарейка. В принципе, с его размерами это легко объяснимо, но когда заряда телефона не хватает до конца дня...
У нас в Тюмени есть улица Монтажников и проезд Монтажников. Правда, они находятся рядышком. А ещё есть довольно похожие названия улиц, которые люди иногда путают (улица Вербная и улица Вербовая).
А поправить этот баг не? Если на сервере используется тот же код, что и на клиенте, то не может ли это вызвать проблемы у обычных игроков? Например, те же лаги, когда у клиента во время игры предсказываются одни данные, но с сервера прилетают другие.
Плюс необходимость поддерживать все эти пеи на стороне продавца, причем каждый со своим API. Это если пытаться использовать их в своих мобильных приложениях или для оплаты на сайте.
Глупый вопрос, но почему ключевое слово для короутин именно
suspend
? Оно ведь означает "приостановить". Почему бы не сделать что-нибудь более понятное, типаasync
,asynchronous
,awaitable
,coroutine
?Насколько я помню, при оплате через Google Pay и Apple Pay можно сформировать токен на оплату одной суммы (которая отобразится на экране устройства), но в банк отправить запрос на списание меньшей суммы. Возможно, с Mir Pay можно делать так же.
Насчет задержки между нажатием на клавишу и отображением символа на экране... Как бы сравнение не слишком корректно.
В 1980-х годах для этого нужно было обработать прерывание от клавиатуры, положить символ в буфер и отобразить на экране с заранее запрограммированным шрифтом.
Сейчас нужно сделать откровенно дофига: получить это нажатие системой, проверить, не является ли оно служебной комбинацией клавиш, оповестить приложения о этом нажатии, преобразовать нажатие в символ на нужном языке, обработать этот символ в самом приложении (всякие подсказки и автодополнения), отобразить на экране с нужным красивым шрифтом в hi-dpi... ну как-то так. И все это в условиях многозадачности.
Компьютеры стали на порядки мощнее, но и задачи тоже нехило усложнились - пусть мы их временами не замечаем, и для нас это все такое же нажатие на клавишу и отображение символа.
Аннотации типов нужны по большей части для самого программиста и IDE.
Интерпретатор сейчас их не валидирует никак - к огромному сожалению.
Извините, а где статья? Выглядит, как простое перечисление способов, без малейшего объяснения, что эти способы делают и как реализуются.
Некоторые банки (например, Альфа) вообще считают операции с Qiwi (пополнение кошелька, перевод на виртуальную карту Qiwi) подозрительными и блокируют карту.
Для Windows есть довольно удобный пакет программ PowerToys от самих Microsoft, который включает в себя утилиту для изменения размера изображений.
Для *nix гораздо проще воспользоваться imagemagick.
В Docker кешируются слои только для последнего stage. По крайней мере так было до 2021, далее с multistage building не работал.
Как справедливо отметил @sergeykons, у других сборщиков поведение может отличаться.
У подобного способа есть один минус: отсутствует кеширование при построении контейнера. Это довольно критично, если у вас много зависимостей, которые долго скачиваются либо собираются.
Как вариант, на одном из шагов можно удалять лишние данные из контейнера, чтобы уменьшить его размер.
Угу. А теперь сравните функциональность и список поддерживаемого железа для Windows и KolibriOS.
Хмм... Шанс получить хорошую видяху 2+4 = 6%. В среднем можно вытащить с 100 / 6 ~= 17 попытки. 17 попыток = 17 * 14 000 = 238 000 йен ~= 153 500 рублей.
Шанс на все нормальные видяхи 2+4+8+16 = 30%. Это примерно каждая третья видяха. Треть от 17 - это примерно 5 нормальных видях. GTX 950 на Авито продается от 9 000 рублей... Если их продать, можно получить от 9 000 * 5 = 45 000 рублей.
RTX 3060 продается в Citilink за ~79 000. 153 500 - 45 000 - 79 000 = 29 500 рублей.
Как бы да, в целом небольшая прибыль продавцу есть, даже если играть честно.
Попробовал недавно Rust, теперь интересно: как на нем действительно можно писать с комфортом? Куча кода просто генерируется через derive, этот сгенерированный код не подцепляется к анализу и автодополнению ни в плагине к VSCode, ни в плагине к IntelliJ.
Эмм... А про что, собственно, статья? Как подать на вход некорректное значение и словить ошибку?
Потому что написание оптимизированного по всем статьям кода требует времени. А железо сейчас стоит дешевле, чем зарплата программистов. В итоге и получаем всякие тяжелые фреймворки, на которых можно писать быстро, но они жрут ресурсы.
У iPhone SE сейчас есть один большой недостаток: батарейка. В принципе, с его размерами это легко объяснимо, но когда заряда телефона не хватает до конца дня...
Могу посоветовать довольно неплохой клиент Wombat. Сам же GRPC - это по сути те же HTTP/2 запросы, можно так же смотреть через tcpflow.
Не спорю, легко могу ошибаться, и буду действительно благодарен, если объясните, в чем именно.