yakusha

Küçük CSS Değişikliği İle İnternet Sayfalarımız Çevre Dostu Yazıcı Çıktısı Üretsin

Web sitelerinin sadece veritabanı (mariadb/mysql) ve scripting (php) kısmında yer aldığım için css kodlarına fazla müdahale etmem gerekmiyor… Lakin öğrenmenin yaşı ve zamanı yok; her gün yeni bir şeyler öğreniyoruz lakin paylaşılmamış bir öğrenme sadece kendi heybemize çalışan bir öğrenme oluyor.

Küçük bir css değişikliği ile internet sayfalarımızı çevre dostu yazıcı çıktısı üretir hale getirebiliriz. Bahsedeceğim teknik gizli saklı bir sır değil; css’in varolan yeteneklerinden birisi.

CSS ile çeşitli cihaz boyutları için (telefon, tablet) responsive/esnek tasarım yapma imkanı bulunduğu gibi yazıcı görüntüsü için de css’ler ile çeşitli alanları yeniden düzenlemek mümkün oluyor.

Örnek olarak, normal bir css’imizi media=”screen” şekilde çağırıyorken

link rel="stylesheet" href="style.css" media="screen"/

Yazıcı görünümünde alttaki gibi media=”print” diyerek çağırıyoruz

link rel="stylesheet" href="print.css" media="print"/

Sayfamızda da şu şekilde bir css bulunsun

header, 
footer, 
img
{
	display:none;
}
article
{
	font-size:11pt;
	font-family:sans-serif;
}

Alternatif yöntem olarak css dosyamız içinde şu şekilde media print diyerek de tanılmalama yapabiliyoruz

@media print {
..... my css
}

Test etmek için benim kullandığım yöntem, firefox’un araç çubuğundaki dosya -> yazdırma ön izlemesi yolunu kullanmaktan ibaret.

Sonuç, daha okunur bir metin çıktısı, daha az ağaç israfı…

Kendinize Bir Kötülük Yapın

Kendinize bir kötülük yapın ve yayındaki sitelerinizi sıkıştırıp şöyle bir isimle hemen public_html/ klasörü içine koyunuz; böylece otomatik botların sitenizin yedeğine ve veritabanına ulaşması çok daha kolaylaşır.

Aynı şekilde bu dosyaları ŞİFRESİZ bir backup/ yedek/ arsiv/ klasörü içine de alabilirsiniz.

/domainName.zip
/domainName.tar.gz
/backup.zip
/www.zip
/htdocs.tar.gz
/www.tar.gz
/backup.tar.gz
/htdocs.zip
/public_html.tar.gz
/public_html.zip

Kaynak derseniz, hazırladığımız web sitelerindeki 404 hatalarını özellikle takip ediyorum ve bu şekilde yapılmış bir aktivitesine denk geldim, dikkat çekmek istedim.

PHP ile Dizi Değerlerini Türkçe Uyumlu Sıralamak

PHP ile dizi değerlerini Türkçe uyumlu sıralamak için php-intl paketi kurulu olması şartıyla Collector sınıfı çok yararlı olacaktır.

Aşağıdaki örneği ve ürettiği sonuçları inceleyebilirsiniz.

	$dizi[5] = 'i';
	$dizi[6] = 'İ';
	$dizi[7] = 'ö';
	$dizi[8] = 'Ö';
	$dizi[9] = 'ş';
	$dizi[10] = 'Ş';
	$dizi[11] = 'ü';
	$dizi[12] = 'Ü';
	$dizi[1] = 'ç';
	$dizi[2] = 'Ç';
	$dizi[3] = 'ı';
	$dizi[4] = 'I';
	
	//normal hali
	print_r($dizi);

	//asort ile sıralanmış hali
	asort($dizi);
	print_r($dizi);
	
	//colltor->asort ile sıralanmış hali
	$collator = new Collator('tr_TR');
	$collator->asort($dizi);
	print_r($dizi);

Sonuçlar

Array
(
    [5] => i
    [6] => İ
    [7] => ö
    [8] => Ö
    [9] => ş
    [10] => Ş
    [11] => ü
    [12] => Ü
    [1] => ç
    [2] => Ç
    [3] => ı
    [4] => I
)

Array
(
    [4] => I
    [5] => i
    [2] => Ç
    [8] => Ö
    [12] => Ü
    [1] => ç
    [7] => ö
    [11] => ü
    [6] => İ
    [3] => ı
    [10] => Ş
    [9] => ş
)

