[cs-lisp] Web programlama belgesi

2006-01-09 Başlik Tonguc Yumruk
Merhaba,

Sonnda FZ'nin bazı kıtalararası balistik füzeleri evimin tepesine
yönlendirmesi üzerine düştüğüm tembellik batağından uyanıp bir UCW ve
CLSQL belgesi yazmaya başladım. Henüz başlangıç halinde gerçi ama SVN
üzerinde olduğu için şimdiden web üzerinden erişilebilir durumda.
Adresi:
http://tonguc.ath.cx/svn/Writings/UnCommonWebProgrammingWithCL/ucwpwcl-1.tex

Belgeyi yazarken daha önce hiç CL ile OOP görmemiş insanları da
düşünerekten çok kısaca CLOS'tan da bahsetme ihtiyacı duydum çünkü
CLOS'a ilişkin birçok kavram daha ileride hem UCW'de hem de CLSQL'de çok
sık görünüyor. Bazı kelimelere türkçe karşılık bulmakta zorlandığım için
(mesela Generic Function) orjinal halini kullandım, onun dışındakiler
için mümkün olduğunca türkçe karşılıklar bulmaya çalıştım ve yazının
içinde ilk kullanıldıkları yerde ingilizce karşılıklarını parantez
içinde belirttim.

Yazı hakkında eleştirileriniz, önerileriniz oldukça yazabilirseniz
sevinirim.
-- 
Sevgi Saygı GNU/Linux

There is an old custom among my people.  When a woman saves a man's
life, he is grateful.
-- Nona, the Kanuto witch woman, A Private Little War,
   stardate 4211.8.

Tonguç Yumruk


signature.asc
Description: Digital signature
___
cs-lisp mailing list
cs-lisp@cs.bilgi.edu.tr
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp


Re: [cs-lisp] Re: Web programlama belgesi

2006-01-09 Başlik Tonguc Yumruk
Thus saith Emre Sevinc :
 
 DVI ciktisina bakmak daha zevkli oluyor tabii ama bunun icin senin belgeyi
 alip kendi sistemimde derlemek gerekiyor, acaba on-the-fly o LaTeX
 belgesini benim Firefox'a HTML olarak getiren bir düzenleme yapman
 mümkün müdür? Olmasa da olur türünden, olsa güzel olur seklinde.

Dosyalar SVN ortamında sürüm kontrolü altında duruyorlar. Bu nedenle
doğrudan dvi, pdf gibi ikilik çıktı dosyalarını orada barındırmak işime
gelmiyor açıkçası. Ancak bildiğim kadarıyla SVN'in bir kanca sistemi
var, sanıyorum her commit'te bir çıktı dosyası üretmesini sağlamak
mümkün olabilir. Ben bunu bir araştırayım.
 
 
 Yazinin basinda tam olarak neyi anlatacagini vurgularsan iyi olur.
 
 Esas amacin Lisp ögretmek degil, biraz Lisp bilen birine özel 
 olarak UCW ile Lisp araciligi ile web programlama ögretmek
 oldugunu vurgulamak iyi olabilir. 

Hmm... bununla ilgili bir not düştüm sanıyordum... Abstract'ı biraz
uzatmak gerekecek sanırım...

 Söyle bir örnek vermissin:
 
 (defgeneric fonksiyon-adı (sınıf-değişkeni parametre1 parametre2)
   (:documentation Fonksiyonun açıklaması)
   (:method-combination :most-significant-first))
 
 metod kombinasyonu konusuna girecek misin? Detayli ve yer yer
 kafa karistirici (göz korkutucu) olabilir baslangicta. :method-combination
 hic belirtilmese mesela yukaridaki örnekte?

Açıkçası metod kombinasyonundan bahsedip bahsetmemek konusu benim de
kafamı çok kurcaladı. Önce bahsetmeye karar vermiştim fakat bahsetmesem
daha iyi gibi. Onun yerine sadece generic fonksiyonlar ile metodlardan
ve bu ikisinin ilişkisinden bahsedeceğim. Ne de olsa amaç sadece diğer
dillerde OOP tecrübesi olan insanları CLOS terminolojisine ısındırmak,
Dİğer dillerde pek rastlanmayan bu tip birşeyi anlatmanın alemi yok.
Sadece metodlar ve generic fonksiyonlardan bahsedeceğim. Aslında generic
fonksiyonlardan da bahsetmek istemezdim ama daha sonra fonksiyon imzası
uyuşmazlığından çıkan sorunları dinlemek istemem doğrusu.

 Slot diye baslamissin ama sonra yuva demissin pek cok yerde.
 Hangisi olacagina karar vermekte fayda var.

Biliyorum, yuva aniden aklıma gelince kullanmaya başladım. Yeni halinde
düzeltildi...

 ilklendirilirken lafi hala cok oturmus bir laf degil gibi
 geliyor bana. Parantez icinde (initialize) filan bir sey
 yazilirsa faydali olabilir.

