Вчера в конференц-центре Остина состоялись игры Naturally Fit 2017. Каждый год чемпионаты по тяжелой атлетике являются частью Игр. Это второй год, когда я был волонтером на ежегодном мероприятии по тяжелой атлетике, и с почти 100 зарегистрированными спортсменами это было большое событие. Мой тренер потратил недели на подготовку и подготовку к субботе. Само мероприятие прошло довольно спокойно. Спортсменам и тренерам было весело, а мы увидели несколько действительно отличных упражнений. Но в этом посте я сосредоточусь на подготовке.

Мой тренер тратит много времени, вручную собирая информацию о спортсменах из электронных писем и вводя ее в электронные таблицы. Сортировка, изменение порядка и форматирование занимают много времени. До этого момента наш клуб принимал довольно много соревнований, и я чувствовал себя плохо, потому что я всегда думал: «Чувак, я должен знать, как писать сценарии или что-то в этом роде, чтобы ему не приходилось делать все». эта работа с электронными таблицами». Ну, наконец-то я взялся и сделал это (часть этого).

Этим утром, когда я, наконец, встал с постели, я погуглил что-то вроде электронной таблицы синтаксического анализа javascript и наткнулся на модуль js-xlsx. Я установил его и открыл Node, чтобы понять, как он работает. Очень быстро я понял, что это решение большей части наших проблем, и не мог перестать писать код. Несмотря на то, что у меня было несколько дел по дому, я кодировал примерно с 11 утра до 4 вечера.

Это простой скрипт, который берет файл электронной таблицы с информацией о спортсмене (который будет создан с помощью Google Forms, а не просто извлекает данные из электронных писем, как раньше) и выводит файл .csv со спортсменами, разделенными по полу, а затем отсортированным по их открытие попыток рывка. С помощью необязательного аргумента командной строки спортсмены могут быть дополнительно отсортированы по их весовой категории. Говоря об аргументах командной строки, я также обнаружил модуль аргументов командной строки. Очень круто! Я также закончил тем, что использовал lodash, то, с чем мы возились для разминки в классе. В любом случае, мой тренер затем возьмет этот отсортированный список и сделает небольшое форматирование, прежде чем отправить его спортсменам, чтобы они заранее знали, в какое время они работают.

Мы не будем проводить еще один конкурс до осени, поэтому до тех пор я не смогу использовать свой сценарий по-настоящему. Но я ввел данные, которые мы получили на встрече в субботу, и, похоже, они работают. Я понимаю, что многое из того, что делает скрипт, вероятно, можно было бы сделать с помощью какого-нибудь необычного волшебства Excel, но А) кто хочет щелкать по Excel весь день? и Б) я буду продолжать создавать аналогичные инструменты для более сложных задач управления соревнованиями по тяжелой атлетике. Одной из возможных конечных целей является создание специального веб-сайта для регистрации спортсменов, который будет принимать платежи и собирать информацию о спортсменах в форме, генерировать сеансы и отображать информацию о сеансах для спортсменов.

Мне очень приятно сказать, что я наконец-то создала то, о чем говорила годами. И что я делал это в свободное время, а не потому, что это было заданием. И что это заняло всего один день.

Фух. Время готовиться ко сну.