28 Aralık 2015 Pazartesi

W3C Markup Validation Nedir?

Web yazılımlarında genel olarak ön yüz tarafı angarya olarak görülür ve yazılımına da çok önem verilmez. Genelde istediğim gibi bir sonuç versin yeter mantığı ön plandadır (Açıkçası benim düşüncem bu şekilde). Tabiki bununda dezavantajları var. Arama motorlarının babası google özellikle bu konuda çok hassas.

Sonuç olarak düzenli ve doğru yazılmış bir ön yüz yazılımı Google spiderlarınında daha başarılı bir tarama yapmasını ve sayfalarınızın kaynağa atılırken daha iyi bir puan almasını sağlayacaktır.

MVC Jquery Post ve Json ile Ekranda Verileri Göstermek

MVC Jquery Post yazımda  jquery post işlemine değinmiş, yazının sonunda da bir sonraki yazımda bu işlem ile ekrana geri dönüş yaparak verileri ekrana yazdıracağımı söylemiştim. İşte o yazı bu yazı :)

Burada önemli olan olay jquery post işlemi ile yaptığımız işlemlerin sayfayı post ettirmediği için direkt olarak sayfada gösterilememesinden kaynaklanıyor. Yani ben jquery post işlemi ile verileri bir listeye atsam ve bu listeyi de View'e göndersem sayfa post olmadığı için veriler sayfada görünmeyecektir.

İşte bu noktada JSON devreye giriyor.

MVC Jquery Post İşlemi ile Sayfalar Arası Veri Aktarımı

Web projelerinde jquery veya javascriptin çok faydalı olduğunu sanırım kimse inkar edemez. Peki sayfalar arası veri taşımak için bunu kullandığımızda bu teknolojiler ne kadar işimize yarıyor ya da MVC'de neler yapabiliriz ona bakalım.

İlk olarak DenemeClass adında bir sınıf oluşturalım. Propertylerimiz ID(int), Name(string) ve Surname(string) olsun.

4 Aralık 2015 Cuma

MVC Validation Kullanımı

Yaptığımız işlemlerde genelde bazı kurallar koyar ve bu kurallara uyulmasını isteriz. Mesela telefon numarası boş olamaz, veya bu alan sadece rakamlardan oluşabilir gibi. Peki bunu MVC de nasıl kontrol edeceğiz ona bakalım.


24 Kasım 2015 Salı

CSS ile Görsel Denemeler

Css'i karıştırırken karşıma görsel olarak işinize yarayabilecek bir kaç özellik çıktı. Bunları da sizlerle paylaşayım dedim. Resimler büyük birden çok olduğu için burada kodlarını paylaştıktan sonra bir link üzerinden görseline yönlendireceğim sizi. Oradan canlı olarak sonuçları görebilirsiniz.

20 Kasım 2015 Cuma

Jquery Puzzle

Yine bir jquery uygulaması ile karşınızdayım. Bu seferki eğlence konumuzu hepinizin bildiği bir konu : "Puzzle". Tabi basit bir örnek yaptım. Çünkü fotoğrafları eşit şekilde parçalamak oldukça zahmetli ve benim için sıkıcı bir iş :)

İlk olarak örneğimizin küçük bir ekran görüntüsüne bakalım.


18 Kasım 2015 Çarşamba

Jquery Oyun Denemesi

Jquery ile denemelerimiz devam ediyor. Bu sefer biraz daha eğlenceli olan bir uygulama geliştireceğim. Eski oyunlar gibi basit ama seviyesi arttıkça zorlaşan sonu olmayan bir oyun. Adına oyun diyorum ama grafiksel olarak aslında hiç bir özelliği yok aslında :)

17 Kasım 2015 Salı

Jquery Kontroller Üzerinde Değişiklikler Yapmak

Web projelerinizde kontrollerinizin daha güzel veya tepkilerin daha belirgin olmasını istiyorsanız kontrollerinize görsel olarak birşeyler eklemeniz en iyi yöntemlerden bir tanesi olabilir. Mesela bir alana ve butona basıldığında renginin değişmesi gibi işlemler yapabilirsiniz.

Şimdi bu söylediklerimize kod tarafında bakalım. Hem görsel hemde kod ile daha iyi anlaşılır olacağına inanıyorum.

16 Kasım 2015 Pazartesi

Notepad++ Emmet Eklentisi

Html yazanların en büyük sıkıntılarından bir tanesi tekrarlanan tagleri teker teker yazmak zorunda olmaktır. Emmet eklentisi bu sorun için çok yaratıcı ve güzel bir uygulama gerçekleştirmiş.

