Web Tasarım & Yazılım
Web tasarım ve yazılım ile ilgili püf noktalar, ipuçları vs. vs. vs.
PHP ile basit SEF yapımı (URL Rewrite)
1Apache bizlere SEF konusunda çok büyük bir nimet sağlıyor. Bunun adı .htaccess
Bu dosya içerisine çeşitli kurallar yazıyorsunuz ve o kurallara göre arama motoru dostu bağlantıları kullanabiliyorsunuz. Ancak bu kural yazma işi can sıkıcı olabiliyor. Zira RegExp (Regular Expression – Koşullu ifadeler) bilmeniz gerekmekte. Ve bazen baya uğraştırıcı olabiliyor. Ben bu konuda daha farklı bir yöntem kullanıyorum. Belki performans açısından direkt olarak kural yazmaya göre daha kötü olabilir ama çok çok büyük bir projede çalışmıyorsanız çok fazla etkileyeceğini düşünmüyorum.
Öncelikle nasıl bir sistem kullandığımdan bahsedeyim, sonrasında bir kaç kod ile örnek göstereyim. Yazının sonunda ise çok basit bir örnek sistemi indirebilirsiniz. (daha fazla…)
Linux’ta Sıkıştırılmış Yedek Oluşturma
2Zayıf C++ bilgimle istenilen dosyayı/klasörü istenilen klasöre yedekleyen bir program yazdım.
Ancak bu program öyle ahım şahım değil. Zaten Linux komut satırını kullanıyor. Linuxta konsola yazdığınız kodu kısmen bu program içerisine yazıyorsunuz. Bunu konsoldan da yapabilirim diyebilirsiniz, ancak isterseniz cronjob ile dilediğiniz zaman programın çalıştırılıp yedek almasını sağlayabilirsiniz. Ben bilgisayar kapanırken veya yeniden başlatılırken yedek almasını sağlamak için yapacağım bunu.
Programın kodları aşırı derece de amele usulü olabilir, kabulümdür. Malum üniversitemizde C++ öğreteceğiz dediler ama for,while ve bir kaç string fonksiyonu dışında hiçbirşey göstermediler. Buna rağmen araştırmacı kişilik olarak işimi görecek bu programı yazmayı başardım
Kodların devamında açıklamalarda bulunacağım. (daha fazla…)
MVC Yapısının Önemi
5Uzun zamandır yazmaya başladığım yazıları sonlandıramıyorum. Öyle taslakta kalıyorlar, bir süre sonra da siliyorum. Umarım bu sefer başladığım yazı yarım kalmaz.
Öncelikle MVC’nin tanımından başlamak gerekiyor sanırsam.
MVC yani Model-View-Controller benim anladığım kadarıyla sitenin kod kısmı ile tasarım kısmının birbirinden ayrılmasını sağlıyor. Emin olun bir yazılımcı için çok büyük kolaylıklar sağlıyor. En büyük özelliği de bir başkasının kodlarınızı incelediğinde basit bir yapıyla karşılaşması. Bu, iş hayatında çok önemli. Bir proje yaparsınız ve bir başka iş arkadaşınız kodlarınızdan hiç birşey anlamadığında hiç hoş olmaz.
Model-view-controller, yazılım mühendisliği‘nde kullanılan bir “mimari desen“dir. Kullanıcıya yüklü miktarda verinin sunulduğu karmaşık uygulamalarda veri ve gösterimin soyutlanması esasına dayanır. Böylece veriler (model) ve kullanıcı arayüzü (view) birbirini etkilemeden düzenlenebilir. Model-view-controller, bunu controller adı verilen ara bileşenle, veri gösterimi ve kullanıcı etkileşiminden, veri erişimi ve iş mantığını çıkarma suretiyle çözmektedir.
Model-view-controller - Vikipedi
MVC kavramını ilk duyduğumda biraz araştırdım ve ne gerek var gibi bir cümle kurdum. Hem tasarımımı yaparım hem de kodlarımı yazarım aynı sayfada dedim. Kaldı ki bu dediğimde kendi açımdan çok zor değil. Gayet rahat bir şekilde yapabiliyorum. Ancak MVC ile ilk proje geliştirdiğimde gerçekten ne kadar rahat olduğunu gördüm.
Biraz detaya gireyim; MVC denilen kavram üç temel olaydan oluşuyor.
Model: Veritabanı ile bağlantı işlemleri burada yapılıyor.
View: Sitenin tasarımı controllerdan alınan verilerle view sayfalarında yapılıyor.
Controller: Bir nevi model ile view arasında köprü görevi görüyor.
- M (Model)
- M (Model), İş Mantığını ve veri işleme süreçlerini yürütür. C (Controller) tarafından gönderilen emirlere göre hareket eder. Bilgi işleme sürecinden sonra veriyi C’ye, diğer modellere veya doğrudan V (View)’ye gönderir.
- V (View)
- V (View) son kullanıcıya gösterilecek olan verinin sunumu ile ilgilenir. V, bu bilgiyi C veya M’den alır, aynı zamanda son kullanıcıdan gelen talepleri C’ye iletir.
- C (Controller)
- C ise sistemin ana kısmıdır. Gelen talepleri kontrol eder ve sistemin diğer elemanlarının (M,V) bilgiyi uygun şekilde alıp, göndermelerini sağlar.
Böyle söyleyince bu tanımların çok havada kaldığını tahmin edebiliyorum. O zaman çok fazla kod kullanmadan basit bir sistem yazalım. (daha fazla…)
TBDGenç Algoritma Sorusu 8: Yalancılar
0Geçen ayki sorunun çözümünü gecikmeli de olsa paylaşıyorum. Soruya ulaşmak için tıklayın.
Çözümü görmek için yazının devamına bakın.
(daha fazla…)
Tic Tac Toe Hakemi | TBDGenç Algoritma Sorusu
2TBD Genç Ankara’nın her ay düzenlediği ödüllü algoritma yarışmasına Ağustos ayında katılmış, algoritmamım doğru olmasına rağmen çekiliş sonucunda ödülü kazanamamıştım
http://www.tbdgenc.com/soru/soru6.html
Sonuçlar açıklandıktan sonra algoritmamı burada yayınlamak hiç aklıma gelmemişti. Belki de baya bi amele usulü olduğu için olabilir, bilmiyorum
Ekim ayının sorusunu çözmeye çalıştığım şu günlerde bu algoritmayı sizlerle paylaşmak geldi aklıma. Buyrun inceleyin, ama amelelik yüzünden acımasızca eleştirmeyin


