Sayfa:  1  2  3  4  sonraki 

Mesajlarını aradığınız kullanıcı: darkofpain (58)

konu: D dili ile D derleyicisi  ; forum:: D Programlama Dili
darkofpain #1
Üye Ağu 2013 tarihinden beri · 58 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
D dili hakketiği yere yavaş yavaş geliyor.

  - D ile yazılan İşletim Sistemi çekirdeği : https://github.com/xomboverlord/xomb
konu: D dili ile D derleyicisi  ; forum:: D Programlama Dili
darkofpain #2
Üye Ağu 2013 tarihinden beri · 58 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 10370
Teşekkür ederim :)

  - Aziz köksalın derleyicisini inceledim ama onda python'a kadar gitmiş hoş python olmadan artık
    bişi olmuyor gibi bir hal aldı zaten :)

  - Timon Gehr'n D derleyicisini ilk defa duydum. (link çıkarsa inceleyeceğim)

  - deadalnix'in derleyicisini duydum indirdim ancak inceleme fırsatı bulamadım

  - dmd'nin C++ dan D diline çevrilmiş ve hazırlanmış derleyicisini sabırsızlıkla bekliyorum umarım yakında haber çıkar.

Verdiğiniz konu içeriğinden şu link'i buldum:

   http://www.dsource.org/projects/ddmd

Batuhan
konu: D dili ile D derleyicisi  ; forum:: D Programlama Dili
darkofpain #3
Üye Ağu 2013 tarihinden beri · 58 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: D dili ile D derleyicisi
Merak ettiğim için soruyorum artık D iyi bir konuma geldi neden D nin kendi derleyicisi C den çıkıp D ile yazılmıyor sizce ?

Mesela Piyasadaki C derleyicileri C ile yazılıyor :)

Github üzerinde mi bir yerde rastlamıştım birisi D ile D derleyicisi yazmıştı.
konu: sınıflar,fonksiyonlar,kurucular sebep sonuç ilişkisi  ; forum:: D Programlama Dili
darkofpain #4
Üye Ağu 2013 tarihinden beri · 58 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 10349
Düşüncelerinizi paylaştığınız için teşekkür ederim arkadaşlar haklı olduğunuz çok nokta var.

Ben şu görüşü savunuyorum her dilin katı kuralları olmalı ayrıca diller'de multi-paradigm yapısını destekleyen biri değilim.

Neden derseniz herkesin yazdığı kod bambaşka yapıda oluyor bakıyorsunuz biri sınıflarla yapmış bakıyorsunuz biri sadece fonksiyonlar'la yapmış tek olsa daha iyi olur düşüncesindeyim böylece kod karmaşasına yol açmaz ve kim ne yazarsa yazsın tek standartı olduğu için okuması çözümlemesi daha rahat olacaktır.
Bu mesaj darkofpain tarafından değiştirildi; zaman: 2013-11-08, 12:38.
konu: sınıflar,fonksiyonlar,kurucular sebep sonuç ilişkisi  ; forum:: D Programlama Dili
darkofpain #5
Üye Ağu 2013 tarihinden beri · 58 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 10341
Bende sizin gibi düşünüyorum ancak öte yandan baktığımızda yep yeni dil Go dilinde bile sınıf kavramı yok.

Bazı dillerde var okadar karmaşık hal aldı ki kod yazımı artık nasıl yazağını kestiremiyorsun bana kalsa sınıf kullanmam kurucular ve fonksiyonlar gayet temiz ve güzel kullanımıda rahat sınıflara girince herşey karmaşık hal alıyor.

D'nin phobos kütüphanesinde sınıf yapısı çok azdır yoğunluk template,struct,void ile oluşmaktadır.
Bu mesaj darkofpain tarafından değiştirildi; zaman: 2013-11-03, 04:46.
konu: sınıflar,fonksiyonlar,kurucular sebep sonuç ilişkisi  ; forum:: D Programlama Dili
darkofpain #6
Üye Ağu 2013 tarihinden beri · 58 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: sınıflar,fonksiyonlar,kurucular sebep sonuç ilişkisi
Merhaba arkadaşlar,

Uzun zamandır işlerimin yoğunluğundan ilgilenme fırsatı bulamadım son zamanlarda kafama takılan bir konuyu sizlerle paylaşmak ve tartışmaya açmak istedim.

Biliyoruz ki artık günümüzde kodlama standartı gelmeye başladı mesela php de eskiden fonksiyonlar ile yazılırken şimdi sınıflar ile ve frameworkler ile yazılıyor fonksiyonlarla ya da spagetti kod yazanlar hor görülüyor.

C dilini örnek alırsak kurucular ve fonksiyonlar mevcut sınıflar olmadığı için kendi standartın da yazılıyor o yüzden sorun yok C++ baktığımız da sınıf kavramı daha ağırlıklı bu sefer fonksiyonlar ile yazıldığı zaman hor görülüyor.

tabi bu diğer dillerde dilin yapısına göre değişkenlik gösteriyor.

