Advent of Code

Advent of Code
Ilustracja
Zrzut ekranu Advent of Code z roku 2022
Aktywność

od 2015

Czas trwania

1 grudnia-25 grudnia

Organizator

Eric Wastl

brak współrzędnych
Strona internetowa

Advent of Code (pol. Adwent Kodu) to coroczny zestaw wyzwań programistycznych o tematyce bożonarodzeniowej, które pokrywają się czasowo z kalendarzem adwentowym[1][2]. Pierwsza edycja wydarzenia odbyła się w 2015 roku[3].

Zagadki programistyczne wymagają szerokiego spektrum umiejętności, a ich poziom trudności wzrasta wraz z każdym kolejnym dniem. Można je rozwiązać przy użyciu dowolnego języka programowania. Uczestnicy rywalizują również między sobą w globalnych i prywatnych rankingach[1].

Twórcą wydarzenia jest programista Eric Wastl.

Historia

Advent of Code zostało stworzone przez Erica Wastla, który pozostaje jedynym opiekunem projektu[1][4].

Wydarzenie rozpoczęło się 1 grudnia 2015 r. Do północy EST (UTC-05:00, w Polsce 6:00 rano czasu zimowego) na wydarzenie zapisało się 81 osób, nieco przekraczając planowaną przez autora liczbę 70 uczestników. W ciągu 12 godzin dołączyło około 4000 osób, niemal powodując awarię systemu. Po 48 godzinach było to już około 15000 osób, a pod koniec wydarzenia w 2015 roku liczba ta wzrosła do 52000.[5]

W 2020 roku, prawdopodobnie w związku z wybuchem pandemii COVID-19, wydarzenie odnotowało 50% wzrost ruchu, z wynikiem ponad 180000 uczestników na całym świecie[5].

4 grudnia 2022 roku Wastl poinformował, że projekt osiągnął kamień milowy jednego miliona zarejestrowanych użytkowników[6].

Zagadki

Łamigłówki składają się z dwóch części. Poprawne rozwiązanie pierwszej części zagadki odsłania jej drugą część[7][8][9]. Uczestnicy zdobywają jedną złotą gwiazdkę za każdą ukończoną część, co daje łącznie dwie gwiazdki dziennie i pięćdziesiąt gwiazdek rocznie[9].

Każda łamigłówka zawiera fragment fikcyjnej opowieści, która jest taka sama dla wszystkich uczestników, ale każda osoba otrzymuje inne dane wejściowe, przez co rozwiązanie powinno wygenerować inny poprawny wynik[9].

Łamigłówki są odkrywane codziennie od 1 do 25 grudnia o północy EST. Nie ma limitu czasu na ukończenie zagadek, a zagadki z wydarzeń z poprzednich lat pozostają widoczne do rozwiązania również po zakończeniu wydarzenia.

Niektórzy uczestnicy korzystają z narzędzi, takich jak GitHub Copilot i ChatGPT, aby pomóc innym w rozwiązywaniu zagadek.

Przygotowania

Zgodnie z komentarzem w kodzie HTML projektu na każdej stronie wydarzenia, Advent of Code wykorzystuje do działania silnik napisany w języku Perl. Autor twierdzi, że sam stworzył niemal całą witrynę, w tym projekt, animacje, opowieści i łamigłówki. (usługi zewnętrzne są wykorzystywane w zakresie uwierzytelniania, analiz i integracji z mediami społecznościowymi.)[1]

Każdego roku Eric Wastl z wyprzedzeniem tworzy i testuje 25 zagadek. Zajmuje mu to 4-5 miesięcy pracy każdego roku[1].

Przypisy

  1. a b c d e Eric Wastl: About. 2022. [dostęp 2022-12-10].
  2. Kara E. Joyce: Brain teasers and other fun tips for learning Python. 2020-11-11. [dostęp 2021-05-12].
  3. Richard Speed: On the first day of Christmas, my true love gave to me... a coding puzzle and it's a doozy. 2021-12-01. [dostęp 2021-12-05].
  4. Christina Warren, The Download: Clippy Sweaters, ChatGPT Mania, Advent of Code and more, [w:] YouTube [online], 9 grudnia 2022 [dostęp 2022-12-12].
  5. a b Siobhan Roberts: This puzzle challenge brings joy to the world of code. 2021-12-17. [dostęp 2022-02-20].
  6. Eric Wastl, "#AdventOfCode just hit 🌟1,000,000🌟 registered users!!!" [Tweet], [w:] Twitter, 4 grudnia 2022 [dostęp 2022-12-10].
  7. Sue Gee: Advent Of Code For Programmers. 2020-12-06. [dostęp 2021-05-12].
  8. Kenneth Fisher: SQL Homework – December 2020 – Participate in the Advent of Code. from Blog Posts – SQLServerCentral. 2020-12-03. [dostęp 2021-05-12].
  9. a b c Geir Arne Hjelle: Advent of Code: Solving Your Puzzles With Python. 2021-12-01. [dostęp 2022-02-20].

Linki zewnętrzne

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.