Как стать автором
Обновить
125
0
Дмитрий Андриянов @dima117

Пользователь

Отправить сообщение
И это у вас считается «слегка»?!

Извините, забыл добавить пометку "сарказм".
На самом деле, это точный перевод, который не соответствует контексту "меню в столовой".

Инструменты для работы с файлами переводов дают возможность вместе с русским текстом указать дополнительное поле с произвольным текстом, которое выгружается в Танкер. Пишем туда описание и ссылки на скриншоты. Эту информацию видят в Танкере переводчики.

В проде не использовали. У нас исторически используется собственное ядро интернационализации. У него меньше возможностей, но проще синтаксис, хорошо типизируется и интегрируется с компонентами.

Вы правильно подумали. А Chromium выбран как среда для тестирования по причинам, которые написал выше :)
В контексте соревнования фраза «поддержка браузеров» означает не количество пользователей, которому доступна программа, а среду, в которой выполняется проверка :) Мы не планировали, что в заданиях будут использоваться особенности браузеров, поэтому ограничились одним.

Выбрали Chrome потому, что есть удобный инструмент автоматического управления им — www.npmjs.com/package/puppeteer
В прошлом году мы публиковали разбор задач с этого соревнования. Ссылка на него есть в конце статьи. Там можете посмотреть пример решения)
В задаче у всех нот одинаковая длительность. Мы думали об этом. Решили, что про разные длительности трудно будет написать объяснение, которое бы поняли люди, далёкие от музыки. Опыт показал, что даже с пониманием нот есть проблемы.

Кроме того, все варианты одной задачи должны быть примерно одинаковыми по сложности. Чтобы добавить разные длительности нот, нужно придумать, как это сделать для всех вариантов.
Задание нужно выполнять в приватном репозитории, чтобы другие кандидаты не могли скопировать ваш код.

В этом году мы используем автотесты, чтобы снизить нагрузку на преподавателей, проверяющих задания. Так как автотесты выполняются без участия человека, они не смогут самостоятельно обработать ситуацию, когда кандидатом указаны ошибочные данные (например, опечатка в ссылке на репозиторий).

Чтобы снизить количество ошибок при заполнении формы и отправки заданий на проверку, мы изменили ввод ссылки на репозитории: вместо заполнения текстового поля нужно выбрать репозиторий из списка. Также при отправке заданий на проверку мы автоматически даем пользователю yndx-shri-reviewer доступ к ним. Под этим аккаунтом проверяющие будут смотреть код выполненных заданий.

Авторизовать приложение нужно для того, чтобы:
— мы могли отобразить в интерфейсе список репозиториев для выбора;
— при отправке заданий на проверку автоматически добавить пользователя yndx-shri-reviewer в качестве коллаборатора в репозитории с заданиями.

Выполнение этих двух действий инициирует сам кандидат через интерфейс личного кабинета. Мы не выполняем действий над репозиториями без ведома кандидата. Токен, который мы получаем для операций над репозиториями, используется только приложением и люди (в т.ч. разработчики ЛК ШРИ) не имеют доступа к нему.

Также, если кандидат не хочет давать доступ к своим приватным репозиториям, всегда можно создать отдельный аккаунт на GitHub для выполнения заданий ШРИ.
Под пикселями подразумевал квадраты 10х10 (или любого другого размера), сгенерированные по картинке. Этот вариант не подходит под формулировку «сверстать макет», поэтому решения с JS стенд не пропускает, а нагенерированные решения не помещаются в лимит 10кб.

Про решение с использованием минимального количества элементов — интересная идея! Будем иметь в виду в будущем.

Спасибо за обратную связь! В будущем постараемся лучше тестировать алгоритмы проверки.


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

тестовая система пропускала вообще левые решения

К сожалению, проверки отработали не совсем корректно. Там довольно сложная логика. В будущем постараемся больше времени уделять тестированию.


Также надеемся, что, несмотря на тесты, хотя бы часть людей решили задачу честно и получили от этого удовольствие.


Задача 8 — в поставленной формулировке совсем тривиальная.

Интересно, каким было ваше решение. Расскажите подробнее.


Ну куда ж там ограничение в 10кб, гораздо интересней было ограничить количество элементов.

Ограничение в 10кб нужно, чтобы участники не генерировали верстку каритнки отдельными пикселями. А для чего предлагаете ограничение на количество DOM-элементов?

В квалификационном раунде было несколько вариантов. У заданий в разных вариантах были разные условия, но одна суть.
Спасибо! В документации про это ничего нет, поэтому не нашел его. Попробую разобраться в коде, как будет время.
Выглядит, как будто вы хотите получать diff двух состояний БД. Это немного другой подход. Для этого даже не нужны номера версий.

В простых случаях он позволяет делать руками меньше действий для обновления БД. В сложных случаях может потребоваться сложная магия. Такие инструменты тоже существуют (кажется в Visual Studio раньше была такая штука), но они, как правило, сложные, дорого стоят и них графический интерфейс (чтобы человек контролировал правильность того, что получилось).

Версионная миграция БД — второй подход, в котором вы описываете инкрементальные изменения (т.е. изменения для перехода от текущей версии к следующей). Этот подход выигрывает в плане простоты и надежности. Его легко автоматизировать.
О, спасибо! Почему-то раньше этого не нашел. Буду иметь в виду.
Это относится к любым пакетным менеджерам и магазинам приложений)
Ага, как в npm.
Пробовали jsdom, но отказались из-за множества мелких отличий от работы настоящего браузера. Сходу сейчас не смогу сказать, каких именно, но, если хотите, уточню и напишу вам.
Привет! Вы правы, что не показаны сложные кейсы. Идея была — на примере простых кейсов показать, как тестировать код, зависящий от API браузера.

это особенность вашего инстумента, а не предметной области

Здесь не могу с вами согласиться. Можете привести аргументы?
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность