Video: Second Episode - 20 dakika ve 100 satırda Reddit

0
FZ
Video çılgınlığı devam ediyor. Bu gidişle HOW-TO belgelerinin yerini HOW-TO videoları mı alacak? İnsanlar "öğret bana usta, adım adım göster" yaklaşımını daha mı çok seviyorlar? Daha önce duyurduğumuz videoyu yapan Sven Van Caekenberghe'nin Episode 2: (Re)writing Reddit in Lisp is 20 minutes and 100 lines videosu taze taze, sıcak sıcak kamuya sunuldu.
Videoda Common Lisp etkileşimli geliştirme ortamında web uygulamalarının adım adım nasıl geliştirildiği, nasıl anında hata ayıklama yapıldığı gibi konular bir Reddit klonu üzerinden gösteriliyor. Renklendirilmiş kaynak kodu okuduktan sonra videoyu da izleyebilirsiniz.

Görüşler

0
tongucyumruk
Bu görüntülerden aldığımız en önemli mesaj nedir? Evet, copy-paste ile kod yazmak sağlıklı bir hareket değildir. Sonra saatlerce debugging ile uğraşmak gerekebilir. Hatta kodun son halinde copy-paste denen meretten kalma bir hata hala mevcuttu. Başlık konttrolü yaparken url değişkeninin değerinini "Title" olup olmadığını kontrol ediyor.

Bir de hatalı olarak değerlendirebileceğim birşey. URL'nin geçerliliğini kontrol ederken sadece 200 kodunu kabul ediyor. Halbuki HTTP protokolü 1xx, 2xx, 3xx şeklindeki kodların tamamını başarılı kabul eder. Örneğin sözkonusu URL 3xx serisi bir kod veriyorsa başka bir yere yönlendirilmiş, fakat hala geçerli demektir. Yani bu durumda bence HTTP işlem kodunun 400'den küçük olup olmadığını kontrol etmek daha sağlıklı bir hareket olacaktır.

Bu arada Kpax sisteminin UCW'ye oranla biraz daha alışılageldik web geliştirme sistemlerine benzemesi hoşuma gitti. Ancak umarım her yazdığımız defun'u URL'ler aracılığıyla erişilebilir kılmıyordur.
0
kesken
bu howto videolari iyi hos da kopyala-yapistir yapamiyoruz, o sikinti. yoksa yapabiliyor muyuz? dusununce olmicak birsey degil cunku, el yazisi okunuyor, videodan yazi mi cekilemeyecek,
0
arsenelupin
Eminim tüm sunum harikadır. .mov formatında... İyi de, sunucu ve masaüstü olarak linux kullanan bir adamım. İte-kaka .mov formatını izleyebilirim. (sourceforge ya da freshmeat üstünde neyin bulunup bulunmadığını da biliyorum varsayalım). Elalemin yarattığı formatı evlat edinmeye (adopt) mahkum muyum? ogg vardı; çok güzeldi ses dosyaları için. Görüntü için .mov mu yani? Bu mudur?
0
FZ
Problem bu tür video yapma işine girişen Common Lisp'çilerin aynı zamanda sağlam birer Apple kullanıcısı olmasından kaynaklanıyor sanırım. Ne yapabiliriz ki, adamlar seviyorlar Apple Mac ortamını.
0
librid
Bu arada Ogg Theora sessiz sedasız baya mesafe katetmiş. Linkte örnek videolar var.
0
tongucyumruk
Bill Clementson'da blogunda bu videodan ve son zamanlarda her önüne gelenin CL ile bir reddit geliştirdiğinden bahsetmiş. Dedim UCW'nin başı kel mi? Her ne kadar Marco Baringer'ın suretini görmemiş olsam da genç bir italyanın kel olacağını sanmıyorum. Kısacası, buyurun buradan yakın: UCW kullanarak reddit
0
Ragnor
Açıkcası Lisp ile yapılan Reddit'lerden en çok ilgimi çekeni sizin ki oldu. Kodlara şöyle bir baktım, birşey anlamadım pek ama bu kadar çok kullanıcı kitlesine ulaşmış bir websitenin altyapısını şurda 141 satır'a (ben değil emacs saydı ;)) sığdırmanız hem Lisp'in yeteneklerini hem de iyi bir ürün geliştirmenin aslında çok zor olmadığını, sadece iyi bir fikri doğru düzgün şekilde uygulamaya geçirmekten ibaret olduğunu açıkca gösteriyor.
Birde sizin reddit'inizden gaza gelip "Yetti bu Lisp'çiler, bizde yazalım gösterelim kendi programlama dilimizin gücünü!" diyecek Python'cu, Ruby'ci, Java'cı, SmallTalk'çu, Haskell'ci, Fortran'cı, .NET&C#'çı, Perl'ci, PHP'ci, C/C++'cı ve aklınıza gelen diğer bütün programlama dillerini kullanan insanlara açık çağrı, haydi sizde kendi dilinizde bir reddit uyarlaması yapın. Hem hava atmış olursunuz :), hem de bu sayede diller arasında azda olsa bir karşılaştırma yapabilmemize yarayacak bir veritabanı olur. Bir nevi er meydanı yani :).
0
tongucyumruk
Aslında benim sürümüm videoda gösterilen örnekteki tüm fonksiyonları içermiyor. Örneğin biri bir URL gönderirken URL'in geçerli olup olmadığı yönünde bir kontrol yok. Aynı şekilde Reddit'in bazı fonksiyonlarını da içermiyor. Örneğin kullanıcı kaydı olayı sözkonusu değil. Fakat Reddit'in temel fonksiyonu olan bağlantı ekleme ve bu bağlantıları puanlama özelliği mevcut.

