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

Microsoft VisualLisp#'i Mi Duyuracak?

FZ

Bill Clementson, blog'undaki son girdide şöyle yazmış:

Don Box, XOM, XML ve SOAP üzerine yaptığı çalışmalardan ötürü Microsoft'a geçmeden önce de bir hayli tanınan bir isimdi. Epey akıllı bir adamdır ve blogunu düzenli olarak takip ederim. Ancak son yazılarından birinde "Lisp/Scheme Jobs" başlıklı bir şey görünce şok geçirdim:

Lisp Programcıları İçin Python Kılavuzu

anonim

İlgilenenler internetteki birçok makale ve dökümanda python ve lisp dillerinin benzer olduklarından bahseden yazılara rastlamışsınızdır. Çoğu programcıysa python'un macrolar dışında lisp'in tüm özelliklerini sağladığını iddia ediyor. Bu konuyu çok iyi aydınlatacak bir sayfaya esr'ın makalelerine yapılan yorumlarda rastladım. Konusu Lisp programcıları için python ancak yazarı Peter Norvig'in de dediğine göre birçok python programcısı bu döküman sayesinde lisp öğrenmiş.

http://www.norvig.com/python-lisp.html

MatzLisp: Yeni bir Lisp lehçesi ;-)

anonim

Ruby'nin yaratıcısı Matz yaptığı açıklamayla Ruby'nin kökeninde Lisp olduğunu bu yüzden dilin bundan böyle MatzLisp olarak adlandırılması gerektiğini söyledi.

Kaynak: http://ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-talk/179642

Common Lisp ve Bir Optimizasyon Tekniği: Memoization

FZ

"Memoization" tabiri bilgisayar bilimlerinde ilk kez Donald Michie'nin 1968 yılında Nature dergisinde yayımlanan Memo functions and machine learning (Memo fonksiyonları ve makina öğrenimi) makalesi ile gündeme gelmiştir.

Memoization tekniği bir fonksiyonu hesaplarken önceden hesaplanmış değerleri hesaplamadan kullanmak, dolayısı ile işlemi hızlandırmak olarak tarif edilebilir. Sözcük olarak "memorization"ı yani "ezberleme" eylemini çağrıştırmakla birlikte daha genel bir anlamı kapsamaktadır.

Programlama dilinden bağımsız olmakla birlikte, bu yazıda "memoization" tekniğinin Common Lisp'te nasıl kullanılacağına bakacağız. Bunun için Peter Norvig'in PAIP kitabı ana eksenimizi oluşturacak.

Kent Pitman Lisp ve ötesi ile ilgili soruları yanıtladı - Bölüm 2

FZ

Kent Pitman, 2001 yılının sonuna doğru Slashdot camiasının Lisp/Scheme, standartlar, yazılım geliştirme ve diğer konulardaki sorularını cevapladı, meraklarını giderdi. Bir hayli detaylı olan bu soru cevap seansı uzunluğundan ötürü iki bölümde yayınlandı. İkinci ve son bölümü, Bilkent Üniversitesi, Bilgisayar Müh. bölümü öğrencisi Hayrettin Gürkök'ün çevirisi ile karşınızda... (1. bölüm burada, 2. bölümün ilk kopyası ise ileriseviye.org adresinde)