Forum: Projeler Rhodeus Script RSS
Sunucu Entegrasyonu ve Fikirler
Avatar
zekeriyadurmus #1
Kullanıcı başlığı: Talha Zekeriya Durmuş
Üye Eki 2012 tarihinden beri · 701 mesaj · Konum: Samsun/Türkiye
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Sunucu Entegrasyonu ve Fikirler
Şu anda Rhodeus Scripti çeşitli sunuculara entegre etmeye çalışıyorum.

Kendi içerisinde bir web sunucusu da oluşturdum.

IIS üzerinden CGI ile FASTCGI ile entegre ettim.

nginx üzerinden http proxy, scgi ile entegre ettim.

diğer yöntemler için de uğraşıyorum

Bunların kurulumları ile ilgili bir dökümantasyon da hazırlayacağım ilerleyen zamanlarda.

Ayrıca bir öneride bulunmak istiyorum.
Malum PHP önbellekleme sistemi ile işi oldukça iyi götürüyor aynı şekilde bizde RhS için bir önbellekleme sistemi yapabiliriz diye düşünüyorum. Aslında yapılacakları sırasıyla şu şekilde listeyelebiliriz.

Yeni bir Lexer ve Parser.
Lexer -> yield özellikli olacak
Parser -> abstract syntax tree üretmek yerine ara dil üretecek. bkz: http://www.dotnetperls.com/il
Sanal Makina (Bundan emin değilim görüşlerinize açığım)
Memory Management sınıfı (Daha başlayamadım ama elimde bir kaynak var bunun için inşallahn bunu okuyacağım) (Bu konuda Salih hocam gerçekten çok yardımcı oluyor ona yeniden teşekkür etmek istiyorum)
Ayrıca not düşmek isterim oluşturulan nesneler sistem için ayrılan yerde saklanması daha mantıklı olur gibi geliyor hem ileri aşamalarda derlenmiş rhsc dosyaları oluşturabiliriz bu sayede.
OperandCache dosyayı her seferinde tekrar okuyup parse etmek yerine dosya yeniden düzenlendikçe okumak ve parse etmek daha mantıklı olacaktır.

Şimdilik aklıma gelenler bunlar önerilerinize ve yardımlarınıza açığım :)

Zekeriya
Bilgi meraktan gelir...
agora #2
Üye Tem 2013 tarihinden beri · 221 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Web sistemlerinin calisma mantigina biraz yabanciyim diyebilirim ama merak ettigim bir konu var

Python'da ornek bir program her cagirildiginda "yorumlanir" yani o kodlar bastan gozden gecirilir. Web dilleri de bu sekilde ise onlar da her acan icin bastan gozden gecirilir degil mi? Interpreted Language kavrami yani bu sanirim?

Bu da o zaman performans konusunda sıkıntı doğurur diye düşünüyorum. Sürekli aynı şeyleri en baştan yapmak var. Peki web için "derlenen web dili" diye bir kavram var mi? Yani web ortamında kullanım "interpreted language" olmaktan çıkıp "compiled language" olabiliyor mu?

Demek istedigimi acaba anlatabildim mi :(
Avatar
zekeriyadurmus #3
Kullanıcı başlığı: Talha Zekeriya Durmuş
Üye Eki 2012 tarihinden beri · 701 mesaj · Konum: Samsun/Türkiye
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Anladım :) Şöyle ki önbellekleme diye bir olay var bu sayede program her seferinde tekrar yorumlanmıyor

Derlenen web dili denmez tam ona ama web sitesini D ile yaparsan derlenmiş olur :)

Zekeriya
Bilgi meraktan gelir...
agora #4
Üye Tem 2013 tarihinden beri · 221 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Peki Cache sistemi performans konusunda ornegin D ile yazdigin siteden daha iyi sonuclar verebilir mi :) gerci bu saatten sonra RHS'yi D'den ayri bir butun derlenen dil yapmak yani yapmaya calismak zamanini alacak yorucu bir is sanirim? Benimki sadece merak biraz da :)

Web konulari cok karisik. RHS'yi indirdim pc'me ama web konusuna yabanciyim diye kaldim :)
Avatar
zekeriyadurmus #5
Kullanıcı başlığı: Talha Zekeriya Durmuş
Üye Eki 2012 tarihinden beri · 701 mesaj · Konum: Samsun/Türkiye
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Mesajınızı yeni gördüm kusura bakmayın :)

D ile yazdığın sistemden daha iyi sonuç vermesi mümkün değil :) RhS yi derlenen bir dil yapmak gibi bir niyetim yok script dili olarak kalacak ama ileride Rhodeus Lang adında derlemeli bir dil yapabilirim diye düşünüyorum :)

Bu arada ara dil olayını yapmaya başladım. Dictionary lerde hata olduğunu sandım ve sonra array da hata var diye düşündüm ve sorunu kodlar işletilirken oluşuyor sandım meğerse parse de adreslemeler karışıyormuş bende sistemi baştan yapayım dedim :) Salih hocamın hazırladığı MEM sınıfını kullandım burada ona ayriyetten teşekkür etmek isterim.

rhodeus<|((100+200) * 7)|>script

çıktı:
print rhodeus
load 100
load 200
add
load 7
mul
print script

İlk başta HumanLook sıkıntı çıkarır diye düşündüm ama aksine kodların uzunluğu azaldı ve daha profesyonel durdu kodlar tabi hala kodlar oldukça berbat gözüküyor (HumanLook içindeki) ama zamanla o da düzelir inşAllah :)

Şimdi ise diğer modülleri yapmaya başladım.

Zekeriya
Bilgi meraktan gelir...
Avatar
zekeriyadurmus #6
Kullanıcı başlığı: Talha Zekeriya Durmuş
Üye Eki 2012 tarihinden beri · 701 mesaj · Konum: Samsun/Türkiye
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
İleride dokümantasyon hazırlayacağım o zaman belki dokümanlar ilginizi çeker ve başlarsınız :)

Zekeriya
Bilgi meraktan gelir...
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-21, 09:09:25 (UTC -08:00)