Gelelim D diline...

D dili sınıfları,kurucuları,fonksiyonları ve şablonları destekleyen bir dil hal böyle olunca biraz karmaşaya yol açıyor şahsen sınıfları çok seven biri değilim ama örnek veriyorum bir "HTTP Parser" yaptınız bu kurucular ve fonksiyonlar ile yaptığınız sonra paylaştınız akabin de hemen şu sözler gelmeye başlıyor sınıf olarak niye yazmadın bu ne kadar ilkel yapı filan gibi

Siz ne düşünürsünüz neden bu kadar sınıflar la yazma baskısı var ayrıca D dilinde katı kurallar yok olmasını isterdim mesela C gibi sadece fonksiyonlar,kurucular ve şablonlar

bknz: Go dili kurucular,nesneler,fonksiyonlar kabul ediyor ayrıca katı kuralları var.

Go katı kuralından örnek:

Bu şekilde yazarsanız kabul ediyor.
func merhaba(){
}
Bu şekilde yazarsanız kabul etmiyor.
func merhaba()
{
}
Durum bu şekilde sizlerinde düşüncelerinizi,fikirlerinizi almak isterim arkadaşlar.
konu: Başlangıç  ; forum:: Projeler MemoryReader
darkofpain #7
Üye Ağu 2013 tarihinden beri · 58 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 10240
pastebin,codepaste deki kodu gits.github.com üzerine yükleyip link verirmisin.

ne işin var öyle yerlerde mis gibi gits.github.com dururken :D
konu: arkaplanda servis olarak çalıştırma  ; forum:: D Programlama Dili
darkofpain #8
Üye Ağu 2013 tarihinden beri · 58 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 10254
valla c ile ilgili örnek bulamadım o yüzden d ile nasıl olur bilemiyorum da bu işin bu kadar zor olması tuhaf.
konu: arkaplanda servis olarak çalıştırma  ; forum:: D Programlama Dili
darkofpain #9
Üye Ağu 2013 tarihinden beri · 58 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: arkaplanda servis olarak çalıştırma
Merhaba,

yaptığım uygulamayı normalde çift tıkladığımız zaman terminalde acılır ve program calışır ancak terminali kapattığımız zaman programda sonlanır.

yaptığım uygulamayı ./bin klasörüne yerleştirdim terminalede program yazdığım zaman çalışıyor ancak yine terminali kapatınca uygulama kapanıyor bu yüzden yaptığım uygulamayı program -start dediğim paylaşmasını ve arkaplanda çalışmasını istiyorum terminali kapatsam dahi program çalışacak.

ancak kapatmam gerektiğinde terminale program -stop dediğimde programı sonlandırıp kapatacak

bu olayı nasıl yapabilirim arkadaşlar.
konu: event,epoll,kqueue bunlar tam olarak nedir.  ; forum:: D Programlama Dili
darkofpain #10
Üye Ağu 2013 tarihinden beri · 58 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 10213
teşekkür ederim.

öğrendiğim bazı bilgiler neticesinde http işlemlerinde threadlar çok tavsiye edilmez eş zamanlılık (concurrency) tavsiye ediliyor.

google ın dili olan Golang de herşey concurrency üzerine kuruludur o yüzden temiz bir mantık ile tamamen eş zamanlama üzerine yönelmek daha mantıklı ancak thread lar gelen istek icerisinde yapılacak işlemler için kullanılabilir mesala template sınıfı varsa burada parse yaparken kullanılabilir gibi.

Go lang de dahili http sunucu çok büyük projeler üzerinde kullanılabilir bir yapısı var ve tamamen concurrency üzerine kurulur.

burada önemli olan i/o hızlı bir şekilde okuyup çıktı vermesi gerekiyor ve engelleme yapmadan.

http://vimeo.com/49718712 = Rob Pike - 'Concurrency Is Not Parallelism'
konu: event,epoll,kqueue bunlar tam olarak nedir.  ; forum:: D Programlama Dili
darkofpain #11
Üye Ağu 2013 tarihinden beri · 58 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 10211
ama sabit iş parçacığı 15 adet ile sınırlandırmak yerine gelen istekle paralel olarak mesala 100 istek için 10 tane yetebilir ama 500 istek içinde 20 tane başlatılır.

peki bunu hesaplamak ve istekleri diziye alma işlemini nasıl yapabilirim yardımcı olabilirmisiniz.
konu: event,epoll,kqueue bunlar tam olarak nedir.  ; forum:: D Programlama Dili
darkofpain #12
Üye Ağu 2013 tarihinden beri · 58 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 10208
ali hocam şöyle birşey düşündüm.

şimdi diyelim server üzerine 400 kullanıcı geldi anlık talhanın bana dediği gibi gelen bağlantıları bir diziye toplasak wrk isimli http benchmark programında şöyle bir yapı var -c 400 dediğinde 400 kullanıcı oluşturuyor ve enter dediğimiz zaman

