31 Ağustos 2014 Pazar

konsoldan mysql root sifresini sifirlamak

Özet olarak bu işlem için, konsoldan mysql şifresini sıfırlamamız icap ettiğinde mysqli yetkisiz bir şekilde başlatıp, işlemlerimizi yapıp sonra tekrar başlatarak işlemlerimizi tamamlamış olacağız. İzlenmesi gereken adımlar : Mysql'i durdurun.
/etc/init.d/mysqld stop
Şimdi, skip-grant özelliği ile tekrar başlatıyoruz:
mysqld_safe --skip-grant-tables
Şimdi Mysql'e passwordsüz bağlanacağız. (ayrı bir konsolda)
mysql -u root
Aşağıdaki komutları sırası ile verelim ve yeni şifremizi belirleyelim.
mysql> use mysql;  mysql> update user set password=PASSWORD("yeni_sifremiz") where User='root';  mysql> flush privileges;  mysql> quit;
Mysql'i yeniden durduralım
/etc/init.d/mysqld stop
Şimdi de normal bir şekilde başlatalım
/etc/init.d/mysqld start
İşlem tamamdır :) Devamı için : konsoldan mysql root sifresini sifirlamak

14 Ağustos 2014 Perşembe

Diagram Designer for Mac OSX - LibreOffice Draw

MacOSX kullanıcıysanız, bir diagram designer edinmek pek de kolay olmuyor malesef. Ücretli bir şeyler almak niyetinde pek olmadığım bu başlık ile ilgili çözümümü, ücretsiz bir yazılım olan LibreOffice Draw ile çözdüm. Tabi onu bulana kadar, exe çalıştırabilen toollari tüm window üretme araçlarımı değiştirmek, vb gibi çözümler denemeye çalıştım ancak, çok ucube programlar için 1 ton iş yapıp bir de yaptığım değişiklikleri geri almak durumunda kaldım. Libre office draw ile, şu an hem network, hem sunucu, hem topoloji, hem UML, hem de akış diagramı (akış diagramı tasarlamak biraz daha zor, diğer programlara göre ancak o da oluyor) ihtiyaçlarımızı karşılayabildim. Tavsiye edecek kadar da sevebildim. MacOSX için Libre office'i indirdiğinizde draw da zaten içerisinde gelmekte. https://tr.libreoffice.org/download/ linkinden işletim sisteminize göre seçip (otomatik seçiyor olması lazım zaten) indirip kurabilirsiniz. Devamı için : Diagram Designer for Mac OSX - LibreOffice Draw

31 Temmuz 2014 Perşembe

Komut satirindaki mail komutu ile smtp mail gonderimi (MAC ve Linux icin)

