1 puan yazan GN⁺ 2024-12-02 | 1 yorum | WhatsApp'ta paylaş
  • Eric Wastl tarafından oluşturulan Advent of Code, çeşitli programlama bulmacaları sunan ve birçok programlama diliyle çözülebilen çevrimiçi bir etkinliktir.

  • Mülakat hazırlığı, şirket içi eğitim, üniversite ödevleri, alıştırma soruları ve hız yarışmaları gibi çeşitli amaçlarla kullanılır.

  • Bilgisayar bilimi geçmişiniz olmasa bile, biraz programlama bilgisi ve problem çözme becerisiyle katılabilirsiniz.

  • Genel ipuçları

    • Bir problemi çözerken takılırsanız, bulmacayla birlikte verilen örnekleri kullanarak çözümünüzü doğrulayabilirsiniz.
    • Örnekler çalışmıyorsa açıklamayı yeniden okuyun ve programınızın beklendiği gibi çalıştığını kontrol edin.
    • Hâlâ çözemiyorsanız bir arkadaşınızdan yardım isteyebilir veya daha sonra tekrar deneyebilirsiniz.
  • Sık sorulan sorular

    • Kod bloklarını seçmek için JavaScript etkin durumdayken kod bloğuna üç kez tıklamanız yeterlidir.
    • Advent of Code, kimlik doğrulama için OAuth kullanır ve kullanıcının kişisel bilgileri, herkese açık olanlar dışında ifşa edilmez.
    • Global liderlik tablosuna katılıp katılmama kararı kişisel hedeflerinize göre verilebilir.
    • Bulmacaların zorluk seviyesi etkinlik süresince değişiklik gösterir ve kişinin beceri düzeyine göre farklı hissedilebilir.
    • Bulmacalar gece yarısı (EST/UTC-5) açılır; bu, yöneticinin sistemi istikrarlı şekilde yönetebildiği saattir.
    • Sitedeki metinleri okumak zorsa yüksek kontrast modunu kullanabilirsiniz.
    • Bulmaca fikirleri hukuki nedenlerle kabul edilmez.
    • Bulmacada hata olduğunu düşünüyorsanız önce subreddit'te soru sorabilirsiniz.
    • Çözümlerinizi canlı yayında paylaşırken, başkaları yarışıyorsa bundan kaçınmanız önerilir.
    • Yapay zeka kullanarak global liderlik tablosunda üst sıralara çıkmak önerilmez.
  • Katkıda bulunanlar

    • Bulmacalar, kod, tasarım: Eric Wastl
    • Beta testleri: Tim Giannetti, Ben Lucek, JP Burke, Aneurysm9, Andrew Skalski
    • Topluluk yöneticileri: Danielle Lucek, Aneurysm9
  • Yasal bildirim

    • Advent of Code, ABD'de tescilli bir ticari markadır; tasarım unsurları, dil, stil ve konsept Advent of Code'a aittir.
    • Bulmacalara bağlantı vermek veya onlara atıfta bulunmak mümkündür, ancak Advent of Code'un herhangi bir bölümünü kopyalamak ya da yeniden dağıtmak yasaktır.

1 yorum

 
GN⁺ 2024-12-02
Hacker News görüşleri
  • 4 yıldır Go dili kullanıyorum ve bu dilin problem çözmeye pek uygun olmadığını hissediyorum. Standart kütüphanede temel veri yapıları eksik ve derlenen bir dil olmasına rağmen hızı yavaş
  • AoC'yi seviyorum; son 2-3 yıldır Rust ile uğraşıyordum. Discord'da en hızlı çözümleri bulmak için çeşitli performans optimizasyonları, ileri algoritmalar ve SIMD öğrendim
    • Bu kez Rust ve Golang ile deneyeceğim; ya Golang'ı sevmeye başlayacağım ya da en azından katlanabilir bulacağım, yoksa Golang'ın pek iyi olmadığı hipotezini kanıtlayacağım
  • 25 gün boyunca giderek daha karmaşık hale gelen girdi ayrıştırıcıları yazma meydan okuması yeniden başladı
  • Bu yıl denemeyi NES (Nintendo Entertainment System) üzerinde yapacağım
    • Sınırlı RAM (2KiB, kartuşta ek 8KiB mümkün) nedeniyle bazı problemler imkansız olabilir, ama olabildiğince çoğunu çözmeyi planlıyorum
    • Bugünün problemi, kartuşta ek 4KiB RAM kullanılarak 4 saniyenin altında çözülebildi
  • Bu yılki deneme, standart kütüphane veya allocator olmadan C ile yazıp STM32 üzerinde çalıştırılabilir hale getirmek
    • 2 yıl önce assembly ile denedim, ancak assembly için standart kütüphane yazmaya çok zaman harcadıktan sonra vazgeçip Rust'a geçtim
  • Normalde AoC'yi Common Lisp ile yaparım, ama bu yıl Swift deniyorum
    • Statik tipli ana akım diller arasında bu tür işler için fena değil
    • Swift AoC kodu
  • Bu yıl yeni işimde etkinlik organize ediyordum, ancak yeni patronumla çalışamayacağımı fark edip ayrılmam gerekti
    • Geliştiricilerin framework'leri bir araya getirmek yerine gerçek problem çözmeyi öğrenmesinin çok faydalı olduğunu düşünüyorum
    • Sonunda her zamanki gibi yine Emacs ile devam edecek gibiyim
  • Tüm problemi çözdüm; bu bir iş problemi. Sadece baş tarihçiyi değiştirmek gerekiyor
  • Bazıları Common Lisp ve C standart kütüphanesiyle meydan okumaya girişirken, ben veri dosyalarını indirmek için curl çağrısıyla uğraşıyorum
  • Geçen yıl 12. günde bir hafta boyunca takılı kalmıştım ve çözüm yolunu düşünmeye tüm zamanımı harcamıştım. Bu yıl kendime iyi davranıp katılmadan kış tatilinin keyfini çıkarmayı planlıyorum
  • Bu yıl F# ve Gleam ile deneyeceğim, ama her yıl olduğu gibi muhtemelen 10-12 günden fazlasına ne zamanım ne de zihinsel enerjim olacak
    • Python kullanıcılarına F# denemelerini öneriyorum: scripting'e çok benzer hissettirebilir ve harika bir REPL de sunuyor