Yeniden deploy edilmis mfyz.com

Birkac gundur hatalari giderdigim ve altyapisini azcik oynadigim kodu ilk deployment’i sorunsuz yaparak yayina aldim bugun. Bu soyledigim cok aciklayici olmasa da, daha hizli/kolay mudahale edebilecegim bir halde artik mfyz.com.

Once su spammer’lari durduracak bir seyi entegre edip sonra birkac guncelleme yapacagim. Sonrasinda arayuzde de degisiklikler gormeye baslayacaksiniz. Umitliyim ki bu gelistirme sadece kod degil icerik konusunda da yeniden birseyler yazmaya baslayacagim anlamina gelebilir.

Terkedilmis mfyz.com

Bu ay resmen spam’ciler basti siteyi. Hic ilgilenemesem de neler olup bittiginin farkindayim fakat bunun icin kodda bir duzenleme yapmayacagim. Sadece her gun spamleri temizleyen birseyler hazirladim. Onlar yazacak ben temizleyecegim bir sure.

Bu spam bende bir fisek etkisi yaratti, siteyi gercekten kendi haline biraktigimi ve yillardir bu halde oldugunu farkettim. Daha dogrusu farkediyordum fakat pek ilgilenmeye zaman ayiramiyor/istek duymuyordum. Simdi el atmaya basladim. Hatta baska seyleri de tetikledi bu spam faktoru.

Temizlemeye basladim mfyz.com’u hem kod hatalari hem de gelistirme ortami olarak. Sirada tonla is var ama su an gelistirme ortamini otomatik deployment yapan bir sisteme, svn altina, stric error handlingle kodu da revize etmeye basladim. Ilk is koddaki tum hatalari (siz bu hatalari gormuyorsunuz) duzeltip sonrasinda hem on yuz hem de veritabaninda cok buyuk degisiklikler olacak.

Neyse cok heyecanlanmayin hemen zaman alacak ama bircok seye el atacagim. Sadece bu surecin yonetimini her zaman yaptigimdan biraz farkli yapacagim. Bakalim ise yarayacakmi 🙂

”Dönüşüm Muhteşem” oldu

Hani “dönüşüm muhteşem olacak” derler ya. Ben söylemeden yaptım 🙂

Arkadaşlar “nihayet” demeye gerek kalmadan askerlikten kurtuldum. Aslında buradaki sayacı biraz fazladan yapmıştım 🙂 Çünkü biraz nadasa/sessizliğe ihtiyacım vardı. Çok da güzel oldu.

Tabi belirli bir süre geçti ve bu süreçte birçok değişiklik, gelişme var hayatımda. Hızlıca sıralıyorum:

İstanbul’a taşındım, Nişantaşında konuşlandım.
Wanda Digital’de Web Developer olarak çalışmaya başladım.
Maslak’a yolunuz düşerse beklerim.
Birkaç haftaya/aya kadar kendi evime çıkmış olacağım.

Bu sessizlik ve nadasta aslında birçok şey yaptım, düşündüm, planladım.
Geçen gece mfyz.com’un analytics’ine baktığımda güldüm 🙂 Ziyaretler yerlerde sürünüyor. Buna karşılık günümüzde bir blogun zırt diye 1,5-2 ayda iyi bir seo ve içerik çalışması ile google’da kaydadeğer sıra ve hit’e sahip olduğunu göz önünde tutmak lazım. Tabi bu değişkenliği daha iyi hissedebilmemde geçen ay içerisinde yapılmış olan Google Internet Reklamcılığı günü’ne katılmış olmamın da payı var.

Ama bunca yıldır anladığınız kadarıyla bu sitenin amacı ne hit ne de google’da (pazarlama ve ticari açıdan) üst sıralarda çıkmak değil biliyorsunuz. İnsanlara öğrendiğim şeyleri paylaşmaya yönelik oluşturduğum ve kişisel katkılarımla geliştirdiğim bir komunite sitesi oldu. Bundan sonra bu “kişisel”likten daha da arındırmaya çalışacağım siteyi.

