Адвент коду

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Адвент коду
Advent of Code
Знімок екрана змагання Advent of Code 2022
Починається 1 грудня
Закінчується 25 грудня
Частота щорічна
Відкрито 1 грудня 2015
Засновник Ерік Уосл
adventofcode.com(англ.)

Адвент коду — це набір задачок з програмування для різдвяного календаря, тобто щодня з 1-го до 25-го грудня публікується нове завдання.[1] Вперше змагання проводилися у 2015 році.[2]

Задачі розраховані як на новачків, так і на досвідчених програмістів. Задачі можна розв'язувати за допомогою будь-якої мови програмування. Рейтинг переможців визначається за швидкістю розв'язку завдань.

Змагання заснував і підтримує інженер-програміст Ерік Уосл.

Історія[ред. | ред. код]

Ерік Уосл створив Адвент коду і досі залишається єдиним розробником проєкту. Окрім нього над проєктом працюють бета-тестери і менеджери спільноти.[1]

Перше змагання розпочалося 1 грудня 2015 року. Ерік розраховував, що вирішувати його задачі будуть не більше як 70 людей. В перший день у змаганні взяла участь 81 особа. Протягом 12 годин система налічувала вже 4 000 зареєстрованих користувачів, що майже призвело до збою системи. За перші дві доби до змагання приєдналося 15 000 людей, а загалом у першому році кількість учасників становила 52 000 осіб.

У 2020 році, ймовірно, через пандемію COVID-19, популярність події зросла на 50%, участь в ній взяли понад 180 000 людей з усього світу. [3]

4 грудня 2022 року Ерік Уосл оголосив, що кількість учасників проєкту досягла 1 000 000.[4]

Дизайн завдань[ред. | ред. код]

Завдання складаються з двох частин, які потрібно розв’язувати по порядку. Друга частина задачі відкривається тільки після того, як користувач вирішив першу частину. Користувач отримує срібну зірку за вирішення першої частини задачі, і золоту зірку за вирішення другої частини. Таким чином, щороку користувач може отримати до 50 зірок. Окрім цього, імена перших 100 користувачів, які вирішили кожну задачу, публікуються на дошці пошани проєкту.

Головоломки містять однакову для всіх вигадану історію на різдвяну тему, але кожний учасник отримує різні вхідні дані для алгоритму. Система перевіряє лише результат розв'язку, зазвичай це одне число або рядок.

Задачі публікються щодня з 1 по 25 грудня опівночі за північноамериканським східним часом. Час на рішення завдань не обмежений, задачі з минулих років залишаються доступними для вирішення.

Деякі учасники почали використовувати такі інструменти, як GitHub Copilot і ChatGPT, щоб пришвидшити вирішення завдань.[5] У 2023 році Уосл попросив користувачів утримуватися від використання цих інструментів, доки таблиця лідерів за день не буде заповнена, заявивши, що «таблиця лідерів призначена для людей».[6]

Підготовка змагань[ред. | ред. код]

Відповідно до коментарів в коді HTML, Адвент коду працює на Perl. Ерік Уосл стверджує, що сам створив майже весь веб-сайт, включаючи дизайн, анімацію, історії та завдання. Він покладається на інші служби для автентифікації, аналітики та інтеграції соціальних мереж.[1]

Щороку Уосл заздалегідь створює та перевіряє 25 завдань. Він витрачає на це 4–5 місяців роботи.[1]

Примітки[ред. | ред. код]

  1. а б в г Wastl, Eric (2022). About. Advent of Code. Процитовано 10 грудня 2022.
  2. Speed, Richard (1 грудня 2021). On the first day of Christmas, my true love gave to me... a coding puzzle and it's a doozy. The Register. Архів оригіналу за 1 грудня 2021. Процитовано 5 грудня 2021.
  3. Roberts, Siobhan (17 грудня 2021). This puzzle challenge brings joy to the world of code. MIT Technology Review. Процитовано 20 лютого 2022.
  4. @ericwastl (5 грудня 2022). #AdventOfCode just hit 🌟1,000,000🌟 registered users!!! (Твіт). Процитовано 10 грудня 2022 — через Твіттер.
  5. Warren, Christina (9 грудня 2022). The Download: Clippy Sweaters, ChatGPT Mania, Advent of Code and more (Videotape). GitHub. Процитовано 11 грудня 2022 — через YouTube.
  6. About - Advent of Code 2023. adventofcode.com. Процитовано 22 жовтня 2023.