Bilmek istediğin her şeye ulaş

Emre Sebat, 

Yazılım Sorumlusu

Yazılım Sorumlusu Emre Sebat inploid.com'da 0 soru sordu, 8 soru yanıtladı ve 7 takipçisi var.

Kasım 2012

Emre Sebat bir yanıt verdi.

Bir yazılım projesinde; karşılaşılan hata üzerine gitmek mi yoksa kodu baştan yazmak mı daha faydalıdır?

Projenin ne aşamada olduğu ile bağlantılı olarak karar verilmesi gerekir.

Yayında olan bir uygulama için hata gidermek zorundaysanız hem süre kısıtı vardır, hem müşteriler tarafından tepkiler gelir kısaca çok kısa sürede çözüm üretmek zorunda kalabilirsiniz. Ve bazen bu şartlarda hata bir türlü bulunamaz veya yeteri kadar incelenemez. Bu yüzden projenin en başında loglama konusuna özellikle ağırlık vermek gerekir. Program akışının ne seviyede takıldığını debug yaparak değil de detaylı log kayıtlarından takip edebilmek çok daha efektif ve kolay bir yoldur.

Mesela loglardan konunun sizin kodunuzdan değil de kullanılan 3. parti bir bileşenden kaynaklandığını görüp zorunlu olarak yeni bir yoldan tekrar yazmaya başlayabilirsiniz.

Kasım 2012

Emre Sebat bir yanıt verdi.

Sizce hangi sanallaştırma sistemi daha verimli ve daha sağlıklı çalışmaktadır (Vmware, Oracle Virtual Box veya Microsoft Virtual PC)?

MacOS sistemlerde VMWare Fusion çok başarılı, sistemle entregrasyonu, tam ekran çalışma ve çoklu monitor desteği ve performansı sanal makinada olduğunuzu unutturabiliyor. İkince sırada Parallels Desktop sayılabilir.

Windows sistemlerde VMWare ve VirtualBox sıralanabilir.

Maliyet açısından bakılacaksa tabi ki freeware alternatifler tercih edilir, fakat uzun vadede uzmanlaşmış firmaların ürünlerini kullanmak bazen bizi daha çok dertten kurtarabiliyor. Freeware ne kadar sevsem de bazı shareware ürünler konularında daha üstün olabiliyor.

Kasım 2012

Emre Sebat bir yanıt verdi.

Native uygulamalar mı daha hızlı çalışır .NET uygulamalar mı? Neden?

Merhaba,

Native uygulama derken neyi kastettiğini anlamak biraz zor, windows işletim sistemi dışında da .NET platformu çalıştığı için platforma göre native tanımı değişebilir. Çoğu sistemde C++ native sayılabilir, fakat ruby, perl gibi farklı diller sistemde yine runtime gerektirebilir.

.NET ortamında C#, VB.NET, IronPython gibi kaynak kodlar CIL diline dönüştürüşür ve CLR tarafından makina kodu seviyesinde çalıştırılır, bu katmanlar nedeniyle performans tabi ki biraz farkediyor.

Özet olarak şunu söyleyebilirim, benchmark testlerine bakarsak tabi ki arada farklar çıkar, fakat bu kullanıcı tarafından hissedilebilecek seviye değil artık. Kullandığımız bilgisayarlar bu tarz ufak farkları hissettirmeyecek kadar hızlılar artık, burada geliştirme ortamında kolaylıklar ve hızlı kod geliştirmek daha önemli kriter haline geliyor artık.

Ekim 2012

Emre SebatVaroluş Hakkında konu başlığını takip etmeye başladı.

Varoluş Hakkında

Düşünmekle başlıyor her şey...

Ekim 2012

Emre SebatGenel Kültür (Muhabbet) konu başlığını takip etmeye başladı.

Genel Kültür (Muhabbet)

Genel Kültür bilgilerinin derinlemesine incelenebildiği tartışılabildiği uzmanlık ağıdır.

Ekim 2012

Emre SebatFilmler konu başlığını takip etmeye başladı.

Filmler

Film, tarihi bakımdan ilkin hareketli resimlerin kaydı ve gösterilmesi için kullanılan bir terimdi. Ancak daha sonra genelleştirilmiştir. Fi...

Ekim 2012

Emre Sebat bir yanıta alt yorum yaptı

Merhaba,
Java platform bağımsız bir dil değildir, ya da şöyle diyelim runtime yüklü olan her platformda çalışır.
Bu şekilde bakarsak Mono projesi sayesinde .NET uygulamaları Unix sistemlerde de çalışaibliyor, bu anlamda pek farkları yok demektir, yani olay runtime olup olmaması .
Kullanılabilir, zira Java platform bağımsız bir dildir.
.NET derleyicisinin sadece .NET platformunda bulunan dillere desteği vardır, ancak Java'nın platform bağımsız olması sebebi ile kullanılabilir. 

Desteklenen dillerin bir listesi için buraya bakabilirsin: dotnetpowered.com/languages.aspx
veya startvbdotnet.com/dotnet/languages.aspx 
Ekim 2012

Emre Sebat bir yanıt verdi.

Asp.Net MVC'de iki farklı tablodaki verileri aynı sayfada kullanmak istiyorum. Nasıl yapabilirim?

