Forum: Projeler Genel RSS
D Konsolu
Dört İşlemden (basitten) Geleceğe...
Sayfa:  önceki  1  2  3 
canalpay (Moderatör) #31
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 6340
; satır sonu anahtarı yanı aslında sayfalarca kod donuyor phpmyadmin ' de görmüş olmanız gerekir

Doğru ancak dkvG'nin mysql kadar özelliği yok ki onun kadar kod döndürsün. Ayrıca bir fikir yarına da hazır olması gerekmiyor. Sadece bir şeyler öğrenmek için. Zaten ben şuan kod yazacak kadar bir şey bilmiyorum. Her şeyi unutmuşum. Ali Bey'in enfes derslerini tekrar etmem gerekiyor.

ama benim aklıma takılan konu mysql deki verilerin nasıl bir mantıkta saklandıkları

Onu araştırmak lazım o çok büyük hesapların işi. Koskoca oracle gibi firmalar yazdığına göre, mysql bile çok basit sistemler dendiğine göre ben sql bilmiyorken bu kadarını araştırmam. Ancak eş zamanlı programlama ve ikili kodda yazım ile ilgili değişik bir sistem kullansalar gerek. Gereksiz veri okumamak içinde her şeyi birbirinden ayrı tutuyorlardır.
Avatar
Salih Dinçer #32
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Zekeriya buna bir el atacaktı...

Sadece bir hatırlatmak istedim...:)
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
Avatar
zekeriyadurmus #33
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ı
Hatırlatmanız çok iyi oldu Salih hocam :)

Aynı anda o kadar çok şeye dalıyorum ki neyi yapmalıyım hatırlamakta zorluk çekiyorum.

Projede parser a gerek olmadığını düşünüyorum ve gelişmiş bir veri yönetimi havuzuna da ihtiyaç yok gibi gözüküyor. Sadece Lexer yeterli bence ve ayriyetten matematiksel işlemleriniz için HumanLook algoritması. Github da projeyi açıyorum o halde?

https://github.com/Rhodeus/DConsole

Bir kaç bir şey yapınca commit atarım.

Zekeriya
Bilgi meraktan gelir...
Avatar
zekeriyadurmus #34
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ı
Salih hocam bir başlangıç yaptım.

İçerisine RhS nin lexerini ve parserini attım ve gereksiz yerleri törpüledim. Şu anda işlem önceliklerini dikkate alarak hesaplama işlemleri yapabiliyor konsol :)

Zekeriya
Bilgi meraktan gelir...
Avatar
zekeriyadurmus #35
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ı
Kodlar üzerinde bazı gereksiz tanımlamalar var onları eğer yarın zaman bulabilirsem inşallah çıkartacağım ve birkaç ekleme yapacağım.

Belki de bu konu altında olabilecekleri güzel bir şekilde listelesek fena olmaz, ne dersiniz?

Değişken tanımlamaları. (Bunun için birkaç yol kullanabiliriz yine variant, sınıflar veya struct. Ali hocamın sınıflarda final olaylarını söylemesi beni sınıflar konusunda cezbetti açıkçası hem bu konsol uygulamasında hızın çokta bir önemi yok gibime geliyor. Daha düzenli bir yapı olması için sınıf yapıları kullanılabilir ne dersiniz? )

"1 + 2 = a + 4" şeklinde bir ifadeyi yazınca a nın değerini verse çok hoş olmaz mı? Ama bunu nasıl yapabileceğimize dair bir fikrim yok şimdilik.

Bütün D fonksiyonlarını doğrudan konsola entegre edebilme şansımız var bence. Yani konsol üzerinde writeln işlevini tanımlamasak da onu bazı özel yöntemlerle otomatik algılanmasını sağlayıp çalıştırabiliriz. Mesela bir compile time işlev ile kaynak kod üzerinde işlev taraması yaparız. Bu işlevleri de adres ve aldığı parametreler olarak saklarız. DLL çağırma işlemi için yaptığım iasm ile işlev çağırma olaylarını kullanıp her fonksiyonu yeniden tanımlamaktan ve depolama sıkıntısından kurtulabiliriz.

Biraz uzun, saçma veya projeyi başlangıç noktasından uzağa götürdüğünü düşünebilirsiniz ama bunlar sadece fikir :)

Zekeriya
Bilgi meraktan gelir...
Avatar
Salih Dinçer #36
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Estağfirullah bunlar güzel fikirler ve de başlamışsın bile...:)

Öncelikle eline sağlık çünkü RhS ile halihazırda olan emeklerini sanırım çok fazla uğraştırmadan bir 'base consol'a uyarladık bile. Ben elimden geldiğince app.d kısmını geliştirmeye çalışacağım. Bir yandan da diğer arkadaşlarımızdan gelen fikirler sayesinde, emin adımlar ile ilerleyebiliriz diye düşünüyorum.

