Любопытная идея, но кажется что могут быть неоднозначности, например:
Строка не будет матчиться с самой собой, если в ней есть фигурные скобки (вероятно стоит сделать два типа литералов, различающихся кавычками)
Как сматчить с существующим значением? Например,
someAge = 18;
match user {
{ age: someAge } -> ...
}
не сработает, придется писать так?
match user {
{ age: tmpAge if tmpAge == someAge } -> ...
}
Непонятно как работает вывод типов и их сопоставление, например у вас фигурирует тип Option, а какого конкретно типа будет литерал None и по каким правилам он выводится?
Только в самой Японии используется несколько алфавитов и суммарное количество буковок достигает десятков тысяч (!), а если игру захочется продавать в других регионах...
Скорость добавления условия в блок if это крайне необычная метрика для оптимизации. Особенно учитывая, что это делается в ущерб читаемости - представьте себе человека, который получил такой код на поддержку без объяснений и должен догадаться, почему во всех условиях стоят единицы
Идея интересная, но ниша не вполне понятна. Если не-технарю понадобится написать скрипт, попросить ИИ в свободной форме написать это на любом популярном языке будет гораздо проще, чем разбираться со специализированным решением без тулинга\библиотек\сообщества.
Насчет пользователей интересно не текущее количество, а теоретическое максимальное, которое можно запустить в систему без деградации производительности. Считаем примерно так:
Замеряем для каждого из методов API максимальное количество RPS, при котором время ответа и процент ошибок не превышают допустимого порога. Считаем, что при такой нагрузке этот метод занимает 100% ресурса сервера
Вычисляем "стоимость" 1 RPS к данному API в процентах от ресурса сервера (например, если максимально можно получить 50RPS, то 1 RPS = 1/50 = 0.02 = 2%.
Прикидываем, сколько запросов к каждому из API делает типичный пользователь в час. Переводим RPH в RPS (получается очень маленькое число)
Для всех методов: умножаем RPS пользователя на "стоимость" 1 RPS, получаем "стоимость" доступа одного пользователя к этому API
Складываем все значения, получаем общую "стоимость" одного пользователя по всем API
Делим 100% на "стоимость" одного пользователя, получаем теоретическое максимальное количество пользователей
Тоже недавно перешли с jmeter на k6, и какое же это облегчение! Расскажите пожалуйста:
Как вы запускаете тест распределенным образом, т.е. посылая запросы одновременно с нескольких хостов?
Считаете ли вы максимальное количество "среднестатистических" пользователей в день, которые система потянет, или только отдельные RPS на каждый конкретный API / сервис? Если да, то каким образом?
Ну кстати, очень убедительная концепция. Решен вопрос того, как вырастить орган, не подсоединенный к кровеносной системе, и решен вопрос взаимной выгоды: существа получали возможность быстрого передвижения, деревья - распространения семян из шишек.
Что "недружелюбного" они нашли в предыдущем маскоте? Он был очень тёплый и уютный, а новый выглядит неуклюжим и доверять ему что-либо ответственное не хочется
Проблема скорее не в ORM как концепции, а в том, что ее реализация на PHP или Python получается просто дико вербозная. Посмотрите ради интереса на LINQ2DB в .NET или Ktorm в Kotlin - там гораздо красивее получается, т.к. лаконично и при этом никаких магических строк
Когда такой девайс работает на проприетарном ПО, у нас нет свободы это ПО модифицировать. Приходится полагаться на волю производителя. И поскольку у нас нет свободы для его изучения, мы не можем избежать обстоятельств, которые ведут к ложным срабатываниям.
Так, ну и кто готов поставить себе кардиостимулятор с прошивкой, распространяемой по свободной лицензии MIT, в которой где написано "SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND..."?
в ту же секунду "у тебя кончились лимиты, плати 20 баксов" Чистой воды совпадение. Ругаться с машиной бессмысленно, т.к вы делаете это за свой же счет, а для нее все слова одинаковы. А вот несколько интенсивных рефакторингов подряд действительно могли потратить ваш лимит довольно быстро
Откуда вы взяли код для примеров синтаксиса, где event, then, for i in range(0, 10) и т.д.? В официальной документации ничего подобного нет, и на скриншотах тоже. Галлюцинация ИИ?
Не забываем классику:
https://stackoverflow.com/a/1732454/1293168
Любопытная идея, но кажется что могут быть неоднозначности, например:
Строка не будет матчиться с самой собой, если в ней есть фигурные скобки (вероятно стоит сделать два типа литералов, различающихся кавычками)
Как сматчить с существующим значением? Например,
не сработает, придется писать так?
Непонятно как работает вывод типов и их сопоставление, например у вас фигурирует тип
Option, а какого конкретно типа будет литералNoneи по каким правилам он выводится?Только в самой Японии используется несколько алфавитов и суммарное количество буковок достигает десятков тысяч (!), а если игру захочется продавать в других регионах...
Какие-то фантастические цифры. Даже на небольшом проекте 150к токенов (лимит до autocompact) накапливается буквально за полчаса-час активной работы.
Скорость добавления условия в блок
ifэто крайне необычная метрика для оптимизации. Особенно учитывая, что это делается в ущерб читаемости - представьте себе человека, который получил такой код на поддержку без объяснений и должен догадаться, почему во всех условиях стоят единицыИдея интересная, но ниша не вполне понятна. Если не-технарю понадобится написать скрипт, попросить ИИ в свободной форме написать это на любом популярном языке будет гораздо проще, чем разбираться со специализированным решением без тулинга\библиотек\сообщества.
Разработчики самого Zig не обязательно имеют те же ценности, что разработчики приложений на Zig
Какой результат каррирования оператора вычитания вы ждете -
x - 3или5 - x? Поскольку он изначально инфиксный, оба варианта одинаково правдаподобныЕсть сравнительные данные о производительности, условно говоря - какое сообщений в секунду потянет kafka, rmq и ваше решение на одинаковом железе?
Спасибо за ответ!
Насчет пользователей интересно не текущее количество, а теоретическое максимальное, которое можно запустить в систему без деградации производительности. Считаем примерно так:
Замеряем для каждого из методов API максимальное количество RPS, при котором время ответа и процент ошибок не превышают допустимого порога. Считаем, что при такой нагрузке этот метод занимает 100% ресурса сервера
Вычисляем "стоимость" 1 RPS к данному API в процентах от ресурса сервера (например, если максимально можно получить 50RPS, то 1 RPS = 1/50 = 0.02 = 2%.
Прикидываем, сколько запросов к каждому из API делает типичный пользователь в час. Переводим RPH в RPS (получается очень маленькое число)
Для всех методов: умножаем RPS пользователя на "стоимость" 1 RPS, получаем "стоимость" доступа одного пользователя к этому API
Складываем все значения, получаем общую "стоимость" одного пользователя по всем API
Делим 100% на "стоимость" одного пользователя, получаем теоретическое максимальное количество пользователей
Метод очень грубый, но примерную картину дает
Тоже недавно перешли с jmeter на k6, и какое же это облегчение!
Расскажите пожалуйста:
Как вы запускаете тест распределенным образом, т.е. посылая запросы одновременно с нескольких хостов?
Считаете ли вы максимальное количество "среднестатистических" пользователей в день, которые система потянет, или только отдельные RPS на каждый конкретный API / сервис? Если да, то каким образом?
Вы уже публиковали точно такую же статью две недели назад
Ну кстати, очень убедительная концепция. Решен вопрос того, как вырастить орган, не подсоединенный к кровеносной системе, и решен вопрос взаимной выгоды: существа получали возможность быстрого передвижения, деревья - распространения семян из шишек.
Что "недружелюбного" они нашли в предыдущем маскоте? Он был очень тёплый и уютный, а новый выглядит неуклюжим и доверять ему что-либо ответственное не хочется
Проблема скорее не в ORM как концепции, а в том, что ее реализация на PHP или Python получается просто дико вербозная. Посмотрите ради интереса на LINQ2DB в .NET или Ktorm в Kotlin - там гораздо красивее получается, т.к. лаконично и при этом никаких магических строк
Так, ну и кто готов поставить себе кардиостимулятор с прошивкой, распространяемой по свободной лицензии MIT, в которой где написано "SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND..."?
По КДПВ сложилось впечатление, что он по всем измерениям размером с кредитку, а не только по площади
Цвета выглядят пережаренными. Вы не думали просто настроить контраст и насыщенность на мониторе\телевизоре?
Откуда вы взяли код для примеров синтаксиса, где
event,then,for i in range(0, 10)и т.д.?В официальной документации ничего подобного нет, и на скриншотах тоже. Галлюцинация ИИ?