Beklentileriniz yükseltmeyin ama önümüzdeki dönemde mfyz.com geçmişte denediğim bazı bölümleri geri getirerek, bazı bölümleri söndürüp bazılarını öne çıkararak hem tasarımsal hem altyapısal hem de anlayış olarak değişiklikler yapmayı planlıyorum. Bu konuda yine bencil davranarak başlangıcı ve metodolojiyi kendi çizdiğim sınırlar çerçevesinde ilerleteceğim. Ama emin olun her yıl değişen şeyler tecrübe edilmiş ve daha çok kullanıcı odaklı olarak ilerliyor. Bu yenilikler hakkında kimse fikir üretmesin, yorum yapmasın. Zira ben de yapıp bitirinceye kadar burada, siteye içerik oluşturma dışında bu konulardan konuşmayacağım.

Tekrar hepinize merhaba…

Yeni macbook pro modelleri çıkmış.

Apple yeni macbookpro modellerini piyasaya sürmüş. Açıkcası macbook serisi ile macbookpro serisinin bu kadar birbirine benzer olması aklıma “apple taşınabilir kategorisini küçültüyor (en azından marka olarak)” düşüncesini getirdi.

Neyse, yeni seriyi sevmedim. Sadece aliminyum görünmesi değildi karizması bu aletlerin. Bir diğer yanı da renklerine sadık kalması idi insanları çeken. Yani piyasadaki zilyon tane laptop’a baktığınızda karman çorman renklere sahipler. Bir bilgisayar alıyorsunuz altı siyah, klavye beyaz, tuşların üzerleri yazı dolu ve renkleri de farklı. Ekrana bakıyorsunuz başka tonda bir renk. kapağı kapatıyorsunuz aman allahım orada da türlü türlü soytarılıklar (Örn: Acer’in şu andaki popüler serileri veya hp pavillion serileri) Tabi bunlar arasında iyi olanları da var ki onlar da renklerine sadık kalan makineler oluyor.

Ancak yeni seriye bakarsanız ekran çerçevesi imac’deki gibi parlak ve sihay. Klavye kasanın aliminum olmasına rağmen siyah. Ayrıca yeni verilen kasa dışı kıvrım da görünüm olarak aleti kaba ve itici gösteriyor.

Portların tek tarafa toplanması güzel bir gelişme, ancak standart DVI çıkış olması daha kullanışlı idi (benim için öyle)
Açıkcası eski tasarımın son serisinden iyi bir makina almış olduğuma, dolar ve euro’daki zıplamadan da ötürü sevinçliyim. Zira şimdi almaya kalksaydım 1000ytl civarında daha para çıkmam gerekirdi.

Bu arada bunu da yazmak istiyordum, ayrı bir başlık olarak anlatmaya gerek yok. Birkaç saatimi harcayarak creative in-ear kulaklığımı iphone kumandalı kabloya entegre ettim. Daha doğrusu kulaklıkları birbirine aktardım. Böylece kumandalı ve mikrofonlu in-ear bir iphone kulaklığım oldu 🙂

100 yıl sonra bir döküman

En son geçen asırda döküman yazmıştım. Ancak uykusuzluk, bir de bu aralar sık haşır neşir olduğum bir konu olduğundan “elime mi yapışacak” diyerek 20 dakkada yazdığım dökümanı sunuyorum size 🙂

PEAR’da MDB2 kullanarak veritabanı işlemlerinizi nasıl daha rahat, hızlı ve esnek yapabileceğinizi, hatta sql injection saldırılarına karşı da otomatik olarak önlem alıyor olmanızı anlattım. Örneklerle anlatmaya çalıştım. Umarım iyi bir şey olmuştur.

https://mfyz.com/tr/mdb2-kullanimi-ve-sql-injection/

Bon Apetit

mfyz’yi kapattım

Korkmayın kapatmaktan kastım kapatmak değil, dolmuşta arkayı kapatmak gibi birşey 🙂

