6 May, 2008
PostgreSQL’de bir tablonun sütunlarının isimlerini ve bu sütunlara ait veri tiplerini almaya ihtiyacım oldu. Biraz araştırmadan sonra güzel bir SQL buldum ve aşağıdaki kodu hazırladım. İşine yarayan olabilir diye paylaşayım.
$tablename = 'tablename';
$sql = 'SELECT
a.attname AS "Sutun",
pg_catalog.format_type(a.atttypid, a.atttypmod) AS "Veritipi"
FROM
pg_catalog.pg_attribute a
WHERE
a.attnum > 0
AND NOT a.attisdropped
AND a.attrelid = (
SELECT c.oid
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relname ~ '^('.$tablename.')$'
AND pg_catalog.pg_table_is_visible(c.oid)
)';
$resulted_array = pg_fetch_all(pg_query($sql));
6 May, 2008
PostgreSQL veritabanı sunucusunda eğer tablo ya da sütun isimleri içinde büyük harfler kullanıyorsanız (örn : TABLE_NAME veya TableName) yaptığınız sorguda tablo ya da böyle bir “relation” yok diye hata alabilirsiniz. Çünkü PostgreSQL sorgu içindeki tablo ve sütun isimlerini küçük harflere (lowercase) çeviriyor. Bu sorunu, için büyük harfle yazdığınız tablo ya da sütun isimlerinin başına ve sonuna çift tırnak (örn : “TabloAdı”) koyarak aşabilirsiniz.
Örnek :
SELECT "SUTUN_ADI" FROM "TableName" WHERE "SUTUNADI"='test';
3 Nis, 2008
Spam e-postaların yaygınlaşmasını sağlayan önemli durumlardan birisi, e-posta adreslerinin web sitelerinde herkesin erişebileceği bir şekilde ve özellikle metin olarak yayınlanıyor olmasıdır. Çünkü malumunuz olduğu üzere, arama motoru botları gibi e-posta avına çıkan kötü niyetli botlar da internette buldukları her siteden e-posta adresleri elde etmeye çalışırlar. Bu botların topladığı e-posta listeleri de birçok firmaya spam yapması için satılır. Zaten bu tür bir listede e-posta adresinizin geçiyor olması demek, bu listeler yayıldıkça size gelecek spam sayısının neredeyse logaritmik olarak artması demektir.
Bu duruma karşı kesin bir önlem almak maalesef mümkün değil. En iyisi e-posta adreslerinizi mümkün olduğunca internet üzerinden hiç paylaşmamak bence. Çeşitli yerlere üyelikler, vb gibi şeyler için normalde kullanmadığınız bir adet gmail adresi işinizi görecektir.
Devamı… »
27 Mar, 2008
Bazen hissedileni hissedenden çok hisse tercüman olabilen anlatıyor. Çok veciz duygular içinde olduğumuzu düşündüğümüz hallerde, duygularımızı aynı vecizlikle ifade edememek, o klasik ifade ile “kelimelerin kiyafetsiz kalması” ile anlatılan acizlik içine bırakıyor bazımızı zaman zaman. Bu anı tercüme için bazen bir şarkı, bazen bir şiir gerekiyor.. İşte şu anıma tercüman olmak için bir tesadüf silsilesi içinde kulaklarıma gelen bir şiir.. Başka türlü ya da daha veciz anlatamazdım zaten..
Hepsi bu / Yılmaz Erdoğan
Değişen ben değilim
dönüşen savaş
yaşlanmakla ıslanmak aynı şey:
bir yağmurun gölgesinde ihtiyarlanmak
şimdi ölüm bile yetmiyor
acılarımızı tartmaya
dostlar
alıngan bir sahili pinekliyorlar
bir merhabayı bıçaklar gibi artık
selamlaşmalar
değişen ben değilim
dönüşen savaş
artık zaman bile yetmiyor
yaşadığımızı sanmaya
yine de ışıklar bu kenti
güzelmiş gibi gösteriyor
geceleri…
geceler…
yani
Ahmet Haşim in kafiyeleri…
seni aklıma düşüren
yerçekimi değil
yalancı yıldızlar
öyle uzaksın ki
üflesem soğuyacaksın
sarılsam okyanus
bir aşka yetecek kadar
ve anımsatacak kadar
sebepsiz bir ölümü,
acılarımız
ve kafiyelerimiz var…
işte hepsi bu kadar…
12 Mar, 2008
Diyelim ki, bir yerde çalışıyorsunuz ve çalıştığınız ofiste internete erişmek için size verilen http proxy ayarını girmek durumunda kalıyorsunuz. Ve bulunduğunuz yerin sistem yöneticileri pop3, smtp portlarına erişimi de kapattığı için Outlook kullanamıyorsunuz. Proxy girmediğiniz zaman hiçbir siteye erişemiyor, IP lerini pingleyemiyor ya da telnet ile 80 ve 443 portlarını kontrol ettiğinizde bağlanamadığınızı görüyorsunuz. Ve “sadece outlook ile e-postalarımı kontrol etmek, e-posta gönderebilmek istiyorum” şeklindeki çok masum bir isteğinizi dile getirdiğinizde sistem yöneticilerinden aldığınız cevap “e-postalarınızı web üzerinden kontrol edebilirsiniz” gibi eskilerin “malumu ilan etmek” dedikleri türden anlamsız yanıtlar alıyorsunuz. Bu durumda ne yapmalısınız ki Outlook’u tıpkı o eski güzel günlerde olduğu gibi :) kullanabilesiniz?
Yukarıdaki paragrafta anlatılanlar gerçek bir hikayeden alınmıştır. Soruyu soran kişi yukarıda bahsettiğim durumu yaşayan bir arkadaşım, bu yardım çağrısının muhatabı da bendim:) Kendisine öncelikle önereceğim çözümü kısaltmak için Outlook yerine Thunderbird kullanmasını önerdim. Çünkü Outlook bildiğim kadarı ile SOCKS proxy desteklemiyor. Fakat Outlook ile sadece e-postalarına değil de exchange server üzerinden güncellediği takvimine de ulaşmak ve exchange serverın diğer bazı özelliklerini de kullanmak istediği için çok ısrar edemedim.
Bu sorunu aşmak için en belirgin yöntemlerden biri putty ile size verilen proxy ayarları ile girerek 443 ya da 80 portundan çalışan bir SSH sunucusuna kullandığınızın makinanın bir portunu bağlamak ve bu sayede bir SOCKS proxy oluşturabilmektir. Yani kullandığımız proxy’nin engelleyemeyeceği bir port üzerinden (443 - https gibi) bizi herhangi bir şekilde kısıtlamadan internete açacak bir SSH sunucusuna bağlanacağız. Ve kullanacağımız uygulamaları proxy içinden güvenli bir şekilde geçecek bu “tünel”e (SOCKS proxy) bağlayarak proxy’nin kurallarını aşmış olacağız.
Devamı… »