Notepad++ içinde bu eklenti mevcut. Hadi bu eklentiyi kuralım ve nasıl kullanıldığını bakalım.

15 Kasım 2015 Pazar

Jquery Event Oluşturma - 2

Bir önceki yazımda jquery ile event konusuna girmiştik. Basit bir örnek yaptıktan sonra sizlere bu konunun daha detaylı olduğundan bahsetmiştim. Sıra geldi event konusunun detayına.

Daha önce yaptığımız örnekte bir tane inputumuz vardı. Üzerine gelince alert veriyorduk. Peki aynı yapıda ve görevi olan 100 tane inputum olursa ne olacak? Hepsi için ayrı ayrı event yazacak halim yok tabiki. İşte burada detaya girmiş bulunuyoruz.

Jquery Event Oluşturma - 1

Bir önceki yazımda  jquery ile küçük bir uygulama yapmıştık. Oluşturduğumuz sayaca biraz daha özellik katmak istersek neler yapabiliriz peki? Mesela ben mouse ile bu sayacın üzerine gelip değerini alabilir miyim? Cevap EVET :)

İşte tam bu noktada eventler devreye giriyor. Aslında event konusu biraz daha detaylı ama ben ilk olarak kısaca bahsedip bir örnek yapacağım. Bir sonraki yazımda da detaylarına daha fazla gireceğim.

Jquery ile Sayaç Yapma

Ben çalışmalarımda genelde client side için jquery kullanıyorum. Bu teknolojiyi kullanırken de eğleniyorum açıkçası. O yüzden de bugün eğlenceli bir çalışma oluşturmak istedim. Jquery ve Html kullanarak bir sayaç yapalım ve buna daha sonra özellikler katalım.

11 Kasım 2015 Çarşamba

MVC CKFinder Kullanımı ve Ayarları

CKEditor yazımda  belirttiğim gibi dışarıdan yükleyeceğimiz resim gibi medya ürünleri kendi projemize yüklemek için CKFinder'a ihtiyacımız var. Peki bunu nasıl yapacağız ve ayarları nasıl belirleyeceğiz?  Hadi başlayalım.


10 Kasım 2015 Salı

MVC CKEditor Entegrasyonu ve Standart Özellikleri

Blog tarzı web sitelerinde yazılarınızı eklemek için editorler kullanılır. Hem yazılarınızı otomatik olarak HTML'e çevirebilir, resim, video gibi medya ürünlerini kullanabilir ve hatta work excel gibi office araçları üzerinden yazılarınızı düzenleyebilirsiniz.

Bu yazımda bende en çok kullandığım editor olan CKEditor'ü MVC projenize nasıl ekleyeceğinizi göstereceğim. Tabi yanında bir de CKFinder ekleyeceğiz ama onu yazının ileri kısımlarında değineceğim.

5 Kasım 2015 Perşembe

Mühendis Kimdir?

Son zamanlarda aklımı kurcalayan sorulardan birisiydi aslında bu soru. Mühendis kimdir? Aslında küçüklükten beri gördüğüm mühendisler bana gerçek mühendis kavramını çok güzel bir şekilde örneklendirmişti ancak son zamanlarda bu güzel ve yüce sıfatın basit bir kelime haline geldiğini görüyorum.

Bana göre gerçek mühendislik sadece üniversitesinden mezun olunarak alınmaz. Hayatın her anında bu sıfat yaşanmalı ve yaşatılmalıdır. Bu konu hakkında daha uzun yazardım ama benim düşüncelerimi özetleyen ve güzelce kaleme dökülmüş bir yazı buldum. Bu nedenle sizlerle onu paylaşacağım.


4 Kasım 2015 Çarşamba

Excelde Macro İşlemleri

Genel olarak iş yerlerinde veri göndermek için excel dosyaları kullanılır. Bazen bu excellerde değişiklikler gerekebilir. Bunu elle yapabilirsiniz ancak her zaman sağlık bir sonuca ulaşabileceğinizin garantisi yok. Hele ki veri sayısı da çok uzunsa bu tam bir eziyet haline gelebilir.

İşte bu noktada excelde macro işlemlerini kullanabilirsiniz. Bunun için excelde geliştirici sekmesini açmanız gerekiyor. Eğer geliştirici sekmesini eklemek istemiyorsanız Alt+F11 kısayolunu da kullanabilirsiniz.

2 Kasım 2015 Pazartesi

Delegate Kullanımı

