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

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.

Microsoft VisualLisp#'i Mi Duyuracak?

FZ

Bill Clementson, blog'undaki son girdide şöyle yazmış:

Don Box, XOM, XML ve SOAP üzerine yaptığı çalışmalardan ötürü Microsoft'a geçmeden önce de bir hayli tanınan bir isimdi. Epey akıllı bir adamdır ve blogunu düzenli olarak takip ederim. Ancak son yazılarından birinde "Lisp/Scheme Jobs" başlıklı bir şey görünce şok geçirdim:

GNU GO, AJAX ve Common Lisp

FZ

SWGo arka planda GNU Go isimli Go moturunu kullanan, Common Lisp ile geliştirilmiş AJAX tarzı bir web arayüzü. Kaynak kodlarına buradan erişmek mümkün. Kodu geliştiren yazılımcı sadece birkaç aydır Common Lisp ve JavaScript ile uğraştığını söylüyor.

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'sel aydınlanma!

sundance

Fani dert ve tasaların yokolup, herşeyin sırrının çözüldüğü söylenen o an vardır ya...

İşte o mertebeye ulaşan bir Lisp programcısının gözünün önünde evrenin sırlarının çözülmesi ve Evrensel Programlama Dili (gerçekten!!!)

Kesmediyse bir de bu var.

Maximus Decimus Meridius der ki "Unleash hellll!!!!"(Salın cehennemi!)