Teknolojileri Yeniden İnşa Ederek Programlamada Ustalaşın
Her gün framework'ler ve kütüphaneler kullanıyorsunuz. Onların API'lerini nasıl kullanacağınızı biliyorsunuz. Ancak içeride nasıl çalıştıklarını bilmiyorsunuz.
"Build Your Own X" felsefesi bunu değiştirir. Yazılım geliştirmeyi anlamak için temel araçları sıfırdan yeniden inşa edersiniz.
Modern araçlar karmaşıklığı gizler. Bu yaklaşım ise o katmanları ortadan kaldırır. Mühendislerin her gün çözdüğü gerçek sorunlarla yüzleşirsiniz.
Bunu neden yapmalısınız:
• Derinlemesine Anlayış: Araçların neden var olduğunu ve hangi ödünleşimleri (trade-offs) yaptıklarını öğrenirsiniz. • Problem Çözme: Mimari düşünme yeteneğinizi geliştiren tasarım zorluklarıyla karşılaşırsınız. • Daha İyi Hata Ayıklama: İç yapıyı bildiğiniz için kod hata verdiğinde nereye bakacağınızı bilirsiniz. • Kariyer Gelişimi: Mülakatçılar, bir aracın arkasındaki "nasıl" ve "neden" sorularını açıklayabilen adaylara değer verir.
Küçük başlayın. Sık kullandığınız bir şey seçin.
İlk projeniz için fikirler:
- HTTP isteklerini işleyen basit bir web sunucusu.
- Uzun bağlantıları kısa kodlara eşleyen bir URL kısaltıcı.
- Verileri bellekte saklayan bir anahtar-değer (key-value) deposu.
- Bir komut satırı argüman ayrıştırıcısı (parser).
- Yönlendirme (routing) ve görünümler (views) için küçük bir MVC framework'ü.
Bir üretim (production) aracı yapmaya çalışmayın. Şimdilik güvenlik veya hız konusunda endişelenmeyin. Temel mantığa odaklanın.
Şu adımları izleyin:
- Gerçek aracı araştırın. Tasarım dokümanlarını okuyun ve açık kaynaklı kodlara göz atın.
- Temel parçaları belirleyin. Bir web sunucusunun soketlere, bir ayrıştırıcıya (parser) ve yanıt gönderme yöntemine ihtiyacı vardır.
- Minimum özellik setini tanımlayın. Eğer bir URL kısaltıcı yapıyorsanız, eşleme ve yönlendirmeye odaklanın. Kullanıcı hesaplarını ve analitik özelliklerini şimdilik atlayın.
Bildiğiniz veya öğrenmek istediğiniz bir dil seçin. Hedef sözdizimi (syntax) değil, mantıktır.