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

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.

Land Of Lisp Çıktı

okanakyuz

İleri seviye sitesindeki lisperati (Tılsımlı Programlama) (http://ileriseviye.org/Makale/lisperati-tr/) metninin orjinalinin yazarı Conrad Barski en sonunda bir lisp kitabı çıkarttı. Kitap Lisp diline bir türlü alışamayan meraklılar ile yeni başlayan kullanıcılara hitap ediyor. Ayrıca lisp dilini komik hikayeler ve karikatürler ile anlatmakta. http://landoflisp.com/ sitesinden kitabın 8nci bölümünü okumak da mümkün.

R6RS Yayınlandı

tongucyumruk

1970'lerin sonunda özellikle eğitim alanında rahatça kullanılması ve o dönemde Lisp ailesindeki (daha sonra Common Lisp olarak standartlaşan) benzer dillerin karmaşıklığından uzak durması planlanarak tasarlanan Scheme dilinin yeni standardı R6RS resmileşti. 1998 yılında duyurulan R5RS'in ardından birçok güncelleme geçiren dil standardı buna karşılık temel tasarım hedeflerini aynen koruyor.

Hepimize hayırlı, uğurlu olsun.

Not: Slashdot'tan, Google News'ten, hatta Schemers.org'dan önce fazlamesaide!

Coretal CMS Videoları

eevrim

Core Server üzerine geliştirdiğimiz ilk uygulama olan Coretal İçerik Yönetim Sisteminin kullanım ve tasarım videolarını hazırladık. Fikirlerinizi duymaktan mutluluk duyacağız.

Sevgiler.

Ürün sayfası, Kullanıcı Videosu, Tasarımcı Videosu

UnCommon Web ile “Merhaba Dünya”

FZ

Ne zamandır fırsat bulamadığım UnCommon Web geliştirme çatısı ile bir kaç deneme yapabildim sonunda. Kurcalamaya başlamak için önce UCW’yi kurmam gerekti doğal olarak. Oldukça fazla sayıda olan bağımlı olduğu paketleri tek tek kurmak yerine şu adresten UCW-boxset paketini indirdim. Windows sistemimde çeşitli hatalar aldığımdan sanal makine üzerindeki Debian sistemime kurdum. Kurdum derken ev klasörümde arşiv dosyasını açtım sadece. Gerisi UCW-boxset klasöründeki “start.lisp” dosyasını Lisp sistemine yüklemekten ibaret zaten. Veritabanı erişimi için (malum web programlama veritabanı olmadan olmaz) clsql paketini kullandım...

Zekeriya Koç'un Common Lisp ile geliştirilmiş UnCommon Web uygulama çatısına güzel ve örneklerle dolu bir giriş niteliği taşıyan yazısının devamını buradan okuyabilirsiniz.