Advent of Code 2025
(adventofcode.com)- Advent of Code, farklı seviyelerdeki programcılar için hazırlanmış bir programlama bulmacaları advent takvimi olup, herhangi bir dilde çözülebilir
- Katılımcılar bunu mülakat hazırlığı, şirket içi eğitim, üniversite ödevleri, alıştırma soruları, hız yarışı gibi çeşitli amaçlarla kullanabilir
- Bilgisayar bilimi eğitimi olmadan da katılmak mümkündür ve 10 yıllık bir bilgisayarda bile 15 saniye içinde çalışabilecek problemlerden oluşur
- Site; OAuth kimlik doğrulaması, yüksek kontrast modu, kişisel lider tablosu, kod bloğu seçme özelliği gibi işlevleri destekler
- Küresel lider tablosu, stres ve hile sorunları nedeniyle kaldırılmıştır; bunun yerine katılımcı odaklı, keyifli bir problem çözme deneyimi vurgulanır
Advent of Code genel bakış
- Advent of Code, Eric Wastl tarafından oluşturulan yıllık bir programlama bulmacası etkinliğidir ve her yıl 1 Aralık'ta başlayan çevrimiçi advent takvimi biçiminde bulmacalar sunar
- Katılımcılar her gün yeni bir problemi çözer ve dil kısıtlaması olmadan özgürce çözüm üretebilir
- Problemler; mülakat hazırlığı, eğitim, pratik, rekabet, karşılıklı meydan okuma gibi farklı amaçlarla kullanılabilir
- Katılım için bilgisayar bilimi alanında akademik bilgi gerekmez; temel programlama ve problem çözme becerileri yeterlidir
- Tüm problemler, 10 yıllık donanımda bile 15 saniye içinde tamamlanabilecek şekilde tasarlanmıştır
Katılım ve destek yolları
- Advent of Code'u desteklemek için Bluesky, Twitter, Mastodon gibi platformlarda paylaşabilir veya AoC++ üzerinden doğrudan destek olabilirsiniz
- Problem çözerken takılırsanız örnek girdiyi kontrol etme, test vakaları yazma, bir arkadaştan yardım isteme, subreddit'te ipucu isteme gibi yöntemler önerilir
Genel ipuçları (General Tips)
- Örnek girdi ve çıktı eşleşmiyorsa problem açıklamasını yeniden okuyup kodun nasıl çalıştığını kontrol etmelisiniz
- Örnek test geçse bile doğru cevap yanlışsa, elle doğrulanabilecek test vakaları oluşturarak kontrol edin
- Hâlâ çözmekte zorlanıyorsanız bir süre ara verip tekrar deneyebilir veya topluluğa soru sorabilirsiniz
Sık sorulan sorular (FAQ)
- Kod bloğu seçimi: JavaScript etkin durumdayken üç kez tıklayarak tamamını seçebilirsiniz
- Kimlik doğrulama yöntemi: OAuth kullanılarak Reddit, GitHub gibi dış servislerle giriş yapılır; kimlik bilgileri yalnızca ilgili servise iletilir
- Advent of Code yalnızca kullanıcının ID, ad, URL ve görselini saklar
- Zorluk değişimi: Etkinlik süresince kademeli olarak zorlaşır ve algılanan zorluk seviyesi kişinin teknik düzeyine göre değişir
- Bulmacaların yayın saati: Bulmacalar ABD Doğu Standart Saati (UTC-5) ile gece yarısında yayınlanır; bunun nedeni bunun yöneticinin yönetebileceği zaman dilimi olmasıdır
- Rekabet etmek isteyenler, kişisel lider tabloları üzerinden kendi bölgelerinde yarışabilir
- Okunabilirlik sorunu: Yüksek kontrast modu desteklenir ve Firefox'ta varsayılan olarak etkinleştirilebilir
- Bulmaca önerisi yasağı: Telif hakkı sorunları nedeniyle dışarıdan bulmaca fikri kabul edilmez
- Hata bildirimi: Bulmaca yayınlandıktan sonra 1 saatten fazla geçtiyse, çok sayıda kullanıcı zaten çözmüş olacağından hata olasılığı düşüktür
- Sorun yaşanırsa önce subreddit'i kontrol etmeniz önerilir
- Hız yarışı meselesi: Daha hızlı çözmek istiyorsanız ek pratik ve beceri gerekir; ancak kendi hedeflerinize uygun şekilde katılmanız önemlidir
- Etkinlik gün sayısının değişmesi: 10 yıl boyunca takvim aynı kaldıktan sonra, yöneticinin zaman yükünü hafifletmek için etkinliğin ay ortasında bitmesine geçilmiştir
- Küresel lider tablosunun kaldırılması: Aşırı rekabet ile DDoS saldırıları, kullanıcı stresi gibi sorunlar nedeniyle 10 yılın ardından kaldırılmıştır
- Bunun yerine salt okunur kişisel lider tablosu paylaşım özelliği sunulur
- Yapay zeka kullanımı: Bulmacalar insanın düşünme becerisini geliştirmeyi amaçladığından yapay zeka kullanımı önerilmez
- Bu durum, “yerinize egzersiz yaptırmak sizi güçlendirmez” benzetmesiyle açıklanır
- İçerik kopyalama yasağı: Advent of Code ücretsiz kullanılabilir, ancak bulmaca metinlerinin veya girdi verilerinin kopyalanması yasaktır
- Web sitesi tasarımını ya da adını taklit etmek de yasaktır
Katkıda bulunanlar (Credits)
- Bulmacalar, kod, tasarım: Eric Wastl
- Beta test: Ben Lucek, JP Burke, Aneurysm9, Andrew Skalski
- Topluluk yöneticileri: Danielle Lucek, Aneurysm9
- Katılımcılar: Tüm kullanıcılar
Yasal bildirim (Legal)
- Advent of Code, ABD'de tescilli bir ticari markadır ve tasarım, dil, stil, konsept bütünüyle münhasır varlıklardır
- Açık yazılı izin olmadan kopyalanamaz veya kullanılamaz
- Bulmacalara bağlantı vermek veya alıntı yapmak serbesttir; ticari bağlamlarda da buna izin verilir
- Advent of Code, katılımcıların çözüm kodları üzerinde telif hakkı iddia etmez
2 yorum
Geçen yıl da biraz katılmıştım... Bir yıl gerçekten göz açıp kapayıncaya kadar geçiyor T_T
Hacker News görüşleri
Bilgisayar mühendisliği geçmişi olmasa da katılabileceği söylendiğini her duyduğumda, bunun aslında hobi programcıları için hayal kırıklığı yaratabileceğini düşünüyorum
“Oldukça ileri gidersin” sözü 1-2 kolay soruyu çözmek anlamına geliyorsa doğru olabilir, ama ötesi kolay değil
Advent of Code her yıl aralığın en büyük olayı
Küresel liderlik tablosunun kalkması üzücü ama anlaşılır. Bu yıl sadece 12 gün sürmesi de yükü azalttığı için güzel
“Kazanmak” için uğraşmak yerine, sadece problem çözmenin keyfini çıkarmanızı öneririm
Advent of Code'u gerçekten çok seviyorum
Bu yıl yalnızca 12 gün sürmesi hatta hoşuma gitti. Yıl sonunda gerçek hayattaki program çok yoğun oluyor, geçen yıl ancak yarısını yapabildim
Katkıda bulunan herkese büyük teşekkürler
Bu yıl ilk kez Advent of Code yaptım ve gerçekten çok eğlenceliydi
Project Euler'e benziyor ama matematikten çok programlamaya odaklı
Herkese açık liderlik tablosunu kaldırmak mantıklı
LLM meselesi bir yana, belirli ABD saat dilimleri dışında zaten rekabet etmek mümkün değildi
Bunun yerine dünya genelinde zaman dilimine göre çözüm oranı gibi istatistikleri görmek ilginç olabilir
YouTube'da canlı kodlama videoları izlemek de eğlenceliydi
Advent of Code'u her yıl bekliyorum
Liderlik tablosu stresi olmadan, bunu yeni bir dil öğrenmek ya da becerilerimi keskinleştirmek için bir fırsat olarak kullanıyorum
Normalde kendi başıma proje bootstrap etmek ya da DFS yazmak gibi işler yapmadığım için, böyle etkinlikler iyi bir pratik oluyor
O yüzden normalde test yazma ve dokümantasyon gibi işlerle denge kuruyorum
Her yıl eski çözümlerimi biraz daha iyileştirerek verimlilik ve okunabilirlik üzerinde çalışıyorum
Advent of Code'un bu yıl da yapılmasına sevindim
SSS'yi okurken girdi verisini paylaşmama kuralını pek anlayamadım
Bulmaca metnini anlıyorum ama girdinin de gizli olması biraz üzücü. Yine de ücretsiz bir şeyden faydalandığım için buna saygı duyuyorum
Dil anketi: En çok Python ve C++ kullanılıyor ama ana akım olmayan diller arasında da AoC'ye çok uygun olanlar var
Hangi dillerin iyi olduğunu paylaşalım önerisi
Şaka gibi ama bazen Game Boy ASM ile bile çözüyorum. Gerçekte ise Clojure ya da Python kullanıyorum
Bu yıl bir bytecode derleyicisi yapıyorum. Liderlik tablosunda ise Go kullanıyorum; derleme hızı sayesinde 2022 Day19'da 1. olmuştum
Örneğin sonsuz liste üretip koşulu sağlayana kadar gezinerek çözebiliyorsunuz
each_cons,permutation,primegibi metotlar AoC için kullanışlıÖnceden 2D grid ya da parser yardımcıları hazırlarsanız çok daha verimli oluyor
Bu yıl assembly (fasm) ile denemeyi düşünüyorum
Eğlenceli de olabilir, acı verici de, ama ne olursa olsun öğrenme sürecinin bir parçası
Geçen yılki AI otomasyon patlamasından sonra liderlik tablosu kaldırılmış gibi görünüyor
Üzücü ama kaçınılmaz bir karar gibi
Zaten rekabet etmek zordu, bu yüzden küresel liderlik tablosunun benim için pek anlamı yoktu