MVC de en sık karşılaşılan sorunlardan biriyle tanışmışsınız, genelde Model-View-Controller olarak düşünsek de bu gibi problemlerde metodolojiye en uygun çözüm sayfalara özel ViewModel kullanmaktır. Bir sayfada Entity1, Entity2 gibi birden fazla tip kullanılacaksa bu tipleri içeren bir ara sınıf yaratıp View a Model olarak tanımlanır.

ViewBag kullanımı dynamic olması açısından tercih edilebilir fakat runtimeda derlendiği için hataya açıktır.

Ekim 2012

Emre SebatHakan Köse kişisini takip etmeye başladı

Hakan Köse, İnternet Girişimcisi, @hakank

Web Application Development, ASP.NET, C#, SQL Server, Web Design and some passion..

Ekim 2012

Emre SebatSerkan Köse kişisini takip etmeye başladı

Serkan Köse, Girişimci, @serkan

inploid.com kurucu ortağı, fotoğraf meraklısı (https://www.flickr.com/photos/koseserkan/ ve https://instagram.com/koseserkan/), motosiklet sevdalısı, elektronik yüksek mühendisi, insan ve bir adam. Dünyanın değişebileceğine inanan bir adam...

Ekim 2012

Emre SebatAbdurrahim Eke kişisini takip etmeye başladı

Abdurrahim Eke, Bilgisayar Mühendisi, @ekelog

Yazılım Mühendisi / opsgenie.com / ifountain.com , Ağ İzleme, Bilişim, Oyun Geliştirme, Eğitim, Psikoloji, Sosyoloji, Bilişsel Bilim

Ekim 2012

Emre Sebat bu yanıtı beğendi:

Hangi veritabanını kullanıyorsunuz? Niçin?

* Compass - compass-project.org/ - Apache Lucene tabanlı, real time min-orta ölçekli arama motoru, ifountain.com RapidOSS yazılım entegrasyon ürününün eski versiyonu için kullanılıyor.

* ElasticSearch - elasticsearch.org/ - Apache Lucene tabanlı, near - real time, büyük ölçekli distributed arama motoru - ifountain.com / RapidOSS yazılım entegrasyon ürününün yeni versiyonu için kullanılıyor (distirubuted/highly scalable vb. işler için).

* Amazon DynamoDB - Çok yüksek ölçekli işlemler için, key-value store, basit ama güçlü, stabil, Cassandra benzeri fakat daha basit bir veri servisi - (distributed, highly scalable) - opsgenie.com/ alarm servisinin yüksek veri trafiği gerektiren kısımlarında kullanıyoruz,

* Amazon SimpleDB - Mini - orta ölçekli SQL tabanlı arama motoru, relation olayları yok, kompleks query'ler yok adı gibi basit (not much scalable) -
opsgenie.com/ alarm servisinin az veri trafiği gerektiren kısımlarında kullanıyoruz.
Ekim 2012

Emre Sebat bir yanıt verdi.

Microsoft Visual Studio ile programlama yaptığımızda yazdığımız kodların daha düzenli gözükmesi için gereken kısayol hangisidir?

Merhaba,

Bu kısayollar dışında kodunuz belli standartlar takip etmesini ve sıraya girmesini istiyorsanız ek olarak

Gibi eklentileri kullanabilirsiniz, bu şekilde contructor, property gibi regionlar otomatik açılır, using tanımları sıraya girer, kısaca belirlenen koşullarda kod standartlaşır.

Eylül 2012

Emre Sebat bir yanıt verdi.

Yazılımların ekran kontrolleri için dikkat edilmesi gereken özellikler nelerdir?

Merhaba,

Yazılımların ekran kontrolleri için bence göz önünde tutmanız gereken en önemli konu esnekliktir, ve bu kontrollerin hard-coded olmamasıdır. Özellikel dağınık yapıda bir sunucu-istemci uygulama yazıyorsanız ekranlardaki giriş kontrollerini koda gömerseniz çok fazla güncelleme ihtiyacı doğrurursunuz. MVC tarzı bir metodoloji izliyorsanız zaten modelinizi tasarlarken belli kuralları model seviyesinde tanımlayıp bunların otomatik olarak devreye girmesini sağlayabilirsiniz. Web uygulamalarında kontroller iki aşamalı olur, hem javascript ile kullanıcı tarafında, hem de javascript kapalı olabileceği durumlar için sunucu tarafında yapılmalıdır.

Eylül 2012

Emre Sebat bir yanıt verdi.

İki farklı veritabanını birbirine nasıl bağlayabilirim?

Bu arada iki farklı veritabanı derken iki farklı sistem mi yoksa sunucu mu demek istiyorsunuz? Yani MS-SQL ile MS-SQL kolaydır Remote Database eklenir, MS-SQL ile Oracle için MS-SQL olan sunucuya TNS kurulur gibi farklı kullanımlar var.
Ağustos 2012

Emre Sebat bir yanıt verdi.

System.FormatException: String was not recognized as a valid DateTime hatasını nasıl düzeltebilirim?

Bu gibi problemler için en kontrollü ve kolay yollardan biri şudur:


Code
DateTime date = DateTime.MinValue;
var formats = new string[] {"dd.MM.yyyy", "dd.MM.yyyy HH:mm", "dd.MM.yyyy HH:mm:ss"};
if (DateTime.TryParseExact('01.01.2012', formats,System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out date ))
{
//başarılı çevrim yapıldı
}


Bu şekilde yerel aralar yerine kullanmak istediğiniz kadar tarih formatı ekleyerek try catch bloğu da yazmadan çevrim yapabilirsiniz.

Daha Fazla