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

Lisp - Asla Ölmeyecek Olan Dil

FZ

ESR bir oyun ile ilgili grafik işlerini halletmek için GIMP kullanmaya başlamış ve bazı şeyleri otomatikleştirmesi gerekince GIMP'in nasıl programlanabileceğine göz atmış. Karşısına çıkan Script-Fu ortamında Scheme ile karşılaşınca kendini evinde gibi hissetmiş ve LISP — The Language That Will Not Die başlığı altında düşüncelerini ve yazdığı kodu paylaşmış.

Not: cs-lisp listesinde haber verdiği için için Recai Oktaş'a teşekkürler.

Google AI Yarışması Birincisi: Gábor Melis (ve Common Lisp)

FZ

Bir süreliğine dünyanın çeşitli yerlerindeki programcılara uykusuz ve adrenalin dolu geceler geçirten, eğlendirirken öğreten ve sosyal içerikli mesajlar içeren Google AI yani Google Yapay Zeka programlama yarışmasının birincisi Macar programcı Gábor Melis oldu. Melis yarışmayı Common Lisp dilinde geliştirdiği sistem ile kazandı.

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.

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

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.