Bugün iş dönüşünde radyodaki programı dinlerken aklıma bu yazıyı yazmak geldi. Radyodaki soru şuydu : "Kadınlar ne ister?". Tabi cevaplar oldukça enteresan ve bir hayli farklıydı. Bunun delegate ile ne alakası var diyebilirsiniz. Bende bilmiyorum içimden geldi :)

Delegate dediğimiz olay genel olarak temsilci tanımlamasıyla kullanılıyor. Ben ise onu herkesin isteklerine cevap vermeye çalışan bir amele olarak tanımlıyorum :) Çalışkandır delegate, garibandır delegate :) Neyse bu kadar geyik yeter. Bir bakalım neymiş bu delegate.

1 Kasım 2015 Pazar

Merhaba Java

Gerek değişik bir şeyler deneme amaçlı gerekse ileride işime yarar diye düşündüğümden Javaya ufak da olsa bir giriş yapayım dedim. Bunun içinde ilk yapmam gereken JDK'sını kurmak oldu. Daha sonra eclipse indirerek java yazmayı denemeye başladım.

Tabi Visual Studio alışkanlığı olan birisi olarak ilk önce biraz değişik geldi ama en azından basit bir kod yazacak kadar ilerleme kaydettim :)

MsSql Kendi Tipinizi Oluşturmak

Çok tablolu veritabanı kullanan arkadaşlar bilir. Bir kolonu her tabloda kullandığınız durumlar çok fazladır. Her seferinde bu kolonu tekrar tekrar tanımladığınız tablolar vardır. Tabi bir de veritabanını sizin dışınızda kullananlar varsa onların da bu kolonu farklı tipte tanımlama ihtimali olabilir.

27 Ekim 2015 Salı

MSSQL Dinamik Sorgu (Dynamic Query) Kullanımı

Sanırım hepimiz yazılıma yeni başlarken kod içerisinde textler aracılığıyla veri tabanı sorguları yazıp kullanmışızdır. Yeni mezunların bir çoğunda gördüğüm eksikliklerden bir tanesi de bu sanırım. İşe başladıklarında veritabanı işlemleri sırasında hep commadtext kullanmaları. Tabi bunda okullarımızın da etkisi var. Neyse bu başka bir konu.

Veritabanı işlemlerinde entityframework öncesinde bizde bir çok kez storedprocedure yazmak zorunda kaldık. Bu küçük projelerde sorun oluşturmasa da büyük projelerde baş belası durumlara neden olabiliyor. Aynı prosedureler farklı isimlerde yazılabiliyor ya da bir sürü prosedure arasında kaybolup gidebiliyorsunuz.

25 Ekim 2015 Pazar

MVC File Upload İşlemi

Büyük çaplı projelerde genellikle dosya eklemeniz gereken durumlar karşınıza çıkacaktır veya çıkmıştır. Bu dosyaları ister veri tabanına isterseniz de projenizin içine yükleyebilirsiniz. Bu yazımda MVC de dosyaları projemizin içine nasıl ekleyebileceğimizi göstereceğim.

22 Ekim 2015 Perşembe

C# Extension Metot Kullanımı

Bu yazımda Extension metotlardan bahsedeceğim. Kısacası mevcut sınıflara ek yöntemler eklemenizi sağlar. Mesela string sınıfına gelen inputdaki "." ve boşluk işlemlerini silen  ve sonuna ekleme yapabilen bir işlem yazabilirsiniz ve bunu tüm stringlere uygulayabilirsiniz.

Sözün kısası makbul hemen uygulamaya geçelim. Genelde projelerde extensionlar için bir klasör açıp onun içinde tanımlarlar bende öyle başlayacağım. İçinede extensionlarımı yazmak için bir class ekliyorum.

19 Ekim 2015 Pazartesi

Interface Nedir ?

Dün yazdığım abstract class yazısından sonra bugünde object orientedın temel taşlarından birisi olan interface'i anlatmak gerekir. Örnek kodlara başlamadan önce interface'i tanımlamak lazım.

Interface sınıflara yetenek sağlayan aynı zamanda bazı yönleriyle abstract classlara benzeyen yapılardır. Bu adımları kodlama ile anlatırsak daha da iyi anlaşılır.

18 Ekim 2015 Pazar

Abstract Class Nedir ?

Bloğa yazı eklemeyeli uzun zaman oldu. Açıkçası bazen aklıma yazacak çok fazla bir şey gelmiyor o nedenle de ne yazacağımı düşünerek zaman kaybettiğimi düşünüyorum. Bu yüzden temel şeyler yazarak yazılara devam etmeye karar verdim. Yazımda sizlere abstract classlardan bahsedeceğim.

