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

UCW + Ajax = UCW+

FZ

Bugün cs-lisp e-posta listesindeki bir duyuru postasına göre UCW'de AJAX kullanabilmek için hazırlanan UCW+ ile www.hedee.com projesi tekrar düzenlendi. Kaynak kod ve çalışan sistemi görmek için aşağıdaki adresler ziyaret edilebilir:

Samantha Kleinberg ile CL-GODB, Common Lisp ve Biyoinformatik Üstüne

FZ

New York Üniversitesi'nden Samantha Kleinberg 2005 yılında Google'ın "Summer of Code" etkinliğine katılmış başarılı yazılımcılardan biri. Kendisi Common Lisp programlama dilini kullanarak CL-GODB projesini geliştirdi. Google ünlülerinden biri oluşu ve Common Lisp kullanmış olması dikkatimizi cezbetti ve her türlü engelip aşıp kendisine detaylı sorularımızı yönelttik. O da bizi kırmadı ve gayet net, konuya dair cevaplar verdi. Yayındayız...

Fonksiyonel Geometri, Lisp, Escher, Postscript: Sanat ve Bilgisayarlar

FZ

Daha önce FM'de bir Mars programlama projesi yarışması bağlamında adı geçen Frank Buss bu sefer de gündemimizi Peter Henderson'ın makalelerinden uyarladığı ve Common Lisp kullanarak gerçekleştirdiği bir fonksiyonel geometri uygulaması ile meşgul ediyor. Fonksiyonel programlamanın grafik uygulamalarını kullanarak anlaşılması bakımından çarpıcı bir örnek. Program çıktısını Postscript olarak üretiyor.

Söz konusu grafik yapılar pek çok matematikçinin ve diğer bilim insanlarının da hayranlığını kazanan Hollandalı meşhur sanatçı M. C. Escher'in yapıtlarından esinlenerek hazırlanmış.

newLISP

bk

Bu kadar Lispçinin gözünden kaçmış olabilir mi bilemiyorum ama ben bulamadım: newLISP for BSDs, GNU/LINUX, MacOS X, Solaris, Win32.

newLISP, yapay zekâ ve istatistik gerektiren alanlarda web uygulamaları ve diğer türden yazılımlar için geliştirilmiş genel amaçlı bir betik dilidir. FAQ belgesi ve Common Lisp ile Scheme'den farklılıkları daha detaylı bilgi vermektedir.

Dama Oynayan LISP kodu - Altüst (Minimax) Algoritması

malkocoglu


Bilgisayarlar bir problemi yapay zeka kullanarak çözerken, kullandıkları teknikler; Karar ağacı, akıllı tahmin yeteneği ve o ana kadar geçilen yolu hatırlamaktır.
Bir rakibe karsi oyun oynayabilen bir yapay zeka algoritmasi bu tekniği bir ileri götürerek, rakibin hareketlerini de çözüm alanına almaya çalışır. Altüst (Minimax) algoritmasi, oyun zekası alanında bilinen bir algoritma; Yapay Zeka dersi için yazılmış ve altüst kulanan LISP Dama kodlarını sitemizden paylaşıyoruz.
Yapay Zeka ve Müsabaka - Altüst Algoritması