Bana gelen sorular ışığında !
Bana gelen sorular ışığında bir kaç konuda ziyaretçileri bilgilendirmek istiyorum.
- Kullanacağınız aracı iyicene öğrenin. İşin üzerinde öğrenmeyin
- Kendinizi geliştirmek için zaman ayırın. Böylece hazırlayacağınız ürünü daha profesyonel, hızlı ve kaliteli üretirsiniz
- Eğer ki bir yazılım hazırlıyorsanız. Yazılımınızın da bir otomasyona sahip olmasını sağlayın
şimdilik bu kadar aklıma geldikce buraya ekleyeceğim.
Zenburn’le gözlerinize bir iyilik edin…
Bir çok programcı benimde pek mesai saatim yok, dolayısıyla son günlerde karanlık bir ortamda çalışmam ve monitörümün 22’ olması sebebiyle bayağı yüksek ışık vurması gözümü çok rahatsız etmiş olacak ki gözlerim ağrımaya başladı.
Xtremetawsan’ın bir ara siyah arka planla birlikte kullandığı syntax color’lar geldi aklıma fakat. Biraz araştırma yaptım. Her ne kadar gözlerimin genede yorulacağını bilsemde tamamen beyaz bir ekrandan daha az yorulacaktı. Bu sıra Zenburn’le tanıştım. Kendisi Vim için yazılmış bir Syntax renk şeması.
Yukarıda’ki ekran görüntüsü Zenburn’ün VIM’deki ekran görüntüsü gayet hoş. Aşağıda ise benim Zend Studio için Zenburn’ün renk şemasını kullanarak hazırladığım ekran görüntüsü var.
Ayrıca MS VS, Notepad++, Edit++ ve benzeri bir çok IDE için hazırlanmış sürümlerini sitesinde bulmanız mevcut. Ben Zend Studio For Eclipse için hazırlanmış sürümünü buradan sizlere sunuyorum.
Fakat bu direkt “File –> Export –> General –>Preferences” ten gelen dosya dolayısıyla dosyayı bir text editörü ile açıp olası ihtiyacınız olmayacak olanları silmenizde fayda var.
İlgili ayar dosyasını download etmek için tıklayınız…
Veri tabanı standartları üzerine kısaca
Eğerki klasik kurumsal web sitesi yapıyorsanız genek olarak herhangi bir web standardına önem vermezsiniz ama ki projeniz birazcık büyükse ve heran genişleyebilecekse işte o zaman standartlara ihtiyacınız olacaktır. Bu noktada bir yazılım için nerede en önemli unsur olan veri tabanı tasarımlarımız ön plana çıkmakta.
Not: Tasarım aracı olarak "MySQL Workbench" kullanmaktayım.
- daima küçük harf kullanın
- düzgün bir diagram elde etmek için parent_child şeklinde tablo isimlerinizi prefixlendirin. Örneğin: urun -> urun_kategori bu şekilde kategori tablosunun hangi tabloya veya sisteme dahil olduğunu anlayabilirsiniz.
- ilişkili field isimlerinde parent ta kullanılan ismi table prefix'i ile kullanın tıpkı 2 de olduğu gibi ilişkinin nereden geldiği konusunda bilgi sahibi olursunuz.
- Sütun isimlerinde hiç bir şekilde boşluk kullanmayın. Böylelikle diagramınızı oluşturken kafanız karışmayacaktır.
Çok fazla değil ama bu standartlara uygun bir veri tabanı tasarımı gerçekleştirirseniz projelenirde çok daha rahat ve anlaşılır veri tabanlarına sahip olursunuz.
Benim şahsen önereceğim şeylerden bir kaçı ise
- Trigger kullanmaktan çekinmeyin. Child tablolarınızdaki verileri silmek için veya update etmek için kullanabilirsiniz.
- Transaction kullanmaktan çekinmeyin. Transaction hayat kurtarabilir.
- Veri tabanınızı olabildiğince esnek tasarlayın çokcana sorgu göndereceğiniz fieldlarınızı Indexleyin.
Ayrıca Google üzerinde birazcık araştırma ile MySQL üreticilerinin verdiği bir kaç konferans notuna ulaşabilirsiniz. Dökümanın şu an yanımda olmamasındand olayı buraya ekleyemiyorum.
iso dan utf-8 e geçiş…
İhtiyacımız olabilir bazen oluyor...
$ourTree = rscandir();
$onlyFiles = array();
foreach ($ourTree as $file) {
if (!is_dir($file)) {
if (!preg_match('%/\.svn%', $file)) {
$mimecontenttype = mime_content_type($file);
if ($mimecontenttype == 'text/plain') {
$encoding = mb_detect_encoding(file_get_contents($file), 'UTF-8, ISO-8859-9, ISO-8859-1');
$result = mb_convert_encoding( $file, 'UTF-8', 'ISO-8859-9');
$iconv = file_put_contents($file, iconv("ISO-8859-9", "UTF-8", file_get_contents($file)));
$onlyFiles[] = array(
'file' => $file,
'currentEncoding' => $encoding,
'result' => $result,
'mime' => $mimecontenttype,
'iconv' => $iconv,
'test' => mb_detect_encoding(file_get_contents($file), 'UTF-8, ISO-8859-9, ISO-8859-1')
);
}
}
}
}
print_r($onlyFiles);
Javascriptte düzenli ifadeleri dinamik olarak kullanmak…
new RegExp('\\b'+degisken+'\\w+\\b', 'gi');
MySQL’de latin1 bir tabloyu utf8′e gerçirmek
Adım 1: Dump of Dump (MySQL Dump ile saf datayı alıyoruz)
mysqldump --user=kul -p --default-character-set=latin1 -c --insert-ignore --skip-set-charset dbname > dump.sql
Adım 2: Make (Yeni Veri Tabanı Oluştur)
mysql --user=user -p --execute="DROP DATABASE dbname;
CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;"
Adım 3: From Dump To Clever (Eski datanın utf-8 e çevrilmesi)
iconv -f ISO-8859-1 -t UTF-8 dump.sql > dump_utf8.sql
perl -pi -w -e 's/CHARSET=latin1/CHARSET=utf8/g;' dump_utf8.sql
Adım 4: A little modify (Data içerisinden latin tabloların utf-8 yapılması)
nano ump_utf8.sql
diyerek SQL dosyamız içerisindeki create lerin popolarındaki latin işaretlerini utf8 olarak değiştiriyoruz.
Adım 5: Go Back Your Hole (Eski datamızı UTF-8 veri tabanımıza geri yüklüyoruz)
mysql --user=kul --max_allowed_packet=16M -p --default-character-set=utf8 dbname < dump_utf8.sql
Tabiki de sorunlarla karşılaşma olağınız var. Bu konuda elimden geldiğince yardımcı olacağım.
Plesk’e harici FTP hesabı eklemek
Yakın zamanda lazım oldu...
useradd username -d /path/to/ftp
passwd username
usermod -g psacln username
usermod -G psaserv username
ISO Imagelarını Mount etmek
Bu sabah RSS ihtiyacımı giderir iken daha önceden ihtiyacım olan ama sadece "mount" komutunu bulduğum bir olayın GUI'sini de var olduğunu fark ettim.
Şuradan nasıl yapıldığı hakkında bilgi alabilirsiniz.
Ama kısaca aşağıda anlatayım:
sudo apt-get install fuse-utils fuseiso libqt4-gui pinentry-qt
sudo ln -s /usr/bin/fusermount /bin/fusermount
Daha sonra şu siteden gerekli programımızı download ediyoruz.
sudo dpkg -i acetoneiso2_2.0.2-20080602_i386.deb
sudo addgroup your_username fuse
Her şey bu kadar artık bir bizde ISO Imagelarımızı mount edebiliriz. Tabiki sadece ISO Imagelarımızı mount etmek ile kalmıyor bu zımbırtı aynı zamanda:
- ISO / DVD Imageları oluşturabiliyoruz
- Sonracığıma Image türleri arasında geçiş yapabiliyoruz(Convert)
- Sonra DVD lerden RIP yapabiliyoruz.
Bunlar gözüme çarpanlar daha fazlası için Utilities'ten Conversion and Video altında biraz gezinmenizde fayda var.
Not: mount -o loop /path/to/image.iso /path/to/mount/point/