Array
(
    [1] => ç
    [2] => Ç
    [3] => ı
    [4] => I
    [5] => i
    [6] => İ
    [7] => ö
    [8] => Ö
    [9] => ş
    [10] => Ş
    [11] => ü
    [12] => Ü
)

Kate Kurallı İfadeler

Kodlama yaparken KDE bileşenlerinden KATE editörünü kullanıyorum. Ne zaman kurallı ifadalere işim düşse, hep karıştırıyorum. Ufak notlarımı şuraya alayım da, lazım oldukça bakarım… (muhtemelen 20 defa baktım)

Aranan / dönüştürdüğüm

yazi_([0-9]+)-(.*)
yazi_1
label for="(.*)"
null

Forum yazılarındaki url bbcodelarını temizlemke için

[url=(.*)]
null

Linux Alet Çantam

Benim eski nesil i3 işlemcili laptopum var. 64bit Ubuntu kurulu ve 8GB ram takılı halde. Sanal makine içine Windows kurdum. Şimdiye kadar Windows ile yaptığım tek iş arada LibreOffice’in Windows sürümlerini test etmek 🙂

Bir web geliştiricisi olarak çalışma ortamımı tamamen Linux’a taşımış durumdayım.
Read More

Consolidate Please

Malum bir elin nesi var meselesi.

Bir el sağlam işler yapabilir. Sağlam bir yumruk atabilir M. Ali gibi? Sağlam bir parmak gösterebilir Linus Torwalds. Sağlam bir tokat atabilir Kadir İnanır gibi! Lakin iki el, ikibin el iki yüzbin el neler yapabilir?

Özel Sektör ve Kamu Sektöründe birçok yatırımın tekrar tekrar yapıldığını gözlemleyebilirsiniz. Dubai’de bir deniz botu ihalesine 12 firmanın teklif vermesi, lakin teklif veren 7 firmanın Türk olması garabetini zenginlik olarak malesef yorumlayamıyorum.

Birçok sanayi kuruluşumuz sadece yerel ölçekte üretim yapmakta ve sadece birbiri ile didişmek ile meşgul görünüyor. Aynı işi yapan birçok özel sektör firması olması doğal, lakin kamu’nun aynı işi yapan 40 şirketi olması da bir garip durum.

Bu anlamda işbirliği, sanayi derinliği, üretim çeşitliliği ve rekabet gibi hiç anlamadığım kavramlar ortaya çıkıyor. Ne kamu yönetimi ne de işletme, maliye gibi Türkiye’de meşhur bir alanda eğitim görmedim! İlahiyat fakültesinde başlayan eğitim hayatım Bilgisayar Programcılığı ile sonuçlandı 🙂

Aynı işi yapan firmalar’ın ortak bir çatı altında bulunmasına Rus kardeşlerimiz çok güzel bir örnek ortaya koymuşlar. Yerli savunma sanayi kuruluşları için bir Savunma Sanayi Holding gibi bir üstçatı kurulması konusunda Savunma Sanayi Müsteşarlığı’nın çalışmaları olduğu “blogdan dolma” olarak dillendiriliyor.

Aynı alanda faaliyet gösteren, hatta aynı işi yapan birçok firmamız olmasına rağmen bütün raylı sistem ihalelerini yabancı kuruluşlara gitmesi de bize mahsus bir durum galiba.

Tramvay Alanında
* Ulaşım AŞ‘nin ilk Yerli Tramvay RTE 2000‘i ardından RTE 2009‘u ürettiğini biliyoruz.
* Bursa’da Durmazlar firmasının İpekBöceği isminde bir ürünü olduğunu biliyoruz.
* Tülomsaş: Türkiye Lokomotiif Sanayi AŞ’nin lokomotif çalışmaları bulunuyor.
* Tüvasaş: Türkiye Vagon Sanayi AŞ’nin vagon üretimi ve ilgili teknolojileri bulunuyor.
* Tüdemsaş: Türkiye Demiryolu Makineleri AŞ’nin demiryolu sistemleri ile ilgili çalışmaları bulunuyor.

Tramvay üreten firmaların Otobüs Karoseri üreten firmalar ile yakın ilişkileri var. Mühendislik ve üretim alanlarında ortak çalışabilecekleri alanlar bulunuyor.

Consoludate Please Diyorum.

Not: Bu yazı Temmuz 2013’de hazırlanmıştır ve hiç yayınlanacak standartta görülmemiştir. Şu haber vesilesiyle yayına almayı uygun gördüm.

Yalın md5 Risk Oluşturuyor

