[email protected]

Transkript

[email protected]
ED‹TÖR
Merhaba
IBM Özgür Yaz›l›m Dergisi’nin bu say›s›nda da yine dopdolu bir
içerik ile karfl›n›zday›z. IBM’in y›llard›r istikrarl› bir flekilde deste¤ini
sürdürdü¤ü bu dergi, Türkiye’de kendisine ciddi ve genifl bir okuyucu
kitlesi de bulmufl durumda.
Aç›k kaynak kod dünyas›ndaki önemli geliflmelerin haberleri ve
teknik makaleler, dergimizin bu say›s›nda bulabileceklerinizin sadece
bir k›sm›. Ayr›ca IBM Türk Genel Müdürü Eray Yüksek ile yapt›¤›m›z
röportaj› mutlaka okuman›z› öneririz. Zira IBM’in yapt›rd›¤› Global
CEO Araflt›rmas›'n›n sonuçlar›n› ve bu sonuçlar›n ne anlama geldi¤ini
kendisi ile konufltuk. Tam 40 ülkeden 1.130 CEO ile görüflülerek
yap›lan bu büyük araflt›rman›n sonuçlar› elbette ki çok de¤erli
bilgiler içeriyor.
Bir di¤er röportaj›m›z› da IBM Türk Ülke Teknoloji Lideri Suat
K›z›ltafl ile gerçeklefltirdik. Özgür Yaz›l›m Dergisi olarak bu say›da
Innovation Jam 2008 isimli dev bir etkinli¤i ele almak ve sizlere de
tan›tmak istedik. IBM’in internet üzerinden gerçeklefltirdi¤i beyin
f›rt›nas› toplant›s› InnovationJam 2008, 5-8 Ekim tarihleri
aras›ndaki 72 saatlik sürede gerçeklefltirildi. ‹fl dünyas›n›n küresel
liderleri, düflünce liderleri ve rol modellerinin kat›ld›¤› etkinlikte,
“Günümüzün iflletmeleri nas›l gelece¤in iflletmesi haline gelecek?”
sorusunun yan›t› arand›.
Elbette yine teknik makalelerimiz, dergimizde önemli bir yer
tutuyor. Bu da magazinsel içeri¤e sahip dergilerden bizi ay›ran
belki de en önemli özellik... Her say›m›zda konusunda uzman yerli
veya yabanc› yazarlar›n yazd›¤› teknik makalelere yer vermeye
çal›fl›yoruz. Bu dergide gördü¤ünüz içeri¤e IBM Türk’ün web
sitesinden de eriflebilirsiniz. Özellikle yaz›lar içerisindeki kod
bloklar›n›, IBM web sayfas›na girerek eriflmek sizlerin denemeler
yapma konusunda çal›flmalar›n›z› bir hayli kolaylaflt›racakt›r.
Keyifle okuman›z dile¤iyle…
Umut Kavurmac›
[email protected]
IBM ÖZGÜR YAZILIM 3
‹Ç‹NDEK‹LER
18 KAPAK:
36 MAKALE:
46 MAKALE:
56 MAKALE:
‹NOVASYON ‹LE GELECE⁄E ‹LERLEY‹N!
WEB UYGULAMALARINDA DJANGO DÖNEM‹!
KOMUT SATIRININ GÜCÜNE HÜKMED‹N!
DAHA ÇOK DE⁄‹L, DAHA AKILLI ÇALIfiMA
IBM Türk ‹stanbul'da hizmete
açt›¤› inovasyon merkezi ile konuya
verdi¤i önemi bir kez daha gösterdi.
Web uygulamas› gelifltirmek Django
ile eziyet olmaktan ç›k›yor. Django ile web
uygulamalar›na yeni bir bak›fl geliyor.
Do¤açlama programlar oluflturmak
için UNIX yard›mc› programlar›n›
kar›flt›r›p efllefltirin
Kabuk k›sayollar›, daha az ifl yap›p
zamandan tasarruf etmenizi sa¤lar
8
YÖNET‹M
42
PROJE
26
‹NCELEME
52
FRESHMEAT
32
RÖPORTAJ
64
AC‹L SERV‹S
Say›: 3 • Kas›m 2008
IBM’in ücretsiz dergisidir
Yay›n Sahibi
IBM Türk Limited fiirketi ad›na temsilcisi
Zehra Jale Akyel
Tasar›m ve Uygulama
Sorumlu Müdür
Burak Sualp
Adnan Saygun Caddesi
Belediye Sitesi A5 Blok
Befliktafl/‹stanbul
Yönetim Yeri
IBM Türk Limited fiirketi
Büyükdere Cd. Yap› Kredi Plaza B Blok
Levent 34330, Befliktafl, ‹stanbul
Esans ‹letiflim Dan›flmanl›k Ltd. fiti.
Telefon
Faks
: (0212) 352 41 92
: (0212) 352 43 40
Yay›n Türü : Yerel Süreli Yay›n
Telefon
Faks
HABERLER
: (0212) 317 10 00
: (0212) 278 04 37
32
42
52
64
Renk Ayr›m›-Film Ç›k›fl ve Bask›
IBM Özgür Yaz›l›m Dergisi’nin bir önceki say›s›na
www.ibm.com/tr/ adresinden ulaflabilirsiniz.
4 IBM ÖZGÜR YAZILIM
ÖZGÜN OFSET SAN. ve T‹C. LTD. fiT‹. Aytekin Sk. No:21 34418 4. Levent / ‹STANBUL
Tel: 0 (212) 280 00 09 • Faks: 0 (212) 264 74 33
IBM ÖZGÜR YAZILIM 5
Geek'lerin
iktidar›!
‹nsanlar lisede ne yapar? Ergenli¤e yeni girmifl gençler, nas›l
bir davran›fl sergilerler?
K›zlar o¤lanlar›n ilgisini çekmeye, daha güzel, daha hofl olmaya
çal›fl›rlar, erkekler de daha haval› olup, daha “cool” tak›lmaya çal›fl›r, bu
sa¤layan, koskocaman bir ortam, medya kazanm›fl
be¤enmediklerini, art›k ihtiyaçlar›n› karfl›layamayanlar›
durumdalar.
nefes kesici bir h›zla piyasadan silen (bir anlamda yok
Ne mi bu imkânlar? IRC'den tutun, MSN'e, Skype'den
görüntü, dosya paylafl›m›na, daha da do¤rusu bilgi
paylafl›m› konusunda s›n›rlar gittikçe yok olmakta.
fiu an haks›zl›¤a u¤rayan biri bloguyla bütün
Ya da ifl dünyas›ndaki de¤ifliklikleri;
Yetmiflli y›llarda do¤anlar›n bile oldukça aflina oldu¤u
"memuriyet iyidir" laf› tarihe kar›fl›rken, günümüzde
dünyaya derdini anlatabiliyor. Geneli ma¤dur eden
garanti ifl diye bir kavram kalmam›fl durumda. ‹fllerimizi
bir durum oldu¤unda insanlar yüzbinlerce kat›l›m
koruyabilmek için bu rekabetçi ortamda devaml›
sa¤lanabilen online kampanyalar düzenleyerek sesini
mücadele etme, daha güncel, daha rafine bilgilere
duyurabiliyorlar. ‹nternet'in yayg›nl›¤› virütik bir
ulaflmak durumunday›z. Bunun için de en önemli
flekilde artarken, bu ortam› kullanmaya daha yatk›n
arac›m›z ‹nternet.
olanlar›n gücü de ayn› derecede artmakta.
Pirate Bay isimli siteyi belki duymuflsunuzdur.
Veya t›p dünyas›n›;
yolda ailenin arabas›n› kaç›rmaktan, futbol tak›m›n›n aranan oyuncusu
Yeni ç›kan dosyalar› tan›tarak, Bittorrent üzerinden
olmaya kadar çeflitli eylemlerde bulunurlar. Bunlar› yaparken baz›
indirilebilmeleri için gerekli ç›k›fl noktas›n› sa¤layan bu
yapabilece¤ini prospektüsünden bile anlayamayan
fleylerden de özellikle uzak dururlar. Mesela bilgisayar oyunlar› inekler
site, radikal özgürlükçü tav›rlar› ile isimlerini duyurdular.
hastalar, günümüzde de¤il ilac›n etkilerini, tedavi
içindir, ya da çizgi roman toplamak, bilgisayarla u¤raflmak, Internet'te
Sitelerini bir "performans sanat eseri" olarak
tarz›n› bile ‹nternet'ten bak›p ö¤renebiliyorlar.
dolaflmak, hele hele program yazmak. O kadar inek ifli ki...
tan›mlayan grup üyeleri, Pirate Party'nin kurulmas›
Efendim? Öyle de¤il mi? Nas›l olur, gençlik filmlerini gözünüzün
önüne getirin, okulun “Geek”leri/ineklerinin gerek popüler k›zlar,
ile politik bir kimlik de kazanm›fl durumda.
Gandhi'nin meflhur sözü "Önce sizi görmezden
Bundan on y›l önce yanl›fl bir ilac›n neler
Ya da medyay›;
90'l› y›llarda -terim yerindeyse- enformatik terör
gerek sporcu o¤lanlar taraf›ndan alay konusu olup, boynu bükük
gelirler, sonra sizinle alay ederler, sonra sizinle
estiren medya kartelleri, günümüzün bloggerlar›
bir flekilde bilgisayar odas›n›n yolunu tuttu¤u sahneleri
savafl›rlar, sonra da kazan›rs›n›z" geliyor akla.
karfl›s›nda devaml› geri ad›m atmakta. Biraz vizyon
hat›rlam›yor musunuz?
Nas›l? Bunlar 80'lerin filmleri mi? H›mmm... San›r›m hakl›s›n›z.
Dönüp bakt›¤›m›zda gerçekten flafl›rt›c› de¤ifliklik söz
sahibi olanlar çoktan mücadele etmeyi b›rakm›fl ve
konusu… Günümüzde bilgisayar kullanmak (ve hatta
iflbirli¤ine gitmifl durumdalar; CNN IReport projesi ile
Günümüz filmlerinde durum biraz farkl› san›r›m. Chuck gibi bir
aslen ‹nternet'i kullanmak) geliflmifl ülkelerde okuma
Gustav kas›rgas›n›n göbe¤inden webcam ile yay›n
bilgisayar dehas› her gün dünyay› kurtar›yor, Superman bile, bütün o
yazma k›stas›n›n yerini alm›fl durumda. Bunun izini
yapabilmekte. ‹talya'da bir grup gazete, Google'a
gücü ve yeteneklerine ra¤men bir bilgisayar hacker’› olan Chloe'nin
reklâmlardan, televizyondan, gazetelerden hatta
ona sa¤lad›¤› bilgiler olmad›¤›nda eli kolu ba¤l› çiftlik iflleri ile
suç dünyas›ndan bile takip etmek mümkün.
u¤rafl›yor. ‹lkokul arkadafllar›m›z› yana yak›la arad›¤›m›z, ayn› flehirde
Bilgisayar destekli doland›r›c›l›k, günümüzde
olmam›za ra¤men biraraya gelemedi¤imiz arkadafllar›m›zla bizi
uyuflturucu ticaretine dayal› ekosistemi
yak›nlaflt›ran Facebook'un CIA'in operasyonlar›ndan biri oldu¤u
geride b›rakt›.
konufluluyor. Ne ifl yapt›¤›n›, nerden para kazand›¤›n› bir cümle
ile ifade edemedi¤imiz Google dünyan›n en çok gelecek vadeden
K›saca söylemek gerekirse, art›k durumu
yeniden de¤erlendirmenin zaman› geldi.
flirketlerinden biri olarak adland›r›l›yor. ‹çinde sistem k›rma
olmayan bir tek soygun filmi yok, Peki, ne oldu bu süre içinde?
Dünün ineklerini bugünün gözde el üstünde tutan ne?
Hepinizin tahmin edebilece¤i tek bir cevab› var bu sorunun;
‹nternet.
‹nternet, bilginin insanlara yay›lmas› konusunda dünyan›n bugüne
6 IBM ÖZGÜR YAZILIM
eden) kat›l›mc› bireyler olmas›n›.
tutun GTalk'a, ftp’den tutun Bit torrente, yaz›, ses,
"haberlerini çald›¤›" sebebiyle dava açarken, birçok
insan gazetelerden daha sonra ç›kan haberleri
zaten bayat diye okumamakta.
K›saca art›k zaman›nda matbaan›n
yayg›nlaflmas› ile ne yaflan›yorsa, ‹nternet'in
yayg›nlaflmas› ile de benzer bir geliflim
yaflanmakta, fakat bu sefer devasa
Neyi mi yeniden
de¤erlendirece¤iz?
Kullan›c›lar›n, illa da tüketici
olmad›¤›n›, bir kenarda kendisi
için ürün gelifltirilmesini bekleyen
kadar görmedi¤i bir ortam sa¤lad›. ‹nsanlar daha önce birbirleriyle
y›¤›nlardansa, ne istediklerini
iletiflim kurmak için çok daha k›s›tl› imkânlar dâhilinde çabalarken,
her geçen gün biraz daha
günümüzde yeni bir yöntem bir yana, her geçen gün yeni imkânlar
iyi de¤erlendirebilen,
boyutlarda.
Peki, bizi ne bekliyor?
Çok de¤il önümüzdeki on y›llarda
bu geliflim tepe yapt›¤›nda Yeni
Biny›l'›n Rönesans'› bafllayacak.
K›v›lc›m Hindistan
IBM ÖZGÜR YAZILIM 7
OpenGL
art›k özgür
SGI firmas›, haklar›n› elinde tuttu¤u üç boyutlu
h›zland›rma teknolojisi OpenGL'i Free Software
Foundation'›n kabul etti¤i flartlarda yeniden
lisanslad›.
Linux.com'da yer alan habere göre bu, ticari bir firman›n Özgür Yaz›l›m Dünyas›'na bugüne kadar
verdi¤i en büyük hediye.
Kaynak: http://www.linux.com/feature/148339
“BT Hizmet Yönetimi” LKD'de yeni yönetim
uzmanlar› yetiflecek!
IBM ve Bahçeflehir Üniversitesi, BT hizmet yönetimi
uzmanlar› yetifltirmek amac›yla Bilgi Teknolojileri Hizmet
Yönetimi Yüksek Lisans Program›’n› (BTHY / IT Services
Management) bafllat›yor. ‹flbirli¤ine ait sözleflmenin imza
töreni, 26 A¤ustos 2008 tarihinde, IBM Türk Genel
Müdürü Eray Yüksek, Bahçeflehir Üni. Rektörü Prof. Dr.
Deniz Ülke Ar›bo¤an, IBM Türk Üniversite ‹liflkileri Lideri
Jale Akyel ve Bahçeflehir Üni. Fen Bilimleri Ens. Müdürü
Prof. Dr. A. Bülent Özgüler’in kat›l›m›yla gerçeklefltirildi.
IBM Üniversite ‹liflkileri ekibi, ö¤rencilere sunulacak
müfredat›, IBM’in Kaliforniya’daki Almaden Araflt›rma
Merkezi’nde çal›flan uzmanlar, Bahçeflehir Üniversitesi
ve Northeastern Üniversitesi’yle birlikte haz›rlad›.
‹ngilizce ve tezsiz olarak sunulacak programda,
ö¤renciler Bahçeflehir Üniversitesi’nden 6 adet 3’er
kredilik ders alacak. Ayr›ca, uzaktan e¤itimle 8 adet
2’fler kredilik dersi de Northeastern Üniversitesi’nden
alarak, iki diplomaya birden sahip olacak.
8 IBM ÖZGÜR YAZILIM
Haziran ay›nda yap›lan 5. Genel Kurul sonras›nda
Linux Kullan›c›lar› Derne¤i'nin (LKD) yeni yönetim
kurulu seçildi. Seçim sonucunda dernek
baflkanl›¤›na Doruk Fiflek, genel sekreterli¤e Volkan
Evrin, saymanl›¤a Shane Shields seçilirken, di¤er
genel kurul üyeliklerine de Alper O¤uz, Hakan
Uygun, Bar›fl Özyurt ve Onur Küçük seçildi. Seçildi¤i
günden bu yana çok aktif bir çal›flma anlay›fl› içinde
görevine devam eden yeni yönetim, ilk ifl olarak bir
günlük oluflturdu. http://gunluk.lkd.org.tr/yk
adresinden de takip edilebilen günlük sayesinde
LKD'nin çal›flmalar›ndan haber almak mümkün.
S›kça güncellenmekte olan günlükten ald›¤›m›z
haberlerden baz›lar›, üyeleri sevindirecek gibi
gözüküyor. Uzun süredir beklenen ama bir türlü
çözülemeyen sanal pos al›m›n›n tamamlanmas›yla
art›k LKD üyeleri, internet üzerinden üye aidatlar›n›
ödeyebilecekler. 1. Özgür Yaz›l›m Konferans›
kitapç›klar›n›n da¤›t›m› için de çaba gösteren yönetimin bu aktifli¤i üyeler aras›nda da bir heyecan
yaratm›fl olacak ki, derne¤e gönüllü katk› yapmak
isteyen kifli say›s›nda ciddi bir art›fl göze çarp›yor.
Son güzel haber ise, 26 A¤ustos Sal› günü, derne¤in
1.000 üye say›s›na ulaflt›¤›n›n duyurulmas› oldu.
Kaynak:
http://gunluk.lkd.org.tr/yk/
IBM, MEB iflbirli¤i
Netbook,
Linux kalesi
olabilir mi?
Son derece ucuz dizüstü bilgisayarlar›n aç›k kaynak Linux iflletim
sistemleri için ortam› nas›l
haz›rlad›¤›na iliflkin çarp›c› notlar
var. “Linux Foundation yöneticisi
Jim Zemlin'e göre son derece
ucuz kiflisel bilgisayarlar
sayesinde, perakendeciler gibi her
türlü flirketin kendi bilgisayar
markas›n› yaratmas›na olanak
sa¤layacak bir ortam olufltu.
Windows’tan farkl› olarak Linux,
kiflisel bilgisayar üreticilerinin ve
yetkili sat›c›lar›n›n bilgisayar›n
görünümü ve stili üzerinde pek
çok de¤ifliklik yapmas›na olanak
sa¤l›yor. Güçlü iflletim sistemlerinden çok, internet ba¤lant›l›
hizmetlere dayanan Web 2.0 ve
“Cloud Computing” kavram›n›n
benzer e¤ilimleri, Windows’un önemini gittikçe azalt›yor. Zemlin'e
göre daha güvenilir ve kullan›m›
daha kolay olan Linux’u kullanma
zaman› geldi. Zemlin, ‘Teknolojinin
olgunlaflm›fl olmas›n›n bunda pay›
büyük” diyor.
10 IBM ÖZGÜR YAZILIM
Türkiye’deki 70. y›l›n› kutlayan IBM Türk, KidSmart Okul Öncesi
E¤itim Program›’n›n ülkemize getirilmesi amac›yla, Mili E¤itim
Bakanl›¤› (MEB) ile iflbirli¤i protokolü imzalad›. 7 Ekim 2008 tarihinde yap›lan imza törenine, Milli E¤itim Bakanl›¤› Müsteflar›
Muammer Yaflar Özgül, IBM Genel Müdürü Eray Yüksek, Avrupa,
Ortado¤u ve Afrika Bölgesi E¤itim Programlar› Müdürü Carol
Berry ve Türkiye Yat›r›m Destek ve Tan›t›m Ajans› Baflkan›
Alpaslan Korkmaz kat›ld›. IBM’in KidSmart Okul Öncesi E¤itim
Program›, 2008-2009 ö¤retim y›l›nda, MEB ile ortaklafla seçilen
25 okula ünitelerin kurulmas› ve ö¤retmenlerin e¤itilmesiyle
bafllayacak. Program›n, önümüzdeki y›llarda daha çok okula
ulaflt›r›lmas› ve yayg›nlaflt›r›lmas› hedefleniyor. Dünyada 56
ülkede kullan›lan ve IBM taraf›ndan kritik öneme sahip okul
öncesi e¤itiminin desteklenmesi amac›yla gelifltirilen KidSmart
Okul Öncesi E¤itim Program›, Türkçenin de aralar›nda bulundu¤u 14 dilde sunuluyor.
BT, kurumsal aç›k
kaynak toplulu¤una
kat›l›yor
BT, Linux Foundation’›n kurumsal aç›k kaynak toplulu¤u
ve çal›flma grubu olan FossBazaar bünyesine kat›ld›.
“‹letiflim ve bilgi teknolojileri devi, 2005’ten bu yana
zaten Linux Foundation üyesi. Çarflamba günü yap›lan bir
aç›klamaya göre BT’nin FossBazaar’a kat›lmas›n›n nedeni,
“ifl dünyas›nda ücretsiz özgür ve aç›k kaynak yaz›l›m›n›n
benimsenmesini h›zland›rmak”. Linux Foundation’›n yan›
s›ra HP, Novell, Google ve SourceForge da FossBazaar
sponsorlar› aras›nda yer al›yor.”
Özgür yaz›l›m›n
hukuk zaferi
ABD Federal Mahkemesi verdi¤i
kararda alt dereceli mahkemenin
karar›n› bozarak hobi amaçl›
yap›larak internet üzerinden ücretsiz
da¤›t›lan ve Artistic License ile
lisanslanan özgür yaz›l›m›n
haklar›n›n korunaca¤›n› belirtti.
Federal Mahkeme, karar›n›n
gerekçesinde Artistic License
taraf›ndan belirlenen koflullar›n
uygulanmas›n›n fikri mülkiyet
kanunu ile mümkün oldu¤unu belirtti.
geliflti; Robert Jacobsen adl› özgür
yaz›l›mc› gelifltirdi¤i e¤itim modelini
Artistic License ile lisanslad›¤›n›
belirterek, internet üzerinde
yay›nlad›. Bu lisansa göre lisanslanan
malzeme di¤er kifliler taraf›ndan
özgürce kullan›l›p de¤ifltirilebiliyor.
Bunun karfl›l›¤›nda kaynak kodda
kodu ilk yazan›n belirtilmesi, kodun
de¤ifltirilmeyen k›s›mlar›n›n gösterilmesi ve kodun nas›l de¤ifltirildi¤inin
anlat›lmas› gerekiyor.
Stanford Üniversitesi'nde Hukuk
Profesörü olan Larry Lessig yapt›¤›
aç›klamada; "Hukuk ile ilgili
olmayanlar için önemsiz olarak
görülse de bu asl›nda büyük bir
geliflme. Teknik olmayan terimlerle
anlatmak gerekirse; yüksek
mahkeme özgür yaz›l›mlar›n
hukuken korunmas› için ilk ad›mlar›
belirlemifltir. Buna göre e¤er özgür
yaz›l›m lisanslar›nda belirtilen flartlara uymazsan›z lisanstan art›k faydalanamazs›n›z ve bu da sizi basit
bir terimle telif haklar› ihlalcisi
haline getirir. Bu karar önemli bir
zaferdir" dedi.
Davaya konu olan olaysa flöyle
Kodunun Matthew Katzer adl› bir
baflka programc› taraf›ndan
haz›rlanan ticari bir yaz›l›mda lisans
koflullar›na ayk›r› kullan›ld›¤›n› fark
eden Jacobsen, konuyu mahkemeye
tafl›d›. Konuya bakan ilk dereceli
mahkeme, davac›n›n iddias›na
kat›lmayarak lisans koflullar›n›n
anlaflmalar hukuku ile ba¤daflmayacak kadar genifl olmas› nedeniyle bir
lisans ihlalinin olmad›¤›na karar
verdi. Temyiz safhas›nda ise Federal
Mahkeme, Artistic License'da belirtilen koflullar›n telif haklar› hukuku
kapsam›nda uygulanabilece¤ini
söyleyerek yerel mahkemenin
karar›n› bozdu.
12 IBM ÖZGÜR YAZILIM
Yarg›ç Jeffry White taraf›ndan
kaleme al›nan 15 sayfal›k karar
gerekçesi metninde: "Aç›k kaynak
kodlu lisanslamada telif hakk›
sahipleri telifi korunan materyaller
üzerinde de¤ifltirme ve da¤›t›m›
kontrol alt›na alma hakk›na sahiptir.
Aç›k kaynak kodlu lisanslama sistemi ço¤u kiflinin hayal bile edemeyece¤i bir flekilde günümüzde
kullan›lmakta ve bilim-sanat
çal›flmalar›nda ortak katk› ile elde
edilen geliflmelere katk› sa¤lamaktad›r." ifadeleri yer buldu.
Uzmanlar bu karar›n her ne kadar
sadece Artistic License'›
kapsad›¤›n› belirtse bile bu karar›n
tüm özgür lisanslar için bir emsal
olabilece¤ini söylüyor. Creative
Commons Vakf› ise yapt›¤› aç›klamada yüksek mahkemenin baz› haklar›n kullan›m›n› özgürlefltirmenin
bu haklardan vazgeçmek olmad›¤›n›
anlamas›n›n sevindirici oldu¤unu
kaydetti.
Kaynak:
http://www.ozgurlukicin.com/
HABERLER
Roadrunner, petaflop
engelini ezdi geçti!
Ad›n›, New Mexico eyaletine has bir kufltan alan Roadrunner,
100 milyon ABD dolar›na mal oldu. 278 buzdolab›
büyüklü¤ünde, 226 ton a¤›rl›¤›nda ve dünyan›n ilk “hibrid”
süper bilgisayar› olarak petaflop engelini aflt›.
2006 y›l›nda, ABD Enerji Bakanl›¤›
Ulusal Nükleer Güvenlik ‹daresi, Los
Alamos National Laboratory’yi (Los
Alamos Ulusal Laboratuar›)
Roadrunner’› gelifltirme yeri ve IBM’i de
bu bilgisayar›n tasar›mc›s› ve oluflturucusu olarak seçti. Ad›n›, New Mexico
eyaletine has bir kufltan alan
Roadrunner, 100 milyon ABD dolar›na
mal oldu ve dünyan›n ilk “hibrid” süper
bilgisayar›n› oluflturan (bir tanesi bir
petaflop (saniyede 1 katrilyon ifllem)
h›zda çal›flacak kadar güçlü) üç aflamal›
bir projeydi. Bu, Lawrence Livermore
14 IBM ÖZGÜR YAZILIM
Ulusal Laboratuar›nda bulunan ve flu
anda 1 numara olarak de¤erlendirilen,
(dünya çap›ndaki TOP500 süper bilgisayar listesinde lider konumdaki
rakiplerinden yaklafl›k üç kat daha h›zl›
olan) IBM Blue Gene sisteminden iki kat
daha h›zl› bir bilgisayar.
• Roadrunner öncelikle ABD’nin
nükleer silah stoku konusunda güvenlik ve güvenilirlik sa¤lamak için kullan›lacak. Ayr›ca Roadrunner, uzay
bilimleri, enerji, insan genom bilimi ve
iklim de¤iflikli¤i konular›nda araflt›rma
için de kullan›lacak.
• Roadrunner, dünyan›n ilk hibrid
süper bilgisayar›. Bu türün ilk örne¤i
olarak tasarlanan Cell Broadband
Engine (ilk olarak Sony Playstation 3
gibi video oyunu platformlar› için
tasarlanm›flt›), AMD x86 ifllemcilerle
birlikte çal›flacak.
• Ticari Parçalardan oluflmaktad›r.
Toplamda Roadrunner 6.562 çift
çekirdekli AMD Opteron çiplerini ve
bununla birlikte 12.240 Cell çipini (IBM
Model QS22 Blade sunucular›nda)
ba¤l›yor. Roadrunner sistemi 98 terabayt belle¤e sahip ve bin 585
metrekare yer kaplayan, 278 buzdolab›
büyüklü¤ünde IBM BladeCenter raflar›
içinde bulunuyor. Hem Infiniband, hem
de Gigabit Ethernet’ten oluflan 10 bin
ba¤lant› için 88,5 kilometre fiber optik
kablo gerekiyor. Roadrunner’›n a¤›rl›¤›
226 tondur. Bileflen ve teknoloji
aç›s›ndan katk›da bulunan flirketler
flunlard›r; Emcore, Flextronics,
Mellanox ve Voltaire.
• Özel Yap›land›rma. Roadrunner
için iki IBM QS22 Blade sunucusu ve
bir IBM LS21 Blade sunucusu özel bir
“Tri-blade” (üçlü blade)
yap›land›rmas›yla birlefltirildi. Makine
IBM’in Minnesota, Rochester’daki fabrikas›nda üretilmifl olan toplam 3 bin
60 Tri-blade’den oluflmaktad›r.
Standart iflleme (örne¤in, dosya sistemi G/Ç) Opteron ifllemciler taraf›ndan
gerçeklefltirilmektedir. Matematiksel
ve CPU’nun yo¤un oldu¤u ö¤eler Cell
ifllemcilerine yönlendirilmifltir. Her bir
Tri-blade birimi saniyede 400 milyar
(400 Gigaflop) ifllem çal›flt›rabilir.
• Makine, flirketin 1990’lar›n
sonunda ABD devleti için üretti¤i
ASCI serisi süper bilgisayarlar›n
bulundu¤u IBM’in New York Eyaleti,
Poughkeepsie’deki fabrikas›nda
oluflturuldu, test edildi ve
karfl›laflt›rmal› de¤erlendirmelere tabi
tutuldu. IBM’in Minnesota,
Rochester’daki tesisinde özel Triblade sunucular› yap›land›r›ld›.
Yaz›l›m gelifltirme ifllemleri Teksas,
Austin’deki IBM mühendisleri ve
IBM’in New York Eyaleti, Yorktown
Heights’taki araflt›rma
laboratuar›ndaki araflt›rmac›lar
taraf›ndan yürütüldü. Bu yaz›n sonlar›nda, Roadrunner New Mexico’daki
Los Alamos Ulusal Laboratuar›’na
gönderilirken 21 adet TIR’a yüklenecek.
• Roadrunner, Red Hat’in aç›k kaynakl› Linux yaz›l›m›yla çal›fl›r.
• Enerji tasarrufu sa¤lar. Birçok
geleneksel süper bilgisayar tasar›m›yla
karfl›laflt›r›ld›¤›nda, Roadrunner’›n hibrid biçimi gücü azar azar kullan›r (2,35
megawatt) ve dünyada lider konumda
verimlilik (watt bafl›na 437 milyon
hesaplama) sa¤lar. Haziran ay›nda
resmi “Green 500” süper bilgisayar
listesi yay›nland›¤›nda, IBM,
Roadrunner’›n en üst düzeyde enerji
verimli¤ine sahip sistemler aras›nda
yerini almas›n› bekliyor.
• IBM, Cell destekli hibrid bilgi
ifllemin yayg›n olarak eriflilebilir
olmas› için yeni yaz›l›mlar gelifltiriyor.
Roadrunner’›n büyük yaz›l›m çabas›,
hibrid süper bilgi iflleme iliflkin ticari
uygulamalar› hedef al›yor. fiirketin
kurumsal ve akademik Çözüm
Ortaklar›yla IBM, hibrid süper bilgi
ifllemi di¤er sektörler aras›nda
finansal hizmetler, enerji
araflt›rmalar› ve t›bbi görüntüleme
sektörlerine sokacak bir aç›k kaynak
ekosistemi gelifltiriyor.
Cell tabanl› hibrid süper bilgi ifllem
uygulamalar› flunlar› içeriyor: sermaye piyasalar›nda gerçek zamanl›
neden ve etki hesaplanarak, finansal
hizmetlerdeki süper bilgisayarlar,
menkul k›ymetler borsas›ndaki
de¤iflikli¤in, pazarlardaki dalgalanma
etkisini hemen tahmin edebilirler.
T›pta, dokular›n ve kemik yap›lar›n›n
karmafl›k 3 boyutlu görüntülenmesi
hastalar muayene edilirken gerçek
zamanl› olarak gerçeklefltirilebilir.
Bir petaflop ne kadar h›zl›?
Roadrunner bir petaflopu (saniye de
1.000 trilyon hesaplama) aflan bir h›zda
çal›fl›r; baflka bir deyiflle saniyede
1.000.000.000.000.000 ya da
saniyede bir katrilyon hesaplama yapar.
• Çok say›da dizüstü bilgisayar. Bu
kabaca, günümüzün en h›zl› 100 bin
adet dizüstü bilgisayarlar›n›n
birleflimine eflittir. Roadrunner’›n performans›na eflit bir performans için
2,4 kilometre yükseklikte üst üste
y›¤›lm›fl dizüstü bilgisayara gereksinim duyars›n›z.
• Roadrunner’›n bir günde
yapt›klar›n› yapabilmek için dünya
nüfusunun tamam›n›n (yaklafl›k alt›
milyar kifli) elde tafl›n›r hesap makinesi ile saniyede bir ifllem yaparak 46
y›ldan fazla zaman harcamas› gerekir.
Geçen 10 y›lda, süper bilgisayarlar›n
gücü yaklafl›k olarak bin kat artm›flt›r.
Bugün, yaln›zca üç Roadrunner 3 bin
456 Tri-blade birimi en h›zl› 1998 bilgisayar›n gücüne sahiptir.
Roadrunner’›n bir haftada tamamlayaca¤› karmafl›k bir fizik hesaplamas›n›,
1998 makine 20 y›lda tamamlar. Son
on y›lda otomobillerin benzin harcama
performans›n› süper bilgisayarlar›n
maliyet ve verimlili¤i ile ayn› oranda
gelifltirmek olanakl› olsayd› bugün
yaklafl›k 4 litre benzinle 322 bin kilometre yol al›yor olurduk.
IBM ÖZGÜR YAZILIM 15
IBM Yaz›l›m Zirvesi '08, ‹stanbul
ve Ankara'da yap›ld›
De¤iflime olan açl›k büyüyor!
Türkiye’deki 70. y›l›n› kutlayan IBM,
Yaz›l›m Zirvesi’08 ile firmalara 13. kez
seslendi. ‹stanbul ve Ankara’da 15-16
Ekim tarihlerinde düzenlenen Zirve’nin
konusu IBM CEO Study 2008’in en
önemli sonuçlar›ndan biri olan “Hungry
For Change – De¤iflim Açl›¤›” oldu.
Zirve’de bu ortak temada buluflan
konuflmac›lar, küresel anlamda baflar›l›
olmak için sadece de¤iflime ayak uydurman›n yetmeyece¤ini, de¤iflimin flekillendirilmesi ve ona liderlik edilmesi
gerekti¤inden bahsettiler. Birçok yerli
ve yabanc› konuflmac› ile Türkiye’de
tan›nm›fl firmalar›n temsilcilerinin
ifltirak etti¤i Zirve’ye ilgi büyüktü.
IBM Yaz›l›m Grubu, müflterileri ile
birlikte yaz›l›m dünyas›ndaki en son
yenilikleri ele al›p, olas› uygulama alanlar›n› tart›flt›. Geçti¤imiz dönemde
gerçeklefltirilen projeler ve bu projelerin
firmalar üzerinde yaratt›¤› de¤iflimler de
kat›l›mc›larla paylafl›ld›. ‹ki tam gün
süren etkinlik kapsam›nda aç›l›fl ve ana
oturumlar d›fl›nda ‹stanbul’da 35,
Ankara’da 15 olmak üzere toplam 45
paralel oturum gerçeklefltirildi. Aç›l›fl
konuflmas›n› gerçeklefltiren IBM Türk
Genel Müdürü Eray Yüksek’in ard›ndan
Türkiye’de y›llard›r de¤iflik kurumlarda
yönetici olarak çal›flan ve halen
Hexagon Yönetim Kurulu Baflkan› olan
Jan Nahum, de¤iflimden ve gelece¤in
firmalar›nda bulunmas› gereken de¤iflim
ihtiyac›ndan bahsetti. Tümleflik iletiflim
konusunda dünyadaki en yetkin isimlerden IBM Bilgi Teknolojileri Üst Düzey
Mimar› Ron Sebastian, iletiflimde girilen
yeni dönemi ele ald›. IBM ‹nternet
Güvenli¤i Sistemleri Veri ve ‹çerik
Güvenli¤i ‹fl Kolu Teknik Ürün Yöneticisi
Sean Brown da internet ve e-posta
güvenli¤i hakk›nda aç›klamalarda bulundu. Günümüzde bütün firmalar›n üzerine
çal›flmalar yapt›¤› Servis Odakl› Mimari
(SOA) konusunda IBM’in en önemli isimlerinden Mike McCarthy, firmalara yol
gösteren bir sunum yapt›. Ayr›ca zirvenin Ankara aya¤›nda AK Parti
Milletvekili ve Genel Baflkan Yard›mc›s›
Reha Denemeç de geleneksel çizgiden
16 IBM ÖZGÜR YAZILIM
küresel yenilikçi yörüngeye konulu bir
konuflma gerçeklefltirdi.
Sadece konuflmac›larla de¤il,
kat›l›mc› firmalarla da dikkat çeken IBM
Yaz›l›m Zirvesi’08, birçok dev firmaya
ev sahipli¤i yapt›. IBM tecrübelerini
anlatan Coca Cola, Türk Telekom,
Vodafone, ‹fl Bankas›, Alternatif Bank,
Mercedes ve Kerevitafl gibi flirketlerin
gerçeklefltirdi¤i oturumlar›n yan›nda,
IBM çözüm ortaklar› da en son gelifltirilen yaz›l›mlardan ve yeniliklerden bahsetti. Kat›l›m›n üst düzeyde
gerçekleflti¤i IBM Yaz›l›m Zirvesi’08,
bilgilendirmenin yan›nda ziyaretçilere
IBM Yaz›l›m
Zirvesi’08’de konu
“De¤iflim Açl›¤›” idi.
15 Ekim’de ‹stanbul,
16 Ekim’de Ankara’da
gerçeklefltirilen
zirvede, firmalar›n
bugün ve gelecekte
nas›l ayakta
kalabilece¤i anlat›ld›.
Server Tanfer, Eray Yüksek ve Jan Nahum
gelece¤in ifl yapma flekilleri hakk›nda
ipuçlar› verdi.
Müflteriden h›zl› düflünmek
Konuflmas›nda firmalar›n gelece¤e
dair bak›fl aç›lar›ndan bahseden IBM
Türk Genel Müdürü Eray Yüksek, küresel ekonomide de¤iflimin önemine dikkat
çekti. IBM’in global olarak 1.200 CEO’yla
gerçeklefltirdi¤i araflt›rmaya göre firmalar de¤iflimin ve sürdürülebilir
baflar›y› yakalamak için kendilerini
sürekli olarak yenilemeleri gerekti¤inin
fark›ndalar. De¤iflimin h›z›na ayak
uydurabilmeyi bir numaral› öncelik
olarak belirleyen CEO’lar›n gündeminde
inovasyon en önemli konu. “CEO’lar›n
tan›m›yla ‘gelece¤in iflletmesi’, de¤iflimi
kal›c› bir durum olarak kabul ediyor.
Yöneticiler küresel rekabette kazanan
tarafta olmak için, de¤iflimi yönetme
kapasitelerini art›r›yor, yeni oluflan
müflteri s›n›flar›na ulaflmak ve ifl modellerini küresel bütünleflik ilkelere uydurmak için cesur at›l›mlar yapmaya
haz›rlan›yor. Küresel ifl dünyas›,
de¤iflime direnmenin de¤il, onu do¤ru
yönetebilmenin baflar›y› getirece¤inde
fikir birli¤ine var›yor.” dedi.
IBM’den inovasyona
büyük destek!
Türkiye’de 70. y›l›na girmekte olan ve
yat›r›mlar›n› aral›ks›z sürdüren IBM Türk, BT
sektörü ve akademik çevrelerin yan› s›ra tüm
ifl dünyas› için büyük önem tafl›yan ‹stanbul
‹novasyon Merkezi’ni açt›.
Barcelona, Helsinki, Stuttgart,
Zürich, Dublin, Kopenhag, Oslo gibi
birçok kentte bulunan merkezlere bir
yenisi de ‹stanbul’da eklenmifl oldu.
IBM ‹novasyon Merkezleri
Rekabetçi konumda kalabilmek
için, aç›k platformlu, son teknolojiye
sahip uygulamalar ve yenilikçi ifl
hizmetleri sunman›z gerekir. Buna
ulaflman›z için dünya çap›ndaki IBM
‹novasyon Merkezleri, uygulama
gelifltirme döngüsünün her
aflamas›nda yerinde ve uzaktan teknik
yard›m sa¤l›yor.
Umut Kavurmac›
Çözümlerinizi IBM ve Linux platform-lar›nda planlaman›za, tasarlaman›za, kodlaman›za, yerlefltirmenize
ve s›naman›za yard›mc› olmak üzere
bu merkezlerde profesyonel ekipler
gözetiminde özellefltirilmifl hizmetler
sunuluyor. Uygulamal› çal›flmalar
(workshop), birden çok ürün
Gereksinim
duydu¤unuz teknik
yard›m›, gereksinim
duydu¤unuz zaman
ve gereksinim
duydu¤unuz
yerde al›n
bütünlefltirme dan›flma hizmetleri,
çapraz platform s›nama ortamlar›,
uygulama yard›m› da içinde olmak
üzere yerinde ve uzaktan teknik
destek konusunda derin bilgiye sahip
IBM Çözüm Ortaklar› da yard›ma haz›r.
IBM, ifl f›rsatlar›n› geniflletme,
gelifltirme maliyetlerini azaltma, inovasyon yoluyla fark yaratma ve ürünlerinizin pazara ç›k›fl›n› h›zland›rma
konusunda flirketlere yard›mc› olmay›
hedefliyor.
Peki ne kazanacaks›n›z?
IBM ‹stanbul’da önemli bir
merkeze daha imzas›n› at›yor.
Tüm dünyada “Innovation Center”
olarak isimlendirilen bu merkezlerden sonuncusu “‹stanbul
‹novasyon Merkezi” olarak 22
Temmuz 2008 Çarflamba günü
‹stanbul Levent’te bulunan IBM
18 IBM ÖZGÜR YAZILIM
Türk Genel Müdürlük Binas›’nda
aç›ld›.
‹fl ortaklar›n›n yeteneklerini
gelifltirebilecekleri, etkinliklerin,
tan›t›m toplant›lar›n›n, e¤itimlerin
yap›labilece¤i bu merkezin sa¤layaca¤› faydalar saymakla bitecek
gibi de¤il. ‹novasyon ve iflbirlikleri
için fiziksel bir ortam sa¤layan bu
merkez, global kaynaklara eriflmek
için de yerel bir eriflim noktas›
olarak görülebilir. Teknik yeteneklerin ve deste¤in gelifltirilebilece¤i
bu merkezde kat›l›mc›lar›n
yetenekleri de gelifltirilebilecek.
Dünya çap›ndaki IBM ‹novasyon
Merkezleri arac›l›¤›yla beceri oluflturabilir, bilginizi art›rabilir ve yüksek
kaliteli ürünleri h›zl› flekilde teslim
edebilirsiniz. IBM ‹novasyon Merkezi,
‹stanbul’un Web sitesini ziyaret
etmek için:
http://ibm.com/partnerworld/iic/istanbul.html
IBM ‹novasyon
Merkezleri ile flunlar›
yapabilirsiniz.
• H›zl› flekilde üretken hale gelebilirsiniz. En yeni IBM teknolojileri hakk›nda e¤itim al›p, çal›flmaya haz›r teknik ortamlarda
s›namalar›n›z› yapabilirsiniz.
• Bilginizi art›rabilirsiniz. IBM ve Linux platformlar›nda
çözüm gelifltirmenin tüm yönleri hakk›nda IBM uzmanlar›ndan
bilgi alabilirsiniz.
• Yeni f›rsatlarla h›zl› flekilde ilgilenebilirsiniz. Çözümünüzü en
son IBM donan›m ve yaz›l›m platformlar›yla bütünlefltirebilirsiniz.
• Platform seçeneklerinizi en üst düzeye ç›karabilirsiniz.
Genifl platform deste¤i sunarak müflterinize seçenek tan›yabilirsiniz.
• Gelifltirme harcamalar›n› azaltabilirsiniz. Gelifltirme
döngüsünü k›saltabilir ve s›nama ortamlar›na uzaktan eriflebilirsiniz.
• Kaliteyi art›rabilirsiniz. Yüksek kaliteli, ölçeklenebilir ve güvenilir çözümler planlay›p, gelifltirip, bunlar› s›nayabilir ve çözüm
mimarisini do¤rulayabilirsiniz.
• Riski en aza indirebilirsiniz. Uyumluluk sorunlar›n› önceden
saptay›p, çözümlerinizin kalitesini ve güvenilirli¤ini art›rabilirsiniz.
• Müflteri memnuniyetini art›rabilirsiniz. Bütünlefltirilmifl,
ölçeklenebilir ve güvenilir çözümler sa¤layabilirsiniz. S›namay›
müflterinizle de¤il IBM’le yapm›fl olursunuz.
• Çapraz ürün deste¤i hizmetlerinden yararlanabilirsiniz. Bu
hizmetlerin ve özel olarak ayr›lm›fl BT mimarlar›n›n ve uzmanlar›n›n
ve IBM’in son teknoloji ürünü tesislerindeki uzmanlar›n yard›m›yla
uygulamalar›n›z› gelifltirebilir ya da Sanal Özel A¤ (VPN; Virtual
Private Network) arac›l›¤›yla birçok farkl› hizmetten uzaktan yararlanabilirsiniz.
• Gelifltirme döngüsü boyunca yard›m alabilirsiniz. ‹novasyon Merkezleri gelifltirme döngüsü boyunca uçtan uca destek
sa¤lamakta.
• Uzmanlardan e¤itimler alabilirsiniz. Temel ya da derinlemesine bilgi edinmek için e¤itim s›n›flar›na kat›labilirsiniz.
• Çapraz ürün uzmanlar›ndan destek alabilirsiniz. Uygulamal›
özellefltirilmifl mimari dan›flmanl›k, geçifl deste¤i ve kodlama
konusunda yard›m alabilirsiniz.
• Kavram kan›tlama ve örnek model oluflturma konusunda
destek alabilirsiniz. Uzmanlar›n yard›m›yla, kod oluflturmada beceri
kazanabilirsiniz.
• IBM platformlar›nda gelifltirme yapabilirsiniz. Gereksinim
duydu¤unuz IBM platformunda kendi ofisinizden ya da
laboratuar›n›zdan gelifltirme yapabilirsiniz.
• Verilerinizi IBM platformlar›na tafl›yabilirsiniz. Verilerinizi
herhangi bir platformdan IBM platformlar›na aktarabilirsiniz.
• Do¤rulama yapabilirsiniz. Aç›k ve endüstri standard› tabanl›
uygulamalar›n›z› IBM yaz›l›m ve donan›m›nda do¤rulayabilirsiniz.
• Bütünlefltirebilirsiniz. Çözümünüzü karmafl›k bir ortamda
bütünlefltirip, s›nayabilirsiniz.
• Performans ve ölçeklenebilirlik s›namas› yapabilirsiniz.
Performans› de¤erlendirip, IBM ürünlerindeki çözümleriniz için
boyutland›rma k›lavuzlar› oluflturabilirsiniz.
• Uygulamal› çal›flmalar ve teknik seminerlere kat›labilirsiniz.
Ürün gelifltirme çabalar›n›z› do¤rudan etkileyebilecek, yüksek talep
gören, son teknoloji IBM ürünleri ve teknolojileri ile ilgili uygulamal›
çal›flmalara ve yüz yüze ya da sanal teknikteki seminerlere kat›larak
becerilerinizi güncel tutabilirsiniz.
IBM ÖZGÜR YAZILIM 19
Dünyan›n en büyük beyin f›rt›nas›!
Fikirlerin bulufltu¤u dev bir forum olan Innovation Jam 2008, internet
ortam›nda 5-8 Ekim tarihleri aras›nda gerçeklefltirildi
Umut Kavurmac›
Özgür Yaz›l›m Dergisi olarak bu
say›da Innovation Jam 2008 isimli
dev bir etkinli¤i ele almak ve sizlere
de tan›tmak istedik.
IBM’in internet üzerinden gerçeklefltirdi¤i beyin f›rt›nas› toplant›s› InnovationJam 2008, 5-8 Ekim tarihleri aras›ndaki 72 saatlik sürede gerçeklefltirildi. ‹fl dünyas›n›n küresel liderleri, düflünce liderleri ve rol modellerinin kat›ld›¤› etkinlikte, “Günümüzün iflletmeleri nas›l gelece¤in iflletmesi haline gelecek?” sorusunun
yan›t› arand›.
Günümüzde ekonomileri ve toplumlar› flekillendiren küreselleflme,
yeni teknolojilerin ortaya ç›kmas›,
müflterilerin bilgilerinin ve taleplerinin artmas› sonucunu do¤uruyor. ‹flletmeler, de¤iflikliklerle bafl etmeye
çal›fl›rken, cesur ve radikal ad›mlar
atam›yor. Ancak, müflterileri için kal›c› de¤erler yaratabilmek, h›zla büyüyen pazarda rekabetçi konumunu koruyabilmek için, daha h›zl› çal›flarak
ifle yarar fikirler bulmak zorundalar.
Bu görüflten yola ç›kan IBM, 2006’da
bafllatt›¤› küresel diyalog arac›l›¤› ile,
yarat›c› fikirlerin ortaya ç›kar›lmas›
için bir kez daha iflbirli¤ine davet etti.
IBM Türk Ülke Teknoloji Lideri Suat K›z›ltafl Innovation Jam 2008 hakk›nda sorular›m›z› içtenlikle yan›tlad›.
Gelin hep birlikte Suat K›z›ltafl’›n a¤z›ndan “Innovation” ve “Jam” kelimelerinin anlamlar›n› ve Innovation
Jam buluflmalar›n›n IBM ve toplum
için önemini dinleyelim.
Özgür Yaz›l›m Dergisi: “Innovation
Jam” nedir ve hangi zaman aral›klar›nda gerçeklefltirilmektedir?
Suat K›z›ltafl: ‹novasyonun küresel, aç›k ve disiplinler aras› oldu¤u
20 IBM ÖZGÜR YAZILIM
günümüzde süregelen sorunlar için
yeni çözümler üretmek için farkl› beyinleri ve farkl› bak›fl aç›lar›n› bir araya getirmek gereksinimi var. Bu, iflbirli¤ine dayal› (collaborative) inovasyonun temelini oluflturmakta.
IBM’in Jam’leri ve di¤er web 2.0
araçlar› fark› endüstrileri, farkl› disiplinleri, farkl› uluslar› bir araya getirerek iflbirli¤ine dayal› inovasyon için
inan›lmaz olanaklar sunuyorlar.
Innovation Jam’in ölçe¤i nedir, ortalama kaç kifli kat›l›r?
K›z›ltafl: Innovation Jam IBM’in
düzenledi¤i, küresel düzeyde, büyük
ölçekli ve internet tabanl› bir forum
asl›nda. Daha önceden duyurulan 72
saatlik saat diliminde, kat›lanlar›n
görüfllerini b›rakabilecekleri ya da
canl› sohbetler yapabilecekleri bir
etkinlik. Öncelikle Jam ad› nereden
geliyor biraz ondan bahsedeyim.
Amerika’da birbirini önceden tan›mayan, de¤iflik yerlerden gelmifl jaz
müzisyenlerinin toplanarak emprovize müzik yapt›klar› toplant›lara “
jam session” deniyor. Bu toplant›larda s›k s›k yarat›c›l›¤›n güzel örnekleri sergilenir. Innovation Jam de benzer flekilde kolektif çal›flman›n yarat›c›l›¤a dönüfltürüldü¤ü genifl ölçekli
bir sanal toplant›. IBM bu toplant›lar› iki y›lda bir tekrarlanacak flekilde
yap›yor. Bu y›l beflinci kez yap›lacak
olan Innovation Jam 2008’in tarihi,
5-8 Ekim olarak belirlendi.
Daha önceki Jam’lerde Türkiye'den
kat›l›m say›lar›na dair bir bilginiz
var m›?
K›z›ltafl: Innovation Jam’e kat›l›m
her seferinde artarak devam ediyor.
Bundan önce 2006 y›l›nda yap›lan Innovation Jam’e 150 bin civar›nda kat›l›m oldu. Bu say›n›n içinde IBM çal›flanlar› d›fl›nda aile üyeleri ve müflte-
rileri de var. Bu kat›l›mc›lar taraf›ndan 50 bine yak›n öneri ve 3 milyonun üzerinde görüfl dile getirildi.
2008 y›l›ndaki Innovation Jam’e
özellikle IBM d›fl›ndan kat›l›m›n daha
fazla artmas› ile çok genifl kitlelere
ulaflmas› bekleniyor.
En fazla kat›l›m hangi ülkelerden
sa¤lan›yor?
K›z›ltafl: Innovation Jam 2006’ya
Türkiye dâhil tam 104 ülkeden kat›l›m
gerçekleflti.
Innovation Jam 2008’in temalar›
nelerdir?
K›z›ltafl: Innovation Jam 2006,
IBM’in yeni teknolojilerini ve gerçek
dünyadaki gereksinimleri birlefltirerek pazara ne gibi yeni çözümler sunulabilece¤i konusuna odaklanm›flt›.
Bu y›l ise 4 ayr› tema belirlendi. Görüfller ve tart›flmalar afla¤›daki 4 tema etraf›nda geliflecek. Bunlardan ilki “De¤iflim; ‹fl dünyas›nda ifl modelleri inovasyonunu ön plana ç›karan
de¤iflim dalgas›na yön vermek” bafll›¤›n› tafl›yor. ‹kincisi ise “Yeni Küresel ‹flletmeler; Küresel organizasyonlarla bütünleflerek, ortakl›klar
kurarak yeni pazarlara ve yeni becerilere ulaflmak”. Üçüncüsü ise “Yerküre’de Yaflam; Çevre sorunlar›na ve
toplumsal sorunlara duyarl›l›¤› artan
tüketicilerin ihtiyaçlar›na yönelik
çözümler, hizmetler ve ürünler gelifltirilmesi. Son olarak ise “Müflterilerimiz ‹fl Ortaklar›m›z; Bilgili ve talepkar olarak geliflen yeni müflteri
profili ile iflbirli¤ini art›rarak kurulufllar›n farkl› k›l›nmas›.
Innovation Jam 2008’e kimler kat›labiliyor?
K›z›ltafl: Innovation Jam’e dünya’n›n her yerinden, gerek IBM’de gerekse davet edilen farkl› flirketlerde
Jam 2008 s›ras›nda paylafl›lan tüm
bilgiler aç›kt›r ve herhangi bir kifli taraf›ndan sonradan gelifltirilebilir. Kat›l›mc›lara sunulacak rapor haz›rlanana kadar geçen süre içinde ortaya ç›kan tüm görüfller kat›l›mc›lar›n okuyabilmeleri için eriflime aç›k olacak.
IBM Innovation Jam 2008’e ait bulgular›n yer ald›¤› raporu kat›l›mc›lara
sa¤lamay› planl›yor.
çal›flan kifliler veya ba¤›ms›z uzmanlar kay›t yaparak kat›labilirler. Bu forum herkesin eriflimine aç›k bir etkinlik olmay›p, düflünce liderlerinin, konusunda uzman kiflilerin, davet edilen
kurulufllar›n çal›flanlar›n›n katk›lar› ile
iflletmelerin nas›l küresel lider konumuna dönüfltürülebilece¤inin yollar›n›n aranaca¤› bir forum.
Innovation Jam 2008, hangi dillerde yönetiliyor?
K›z›ltafl: Innovation Jam’deki tart›flma forumlar›nda teknik olarak her
dilde görüntüleme yap›labilmesine
ra¤men, içerik ve yönergelerin tümü
‹ngilizcedir ve etkinlik ile ilgili olarak
desteklenen ana dil ‹ngilizcedir. Forum ortamlar›nda dile getirilen görüfllerin de ‹ngilizce olmas› hem etkileflimin etkinli¤ini hem de görüfllerin jam
sonras› analizlerde de¤erlendirilmesi
flans›n› art›racakt›r.
Öneriler ne flekilde yap›l›yor?
Jam’in sistemi nedir?
K›z›ltafl: Kat›l›mc›lar belirlenmifl
ana temalardan herhangi birini seçip,
bu bafll›k alt›nda yeni bir öneri sisteme girebiliyorlar veya daha önce sisteme girilmifl önerilere iliflkin görüfllerini dile getirebiliyorlar. Eflzamanl›
olmayan bu tart›flma forumlar› d›fl›nda, konu uzmanlar›n›n yönlendirece¤i ve bir grup kat›l›mc›n›n yer alaca¤›
eflzamanl› sohbet toplant›lar› da yer
al›yor. Kat›l›mc›lar jam s›ras›nda içerik aramas› yaparak ilgi konular›ndaki tart›flma metinlerine do¤rudan
ulaflabiliyorlar. Tart›flma metinleri
çok say›da uzman taraf›ndan an›nda
izlenerek öne ç›kan bafll›klara dikkat
çekilecek.
Her konuda öneri ve fikir belirtilebiliyor mu, yoksa belli temalar etraf›nda m› konufluluyor?
K›z›ltafl: Bir aç›k tart›flma ortam›n›n yararl› sonuçlar üretebilmesi ve
konular›n derinlemesine her boyutuyla ele al›nabilmesi için belirlenmifl
konular etraf›nda disipline edilmesinin büyük yarar› var. Bu nedenle gö-
rüfllerin duyurulmufl 4 ana temadan
biri ile iliflkili olmas› gerekiyor. Seçilmifl olan temalar›n belirlenmesinde
IBM’in her bölge ve sektörden bin
100 CEO’nun kat›l›m›yla yapt›¤› “Küresel CEO araflt›rmas› 2008” adl› çal›flma esas al›nd›. Dolay›s›yla, ifl dünyas›n›n öncelikli ve gelece¤e yönelik
konular›n›n Jam’de ele al›nd›¤›n› söyleyebiliriz.
Önerilerin uygulanmas› için bir bütçe ayr›l›yor mu?
K›z›ltafl: Bir önceki Innovation
Jam ile ilgili olarak flu bilgiyi verebilirim. Etkinlik sonras›nda 10 tane öncelikli alan belirlenip bunlara 100 milyon
Dolar bütçe ayr›ld›. 10 yeni proje bafllat›ld›. Bu projelerden baz›lar›n›n sonuçlar›n› da görmeye bafllad›¤›m›z›
söyleyebilirim.
Çal›flanlar hangi yollarla öneri veriyorlar?
K›z›ltafl: IBM çal›flanlar›n›n veya
di¤er kurulufllar›n›n çal›flanlar›n›n Innovation Jam’e kat›l›m›, çal›flma flekli, öneri girme ve forumlarda görüfl
bildirme flekli aras›nda bir fark yok.
IBM çal›flanlar›n›n bu jam d›fl›ndaki
konularda inovasyona katk›da bulunmalar›na yard›mc› olacak IBM’in çok
say›da baflka iletiflim araçlar› ve süreçleri de mevcut.
Innovation Jam sonucunda ortaya
ç›kan bir proje örne¤i verebilir misiniz?
K›z›ltafl: Bir önceki Innovation
Jam sonucunda ç›kan projelere iki örnek vermek istiyorum. Birincisi “gerçek zamanl› tercüme hizmetleri”... ‹ngilizce-Çince ve ‹ngilizce-Arapça dilleri için bu sistem gelifltirildi ve di¤er
diller için de çal›flmalar sürüyor. Konuflmalar›n an›nda di¤er dile çevrilmesi ile birbirinin dilini hiç bilmeyen
iki kiflinin anlaflmas›n› sa¤layan bu
sistem konuflma ile yaz›l› metin aras›ndaki dönüflümleri de sa¤layabiliyor. Di¤er örnek ise “Yeflil ‹novasyonlar” bafll›¤› alt›nda toplanan yenilikler. IBM özellikle bilgi ifllem merkezlerinde, enerji tasarrufunu sa¤layacak
çok say›da yenilik getirdi.
Öneriler nas›l bir de¤erlendirme sürecinden geçiriliyor?
K›z›ltafl: Innovation Jam 2008 etkinli¤inin sona ermesinden hemen
sonra IBM çal›flanlar›ndan oluflan kalabal›k bir ekip analiz çal›flmas›na
bafll›yorlar. Bu çal›flma ile fikirler tasnif edilecek, benzerleri birlefltirilecek
ve gelecek için en fazla potansiyel
vaat edenleri belirlenecek. Innovation
Öneri getirenler ya da önerisi hayata geçenler ne flekilde ödüllendiriliyor?
K›z›ltafl: Innovation Jam 2008’in
amac› kolektif çal›flma ile birlikte,
ortak çözüm üretmektir. Forum sürecinde çok say›da kat›l›mc›n›n görüflleri ile flekillenecek olan görüfller
de yine herkesin kullan›m›na aç›k
olacakt›r.
IBM ÖZGÜR YAZILIM 21
IBM Yaz›l›m
Akademisi ilk
mezunlar›n› verdi
HERBERT GAVE LINUX
VIRTUALIZATION
CAPABILITIES
Akademi kapsam›nda yap›lan yaz›l›m
yar›flmas›nda en iyi 3 proje, Galatasaray, Dokuz
Eylül ve Sabanc› Üniversitelerinden ç›kt›
Umut Kavurmac›
IBM Türk’ün gelece¤in yaz›l›mc›lar›n› yetifltirmek üzere Ekim 2007’de
bafllatt›¤› “IBM Yaz›l›m Akademisi”nin
2007-2008 ö¤renim y›l›, kapsaml› e¤itim, proje gelifltirme ve yaz›l›m yar›flmas› aflamalar›ndan sonra sona erdi.
Akademi’ye Türkiye ve KKTC’deki 57
üniversiteden kaydolan 1.335 ö¤renciden 515’inin oluflturdu¤u 175 tak›m›n
gerçek ifl senaryolar›na göre yaz›l›m
gelifltirdi¤i yar›flmada, en iyi projeye
sahip ilk 3 tak›m, s›ras›yla Galatasaray
Üniversitesi’nden Nadin Kökciyan,
Ozan Günalp, Zeynep fiagar, Levent
Dane’den oluflan Medid Volvox, Dokuz
Eylül Üniversitesi’nden Meltem Çelik,
‹smail Yürek’den oluflan Deim ve Sabanc› Üniversitesi’nden Turhan Karadeniz, Onur Can Ulusel, Berker
A¤›r’dan oluflan Imaginares olarak belirlendi. IBM Yaz›l›m Akademisi’nde dereceye giren ilk 10 tak›m›n ödülleri ile
e¤itimleri veren kurumlar›n plaketleri,
Y›ld›z Teknik Üniversitesi’nde düzenlenen törenle verildi.
Törende, birinci tak›m›n bölümü, en
çok tak›m ç›karan bölüm ve en çok dan›flmanl›k yapan ö¤retim görevlisinin
bölümüne de ödül verildi. Bu kapsamda, s›ras›yla Galatasaray, Dokuz Eylül
ve Baflkent Üniversitelerinin Bilgisayar
Mühendisli¤i Bölümleri ödül ald›. Çanakkale Onsekiz Mart Üniversitesi’nden Kübra A¤gön ve Zeliha Özfliray’›n oluflturdu¤u Rota adl› tak›m ise
22 IBM ÖZGÜR YAZILIM
IBM Yaz›l›m Akademisi Jüri Özel
Ödül’üne lay›k görüldü.
Törende konuflan IBM Türk Genel
Müdürü Eray Yüksek, “Türkiye’nin gelece¤i, küresel rekabete haz›r, iyi yetiflmifl iflgücünde yat›yor. Bu nedenle, IBM
Türk olarak yapt›¤›m›z tüm çal›flmalarda, Türkiye’nin insan kayna¤›na katma
de¤er yaratma amac›n› güdüyoruz.
IBM Yaz›l›m Akademisi projesiyle, ö¤rencilere 21. yüzy›l›n ifl dünyas›n›n arad›¤› becerileri kazand›rmay› amaçlad›k.
Proje boyunca ö¤rencilerimiz akademik birikimlerinin üzerine ifl dünyas›n›n
yeni beklentilerine uygun becerileri de
ekledi. Bu y›l ilkini gerçeklefltirdi¤imiz
Yaz›l›m Akademisi arac›l›¤›yla binlerce
gencimize ayn› becerileri kazand›rabilmeyi hedefliyoruz” dedi.
IBM Türk Üniversite ‹liflkileri Yöneticisi Jale Akyel ise “‹fl dünyas›nda
küresel bazda muazzam bir de¤iflim
var. Araflt›rmalar›m›z, bize ifl liderlerinin, de¤iflimin h›z›na ayak uydurabilmeyi, 1 numaral› öncelik olarak gördü¤ünü gösteriyor. Bu de¤iflime paralel olarak, endüstrilerde de yepyeni
meslekler ortaya ç›k›yor. Bu meslek-
WE GAVE IT
ENTERPRISE SENSIBILITIES
Your Linux is ready.™
Introducing SUSE Linux Enterprise Server 10 from Novell . Built by a global community and
®
®
secured, supported, tested and proven by Novell. With built-in virtualization, advanced clustering capabilities and
certifications for more enterprise applications, SUSE Linux Enterprise Server 10 is the reliable alternative to UNIX
that makes consolidating servers easy and affordable. And changes the way the world works forever.
Get it at www.novell.com/linux
IBM Türk Genel Müdürü Eray Yüksek
Copyright ©2008 Novell, Inc. All rights reserved. Novell, the Novell logo, and SUSE are registered trademarks and This Is Your Open Enterprise, Your Linux is ready, and the gecko logo are trademarks of Novell, Inc. in the United States and other countries. *Linux is a registered trademark of Linus
Torvalds. All third-party trademarks are the property of their respective owners. Novell wishes to thank the thousands of developers who contribute to Linux every day.
UZMAN GÖRÜfiÜ
Serkan fiahin
IBM Sunucu Servisleri Operasyonu Müdürü
[email protected]
Genç kayg›lar ve haz›rl›ks›z
yakalan›lan hayat!
Bafllarken tek hedefim "Hizmet Bilimleri"
konusunda sizlere daha detayl› bir yaz› yazmakt› ama olmad›, neden mi?
Biliyorsunuz hepimiz zaman›m›z› modern kahvehanelerde geçirmeye bafllad›¤›m›zdan bu yana, piflpiri¤in yerini
dizüstü bilgisayarlarla oturup kahve
yudumlamak ald›. Ben de ald›m kahvemi elime, bafllad›m bilgisayarda yaz›m›
yazmaya… Özellikle genç nüfusun u¤rak yerleri olan bu mekânlarda, etraf›n›zda gençli¤in kokusu, y›llar öncesinde b›rakt›¤›n›z birçok konunun etraf›n›zda tart›fl›lmas›, gözünüzün önünden
y›llar›n bir film fleridi gibi geçmesine
neden oluyor.
1. Tak›m Medid Volvox (Galatasaray Üniversitesi)
24 IBM ÖZGÜR YAZILIM
IBM Yaz›l›m Akademisi hakk›nda
“IBM Yaz›l›m Akademisi” projesi, gelece¤in yaz›l›mc›lar›n›
yetifltirmek amac›yla IBM Türk taraf›ndan oluflturuldu. Proje,
2007 y›l›n›n Ekim ay›nda, Türkiye ve KKTC’deki toplam 14
flehir ve 29 üniversitenin dersliklerinde bafllat›ld›.
IBM Yaz›l›m Akademisi, 4 aflamal› olarak gerçeklefltirildi.
Ö¤renciler, ilk aflamada 22 Ekim 2007 - 1 fiubat 2008 tarihleri aras›nda projenin www.yazilimakademisi.org adresindeki
sitesinden akademiye kay›t oldu. ‹kinci aflamada bafllayan
dersler, 1 Kas›m 2007 ile 1 fiubat 2008 tarihleri aras›nda,
‹stanbul’da Bilgi, Yeditepe ve Y›ld›z Teknik, Ankara’da ODTÜ
ve Baflkent, ‹zmir’de Ege, Adapazar›’nda Sakarya,
Eskiflehir’de Osmangazi, Trabzon’da Karadeniz Teknik,
Adana’da Çukurova, Bursa’da Uluda¤, Diyarbak›r’da Dicle,
Kayseri’de Erciyes, KKTC’de Yak›ndo¤u ve Edirne’de Trakya
üniversitelerinde gerçeklefltirildi. Ö¤renciler bu aflamada,
Java, Eclipse, Rational, DB2 ve Wepshere yaz›l›mlar› üzerine
IBM’den teknik dersler ald›.
Projenin 1 fiubat - 15 May›s 2008 aras›nda devam eden 3.
aflamas›nda, ö¤renciler, üniversitelerinden bir akademisyenin
dan›flmanl›¤›nda oluflturduklar› en az 2 en çok 4 kiflilik
ekiplerle, IBM’in sa¤layaca¤› gerçek ifl senaryolar›na uygun
yaz›l›mlar gelifltirdi. Bu projeler, daha sonra seçici kurul
taraf›ndan de¤erlendirildi ve en iyi ilk 10 proje tespit edildi.
Nereden geldik buraya, sorusunu sordu¤unuzu duyar gibiyim. Asl›nda arkamdaki masada oturan gençlerin üniversiteye ek kontenjan yerlefltirmesi
konusundaki yapt›klar› tart›flmalar›n
ve "nereyi seçece¤im" ç›rp›n›fl›ndaki
bir genç bayan›n konuflmalar›ndan geldim. Tahmin edece¤iniz üzere ancak
k›sa bir süre hâkim olabildim kendime
ve çok geçmeden arka masada buldum
kendimi birden bire…
3. Tak›m Imaginares (Sabanc› Üniversitesi)
2. Tak›m Deim (Dokuz Eylül Üniversitesi)
ler, IBM Yaz›l›m Akademisi’nde baflar›l› olabilmenin flartlar› gibi, profesyonellerden hem derinlemesine dikey bir
uzmanl›k, hem de farkl› disiplinlere yatay bir hâkimiyet
gelifltirmelerini istiyor. Yaz›l›m Akademisi için Türkiye’nin dört bir taraf›ndan ald›¤›m›z ola¤anüstü talep ve
akademide birlikte çal›flt›¤›m›z gençlerin bahsetti¤im
de¤iflime zihinsel olarak çok aç›k olmalar›, bizi çok heyecanland›rd›” fleklinde konufltu.
Yar›flmada en iyi 10 ekip aras›nda dereceye giren ilk 3
ekibin üyeleri, IBM’in Zürih’teki Araflt›rma Laboratuar›’na
düzenlenecek özel geziye kat›larak, gelifltirilen ileri teknolojileri yerinde görecek, ihtiyaç duyuldu¤unda IBM Türk’te
yar› zamanl› çal›flma olana¤›na da sahip olacak. 4. ve 5.
ekipler, Bilgi - IBM ‹leri Araflt›rmalar Merkezi’nde ya da
KKTC’deki Süper Bilgisayar ‹leri Araflt›rmalar Merkezi’nde
staj yapacak. ‹lk üç tak›m d›fl›nda s›ralamaya giren 7 tak›m›n üyelerine ise iPod arma¤an edildi. IBM, yar›flmada en
çok say›da proje sunan, en baflar›l› ekip ç›kartan ve en çok
dan›flmanl›k yapan bölümlere de 1’er adet Sistem p Power6
tabanl› Unix sunucusu hediye etti. Projelerini sunan tüm
ö¤renciler, IBM’in küresel iflgücü al›m› için yararland›¤›
özel CV havuzuna kaydedildi.
Ufak bir tan›flma ve "nereden ç›kt› bu
flimdi" bak›fllar›ndan sonra, sohbetlerine ald›lar beni de. Hepsinin hangi üniversite ve bölümleri seçti¤ini ö¤rendim
önce. 4 bayan ve 6 baydan oluflan bu
kalabal›k masadaki bayanlar›m›zdan 3’ü
‹flletme ve Psikoloji bölümlerini seçmifllerdi (belki de kazanm›fllard›!!!). Bir bayan ise Türkiye'nin en iyi üniversitelerinden birinde "Bilgisayar Mühendisli¤i"
bölümünü kazanm›flt› (ama bu seçiminden mutsuzdu). Baylar ise Bilgisayar
Mühendisli¤i, Elektrik-Elektronik Mühendisli¤i vs. özetle hepsi mühendislik
seçimi yapm›fllard›. Masadaki tart›flma
Bilgisayar Mühendisli¤i kazanm›fl bayan
arkadafllar›n›n bu bölümde okumak istememesinden kaynaklan›yordu. Sorular›m› ard› ard›na yönelttim onlara. As›l
konu fluydu asl›nda; masadaki muhabbete dayanarak söylemek gerekirse
"yetenekli, zeki k›z›m›z"
ailesinin iste¤i,
dershanedeki baflar›s›,
deneme s›nav›ndaki puanlar›
okuldaki hocalar›n›n yönlendirmesi
sayesinde mühendislik a¤›rl›kl› seçim
yapm›fl ve kazanm›flt› iflte! Ancak gözlerindeki mühendislik korkusunu, konuflurken sesinin titremesini ve “ben
ne büyük bir hatan›n efli¤indeyim” bak›fllar›n› görmenizi isterdim do¤rusu.
Sohbetimiz ilerledikçe mühendisli¤in
korkulmas› gereken bir bölüm olmad›¤›nda anlaflt›k belki de fakat k›z›m›z›n
içindekinin bu olmad›¤› kesindi.
Herkesin kendi için isteyerek yapaca¤›
seçimleri olsayd› ve keflke herkes bu
kadar sorgulay›c› olsayd› hayat› için.
Acaba nas›l olurdu o zaman çevremiz?
fiunu söylemeliyim, yapt›¤›m›z sohbet
onun derdine çare olamad› belki fakat
flunu anlad›m ki, pek de bilinçli bir nesil yetifltirmiyoruz. Temele ait olanlar›
ö¤renmelerini sa¤layam›yoruz belki de
temel olanlar› ö¤renmelerine imkân
veremiyoruz. Onlardan edindi¤im en
önemli bilgi, mühendisli¤in, bilimin ve
teknolojinin ne oldu¤unu anlatamam›fl›z. Dahas› bu konularda sevgiyi de
afl›layamam›fl›z onlara. H›zla tükettikleri teknolojiyi besleyen, insanl›¤a geçen yüz y›lda yön veren, mühendisli¤i
ve bilimi onlara baflka aç›lardan bakmalar›n› sa¤lamak ve severek yap›labi-
lece¤ini anlatmaya çal›flmak benim
için de¤iflik ve çok keyif verici bir deneyim oldu do¤rusu.
Bu sohbet sonras›nda, art›k baflka bir
konuda makale yazman›n benim için
imkâns›z hale geldi¤ini söylememe gerek yok san›r›m. Gerçekten de mühendislik ve bilim insan› olma yolunu seçen
gençlerin say›s›n›n azald›¤›n› hepimiz
bir yerlerde okumufluzdur. Ancak sizde
benim gibi biraz araflt›rma yapmaya ve
incelemeye bafllarsan›z, bayan ö¤rencilerde bu say›n›n dramatik bir flekilde
düfltü¤ünü ve ilgilerinin kay›p oldu¤unu
göreceksiniz. Bu konuda kurulmufl internet siteleri sayesinde durumu incelemenizi öneririm. Ülkemizde durumun
daha kötü oldu¤unu söylememe gerek
yok san›r›m. Üstelik çok büyük bir genç
nüfusa sahip olmam›z, durumumuzu
daha dikkat çekici bir hale getiriyor.
Ben sizlere say›lar› ve durumu anlatan
rakamlar› vermeyece¤im, sizlere flu soruyu soraca¤›m "Bayan ö¤rencilerimizin teknolojiyi sevmesi, mühendisli¤e
ilgi duymas› ve bilimle ilgilenmesi için
sizce ne yapmal›y›z?"
Teknolojide ve mühendislikte bayanlar›n olmas› gereklili¤ini anlatsam, bana
ayr›lan yere pek s›¤abilece¤imi zannetmiyorum. Bütün dünya bunun öneminde hem fikir olmufl, peki biz gençlerimiz ve bayan ö¤rencilerimiz için ne
yapmal›y›z? Önerilerinizi bana ulaflt›rman›z dile¤i ile...
Hizmet Bilimleri, Bahçeflehir Üniversitesi’nde hayata geçti. Umar›m bu konuda
yazacaklar›ma gelecek say›da yer kal›r!
Gelecek say›da görüflmek dile¤iyle…
IBM ÖZGÜR YAZILIM 25
Go gle’dan
1
kromajl› yeni
web taray›c›s›!
2
K›v›lc›m Hindistan
Son y›llarda Google'› gittikçe artan bir merakla izliyoruz.
fiimdi de web taray›c›s› ile huzurlar›m›zda…
Siz uygulamalar› iflletim sisteminin
üstünden kald›r›p, web taray›c›s›na
yüklerseniz bilinen birçok kavram› da
yerinden oynatm›fl oluyorsunuz. Uygulaman›z iflletim sistemlerinden ba¤›ms›z hale geliyor. Zaten bir taray›c›da çal›flan Ajax uygulamas›n›n bir baflka taray›c›da da çal›fl›r hale gelmesi,
platformlar aras› uyumlulukla karfl›laflt›r›ld›¤›nda çok basit bir fley oldu¤u
için, bir anda uygulaman›z çok daha
fazla kifliye hitap edebilir, de¤iflik zamanlarda, de¤iflik bilgisayarlarda aç›ld›¤›nda hiçbir s›k›nt› ç›kartmadan çal›flabilir oluyor.
Önce arama al›flkanl›klar›m›z› de¤ifltirmelerini izledik, daha sonra web
reklâmlar›n›... Sade bir arama motorunun gittikçe güçlenen bir uygulamalar toplulu¤una ulaflt›¤›n› gördük
y›llar içinde. fiu an birçok kifli gündelik iflini gerçeklefltirmek için Google
Earth kullanmakta, Sketch Up dünyan›n en çok kullan›lan üç boyutlu tasar›m program› olma yolunda h›zla ilerliyor, Google Docs ise birçok fonksiyonu ile ofis programlar› ile yar›fl›r
durumda. Google ve Gmail'i ise saymaya bile gerek yok.
Javascript'e dayal› Ajax teknolojilerinin son birkaç y›lda yapt›¤› at›l›mla,
Google'›n sa¤lad›¤› hizmetler çok daha
geliflti, çok daha etkileflimli hale geldi.
fiu anda ise Google, web uygulamalar›n›n asl›nda, bildi¤imiz uygulamalardan çok da bir fark› olmad›¤›n›,
dahas› Cloud Computing kavram› sayesinde çok ciddi avantajlar›n›n da bulundu¤unu her geçen gün yeni bir kan›tla bizlere ispat etmekte.
26 IBM ÖZGÜR YAZILIM
3
Bu noktada Google'›n uzun süredir
aktif bir flekilde Mozilla / Firefox ekibi
ile iflbirli¤i yapt›¤›n›, her f›rsatta Mozilla ürünlerini ön plana ç›kartt›¤›n› da
unutmamak gerekir.
Google Chrome sundu¤u yeteneklerle
kullan›c›lar› flafl›rt›yor.
Stratejisini bu flekilde web taray›c›s› üzerinden servis veren uygulamalara dayayan bir firman›n günün sonunda kendi web taray›c›s›n› üretmek
çabas›na girmesini de herkes bekliyor-
4
IBM ÖZGÜR YAZILIM 27
5
9
7
6
10
du. Fakat as›l beklemedi¤imiz, bunun Firefox gibi güçlü, eklentileri ile birçok yeni özelli¤e sahip olabilen ve camian›n kabul etti¤i bir taray›c› ile nas›l yar›flaca¤›yd›.
‹lerde ne olur bilemeyiz fakat ilk günler gösterdi ki Google Chrome, gerek hafifli¤i gerek iyi düflünülmüfl özellikleri ile
k›sa sürede birço¤umuzun masaüstünde
yerini alacak.
Chrome'un ilk göze çarpan özelli¤i,
ekran› oldukça verimli kullanmas›. Her
ne kadar Firefox'un “Fuller Screen” ve
“Tiny Menu” gibi “extension”lar› çok daha fazla ekrandan tasarruf ettirse de,
Chrome'un bu konuda yapt›klar› da göze
oldukça hofl gözüküyor.
28 IBM ÖZGÜR YAZILIM
8
Daha iyi bir taray›c› sunan Chrome'un en dikkat
çekici yan› ise Sandbox yap›s›.
Daha h›zl›, daha iyi bir web tecrübesi
vaat eden Chrome'un belki de en büyük
yenili¤i getirdi¤i Sandbox yap›s›. Ajax
uygulamalar›n›n daha h›zl› çal›flmas›na
imkân sa¤lamak için kullan›lan bu özellik,
V8 ismindeki sanal Javascript makinesi
ile birleflince, bu tür uygulamalarda size
ciddi bir h›z kazand›r›yor. Bu konuda en
IBM ÖZGÜR YAZILIM 29
11
12
önemli uygulamalardan biri olan Tiddlywiki ile yapt›¤›m›z basit kullan›m testlerinde gerçekten de bir miktar h›zlanma
oldu¤una flahit olduk.
Basit ama ifle yarar bir baflka geliflme
de, art›k her bir “tab”›n ayr› bir “thread”
de¤il, “process” olarak çal›flmas›. Bu sayede her bir “tab” kendi için ayr›lm›fl
belli kaynaklar› kullanabiliyor ve bunun
d›fl›na ç›kam›yor. Bu yüzden bir “tab”da
herhangi bir sorun oldu¤unda di¤er
“tab”lar› kaybetmiyor, iflinize devam
edebiliyorsunuz.
Chrome'un çok do¤ru yapt›¤› bir baflka ifl de, Firefox'daki konfigürasyonunuzdan birçok ayar› do¤rudan üzerine
alabilme özelli¤i. “Bookmark”lar ve dolafl›m tarihçeniz bir yana, Flash ve di¤er
“plugin”leri yeniden kurmak durumunda
kalmaman›z oldukça iyi bir art›.
Google bu taray›c›n›n lansman›nda
da yine kendine özgü bir fley yapt› ve
standart özellikleri alt alta yazd›klar› bir
sayfa yerine, bir çizgi roman ile kullan›c›lara ulaflmay› seçtiler..
Bu çizgi roman›n tamam›n› http://www.google.com/googlebooks/chrome/index.html adresinden okuyabilirsiniz
30 IBM ÖZGÜR YAZILIM
Gelece¤in iflletmesine do¤ru!
IBM Türk Genel Müdürü Eray Yüksek ile Global CEO
Araflt›rmas›n› ve bunun sonuçlar›n› konufltuk. Acaba 40
ülkede binlerce insan› yöneten ve ekonomiyi flekillendiren CEO’lar gelece¤in iflletmesi hakk›nda ne düflünüyorlard› ve nas›l yorumlar yapm›flt›? En önemlisi bu araflt›rma bizlere neler gösteriyordu? Bu araflt›rmaya Türkiye’den CEO’lar›n da kat›lm›fl olmas› iflin bir di¤er ilgi çekici yan›. ‹lk kez 2004 y›l›nda 465 CEO’nun görüflü al›narak yap›lan bu araflt›rma bugün 40 ülkeden 130 CEO’nun görüflünü içerdi¤inden çok daha çarp›c› ve global
mesajlar içeriyor. Eray Yüksek, IBM Özgür Yaz›l›m Dergisi olarak sordu¤umuz sorular› içtenlikle yan›tlad›.
Özgür Yaz›l›m: Global CEO Araflt›rmas›
kapsam›nda kaç CEO ile görüflüldü? Araflt›rma kapsam›nda görüflülen CEO’lar
hangi k›staslara göre seçildi?
Eray Yüksek: Bugüne kadar dünya
üzerindeki CEO’lara yönelik yap›lan en
kapsaml› araflt›rma olan “Global CEO”
araflt›rmas› kapsam›nda 40 ülkeden
bin 130 CEO ile görüflüldü. Aralar›nda Türkiye’den 7 üst düzey yöneticinin de bulundu¤u, bin 130 CEO, “Gelece¤in ‹flletmesi”nin özelliklerini
tan›mlad›. Araflt›rmaya kat›lan CEO’lar, özel ve kamu sektörünü
temsilen çeflitli endüstrilerden seçildi. Kat›l›mc› flirketlerin yüzde
19’u 50 binden fazla, yüzde 22’si
ise binden az personel çal›flt›r›yor.
Global CEO Araflt›rmas›ndan hangi sonuçlar
ç›kt›? “Gelece¤in ‹flletmesi”ni Türk CEO'lar›
nas›l de¤erlendiriyor?
ABD'li ve Avrupal› CEO'lar aras›nda görüfl
farkl›l›klar› var m›?
Eray Yüksek
IBM Türk Genel Müdürü
32 IBM ÖZGÜR YAZILIM
Yüksek:
Araflt›rmada
öne ç›kan en önemli sonuç,
CEO’lar›n iflletmelerinde
büyük de¤iflimler bekledikleri oldu. Araflt›rmaya kat›lan CEO’lar›n yüzde
83’ü, yak›n gelecekte
müflteri profili, pazar
flartlar› ya da flirketleri-
Umut Kavurmac›
‹kinci müflteri grubu ise Sosyal
nin iflletme modellerinin tamamen de¤ibilmek” oldu¤unu söyledi. 32 endüsBilince Sahip Olan müflteriler (Sociflece¤inde birleflti. Dünyan›n dört bir tatride dünyan›n en büyük flirketlerini
ally Minded). CEO’lar kurumsal sosraf›ndaki farkl› ekonomilerde faaliyet
yöneten CEO’lar, müflterilerinin deyal sorumlulu¤a iliflkin müflteri bekgösteren küçük, orta ve büyük ölçekli
¤iflen beklentilerini karfl›lamak için
lentilerinin artt›¤› ve sosyal sorumlukurumlar›n CEO’lar›yla görüfltü¤ümüzbelirgin yat›r›mlar planlad›klar›n›
lu¤un gelecekte bir iflletmeyi farkl›de, ifl önceliklerinin ayn› oldu¤u gördük.
aç›klad›.
laflt›rmada önemli bir rol oynayaca¤›
CEO’lar›n tan›m›yla “Gelece¤in ‹flAraflt›rmaya kat›lan CEO’lar›n
konular›nda hemfikir. Müflteriler orletmesi”, de¤iflimi kal›c› bir durum olayüzde 83’ünün, yak›n gelecekte iflleganizasyonlar›n sosyal sorumluluk
rak kabul ediyor. Yöneticiler küresel
rine dair “devasa” de¤iflimler bekleprofillerine odaklan›yor ve giderek
rekabette kazanan tarafta olmak için,
di¤i ortaya ç›kt›. IBM’in iki y›l önceki
daha fazla, topluma duyarl› ürünleri,
araflt›rmas›na göre yüzde 28 artan
de¤iflimi yönetme kapasitelerini art›r›hizmetleri ve hatta tedarik zincirleride¤iflim beklentisi, öncelikle müflteriyor, yeni oluflan müflteri s›n›flar›na
ni talep ediyor. CEO’lar, sosyal bilinlerin davran›fllar›na odakland›.
ulaflmak ve ifl modellerini küresel büce sahip müflterinin sat›n alma karartünleflik ilkelere uydurmak için cesur
lar› vermeden önce, bir iflletmenin
at›l›mlar yapmaya haz›rlan›yor. KüreDaha önceki araflt›rmalar›n
sosyal sorumluluk profilini göz önünsel ifl dünyas›, de¤iflime direnmenin desonuçlar›ndan da k›saca bahde bulundurdu¤unu belirtiyor. Yeni
¤il, onu do¤ru yönetebilmenin baflar›y›
sedebilir misiniz?
sosyal bilinç sahibi müflteriyi daha iyi
getirece¤inde fikir birli¤ine var›yor.
Yüksek: IBM’in küresel ifl dünyas›anlamak ve ona ulaflmak için, önüAraflt›rmaya kat›lan CEO’lar›n yüzna yönelik gerçeklefltirdi¤i 2004 y›l›nmüzdeki üç y›lda yat›r›mlar›n› yüzde
de 83’ü, yak›n gelecekte ifllerinde büdaki ilk araflt›rmaya 465 CEO kat›lm›fl25 art›rmay› planl›yor. Bu oran, araflyük de¤iflimler bekliyor. Bu oran,
t›. Araflt›rmada CEO’lar›n bütçe k›s›nt›t›rmada belirlenen e¤ilimler içinde en
IBM’in iki y›l önceki araflt›rmas›na göre
s› politikalar›n› b›rak›p büyümeye geççok artan›.
yüzde 28 artm›fl durumda.
meye haz›r olduklar› belirlenmiflti. KüKurumlar, müflterilerin de¤iflen
Küresel ifl dünyas›na göre 2 yeni
resel krizin sona erdi¤ini ortaya ç›karmüflteri
s›n›f›
tan
araflt›rma,
olufluyor: Birinflirketlerin sa¤l›kl›
IBM’in yapt›¤› Global CEO Araflt›rmas› 40
cisi, tükettikleri
büyüme planlar›ürünlerle ilgili ülkeden bin 130 CEO ile görüflülerek tamamland›. na ›fl›k tutmufltu.
her tür bilgiyi
Amerika, AvAmaç gelece¤in iflletmesini tan›mlamak idi ve
edinmek isteyen,
rupa
ve Asya’dasonuçlar gerçekten de flafl›rt›c›…
görüfllerini ve
ki 765 CEO’nun
beklentilerini çokat›ld›¤›
2006
beklentilerini karfl›layabilmek ve büyü¤unlukla internet üzerinden dünyaya
araflt›rmas›nda ortaya ç›kan üç temel
yen ekonomilerin artan al›m gücünü
yayan Bilgi Oburlar› (Information Ombulgu, “de¤iflimin zorunlu olmas›”,
de¤erlendirebilmek için, tüm operasnivore)... Bu müflteriler, sat›n alma ka“inovasyonun birinci öncelik ve temel
yonlar›n› küresel ölçekte de¤erlendirrarlar›nda pasif rolleri terk edip sürece
baflar› faktörü haline gelmesi” ve
meye bafll›yor. CEO’lar›n yüzde 83’ü
müdahil olmak istiyor. “Bilgi Oburu Tü“stratejik fark› ifl modelinin yaratmaflirketlerinin üretim, operasyon ve ‹K
ketici”, ürünler hakk›nda kendi sosyal
s›” olmufltu. Araflt›rma, 2 y›l önce büsüreçlerini küresel ba¤lamda de¤erçevrelerinde dikkate al›nan görüfllerini
yümeye karar veren küresel ifl dünyalendiriyor.
yay›nlayarak bir nevi “üretici”ye dös›n›n, bunun öncelikli yöntemi olarak
CEO’lar›n yüzde 86’s›, önde gelen
nüflüyor ve birlikte ifl yapmay› seçtikinovasyonu benimsedi¤ini ortaya ç›organizasyonlar› di¤erlerinden ay›ran
leri flirketlerden esneklik ve çabuk yakarm›flt›.
yeteneklerde, yani bilgi ve varl›k kar›n›t verme yetene¤i talep ediyor. Bu
Bu y›l yap›lan araflt›rmada da, kafl›mlar›nda köklü de¤ifliklikler yapmay›
müflteriler çok talepkar olsa da, CEt›lan bin 130 CEO, de¤iflimin iflletmeplanl›yor.
O’lar›n ço¤u onlar› bir tehdit de¤il, bir
lerin bir yap› tafl› olmas› gerekti¤ini
f›rsat olarak görüyor. Grubun yüksek
vurgulad›. CEO’lar›n yüzde 86’s›, flirbeklentilerine yan›t verebilmenin kenketlerini di¤erlerinden ay›ran yete‹fl dünyas› için en önemli
dilerini farkl› k›laca¤›n› ve ortaya ç›kaneklerde, yani bilgi ve varl›k kar›fl›mgündem maddesi nedir?
cak yeni pazar f›rsatlar›n› paraya çevilar›nda, köklü de¤ifliklikler yapmay›
Yüksek: CEO’lar, önceliklerinin
rebileceklerini düflünüyor.
planlad›klar›n› belirtti.
“de¤iflimin artan h›z›na ayak uydura-
IBM ÖZGÜR YAZILIM 33
Web uygulamalar›nda Django dönemi!
Web uygulamas› gelifltirmek Django ile
eziyet olmaktan ç›k›yor. Django ile web
uygulamalar›na yeni bir bak›fl geliyor.
R. Emre Baflar - [email protected]
Arfl. Gör.
‹stanbul Bilgi Üniversitesi
Bilgisayar Bilimleri Bölümü
fiunu kabul edelim: Web tabanl›
uygulama gelifltirmek bir eziyettir!
Neden? Web tabanl› uygulama gelifltirmenin bir eziyet haline gelmifl
olmas›n›n en önemli sebebi World
Wide Web (WWW - K›saca Web) olarak bilinen yap›n›n çok h›zl› bir flekilde ve sürekli olarak de¤iflmesidir. Düflünürsek ilk baflta web sadece belgeleri birbirine ba¤lamaya
yarayan basit bir sistemdi. Ard›ndan önce CGI ve dinamik sayfa
kavramlar› ortaya ç›kt›, sonra PHP
ve benzeri diller yayg›nlaflt›, ard›ndan Javascript'in sahip oldu¤u yeteneklerin keflfedilmesi ile AJAX
kavram› hayat›m›za girdi. Dahas›
bu kadar uzun bir cümle dahi
Web'in geçirdi¤i de¤iflimin sadece
küçük bir k›sm›n› bize yans›t›r.
Web'in tamam›n›n geçirdi¤i de¤iflimi görmek ise bafll› bafl›na ayr› bir
araflt›rma konusudur.
Peki yukar›da, ortalama bir
Türkçe ö¤retmeninin saçlar›n› dökecek kadar uzun bir cümle ile aç›klad›¤›m fleylerden hangisi Web uygulamas› gelifltirmeyi eziyet haline
getiren etkendir? Cevap: Hiçbiri.
Tek bafl›na bu teknolojilerin hiçbiri
insanlara iflkence etmek için tasarlanmam›flt›r. Öte yandan ayn› zamanda bu teknolojilerin tamam› yarat›c›lar›n›n öngördü¤ünden çok daha ileriye gitmifltir. ‹flte bu tasarland›¤› amac›n ötesine taflan kullan›m›
bu teknolojileri kullanan uygulamalar gelifltirmeyi eziyet haline getirir.
Bilgisayar bilimleri, bilgisayar
programc›l›¤›, yaz›l›m mühendisli¤i... Ne isim verirseniz verin bu
36 IBM ÖZGÜR YAZILIM
alanlar›n hepsinin temelinde yatan
önemli bir kavram vard›r: Soyutlama. Günümüzde biliflim dünyas›n›n
bulundu¤u noktaya gelebilmifl olmas›n›n temel sebebi insanlar›n üst
üste binen iyi tasarlanm›fl soyutlama katmanlar› üretmesidir. Örne¤in
günümüzün tüm modern iflletim sistemlerinin temelinde yatan C dili
icat edildi¤i y›llar›n Assembly dillerinin bir soyutlamas›d›r. TCP/IP ve
OSI katman yap›lar› a¤ ba¤lant›lar›
üzerine birçok soyutlama içerirler.
‹flte web uygulamalar› gelifltirmeyi
eziyet haline getiren fley klasik yöntemle gelifltirilen web uygulamalar›nda bu soyutlamalar›n bulunmamas›d›r. Bu nedenle klasik yöntemlerle, Python/Perl tarz› CGI veya
PHP tarz› sunucu taraf› uygulamalar› gelifltirirken uygulaman›n boyu
belirli bir limiti aflt›ktan sonra çeflitli, özellikle metin biçimlerine yönelik SQL Injection ve uzaktan kod çal›flt›rma gibi hatalara s›kça rastlamak mümkün olmaktad›r. Bu hatalar ço¤unlukla programc› hatas› olarak an›lsa da asl›nda sebebi programc›n›n "yeteneksiz" veya "aceleci" olmas› de¤il elindeki araçlar›n bu
önlemleri almak için kendisine gerekli imkânlar› sunmamas›d›r.
K›sacas› uygun bir soyutlama
sunmayan ortamlarda karmafl›k
web uygulamalar› gelifltirmeye çal›flmak Assembly dili ile da¤›t›k çal›flan, çoklu veritaban› destekleyen
modüler bir ERP uygulamas› gelifltirmeye çal›flmaktan farks›zd›r.
E¤er karmafl›k bir web uygulamas›
gelifltirmek istiyorsan›z, elinizdeki
IBM ÖZGÜR YAZILIM 37
platformun size ihtiyaç duydu¤unuz
soyut, modüler, yeniden kullan›labilir
yaz›l›m gelifltirme imkân›n› sunmas›
gerekir.
Django ile tan›fl›n!
Django dünyas›na buyurun. Django
yukar›da aç›klad›¤›m›z sorunlar› gören
bir grup yaz›l›m gelifltirici taraf›ndan,
bu sorunlar› ortadan kald›rmak amac›yla tasarlanm›fl bir web uygulama
gelifltirme platformudur. Django sundu¤u Model-View-Controller tarz›ndaki tasar›m› ile gelifltirece¤iniz uygulaman›n bileflenlerini kolayca birbirinden
ay›rman›z› sa¤lad›¤› gibi, bir anlamda
sizi buna mecbur tutar. Bunun yan›nda
sundu¤u "Uygulama (Application)"
kavram› ve buna ba¤l› olarak sundu¤u
imkânlar ile modüler ve yeniden kullan›labilir uygulama parçalar› gelifltirmenizi mümkün k›lar. Django'nun di¤er
platformlara göre en önemli avantaj›
sundu¤u yap›tafllar›n›n son derece
düzgün biçimde birbirinden ayr›lm›fl,
fakat bir bütün oluflturacak kadar da
entegre olmas›d›r. Böylece bir anlamda Django'nun sunduklar›n› görüp
"Django havas›na" girdikten sonra sistemin geri kalan›n› kolayl›kla çözmeniz
mümkün olmaktad›r.
Django'nun baflar›s›n›n ard›nda yatan en önemli etkenlerden biri aktif
kullan›c›lar› taraf›ndan gelifltiriliyor olmas›d›r. Django'nu›n gelifltirilmeye
bafllamas› Washington Post gazetesinin web sitesinin haz›rlanmas›d›r. Editoryal yap›dan web tasar›mc›s›na oldukça kar›fl›k bir ifl ak›fl› ve ifl bölümü
içeren bu tip bir uygulaman›n Django'nun gelifltirilmesine önayak olmufl
olmas› ve flu anda Django'ya katk›da
bulunanlar›n önemli bir k›sm›n›n ayn›
zamanda aktif olarak Django ile çeflitli
web uygulamalar› gelifltiriyor olmas›d›r. Gelifltirici ve kullan›c› kitlesinin ayn› olmas› Django'nun kullan›c› ihtiyaçlar›n› karfl›layacak birçok özelli¤e h›zla
sahip olmas›na imkân sunmaktad›r.
Django'nun modüler yap›s› sayesinde
kullan›c›lar taraf›ndan eklenen özellikler kolayca Django'nun parças› haline
gelebilmektedir.
Bu yaz› yaz›ld›¤› s›ralarda Django'nun "kararl›" sürümü 0.96 idi. Ancak Django, yukar›da da bahsedildi¤i
gibi, çok h›zl› bir flekilde geliflmektedir
ve 0.96 sürümü flimdiden tarihi eser
say›lacak kadar eskimifltir (karfl›laflt›r-
38 IBM ÖZGÜR YAZILIM
ma için flöyle düflünebilirsiniz: Debian'›n Etch sürümü Django 0.96'y› içerir). Tahminen bu yaz›n›n yay›nland›¤›
günlerde 1.0 sürümünün ç›kmas› planlansa da flimdilik Django'nun gelifltirme sürümünün kullan›lmas› tavsiye
edilmektedir. 1.0-beta2 olarak geçen
bu sürüm en son güncelleme ve gelifltirmeleri içermektedir.
Django kurulumu oldukça kolayd›r.
Django'nun çal›flmas› için sisteminizde
gerekli paketlerin yüklü oldu¤undan
emin olduktan sonra tek yapman›z gereken Django'yu Subversion deposundan çekmek ve kurulum beti¤ini çal›flt›rmakt›r. Django'nun çal›flmas› için
sisteminizde bulunmas› gereken tek
kritik paket uygun bir veritaban› kütüphanesi ve bu kütüphanenin ba¤lanabilece¤i bir veritaban›d›r. Özellikle
girifl seviyesinde, deneme amaçlar›
için SQLite veritaban› yeterli olacakt›r.
Bunun için tek ihtiyac›n›z sisteminizde
pysqlite2 Python modülünün ve iflinizi
kolaylaflt›rmak ad›na SQLite veritaban› araçlar›n›n kurulu oldu¤undan emin
olmakt›r. Bunun ard›ndan Django'nun
son gelifltirme sürümünü indirmeniz
ve yüklemeniz gerekir. Bunun için Linux/UNIX/MacOS X gibi sistemlerde
komut sat›r›ndan flu komutlar› vermeniz yeterli olacakt›r.
veti olmas› flart›n› kolayca ekleyebilirsiniz. Bu flekilde veriye iliflkin kontrolleri
tek bir merkezde toplayarak herhangi
bir noktada yap›lacak girdi kontrolünün
atlanmas› gibi olas›l›klar ortadan kalkar.
Model API kulland›¤›n›z sürece elinizdeki verinin iste¤inize uygun oldu¤undan
emin olabilirsiniz.
Database API
Django birbiriyle oldukça uyumlu
çal›flan birçok parçadan oluflmufltur.
fiimdi bu parçalara bir göz atal›m.
Model API
Daha önce de bahsetti¤imiz gibi
svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk
cd django-trunk
python Setup.py install
Bu komutlardan sonuncusu sistemde yönetici yetkileri gerektirdi¤inden
yetkili kullan›c› modunda çal›flt›r›lmas›
gerekecektir. Django kurulumu hakk›nda
daha detayl› bilgi için Django kurulum
dokümantasyonuna baflvurabilirsiniz.
Django Model-View-Controller yap›s›na göre gelifltirilmifl bir platformdur.
Bu yap›n›n en kritik parças› olan modelin yani uygulaman›z›n kullanaca¤›
veri yap›lar›n›n do¤ru tasarlanmas›
uygulaman›z›n geri kalan›n›n tutarl›l›-
¤› aç›s›ndan hayati bir öneme sahiptir.
Django bu konuda iflinizi gayet kolaylaflt›racak iki araç sunar: Model API ve
Database API. Database API ayr› bir
bafll›k alt›nda incelendi¤inden önce
Model API'den bahsederek bafllayal›m. Model API uygulaman›z›n kullanaca¤› veri yap›lar›n› düzgün ve tutarl›
biçimde tasarlaman›z› sa¤layan bir
Django modülüdür. Model API kabaca
düflünüldü¤ünde klasik uygulamalardaki veritaban› flemas›na denk düfler.
Temelde Model API ile yapt›¤›n›z ifl bir
“veritaban› flemas› tasarlamaktan
farkl› de¤ildir”. Ancak tablolar ve sütunlar yerine nesne yönelimli bir biçimde s›n›flar›n›z› ve bu s›n›flar aras›ndaki iliflkileri tan›mlaman›z› sa¤layarak size bir soyutlama sunar. Model
API'nin size sundu¤u en büyük imkân
tablolar ve sütunlar yerine size programlama dilinizin terimleriyle, s›n›flar,
s›n›flar›n alanlar› ve ba¤lant›lar› üzerinden düflünmenizi sa¤lamas›d›r. Bu
sayede arka planda yatan veritaban›
motorunun nitelikleri ve destekledi¤i
özellikler gibi fleyleri düflünmenize
gerek kalmaz. Django, Model API kullanarak tasarlad›¤›n›z s›n›flar›n›z› SQL
ifadelerine çevirerek gerekli flemalar›
otomatik yaratacakt›r.
Model API ile tasarlad›¤›n›z s›n›flar
ve iliflkiler en az SQL kullanarak do¤ru-
Django ile
yaratt›¤›n›z
modellerin alanlar›
üzerinde diledi¤iniz
k›s›tlamalara uyup
uymad›¤›n› kontrol
etmeniz mümkün.
dan tasarlad›klar›n›z kadar esnektir.
Modelinizin bir alan›n›n türü, bofl olup
olamayaca¤›, modelinizin di¤er modeller ile olan bire-bir, bire-çok, çoka-çok
ba¤lant›lar› gibi klasik tan›mlar› Model
API'nin size sundu¤u imkânlar ile kolayca tan›mlayabilirsiniz. Model API'nin
as›l gücü ise SQL s›n›rlar›n›n d›fl›na taflan içerik do¤rulama sistemi ile ortaya
ç›kar. Django ile yaratt›¤›n›z modellerin
alanlar› üzerinde diledi¤iniz k›s›tlamalara uyup uymad›¤›n› kontrol etmeniz
mümkündür. Örne¤in SQL ile bir tabloda say› içeren bir sütun yarat›rsan›z veritaban› sisteminiz en fazla buraya ifllenen verinin gerçekten bir say› olup olmad›¤›n› kontrol edecek ve daha ötesinde bir kontrol için sizin ek kod yazman›z
gerekecektir. Model API size bu kontrolü do¤rudan verinin merkezine oturtma
imkân› sunar. Örne¤in girilen verinin bir
say› olmas› flart› yan›nda 2'nin bir kuv-
Database API, Model API'nin hayata
geçti¤i, canl› örneklerini gözümüzün
önüne sundu¤u noktad›r. Model API ile
tan›mlad›¤›m›z modeller birer s›n›ft›r.
‹flte Database API bizim bu s›n›flardan
objeler üretmemizi, veritaban›nda saklanan objelerimize eriflmemizi ve var
olan objelerimizi düzenlememizi sa¤lar.
Bu anlamda Database API klasik anlamda bir ORM (Object Relational Mapping)
sistemidir. Database API sayesinde veritaban›nda saklanan objelerimize tek
bir sat›r SQL kodu yazmadan eriflmemiz, ihtiyac›m›za göre filtrelememiz
mümkündür. Database API'nin bize
sundu¤u haz›r metodlar sayesinde tek
sat›r SQL kodu yazmadan objelerimiz
üzerinde diledi¤imiz gibi filtreleme yapabiliriz. Database API bu metodlar
yard›m›yla uygun SQL tümcelerini bizim için otomatik olarak oluflturacakt›r.
Yine kullan›c›lar› taraf›ndan gelifltirilmesinin bir sonucu olarak Database
API son derece esnek bir sistemdir. O
kadar ki kendi içerisinde bir "Alana
özel programlama dili" gibi görülebilir.
Database API sayesinde objelerinizi
kendi özniteliklerine veya ba¤l› olduklar› di¤er objelerin özniteliklerine göre
filtreleyebilirsiniz. Örne¤in bir Modele
ait objeleri ba¤l› olduklar› kullan›c›n›n
hesab›n›n aktif olup olmad›¤›na göre
seçebilir ve bunlardan sadece en yak›n
tarihli 5 tanesini isteyebilirsiniz. Üstelik bunu yaparken ayn› zamanda ö¤enin bir niteli¤inin bir düzenli ifadeye
uyup uymad›¤›n› kontrol etmeniz dahi
mümkündür. Bunu yapacak bir sorgu
yazman›za gerek yoktur. Sadece modelinizin uygun metodlar›n› ard arda
ça¤›rman›z yeterli olacakt›r.
fiablon motoru
Tabii ki Model-View-Controller yap›s› sadece modellerden oluflmaz. ‹çeri¤i
görüntülemek için bir görünüm katman›na ihtiyaç duyar›z. Django'nun flablon
motoru (template engine) bize bu ihtiyaçlar›m›z› sa¤layacak fonksiyonaliteyi
IBM ÖZGÜR YAZILIM 39
n›lan bloklar› tan›mlar. Bir flablon di¤er
flablonlar taraf›ndan extends anahtar
kelimesi ile geniflletilir. Bir flablonu geniflleten flablon geniflletti¤i flablonun
içindeki istedi¤i bloklar› yeniden tan›mlayarak içeri¤ini doldurur. Bu flekilde
her flablonun sadece kendi parças›yla ilgilendi¤i düzenli bir hiyerarfli yard›m›yla içeri¤in görüntülenmesi modüler bir
flekilde, bir parçadaki de¤ifliklikler di¤erlerini etkilemeden baflar›labilir.
sunar. Görünüm katman›n›n görevi kendisine sa¤lanan içeri¤i uygun biçimde
sunmakt›r. Bu noktada flablon iflleme
iflini iki ayr› ad›ma ay›rmam›z gerekir.
Biri flablonlar› tan›d›¤›m›z flablon dili, di¤eri ise flablonu uygun biçimde görüntüleyen görünüm fonksiyonlar›d›r.
Görünüm fonksiyonlar›
Görünüm fonksiyonlar› uygulamam›zdan bir ç›kt› üretmek için kullan›lan
fonksiyonlard›r.
Bu ç›kt› HTML/XML/RSS/JSON
gibi bilinen bir dosya biçimi olabilece¤i
gibi herhangi bir baflka dosya biçimi de
olabilir. Görünüm fonksiyonlar› içerik
üretmekten sorumludurlar. Bir görünüm fonksiyonu içeri¤i tamamen tek
bafl›na üretebilir, ancak genellikle bu
çok tercih edilen bir yöntem de¤ildir.
Bunun yerine tavsiye edilen yöntem
bir flablon dosyas› kullan›larak içerik
üretme k›sm›n›n flablon taraf›ndan yap›lmas›d›r. Bu anlamda görünüm fonksiyonunun tek amac› do¤ru flablona
do¤ru içeri¤i sa¤lamakt›r.
fiablonlara içerik "fiablon Ortam›
(Template Context)" adl› bir yöntemle
aktar›l›r. Bir görünüm fonksiyonu bir
flablonu çal›flt›r›p ç›kt›y› üretmeden önce onun ortam içeri¤ine ihtiyaç duyulan içeri¤i de¤iflkenler olarak ekler. Daha sonra flablon dosyas› bu de¤iflkenleri kullanarak gerekli ç›kt›y› üretir. Bu
yöntemin en büyük faydas› flablon içeri¤inde kod çal›flt›rma imkân›n›n k›s›tlanmas›d›r. fiablonlar en basit hesaplamay› dahi yapamayacak biçimde tasarlanm›flt›r. Bu sayede flablon sistemi ile
uygulaman›n geri kalan› birbirinden kal›n çizgilerle ayr›larak uygulaman›n Model-View-Controller yap›s›na sad›k kalmas› sa¤lanm›fl olur. E¤er bir fonksiyonun bir flablon fonksiyonu olarak kullan›lmas› isteniyorsa buna uygun özel bir
biçimde yaz›lmas› gerekir.
fiablon ortam› yönteminin di¤er bir
katk›s› ise uygulaman›n her noktas›nda
ihtiyaç duyulacak verilerin flablon ortam› iflleyici (template context processor) olarak adland›r›lan fonksiyonlar
taraf›ndan tür uygulamaya sunulabilmesidir. Tüm flablonlar içerisinde ihtiyaç duyulacak ortak bir veri (örne¤in o
anki kullan›c›y› gösteren kullan›c› nesnesi) bu iflleyiciler yard›m›yla tüm flablon ortamlar›na yerlefltirilerek tüm görünüm fonksiyonlar›nda tekrar tekrar
kullan›lmas› ihtiyac› ortadan kald›r›l›r.
40 IBM ÖZGÜR YAZILIM
Temiz URL'ler
Kahvenizi yudumlay›n ve
Django ile web uygulamas›
gelifltirmenin tad›na var›n.
fiablon dili
Di¤er web uygulama gelifltirme
platformlar› taraf›ndan kullan›lan XSLT
ve TAL gibi flablon sistemlerinin aksine
Django'nun flablon dili XML tabanl› de¤ildir. Bunun sebebi Django gelifltiricilerinin bu flablon motorunun XML tabanl› olmayan her türlü içeri¤in üretilmesinde de kullan›lmas›n› istemesidir.
Bu nedenle Django'nun flablo dili kendine özgü, oldukça basit, bir sözdizimine
sahiptir. fiablonlar içerisindeki de¤iflkenlerin de¤erlerine ulaflmak için o de¤iflkenin ad› "{{" ve "}}" iflaretleri aras›na yaz›l›r. fiablon fonksiyonu ça¤r›lar›
veya for, if gibi kontrol yap›lar› ise
"{%" ve "%}" aras›nda yaz›l›r.
Django flablon dili for döngüsü ve if
yap›s› gibi al›flt›¤›m›z kontrol yap›lar›n›
destekler. Ancak flablonlar›n içinde
fonksiyon tan›mlamak veya özyinelemeli bir yap› oluflturmak mümkün de¤ildir. Bu gibi fleylerin flablonlar›n d›fl›nda yap›lmas› gerekir. fiablonlar di¤er flablonlar›n içinde include fonksiyonu ile kullan›labilir. Ancak genellikle
bunun yerine flablon kal›t›m› mekanizmas›n›n kullan›lmas› tercih edilir.
fiablon kal›t›m› kavram› web sitelerinin büyük bir ço¤unlu¤unun belirli baz›
blok yap›lar üzerine kuruldu¤u düflüncesiyle yarat›lm›flt›r. Bu yöntemde flablonlar ayn› nesne yönelimli programlamada oluflturulan s›n›f hiyerarflilerinde
oldu¤u gibi hiyerarflik bir biçimde oluflturulur. Hiyerarflinin kök k›sm›nda yer
alan flablon o hiyerarfli içerisinde kulla-
Web'in yarat›c›s› Tim Berners Lee'nin de dedi¤i gibi: “Haval› URL'ler de¤iflmez”. Birçok web uygulamas›na bakt›¤›m›zda oldukça korkutucu, eski çizgi
romanlardaki küfürlere benzeyen bol
miktarda &, #, ? gibi karakterleri içeren
adreslerle karfl›lafl›r›z. Bu adresleri ço¤unlukla ak›lda tutmak mümkün olmad›¤› gibi büyük olas›l›kla bir sonraki giriflinizde adres de¤iflmifl olacakt›r. Django
"haval›" ve de¤iflmeyen adresler kullanabilmenizi sa¤lar. Böylece sitenizdeki
bir haberi görüntülemek isteyen bir kullan›c› /index.php?t=4&aid=42 gibi tuhaf bir adres yerine "oku/cok-ilgincseyler-oldu gibi daha anlafl›l›r bir adresi
kullanabilir. Django bunun için geliflmifl
bir URL tan›mlama sistemine sahiptir.
Temelde Django'nun URL sistemi görünüm fonksiyonlar›n›n her birine bir adres vererek çal›fl›r. Örne¤in /oku ile bafllayan tüm adreslerin read_article adl›
fonksiyon taraf›ndan ifllenmesini sa¤layabilirsiniz. Peki ya fonksiyonun parametreleri? Fonksiyon parametreleri,
kullan›c›n›n istedi¤i adres üzerinde çeflitli düzenli ifadeler çal›flt›r›larak bulunur. Bu sayede kullan›c›n›n ba¤land›¤›
adreslerin gayet okunakl› hale gelmesi
mümkün olacakt›r.
URL sisteminin di¤er bir güzel yan›
ise size bir fonksiyonu istedi¤iniz parametrelerle çal›flt›rmak istedi¤inizde
hangi adrese gitmeniz gerekti¤ini de
söyleyebilmesidir. Ters çözümleme ad›
verilen bu yöntem sayesinde Gerek
flablon dosyalar›n›z gerekse uygulaman›z›n kaynak kodu de¤iflen adres tan›mlar›na an›nda ayak uydurabilir.
Formlar
Formlar›n olmad›¤› bir web uygulamas› düflünmek birçok web uygulama
gelifltiricisinin hayali olsa da ne yaz›k
ki k›sa zamanda gerçekleflecek gibi gözükmüyor. Bunu gören Django geliflti-
ricileri de form problemini kökten çözmek için bir form kütüphanesi gelifltirmifllerdir. Django'nun Forms sistemi
her türden formu kolayca üretmenizi
sa¤lar. Bir form tan›m› aynen bir model tan›m›na benzer. Form bir s›n›f olarak tan›mlan›r ve uygun tipte alanlar
içine eklenir. Django ise bu alanlar› kolayca do¤rulay›p size temiz ve geçerlili¤inden emin olabilece¤iniz bir veri
sunar. Bunun yan›nda Django formlar›n›n di¤er bir ilginç çözümü ise bir sayfada ayn› formdan birden fazla say›da
bulunmas› gerekti¤inde ortaya ç›kar.
Örne¤in kullan›c›n›n ayn› formun belirsiz say›da kopyas›n› doldurmas› gerekiyorsa FormSet adl› bir yap› ile bu birden fazla defa tekrarlanan formlar kolayca ifllenebilir.
Web uygulamalar›nda kullan›lan
formlar ço¤unlukla belirli bir modele
yöneliktir. Örne¤in bir web sitesindeki
haber yollama formu sadece haber
modelinden bir obje yaratma amac›na
hitap eder. Bu gibi durumlarda modelde zaten yap›lm›fl olan tan›mlar›n bir
defa daha yap›lmas› gerekebilir. ‹flte
Django bu tekrarlamay› engellemek
için ModelForms adl› bir yöntem sunarlar. ModelForms'un temel amac›
kendisine verdi¤iniz bir model yap›s›
için uygun bir form üretmesidir. Bu
form üretilirken sistem o modelin di¤er modellerle olan ba¤lant›lar›n› da
otomatik olarak çözümler ve uygun bir
formu oluflturur.
Uygulamalar
Django bütün bu "çekirdek" özelliklerinin yan›nda "uygulama" olarak
adland›r›lan çeflitli modüler yap›lar da
içerir. Bu uygulamalar sayesinde kendi
uygulaman›za kolayca kullan›c› do¤rulama özelli¤i ekleyebilir, uygulaman›z
için bir yönetici arayüzü oluflturabilir
veya RSS/Atom beslemeleri sunabilirsiniz. fiimdi Django ile gelen bu uygulamalardan birkaç›na bir göz atal›m.
Django sayesinde
tekrarlanan
s›radan iflleri
otomatize etmek
mümkün.
Kullan›c› ve izin yönetimi
Django kendi içinde bir kullan›c›,
grup ve izin yönetim sistemi içerir. Bu
sistem sayesinde kendi uygulaman›za
kolayl›kla kullan›c› ve hak yönetimi ekleyebilirsiniz. Django'nun kullan›c› yönetimini basit halde örne¤in siteye sadece kay›tl› kullan›c›lar›n eriflebilece¤i
bölümler eklemekte kullanabilece¤iniz
gibi kendi uygulaman›za özel izinler
tan›mlay›p kullan›c›lar›n bu haklara sahip olup olmad›klar›n› da kontrol etmek mümkündür.
Basit kullan›c› yönetimi için tek
yapman›z gereken sitenize bir kullan›c› girifl formu ekleyip birkaç flablon
koymakt›r. E¤er sitenizin belirli görünüm fonksiyonlar›n› anonim kullan›c›lardan gizlemek isterseniz tek yapman›z gereken bu fonksiyona tek bir sat›r
ile bu bilgiyi eklemektir.
Otomatik yönetici arayüzü
Bir web uygulamas›n› gelifltirdikten
sonra genelde iflin en s›k›c› k›sm› o uygulama için bir yönetici arayüzü tasarlamakt›r. Oldukça standart ifllerin tekrar›ndan oluflan yönetici arayüzlerinin
oluflturulmas› gelifltiriciler için oldukça
s›k›c›d›r. Django sayesinde bu tekrarlanan, s›radan ifli otomatize etmek
mümkündür. Django modellerinizi otomatik olarak tan›y›p bunlar için bir yö-
netici arayüzü oluflturabilir. Haz›r gelen yönetici arayüzünü kullanman›z
mümkün oldu¤u gibi bu arayüzü diledi¤iniz gibi uygulaman›za uygun biçimde
de¤ifltirmeniz de mümkündür. Otomatik üretilen yönetici arayüzü sayesinde tüm arayüzü s›f›rdan yazmaktansa
sadece küçük de¤ifliklikler yapman›z
yeterli olacakt›r.
Statik sayfalar
En dinamik web uygulamalar›nda
dahi genelde birkaç sabit sayfan›n bulunmas› gerekebilir. Örne¤in sitenin
kullan›m sözleflmesi veya iletiflim bilgileri bu tip sayfalard›r. Bunlar için ayr› görünüm fonksiyonlar› tan›mlamak
Django'nun statik sayfalar sunmaya
yarayan arac›n› kullanabilirsiniz. Bu
sayede tek sat›r kod yazmadan ve tüm
flablonlar›n›zdan faydalanarak statik
içeri¤i sunman›z mümkündür.
RSS/Atom beslemeleri
Bir RSS/Atom beslemesi temelde
bir objenin standart bir biçimde d›flar›ya sunulmas›ndan ibarettir. Her ne
kadar bu ifl tan›m olarak çok basit olsa da gerek standart uyumlulu¤u, gerekse sunulmas› gereken besleme say›s›n›n çoklu¤u bak›m›ndan bir gelifltiriciyi birçok küçük detayla bo¤abilir.
Django içerisinde gelen syndication
uygulamas› sayesinde sadece uygulaman›z›n modelini sisteme tan›tarak
diledi¤iniz model için RSS/Atom beslemesi üretebilirsiniz.
Django daha bunun gibi içinde haz›r gelen ve hayat› kolaylaflt›ran birçok uygulamayla doludur. Haz›r gelen
uygulamalar›n yan›nda içerik etiketlemeden görsel malzeme yönetimine
birçok ifl için çeflitli Django uygulamalar› mevcuttur. Bu uygulamalar sayesinde sadece kendi içeri¤inize konsantre olarak geri kalan birçok detayla ilgilenmeden web uygulamalar› gelifltirmek mümkündür. Bu yaz›n›n bir
sonraki bölümünde iflte tam olarak
bunu yapaca¤›z.
IBM ÖZGÜR YAZILIM 41
CELL ifllemcisi üzerinden kanserli
hücre tespiti!
Süperbilgisayarlar›n içinde kullan›lm›fl
bir ifllemci olmas›n›n yan›nda, günümüzde
yayg›n olarak karfl›laflt›¤›m›z oyun
konsolu PlayStation 3’lerin ifllemcisi
olarak da tasarlanan CELL ifllemcisini
kullan›larak kanserli hücre tespitine
katk›da bulunmaya çal›flt›k.
Yazan ve Haz›rlayan: Proje Grubu
Ça¤›m›z›n en yayg›n ve tedavisi
zor hastal›klar›ndan biri olan kanser, her sektörün dikkatini çekti¤i
gibi, yaz›l›m dünyas›n› da bu konuyla ilgili çözüm üretme merak›na sürüklüyor. Bizler de IBM bünyesinde
Ar-Ge ö¤rencileri olarak bu konuda
günümüzün son teknolojisi olan
CELL BE ifllemci mimarisini kullanarak çözüm gelifltirmeye çal›fl›yoruz.
Amac›m›z, matematiksel hesaplamalar› hücre resimlerinin boyut ve
flekil analizinde uygulayarak puanlay›p hücrenin kanserli olup olmad›¤›n› tespit etmek.
CELL nedir?
CELL BE; IBM, Sony ve Toshiba
ortakl›¤›nda ortaya ç›km›fl olan yeni
bir mikroifllemci mimarisidir. CELL
ifllemcisi, CELL Blade, IBM System
42 IBM ÖZGÜR YAZILIM
z9 Anabilgisayar› ve RoadRunner
Süperbilgisayarlar›n içinde kullan›lm›fl bir ifllemci olmas›n›n yan›nda,
günümüzde yayg›n olarak karfl›laflt›¤›m›z oyun konsolu PlayStation
3’lerin ifllemcisi olarak da tasarlanm›flt›r.
Neden CELL?
CELL BE mimarisi içinde buludurdu¤u yönetimden sorumlu bir
adet ana ifllemci PPE(Power Processing Element) ve hesaplamalar
ile ilgilenen 8 adet SPE (Synergistic
Processing Elements) ifllemcilerinin
paralel çal›flma gücünden yaralanarak, güç verimlili¤i ve yüksek performans› uygun maliyetle sa¤l›yor.
SPE’ler sahip olduklar› 256 KiloByte’l›k yerel bellek ile k›s›tlan›yorlar
ancak paralel çal›flabilme ve vektör-
IBM ÖZGÜR YAZILIM 43
lefltirme özelliklerine sahip olduklar›
için ifllem yapabilme h›zlar› oldukça art›yor.
Biz bu projede daha ucuz ve daha
yayg›n olarak bulabilece¤imiz, her birinde 1 adet PPE ve 6 adet SPE bulunan 2 adet PlayStation 3 kulland›k.
PlayStation 3’lerin avantaj›, küme yap›s› kullan›larak dünyan›n en h›zl› bilgisayar›n›n h›z›na denk bir ifllemci kümesi elde edilebilmesi. Bizim de bundan
sonraki hedefimiz 8 adet PlayStation
3’ü küme yap›s› haline getirip daha
güçlü bir ifllemci yap›s›na sahip olmak.
Projede neler yapt›k?
Öncelikli olarak PlayStation 3 üzerine Linux iflletim sistemi kurduktan sonra proje için gerekli olan birtak›m programlar› yükledik. Kanserli hücre tespitinde kullan›lacak fonksiyonlar tek ifl-
lemcili bir bilgisayar üzerinde C dilinde
skaler olarak, hiçbir haz›r fonksiyon kullan›lmadan yaz›ld›. Bu fonksiyonlar› kullanarak çekirdek sitoplazma oran›, çekirdek üzerindeki granüllerin çekirde¤e
oran›, çekirdeklerin boyut ve flekil olarak deformasyonlar›n› puanlayarak
kanserli olma riski yüzdesini elde ettik.
Fonksiyonlar›m›z›n do¤ru çal›flt›¤›n-
dan emin olduktan sonra, bu kodlar›
PlayStation3 üzerine uyarlayarak resmi 12 eflit parçaya bölüp, her ifllemciye
bir parça düflecek flekilde ayarlay›p, bu
fonksiyonlar›n paralel olarak çal›flmas›n› sa¤lamakt›. Bu paralellefltirmenin
yan› s›ra, vektörlefltirme (SIMD = Single Instruction Multiple Data) prensiplerini de kullanarak birkaç fonksiyon üzerinde uyarlanmas›n›n amac› temel olarak paralel çal›flt›rmakt›.
Burada temel olarak karfl›laflt›¤›m›z en büyük problem, SPE lerin yerel
belleklerinin 256 KiloByte olmas› sebebiyle iflleyebilecekleri resim miktar›n›n k›s›tl› olmas›yd›. Ancak bu problem
daha fazla PlayStation 3 kullan›larak 1
SPE ye düflen resim boyutunun azalt›lmas› ile çözüme kavufltu.
fiekil 1 - Resmin PlayStation 3
üzerine da¤›l›mlar›
PlayStation 3’ler aras›ndaki iletiflim
MPI (Message Passing Interface) ile sa¤lan›rken, PlayStation 3 içerisindeki PPE ve
SPE’ler aras›ndaki iletiflim, DMA (Direct
Memory Access) ve posta kutular› (Mailbox) yard›m›yla sa¤land›. DMA, PPE – SPE
iletiflimi için kullan›fll› bir araç olmas›n›n
ra¤men, fazla kullan›lmas›yla zaman aç›s›ndan dezavantajlar getiren bir yap›ya sahip.
Projemizi en etkin bir flekilde sunabilmek
için GTK (Gimp Toolkit) kullan›larak kullan›m›
kolay, kullan›c› dostu bir arayüz tasarland›.
ulaflmak mümkün olacakt›r, detayl› bilgi ve
sorular için ayr›ca Serkan fiahin
"[email protected]" ile temasa geçebilirsiniz.
PROJE L‹DER‹
Turhan Karadeniz
Delft University of Technology
Onur Can Ulusel
Sabanc› Üniversitesi
PROJE GRUBU
CELL BE üzerinde kod yazmak!
CELL BE üzerinde kod yazmak, yaz›l›mc›ya birçok sorumluluk yüklüyor. Kodlar C dilinde yaz›lm›fl olsa da, yaz›l›mc›n›n düflük seviye dillerdeki gibi düflünmesi gerekiyor. Bir
baflka deyiflle, yaz›l›mc›n›n “Mimari Bilinçli
Programlama” yapmas› mutlak önem tafl›yor. CELL ifllemcisinden tam verim alabilmek
için, SPE’lerin efl zamanl› çal›flmas›na yönelik
ve SIMD seviyesinde kod yazmak gerekiyor.
SPE’ler üzerinde efl zamanl› çal›flan kod takibi yapmak oldukça zor.
Proje Bilgi-IBM ‹leri Araflt›rmalar
merkezinde devam etmektedir, projenin
ikinci aflamas› olan ve Cell ifllemciler ile
kurulacak High Power Computing ile
yaz›l›m gelifltirmesi devam edecektir, her
türlü detayl› bilgiye Kas›m ay›nda
http://cas.bilgi.edu.tr veya
https://www-927.ibm.com/ibm/cas/sites/
istanbul/index.shtml sayfalar›ndan
44 IBM ÖZGÜR YAZILIM
Sanem Arslan
Marmara Üniversitesi
Esin Çeti
Sabanc› Üniversitesi
Birkan ‹çaçan
Sabanc› Üniversitesi
Cihan Gürsoy
Sabanc› Üniversitesi
Cihan fiimflek
Sabanc› Üniversitesi
Ümit Can Bekar
Sabanc› Üniversitesi
Ça¤r› A¤cal›
Orta Do¤u Teknik Üniversitesi
Oytun Yücel
Northwestern University
IBM ÖZGÜR YAZILIM 45
Komut sat›r›n›n gücüne hükmedin!
Do¤açlama programlar oluflturmak için UNIX
yard›mc› programlar›n› kar›flt›r›p efllefltirin
Düzey: Bafllang›ç
Martin Streicher ([email protected]), fief Editör, Linux Magazine
UNIX kabu¤unun temellerini ö¤renin ve s›n›rl› UNIX yard›mc› programlar› kümelerinden say›s›z veri
dönüfltürmeleri oluflturmak için komut sat›r›n› nas›l kullanabilece¤inizi
keflfedin.
find . -type f -print | sort | uniq
46 IBM ÖZGÜR YAZILIM
Groucho
Chico
Chico
Groucho
Harpo
Zeppo
Zeppo
uniq komutu, liste ö¤elerini afla¤›daki flekilde azalt›r:
UN‹Q KOMUTU
Groucho
Chico
Groucho
Harpo
Zeppo
Ancak, özgün Marx Brothers listesi önce s›ralansayd› (bir ad›n tüm
örneklerinin arka arkaya yeniden s›ralanmas›) uniq komutu flu sonucu
verecekti:
UN‹Q KOMUTUNUN
ÇALIfiTIRILMASI
Chico
Groucho
Harpo
Zeppo
Liste 3
Bu komut sat›r›, üç ayr› yard›mc›
program› birlefltirir:
• find, ad› belirtilen dizinin derinliklerini araflt›r›r -- bu durumda, . ya
da nokta (geçerli çal›flma dizininin
k›sayolu) ile bafllayan dosya sistemidir -- ve belirtilen ölçütlerle eflleflen tüm girifllerin adlar›n› gösterir.
Burada -type f, find komutunu yaln›zca düz dosyalar› bulmak üzere
yönlendirir.
• sort, ad›ndan da anlafl›laca¤›
gibi bir listeyi ifller ve alfabetik olarak s›ralanm›fl yeni bir liste görüntüler.
• uniq ("unique" gibi okunur) bir
Groucho
Liste 2
Bir UNIX sisteminin en yeni ve
farkl› özelliklerinden biri komut sat›r›d›r. Biraz "birlefltirici" (glue) ile
birlikte birkaç tufl vurufluyla s›n›rl›
UNIX yard›mc› program› tak›m›n›,
say›s›z do¤açlama veri dönüfltürmelerine dönüfltürmek için komut
sat›r›n› kullanabilirsiniz.
Örne¤in, geçerli çal›flma dizininden bafllayan klasör hiyerarflisinde
benzersiz dosya adlar› listesini bulmak için kabuk komut sat›r›na afla¤›dakileri yazabilirsiniz:
ÖRNEK L‹STE
Liste 1
UNIX Dilinde Konuflma:
Merhaba, kabuk
listeyi tarar, listedeki bitiflik ö¤eleri
karfl›laflt›r›r ve yinelenen ö¤eleri
kald›r›r. Örne¤in, listenizin afla¤›daki gibi oldu¤unu düflünelim:
IBM ÖZGÜR YAZILIM 47
find, sort ve uniq komutlar›n›n kapsaml› özellikleriyle ilgili ek bilgi almak
için her bir yard›mc› program›n UNIX
sisteminizdeki man sayfas›na bak›n.
Veri girifli, veri ç›k›fl›, verilerle ilgili her fley
Liste 4
Ba¤›ms›z olarak kullan›ld›¤›nda
find, dosya sisteminin içeri¤ini her zaman girifl verileri olarak al›r. Ancak,
hem sort, hem de uniq komutu veri giriflinin standart girifl ayg›t›ndan (stdin)
yap›lmas›n› gerektirir. Genellikle standart girifl klavye kullan›larak sa¤lan›r:
Örne¤in, sat›rlarda s›ralanmas›n› istedi¤iniz verileri yazars›n›z.
Varsay›lan de¤er olarak find, sonuçlar› standart ç›k›fl ayg›t›nda (stdout) (bu genellikle uçbirim pencerenizdir) yazd›r›r. sort ve uniq, sonuçlar›
standart ç›k›fl ayg›t›na yazd›r›r.
Standart girifl ve ç›k›fl› göstermek
için afla¤›daki metni uçbirim pencerenize yaz›n (bafltaki yüzde iflaretinin
[%] kabuk komut isteminiz oldu¤unu
düflünün):
STD‹N VE STDOUT
% sort
mustache
horn
hat
Control-D
find gibi baz› yard›mc› programlar
verileri stdin'den okumaz. Bunun yerine, ifllemeleri gereken verileri, dosya
sistemi ya da sistem çekirde¤i gibi sistem kaynaklar›ndan okurlar ve sonuçlar› stdout'ye yazarlar. find komutunun nas›l çal›flt›¤›n› görmek için afla¤›da fiekil 2'ye bak›n.
fiekil 3 içinde gösterilen flekilde,
ço¤u UNIX komutu giriflleri uçbirimden
okur, sonuçlar› uçbirime gönderir ve
hatalar› uçbirime yazd›r›r. Varsay›lan
de¤er olarak ve siz, tersi bir durumu
belirtmedi¤iniz sürece, uçbiriminiz
stdin için veri kayna¤›, stdout ve
stderr için de hedef olarak kullan›l›r.
fiekil 2. Baz› yard›mc› programlar verileri sistem kaynaklar›ndan
okurlar ve stdout'ye yazarlar
fiekil 4 içinde find . -type f -print | sort |
uniq komutunun kavramsallaflt›r›lmas›
gösterilmektedir.
karakterini kullanabilirsiniz (varsa,
dosyan›n var olan içeri¤i ortadan kald›r›l›r). Sonuçlar› var olan bir dosyaya
eklemek için >> karakterini de kullanabilirsiniz.
Baflka bir yararl› yeniden yönlendirme < karakteridir. fiekil 5 içinde,
stdin'nin verileri bir dosyadan okumak
için nas›l yeniden yönlendirebilece¤i
gösterilmektedir. sort komutu, ad› belirtilen bir dosyadan bir sözcük listesini okur ve alfabetik s›rayla bu listeyi
düzenler.
veri toplama görevi çal›flt›r›yorsan›z,
geçici ç›k›fl› ve yürütme s›ras›nda ortaya ç›km›fl hatalar› gözden geçirmek isteyebilirsiniz. Bunu yapmak için yeniden yönlendirme sözdiziminin de¤iflkenlerini kullanabilirsiniz: |&, >&, >>&,
dikey çubuk, eflzamanl› olarak stdout'u oluflturur ve stderr'yi ekler. fiekil
6'da bir ç›k›fl ak›fl›nda stdout ve stderr'nin nas›l birlefltirildi¤i gösterilmektedir.
fiekil 5
Z kabu¤una girifl
Genellikle stdout ve stderr'yi yakalamak istersiniz. Örne¤in, büyük bir
Modern UNIX kabuklar›n›n ço¤u -Bourne kabu¤u (bash) ve Korn kabu¤u
fiekil 6
fiekil 4. Dikey çubuklarla birbirine ba¤lanm›fl üç yard›mc› program›n kavramsal bir modeli
Stdin ve stdout'un kullan›lmas›na
ek olarak UNIX komutlar›, tan›lama
için ayr›lm›fl (uzlaflma ile; zorunlu de¤ildir) özel bir ç›k›fl noktas›na hata iletilerini gönderebilirler. Ç›k›fl noktas›na
standart hata ayg›t› (genellikle stderr)
denir. fiekil 3 içinde bir yard›mc› program›n çal›flt›r›ld›¤› basit bir komut sat›r›n› görebilirsiniz.
Ak›fl›n yönlendirilmesi
Ancak, stdin kayna¤›n› ve stdout
ve stderr'nin son hedeflerini de¤ifltirebilirsiniz. Stdin'i, verileri bir metin dosyas›ndan, bir ayg›ttan (bilgisayara
ba¤l› bir probe'dan) ya da bir a¤ ba¤lant›s›ndan okumaya zorlayabilirsiniz.
Benzer bir flekilde, ç›k›fl› bir dosyaya,
bir ayg›ta ya da bir ba¤lant›ya gönde-
fiekil 3. UNIX komutlar› hatalar› özel bir kanala gönderir, standart hata
sort komutu, standart girifl ayg›t›ndan yazd›¤›n›z üç sat›r› okur, bunlar›
s›ralar ve sonucu standart girifl ayg›t›na yazar. fiekil 1 içinde sort komutunun
ve ço¤u UNIX komut sat›r› yard›mc›
programlar›n›n komut sat›r›ndan çal›flt›r›lmas›na iliflkin kavramsal bir resim
sunulmufltur.
fiekil 1. Stdin'den okuyan ve stdout'a yazan tipik bir UNIX komut sat›r› yard›mc› program›
48 IBM ÖZGÜR YAZILIM
programlardan ve di¤er yard›mc›
programlar için veri tüketmek ve üretmek üzere yeniden yönlendirebilirsiniz. Dikey çubuk (|) karakterinin amac›
budur. Bir komutta, bir komutun verilerini sonraki komuta göndermek için,
bak›r boru parçalar›n›n suyu su ›s›t›c›n›zdan muslu¤unuza getirdi¤i gibi, dikey çubuklar› kullanarak siz de ifllemleri birbirine zincirleme ba¤layabilirsiniz.
rebilirsiniz. Her fleyin bir dosya oldu¤u UNIX'te, bir kayna¤› ya da hedefi
oluflturmak, baflka bir kayna¤› ya da
hedefi kald›rmak ya da oluflturmak kadar kolayd›r.
Bir ifllemin verilerinin kayna¤›n› ve
hedefini de¤ifltirmeye yeniden yönlendirme denir. Stdin'i, bir dosyadan ya
da baflka bir kaynaktan veri okumas›
ve stdout ve stderr'yi (ayr› olarak), verileri uçbirim penceresinden farkl› bir
yere yazmak için yeniden yönlendirebilirsiniz. Yukar›da gösterilen özgün
find komutu gibi birçok durumda, yard›mc› programlar› da di¤er yard›mc›
find komutunun stdout'u uniq komutunun stdin'i ve uniq komutunun
stdout'u sort komutunun stdin'i olur.
Son olarak, sort, sonuçlar› uçbirime
ba¤l› kalan standart ç›k›fl ayg›t›na yazd›r›r. Komutlar›n stderr'si yeniden
yönlendirilmez; bu nedenle, üç yard›mc› program da hata iletilerini uçbirime
yazd›r›r. (Üç yard›mc› program›n hata
iletileri kar›fl›k kullan›l›r, ancak iletilerin s›ras› do¤ru olur.)
Gerekirse, yukar›da gösterilen ard›fl›k ifllemi daha da geniflletebilir ve
uniq yard›mc› program›n›n ç›k›fl›n› baflka bir yard›mc› programa yeniden yönlendirebilirsiniz. Dönüfltürmeyi daha
da geniflletmek için yeni bir dikey çubuk eklemeniz yeterlidir. Örne¤in, less
yard›mc› program›n› kullanarak ç›k›fl›
sayfaland›rmak için | less ya da benzersiz dosya adlar›n›n say›s›n› bulmak
için | wc -l komutunu ekleyebilirsiniz.
(wc, sözcük say›s›n›n k›saltmas›d›r;
wc, karakterleri, sözcükleri ve sat›rlar›
sayabilir.)
Buna alternatif olarak, tüm s›ran›n
ç›k›fl›n› bir dosyaya kaydetmek için >
fiekil 5. Standart giriflin verileri bir dosyadan okuyacak flekilde yeniden yönlendirilmesi
fiekil 6. Standart girifl ve standart hata ayg›tlar›n›n birlefltirilmesi
IBM ÖZGÜR YAZILIM 49
Liste 6
(ksh) dahil -- burada belirtilen yeniden
yönlendirmeleri destekler, ancak bu
kabuklar›n her ikisi için gerekli özel
sözdizimi biraz farkl› olabilir. (Özellikler için kabuk belgelerinizi denetleyin.)
Yeniden yönlendirme iflleçlerinin
ço¤u, en az 25 y›ld›r tüm UNIX kabuklar›nda kullan›lan tutarl› özelliklerdir.
Ancak, bu kabuklar›n ço¤u yeniden
yönlendirme için yeni zemin oluflturma
ve yeniden yönlendirmeyi uygulama
aç›s›ndan yeni yollar keflfetme konusunda baflar›s›z olmufltur. Örne¤in, kabuklar›n ço¤u yaln›zca tek bir dosyan›n giriflini yeniden yönlendirebilir ve
ç›k›fl› birden çok hedefe yönlendirmek
için tee gibi bir yard›mc› program kullanman›z gerekir. (Tesisatç›lar›n kulland›¤› T ba¤lant› parças› gibi tee'nin
bir girifl ve iki ç›k›fl› vard›r.) Afla¤›da,
kabuk (komut sat›r› yorumcusu) olarak
bash kabu¤unun kullan›ld›¤› bir örnek
gösterilmifltir:
Z KABU⁄U
zsh% bash < tellme > log | mail -s "Who you are" 'whoami'
bash: line 4: systemname: command not found
zsh% <log
Your current login, working directory, and system are...
strike
/home/strike
stderr'sini, stdin'ini stdout'u ve dosya
günlü¤üne yazd›ran tee yard›mc› program›na ba¤lar. Peki, bash kabu¤unun
birden fazla girifl dosyas›n› ifllemesini isterseniz ne olacak? Belki de çal›flacak
tek çözüm cat file1 file2 file3 | bash olacakt›r; çünkü bash, bash < file1 < file2 < file3 gibi bir sözdizimini desteklemez.
Bununla birlikte, bash, ç›k›fl› birden
fazla hedefe yeniden yönlendirmez. Örne¤in, bash komut sat›r›ndan bighairyscript > ~/log | mail -s "Important stuff"
team gibi bir yönerge giremezsiniz.
BASH ÖRNE⁄‹
bash$ ls
Liste 5
tellme
bash$ cat tellme
echo Your current login, working directory, and system are...
whoami
pwd
systemname
bash$ bash < tellme |& tee log
Your current login and working directory are...
strike
/home/strike
bash: systemname: command not found
bash$ ls
tellme log
bash$ cat log
Your current login and working directory are
strike
/home/strike
komutunu çal›flt›r›r ve bu komutun sonucunu, sözcük grubunun yerine yerlefltirir. Komut sat›r›n›n geri kalan›n›
çal›flt›rmadan önce küçük bir kabuk
komutunu çal›flt›rmaya benzer.)
Önceki komutu soldan sa¤a do¤ru
gözden geçirelim. bash komutu, log
dosyas›n› oluflturur ve tellme içinde bulunan komutlar›n stdout'unu size postalar. Stderr, > ya da dikey çubuk karakteriyle yeniden yönlendirilmedi¤inden, hata iletileri stdout'a yazd›r›l›r.
<log komutu, baflka bir Z kabu¤u k›saltmas›d›r; cat ile ayn›d›r. (Ve evet, > file
komutu cat > file komutu ile ayn›d›r.)
Z kabu¤u birden çok girifl yeniden
yönlendirmesini de iflleyebilir. cat < file1 < file2 < file3 Z kabu¤u komut sat›r›, cat file1 file2 file3 ile ayn›d›r. Kuflkusuz, önceki sözdizimi ikincisinden daha hantald›r ve genellikle, birden çok
stdout yeniden yönlendirmesi daha s›k
kullan›l›r. Ancak, çal›flt›rmak istedi¤iniz yard›mc› program birden çok girifl
ba¤›ms›z de¤iflkenini kabul etmiyorsa,
Z kabu¤unun birden çok girifli yeniden
yönlendirmesi ifle yarayabilir.
Z kabu¤u, daha iyi globbing (genel
arama karakteri efllefltirmeleri), geliflmifl kal›p efllefltirmeleri ve komut sat›r›na yazman›z gerekenleri en alt düzeye indiren kapsaml› otomatik tamamlama sistemini de içeren di¤er yeni inceliklerle doludur. Bu dizinin sonraki
iki makalesinde Z kabu¤uyla ilgili daha
ayr›nt›l› bilgi verilecektir.
bash: systemname: command not found
Kabukla ilgili incelikler
UNIX kabuklar› yüksek oranda özellefltirilmifltir ve genellikle klavye ile etkileflimli bir flekilde kullan›l›r; ancak, bash
gibi bir kabuk da girifli bir dosyadan okuyabilir. (Sonuçta, stdin yaln›zca bir dosyad›r.) Önceki ufak parçada, bash < commands sözcük grubu, bash komutunun
tellme dosyas›nda buldu¤u komut listesini yürütmesini sa¤lar. |&tee log sözcük
grubu, bash komutunun stdout ve
50 IBM ÖZGÜR YAZILIM
Kesinlikle daha üretken bir flekilde
Ancak, nispeten yeni bir kabuk olan
çal›flman›z› sa¤layacak baz› güçlü koZ kabu¤u (zsh; bkz. Kaynaklar), ayn›
mut sat›r› birleflimlerini afla¤›da bulakomut sat›r›nda birden çok girifl ve ç›bilirsiniz. Komutlar yaln›zca zsh içinde
k›fl yeniden yönlendirmesini iflleyebilir.
de¤il tüm kabuklarda çal›fl›r.
Örne¤in, afla¤›da stdout'u log (günlük)
• tar ile herhangi bir dizininin simadl› bir dosyaya kaydeden ve bunu, egesel ba¤lant›lar› da içeren bire bir
posta ile size gönderen bir komut göskopyas›n› oluflturun:
terilmifltir: Liste 6.
('whoami' söztar cf - /path/to/original | \
cük grubu, whoami
(mkdir -p /path/to/copy; cd /path/to/copy; tar xvf -)
‹lk tar, /path/to/original dizinini arflivler ve stdout'a arfliv dosyas›n› gönderir; oluflturma (c) seçene¤iyle kullan›lan tire (-) iflareti stdout'u belirtir.
Parantez içindeki komut bir alt kabuktur: Alt kabuktaki komutlar, geçerli kabu¤un ortam›n› etkilemez. mkdir -p komutu, oluflturulmas› gereken ara dizinlerle birlikte adland›r›lan dizini oluflturur ve cd komutu yeni dizine geçilmesini sa¤lar. ‹kinci tar, stdin'den bir arflivi okur ve yerinde açar; ay›klama (x)
seçene¤iyle kullan›lan tire iflareti stdin'e baflvurur.
• Bir komut s›ras›n›n stdout'unu
kaydetmek ve ayn› zamanda görüntülemek için less -O file komutunu kullan›n. -O seçene¤i, stdin'i adland›r›lan file dosyas›na kopyalar. Afla¤›daki örne¤i inceleyin:
sort /etc/aliases | less -Osorted
• Bir dizinde binlerce dosya bulunuyorsa, kabu¤unuz (zsh dahil, dosyalar›n say›s›na ve adlar›na ba¤l› olarak)
tüm dosyalar› genel arama karakteri
efllefltirmelerini kullanarak numaraland›ramayabilir; çünkü, komut sat›r› genellikle belirli say›da karakterle s›n›rland›r›lm›flt›r. Bu nedenle,
foreach i (*)
...
end
gibi kabuk komut dosyas› sözcük
gruplar› baflar›s›z olabilir. (Komut sat›r›n›z›n uzunlu¤unu geçti¤inizde, Sat›r
uzunlu¤u afl›ld› gibi bir ileti görebilirsiniz.) Böyle bir hata ortaya ç›karsa, bir
dikey çubuk karakteri ve xargs yard›mc› program›n› kullan›n. xargs, verileri bir dikey çubuktan okur ve okunan
her bir sat›r için belirli bir komutu çal›flt›r›r.
Örne¤in, www.example.com sitesine baflvuran sunucunuzdaki tüm Web
sayfalar›n› bulmak için afla¤›daki komut sat›r›n› kullanabilirsiniz:
% find / -name '*html' -print \
| xargs grep -l 'www.example.com' \
| less -Opages
xargs, find komutundan dosya adlar›n› kullan›r ve her dosyay› ifllemek
için yeniden grep -l komutunu çal›flt›-
r›r; adland›r›lan dosyalar›n say›s›
önemli de¤ildir. (Bir eflleflme bulundu¤unda, grep -l dosyan›n ad›n› yazd›r›r
ve bu dosyada, daha fazla efllefltirme
yapmaz.) less, sonuçlar› sayfalara bölmenizi sa¤lar ve listeyi, ad› belirtilen
dosyan›n sayfalar›na kaydeder. Sonuçta, "www.example.com" dizesini içeren dosya adlar›ndan oluflan bir liste
ortaya ç›kar.
Yolculuk bafll›yor
Bu makalede, UNIX kabu¤unun temellerini ö¤rendiniz. Sonraki makalelerde, komut sat›r› araçlar› ve kendi
yönetiminizdeki teknikler daha ayr›nt›l› olarak incelenecektir. Dosya sistemlerinden tüm yerel a¤lara kadar, hemen hemen tüm bilgiler ve sistem yönetimi, UNIX komut sat›r›ndan verimli
bir flekilde kullan›labilir.
Bizi izlemeye devam edin!
Kaynaklar
Bilgi Edinme
• UNIX Dilinde Konuflma Bu dizinin
di¤er bölümlerini de inceleyin.
• zsh posta listesi arflivi: Z kabu¤u
incelikleri ve ipuçlar›yla ilgili daha fazla bilgi için bu listeyi okuyun.
• AIX ve UNIX: Daha ayr›nt›l› bilgi
ister misiniz? developerWorks AIX ve
UNIX alan›, bilgi içerikli yüzlerce makaleyi ve girifl düzeyindeki, orta ve ile-
ri düzeydeki ö¤reticiyi içerir.
• developerWorks teknik etkinlikler
ve web yay›nlar›: Güncel developerWorks teknik etkinliklerini ve web yay›nlar›n› izleyin.
• Podcasts: ‹lgili ayarlar› yap›n ve
IBM teknik uzmanlar›n›n bilgilerine
ulafl›n.
Ürün ve teknoloji edinme
• Z kabu¤u: Z kabu¤unun en son
sürümünü Z kabu¤u ana sayfas›ndan
yükleyin.
• IBM deneme yaz›l›m›: developerWorks'deki yaz›l›m› do¤rudan yükleyerek bir sonraki gelifltirme projenizi
oluflturun.
Tart›flma
• Zsh Wiki: ‹flbirli¤i yap›n, tart›fl›n
ve zsh deneyiminizi paylafl›n.
• AIX ve UNIX forumlar›na ve developerWorks Web günlüklerine kat›l›n
ve developerWorks toplulu¤unda yer
al›n.
Yazar hakk›nda
Martin Streicher, Linux Magazine adl›
dergide fief Editör'dür. Purdue
University'den bilgisayar bilimi konusunda
master derecesi alm›fl ve 1982 y›l›ndan bu
yana UNIX benzeri sistemlerde Pascal, C,
Perl, Java ve (en son) Ruby programlama
dillerinde programlama yapmaktad›r.
IBM ÖZGÜR YAZILIM 51
Yeni uygulamalara
bir göz at›n!
Bu say›m›zda yer alan Freshmeat köflemizde, her
say›m›zda oldu¤u gibi yine en taze ve en yeni
uygulamalar› görücüye ç›kar›yoruz. Sizlere önerimiz
üflenmeyin ve tan›t›m yaz›lar›n›n hemen alt›nda yer
alan web sayfas› linklerine t›klayarak uygulamalara bir
göz at›n. Mutlaka sizin de ilginiz çekecek ve e¤lenceli
bulaca¤›n›z bir uygulama olacakt›r. Bundan sonraki
say›larda da sizlerin karfl›s›na en yeni uygulamalarla
ç›kmaya devam edece¤iz.
BitlBee 1.2.2
TrueCrypt
amigadepacker 0.04
eSpeak 1.38
BitlBee IRC sunucusu emüle ederek, herhangi bir ORC istemcisi ile MSN, ICQ, Jabber, Yahoo!, AIM a¤lar›na ba¤lanman›z› sa¤l›yor. Sana bir irc kanal›na listenizdeki tüm arkadafllar›n›z›n eklenmesi ile grup sohbetleri ve
özel sohbetler yapman›za olanak sa¤lan›yor.
http://freshmeat.net/projects/bitlbee/
An›nda disk flifreleme arac›d›r. TruerCrypt ile bir
disk bölümünü flifreleyebilir ya da bir dosya ile sanal
flifreli disk oluflturabilir ve bunu gerçek bir disk gibi
sisteminize ba¤layabilirsiniz. Yaz›l›m›n MacOS X ve
Windows sürümleri var.
http://freshmeat.net/projects/truecrypt/
Amiga ortam›nda oluflturdu¤unuz arfliv dosyalar›n›z› hala
sakl›yor musunuz? ‹flte bu dosyalara ulaflmak için bir araç.
Amigadepacker, AmigaOS ortam›nda kullan›lan PowerPacker,
XPK SQSH, MMCMP, StoneCracker 4.04 formatlar›n› ve PowerPacker ile flifrelenmifl dosyalar› destekliyor.
http://freshmeat.net/projects/amigadepacker/
eSpeak, metinden konuflma üreten bir araç. Herhangi
bir metin dosyas›n›, seçece¤iniz bir dile uygun olarak
okuyan araç, komut sat›r› kullan›m›na ve di¤er
sistemlere alternatif olarak kullan›ma uygun. Türkçe
deste¤i kabul edilebilir düzeyde.
http://freshmeat.net/projects/espeak/
52 IBM ÖZGÜR YAZILIM
IBM ÖZGÜR YAZILIM 53
Florence
Florence, GNOME için tasarlanm›fl,
sanal bir klavyedir. Klavye kullanmakta
zorluk çekip ancak iflaretleme arac›
kullanabilenler için birebir.
http://freshmeat.net/projects/florence/
Gammu
Cep telefonu ve modemi yönetmeye
yarayan Gammu birçok markay›
destekliyor. Telefonunuzun melodi,
telefon rehberi, SMS, logo, WAP,
tarih/zaman, alarm, aramalar ve
daha birçok özelli¤ini yönetebilir,
yedeklerini alabilirsiniz. E¤er bunun
için bir arayüz iyi olurdu diyorsan›z
Wammu'yu (http://freshmeat.net/
projects/wammu/) deneyin.
http://freshmeat.net/projects/gammu/
Fotoxx 5.1
Eclim 1.4.1
Vim editörüne Eclipse özelliklerini tafl›may› sa¤layan bir eclipse ve vim eklentileri bütünü. Eclim, Eclipse özellikleri bir sunucu arayüzünden sunuyor ve vim'in baz› eklentiler sayesinde bu arayüz üzerinden Eclipse ile iletiflime geçmesini sa¤l›yor. Vazgeçemedi¤inizi editörünüzde, Eclipse özelliklerine ulaflabilmek için mutlaka deneyin.
http://freshmeat.net/projects/eclim/
FET 5.6.3
FET (özgür zaman çizelgesi arac›) zaman çizelgelerini otomatik
olarak oluflturur. Pahal› yaz›l›mlara alternatif olma iddias›ndaki
yaz›l›m Türkçe de destekliyor.
Fotoxx dijital foto¤raflar› gelifltirmeyi
sa¤l›yor. Parlak ve karanl›k foto¤raflar›
birlefltirerek, karanl›k ve parlak
alanlardaki detaylar› gelifltirmek,
panorama oluflturmak, k›z›m›z›
göz temizlemek, keskinlefltirmek,
boyutland›rmak baflar›yla yapt›¤›
ifller aras›nda.
http://freshmeat.net/projects/fotoxx/
bbJewel 1.0
bbJewel seçece¤iniz MP3 dosyalar›
için PDF format›nda cd kapa¤›
oluflturur. Bunu yaparken dosyalardan
ald›¤› bilgileri ve bulabilirse kapak
resimlerini kullan›yor.
http://freshmeat.net/projects/
bbjewel/
Mosait 0.4
Mosait bir resim veritaban›
ile mosaik resim oluflturmay› sa¤layan bir yaz›l›m.
http://freshmeat.net/projects/mosait/
DeVeDe 3.11
DeVeDe Python, MPlayer,
Mencoder, DVDAuthor,
VCDImager, mkisofs kullanarak
hemen hemen tüm
videolar›n›zdan kolayca DVD
yapman›z› sa¤l›yor.
http://freshmeat.net/projects/devede/
54 IBM ÖZGÜR YAZILIM
http://freshmeat.net/projects/fet/
IBM ÖZGÜR YAZILIM 55
Daha çok de¤il, daha ak›ll› çal›flma
Kabuk k›sayollar›, daha az ifl yap›p
zamandan tasarruf etmenizi sa¤lar
Düzey: Orta
Martin Streicher ([email protected]), fief Editör, Linux Magazine
UNIX® kabu¤unun sa¤lad›¤›
birçok k›sayoldan nas›l yararlanaca¤›n›z› ö¤renin. Birkaç al›flt›rmayla, daha çok de¤il, daha ak›ll› çal›flacaks›n›z.
Beceri gerektiren her iflin kendi
s›rlar› vard›r -- bunlar, en karmafl›k
görevi bile kolaylaflt›ran küçük incelikler, teknikler ve araçlard›r. Örne¤in, komflum usta bir marangoz.
Ç›plak gözle aç›lar› büyük bir do¤rulukla ölçüp aktarabiliyor, köfleleri
kesintisiz olarak birlefltirebiliyor ve
iflçili¤i yerel gazetelerde be¤eni
toplad›.
Ancak, daha da önemlisi (en
az›ndan - ifli bilmeyen ve her an bafl›na bir kaza gelebilecek bir kifli olarak - benim için) komflumun çal›flmas›ndaki rahatl›k. ‹flinde geçirdi¤i
20 y›ldan sonra, ustalaflmad›¤› hiçbir k›sayol yok. K›sayollar buradan
biraz zaman, fluradan biraz iflçilik
kaç inceli¤i bilerek ve birkaç arac›
kullanarak büyük miktarda zaman
ve çabadan tasarruf edilebilir. UNIX
Dilinde Konuflma dizisinin ilk yaz›s›nda UNIX komut sat›r›n›n gücünü
tan›tm›flt›k. Bu makalede, kabuk komut istemindeki ustal›¤›n›z› art›racak baz› ifle yarar kabuk k›sayollar›
gösterilecektir.
Parmaklar›n›z› yormay›n, biraz
dinlendirin
Bölüm 1'de gösterildi¤i gibi UNIX
komut sat›r›n›n gücü benzersizdir.
Birkaç tuflla ve biraz sözdizimsel
birlefltirici (glue) ile (dikey çubuklar› (|), tee ve yeniden yönlendirme
dahil), her bir kabuk komut isteminde kendi do¤açlama veri dönüfltürmelerinizi oluflturabilirsiniz.
Örne¤in, afla¤›daki komut, ana
dizininizdeki, Ayl›k Rapor sözcüklerini içeren tüm metin belgelerini
bulur:
$ find /home/joe -type f -name '*.txt' -print | xargs grep -l "Aylık Rapor"
tasarrufu yap›lmas›n› sa¤lar. Kesim,
çivilerin çak›lmas› ve çerçevenin
oluflturulmas› gibi tekrarlanan görevlerde, bu küçük tasarruflar gerçekten de fark yarat›r.
Programc›lar›n, sistem yöneticilerinin ve UNIX® ile profesyonel
olarak u¤raflan di¤er bilgisayar çal›flanlar›n›n kendi özel araçlar› vard›r:
• CPU'lar
• RAM
• ‹flletim sistemleri
• Uygulamalar
• Kabuk
Deneyimli bir marangoz gibi bir-
56 IBM ÖZGÜR YAZILIM
Komut, .txt sonekli tüm düzenli
dosyalar› bulmak için (-type f) tüm
ana dizininizde (find /home/joe)
arama yapar ve daha sonra, Ayl›k
Rapor dizesini aramak için grep komutunu çal›flt›r›r. -l seçene¤i, bir eflleflme bulunursa dosyan›n ad›n›
yazd›r›r. Bu nedenle, komutun ç›k›fl›
eflleflen dosyalar›n bir listesidir.
Yukar›daki komut oldukça yararl›d›r; bununla birlikte, komutu
hat›rlamak ve düzenli kullan›yorsan›z, yeniden yazmak güçtür. Dahas›,
e-posta, dosyalar, araçlar (düzenleyiciler, derleyiciler, izleme prog-
IBM ÖZGÜR YAZILIM 57
ramlar› gibi) ve uzak sistemler için birincil arabiriminiz komut sat›r› oldu¤unda, komut sat›r›nda tasarruf edebilece¤iniz her an ve her çaba, yapmakta oldu¤unuz görevde daha iyi bir flekilde harcanabilir. Sonuçta, bir saniyenin bin küçük parças› da toplamda fark
yarat›r.
Yinelenen görevleri azaltmak için
UNIX kabu¤u çeflitli yard›mc› k›sayollar sa¤lar:
• ‹flaretler
• Genel arama karakterleri
• Komut geçmifli
• Ortam de¤iflkenleri
• Di¤er adlar
• Bafllang›ç dosyalar›
Örne¤in, ana dizininizi ~ (tilde) iflaretiyle belirtebilirsiniz. Liste 1 içinde
gösterilen flekilde $HOME ortam de¤iflkenini kullanarak ana dizininize de
baflvurabilirsiniz.
Liste 1
UNIX KABU⁄U
KISAYOLLARI
$ whoami
strike
$ echo ~
/Users/strike
$ echo $HOME
/Users/strike
Kabuk iflaretleri
Birçok komut sat›r› ba¤›ms›z de¤iflkeni o kadar s›k kullan›l›r ki, kabuklar k›saltma olarak birtak›m iflaretler
(sigils) ya da simgeler sa¤lar. Ba¤›ms›z de¤iflken yerine iflareti girmeniz
yeterlidir.
Yukar›da belirtildi¤i gibi ~, ana dizinizi belirtir. Benzer bir k›sayol olan
~username, kullan›c› ad›n›z›n ana dizinini belirtir. Örne¤in, ~joe, joe'nun ana
dizinini belirtir. Dolay›s›yla, joe'nun
doc dizininden kendi info dizininize bir
dosya kopyalamak için afla¤›daki komutu yazabilirsiniz:
$ cp ~joe/doc/report.txt ~/info
Joe'nun ana dizinin /guests dizininde ve sizin ana dizininizin
/staff/bobr dizininde oldu¤unu düflünürsek, ~joe, /guests/joe ile de¤ifltirilir
ve ~ karakteri, /staff/bobr olarak sonuçta cp /guests/joe/doc/report.txt
/staff/bobr/info komutunu oluflturur.
(Komut sat›r›n›n nas›l önizlenece¤ine
iliflkin bilgileri görüntülemek için kenar
çubu¤unda "Çal›flman›z›n sa¤lamas›n›
yapma" konusuna bak›n.)
sayol olan .. (iki nokta) iflaretidir. .. ve
geçerli çal›flma dizinine iliflkin iflaret
olan . iflaretiyle, dosya sistemindeki
dosyalara ve dizinleri geçerli çal›flma
dizininize göre belirtebilirsiniz.
Örne¤in, geçerli çal›flma dizininiz
~/jane/projects/lambda diziniyse, ../..
k›sayolu iki üst dizin ya da ~/jane dizinini belirtir. ~/jane dizinini içeren dizine baflvuruda bulunmak için ../../../
("üç dizin yukar›") ya da ~jane/../ yolunu kullanabilirsiniz. ‹kinci yol, ~jane dizininden bafllanaca¤›n› ve bir dizin yukar› ç›k›laca¤›n› belirtir.
Geçerli dizininize bir dosya kopyalamak için dosyan›n ad›n› belirtmenize
gerek yoktur; dosyay› yaln›zca . ("nokta") ile belirtebilirsiniz:
$ cp -pr /path/to/lots/of/stuff .
Önceki komut özyinelemeli olarak
/path/to/lots/of/stuff dizinini geçerli
dizininize kopyalarken özgün tarih ve
saat damgalar›n› da korur. .. ve . karakterlerinin belirtti¤i yol adlar›na göreli
yol adlar› denir. Bir / (sa¤a e¤ik çizgi)
ya da bir ~ (tilde) karakteriyle baflla-
Çal›flman›z›n sa¤lamas›n› yapma Komut sat›r› iflaretlerinin
aç›l›mlar›n› görmek istiyorsan›z echo komutunu kullan›n:
$ echo ~joe/doc/report.txt ~/info
/guests/joe/doc/report.txt /staff/bobr/info
lunmak için kullan›lan baflka bir k›sayol
biçimidir.
Örne¤in, bir dizininizin içinde 100
dosyan›n bulundu¤unu varsay›n. Bunlardan baz›lar› .c sonekiyle biten C
kaynak kodu dosyalar›, di¤erleri, .o sonekiyle biten nesne dosyalar› ve bir
k›sm› da metin belgeleri (.txt), komut
dosyalar› (.sh) ve yürütülebilir dosyalard›r (yürütme izni olan dosyalar).
Yaln›zca C dosyalar›n› listelemek için
afla¤›dakini yaz›n:
echo $HOME
/Users/strike
Son komut olan !! (iki ünlem iflareti) biraz garip görünebilir, ancak bu,
önceki komutu harfi harfine yineleyen bir komut geçmifli iflaretidir. (Birçok kabuk yukar› ok tuflunu kullanarak ya da Control+P tufllar›na basarak önceki komutlara göz atman›za
olanak tan›r.)
Her bir kabuk k›sayolu türüne daha
ayr›nt›l› bir flekilde bakal›m. Bu makale, genellikle /bin/zsh dizinine kurulan
Z kabu¤una dayan›r (zsh -- bkz. Kaynaklar). (Sisteminizde Z kabu¤u yoksa,
sistem yöneticinizden kabu¤u kurmas›n› isteyin.) Z kabu¤una özgü birkaç
özellik vard›r; bunlar d›fl›nda, burada
gösterilen tüm örnekler tüm modern
UNIX kabuklar›nda çal›fl›r.
58 IBM ÖZGÜR YAZILIM
$ ls
architecture.txt
services.txt
* genel arama karakteri (genellikle
asterisk yerine y›ld›z denir), herhangi
bir karakter dizisini efllefltir anlam›na
gelir. .c dosya ad› uzant›s›, yaln›zca
bir nokta iflaretini izleyen küçük c harfiyle eflleflen tam bir kal›pt›r. Bu nedenle, *.c, bir nokta ve küçük c harfi
ile biten herhangi bir karakter dizisi
anlam›na gelir. *.c belirtildi¤inde, kabuk geçerli dizine (önünde bir mutlak
ya da göreli yol ad› belirtmezseniz)
bakar, kal›pla eflleflen her dosya ad›n›
bulur, *.c'yi ad listesine geniflletir ve
listeyi ls komutunun ba¤›ms›z de¤iflkenleri olarak geçirir.
Liste 2'de komut sat›r› karfl›dan
yükleme yard›mc› program› olan wget
kaynak koduna dayal› *.c kullan›m›
gösterilmektedir.
$ echo */**/Makefile
doc/Makefile po/Makefile
src/Makefile util/Makefile
windows/Makefile
B‹R D‹Z‹NDEK‹ C
KAYNAK KODU
DOSYALARINI BULMAK
‹Ç‹N GENEL ARAMA
KARAKTERLER‹N‹
KULLANIN
Services.pdf
Schema.pdf
$ echo *.txt
architecture.txt services.txt
$ ls *.c
alloca.c
ansi2knr.c
cmpt.c
echo komutu, komut sat›r›na yazd›klar›n›z› gösterir. Ancak, kabuk herhangi bir program› ça¤›rmadan önce
(ço¤u) komut sat›r› ba¤›ms›z de¤iflkenini açt›¤›ndan, tüm ikame karakterlerinden de sonuçlar›n› gösterir. (Kabuk
ortam› de¤iflkeni $SHELL, çal›flmakta
olan kabu¤un ad›n› içerir.)
Baflka bir de¤erli iflaret de, geçerli
dizinin hemen üstündeki dizin için k›-
yan yol adlar› mutlak yol adlar›d›r; bunun nedeni, dosyaya dosya sisteminin
ya da bir dizin hiyerarflisinin en üstünden baflvuruda bulunman›zd›r.
Genel arama karakterleri ve
kal›plar
‹flaretlerle yazma süresini azalt›r
ve belirli bir dizini h›zl› ve kesin olarak
belirtebilirsiniz. Genel arama karakterleri, bir dizinin içeri¤ine baflvuruda bu-
$ echo **/Makefile
Makefile doc/Makefile po/Makefile
src/Makefile util/Makefile
windows/Makefile
Geçerli çal›flma dizinini içermek istemiyorsan›z, afla¤›daki örnekte gösterilen flekilde yaln›zca */**/ yaz›n:
Liste 2
/bin/zsh
Z kabu¤unda birkaç tane benzersiz ve harika glob iflleci vard›r. Göze çarpan
birkaç tanesi flunlard›r:
**/ glob iflleci, afla¤›daki tüm dizinleri açar ve geçerli çal›flma dizinini içerir.
**/ ifllecini, yerleflik find komutu olarak düflünebilirsiniz. Yeniden wget kaynak
koduna bakarsak, komutla tüm Makefile'lar› bulabilirsiniz:
$ ls *.c
$ !!
$ echo $SHELL
Z kabu¤u glob'lar›
connect.c
convert.c
Baflka bir yararl› Z kabu¤u glob iflleci, dosya tiplerini efllefltirir. Önceki gibi
bir kal›p sa¤lay›n, ancak düzenli dosyalar için (.), dizinler için (/), yürütülebilir
dosyalar için (*) ya da simgesel ba¤lant›lar için (@) karakterini ekleyin:
$ ls -d -F *(/)
ChangeLog-branches/ doc/ po/ src/ util/ windows/
Z kabu¤u, (/) ifadesi için de bir k›sayol sa¤lar. Sonuçlar› dizinlerle s›n›rland›rmak için kal›b› bir sa¤a e¤ik çizgiyle sona erdirin:
$ ls -d */
ChangeLog-branches/ doc/ po/ src/ util/ windows/
• * (y›ld›z) glob'u, herhangi bir karakter ya da bofl bir s›ray› da içeren
karakter s›ras›n› efllefltirir.
• ? (soru iflareti) glob'u herhangi
bir tek karakteri efllefltirir.
• [ ] (köfleli parantez) glob'u önü ve
arkas› kapat›lm›fl karakterleri efllefltirir. Parantez içinde - (tire) iflaretini
kullanarak bir karakter aral›¤›n› belirtebilirsiniz; örne¤in, [a-z] ya da tüm
küçük harfler.
(Z kabu¤u benzersiz birçok glob ifllecine sahiptir. Ek bilgi için kenar çubu¤unda Z kabu¤u glob'lar›na bak›n.)
Gerekti¤inde glob iflleçlerini yineleyebilirsiniz. Liste 3 içinde ek örnekler
sa¤lanm›flt›r.
...
Liste 3 (Arka Sayfada)
Bir genel arama karakterini eflleflen dosya adlar› listesine geniflletme
ifllemine globbing denir ve UNIX kabuklar›n›n, arad›¤›n›z fleyi ifade etmenize yard›mc› olacak çeflitli globbing
iflleçleri (sözde glob'lar) vard›r:
Liste 3 içinde Komut 1, uzun bir listede . (nokta) ile bafllayan girifllerin de
içinde bulundu¤u dizindeki tüm giriflleri gösterir. (-a seçene¤i, sözde nokta
dosyalar›n› gösterir; -1 seçene¤i, bir
sütundaki her fleyi listeler ve -F seçene¤i, dizinleri / (sa¤a e¤ik çizgi) ile ve
yürütülebilir dosyalar› * (y›ld›z) iflareti
ile vurgular.)
Komut 2, ad› bir nokta ile bafllayan
(.*) her bir girifli bulur. Üçüncü komut
yaln›zca soneki bir harften oluflan ö¤eleri bulur.
Dördüncü komut yaln›zca dört karakterin ard›ndan bir nokta ve bir karakterin geldi¤i ö¤eleri bulur. Son olarak Komut 5, küçük a, küçük b ya da
küçük c ile bafllayan ve ard›ndan s›ras›yla en az bir harf, herhangi bir karakter, bir nokta ve daha sonra herhangi
bir sonek gelen ö¤eleri bulur. Görebilece¤iniz gibi gerekti¤inde glob iflleçlerini yineleyebilirsiniz.
Dolay›s›yla, ls *.z komutu hangi sonuçlar› getirirdi (böyle dosyalar›n olmad›¤›n› düflünürsek)? Yararl› bir hata
iletisi görüntülenirdi:
$ ls *.z
zsh: no matches found: *.z
Biraz komut geçmifli
fiimdiye kadar yollar› nas›l belirtece¤inizi ve dosyalar› nas›l seçece¤inizi
IBM ÖZGÜR YAZILIM 59
Liste 3
GENEL ARAMA
KARAKTER‹ ÖRNEKLER‹
2 $ ls -a -F .*
./lib
3 $ ls -1 *.?
alloca.c
ansi2knr.c
cmpt.c
cmpt.o
config.h
connect.c
connect.h
connect.o
convert.c
convert.h
convert.o
...
4 $ ls -1 ????.?
cmpt.c
cmpt.o
5 $ ls [a-c]?*.*
alloca.c
ansi2knr.c
cmpt.c
cmpt.o
config.h
config.h.in
connect.c
connect.h
connect.o
convert.c
convert.h
convert.o
cookies.c
cookies.h
cookies.o
60 IBM ÖZGÜR YAZILIM
$ HISTSIZE=500
$ SAVEHIST=500
Burada komutlar, hem kabu¤un
hem de devam eden geçmifl dosyas›n›n
son 500 komutu içermesi gerekti¤ini
belirtir. (Varsay›lan de¤er olarak Z kabu¤u yaln›zca son 30 komutu kaydeder.) Komut geçmifllerini almaya ve
devam ettirmeye iliflkin bilgiler için kabu¤unuzun belgelerine bak›n.
Kabukla bir süre çal›flt›ktan sonra
yaln›zca history yazarak komut geçmiflinizi görüntüleyebilirsiniz:
$ history
...
781 /bin/ls
782 /bin/ls
783 /bin/ls
784 /bin/ls
785 /bin/ls
-d
-F
-d
-d
-d
*/
*(/)
-F *(/)
-F */
*/
Çal›flt›rd›¤›n›z her bir komuta s›ral›
bir say›sal tan›t›c› atan›r. Bir komutun
tamam›na ya da her bir komutun parçalar›na baflvurmak için bu tan›t›c›y›
(örne¤in, 782) kullan›rs›n›z. Bir komutun ayn›s›n› yeniden çal›flt›rmak için !
(ünlem iflareti) karakterini ve ard›ndan
komutun numaras›n› yaz›n:
$ !785
ChangeLog-branches/ doc/ po/ src/ util/
windows/
Geçmiflte girilmifl bir komuttaki belirli bir ba¤›ms›z de¤iflkeni istiyorsan›z,
komuta bir ! (ünlem iflareti) ile baflvurun ve :N de¤erini sa¤lay›n; burada 0
komut ad›n›, 1 ilk ba¤›ms›z de¤iflkeni,
vb. belirtir. Örne¤in, geçmifl günlü¤ündeki 782 numaral› komutun ikinci ba-
¤›ms›z de¤iflkenini ay›klamak için Liste
4 içinde gösterilen kodu yaz›n.
Liste 4
782 NUMARALI
KOMUTTAN ‹K‹NC‹ BA⁄IMSIZ
DE⁄‹fiKEN‹N AYIKLANMASI
$ echo !782:2
echo *(/)
ChangeLog-branches doc po src util windows
$ ls AUTHORS COPYING INSTALL MACHINES
AUTHORS COPYING INSTALL
MACHINES
history -2 komutu, önceki iki komutu görüntüler. K›sayol olarak bir
komutun ilk ba¤›ms›z de¤iflkenine
(komut ad›n›n kendisine de¤il) ^
(flapka) ve geçmiflte girilen bir komutunun son ba¤›ms›z de¤iflkenine $
(dolar iflareti) karakteri ile baflvurabilirsiniz. Bir ba¤›ms›z de¤iflken aral›¤›na, Liste 5 içinde gösterilen bir
aral›k gösterimini kullanarak da baflvurabilirsiniz.
$ history -2
788 ls AUTHORS COPYING INSTALL MACHINES
789 echo INSTALL
$ echo !788^
echo AUTHORS
AUTHORS
$ echo !788$
$ echo AUTHORS COPYING INSTALL MACHINES
AUTHORS COPYING INSTALL MACHINES
$ echo !!:1-2
echo AUTHORS COPYING
AUTHORS COPYING
Geçmiflteki komutlar› geri ça¤›rmak için baflka do¤rudan yöntemler
de vard›r. Bunlardan biri komutu aramakt›r:
$ ls I*
echo MACHINES
MACHINES
Ortam de¤iflkenleri
Komut sat›r›n› ak›c› bir flekilde kullanmak önemli bir UNIX becerisidir. UNIX
dilini konuflma kabuk isteminde bitmez - say›s›z UNIX yard›mc› program›yla da
iletiflim kurman›z gerekir. UNIX'te, ortam de¤iflkenleri kabu¤unuzun ayarlar›n›
tutar ve komut sat›r›ndan bafllatt›¤›n›z
her bir yard›mc› program›n tercihlerinizle bafllat›lmas›na olanak tan›r.
Baz› ortam de¤iflkenleri (bunlara kabuk de¤iflkenleri denir), davran›fl›n› denetlemek için yaln›zca kabu¤unuz taraf›ndan kullan›l›r. Örne¤in, Z kabu¤u yukar›da gösterildi¤i gibi komut geçmifllerini
yönetmek için $HISTSIZE ve $SAVEHIST de¤iflkenlerini kullan›r. Kabuk de¤iflkenlerini ayarlar gibi düflünebilirsiniz.
Di¤er ortam de¤iflkenleri d›fla aktar›l›r ya da genel olarak kullan›labilir k›l›n›r ve komut sat›r›ndan bafllatt›¤›n›z
her komutun ifllem alan›na (ortam) kopyalan›r. Örne¤in, $HOME, ana dizinini-
Liste 5
ARALIK GÖSTER‹M‹
$ echo !!:3
echo INSTALL
!?M yap›s›, bir büyük M harfi içeren
en son geçmifl komut sat›r›n› arar.
$ ls M*
$ echo !?M
ls INSTALL
ORTAM DE⁄‹fiKENLER‹N‹N GÖRÜNTÜLENMES‹
$ printenv
PATH=/Users/strike/bin:/Applications/xampp/xamppfiles/bin:/Users/strike/bin:/usr/bin:/
bin:/usr/sbin:/sbin
HOME=/Users/strike
SHELL=/bin/zsh
USER=strike
TERM=xterm-color
LOGNAME=strike
SHLVL=1
PWD=/Local/src/versions/wget/wget-1.9
OLDPWD=/Local/src/versions/wget/wget-1.9/src
PERL5LIB=/Applications/xampp/xamppfiles/lib/perl5/site_perl/5.8.7:/Projects/IGSP/src
CLICOLOR=true
MANPATH=/Local/root/share/man:/usr/share/man:/opt/local/share/man
INFOPATH=/opt/local/share/info
LESS=-n
Liste 6
1 $ ls -1 -a -F
./libs
ChangeLog
ChangeLog-branches/
Makefile
Makefile.in
alloca.c
ansi2knr.c
cmpt.c
cmpt.o
config.h
config.h.in
connect.c
connect.h
connect.o
convert.c
convert.h
convert.o
...
wget*
gördünüz. Komut sat›r›nda kendinizi
ifade edebilirsiniz. Ancak, tüm komut
sat›rlar› k›sa ve güzel olsa bile, ayn›
fleyi sürekli olarak yeniden yazmaktan
yorulma olas›l›¤›n›z yine de vard›r.
Özellikle, birçok seçene¤in bulundu¤u
ya da de¤iflkenlerin s›ras›n›n belirli bir
flekilde olmas› gereken uzun, karmafl›k
komut sat›rlar› yazmaktan yorulabilirsiniz. Neyse ki ço¤u kabuk, önceki komutlara iliflkin bir geçmifl sa¤lar. Bir
komutu yeniden çal›flt›rmak için yaln›zca geçmifl listesindeki giriflini bulun
ve yeniden çal›flt›r›n. Kabu¤un di¤er k›s›mlar› gibi k›sayollar burada da h›zl›
ve kolay baflvurular yapman›z› sa¤lar.
Z kabu¤unda komut geçmiflini etkinlefltirmek için afla¤›dakileri yaz›n:
zin konum bilgilerini saklayan özel bir
ortam de¤iflkenidir. UNIX oturum açma
s›ras›, $HOME de¤iflkenini (ve di¤er ortam de¤iflkenlerini) ayarlar ve daha
sonra, kabu¤unuzu bafllat›r. Kabu¤unuz
da tüm kabuk bafllatma dosyalar›n› bulmak için $HOME de¤iflkenini kullan›r.
SSH ve FTP gibi bafllatt›¤›n›z di¤er uygulamalar, .netrc dosyan›z› (gizli, uzaktan eriflim parolalar›n› saklamak için
kullan›l›r) bulmak için $HOME de¤iflkenine baflvurur. Baz› ortam de¤iflkenlerini -- $HOME, $PATH ve $SHELL gibi -her uygulama kullan›r. Di¤er ortam de¤iflkenleri bir uygulamaya özel olabilir.
Geçerli tüm ortam de¤iflkenlerinizi
görmek için Liste 6'da gösterilen flekilde printenv yaz›n. (Sistem yöneticinizin sisteminizi yap›land›rmas›na ba¤l›
olarak burada gösterilenlerden çok daha fazla ya da çok daha az ortam de¤iflkeniniz olabilir.)
Liste 6
Bu de¤iflkenlerin birço¤unu tan›yabilirsiniz; di¤erleri yeni olabilir. Kabuk
IBM ÖZGÜR YAZILIM 61
Liste 8
Liste 9
B‹R ORTAM DE⁄‹fiKEN‹N‹N
KALDIRILMASI
düzeyi ($SHLVL), kaç kabuk derinde
oldu¤unuzu gösterir. 1 bir oturum açma
kabu¤unu; 2 oturum açma kabu¤unuzdan baflka bir kabuk bafllatt›¤›n›z› gösterir, vb. Her bir ard›fl›k, iç içe geçmifl
kabu¤a iliflkin isteminizi de¤ifltirmek
için $SHLVL de¤erini kullanabilirsiniz.
$TERM, uçbirim (uçbirim öykünme
program› olabilir) ayarlar›n›z› gösterir - bas›lan tufllar›n do¤ru yorumlanmas›n›n yan› s›ra metin ve renklerin do¤ru
biçimde görüntülenmesini sa¤lama aç›s›ndan önemlidir. $PWD geçerli çal›flma
dizininiz, $OLDPWD ise önceki çal›flma
dizininizdir. ‹ki dizin aras›nda h›zl› bir
flekilde ileri ve geri gitmek için her iki
de¤iflkeni de Liste 7'de gösterildi¤i gibi
kullanabilirsiniz.
Liste 7
D‹Z‹NLER ARASINDA
GENjfi YAPMA
$ echo $PWD
/Users/strike
$ echo $OLDPWD
/Local/src/versions/wget/wget-1.9
$ echo $PWD
/Local/src/versions/wget/wget-1.9
$ echo $OLDPWD
/Users/strike
$ MYVARIABLE=$HOME/projectX
$ export TMPDIR=/tmp/projectX
Birinci komut $MYVARIABLE adl›
bir kabuk de¤iflkeni ayarlar. (Önündeki
dolar iflareti kabuk komut istemidir.
62 IBM ÖZGÜR YAZILIM
Di¤er adlar ve bafllang›ç dosyalar›
Önceki bölümlere bak›p komut sat›r›na ne kadar çok girifl yapman›z gerekti¤i konusunda endiflelenmifl olabilirsiniz. Evet, ö¤renilecek çok fley var -- bunun nedeni, kabuk ortam›n›n çok zengin
olmas›d›r. Ancak yine de büyük gücün
büyük bir üretkenlik sa¤layaca¤›n›
unutmay›n. UNIX kabuklar›, bas›lan tufl
say›s›n› azaltmak için di¤er adlar ve
yapt›¤›n›z tüm ayarlar› saklamak için
bafllatma dosyalar› sa¤lar. Di¤er adlar,
oluflturdu¤unuz k›sayollard›r. Bafllatma
dosyalar›, kabu¤unuz her bafllat›ld›¤›nda okunur ve kabuk de¤iflkenleri (seçenekler), ortam de¤iflkenleri ve di¤er adlar gibi tüm kabuk ayarlar›n›z› saklamak
(ve paylaflmak) için en uygun yerdir.
Di¤er ad, daha uzun bir komut yerine kulland›¤›n›z k›sa bir karakter dizisidir. Di¤er ad›, bir komut sat›r›n›n takma ad› olarak düflünebilirsiniz. Afla¤›dakini yazmak yerine:
$ set
HOME=/Users/strike
....
Her bir di¤er ad, tek t›rnak iflaretleri içine yerlefltirilmelidir. Di¤er ad›n
içinde t›rnak iflaretlerinin bulunmas›
gerekiyorsa, çift t›rnak iflaretlerini kullan›n. Z kabu¤u di¤er adlar›, de¤iflkenler, dikey çubuklar, yeniden yönlendirme, di¤er adlar ve di¤er kabuk ifllenenleri gibi birçok temel kabuk ö¤esini
içerebilir (bkz. Liste 9).
Liste 9
ll di¤er ad›, /bin/ls yoluna baflvurur
-- mutlak yollar›n yerine hiçbir zaman
di¤er adlar kullan›lmaz.
ll yazd›¤›n›zda, bunun yerini di¤er
ad› al›r ve kalan komut sat›r› ba¤›ms›z
de¤iflkenleri sona eklenir. Bu nedenle,
ll -d 2002*, gerçekte /bin/ls -l -d
2002* komutudur. lt di¤er ad›, ll di¤er
ad›n› belirtir ve oluflturma tarihine göre s›ralama yapmak için -t iflaretini ekler. lt di¤er ad›n›n aç›l›m› /bin/ls -l -t d 2002* komutudur. m di¤er ad› bir dikey çubuk içerir. snap di¤er ad›, bir komutun ç›k›fl›n› bir dosyaya eklemek
için yeniden yönlendirmeyi kullan›r.
Kabu¤unuzdaki ayarl› tüm di¤er adlar› görmek için Liste 10'da gösterildi¤i
gibi yaln›zca alias yazman›z (ba¤›ms›z
de¤iflkenler olmadan) yeterlidir.
Liste 10
Bir di¤er ad› kald›rmak istiyorsan›z, unalias yaz›n ve kald›rmak istedi¤iniz di¤er ad› belirtin. Liste 11'de gösterilen flekilde bir defada birden çok
di¤er ad› da listeleyebilirsiniz.
$ find /home/joe -type f -name '*.txt' -print | xargs grep -l "Aylık Rapor"
komut istemine, oluflturdu¤unuz
bir takma ad› yazabilirsiniz:
Liste 11.
Son olarak, ortam›n›z› oluflturmak
için bu kadar çal›flt›ktan sonra ayarla$ findreports
r›n›z› sonraki oturumlar›n›z için korufindreports di¤er ad›n› aç›l›m›yla
mak isteyebilirsiniz. Gerçekten de, kade¤ifltirerek a¤›r ifli kabuk yapar. finbu¤unuzun tüm oturumlar ve örnekdreports di¤er ad›n› oluflturmak için
lerde tutarl› olmas›n› isteyebilirsiniz -afla¤›daki komutu yaz›n:
örne¤in, ifl isalias findreports='find $HOME -type f -name "*.txt" -print | W
tasyonunuzxargs grep -l "Aylık Rapor"
da birden çok
uçbirim aç›ld›¤›nda.
Kabuklar, kabu¤unuz bafllat›ld›¤›nda
ortam›n›z› (yeniden) bafllatan bafllatma
dosyalar›n› içerir. Bafllatma dosyalar›
basit -- yaln›zca bir de¤iflken ve de¤er
listesi -- ya da oldukça karmafl›k olabilir
-- özellefltirme mant›¤›n› ve ayr›nt›l› ifllevleri içerebilir. Baz› kullan›c›lar›n birçok bafllatma dosyas› seti olabilir. Her
bir proje için bir set ayarlanabilir.
Z kabu¤u, .zshrc ve .zprofile bafllatma dosyalar›n› kullan›r. Bu dosyalar›n ikisi de ana dizininizde bulunur. (Di¤er kabuklar›n benzer adlara sahip
benzer dosyalar› vard›r ve özel bilgiler
için kabuk belgelerinizi okuyabilirsiniz.
Baz› kabuklar, kapatma dosyalar› ya
da kabuktan ç›karken çal›flt›r›lacak
dosyalar da sa¤layabilir.) .zshrc dosyas›, yeni bir kabuk bafllatt›¤›n›zda
kaynak olarak kullan›l›r ya da okunur
ve ifllenir; .zprofile dosyas›, yaln›zca
bir oturum açma kabu¤u bafllatt›¤›n›zda kaynak olarak kullan›l›r.
Kabu¤unuzu yap›land›rd›ktan sonra ayarlar›n›z›n bir anl›k görünümünü
al›n ve bunlar›, kabuk bafllang›ç dosyalar›ndan birinde saklay›n:
$ set >> $HOME/.zshrc
$ alias >> $HOME/.zshrc
Not: .zshrc sonuç dosyas›n› düzenlemek ve oturuma özgü de¤iflkenleri
kald›rmak isteyebilirsiniz.
Daha fazla güç
Vay! UNIX Dilinde Konuflma'n›n bu
makalesinde çok fazla konu üzerinde
durduk, ancak bu gayretiniz size büyük ödüller kazand›racak. Daha çok
de¤il, daha ak›ll›ca çal›fl›p gerçekten
önemli fleyleri yapmak için -- örne¤in
PS2 oynamak gibi -- fazladan zaman
kazanabilirsiniz.
Bir sonraki UNIX Dilinde Konuflma
makalesinde daha geleneksel konulara
de¤inilecek. Bu gözde taray›c›lar› b›rak›p komut sat›r›ndan nas›l ba¤lant› kurulaca¤›n›, yükleme yap›laca¤›n›, aktar›m› ve iletiflim kurmay› tam olarak inceleyece¤im.
Bizi izlemeye devam edin.
Kaynaklar
Bilgi Edinme
• UNIX Dilinde Konuflma: Bu dizinin
di¤er bölümlerini de inceleyin.
• zsh posta listesi arflivi: Z kabu¤u
incelikleri ve ipuçlar›yla ilgili daha faz-
drwxrwxr-x
drwxrwxr-x
drwxrwxr-x
drwxrwxr-x
...
2
2
2
2
www-data
www-data
www-data
www-data
$ alias lt='ll -t'
$ lt -d 2002*
drwxrwxr-x 2 www-data
drwxrwxr-x 2 www-data
drwxrwxr-x 2 www-data
drwxrwxr-x 2 www-data
www-data
www-data
www-data
www-data
www-data
www-data
www-data
www-data
4096
4096
4096
4096
4096
4096
4096
4096
Apr
Apr
Jan
Jan
Jan
Jan
Apr
Apr
19
15
22
16
16
22
15
19
2002
2002
2002
2002
2002
2002
2002
2002
2002-02
2002-03
2002-04
2002-05
2002-05
2002-04
2002-03
2002-02
$ alias m='pinky | grep mstreicher'
$ m
mstreicher Martin Streicher
...
$ alias snap='pinky >> ~/.pinky'
$ snap
$ snap
$ cat ~/.pinky
Login
Name
mstreicher Martin Streicher
Login
Name
mstreicher Martin Streicher
TTY
pts/0
TTY
pts/0
Idle When
Where
Jun 18 16:40 cpe-071-065-224-025.nc.res.rr.com
Idle When
Where
Jun 18 16:40 cpe-071-065-224-025.nc.res.rr.com
KABU⁄UNUZDAK‹ TÜM D‹⁄ER ADLARIN GÖRÜNTÜLENMES‹
$ alias
alias findreports='find $HOME -type f -name "*.txt" -print | xargs grep -l
"Monthly Report"'
alias ll='/bin/ls -l'
alias lt='ll -t'
alias m='pinky | grep mstreicher'
alias snap='pinky >> ~/.pinky'
...
B‹RDEN ÇOK D‹⁄ER ADIN EfiZAMANLI OLARAK
GÖRÜNTÜLENMES‹
$ unalias m snap
$ alias
alias findreports='find $HOME -type f -name "*.txt" -print | xargs grep -l
"Aylık Rapor"'
alias ll='/bin/ls -l'
alias lt='ll -t'
la bilgi için bu listeyi okuyun.
• AIX ve UNIX: Daha ayr›nt›l› bilgi
ister misiniz? developerWorks AIX ve
UNIX alan›, bilgi içerikli yüzlerce makaleyi ve girifl düzeyindeki, orta ve ileri düzeydeki ö¤reticiyi içerir.
• developerWorks teknik etkinlikler
ve web yay›nlar›: Güncel developerWorks teknik etkinliklerini ve web yay›nlar›n› izleyin.
Liste 11
Yukar›daki listede yer alan di¤er ortam de¤iflkenleri uygulamaya özgüdür.
Her biri, iliflkilendirildikleri uygulama
bafllat›ld›¤›nda nas›l çal›flaca¤›n› denetleyen tercihleri içerir. $PERL5LIB, Perl'ün
özel kitapl›klar› bulmas› için kullan›lan bir
arama yoludur. ls komutu, $CLICOLOR
de¤iflkenini dosya tiplerini renkli (dizinleri mavi, yürütülebilir dosyalar› yeflil, vb.)
görüntülemek için kullan›r. Özel uygulama ortam de¤iflkenleri, genellikle program›n "man" sayfalar›nda bulunur. Bir
ortam de¤iflkeninin ayarlanmas›, kabuk
de¤iflkeninin ayarlanmas›yla ayn›d›r. Ancak, de¤iflkeni genel olarak kullan›labilir
k›lmak için d›fla aktarman›z gerekir:
Liste 8
$ unset MYVARIABLE TMPDIR
$ alias ll='/bin/ls -l'
$ ll -d 2002*
Liste 10
$ cd $OLDPWD
Bir de¤iflken ayarlad›¤›n›zda, $ iflaretini sa¤lamazs›n›z. Ancak, $MYVARIABLE de¤iflkeninde oldu¤u gibi, de¤iflkeni
kullan›rken dolar iflaretini de kullanman›z gerekir.) $MYVARIABLE, d›fla
aktar›lmad›¤› için yaln›zca kabukta görünür. Tüm kabuk de¤iflkenlerinin bir
listesini görmek için set yaz›n. set komutunun ç›k›fl›, ortam de¤iflkenlerini
içerir. Bunun nedeni, bu de¤iflkenlerin
kabukta da kullan›labilir olmas›d›r.
‹kinci komutta, $TMPDIR ayarlan›r,
d›fla aktar›l›r ve kabuktan bafllat›lan
tüm uygulamalar için kullan›labilir k›l›n›r. $TMPDIR de¤iflkenini kullanan bir
uygulama, GNU Compiler Collection
(GCC) derleyicisidir. GCC, $TMPDIR
de¤iflkeninde saklanan dizin de¤erinde
geçici dosyalar›n› oluflturur.
Bir ortam de¤iflkenini kald›rmak istiyorsan›z, Liste 8'de gösterildi¤i gibi
unset ve de¤iflkenlerin ad›n› yaz›n.
$ set
HOME=/Users/strike
MYVARIABLE=/Users/strike/projectX
TMPDIR=/tmp/projectX
...
Z KABU⁄UNUN TEMEL Ö⁄ELER‹
Yazar hakk›nda
Martin Streicher, Linux Magazine adl›
dergide fief Editör'dür. Purdue
University'den bilgisayar bilimi konusunda
master derecesi alm›fl ve 1982 y›l›ndan bu
yana UNIX benzeri sistemlerde Pascal, C,
Perl, Java ve (en son) Ruby programlama
dillerinde programlama yapmaktad›r.
Martin'e [email protected]
adresinden eriflebilirsiniz.
IBM ÖZGÜR YAZILIM 63
Acil
Servis
Merhaba,
Bu say›m›zda yine
sizlerden gelen çeflitli
problemlere özgür
yaz›l›m dünyas›n›n bizlere
sunmufl oldu¤u olanaklar
çerçevesinde birlikte
çözümler bulmaya
çal›flaca¤›z.
rasyonunun kolay olmas›, masaüstü arka plan›nda yer almas› ve çok az kaynak tüketmesi ile oldukça baflar›l› bir yaz›l›m.
Örnek bir konfigürasyon dosyas› afla¤›da yer al›yor.
64 IBM ÖZGÜR YAZILIM
web sayfas›nda da gerekti¤i kadar bileflen çal›flmas› ilkesinden harekete geçen NoScript yazarlar›, temel birçok bilefleni (Java, Javascript, Flash, Silverlight vs.)
sayfalardan yasakl›yorlar. Dolay›s›yla, e¤er ziyaret etti¤iniz sayfada bir fonksiyon eksikli¤i hissetmedi¤iniz sürece bütün sayfalarda Javascript'in kapal› olmas›nda
fayda var.
Buna ek olarak, sayfada muhtemel bir baflka zafiyet
varsa bu konuda da uyar›l›yorsunuz. ‹lla da (bu zafiyete
ra¤men) sayfay› görüntülemek istedi¤inizde ise size izin
veriliyor.
‹lk bafllarda biraz al›flmakta zorlansan›z da, NoScript
oldukça faydal› bir eklenti ve uzun vadede bu tür zay›fl›klar›n artaca¤›n› düflünürsek sizi birçok sald›r›dan koruyabilir.
Bilgisayar›mda o anda neler oldu¤unu takip etmeyi
seviyorum. Bunun için daha önce çeflitli araçlar kulland›m, fakat hiçbiri yeteri kadar tatminkâr gelmedi. fiu
ana kadar kulland›klar›m›n
içinde en iyisi GKRellm'di. Bu
konuda daha iyi bir yaz›l›m
önerebilir misiniz?
Bir müddettir bu ihtiyaç için
Conky kullan›yorum. Konfigü-
IBM ÖZGÜR YAZILIM 65
kutu-1
Son zamanlarda web sayfalar›ndan kaynaklanan
sald›r›lar›n artt›¤› söyleniyor. Normal gündelik siteler
bile birçok aç›dan riskli hale gelmifl. Bunlardan korunmak için ne yapabiliriz? Mesela Firefox'un en son
versiyonunu kullanmak yeterli olur mu? Bir öneriniz
var m›?
Söz konusu endiflede gayet hakl›s›n›z. Çok masum görünen siteler bile art›k “crosside scripting” (ya da XSS)
denen sald›r›lara ev sahipli¤i yapabiliyor. Zira zaman›nda
çok basit, ancak kabul edilen Javascript, son birkaç y›l
içinde baflta Ajax olmak üzere birçok platformda ne kadar
güçlü bir dil oldu¤unu (ve dolay›s›yla ne kadar dikkatli kullan›lmas› gerekti¤ini) ispat etmifl durumda.
Bu konuda bizim önerimiz her zaman için yine Firefox. Bu Firefox'un güvenlik yamalar›n› en h›zl› uygulayan
taray›c› olmas›n›n yan› s›ra, NoScript eklentisini kullanabilir olman›zdan da kaynaklan›yor.
Güvenli¤in en temel yaklafl›mlar›ndan biri bileflenlerin "Bilmeye ihtiyac› oldu¤u kadar›n› bilmeleri". Keza bir
# Conky, a system monitor, based on torsmo
alignment bottom_left
background no
border_width 1
cpu_avg_samples 2
default_color white
default_outline_color white
default_shade_color white
draw_borders no
draw_graph_borders yes
draw_outline no
draw_shades no
font 6x10
gap_x 5
gap_y 60
minimum_size 5 5
net_avg_samples 2
no_buffers yes
out_to_console no
own_window yes
own_window_class Conky
own_window_type normal
stippled_borders 0
update_interval 3.0
uppercase no
use_spacer none
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
XV_CONTRAST -v 64
XV_BRIGHTNESS -v -23
XV_CONTRAST -v 60
XV_SATURATION -v 128
XV_PIPE -v -1
XV_GAMMA0 -v 526344
XV_GAMMA1 -v 1052688
XV_GAMMA2 -v 2105376
XV_GAMMA3 -v 4210752
XV_GAMMA4 -v 8421504
XV_GAMMA5 -v 12632256
66 IBM ÖZGÜR YAZILIM
Bir komut sat›r› ile internet'te bir sayfaya ulafl›p ulaflamad›¤›m› anlamak istiyorum. Komut sat›r› kullanmam
laz›m, çünkü söz konusu bilgisayarda X kurulu de¤il.
Bunu yapman›n birçok yolu var. ‹lk akla geleni, wget
www.google.com
Bir baflka yol ise
echo -e "GET http://www.google.com HTTP/1.0nn" |nc
www.google.com 80
Burada yap›lan, netcat'i bir taray›c› gibi kullanmak. Zira
web taray›c›lar› aynen yukarda yaz›ld›¤› gibi iletiflim kurarlar.
‹kinci yöntem üzerine biraz daha çal›flarak, daha
kompleks ifller yapt›rman›z, mesela sayfadan bir form
doldurman›z, ya da bir arama sonucunu download etmeniz mümkün.
IBM Venture Capital Group.
Empowering technology innovators.
IBM PartnerWorld.
Empowering business innovators.
IBM developerWorks.
Empowering communities of IT professionals.
BREAKTHROUGHS.
BRAIN WAVES.
CONNECT
CREATE
SWH14002-USEN-00
EXCITEMENT.
BUILD
DELIVER
SUCCESS.
IBM Academic Initiative.
Empowering academic innovators.
xvattr
xvattr
xvattr
xvattr
xvattr
xvattr
xvattr
xvattr
xvattr
xvattr
xvattr
Linux sistemimde flimdiye kadar Mplayer ile film seyrediyordum. Fakat geçenlerde SMPlayer'› kurdum ve ilk
çal›flt›rd›¤›m andan itibaren filmlerdeki görüntü sanki y›kanm›fl gibi, afl›r› derecede aç›k renkte ve silik. ‹flin garip
yan› Mplayer ile seyretti¤imde de art›k görüntü bu flekilde. Bu problemin yeniden kurulum yapmak d›fl›nda bir çözümü var m›?
Bu genelde bir program›n X-Windows gama ayarlar› ile
oynamas›ndan kaynaklan›yor. Tam olarak hangi ayarlar›n
de¤iflti¤inden emin olmad›¤›m›z için, afla¤›daki bütün komutlar› girmeniz gerekebilir. kutu-3
Bunlar sisteminizi makul bir görüntü de¤erine getirecektir. Filmleri izledi¤iniz ön tan›ml› görüntü de¤erleri konusunda deneme yapmak isterseniz, yine bu komutlar iflinizi görür.
EXPLORE
POSSIBILITIES.
STIMULATE
SOLUTIONS.
SWH14001-US
kutu-3
Ubuntu 8.04 sistemimde baz› oyunlar› oynamak için
Wine kullan›yorum. Fakat baz› oyunlar› bir türlü çal›flt›rmay› baflaramad›m. Ç›kan hata mesaj›n› internet'te arat›nca bile bir fley bulam›yorum. Acaba ne tür bir sorun
olabilir.
Kiflisel tecrübeme dayanarak söyleyebilirim ki "Ç›kan
hata mesaj›n› internet'te arat›nca çözüm bulam›yorum"
vakalar›n›n birço¤u LOCALE ayarlar›ndan kaynaklan›yor.
Evet inanmas› zor biliyorum, ama ben flimdiye kadar bunu
IRSSI'da, Wine'da ve birkaç programda daha yaflad›m.
Yapman›z gereken asl›nda çok basit. Söz konusu program› ça¤›rd›¤›n›z komut sat›r›nda program›n önüne
LANG=EN koyman›z. Yani Wine ile Warcraft III çal›flt›racaksan›z mesela, LANG=EN wine war3.exe yazman›z yeterli oluyor.
LEARN
NEW TECHNOLOGIES.
GROW
REAL-WORLD SKILLS.
kutu-2
$nodename - $sysname $kernel on $machine
$hr
${color grey}Uptime:$color $uptime
${color grey}Frequency (in MHz):$color $freq
${color grey}Frequency (in GHz):$color $freq_g
${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4}
${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4}
${color grey}CPU Usage:$color $cpu% ${cpubar 4}
${color grey}Processes:$color $processes ${color grey}Running:$color $running_processes
$hr
${color grey}File systems:
/ $color${fs_free /}/${fs_size /} ${fs_bar 6 /}
${color grey}Networking:
Up:$color ${upspeed eth0} k/s${color grey} - Down:$color ${downspeed eth0} k/s
$hr
${color grey}Name
PID
CPU%
MEM%
${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}