İlklendirmeden kastım aslında instance oluşturmaktı fakat sanırım
ilklendirme kelimesi bunu tam karşılamıyor. Var mı bir önerisi olan?

 Bu ilk bakista gözüme carpanlari not ettim. Belgeyi güncelledikce
 haber verirsen daha detayli ve keskin bakmaya calisirim.

Hmm... En iyisi SVN'e her commit'te sana bir mail atsın. Ben de böylece
hem ilk CL spammer'ı olur, hem de intikamımı almış olurum.

 Simdilik bu kadar.
 
 -- 
 Emre Sevinc


Çok teşekkürler. (Türkçe karakterleri kullanalım, kullandıralım)

-- 
Sevgi Saygı GNU/Linux

Systems programmers are the high priests of a low cult.
-- R.S. Barton

Tonguç Yumruk


signature.asc
Description: Digital signature
___
cs-lisp mailing list
cs-lisp@cs.bilgi.edu.tr
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp


Re: [cs-lisp] Re: Web programlama belgesi

2006-01-09 Başlik Can Burak Cilingir
Pzt, 2006-01-09 tarihinde 20:56 +0200 saatinde, Emre Sevinc yazdı:
  TY == Tonguc Yumruk [EMAIL PROTECTED] writes:

[ ... ]

 
 DVI ciktisina bakmak daha zevkli oluyor tabii ama bunun icin senin belgeyi
 alip kendi sistemimde derlemek gerekiyor, acaba on-the-fly o LaTeX
 belgesini benim Firefox'a HTML olarak getiren bir düzenleme yapman
 mümkün müdür? Olmasa da olur türünden, olsa güzel olur seklinde.

kirli ve hızlı:

http://canb.net/latex.sh?http://tonguc.ath.cx/svn/Writings/UnCommonWebProgrammingWithCL/ucwpwcl-1.tex

şu anki versiyonunu doğru derleyebiliyor ama başka bir dosya ile test
etmedim. Üst düzeyde verim için mozilla-acroread paketini kullanınız.
Server error gelir ise derleyememiştir, telaşa mahal yok.

eğer aa bu iyiymiş, kullanırım derseniz ve de başka bir URL ile hata
verir ise URL'i bana yolayınız, eksikleri ekleyeyim.

-- 
Can Burak Cilingir
Istanbul Bilgi University

Following address is a bot-trap
[EMAIL PROTECTED]


signature.asc
Description: This is a digitally signed message part
___
cs-lisp mailing list
cs-lisp@cs.bilgi.edu.tr
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp


[cs-lisp] Re: Web programlama belgesi

2006-01-09 Başlik Emre Sevinc
 CBC == Can Burak Cilingir [EMAIL PROTECTED] writes:

CBC Pzt, 2006-01-09 tarihinde 23:07 +0200 saatinde, Evrim ULU
CBC yazdı: Biraz senaryo ürettim.

 Bunun yerine cronjob olarak bir betik dosya ile svn'den
 checkout edip orada i$lem yapmak daha mantikli. Daha az
 intrusive.

CBC Bundan daha düzgünü http'den HEAD ile dosyanın değişip
CBC değişmediğine bakıp değişti ise çekmek/derlemek olsa gerek.

CBC fam (fileshanged) ile havuzu gözleyip, değiştiğinde çekip,
CBC çekilen alanı da fam ile izleyip, .tex dosyası değiştiğinde
CBC derlemek daha doğru olabilir. tabi sadece dosyanın bulunduğu
CBC dizin çekilirse 2 fam'a gerek olmayacaktır.

Arkadaslar sakin olun! :) Ben sadece düsünmüstüm ki hani böyle
on-the-fly tex'i HTML yap da (bir yere temp. olarak yaz) öyle göster
bakan kisiye gibi bir sey idi. Bir nevi CBC'nin o yaptigi sey
gibi, gerci o PDF yapiyordu ayri. Ben iste tam da o tür bir seyin
HTML üretip benim Firefox'ta gösteren halini kast etmistim.

Tabii her seferinde her seferinde calisacagi icin belki biraz
islemci yükü getirir de yani zaten bakacak olan kisi üctür, bestir.
(Aksi olursa ne mutlu bize! :)


-- 
Emre Sevinc

eMBA Software Developer Actively engaged in:
http:www.bilgi.edu.tr   http://ileriseviye.org
http://www.bilgi.edu.tr http://fazlamesai.net
Cognitive Science Student   http://cazci.com
http://www.cogsci.boun.edu.tr


___
cs-lisp mailing list
cs-lisp@cs.bilgi.edu.tr
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp


RE: [cs-lisp] Re: Web programlama belgesi