Uzun sürdir sinsice izlediğim mfyz.net’i de dün akşam düşürerek nihayet alabildim. Yani mfyz’yi kapattım diyebiliriz. com net org hepsi benim arık. nihaha

Şimdilik net ve org’da birey göremeyebilirsiniz. Belki org’da bir wordpress olabilir. Kafamdaki plan ile :
– mfyz.com : komunite sitesi, tamamen referens oluşturma misyonuna odaklanmış olarak kalacak.
Basitce dokumanlar ve forum olarak sınırlandırılmış olarak. Yani şu andaki şekilde kalacak.
– mfyz.net : Çalışmalarımı takip edebileceğiniz muhtemelen tek sayfadan oluşaca bir portfolyo sitesi olacak. Belki resume de koyabilirim.
– mfyz.org : kişisel alanım olmasını umuyorum. kişisel bir blog, twitter, flickr, last.fm widget’ları kişisel fotolarımı koyacağım bir blog olacağını düşünüyorum.

Ancak bunların ne zaman yapılacağı konusunda hiçbir fikrim yok, acelemiz de yok. Zaten interneti kalabalıklaştırıp şişiren, çorbaya çevirmeye devam eden bir çok arkadaş hararetli çalışmalar yapıyorlar sağolsunlar. Onun için ben yazmasam da olur şimdilik.
Zamanı gelince kaliteli dökümanlar yayınlamaya çalışacağım.

Neyse, bundan sonra “mfyz.net’i kapatayım belki Fatih’e satarım” gibi şeyler düşünmeyin 🙂 birkaç gün onra üç domaine 2-3 yıllık uzatma da ekleyeceğim.

Bu arada mini soru sorayım :
http://www.mfyz.com adresini http://mfyz.com olarak kullanmayı planlıyorum. yani www subdomainlerini otomatik yönlendireceğim. Bundan sonra böyle alışılsın, öyle linklensin daha kısa olsun, öz görünsün falan fıstık.
Sizce nasıl olur? Yani www subdomainini kaldırmak, ve domaini kısaltmak?

Büyümüş de 5 yıl olmuş

Şaka maka mfyz.com domainini kullanmaya başlayalı neredeyse 5 yıl dolmak üzere. Daha önce 98″ yılından itibaren saçma domainlerde gereksiz siteler olarak gitmişti çalışmalarım. mfyz.com ile yaptığım denemeleri deneysel bir site olarak başlamıştım. Sonra birike birike, blog formatında başlayıp projeler, dökümanlar, kaynak sunma çalışmaları derken v0.7’ye kadar gelmişiz. Bazılarınız bunun başından beri haberdar, biliyor (sağolun arkadaşlarım), bazıları da sonradan katıldı aramıza.

Hepinize çok teşekkür ediyorum mfyz.com’un “Türk programcılığını geliştirme” gayesinde ilerlerken beni desteklediğiniz için. Bu sitenin şu andaki içeriğini aslında belirleyen en büyük etken kullanıcılar. Tabiki bu tek taraflı gibi görünse de tamamen isteklere göre ilerlemeye çalıştım. Yapının benim görüş alanımda sınırlanması genel olarak kötü ama çizginin bozulmaması için gerekliydi.

http://web.archive.org/web/*/http://www.mfyz.com bu adreste mfyz.com’un archive.org’un “web time back machine” aracını kullanarak eski versiyonlarını cache’den görebilirsiniz. ilk versiyonlar tabiki genellikle arızalı. Yani açılmıyor, yüklenemiyor, linkler bozuk vs. Ama yine de bazıları açılıyor.

Mutluyum

Durulduk: “Zombie mode on”

Sakin gibi görünsem de aşırı yoğun programımda dakikaların hesabını yapar oldum. Her sabah 7’de okula, derse yetişmeye çalışan, akşam 7’ye kadar, haftada 15 farklı dersin kodlarını, adlarını, hocalarını, içeriklerini aklımda tutmaya çalışan biri olup çıktım. Ama bu özgürlüğün bedeli olacak bana 🙂 Sadece 4 ay daha debelenmem gerek o kadar. Sonra kuş gibin özgür olacağım… (Sen öyle san :D)