Selamlar; komut satırımızdan aldığımız verileri kimi zaman mailboxımıza atmak isteyebiliriz veya otomatik çalışan test sonuçlarının mailimize gelmesini de.. Ancak çok kullanılan mail sunucularının (gmail, yahoo, vb..) artık güvenilir kaynaktan gelmeyen mailleri spam dahi saymadığı ve direkt yok saydığı bir gerçek. Bu yüzden bu işlemleri smtp üzerinden yapmak gibi bir gereksinim doğuyor. Bu işin windows platformunda nasıl yapıldığını kısaca http://www.dubluve.net/2013/08/01/windows-komut-satirindan-mail-gonderimi/ yazımızda anlatmıştık. Şimdi sıra mac'te ve Linux sistemlerde. Örneği gmail üzerinden vereceğim. 1. Adım : Postfix main.cf dosyasını düzenleyelim
sudo vim /etc/postfix/main.cf
sizin main.cf dosyanız farklı bir yerlerde olabilir tabi ki. Bir zahmet bulunuz. Daha sonra commentlenmiş relayhosts yazısının hemen altına
relayhost = [smtp.gmail.com]:587  smtp_sasl_auth_enable = yes  smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd  smtp_sasl_security_options = noanonymous  smtp_use_tls = yes  
2. Adım : sasl_password dosyası yoksa oluşturalım
sudo vim /etc/postfix/sasl_passwd
içerisine aşağıdakini yazalım
[smtp.gmail.com]:587 username@gmail.com:password
3. Adım : bir kaç izin ve service restart felan..
sudo chmod 600 /etc/postfix/sasl_passwd  sudo postmap /etc/postfix/sasl_passwd  sudo launchctl stop org.postfix.master  sudo launchctl start org.postfix.master  
bu launchctl sadece mac için geçerli. (mail'in konsol üzerinden gönderimlerde hizmet olarak çalışması gerekmiyor diye hatırlıyorum.) 4. Adım : Deneyelim :
echo "bu bir test maili bakalım gidecek mi?" | mail "your@gmail.com"
Bu işlem sonrasında mail gerçekten gmaile düşüyorsa tamamdır. Tabi sizin bu ayarlarınızı yaptığınız mail adresinizi SMTP olarak kullanmanız gerekiyor. (Bu tıpkı elektrikli ev aletlerin içinden çıkan olası arıza durumlarında yapılacaklar listesindeki "fişi taktığınıza emin olun" maddesine denk düşüyor sanırım)   Bu işi Linux için şöyle yapanlar da mevcut. Onu da şu an türkçeleştirmeye mecalim yoktur. Buyrunuz linki : http://tecadmin.net/send-email-smtp-server-linux-command-line-ssmtp/ Devamı için : Komut satirindaki mail komutu ile smtp mail gonderimi (MAC ve Linux icin)

30 Temmuz 2014 Çarşamba

PHPnin yeni major versiyonu PHP6 yerine PHP7 olacak

PHP'nin yeni versiyon numarası https://wiki.php.net/rfc/php6#vote adresinde görüleceği anketin ardından PHP7 olmasına karar verilmiş. 2 kilometre yazı yazarak anlattıkları şey aslında özetle şu : "Biz bir major versiyon çıkarma kararını 2005 te aldık, bunu 2010 da çeşitli zorluklar sebebiyle durdurduk, şimdi insanların kafası PHP zaten 6 yok mu diye karışmasındansa PHP7 diyelim, aradaki 1 versiyona ne oldu diye gelen sorular, kafa karışıklığından daha önemli değil!" Merak edenleri şuraya alıyoruz : https://wiki.php.net/rfc/php6#vote   Halen php 5.3 ile projelerde trait bile kullanamayan biri olaraktan, isyanım backward compatibility'ye. Devamı için : PHPnin yeni major versiyonu PHP6 yerine PHP7 olacak

29 Temmuz 2014 Salı

mac osx icin notepad++ benzeri uygulama - textwrangler

Windowsta varsayılan metin düzenleyici olarak notepad++ kullanlardan biri olarak, mac için de benzer ihtiyaçlarım adına doğru düzgün bir metin düzenleyiciye ihtiyaç duydum. İnternette "notepad++ equivalent for mac osx" şeklinde arattığımda, bu programı hemen buldum. Çok fazla uzun söze gerek yok, textwrangler bu işe birebir, hatta daha fazlasını (notepad++ kullanım alışkanlıkların bir miktar değişmesi beklenerek) yapıyor. Buyrunuz App store linki : https://itunes.apple.com/tr/app/textwrangler/id404010395?l=tr& Devamı için : mac osx icin notepad++ benzeri uygulama - textwrangler

28 Temmuz 2014 Pazartesi

Site ve Servis takip monitor etme sistemi - PhpServerMonitor

Web dünyasında sürekli online olmasını istediğimiz çeşitli servisler, siteler, hizmetler olduğu günümüzün en önemli gereksinimlerinden. Peki ya örneğin internet siteniz, sürekli çalışıyor mu, erişilebiliyor mu? Çalışmadığında veya erişilemediğinde nasıl haberiniz olacak?   PhpServerMonitor bu iş için biçilmiş kaftan bir yazılım. www.phpservermonitor.org adlı siteden görebileceğiniz ve indirip kurabileceğiniz bu sistem ile artık sitelerinizi, hizmetlerinizi (mail, veritabanı vb..) otomatik olarak takip edip, herhangi bir hata durumunda ise kendinize sms, mail şeklinde uyarı gelmesini ayarlayabiliyorsunuz.   Kurulumu çok basit. Dosyaları indirip, ftp'nizden veya herhangi bir vasıta ile sunucunuza yükleyin. Bir tane de veritabanı ve veritabanı kullanıcısı açın. Bu iş için kendinize bir site kuruyormuş gibi hayal edin. İlk kurulum için tıpkı wordpress kurulumundaki gibi size bir arayüz üzerinden kurulum da yaptırabiliyor.   Daha sonra kendi yönetim paneli üzerinden takip - monitör etmek istediğiniz siteleri , hizmetleri buraya ekleyip buradan takibini yapabiliyorsunuz. Ayrıca bazı siteleri için spesifik kullanıcılara da tanım yaptırabiliyorsunuz. (yani çoklu kullanıcı desteğide mevcut) Otomatik takip mekanizmasının en önemli kısmı ise, ilgili takibi yapan kod parçasını cronjobunuza koymaktan geçiyor. örneğin 10 dakikada bir kontrol etmesini isteyebilirsiniz. Veya her dakika bile istiyor olabilirsiniz. Bu tamamen size kalmış. Dikkat edilmesi gereken konu, bu istekleri Curl ile yapıyor olması. Bu bağlamda sunucunuzun curl modülünün aktif olması gerekiyor. (ayrıca bu yazılım php 5.3.8 veya daha yeni bir sürüm gereksinimi duyuyor). İlgili kurulumları yaptıktan sonra önümüzde sürekli açık olup takip etmek istediğimiz hizmetlerin, sitelerin durumlarını kırmızı , yeşil olarak gösteren güzel ve basit bir paneli de mevcut. Aşağıdaki resim de bunun bir örneğidir. [caption id="attachment_2891" align="aligncenter" width="300"]phpservermonitor status table php server monitor status table[/caption] Burada kısaca bu sistemi tanıtma amaçlı bir yazı yazdım. Kurulumu için destek isteyen olursa yardımcı olabilirim. Devamı için : Site ve Servis takip monitor etme sistemi - PhpServerMonitor

26 Temmuz 2014 Cumartesi

Mac OS X Nginx PHP 5.3 ve percona-server (mysql) kurulumu

Bu yazıda Mac OS X üzerine Nginx ve PHP5.3 (özellikle php5.3, daha yenisi değil) kurmayı anlatmaya çalışacağım. İnternetteki dökümanlar genelde konu güncel iken yazıldığı için, siz bir yazılım dilinin daha önceki versiyonlarına ait kurulumlar yapmak istediğinizde, varsayılan paket yöneticisi tarafından hep en son sürümü kurulmakta, ve bu da bizim o anki ihtiyaçlarımızı karşılamamaktadır. Ben de birkaç tane projedeki php 5.3 gereksinimim sebebiyle böyle bir şey yapmak durumunda kaldım. (aslında vagrant daha güzel bir çözüm tabi ki dileyen araştırabilir.) Öncelikle Mac'inizde homebrew (http://brew.sh/) yüklü değilse, bunu yüklememiz gerekiyor. Bunun için konsolunuzda
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"  
komutunu çalıştırmanız gerekiyor. Nginx kurulumu
brew install nginx  
Bu kadar basit :) Nginxi başlatmak için
nginx  
komutunu yazmanız yeterli. (Evet konsola sadece nginx yazacağız, ubuntu gibi değil) Ancak sudo olarak çalıştırmanız gerekebilir. Php kurulumu php yi Nginx ile iletişim kurabilmesi için 2 şekilde kurabiliriz. 1. yöntem cgi ile. 2. yöntem ise, php-fpm ile. php-fpm ile kurmak daha mantıklı, çünkü fcgi process manager ile yönetilmeyen bir cgi kullanımı aynı anda çok fazla processi handle etmenizi yani stress test vb toolları çalıştırdığınız kısımlarda size problem çıkartabilir. Ben de bu ve birkaç sebepten dolayı php-fpm ile kurmayı anlatacağım. Ancak cgi ile kurmak isteyen için de sadece 1 parametre değişiyor :)
brew install php53 --with-mysql --with-suhosin --with-intl --with-imap --with-fpm  
sondaki —with-fpm kısmı yerine --with-cgi yazarsanız da cgi ile kurmuş olursunuz. Mac OS X içerisinde PHP, Ruby, Python gibi dillerin CLI (konsol üzerinden çalıştırılabilir) versiyonları ile birlikte geldiği için şu anda halen konsolda php -v yazdığınızda php 5.4.24 veya benzeri başka bir versiyonu görürsünüz. Ancak web arayüzünden (Yani browserdan nginx ile) girdiğinizde ilgili php 5.3 sürümünü çalıştırmış olacağız. Eğer siz konsoldan da php 5.3 çalıştırmak istiyorsanız,
export PATH=/usr/local/Cellar/php53/5.3.28/bin:$PATH  
şeklinde komut çalıştırmanız gerekiyor. (sudo ile çalıştırmanız icap edebilir). Ancak bu şekilde yaparsanız da bilgisayarınızı yeniden açtığınızda (ya da konsoldaki oturumu kapattığınızda) bu ayar kaybolacaktır. Bunu kaybetmemek için bu komutu /usr/local/Cellar/php53/5.3.28/bin i sudo ile /etc/paths e yazmalısın. Mac OS X üzerinde php-fpm ubuntudaki gibi /etc/init.d/php-fpm start stop, vb.. şeklinde kullanılamıyor. Bu yüzden kullanımı biraz farklı. Php-fpm yi hemen başlatmak için
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php53.plist  
Bilgisayarınız her açıldığında otomatik başlasın istiyorsanız da
ln -sfv /usr/local/opt/php53/*.plist ~/Library/LaunchAgents  
şeklinde işlem yapmanız gerekiyor. Şimdi sıra php-fpm.conf dosyasını bulup, buradaki ayarlardaki loglara veya dosyalara izin vermek kısmında. php-fpm.confu bulup ilgili pid ve log dosyasını ve access log dosyasını yazabilmesi için yetki vb verip o gerekli klasörleri oluşturursan gerisi tamamdır. (Yine ubuntunun aksine, /var/run/php-fpm.pid yerine phpnin kendi klasörüne yapmanız daha mantıklı olacak ben bu şekilde yaptım. Log için de aynı yeri belirttim.)   percona-server kurulumu Nginx kadar basit aslında.
brew install percona-server  
Percona server'i hemen başlatmak için
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.percona-server.plist  
Bilgisayar her başladığında başlatmak için ise,
ln -sfv /usr/local/opt/percona-server/*.plist ~/Library/LaunchAgents  
komutlarını çalıştırmanız gerekiyor. Bu yazı nginx ayarları, php ayarları ve mysql ayarlarının nasıl yapıldığı ile ilgili olmadığı için o detayları burada paylaşmıyorum. Ancak ihtiyacı olan tabi ki danışabilir. Umarım yararlı olur. Devamı için : Mac OS X Nginx PHP 5.3 ve percona-server (mysql) kurulumu

24 Temmuz 2014 Perşembe

wordpress guncellemesinde temporary failure in name resolution hatasi

Bir süredir yeni yazı eklemiyor ve yorumları kontrol edemiyordum. Bunun sebebi php'nin cgi fonksiyonları üzerinde başlıkta belirttiim temporary failure in name resolution hatasını almamdan dolayı olduğunu keşfettim. Hata ilk oluştuğunda wordpressimi bir süredir güncellemediğimi farkettim. Güncellemek için ilgili menüye geldiğimde bana bu hatayı verdi. Oldukça fazla vaktimi aldı aslında çözmek. Çünkü apacheyi yeniden başlatmak aklıma gelen ilk çözümdü ve bu çözmemişti durumu. (Ayrıca Jetpack, akismet gibi çok işe yarar eklentilerim de kullanılamaz olarak duruyordu. Fırsat bulmuşken inceleyip hatayı gidermek istedim. ) Akabinde bir çok debugdan sonra, apacheyi restart etmek yerine önce stop sonra start yapmayı akıl edebildim. Nitekim problem çözüldü. Php'nin dns resolve işlemleri bir şekilde işletim sistemi ile haberleşemiyordu, ve eski php sürümlerinde bu tarz şeyler sıkça olabiliyordu :) Hata gerçekten dns resolve işlemini (sunucunuzun dns ayarları) ile ilgili olabiliyor. Ben de ağırlıklı olarak buraya yoğunlaştım. Ancak benim problemimimin çmzümü apacheyi stop ve sonrasında start etmek idi. Yaşayan vardır diyerekten uzun süren mecburi sessizliğimi bu yazıyla bozuyorum. Devamı için : wordpress guncellemesinde temporary failure in name resolution hatasi

21 Haziran 2014 Cumartesi

mysql_real_escape_string DBAL dengi (equivalent)

Benim gibi projenizde bir altyapı değişikliği yapıyorsanız, muhtemelen yeniden ele aldığınız kısımlardan biri de veritabanı bağlantısı ile ilgili kısımlar oluyor. Biz de bu noktada Doctrine DBAL kullanmaya karar verdik. Henüz ORM implemente etmek için yolumuz var. O yüzden sadece DBAL katmanını kullanacağız. Ancak burada mysql_real_escape_string vasıtası ile escape ettiğimiz verileri, artık DBAL tarafına geçerken birsürü yerde replace işlemi yapmak istemiyorsanız birkaç önerim olacak. mysql_Real_Escape artık projenizde düzgün çalışmayacaktır diye tahmin ediyorum. Çünkü artık classlar üzerinden çalışıyorsunuz, ve buradaki mysql doğru connectionı bulamayabilir. (özellikle master slave ilişkili çift veya daha fazla db mimarisinde) Tabi ki işin doğrusu statement->prepare metodu üzerinden bindParam veya bindValue ile ilerlemek. Ancak bunları için oldukça uzun bir vakit gerekebilir. Biz de mysql_real_escape_string'in karşılığı olarak bir metod bulduk. Connection nesnesi üzerinde bulunan quote metodu.   $conn->quote('') dediğimiz metod tam da istediğimiz şekilde çalışıyor. Hatta connection objesindeki ekstra parametreler kısmına ATTR_EMULATE_PREPARES=> true verirseniz, bu metod bildiğiniz mysql_Real_escape işlemini yapıyor. bu parametredeki tek handikap, çoklu querylerin tek seferde çalıştırılamaz hale gelmesi oluyor.   dikkat etmeniz gereken bir şey de şu ki, mysql server'ınızın encoding'i ile (server encodinginizin mysql e bağlanıp show variables like '%char%' seklindeki degisklenlerden gorebilirsiniz) connection (DBAL ayarlarından verilen encoding) aynı olması gerkeiyor ki güvenli bir escape işlemi yapılabilsin. Devamı için : mysql_real_escape_string DBAL dengi (equivalent)

18 Haziran 2014 Çarşamba

Cpanel Nginx Admin Plugin Bandwidth problem

Cpanel'inizi nginx admin plugini ile birlikte kullanıyorsanız, bu noktada, bandwidth hesaplamalarında bir saçmalık oluyor(access_log'ları epey eksik yazıyor). Sebebi de, Cpanel'in logrotate işlemi sonrasında nginx üzerinden tıpkı apache gibi yapılan loglama işlemleri için belleğinde tuttukları file descriptor'ların (dosya tutucu pointer diye düşünebilrisiniz) rotate işlemi sonrasında kaybolmasından kaynaklanıyordu. Çözümü için logrotate işleminin akabinde çalışacak bir hook eklemeniz gerekiyor. Bu hook nginx'i reload etmesi yeterli oluyor. (restart'a gerek yok) İşyerinden bir arkadaşım durumu tespit etmişti, bana da yazmak düştü. Devamı için : Cpanel Nginx Admin Plugin Bandwidth problem

2 Mayıs 2014 Cuma

Shopio (global) E-ticaret yazilimi yayinda!

Ideasoft'un bir süredir üzerinden geliştirmiş olduğu Shopio E-ticaret yayınlandı. www.shopio.com sitesinden erişip 15 gün ücretsiz demonuzu açabilir, siz de internette satış yapmanın keyfini Shopio ile çıkartabilirsiniz. Ancak bir not düşelim, proje, türkiyede komplekslik seven kullanıcılara pek hitap etmiyor. Örneğin ödeme sistemi dünyanın pek az yerinde olmasından dolayı, taksitlendirme desteklemiyor. Ancak yurtdışına satış amaçlı olarak Vergi sistemi ve Kargo sistemi için dünya çapında kullanılabilecek bir altyapısı var. Basitleştirilmiş (basit olması için epeyce uğraştığımız:) ) arayüzü ve güçlü altyapısı (hem de kısa bir süre sonra geliştiricilere açılacak bir API de hazır) , tamamen kişiselleştirilebilir arayüzü ile, istediğiniz (veya isteyeceğiniz) her şeyi yapabiliyor olacaksınız. Shopio adı bizlere tanıdık geliyor olabilir. Ideasoft Google ile işbirliği çerçevesinde İşinizİnternette projesi kapsamında ilk defa shopio ismini kullanmıştı. Daha sonra projenin büyümesiyle birlikte markayı globalleştirmeye karar verildi. Bu bağlamda altyapı dünya çapındaki ihtiyaçlar göz önünde bulundurularak sıfırdan ele alındı. Şu anda türkiyedeki hizmet www.shopio.com.tr üzerinden devam etmekte. Henüz beta sürecinde olan Shopio'da canlı satışlar başladı bile!  Siz de e-ticarette sadece türkiyedeki değil, dünyadaki yerinizi alın!     Devamı için : Shopio (global) E-ticaret yazilimi yayinda!

25 Nisan 2014 Cuma

Turckcell Superonline Surekli Telefonda Rahatsiz Ediyor (0212 709 9424)

Turkcell Superonline firmasından bir kişi bugün beni kampanya bildirimi için aradı. Ancak ben superonline'in herhangi bir formunu hiç bir zaman doldurmadım. Kişiye telefon numaramı nereden bulduğunu sorduğumda bunu paylaşamayacaklarını belirttiler. Yan çizdiler. Sürekli konuyu değiştirme çabası. Bir üst yetkilisine aktarmasını rica ettim aktardı. O da aynı şekilde beni ikna yoluna gidip, soruma cevap vermedi. Daha sonra müdürüne aktaracağını belirtti, ben de tamam dedim. Telefon suratıma kapandı. Şu an yasal olarak neler yapabildiğimi araştıracağım. Devamı için : Turckcell Superonline Surekli Telefonda Rahatsiz Ediyor (0212 709 9424)

26 Mart 2014 Çarşamba

Windows komut satırı alternatifi (command prompt alternative)

Linux kullananlar bilir ki, windows komut satırı linuxun yanında çok temel ve zor kalıyor. Bu noktada küçük bir araştırma ile Console2 diye bir program buldum. Bu program windowsların komut satırını çoklu tab, ve kısayollar ile birlikte arayüzü ve fontları değiştirilebilen, oldukça kolaylaştırılmış ve güzel bir araç haline getiriyor. Windows 7 ile kullanıyorum, güzel çalışıyor. Umarım işinize yarar. Devamı için : Windows komut satırı alternatifi (command prompt alternative)

5 Şubat 2014 Çarşamba

E: dpkg was interrupted | dpkg --configure -a' problemi (ubuntu)

Ubuntu'ya gelen güncellemeyi update-manager ile kurmaya çalışıyordum. Ancak uzun süre geçmesine rağmen update-manager durdu ve kapatılamaz hale geldi. Komut satırından da kill edemedim çalışan processi. Bilgisayarı yeniden başlattım, ardından komut satırından apt-get update yapmak istedim. Aldığım hata;
  "E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem."  
Sebebi kurmak istediğim paketlerin dpkg ayarları ile ilgiliymiş. Bu aşamada tekrar update-manager açıp güncellemeyi oradan yapmaya çalışırsanız, üstte anlattığım durum tekrar karşınıza çıkacak ve bilgisayarı yeniden başlatmak zorunda kalacaksınız. Durumu çözebilmek için ilk önce şu komutu çalıştırıp, kurulması yarım kalan paketleri fixliyoruz.
  sudo apt-get install -f  
Ardından şu komutu çalıştırarak dpkg konfigurasyonunu düzenleyip, iptal ettiğimiz paketleri kuruyoruz.
  sudo dpkg --configure -a  
Devamı için : E: dpkg was interrupted | dpkg --configure -a' problemi (ubuntu)

26 Ocak 2014 Pazar

Github Pages ve Jekyll ile blog oluşturmak

İlk olarak Jekyll nedir, ondan bahsedelim. Jekyll, statik içeriklerle site oluşturabildiğiniz bir araçtır. Ruby dili ile yazılmıştır. İçerik oluşturduğunuzda, header, sidebar, footer kısımları ( tabi kullandığınız temaya ve layout yapısına bağlı başka yerler de olabilir )  sabit kalır ve içerik kısmı url'e göre değişir. GitHub Pages, projelerinize vs. websitesi oluşturabildiğiniz GitHub reponuzda host edilen, dolayısıyla terminalden git ile kontrol edebileceğiniz bir yapıdır. Peki Jekyll'nin GitHub ile olayı nedir? Oluşturduğunuz bir GitHub Page içerisine, Jekyll push ettiğiniz takdirde, bir adet blogunuz olmakta. İşin özeti tamamen bu aslında. Hızlıca bu işlemleri yapmak istiyorsanız, şu linke tıklamanız yeterli. Adım adım ne yapacağınız yazıyor, ancak ben kısaca bahsedeyim. İlk olarak github içerisinde {{username}}.github.com isminde bir repo oluşturuyorsunuz. Ardından bilgisayarınızda Jekyll'i clonelayıp, remote set-url ile oluşturduğunuz repoya gönderiyorsunuz. Ve {{username}}.github.io adresiniz yaklaşık bir 10 dakika içerisinde açılmış oluyor. Linkini verdiğim sitede layoutları bootstrap ile yapılmış bir Jekyll var. Eğer isterseniz tabi ki kendiniz de temasını şeklini felan düzenleyebilirsiniz. Ayrıca eğer isterseniz mevcut bir Jekyll'den clonelayıp kendiniz bir tane oluşturabilirsiniz. Burada bir liste var örneğin : https://github.com/jekyll/jekyll/wiki/Sites Postların tamamı, _posts klasörünün altında bulunuyor. Eğer terminalden rake post title="deneme" derseniz, _posts klasörünün altında, current-date-deneme.md isminde bir dosya oluşuyor. Bu dosyayı herhangi bir editör ile düzenlediğinizde bir adet post yazmış oluyorsunuz. Ancak bu şekilde yapmak zorunda değilsiniz, _posts altında herhangi bir dosya oluşturup onu {{username}}.github.io/{{dosya_adi}} şeklinde veya bir klasör oluşturup ardından onun altında dosya oluşturup {{username}}.github.io/{{klasör}}/{{dosya_adi}} şeklinde çalıştırabilirsiniz. Jekyll'i localde çalıştırabilmek için bilgisayarınızda ayrıca ruby kurulu olması gerekiyor. Onu da buradaki yazımda anlatmıştım, belki yardımcı olabilir. Ayrıca localde çalışırken başıma gelen bir olay; _config.yml dosyası jekyll serve dediğinizde load oluyor. Üzerinde değişiklik yaptığınızda tekrar jekyll serve  demeniz gerekiyor. Localde çalışırken başıma gelen bir başka hata ise şu şekildeydi : runner.rb:365:in `require_program': program version required (Commander::Runner::CommandError) Çözümü ise : sudo gem install json Jekyll'nin asıl amacı, yazılımcıların kod yazar gibi blog içeriği oluşturmalarıymış. Ufak bir araştırma yaptığımda kullanan sayısının bir hayli çok olduğunu da gördüm. Devamı için : Github Pages ve Jekyll ile blog oluşturmak

4 Ocak 2014 Cumartesi

Laravel'e başlangıç

Laravel, bir PHP frameworkudur. Web sitesinde ( laravel.com ) THE PHP FRAMEWORK FOR WEB ARTISANS. mottosuyla tanıtılmakta. Bu aralar çok popüler olmasından dolayı merak edip araştırdım. Kendinden restfuldur kendileri. İnternet üzerinde bir çok yerde ve yazılımla ilgili muhabbetlerin bir çoğunda son dönemin en iyi frameworklerinden biri olarak nitelendiriliyor. Örnek olarak şuraya göz atabilirsiniz : http://www.sitepoint.com/best-php-frameworks-2014/ Bende araştırırken karşıma çıkan faydalı ve güzel linkleri bir araya getirdim. Aşağıdan ulaşabilirsiniz; Laravel Documentation http://laravel.com/docs/introduction [ olmazsa olmaz :) ] Laracast https://laracasts.com/series [ özellikle Laravel From Scratch kısmında, Laravel'in temel prensipleri güzel anlatılmış ] Visualizing Laravel Relationships http://matthewhailwood.co.nz/visualizing-laravel-relationships/ Laravel Blog örneği https://github.com/ibrahimhizlioglu/laravel-blog-ornegi Events & Queue örneği https://github.com/Ardakilic/laravel-4-workshop-sunum Laravel Request Lifecycle http://laravel-recipes.com/recipes/52 Laravel Tricks http://www.laravel-tricks.com/ CMS https://github.com/sseffa/sfcms Laravel E-Commerce https://medium.com/laravel-4/c5afca925f28 [ Laravel ile e-ticaret sistemi ]     Faydalı olan başka linkleri de iletirseniz yazıya ekleyebilirim :) Devamı için : Laravel'e başlangıç

3 Ocak 2014 Cuma

tail -f windows karsiligi

Linux'ta kullanımına alıştığımız tail komutunun (tail -f komutunun) windows dilinde de bir karşılığını bulabildim. Ancak bu karşılık windowsun standart cmd 'sinde çalışmıyor. PowerShell üzerinde çalışabiliyor.
  Get-Content C:/path/to/file.txt -wait  
Komutunu PowerShell üzerinde yazarsanız, klasik tail -f işlemini yapıyor. İşlem bitince yine ctrl + c tuşuyla çıkabiliyorsunuz. Umarım işinize yarar. Devamı için : tail -f windows karsiligi

2 Ocak 2014 Perşembe

github projelerinizi google analytics ile takip edin

Github projelerinizdeki sayfalarinizi, (özellikle wiki sayfalarinizi diye belirtelim) disaridan gelen ziyaretçiler için ölçmek istiyor olabilirsiniz. Ancak github size böyle bir istatistik vermiyor şu anda. Bunu yapabilmenin yolu, eski usül, yani sayfalarınıza görünmeyen bir resim yüklemenizden geçiyor. Google analyticsin javascript kodunu github yüklemenize izin vermiyor. Ancak bu resmi, githubdaki sayfalarınıza ve issuelarınıza resim yükleyebildiğiniz için, ekleyebilirsiniz. https://github.com/igrigorik/ga-beacon linkinde bu konunun detaylı açıklamasını yapmışlar. Umarım işinize yarar. Devamı için : github projelerinizi google analytics ile takip edin