Ana içeriğe atla

Kayıtlar

Ekim, 2011 tarihine ait yayınlar gösteriliyor

Donanım ve Yazılım

"Kemiklerimde bir sızı var!" diye başlayan bir cümle sonrasında sağlıktan söz etmek doğru olmaz. Bu nedenle "hard disk yazma anında ilginç sesler çıkarıyor!"  cümlesi de, paralel olarak yazılımın başarısı ne olursa olsun, sonunda etkin olmayan bir sonuç ortaya çıkaracağı gerçeğini ortaya koyar. Yazılım tasarımında hiç bir yerde olmayan soyutlama ( abstraction) özelliği olsa da yazılım en sonunda çalışacağı bir donanım noktasına gelir ve orayı geçemez, kalır! Şimdi, ürün tasarımlarını biz üst model destekli halde yapalım, soyutlayalım, veri katmanını değişik teknolojileri kullanarak kuvvetli tipler haline getirelim, katmanlar arası geçiş ya da sunucular arası taşıyalım  ama mutlaka donanımı da göz önününe alalım. Eğer yazılım tasarımı her ne kadar donanım ile içsellik yaşarsa sonuç o kadar başarılı olacaktır. Yeni ürün hayatı ve yeni süreç; Donanım ve yazılım mutlaka birbirlerini tamamlamalı İnsan davranışlarına daha yakın ya da çok iyi taklit eden donanım

.Net 4.0 - GC

Aynı EXE , aynı DLL dosyaları, aynı sırayla çağrılan yöntemler, aynı sayıda thread ve tabii ki aynı bilgisayarda yapılan bir test ve sonucu: .Net 4.0 CLR memory değerleri, .Net 3.5 CLR sürümüne göre daha az çıkıyor. " Bytes in all heaps ", " Gen 0 heap Size ", " Gen 1 heap size " ve  " Gen 2 heap size " daha az çünkü " gen 0,1,2 collection " değerleri daha fazla ve daha sık GC toplama işlemi yapılmış. LOH tarafında değişen fazla birşey yok

Microsoft Debugging aracı hakkında

Bellek yönetiminde olası sızıntıları (leak) tespit etmek için kullanılabilir. Bu durumda denetim yapılacak uygulama WinDbg ile çalıştırılmalı ya da WinDbg attach özelliği ile ilişkilendirilmelidir.  Daha sonra; .Net framework 2.X için ".loadby sos mscorwks" .Net CLR memory yorumlamada yardımcı olacak uygulamanın etkinleştirilmesi için "!dumpheap -stat" heap ortamında yer alan ve henüz  (GC tarafından) toplanmamış nesneleri ve adreslerini listelemek için " !dumpheap -type Netle.Web.4.0.Core.Ontology "  sınıfına ilişkin nesneleri ve adreslerini listelemek için "!EEHeap -gc" heap (gen0, gen1, gen2, Large object heap LOH ) adreslerini listelemek için "sxi clr" etkin çalışan bir thread içinde istisna ( exception) çıkması durumunda debug ortamının beklemesi için ilgili komut satırları çalıştırılabilir.... Peki leak nasıl bulunur? Test edilecek yöntem tekrar tekrar çalıştırılır Daha sonra, GC.Collect() ile be

Masal bir yaşında

Bugün kızım bir yaşını doldurdu. Kısa ama uzun bir süre sonunda kızım artık yeni yaşından beklentilerimizi karşılayabilir durumda... Kızım büyüdü, yürümeye gayret ediyor, emekleme aşamaları tamamlandı, yaşını gösterebiliyor, bana (canı isterse) seslenebiliyor, annemmmm diye ağlayabiliyor ya da çapkın bir gülüş ile beni tekrar tekrar kendisine hayran bırakabiliyor... Evet kızım, Masal, bir tanem büyüdü. Araba direksiyonunda, bilgisayar başında, bahçede, c# editor karşısında, dışarıda, parkta, avm gezmelerinde babasına ya da annesine benzer ya da benzemez davranışları sergilemeye başladı. Çok mutluyum, özgün ve kendine özel bir dünyası oldu. İyi ki doğmuş kızım... Canım... Balım... Masal

