Для комфортной игры на уровнях сложности выше "нормального" нужно выверять билд персонажа до мелочей
Какой же это минус? Это самый что ни на есть плюс. Хочешь пройти игру на харде - прояви скилл. На фоне современных ААА поделий, где "ультра мега хард" - это два лишних потраченных стимулятора в битве с боссом, так вообще сказка.
Представители Tele2 и МТС рассказали, что количество регистраций в сети последних моделей смартфонов Apple упало в 3,5 и 2,5 раза в сравнении с показателями предыдущего года.
Очень интересно, как они получают информацию о моделях зарегистрированных в сети устройств, а самое главное зачем они её собирают и анализируют?
она планирует эту задачу вероятно куда-то в handler.post на android и даёт тем самым прогрузить интерфейс
Именно так.
Следите за руками: компилятор генерит имплементацию Continuation для каждой suspend функции. Эта имплементация наследуется от ContinuationImpl, где при вызове resumeWith() в текущем контексте ищется ContinuationInterceptor, у которого вызывается методinterceptContinuation().
Идём далее, стандартные диспетчеры реализуют СontinuationInterceptor, и в методе interceptContinuation()они превращают переданный Continuation в DispatchedContinuation. DispatchedContinuation нужен для 2 вещей: во-первых, сам по себе в конечном итоге наследуется от Runnable, во-вторых, в resumeWith() он ищет в контексте CoroutineDispatcher и вызывает у него метод dispatch(context: CoroutineContext, block: Runnable) с самим собой в качестве аргумента.
Дальше очень просто — в dispatch() переданные раннаблы раскидываются по экзекьюторам (ну, на самом деле не очень просто, всякие балансировки и оптимизации тоже присутствуют). Default и IO диспетчеры используют пулы потоков, а Main в Android использует Handler.
В рамках комментария, конечно, сложно нормально описать всю эту кухню, есть в планах сделать статью по этой теме, да всё никак руки не доходят.
Раз уж прикрутили bluetooth, может, стоит и приложение для смартфонов запилить? Что-то вроде расширенной консоли управления с улучшенным UX, возможностью правки прошивки на лету и т.п.
Я как-то в одиночку переписал проект с js на c++, освободив тем самым 3 людей от фактически круглосуточной техподдержки. Поставил нормальный воркфлоу, запилил систему автообновлений. Хотелки клиентов, которые делались месяцами, стали улетать в прод за неделю. Как меня отблагодарило руководство? Правильно, никак, еще и очень сильно удивилось, когда я положил заявление на стол. Сам гендиректор этой не самой маленькой компании лично в ножки кланялся и предлагал оклад в 3 (!) раза больше. Но я ушел на з.п. поменьше, и знаете что? Вот совсем не жалею.
Цените своих сотрудников (и регулярно пересматривайте зарплату, конечно же)
Вы не правы. Не следует обобщать свой личный опыт на все. Неделю назад получал зарплатную карточку в сбербанке (г. Москва, самый центр): сотрудница банка вынесла ее в руках без конверта с прикрепленной скрепкой бумажкой с пин-кодом, после чего производила странные манипуляции в виде вставки ее в некий терминал для банковских карт, который стоял у нее на столе.
Номер карты, дату выпуска и CVV код она легко могла запомнить, а то и зафоткать в каком-нибудь проходе по пути. В ВТБ, к слову, было то же самое.
А вот курьер Тинькофф привез мне запечатанный конверт, попросил убедиться в целостности и дал возможность самостоятельно вскрыть.
Именно по причине перерывов вернулся к курению, вернее парению — теперь только электронные. Когда бросил, заметил, что могу просидеть без перерывов по 4-5 часов над задачами. В итоге дошло до того, что в середине рабочего дня начинало резать в глазах, и эта боль прекращалась только на следующее утро. Пробовал ставить всякие таймеры для перерывов, через пару недель благополучно на них забивал. А парение помогло. Но здесь есть очень важный момент: хорошую жидкость без никотина практически невозможно найти, а минимальная концентрация (3%) вызывает зависимость, так что приходится парить и вне работы. Но вот этого оголтелого «ааа, я не курил уже целый час, скорее, скорее на перекур!!!» уже нет.
Есть специализация от ВШЭ (совместно с университетом Сан Диего, правда) полностью на английском, называется Data Structures and Algorithms. Очень крутой. alexanderskulikov там один из преподавателей, кстати)
Насколько я понял, если у нас есть негативные факторы, влияющие на решение, мы делаем на них отрицательные веса. Ура, баланс вселенной соблюден, вы великолепны)
Для наглядности в самом первом примере условие с водкой пометим как "1" (т.е. влияет на решение) и повесим на нее -0.8 (если мы убежденные трезвенники, и не любим пьяных людей). Соответственно, в итоге получим -0.81+0.91+0.1*1 = 0.2. Значит, не идем на вечеринку, нам (читай, нашей нейросети) пьяные друзья не нравятся.
Какой же это минус? Это самый что ни на есть плюс. Хочешь пройти игру на харде - прояви скилл. На фоне современных ААА поделий, где "ультра мега хард" - это два лишних потраченных стимулятора в битве с боссом, так вообще сказка.
Очень интересно, как они получают информацию о моделях зарегистрированных в сети устройств, а самое главное зачем они её собирают и анализируют?
Именно так.
Следите за руками: компилятор генерит имплементацию
Continuation
для каждойsuspend
функции. Эта имплементация наследуется от ContinuationImpl, где при вызовеresumeWith()
в текущем контексте ищется ContinuationInterceptor, у которого вызывается методinterceptContinuation()
.Идём далее, стандартные диспетчеры реализуют
СontinuationInterceptor
, и в методеinterceptContinuation()
они превращают переданныйContinuation
вDispatchedContinuation
.DispatchedContinuation
нужен для 2 вещей: во-первых, сам по себе в конечном итоге наследуется отRunnable
, во-вторых, вresumeWith()
он ищет в контекстеCoroutineDispatcher
и вызывает у него методdispatch(context: CoroutineContext, block: Runnable)
с самим собой в качестве аргумента.Дальше очень просто — в
dispatch()
переданные раннаблы раскидываются по экзекьюторам (ну, на самом деле не очень просто, всякие балансировки и оптимизации тоже присутствуют).Default
иIO
диспетчеры используют пулы потоков, аMain
в Android использует Handler.В рамках комментария, конечно, сложно нормально описать всю эту кухню, есть в планах сделать статью по этой теме, да всё никак руки не доходят.
Как считаете, какой подход лучше на длинной дистанции (10+ лет)?
А человек, которому выдают кредит, тоже обезличенный?
Раз уж прикрутили bluetooth, может, стоит и приложение для смартфонов запилить? Что-то вроде расширенной консоли управления с улучшенным UX, возможностью правки прошивки на лету и т.п.
Есть планы отказаться от нативной разработки и перейти на кросс-платформенные фреймворки типа flutter?
Какие вопросы задаете на собеседованиях мидлам? :)
А что-то подобное для разработчиков под Android у вас проводится?
Я как-то в одиночку переписал проект с js на c++, освободив тем самым 3 людей от фактически круглосуточной техподдержки. Поставил нормальный воркфлоу, запилил систему автообновлений. Хотелки клиентов, которые делались месяцами, стали улетать в прод за неделю. Как меня отблагодарило руководство? Правильно, никак, еще и очень сильно удивилось, когда я положил заявление на стол. Сам гендиректор этой не самой маленькой компании лично в ножки кланялся и предлагал оклад в 3 (!) раза больше. Но я ушел на з.п. поменьше, и знаете что? Вот совсем не жалею.
Цените своих сотрудников (и регулярно пересматривайте зарплату, конечно же)
Вы не правы. Не следует обобщать свой личный опыт на все. Неделю назад получал зарплатную карточку в сбербанке (г. Москва, самый центр): сотрудница банка вынесла ее в руках без конверта с прикрепленной скрепкой бумажкой с пин-кодом, после чего производила странные манипуляции в виде вставки ее в некий терминал для банковских карт, который стоял у нее на столе.
Номер карты, дату выпуска и CVV код она легко могла запомнить, а то и зафоткать в каком-нибудь проходе по пути. В ВТБ, к слову, было то же самое.
А вот курьер Тинькофф привез мне запечатанный конверт, попросил убедиться в целостности и дал возможность самостоятельно вскрыть.
Как же так получается, что в коде ошибки, причем иногда довольно серьезные, а программы вполне успешно функционируют?
docs.microsoft.com/en-us/windows/desktop/coreaudio/capturing-a-stream
Насколько я понял, если у нас есть негативные факторы, влияющие на решение, мы делаем на них отрицательные веса. Ура, баланс вселенной соблюден, вы великолепны)
Для наглядности в самом первом примере условие с водкой пометим как "1" (т.е. влияет на решение) и повесим на нее -0.8 (если мы убежденные трезвенники, и не любим пьяных людей). Соответственно, в итоге получим -0.81+0.91+0.1*1 = 0.2. Значит, не идем на вечеринку, нам (читай, нашей нейросети) пьяные друзья не нравятся.