Конкретизируйте. Какие приложения и на каком железе? В +/- усреднённом варианте ответ будет "что угодно".
И что понимается под скоростью и эффективностью? Если хочется выжимать всё из железа, то используйте Си/С++/Rust (приправляя вставками на ассемблере), по пути не забудьте написать свою графическую подсистему для работы напрямую с видеокартой через vulkan/metal/directx
VanilaSpirit, лучше делать по новому cshtml на каждую таблицу (каждый со своим урлом), либо попытаться обобщить, чтобы таблица генерировалась автоматически
На одном из прошлых проектов, в котором я участвовал, такой вопрос не задали в самом начале - как итог, страница с таблицами для всех справочников превратилась в огромный switch-case
korzh17, Странное резюме. Даже ссылки на гитхаб нет.
Не совсем уверен за требования к языкам в Варшаве, но мне кажется, лучше бы ещё иметь резюме на локальном языке. Ещё бы стоит завести аккаунт на линкедине.
Нет ничего, по чему можно было бы определить уровень знаний по нужным работодателю технологиям (да и в принципе по любым технологиям). Я бы ещё завел профили на локальных площадках с вакансиями (в лучшие времена лично мне по несколько приглашений в неделю приходило, хотя у меня сильно менее выпендрёжное резюме там, и даже не сильно низкая желаемая зп и вообще статус "сейчас не ищу работу"), но это в РФ
Сложно что-то предлагать, не зная, почему селениум не подходит. Видел много раз, как селениум используют как раз для описанных целей. Можно ещё на Cefsharp посмотреть
_context.Products.ToList();
А что должно произойти, если в Products будет миллион записей? Я бы добавил какой-нибудь Take(500), дабы не пытаться выгрузить всю базу.
Больше похоже на то, что в таблице просто нет данных
1. Сразу пишите сюда контекст вопроса - мало кому хочется смотреть, что вы там "вчера" писали.
2. Если это дополнение к вопросу, то надо писать это в старом вопросе.
3. Нет, это не может быть ошибка компилятора - тогда бы программа вообще не запустилась
Никита Сальников, рекурсивная - это наивная.
1. Берём определение.
fib(1) = 1
fib(2) = 1
fib(n) = fib(n-1) + fib(n-2)
2. Переводим в код "как есть"
int Fib(int n) {
if(n == 1 || n == 2)
return 1;
return Fib(n-1) + Fib(n-2);
}
Эта реализация неэффективна. (тк мы многократно вычисляем одно и то же).
Первый очевидный вариант - кэшировать результат.
Менее очевидный вариант - тремя переменными (как тут)
Никита Сальников,
> Про чистоту и красоту кода мне пока наверное рано думать.
Никогда не рано. Это очень полезный навык.
Вообще, чтобы понимать такие задачи, лучше сначала самому попробовать решить, попутно улучшая производительность. (например в примере с числами фибоначи надо было пройти путь от рекурсивной реализации, к версии с кэшированием результата, и вот к финальной с тремя переменными).
PS: Программирование лучше изучать отдельно от олимпиадных задач.