Core Uygulama Sunucusu Kurulumu

0
anonim

Common Lisp tabanlı uygulama sunucumuzu ücretsiz olarak deneyebilirsiniz. Bunun için yapmanız gerekenlerin anlatıldığı belgeye göz atabilirsiniz.

Günümüzde üretilen yazılımların çoğu web uygulamaları şeklinde ya da web servisleri olarak hizmet vermektedir. Web uygulamaları, erişilebilir, birden fazla kişinin kullanımına elverişli ve merkezi olarak güncellenebilir servislerdir.

Gelecekte oldukça fazla web uygulaması ve web servisi yazacağımız düşünüldüğünde bu konuda bize yardımcı olacak araçlar üretmek iyi bir yatırım olacaktır. Bu nedenle yazımda sizlere Common Lisp dili ile yazılmış bir web uygulama sunucusu olan Kor Web Uygulama Sunucusu'nu tanıtacağım.

Görüşler

0
zekzekus
güzel bir belge olmuş. belge önemli bir açığı kapatıyor. belgelendirme açığını :) umarım devamı gelir ve bizde Core sunucusuna hakimiyetimiz arttığında belgelendirme olsun kodlama olsun, projeye katkı verebiliriz.
0
FZ
Elinize sağlık.

Bu yazıda bahsedilen CL ve UCW tabanlı geliştirilmiş çatı (framework) kullanılarak geliştirilmiş uygulamalar var mı acaba, yani kamu erişimine açık olan?
0
eevrim
http://www.core.gen.tr/projects/ adresinde ucw+ icin eski/yeni birkac uygulama var, hepsinin yeni API'ye uygun oldugunu garanti edemiyorum ne yazikki.
0
zekzekus
Yabancı kaynaklı bu var benim bir bildiğim. http://www.paragent.com

Bir de şu Uncommon Web ile "Merhaba Dünya" yazısını UCW+ için revize etsem faydalı olur mu diye düşünüyorum??

0
eevrim
ucw ile core-server arasindaki hiz farkini gecen gun test ettik:
ucw:
[21:09] Concurrency: 10.79
[21:09] Transaction rate: 6.12 trans/sec
[21:09] 4854 bytes each
[21:11] bogomips : 2104.04

core-server:
[21:13] Transactions: 322 hits
[21:13] Availability: 100.00 %
[21:13] Elapsed time: 5.06 secs
[21:13] Data transferred: 1546244 bytes
[21:13] Response time: 0.15 secs
[21:13] Transaction rate: 63.64 trans/sec
[21:13] Throughput: 305581.82 bytes/sec
[21:13] Concurrency: 9.34
[21:13] Successful transactions: 322
[21:13] Failed transactions: 0
[21:13] Longest transaction: 3.33
[21:13] Shortest transaction: 0.01

Yeni framework uzerinde calisiyoruz daha genis kapsamli ve eski web uygulamalarini da rahatca core-server'a cekebilecegimiz bir yapi dusunuyoruz. Core-server'dan en fazla 300req/s aldik, bu java ile karsilastirildigindan 3'te bir oraninda yavas bir deger. IOLIB'e gecmeyi dusunuyoruz, ama once IOLIB'deki bellek hatalarinin duzelmesi gerekiyor.

Thread'ler arasi mesaj iletimi icin Unit adi verdigimiz yapiyi uyguladik. Bu yapi herhangi bir objenin thread olarak calismasina olanak saglarken ayni zaman clos method'larini kullanarak API yaratma olanagi sagliyor, bu sayede thread programlama/debug rahatliyor.

Bunun disinda core-server'in cok guclu olmasi ve protokollere tam hakimiyet saglamasi amaciyla h.baker parser'inin genisletilmis bir surumunu uyguladik. Bu parser'in fonksiyonel calisabilmesi icin transactional streams gerekliydi, bu ihtiyac da core-streams adi verdigimiz bir katman sayesinde uygulandi.

http://paste.lisp.org/display/42477 adresinde ornek bir http istegini gorebilirsiniz. Su ana kadar RFC 2616,2045,2046, 2109, 2388, 2396 tamamen bastan yazildi.

Aycan'nin hazirladigi boxset bu yeni kod blocklarina sahip ancak henuz devreye alinmadi. Bunun icin yeni web catisinin bitmesini bekliyoruz.

Ilgilenen arkadaslari irc.core.gen.tr:7000 sunucumuzda gormek bizi mutlu ediyor:)
0
eevrim
IOLIB ile yaptigimiz epoll(4) testleri java degerlerine oldukca yakin cikti, bu bizi mutlu etti, simdi bize gereken guzel bir "half arsed coroutine"/"partial continuation" uygulamasi. sbcl birincil dereceden surdurmeleri desteklese cok daha leziz olabilirdi, native thread'lerle idare etmek zorundayiz ($imdilik:)
Görüş belirtmek için giriş yapın...

İlgili Yazılar

trendalicious: Trendy del.icio.us, CafeSpot

FZ

trendalicious, bir sosyal "bookmark"lama servisi olan del.icio.us için geliştirilmiş olan ve gerçek zamanlı web sitesi popülaritesini ölçüp yansıtan bir sistem. Son 60 dakika içinde en az iki kişi tarafından yollanmış URLler görüntüleniyor ve bunlar da güncel URL mesajlarının toplam sayısına göre derecelendiriliyorlar.

trendalicious'u yapan Will Glozer, aynı zamanda CafeSpot'un da programcısı. Kendisi ile yapılan bir röportajı buradan okumak mümkün. CafeSpot'un development blog'u da işin perde arkasını yansıtıyor.

Bu güncel, ilginç ve popüler web siteleri hangi platform ve dil ile mi hazırlanmış? Güzel bir soru... ;-) (ve daha güzel bir cevap!)

Kaynak: Planet Lisp, Lemonodor.

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.

Yeni Allegro Common Lisp Eğitim Videoları

opheus

Franz Inc. Allegro Common Lisp eğitimleri bölümü altında "Specialized Components of Lisp" başlığında yeni eğitim videolarını yayınladı. Aynı sayfada bir önceki konu ve videolara ulaşılabilmekte. Dosyaların boyutları 25 - 40 MB arasında değiştiginden dolayı kotalı ADSL kullanıcıları içinde sorun olmayacağını düşünmekteyim.

Son olarak daha önce yayınlanmış olan video dosyaları ve Allegro CL eğitim videolarını bir çalışma gurubu kurarak alt yazı ile türkçemize kazandırmak güzel olmaz mı?

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.

Hangi Common Lisp?

zekzekus

Daniel Weinreb, buradan erişilebilecek şekilde, Common Lisp gerçekleştirimleri (implementasyonları) ile ilgili bir inceleme yapmış. İncelemeye konu olan Common Lisp gerçekleştirimlerinin sorumluları kendi gerçekleştirimlerini anlatmışlar. "Nedir bu Lisp? Ortada bir sürü Lisp var, hangisini seçmeliyim?" diyenler için özellikle az bilinen Common Lisp gerçekleştirimlerini de içermesi açısından güzel bir kaynak.