Aslında abstract classlardan bir çok yerde base (temel) class olarak da bahsediliyor ki bu sıfatı da hak ediyor. Abstract classlar projenizde oluşturacağınız sınıfların bir çok ortak noktası varsa kullanılan bence yazılımda her zaman kullanılması gereken bir sınıf. Şimdi bu sınıfı örnek kodlarla inceleyelim.

12 Ekim 2015 Pazartesi

Jquery ile NumberBox Oluşturmak

Projelerde en çok kullandığımız bileşenlerden bir tanesi TextBox'lardır. Bazen bu bileşenlerin sadece rakam girilen alanlar olmasını isteriz. Peki bu durumda ne yapacağız. Ben jquery kullanmayı tercih ettim. Biraz araştırma yaptıktan sonra kullanabileceğim bir şeyler buldum.

11 Ekim 2015 Pazar

MVC ViewBag Kullanımı

Bu yazımda MVC kullananların çok tavsiye etmediği ama genelde de kullanmak zorunda kaldığı ViewBag konusunu ele alacağız. Öncelikle ViewBag'in ne olduğunu açıklayayım ve daha sonra neden tavsiye edilmediğine bir açıklık getirelim daha sonra da örnek kullanımına geçelim.

1 Ekim 2015 Perşembe

MVC ActionFilterAttribute ile Attribute Oluşturmak

Merhaba. Bugün ki yazım benim yazarken sevdiğim işlerden biri olan MVC'de attribute kullanımı. Bu konuda aşırı bir tecrübem var diyemem ama yazarken çok zevk aldığımı da inkar edemeyeceğim. MVC ActionFilterAttribute'ünü ben nerede kullandığımı da burada hemen açıklayayım. Action işlemlerim başlamadan veya çalıştıktan sonra yapmak istediğim işlemler var ise onları belirtebileceğim Attributeler oluşturarak daha efektif bir yazılım yaptığımı düşünüyorum. Şimdi gelelim örneğimize.

30 Eylül 2015 Çarşamba

MVC HtmlHelper Kullanımı (3)

Geldik yine bir MVC HtmlHelper yazısına. Bundan önceki yazılarımda sizlere @helper metotlarının nasıl kullanılacağını göstermiştim. Bugün ise benim daha çok hoşuma giden ve bence daha esnek yapıya sahip bir kullanıma.

Bu yazımda HtmlHelper sınıfına extension yazacağız ve Viewlerimizin içinde bu extension'ı kullanacağız.

29 Eylül 2015 Salı

MVC HtmlHelper Kullanımı (2)

Laptop elimin altında visual studio'm açık ve ben böyle duracağım. Tabi ki sıkıldım. Bir önceki htmlhelper yazımın üzerinden bir saat geçmişken dayanamıyor ve ikinci kullanımı da yazmaya başlıyorum. Boş durmak pek bana göre değil anlaşılan.

Bir önceki htmlhelper kullanımımızda hatırlarsanız helper metodumuzu view içinde yazmıştık. Tabi bu genel bir kullanım olmaktan uzak. Diğer viewlerimizin içinde de aynı metodu tanımlamamız gerekecek. Olacak iş değil :)

MVC HtmlHelper Kullanımı (1)

Özellikle kod yazarken en sevmediğim şeylerden bir tanesi de aynı kodu tekrar tekrar yazmaktır. Bu hem sıkıcı hem de kodun kalitesini düşüren bir durumdur. Bunun içinde elimden geldiğince kod tekrarından kaçınmaya çalışıyorum. MVC razor kullanırken tasarım sırasında bu durumla oldukça karşı karşıya kalıyorum. İşte bu noktada Html Helper konusuna girmiş oluyoruz.

MVC razor kullanırken pure html kullanımından dolayı css, html ve yeri geldiğinde (ki bolca yeri geliyor) javascript yazımı kullanmak gerekiyor. Peki ben her seferinde bu kodları yazmaktan nasıl kurtulacağım. Yazının başlığındaki (1) rakamından anlayacağınız gibi birden çok yöntemi var. Bu yazımda birinci yöntemi anlatacağım.

26 Eylül 2015 Cumartesi

Linkedin Giriş Hatası

