27 Şubat 2013 Çarşamba

Ubuntu Yüklenmiş Paketleri Listelemek

Merhaba, Ubuntu makinanıza kurmuş olduğunuz tüm paketleri listelemek isterseniz aşağıdaki komutu terminal (komut satırı) aracılığıyla çalıştırınız. Burada sadece sizin yüklediğiniz değil işletim sisteminizle beraber yüklü olarak gelen paketleri de göreceksiniz :
dpkg --get-selections
Selamlar. Devamı için : Ubuntu Yüklenmiş Paketleri Listelemek

20 Şubat 2013 Çarşamba

Webrazzi E-Ticaret'2013

Merhaba, Her yıl Webrazzi tarafından düzenlenen E-Ticaret konferansı bu yıl İstanbul Point Hotel Barbaros'da gerçekleşti. Sabah 9:30 da başlayan etkinlik saat 17:00 de sonlandı. Bende katılımcılar arasındaydım. Bu sektörün bir parçası olarak her ne kadar önemli işler yapıyor olsak da çoğu zaman biz yazılımcılar yaptığımız işin ne kadar önemli olduğundan bihaber durumda oluyoruz. Bize çok normal gelen çalışmaların aslında önemli kilometre taşları olduğunu bu gibi etkinliklerde bu ortamın havasını koklayarak anlamak mümkün. Etkinliklere pek çok önemli firma katıldı. Bunlardan bazıları : - IdeaSoft - Hepsiburada.com - Yemeksepeti.com - BKM - Gittigidiyor.com - Turkcell - Limango Önemli firma yöneticilerinin ortak görüşleri e-ticaretin önümüzdeki yıllarda hızla büyüyecek olması. Bu bağlamda her ne kadar detaylı bilgi verilmesede bu pastadan pay kapmak için tüm firmaların yeni projeleri ve pazarlama stratejileri olduğunu söylemek isterim. Tüm firmalar yine kendi sektörleriyle alakalı geçmiş yılların istatistikleri ve tahmini gelecekle ilgili beklentilerini anlattılar. BDiCC1KCAAAo-Qc Etkinlik için firmalara ayrılan sürenin kısıtlı olması yüzeysel bilgi verilmesine yol açtı diyebilirim. Genellemeler üzerinden hızlı bir sunum yapıldı. Ben sunumların sonunda internette bu firmalar hakkında arama yaparak ulaşabileceklerimden daha fazlasını alamadım. Sunum gerçekleştirecek olan firma isimleri ve onları temsilen sahnede olacak isimler her ne kadar heyecan uyandırsada pek doyurucu olmadığını düşünüyorum. Yine sahne alan firma yöneticilerinin kendinden önceki yada sonraki firmalara kılçık attığını ve üstünlük kurma çabalarının olduğunu kendi gözlemlerime dayanarak söyleyebilirim. Biraz gövde gösterisi gibi oldu diyebiliriz. BKM Genel Müdürü Soner Canko'nun diğer sunum yapan firma rakamlarını yalanlaması, Yemeksepeti.com'un Genel Müdürü Nevzat Aydın'ın kendinden emin ve "bizden büyüğü yok çok firma rakip olmaya çalıştı ama çoğunuz ismini bile bilmezsiniz" şeklinde rahat tavırlarıyla çoğu kez Yemeksepeti'ni övmesi, Evim.net Genel Müdürü Ali Özen'in esprili ve samimi cevapları konferansa damgasını vurdu. Genel gözlemlerim firmaların bu kadar büyük şirketler haline gelmesinin 2 ana sebebi var. Birincisi 2000'li yıllarda henüz Türkiye'de internet sektörü çok yeni gelişmeye başlarken Avrupada ki başarılı projelerin ülkemize getirilmesi (Yemeksepeti.com, Mynet.com) sonucu rakipsizleşmek ve ikincisi dev firmaların internet sektöründe ki pazardan pay almak için dev yatırımları. O yüzden kendi çabalarınızla internette bir yerlere gelmek istiyorsanız özgün şeyler üretmeniz gerekiyor diye düşünüyorum. Ne şuan 2000 yılındayız nede arkanızda dev bir yatırım var. O zaman özgün birşeyler üreterek bir yerlere gelmek hala mümkün gibi gözüküyor. Bu yazı tümüyle benim naçizane görüşlerimi barındırıyor. Sürç-i lisan ettiysek affola. Selamlar. Devamı için : Webrazzi E-Ticaret'2013