Her ne kadar farklı notasyon olsa da Schema'daki gibi sınırsıza yakın matematiksel işlemler insanı cezbediyor ama bence önceliğimiz D olmalı. Amaç insanlara, D'yi uzaktan da olsa sevdirebilmek. Düşünsene bunun bir web uygulaması olduğunu ve insanlar std.algorithm'deki bir kaç olayı deneyebildiklerini.

Olay zor değil zannedersem? Yani kullanıcı bir veri (sayı da olabilir, tekrar eden bir metin dizisi de) beliryecek ve bunu D komutları ile tek satırda sunup sonucunu öğrenecek. Ama önce basitten başlayalım. Mesela, Fibonacci serisine ne dersin:
recurrence!("a[n-1] + a[n-2]")(1, 1).take(10).writeln;
// printout: [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] 
Hatta daha da ileri gidip (bilmem olur mu?) konsolda tek satırla kendimizi kısıtlamayıp şöyle bir döngü oluşturabilir miydik?
auto fibs = recurrence!("a[n-1] + a[n-2]")(1, 1);
foreach(i; 0..10) {
  fibs.popFront();
  fibs.front().writeln("\t=> fib(", i,")");
}
Bu sadece bir alternatifdi, yoksa take() kullanmak daha akıllıca ki bunun gibi map, reduce gibi bir sürü güzel örnek var. Haaa reduce()'a da bir örnek verelim. Bu da tek satır, kesin ve güzel...:)
reduce!((a,b) => a + b)(0, iota(1,10)).writeln;
// printout: 45 
Özetle, std.algorithm'deki olaylar bizim gönlümüzü gözümüzü açar! Sanırım asıl mesele, komutları kütüphane ile ilişkilendirmekten çok parametreleri doğru bir şekilde lexer'dan geçirmek. Bu konuda da sen ustasın güzel kardeşim benim...: :cool:

Sevgiler, saygılar...
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
Avatar
zekeriyadurmus #37
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ı
Öncelikle şunu düşünüyorum Salih hocam eğer bu dediğiniz şeyleri yaparsak konsol uygulaması olmaktan çıkıp bir yorumlayıcı olacaktır eğer öyle olacaksa projeye farklı bir isim verelim :)

Hatta daha da ileri gidip (bilmem olur mu?) konsolda tek satırla kendimizi kısıtlamayıp şöyle bir döngü oluşturabilir miydik?
Elbette yapılabilir. Kafamdaki plan şu: parser ayrıştırmaya başladı { geldi ama } gelmedi tekrar veri isteyecek tekrar veri gelene kadar lexer işlemleri yapılacak ve parsera tokenler gönderilir.

Ve eğer bu işlemleri yapacaksak tür konusunda nasıl davranacağız? Verilere script dilindeki rahatlıkla mı erişeceğiz yoksa compiled dillerdeki kurallarla mı erişeceğiz. Buna göre veri yapısı oldukça değişir.

Aslında bir derleyici-derleyici yapsa idik bu parse işlemleri için hiç uğraşmazdık şöyle ki;
(Backus Naur Form)
sayı := 0-9
binary := sayı sayı
word := a-z
variable := word (sayı | word) *
ifstatement := if ( ....
Bu şekilde de parser çok daha rahat bir şekilde dizayn edilebiliyor ama benim şu an bunlar hakkında yeterli bilgim yok maalesef :(


Bu konuda da sen ustasın güzel kardeşim benim...: 
Estağfurullah hocam olur mu öyle şey.

Ben bu hafta seminerde idim yeni bitti. Bu yazıyı da pazartesi günü hazırladım ama ancak gönderebildim internette sorun vardı gönderemedim bir türlü :)


Zekeriya
Bilgi meraktan gelir...
Avatar
Salih Dinçer #38
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Güzel şeyler olacak inşaallah...:)
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
Avatar
huseyin #39
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Aslında bir derleyici-derleyici yapsa idik bu parse işlemleri için hiç uğraşmazdık şöyle ki;

Aslında bunu c++ da bison sayesinde sağladılar ama bison ın tek sorunu türkçe karakter mevzularıydı sanırım :S
Huseyin
acehreli (Moderatör) #40
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Birisi vibe.d ile bir web konsolu yapmış:

  http://forum.dlang.org/post/kafankvgdyavqsbsdzzf@forum.dla…

Demosu:

  http://youtu.be/6Ycr4N1jb_g

Projesi:

  https://github.com/callumenator/dabble

Ali
Avatar
Salih Dinçer #41
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Bilgilendirme için teşekkürler...

Özellikle YouTube vidyosu hemen anlamak için "cuk" oturmuş...:)

Tam istediğim gibi !!!
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
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:
Sayfa:  önceki  1  2  3 
Forum: Projeler Genel RSS
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-17, 16:34:31 (UTC -08:00)