400 user 12 thread yazıyor yani 400 kullanıcının veri alışverişini yapmak için 12 tane thread üzerinde paylaşıyor bizde gelen 400 veya 500 veya 1000 isteği diziye alıp sonra kaç bağlantı olduğuna bakaraktan ufak bir matematiksel hesap bile mesala 500 istek geldi ise bunları işelemesi için 15 thread başlatıp paylaştırsak nasıl olur sizce ve nasıl yapabilirim ?

yanlız tek port yerine 5 portı dinliyor olacağım ancak 5 port için child process başlatıp her bir childe bir portu dinlettiricem böylelik 400x5 olacak.

veya ufak bir önbellekleme yaptığımda harika bir hız elde edebilirim diye düşünüyorum önbellek olarak kastım her gelen sayfanın adresine get adresine göre önbelleğe atıyacağım aynı adrese tekrar giren olur ve değişiklik yoksa direk önbellekten okurum

sonuçta facebook gibi bir kullanıcı kitlesi olmayacak farz edelim olsa bile böylelik sunucular coğalacak ve yatay olarak ölçeklenecek hal böyle olunca sonuçta binlerce veya milyonlarca isteği kabul edebilicek rahatlıklada cevaplayabilicektir.
konu: event,epoll,kqueue bunlar tam olarak nedir.  ; forum:: D Programlama Dili
darkofpain #13
Üye Ağu 2013 tarihinden beri · 58 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 10204
Asıl ben teşekkür ederim.

Tango kütüphanesinde asyncronous i/o, socket server mevcut

Non-blocking için ufak bir örnek http://www.dsource.org/projects/tango/ticket/1651
Asyncronous I/O için bir açıklama http://www.dsource.org/projects/tango/ticket/2040

ayrıca şöyle bir yazı ile karşılaştım belki ilgi çeker http://dotnot.org/blog/index.php

sanırım tango bir kaç şey değil bir çok konuda phobos dan daha güçlü

Yaptığım ufak test sonucunda

Tango socket örneği stress testinde toplam 400 bağlantı kabul edebildi sonra çöktü
import tango.io.Stdout;
import tango.net.Socket;
import tango.net.ServerSocket;
import tango.net.SocketConduit;
 
int main() {
     Socket server = new Socket(AddressFamily.UNIX,
                                SocketType.STREAM,
                                ProtocolType.IP);
 
     while(true){
         Socket client = server.accept();
 
         char[1024] buffer;
         client.receive(buffer);
 
         Stdout.format("The client said'{}'.", buffer);
 
         client.shutdown(SocketShutdown.BOTH);
         client.detach();
     }
     return 0;
}

Phobos socket örneği stress testinde toplam 150 bağlantı kabul edebildi sonra çöktü
import std.stdio;
import std.socket;
 
void main() {
    Socket server = new TcpSocket();
    server.setOption(SocketOptionLevel.SOCKET, SocketOption.REUSEADDR, 
true);
    server.bind(new InternetAddress(8080));
    server.listen(1);
 
    while(true) {
        Socket client = server.accept();
 
        char[1024] buffer;
        auto received = client.receive(buffer);
 
        writefln("The client said:\n%s", buffer[0.. received]);
 
        enum header =
            "HTTP/1.0 200 OK\nContent-Type: text/html; charset=utf-8\n\n";
 
        string response = header ~ "Hello World!\n";
        client.send(response);
 
        client.shutdown(SocketShutdown.BOTH);
        client.close();
    }
}
konu: event,epoll,kqueue bunlar tam olarak nedir.  ; forum:: D Programlama Dili
darkofpain #14
Üye Ağu 2013 tarihinden beri · 58 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 10198
araştırmalarım sonucu fark ettim ki tango kütüphanesinde bu konuda socket,epoll,kqueue socket stream non-blocking i/o konusunda daha güçlü
konu: event,epoll,kqueue bunlar tam olarak nedir.  ; forum:: D Programlama Dili
darkofpain #15
Üye Ağu 2013 tarihinden beri · 58 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 10195
off kafam karma karışık hal aldı :D

peki nasıl bir yöntem izleyipde port üzerinden gelen istekleri kabul edip işleyip cliente cevap vermeliyim ve ileride tıkanmasın çökmesin performanslı olması için

herşeyi kavradım çözdüm cookie sinden file uploadına vss.. ancak şu performans için gerekli olaylarlarda tıkandım acıkcası

ayrıca bu libevent olayına girmeden bunu nasıl çözebilirim python ile yapılan tornado tamamen epoll,kqueue ile yapılmıştır

epoll,kqueue d ile karşlığı nedir desteği varmıdır.

Tornado Threading ve concurrency hakkında yazısı
https://github.com/facebook/tornado/wiki/Threading-and-con…
Bu mesaj 2 defa değişti; son değiştiren: darkofpain; zaman: 2013-10-03, 07:49.
Özel Karakterler:
Sayfa:  1  2  3  4  sonraki 
Özel sorgulamalar

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-12-16, 16:35:06 (UTC -08:00)