ubuntu network device not managed hatasi

Virtual Box içinde çalışan ubuntu desktop 12.04 te durduk yere device not managed hatası aldım. bu hatayı düzeltmeden önce static verdiğim ip nin başka bir bilgisayar tarafından aldığını gördüm ancak bir hata var belli. çünkü çakışma vb diye beni uyarmadı.  Anladığım kadarıyla hatayı bu Aynı IP alma durumu tetikledi.   daha sonra buradaki yöntemleri uyguladım ve sorunum çözüldü. Türkçesi :  Terminalden yapıyoruz :
sudo nano /etc/NetworkManager/NetworkManager.conf  
managed=false yazan satırı managed=true diye editliyoruz. Network yöneticisini yeniden başlatıyoruz.
sudo service network-manager restart  
herhangi ihtimale karşı birazdan düzenleyeceğimiz dosyanın yedeğini alalım.
sudo cp /etc/network/interfaces /etc/network_interfaces_backup  
Dosyayı açalım
sudo nano /etc/network/interfaces  
buradaki ayarlarınız static ip için yapılanmış olabilir. Ancak ne var ne yok silip aşağıdaki otomatik kodu koymanız ilk etapta işinizi çözecektir. (ben silmedim, sadece IP'mi değiştirdim.)
auto lo  iface lo inet loopback  
Dosyayı kaydettikten sonra network yöneticisini yeniden başlatalım.
sudo service network-manager restart
  Ve işte düzelmiş olmalı! Devamı için : ubuntu network device not managed hatasi

17 Şubat 2013 Pazar

Zend Studio 10 cikti

Zend Ekibinin bir süredir üzerinde çalışıyor olduğu Zend Studio 10 yayınlandı. Bu linkten download edebileceğiniz Zend Studio 10'un release notlarına buradan bakabilirsiniz.   Mobil ve cloud özellikleri ve kabiliyetleri geliştirilen Zend Studio 10 için  ilk etapta ayrıca Zend Framework 2 ile daha uyumlu olduğunu söyleyebiliriz. Dahasını ilerleyen günlerde paylaşabilmek üzere.. Devamı için : Zend Studio 10 cikti

15 Şubat 2013 Cuma

PHP Namesapace Autoload

Merhaba, PHP 5.3.x ile beraber gelen namespace konusuna bu yazımda değinmiştim. Şimdi namespace autoload konusuna değinerek sizlere bilgilerimi paylaşmak istiyorum. Koskoca bir proje tek bir include ile olur mu demeyin oluyor. Kullanmak istediğimiz namespace'yi use diyerek çağırmak ve ilgili sınıfın otomatik olarak include edilmesi için autoload mekanizması var. Şimdi bu yapıyı kurmak için proje dizinimize composer.json dosyası oluşturarak içine şu jsonu ekleyelim :
  {       "autoload":{        "psr-0":{           "" : "library" // sınıflarımın bulunduğu path (index.php ile aynı seviyede)        }     }  }
Not : composer işletim sisteminizde yüklü olmalıdır (ubuntu için curl -s https://getcomposer.org/installer | php) Şimdi komut satırından proje dizinine gelerek şu komutu çalıştıralım ve ilgili dosyalarımızı oluşturalım :
composer install
Bu komutu çalıştırdıktan sonra vendor isminde bir klasör ve içerisine iligli dosyalar gelmiş olacak.Aynı zamanda composer ile uğraşmak istemiyorsanız internetten çeşitli kaynaklardan bu vendor içindeki dosyaları edinebilir veya kendiniz yazabilirsiniz. Nihayetinde PHP dosyaları ve composer sadece bu işi kolaylaştıran bir yapı. Şimdi kullanımına gelecek olursak index.php dosyamıza vendor klasörü içindeki autoloader.php dosyamızı include etmek dışında hiçbirşey kalmıyor :) Devamı için : PHP Namesapace Autoload

14 Şubat 2013 Perşembe

PHP Namespace

Merhaba, Nedir bu namespace diyerek Google'nin başına geçmiş, araştırmalar yapmış ve tam olarak kafanıza oturmadan çalışmaları sonlandırmış olabilirsiniz. Biraz gerçekçi senaryolar üzerinden giderek sonuca ulaşmaya çalışalım. - library - Form - Data.php (class Data) - Database - Data.php (class Data) Şeklinde iki adet Data.php dosyalarına tanımlanmış Data isimli sınıflarımız var. Buraya kadar sorun yok. Şimdi bunları aynı sayfa üzerinde çalıştırmaya çalışalım.
<?php    require_once('library/Form/Data.php');    require_once('library/Database/Data.php');    $object1 = new Data();    $object2 = new Data();    ?>
İşte burada işler karıştı ve fatalı yediniz. PHP size kızdı. Muhtemelen kullandığınız IDE bile size kızdı. Yazıklar olsun dedi. PHP 5.3.x ile beraber gelen namepsace bu konuda bize çözüm sağlıyor. library/Database/Data.php :
<?php    namespace Database;    class Data{    }    ?>
library/Form/Data.php
<?php    namespace Form;    class Data{    }    ?>
Şimdi namepsace ile doğru kullanımına geçelim
<?php    require_once("library/Database/Data.php");    require_once("library/Form/Data.php");    $object1 = new \Database\Data();    $object2 = new \Form\Data();    ?>
Evet şimdi işlet tıkırında giti ve PHP'de IDE'de kızmadı bize. Çalıştı. Eğer namespace kullanmamış olsaydık 2. Data classımız için Data yerine başka belkide anlamsız bir isim vermek zorunda kalacaktık. Özellikle büyük çaplı projelerde iç içe klasör yapıları ve classlar ile daha anlamsız class isimleri oluşturmak durumunda kalacaktık. Buda kod okunurluğunu ve OOP yapısına uygun olmayan sonuçlar doğurabilirdi. Umarım faydalı olmuştur. Devamı için : PHP Namespace

Twig Kurulumu ve Kullanımı

Merhaba, Profesyonel yazılım projelerinde yazılım tasarımdan ayrı tutularak tasarlanır ve geliştirilir. Özellikle özel şirketlerde yazılım, tasarım ve arayüz için farklı departmanlar bulunmaktadır. Konusunda uzman kişiler çalışmalarını birbirlerine ayak bağı olmadan ilerletir. Ne arayüz geliştiricilerin her iş için yazılımcılara ihtiyacı olur ne de yazılımcıların her iş için tasarımcılara ihtiyacı. Bu bağlamda basit bir yazılım dili gibi HTML değişkenler ile birçok çalışma yapmak mümkün. Önemli template motorlarından Twig kurulumu ve birkaç basit çalışmayı sizlerle paylaşmak istiyorum. Twig 1.12.2 sürümünü indirmek için buraya diğer sürümlere erişmek için buraya tıklayınız. İndirmiş olduğunuz dosyayı çalışmak istediğiniz dizine çıkarmanız gerekiyor. Aslında kurulumdan kastımız buydu :) Sadece çalışır duruma gelmesi için birkaç düzenleme daha yapacağız. Cache ve template dosyalarımızın bulunacağı 2 klasör daha isteyecek bizden. Oluşturmanız gereken klasörleri aşağıda listeliyorum - compilation_cache - templates Templates klasörümüzün içine index.html ekleyelim. Basit bir sayfa olacak
<!DOCTYPE html>  <html>      <head>          <title>My Webpage</title>      </head>      <body>          <h1>My Webpage</h1>          {{ message }}      </body>  </html>
Proje dizinimize index.php oluşturup içine şu kodları ekleyelim :
<?php  require_once 'lib/Twig/Autoloader.php';  Twig_Autoloader::register();    $loader = new Twig_Loader_Filesystem('templates');  $twig = new Twig_Environment($loader, array('message' => "Hello Word!"));  echo $twig->render('index.html');
Twigi oluşturup template dizinimizi belirttik. index.html ile haberleşecek olan verileri array olarak gönderiyoruz. message değişkenimiz var şuan sadece. En son olarak index.html'i render ederek çalıştırmış olduk. Ekrana "Hello Word" yazıldığını görürseniz başardınız demektir :) Devamı için : Twig Kurulumu ve Kullanımı