Google DART ve tabii ki ilk kod

interface SoftwareCompany {   num empCount(); } class NetleYazilim implements SoftwareCompany {   num empCount() => 14; } main() {   var a = new NetleYazilim();   print(a.empCount()); }

Life.Sort_Area_Size

Üç ay geçti ve etrafımdaki değişkenleri toplamak, sıralamak, önceliklendirmek ve arkasından yorumlamak ciddi zaman almaya başladı. Bu süreci hızlandırmak için oracle sağ olsun, "sort area size" değerimi arttırmam gerekecek. Bu sefer, tüm session 'lardan gelen değişkenler ile sıkıntı yaratabilir. Sonuçta bellek yönetim kapasitem de sınırlı, SGA ya da PGA yerleşkem bunu kaldırmayabilir. Peki, "log buffer" ile devam edelim, olayları izleyelim, gerekirse "undo" yapalım dedim, tabii ki sorun oldu çünkü "undo snapshot" anlamsız bir görüntü vermeye başladı. Tekrar toparlamak ve işe koyulmak için "alter session" yaptım, "scope=spfile" hem de... Servis tekrar açıldı, yaşam döngüsü başladı işlemeye, bu parametreler bir süre beni ayakta tutacak. "DB-Block-Size" artık 16 değil. Concurrent  erişim fazla olmaya başladı, okumak ve yazmak önemli hale geldi. Yeni değer 32 değil, 8 hiç değil. Bu değerin anlık yaşamsal en iyilen

Taşındım...

Eski ana sayfamdan taşındım, mesajımı güncelledim ve yeni yer olarak buraya bağlantı verdim.... Benimle ya da belgelerimle ilgili arama motoru sonuçları geçersiz çıkabilir. Eski adresimdeki dosyaları bir ara bu ortama da yükleyeceğim...

Netle ve e-fatura

Netle yazılım olarak e-fatura projelerini de tasarlamaya başladık. Yeni paket ile ERP bağımlı / bağımsız çözümler geliştirebiliyor. Ayrıca ub-tr çıktısında gereksinim olması durumunda özelleştirme yapabiliyoruz... Çok yakında e-fatura bilgilendirme sayfamız ile e-fatura kapsamında eklediğimiz özellikleri ayrıntılı şekile duyuracağız... Daha fazla bilgi için :  Netle Yazılım

Danışmanlık

Yazmak, tasarlamak, üretmek ve şimdi de danışmanlık... http://www.netle.com.tr/danismanlik-hizmetleri

ASP.Net uygulama geliştirme notları

Asp.Net ile web uygulaması geliştirmek

Yine bir gün yazıyorum....

ve karşımda o yıllarda çözümü imkansız ve olsa bizi yukarılara taşıyacak bir gereksinim ile karşı karşıya kaldım. Kalemi elime aldım, yazdım, çizdim, bozdum, tasarladım, nefes aldım, sabır gösterdim ve olmadı. 2 sene ısrar ve sonrasında tekrar sabır, sabır ve sabır... Sonra gereksinim çözüldü, oldu, sevindim, üzüldüm, derledim, test ettim, genişlettim, refactor ile etkinleştirdim, test kodlarını gözden geçirdim, belgeledim, kullanımını video ortamına sakladım, yayınladım, paylaştım, sosyalleştirdim, eğitimlere katıldım, eğittim, fanatikler oldu, siteleri açıldı, sevinildi hep birlikte, hüzünlerle doldu zaman çözümsüzlüklerde ve tabii ki süreç sonlandı, olaylar arşivlendi, anılara olarak anlatım başladı... İşte özel bir  sürecin ve anının ortak paydası: Tasarım, Ürün, Kullanım, Alışkanlık ve Yeni Sürüm