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

MatzLisp: Yeni bir Lisp lehçesi ;-)

anonim

Ruby'nin yaratıcısı Matz yaptığı açıklamayla Ruby'nin kökeninde Lisp olduğunu bu yüzden dilin bundan böyle MatzLisp olarak adlandırılması gerektiğini söyledi.

Kaynak: http://ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-talk/179642

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.

C++ içinde Lisp kullanmak

bk

C++ kodlarken "ah şu anda filanca fikrimi Lisp ile ne kadar kolay ifade ederdim" dediğiniz oluyor mu? Bir ortamdan diğerine geçmeye, ayrı ayrı işlemler yapmaya üşenenlerden misiniz?

En az bir evet cevabı verdi iseniz InteLib tam size göre. C++ kodlarken doğrudan Lisp sözdizimine ve semantiğine çok benzer şekilde kod yazmanızı ve doğrudan derlemenizi sağlayan bir kütüphane. Şu anda aktif olarak geliştiriliyor. Ne gerek var ki böyle bir şeye diyenler FAQ belgesini okuyabilirler.

stumpwm: Lisp ile minimalist pencere yöneticisi

FZ

stumpwm GNU/Linux ve UNIX türevleri için minimalist bir pencere yöneticisi ve başlangıç noktası şöyle tanıtılıyor: "StumpWM, programcılarının C ile yazılmış ratpoison'dan kaynaklanan hayalkırıklıkları sonucunda ortaya çıktı. ratpoison kullanmaya başladıktan kısa bir süre sonra fark ettik ki sisteme lispimsi emacs tarzı özellikler katıp duruyorduk. C-t : ile devreye giren bir REPL, kancalar ve gittikçe büyüyen bir Common Lisp alt kümesi.

Açık olan şuydu ki ihtiyaç duyduğumuz şey zırt pırt yeniden durdurup başlatmamıza bizi zorlamayan, kolayca hack edilebilir ve özelleştirme imkanı sunan, sıfırdan Lisp ile yazılmış bir pencere yöneticisi idi."

stumpwm ile ilgili eğlenceli bir videoyu burada izleyebilirsiniz.

Cusp: Eclipse için Common Lisp Eklentisi

zekzekus

Lisp ile uğraşan ama Emacs editörüne alışamamış benim gibi kullanıcıların yardımına Eclipse IDE ortamı için hazırlanmış Cusp eklentisi yetişiyor.