降臨節日曆 (Advent Calendar) 是每年進入 12 月的時候,用來倒數計時耶誕節的日曆。由於是連續 25 日這個長度剛好的時間,有許多活動都以這個日曆作為『每天應該要做點什麼』的引子。當然程式解題競賽也不例外~
Advent of Code 的網站是前端工程師 Eric Wastl 於 2015 年覺得有趣而創立的,他本人應該也是 Vanilla JS 的創立者。在每年的最後一個月有個為期 25 天的程式解謎活動,這個想法讓大家覺得耳目一新,因此這幾年參與的人數成長迅速。直到 2021 年,已經有超過 18 萬使用者參與。這個網站每年都會釋出 25 道題目,難度會越來越難。每一天在固定時間解鎖題目 (美東時間的午夜),解鎖後,答對的使用者都能拿到一顆耶誕節星星 (就只是一顆普通的星星)。至於排行榜的部分,每天解鎖後的前 100 名答對的使用者才能拿到分數,而分數是很殘酷地以遞減的方式給予:第一名加 100 分、第二名加 99 分、以此類推。
由於最早是個人發起的活動,並沒有太多商業成份在內,不過每年也能拉到一些贊助給予獎品以及維持雲端主機的營運。其實這類型的 Advent Calendar 活動也不少,日本的競程選手們也有推出類似的活動:在 12 月的每一天解一個題目並且記錄心得。這個想法也讓我們衍伸出架設競程日記的概念XD
除了程式解題以外,下面這個網站也搜集了很多前端開發、軟體設計、資訊安全與軟體工程的類似 Advent Calender 活動:大家有興趣可以參考哦~
https://www.smashingmagazine.com/2021/12/tech-advent-calendars-web-developers-web-designers-2021/
舉例來說,有人在 GitHub 上面舉辦每天都來 Pull Request 的活動:https://24pullrequests.com/
今年的 12 月你有沒有什麼計畫呢?準備明年的鐵人賽好像是個不錯的主意...