Not: Yazması yaklaşık 45 dakika sürdü. CL'de çok yeni olduğum düşünülürse fena bir rakam lmadığını düşünüyorum.

Not2: Aslında tarih formatlama vs... gibi işler için kendi fonksiyonlarımı tanımlamak yerine hazır birşeyler kullansam 110-120 satır civarında olacaktı.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Lisp'sel aydınlanma!

sundance

Fani dert ve tasaların yokolup, herşeyin sırrının çözüldüğü söylenen o an vardır ya...

İşte o mertebeye ulaşan bir Lisp programcısının gözünün önünde evrenin sırlarının çözülmesi ve Evrensel Programlama Dili (gerçekten!!!)

Kesmediyse bir de bu var.

Maximus Decimus Meridius der ki "Unleash hellll!!!!"(Salın cehennemi!)

Lisp ile TILSIMLI ve Renkli Programlama: Lisperati

FZ

Tüm zamanların en renkli Common Lisp programlama kılavuzlarından Lisperati artık anadilimizde.

Söz konusu belge İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü öğrencisi Seda Çelebican tarafından Türk diline çevrildi. Belgenin Türk kültürüne uyarlanmasında ve genel editörlük işlemlerinde İstanbul Bilgi Üniversitesi eMBA Yazılım Geliştirme ekibinden Emre Sevinç emek harcadı. Bu süreçte çok titiz eleştirileri, geri beslemeleri ile bize yardımcı olan Bilkent Bilgisayar Mühendisliği bölümü öğrencilerinden Hayrettin Gürkök'e ve Lisp konusunda yardımcı olan Bülent Murtezaoğlu'na teşekkürü bir borç biliriz. Belgedeki hatalardan çevirmen ve editör sorumludur. Orjinal belgenin yazarı Dr. Conrad Barski hiçbir maddi hatadan ötürü sorumlu tutulamaz. Belgeyle ilgili tartışma ve her türlü soru için bu haberin altına yorum yazabilir, iletişim kurabilirsiniz.

Lisperati belgesindeki kodları denemek için hiçbir şey kurmanıza gerek yok. Belgede anlatıldığı gibi uzaktaki bir telnet servisine kolayca bağlanıp kodları hemen derleyebilirsiniz ancak bu konularla daha ciddi ilgileniyor ve kendi Lisp ortamınızı kurmak istiyorsanız daha önce FM'de yayınlanan Common Lisp Geliştirme Ortamı Kurulumu kılavuzundan faydalanabilirsiniz.

Güncelleme (2/5/2005): Kılavuzu PDF olarak hazırlayıp Ayhan Barış'a çok teşekkür ederiz.

Neden Arc Özellikle Nesne Yönelimli Değil?

FZ

Paul Graham'ın Why Arc Isn't Especially Object-Oriented makalesi yazılım dünyasında bazı çok tekrarlanan ve düşünmeden kabul edegeldiğimiz kalıpları sorgulamamız için kısa ve etkili makalelerden biri.

Daha önce Common Lisp ile Internet Programlamaya Giriş Kılavuzu makalesi ile tanıdığımız İstanbul Bilgi Üniversitesi, Bilgisayar Bilimleri bölümü öğrencilerinden Haldun Bayhantopçu'nun çevirisi ile bu makaleyi FM'de de yayınlıyoruz. Çevirinin daha güzel bir hale gelmesinde emeği geçen Türkiye Lisp Çalışma Grubu üyelerine teşekkürler.

Arc Çıktı

FZ

Fazla söze gerek yok: Paul Graham ve Robert Morris tarafından geliştirilen yeni programlama dili Arc resmen çıktı ve şu anda kullanılabilir halde. Graham'ın sitesinde Arc'ın çıkış zamanlaması ve Arc'ın ne tür programlama işlerinde kullanılabileceğine dair kısa bir duyuru mevcut.

Diyelim Ki Elimizde Nesneye Yönelimli Bir Dil Yok - Alice Nesneler Diyarında

FZ

Elinizdeki programlama dilinde nesneye yönelimli (OO - Object Oriented) programlama imkanı olmasa idi ne yapardınız? İki seçenekten biri gelirdi aklınıza herhalde:
  1. OO desteği veren bir dil kullanmaya başlamak.
  2. Elinizdeki dile OO desteği katmak için uğraşmak.
Bu kısa yazıda Peter Norvig'in PAIP (Paradigms of Artificial Intelligence Programming Case Studies in Common Lisp) kitabının 13. bölümündeki birkaç kısa örnekten yola çıkarak "eğer Common Lisp dilinde CLOS (Common Lisp Object System) gibi bir şey olmasaydı bunu nasıl gerçekleştirebilirdik?" sorusunun cevabının ilk bölümüne göz atacağız.