Sosyal ağların en çok kullanılanı facebook olduğu gibi iş ağının da en çok kullanılanı Linkedin'dir. Sektörünüzdeki kişileri, çalışma arkadaşlarınızı , firmaları bularak birçok bilgi edinebilirsiniz. Dünya üzerinde bir çok kullanıcısı olan bu sitenin geçen gün dikkatimi çeken bir hatasını paylaşmak istiyorum.

C# Const ve Readonly Kullanımı

Yazılım yaparken bazı değerlerin sabit olmasını ve değişmemesini isteriz. Bunlar için kullandığımız tanımlamalardan başlıcaları const ve readonly'dir. Tabi bu ikisinin arasında kullanım farklılıkları vardır. Hadi bunları nasıl kullandığımızı ve farklılıklarına bakalım.

23 Eylül 2015 Çarşamba

MVC Dinamik SelectListItem Listesi Oluşturmak ve DropDownList Doldurmak

MVC ' de dropdownlistleri doldurmak için SelectListItem sınıfını kullanmanız gerekiyor. SelectListItem sınıfının iki propertysi yani Text ve Value'larının da dolu olması gerekli ki dropdownlist'inizde bu değerleri doldursun.

mvc dropdown1

Windows Form Accept Button Kullanımı

Bu yazdığım yazı oldukça basit ve kolay bir işlem. Windows Form'da enter ve space tuşlarına basıldığında ekrandaki herhangi bir buttonun click event'i çalıştırma işlemini göstereceğim.

22 Eylül 2015 Salı

MVC AntiForgeryToken Kullanımı

Merhaba yine bir MVC bilgisi ile birlikteyiz. Genel olarak web yazılımcıları en azından ben öyleyim kendi sitelerini kale gibi görürler. Yani kalenin kralı da biz oluyoruz aslında. Her krallıkta olduğu gibi kral kendi topraklarına ve kalesine kimlerin girip çıktığını bilmek ister. Tabi bunu kapıda oturup kendisi yapacak hali yok. Muhafız denen bir şey var. İşte AntiForgeryTokenlar da bizim muhafızlarım. Küçük bir demoyla ne demek istediğimi daha detaylı anlatayım.

ASP.NET Jquery Bileşen Id Kullanımı

Asp.Net projelerinde dikkatinizi çektiyse sayfayı oluşturduğunuzda id ve nameler sizin verdiğiniz isimler dışında isimlerle gelmektedir. Bu duruma ben MasterPage kullandığım bir projede denk gelmiştim yıllar önce. Daha sonra öğrendim ki aslında .net hazır kullandığımız componentleri sayfada oluştururken ayrıca bir derleme aşamasından geçiriyormuş. Tabi bu durumda bizim yazdıklarımızın üzerinde değişikliklere neden oluyor (Bu nedenle MVC razor'un gözünü seveyim diyerek haykırmak istiyorum :) ).

19 Eylül 2015 Cumartesi

MVC if statement İçinde Static Değer Gösterme

Bu yazımda size kısa ve etkili bir bilgi vereceğim. MVC view'iniz içerisinde elle değer girmek istiyorsanız ne yaparsınız? İşte yazımda bu sorunun cevabını vereceğim.

15 Eylül 2015 Salı

Google PieChart Kullanımı ve Dinamik Veri Eklenmesi

Bugün yine bir projede lazım olan ve internette hatta google'ın kendi sitesinde bile çok fazla dokümanı olmayan bir konudan bahsetmek istiyorum. Mevcutda çalışmakta olduğum bir projede ihtiyaç dolayısıyla chartlar ve grafiklere ihtiyaç duydum. İnternette yaptığım araştırmalar sonucunda google'ın böyle bir jquery kütüphanesi olduğunu gördüm (google kendi mi yazdı yoksa başkalarından mı topladı o konuda tam emin değilim.). Neyse konuyu hemen toparlayalım.

6 Eylül 2015 Pazar

Repository Design Pattern Nedir?

 Büyük projelerde kod yazmak kontrol açısından gerçekten zordur. Düzenli ve planlı yapılmadığı zaman proje kontrolden çıkabilir. Bunun sonucunda da tekrarlanan kodlarla veya metotlar arasında bulabilirsiniz kendinizi. Bu nedenle düzgün bir yapı oluşturarak onun üzerinde ilerlemek bence en güzel çözümdür.

 Büyük projelerde bu gibi durumların önüne geçebilmek için alt yapı aşamasında uygun bir yapı kurulması için dikkat edilmesi gereken şey design patternların kullanımıdır. Bu yazımda elimden geldiğince size ilk yazım olan Reporsitory Design Pattern'ını anlatacağım.