Pull to refresh
0
0

.NET программист

Send message

Кэшированием можно отдельно управлять через заголовок Cache-Control. Самое "лобовое" решение, чтобы запретить пользоваться любыми кэшами - установить Cache-Control: no-store в ответе на такой запрос.

Вполне укладывается в семантику ООП и коллекций: users.add(user)

В C# для этого есть специальный тип dynamic.

Паникующий индексатор — штука не самая безопасная.

Наивный вариант в расте работает аналогичным образом:


if map.contains_key(&key) && map[&key] <= 7 { ... }

Но есть и get, который возвращает Option<&V>, с которым можно сделать что-то вроде:


map.get(&key).map(|value_ref| *value_ref <= 7).unwrap_or(false)

Тестовое задание на дом — это достаточно наивный фильтр, если принимать достаточным просто его выполнение. И без всяких ChatGPT задача всегда могла быть сделана кем-то кроме кандидата. Основная суть тестового задания — создать поле тем для беседы, не отнимая времени интервью на подготовку: кодобаза получится относительно объемной и предполагается, что кандидат с ней хорошо знаком. Можно обсуждать как выбранные решения в текущем состоянии, так и стратегии развития приложения за рамками условностей демо-проекта.


ЗЫ Разумеется, речь о задачах с упором на архитектуру, на 4+ часа. Мелкие алгоритмы в таких условиях спрашивать смысла нет и не было.

просто отдавать уже отрендереную страницу с сервера

До первых ленивых дропдаунов с поиском, потом придется это обмазывать еще более страшным нативным JS.


на C# visual studio позволяет штамповать круды парой кликов мышью.

Если у сущностей есть связи, то голые круды — это боль и унижения.

OpenSilver мимикрирует под Silverlight.

под WASM пока (кроме ...C#) лично мне не известны готовые фреймворки

Yew, например. Его прелесть в том, что за счет отсутствия жирного рантайма, размер его бандла сравним с JS/React.

Можно уже начать обдумывать ответ, пока второй человек еще пишет вопрос.

А еще, это позволит перебивать собеседника даже на письме.

Извечный unwrap тоже подбешивает, но без него еще хуже

В примере они заменяют отдельные вызовы assert, вполне лаконично. Кроме того, непонятно, почему некоторые ошибки пробрасываются наверх, а некоторые — распаковываются явно? Здесь вполне допустимо было бы сделать типом возврата Result<(), Box<dyn std::error::Error>> и пробрасывать всё. Или все через unwrap.

Если неправильно обработать переменную в Rust, то она перестает существовать и потом гадай почему ничего не компилируется.

Разве компилятор не даст исчерпывающий ответ с советами по исправлению?

Если селектор будет такой же глубокий и на :nth-child, то надежней он не будет.

Особенно нравится Spring с -Dmaven.test.skip=true, без которого приложение ломится тестировать соединение с базой на этапе запаковки артефакта. Это поведение не отключается каким-то вменяемым образом через конфиги?

Если стандартизация сводится к NodeJS нужной версии, то контейнеры слегка избыточны.

Если нужен hot reload на изменения на хосте, то так и придется поступить. Другое дело, зачем нам в таком виде это в докер заворачивать, имея все инструменты на хосте?)

Мы там сначала копируем файл зависимостей, собираем их, а потом снова копируем исходный код.

Скачивание зависимостей умышленно выносится на отдельный слой, чтобы ускорить пересборку образа при разработке.
Неоптимальность обычно сглаживается тем, что вместо запуска дев-сервера собирается статика и копируется в новый образ какого-нибудь nginx.

Vaadin по этому описанию похож на blazor из c#
теперь ты думаешь о том как заставить его генерить именно тот html, который надо именно тебе.

В Blazor получаете именно ту разметку, которую ожидаете: от HTML его синтаксис ушел не дальше, чем JSX. Вообще, этот фреймворк внешне больше на React смахивает, чем на Vaadin.


что-то javascript'ить

Опять же, в Blazor максимум, что может понадобиться javascript'ить — это обертки для JS-библиотек, если вдруг возникнет желание таковые втаскивать в проект.


пишешь на фреймворке, с которым "не нужно думать о фронте"

Не нужно думать о JS, а про фронт здесь вся статья.

Невиртуальные методы мокать сложновато, да. Но в джаве возможность иметь таковые отсутствует, так что слив засчитываю.

Information

Rating
Does not participate
Registered
Activity

Specialization

Software Developer, Fullstack Developer
Senior
C#
Rust