MFYZ.Com ile neredeyse hiç ilgilenemiyorum. Bu kadar yoğun programım olmasıyla tabiki ilgisi var ama asıl engel olan şey, günde bilgisayara ayırmam gereken ve ayırdığım 2-3 saati de okulda sorumlu olduğum finansal istatistikle ilgili web tabanlı projem ve istatistiksel yazılımlarla ilgili uygulamalar. Zaten bilgisayara ayırabileceğim vakit sınırlı, bir de bu sene bilgisayar üzerindeki uygulamalara yönelinmiş olmasıyla malesef hiç vaktim kalmıyor. Zaten biraz kafa dinleyeyim diye surf yapayım diyorum, rss’lerimi epostalarımı okumamla o vakit de yerlebir oluyor.

Yani sizin anlayacağınız mfyz.com tekrar zombi moda geçti. Fakat seo optimizasyonu ve v0.7 yenilikleri sayesinde en azından insanlar daha düzgün içerikten faydalanıyor diye kendimi avutuyorum 🙂

Belki de son dökümanlar

v0.7’yi açtığımdan beri 15-20 tane yeni döküman yazdım gayet de güzel oldu. Yazmak isteyip aylardır yazamadığım konuları her gün birkaç tane döküman şeklinde yazdım. Bunlardan 5-6 tanesi anlık istek ve soru üzerine geldiğinden yazdım. Şu ikisi de az önce çıktı :

Tek dosyalı projeler (siteler) üretmek
http://www.mfyz.com/?/dokuman/101/tek-dosyali-projeler-siteler-uretmek/

PHP dosyanıza resim (dosya) gömmek
http://www.mfyz.com/?/dokuman/102/php-dosyaniza-resim-dosya-gommek/

Ama?

Bundan sonra çok sık yazabileceğimi, sitenin eksikleriyle uğraşabileceğimi pek düşünmüyorum. Bu dönem okulumun son dönemi (inşallah) Yani 6 senedir okuyorum, artık okulu bitirmemin zamanı geldiğini düşünüp bu sene asıldım, ilk dönem mfyz v07’nin bu kadar yalan olmasının sebebiydi aslında. Ben yazın bu sene okulu bitirme planları ile başlamamıştım v07’yi kodlamaya ve bir anda 12 ders süpriz olarak çıktı, bir şekilde ikisini de götürmeye çalışıp yılbaşında, vizelerimden sonra v0.7’yi açmayı başardım. Birçok da ana eksiklikleri giderdiğim sayılır.

Masaüstümde (gerçek masam yani 🙂 ) aklıma gelen, gördüğüm ve teşekkür ederim ki bildirdiğiniz hatalar, eksiklerin yazılı olduğu kağıtlar var. Bu kağıtlar şu an deste olmuş durumda (görmenizi isterdim). Yani diyeceğim şu ki, daha yapacak çok şey var. Eklenecek çok özellik var, yazılacak çok döküman ve geliştirilecek çok proje var. Sadece sabırlı olalım, gerisini zaten gördüğünüz gibi elimden geldiğince yapıyorum.

Yakında başka yeniliklerle görüşmek üzere 😉

Tek dosyalı projeler (siteler) üretmek

Bazen yazdığınız/yazacağınız modül/sayfa/proje çok işlem ve bölüm içermeyebilir. Farklı içeriğe sahip kısa ama çok metin olabilir elinizde. Ya da modülünüzde işlemler kısadır. Ya da tamamen ilginçlik olsun diye tek dosyada birçok işi yaptırmak isteyebilirsiniz.

Mesela sadece bir dizini listeleyip, dosyalar üzerinde ufak işlemler yaptıran bir betik yazıyor olabilirsiniz. Ya da bir reklam kampanyası için reklam sayfasının yanında ufak bir bilgi (hakkında) sayfası ve iletişim formu olan ufak bir site yapıyor olabilirsiniz.