Çok ümit etmemize rağmen kullanıcılar arasında zorlu şifre kullanmak gibi bir eğilim görülmüyor.

Rakam ve harften oluşan standart şifreler md5 ile hash edilse bile, db dökümü alınıp hash taraması yapıldığında kırılmış olarak karşımıza çıkabiliyor.

http://www.md5decrypter.co.uk/ sitesini kullanarak 30 kurumsal kullanıcının şifresini karşılaştırdığımda 13 tanesinin direk bu siteye kayıtlı olduğunu gördüm…

Yalın md5’i terk etmek ama gölgesini sistemde bırakmak için şöyle bir fonksiyon yazdım. Sizin de işinize yarar umarım.

Özgürce kullanabilirsiniz
Read More

Yazılım Tanıtımı: Meld, WinMerge Alternatifi

WinMerge Windows ortamında, özellikle phpBB dil dosyalarını tercüme ederken kullandığım özgür bir yazılımdı. phpBB ile olan mesaimiz bitince* bir daha ihtiyacım olmamıştı.

Linux ortamında WinMerge malesef çalışmıyor. Lakin alternatifler de yok değil. 5-6 tane alternatif olsa da basitlik ve kullanım kolaylığı açısından Meld yazılımı hoşuma gitti.

Projenin Sitesinde özellikleri hakkında çeşitli bilgiler verilmiş durumda. Birazını tercüme edip aktarmak istedim.
Read More

6 Ayda Bir Yeniden Doğan İşletim Sistemi: Ubuntu

Ubuntu, LTS sürümünü kullanmayı seçmediyseniz, her 6 ayda 1 yeniden kurulum yapmaya sevk eden bir Linux dağıtımı.

3 Seneye yaklaşan Ubuntu ve Linux maceram sırasında 1 defalık kendi hatam dışında data kaybı yaşamadım. 6 Ayda bir kurulum yapmak yorucu olabiliyor; lakin çocukları seven benim için her yeni sürüm yeni doğan bir çocuk gibi, tatlı ve şeker bir şey geliyor…

Her çocuk gibi ilk yaptığı iş ağlamak da olabiliyor. Lakin Ubuntu biraz Kemal Sunal’ın “Gülen Adam” filmi gibi, son 3 sürümde gülerek doğuyor… (* kişisel gözlemimdir)
Read More

XML İçindeki Türkçe Karakterler İçin PHP Fonksiyonu

XML içindeki Türkçe karakterlerin sıkıntı olduğunu bilmiyordum.

MsSQL kaynaklı bir XML verisini PHP ve SimpleXML ile işlemeye çalışırken, türkçe karakterler konusunda taklalar attım. Mesela XML içindeki data Abakxfcs gelmiş Lakin aslında Abaküs demek istiyor.

Uğraşırken şöyle bir fonksiyon ortaya çıktı, işimi gördü. Kesin daha basit yolu vardır ama, ben yine paylaşmış olayım.

function xml2tr($string) {
/*
Biraz derleme, çokça kurcalama ile Sabri Ünal tarafından yazılmıştır.
Creative Common + GNU FDL + GPL (v1-v2-v3) ile lisanslanmıştır
Nasıl hoşunuza giderse o lisans ile kullanabilirsiniz
*/
	$string = str_replace("\xc7", "Ç", $string); // Ç
	$string = str_replace("\xe7", "ç", $string); // ç

	$string = str_replace("\xd0", "Ğ", $string); // Ğ
	$string = str_replace("\xf0", "ğ", $string); // ğ

	$string = str_replace("\xdd", "İ", $string); // İ
	$string = str_replace("\xfd", "ı", $string); // ı

	$string = str_replace("\xd6", "Ö", $string); // Ö
	$string = str_replace("\xf6", "ö", $string); // ö

	$string = str_replace("\xdc", "Ü", $string); //Ü
	$string = str_replace("\xfc", "ü", $string); //ü
	//karakter grupları
	$string = str_replace("\xdf;","&",$string);
	$string = str_replace("\x80;","+",$string);
	//uzatmalı karakterler
	$string = str_replace("\xe2", "â", $string); //uzatma a
	$string = str_replace("\xc2", "Â", $string); //uzatma A
	$string = str_replace("\xee", "î", $string); //uzatma İ
	$string = str_replace("\xce", "Î", $string); //uzatma İ
	$string = str_replace("\xfb", "û", $string); //uzatma u
	$string = str_replace("\xfb", "Û", $string); //uzatma u => kesin hatalı
	return $string;
}