Прочитал первый же абзац и не понял, при чём тут команда? Если у вас меняется менеджер-управленец, который ставит задачи, то команда то чем провинилась?
Если кто-то умудряется менять задачи (или их приоритет) чаще, чем задачи успевают сделать, то команда абсолютно не при делах.
Вообще не решает проблему. Вы на одной машине залили проект, на другой скачали, а оно не компилится (хорошо, если сразу не компилится, а не выстрелит потом в рантайме).
А кто из облаков так делает? Дропбокс так не делает, мега так не делает. Это у вас какое то особое требование, кажется мне?
Многовато всего в статье, не увидел - речь про игры как самостоятельный продукт или про геймификацию, когда игру встраивают в существующий продукт?
Потому что в первом случае цель и игрока и разработчика - развлечение. Игрок должен получить удовольствие.
Во втором случае у разработчика задача совсем не в развлечении и обычно игрок это чувствует, я исключений не видел пока. Если они есть - поделитесь примерами.
Очень странная статья. Ответа на поставленную задачу - нет. Внизу табличка сравнения брокеров и там появляется Pulsar, который не упоминался в статье совсем.
Я всё думал, неужели есть магия, которая 10к в 500 превращает и все счастливы, а по ходу статьи получилось уже не 10к, а пиковые 15к и их можно разгрести (видимо?).
И внезапно решение в статье прозвучало вполне банально - сделать очередь. Любую, которая вас устроит, не забудьте про гарантии доставки и проблемы вокруг них.
И внезапно, есть "магическое" решение для таких ситуаций, если вместо Task.Run использовать Nito.AsyncEx с его AsyncContext.Run, т.к. он тоже не создаст задачку в тредпуле (как я помню).
Была какая то проблема с таймаутами в нагрузке, которую так коллеги порешали. Я пытался узнать, за счёт чего это работает, но мне не смогли ответить (либо я не нашел тех кто был в курсе). Вполне возможно, что у статьи ровно та проблема, которую так решили =)
А можно деталей или ссылок где почитать, почему это проблема? Во всех легаси проектах такого полно, RPS-ы они как то держат, про проблему услышал впервые. Вроде дотнет более-менее знаю, асинхронный апи писал и дебажил, но не понял почему проблема появляется.
Ближайшая аналогия, которая пришла в голову - это стандартное сравнение, которое было при появлении async-await. Что-то на тему "у вас 4 ядра, и на 100 рпс вы упретесь в них, т.к. синхронно ждёте ответа. А на async-await потоки будут переиспользоваться и упретесь вы на ~150". Это я понимаю, но там нет никаких Hill-climbing, там механически "свободные" потоки имеются и цпу действительно свободен.
ПС: я понимаю, что на больших RPS это действительно может быть проблемой, просто не сталкивался и хочется почитать ещё.
Какой автор? Автор изменений в случае описанном в статье может оказаться человеком, не готовым делать реальную работу кроме запуска ИИ. Если он готов делать работу - отлично, всё сработало как задумано. Если не готов - мерж закрыт, никто не пострадал.
Какая собака на сене? Собака на сене - это когда и самой собаке не надо и остальным она не даёт. А тут "собаке" надо, она где ей надо - продает. Хотите продавать в америке - займитесь этим, организуйте, свяжитесь с производителем.
Что-то никто так не работает. Ни книги, ни фильмы, ни игры, ни софт.
Уточню тогда уж, а что помешает скачать бесплатно под впн-ом? Зачем тогда хоть кому-то платить? Ну или ладно, в отпуск съездить, даже без впн-а обойдемся.
Я как раз код посмотрел. Репа - форк FFmpeg, изменений немного, глазами по диагонали посмотрел.
А это и есть FFmpeg. Автор собрал несколько билдов, накрутил сверху обёртку (как я понял, го не знаю).
Прочитал первый же абзац и не понял, при чём тут команда? Если у вас меняется менеджер-управленец, который ставит задачи, то команда то чем провинилась?
Если кто-то умудряется менять задачи (или их приоритет) чаще, чем задачи успевают сделать, то команда абсолютно не при делах.
А кто из облаков так делает? Дропбокс так не делает, мега так не делает. Это у вас какое то особое требование, кажется мне?
Есть люди, для которых эти деньги - не деньги, а самим это делать влом. Либо лапки.
это в идеале, да. На деле я не видел пока интересной геймификации, которая бы делала собственно "игру", а не просто ачивки добавляла.
Тогда я даже не знаю, как назвать то что описано в статье.
Многовато всего в статье, не увидел - речь про игры как самостоятельный продукт или про геймификацию, когда игру встраивают в существующий продукт?
Потому что в первом случае цель и игрока и разработчика - развлечение. Игрок должен получить удовольствие.
Во втором случае у разработчика задача совсем не в развлечении и обычно игрок это чувствует, я исключений не видел пока. Если они есть - поделитесь примерами.
Очень странная статья. Ответа на поставленную задачу - нет. Внизу табличка сравнения брокеров и там появляется Pulsar, который не упоминался в статье совсем.
Я всё думал, неужели есть магия, которая 10к в 500 превращает и все счастливы, а по ходу статьи получилось уже не 10к, а пиковые 15к и их можно разгрести (видимо?).
И внезапно решение в статье прозвучало вполне банально - сделать очередь. Любую, которая вас устроит, не забудьте про гарантии доставки и проблемы вокруг них.
Как там было, 100% людей пользуется интернетом, показал опрос на сайте?
Реклама пиратского софта уже пошла от информ службы Хабра :=(
И внезапно, есть "магическое" решение для таких ситуаций, если вместо Task.Run использовать Nito.AsyncEx с его
AsyncContext.Run, т.к. он тоже не создаст задачку в тредпуле (как я помню).Была какая то проблема с таймаутами в нагрузке, которую так коллеги порешали. Я пытался узнать, за счёт чего это работает, но мне не смогли ответить (либо я не нашел тех кто был в курсе). Вполне возможно, что у статьи ровно та проблема, которую так решили =)
А можно деталей или ссылок где почитать, почему это проблема? Во всех легаси проектах такого полно, RPS-ы они как то держат, про проблему услышал впервые. Вроде дотнет более-менее знаю, асинхронный апи писал и дебажил, но не понял почему проблема появляется.
Ближайшая аналогия, которая пришла в голову - это стандартное сравнение, которое было при появлении async-await. Что-то на тему "у вас 4 ядра, и на 100 рпс вы упретесь в них, т.к. синхронно ждёте ответа. А на async-await потоки будут переиспользоваться и упретесь вы на ~150". Это я понимаю, но там нет никаких Hill-climbing, там механически "свободные" потоки имеются и цпу действительно свободен.
ПС: я понимаю, что на больших RPS это действительно может быть проблемой, просто не сталкивался и хочется почитать ещё.
Если нужен "безопасный" рандом, то посмотрите в RandomNumberGenerator.Create, он точно лучше, чем самописные решения.
Если нужен повторяемый рандом (для тестирования, например) то обычный Random всё ещё хорош.
Статья в целом непонятна (мне лично) - какую проблему решаем?
Именно это и сделано и описано в статье =)
Какой автор? Автор изменений в случае описанном в статье может оказаться человеком, не готовым делать реальную работу кроме запуска ИИ. Если он готов делать работу - отлично, всё сработало как задумано. Если не готов - мерж закрыт, никто не пострадал.
Занимались ли вы ревью кода?
Нравится ли вам ревьюить код, в котором изменений много (количественно) даже при минимальных решаемых проблемах?
Когда автор изменений не может корректно отреагировать на вопросы и замечания, как ваши ощущения?
Но это же буквально то, о чём новость. Угрожают судом.
Так торренты ровно так же "грозить судом" будут, как в новости, если смогут поймать.
Какая собака на сене? Собака на сене - это когда и самой собаке не надо и остальным она не даёт. А тут "собаке" надо, она где ей надо - продает. Хотите продавать в америке - займитесь этим, организуйте, свяжитесь с производителем.
Что-то никто так не работает. Ни книги, ни фильмы, ни игры, ни софт.
Уточню тогда уж, а что помешает скачать бесплатно под впн-ом? Зачем тогда хоть кому-то платить? Ну или ладно, в отпуск съездить, даже без впн-а обойдемся.