Ufak işlemler içeren sayfalara bir sürü dosya oluşturup dosya kalabalığı yaptırmaktansa tek dosyada toplayabilirsiniz. Bu dökümanda ufak bir örnekle tek dosyadan oluşan bir site/sayfa yapacağım.

Başlıyoruz

Önce basit html yapınızı modüler yapıdaki gibi hazırlayalım.

gördüğünüz gibi oldukça basit. Site başlığı, ufak bir menü iki HR arasında sayfa içeriği ve sayfa sonu notu. Sayfa içeriği kısmına modüler yapıdaki gibi içerğimizi basacağız.

Şimdi 4-5 tane sayfamız var bunların içeriklerini gömeceğiz dosyamızın içine. Aslında hepsi basit bir kontrol mekanizması ile hallolacak.

Yukarıda gördüğünüz gibi sayfa içeriklerini kontrole göre ekrana bastık. Burada dikkatinizi 2 şey çekmiştir. ob_start, ob_get_contents ve ob_end_clean fonksiyonlarını ekrana basılan şeyleri $icerik değişkenine aktarabilmek için yaptım.

kullanımı ise “HTML_SON” kelimesini bitirme kelimesi olarak görerek içeride tırnakları istediğimiz gibi kullanma özgürlüğü sunduğu için yaptım. Yani HTML_SON’ların arasında özgürce istediğiniz her karakteri kullanabilirsiniz. Bu sayede html olarak hazırladığınız sayfa içeriklerini 1-1 kopyala yapıştırarak rahatça işinizi halledebilirsiniz.

Gelelim neden çıktıyı tamponladığıma, bu işlemi hiç echo, tamponlama kullanmadan şöyle de yapabilirdiniz :

Ama bir sürü tırnak sorunu ile uğraşmanız gerekebilirdi.

Neyse içeriklerimizi get ile gelen bolum parametresine göre belirlediğimize göre htlm’imizde konumlandırabiliriz. Sayfanızdaki “içerik kısmı” yazan yere

$icerik değişkenini basıyoruz. Böylece tek sayfada içerik basabiliyoruz.İşin bir de işlem kısmı var. Yani tek dosyada toplamaya çalıştığınız site/sayfa sadece içerikten oluşmak zorunda değil. Aynı zamanda php’ye bazı işler yaptırmanız gerekebilir. Hatta modül için bu tek dosya mantığını düşünürseniz işlem modüllerinde içerik değil sadece işlemler vardır. Aynı mantıkla bunu da yapabilirsiniz.

Örnekte gördüğünüz gibi iletişim bölümünde bir iletişim formu var. Bunu işleyen kısmı buraya gömmek için sayfa içeriklerini seçtirmeden önce işlemler için de bir kontrol bloüu koyuyoruz.

işlemleri de sayfaya gömdükten sonra son sayfa şuna benzer olacak:

Modüler yapıya ne oldu?

Daha önce https://mfyz.com/tr/bir-sitenin-kod-duzeni-nasil-olmali/ dökümanında bahsettiğim bir modüler yapı vardı. Her türlü projenizde bu mantığı kullanmanızı önermiştim. Bu dökümanın amacı ufak projeler için zaten. Farkındaysanız örnekte verdiğim kodlar müthiş kısa kodlar. Çok basit bir site bile yapsanız bu kodlar uzayıp gidecektir. Bir de şunu unutmayın : eğer kodlarınız (yani bölümler veya işlemlerdeki) genellikle 20-30 satırı geçen kodlar ise bu yöntem hata yakalamanızı, sorun yaşadığınızda çözme sürenizi, çalışabilirliğinizi ve kodun temizliğini kötüleştirecek/zorlaştıracaktır. Onun için çok paranoyak veya ihtiyaç duymadığnız sürece bu mantığı kullanmayın. Modüler yapıyla ilgili yazdığım döküman çok daha faydalı olacaktır.