2006-01-09 Başlik Emre Sevinc
Title: RE: [cs-lisp] Re: Web programlama belgesi







 Yazinin basinda tam olarak neyi anlatacagini vurgularsan iyi olur.

 Esas amacin Lisp ögretmek degil, biraz Lisp bilen birine özel
 olarak UCW ile Lisp araciligi ile web programlama ögretmek
 oldugunu vurgulamak iyi olabilir.

Hmm... bununla ilgili bir not düstüm saniyordum... Abstract'i biraz
uzatmak gerekecek sanirim...

Sadece biraz daha vurgulamak ve belki birkac cümle ile ballandira ballandira
bir seyler deyip heveslendirmek manasinda.

Zaten kaynakca diye bir kisim yapip, Lisp temel belgeleri nelerdir, hangi
web siteleri Lisp ortamlarinin kurulumu icin bilgi verir, vs. gibi seyleri
yazacaksin diye düsündüm. O yüzden girisi cok kisa ve basit tutmakta fayda
var.

Hah bir de simdi aklima geldi, Bu Belge Kimler Icindir?, Kimler Icin Degildir?
Prerequisites (türkce nasil denir bilmiyorum) gibi bir iki bölüm de eklenirse
hakkimizda dava acabilecek sinirli ve hevesli programci kitlesine karsi
tedbir alinmis olur.


 Söyle bir örnek vermissin:

 (defgeneric fonksiyon-adi (sinif-degiskeni parametre1 parametre2)
 (:documentation Fonksiyonun açiklamasi)
 (:method-combination :most-significant-first))

 metod kombinasyonu konusuna girecek misin? Detayli ve yer yer
 kafa karistirici (göz korkutucu) olabilir baslangicta. :method-combination
 hic belirtilmese mesela yukaridaki örnekte?

Açikçasi metod kombinasyonundan bahsedip bahsetmemek konusu benim de
kafami çok kurcaladi. Önce bahsetmeye karar vermistim fakat bahsetmesem
daha iyi gibi. Onun yerine sadece generic fonksiyonlar ile metodlardan
ve bu ikisinin iliskisinden bahsedecegim.

Bence de öyle yapmakta fayda var, CLOS derinliklerini ve metodlarin cagrilma
sirasinin nüanslarini merak edenleri yine Kaynakca bölümündeki ilgili
kaynaklara yönlendirebilirsin nasil olsa.

 Ne de olsa amaç sadece diger
dillerde OOP tecrübesi olan insanlari CLOS terminolojisine isindirmak,
DIger dillerde pek rastlanmayan bu tip birseyi anlatmanin alemi yok.

Insanlar yeterince sinirlenecekler zaten nesne.metod yerine (metod nesne)
gibi bir sey gördüklerinde. Saka yapmiyorum, cok örnegini yasadim. Eski
köye yeni adet mi getiriyorsunuz, cok bilmissiniz, bla bla bla seklinde.
Sen sonra ugras dur CLOS tarihcesi, vs. Einstein bosuna dememis önyargilari
parcalamak atomu parcalamaktan zor diye.

Bu yüzden ya kitlenin CLOS yabancisi oldugunu düsünüp ürkütmeden cok yumusak
ve sade giris yapacaksin, yahut üc bes Lisp, CLOS filan bildigini varsayip
yine cok üzerinde durmayacaksin.


Sadece metodlar ve generic fonksiyonlardan bahsedecegim. Aslinda generic
fonksiyonlardan da bahsetmek istemezdim ama daha sonra fonksiyon imzasi
uyusmazligindan çikan sorunlari dinlemek istemem dogrusu.

Sorun cikarsa yazacaklari adresler belli ;-)


 ilklendirilirken lafi hala cok oturmus bir laf degil gibi
 geliyor bana. Parantez icinde (initialize) filan bir sey
 yazilirsa faydali olabilir.

Ilklendirmeden kastim aslinda instance olusturmakti fakat sanirim
ilklendirme kelimesi bunu tam karsilamiyor. Var mi bir önerisi olan?

... olusturulurken desek mesela? Yani ilk kez olusturulurken demek
de sacma geliyor cünkü olusturuldugunu söyledigimiz sey tabii ki ilk
kez olusturuluyor, aynisindan bir daha olusturulmuyor, vs. Maalesef
su anda benim daha iyi bir önerim yok.

 Bu ilk bakista gözüme carpanlari not ettim. Belgeyi güncelledikce
 haber verirsen daha detayli ve keskin bakmaya calisirim.

Hmm... En iyisi SVN'e her commit'te sana bir mail atsin. Ben de böylece
hem ilk CL spammer'i olur, hem de intikamimi almis olurum.

Bana degil cs-lisp listesine yani buraya atsin. Fena mi olur ;-)
Saka yapmiyorum.

Her ciddi degisiklikten sonra bir göz üzerinden gecersek, bu belge
bitip kitlelere duyuruldugunda ortaya gercekten iyice süzülmüs, kaliteli
bir eser cikmis olacaktir.





___
cs-lisp mailing list
cs-lisp@cs.bilgi.edu.tr
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp