You are hereAylık yazı arşivimizi sizin için açtık! / Eylül 2009
Eylül 2009
Python Programlama için Türk Malı IDE

Açıkçası ben Python'dan anlamam ama dil dildir. Özellikle de Türk işi bir IDE'si yapılıyorsa bunu blogda yazmamak olmaz. Utku Karataş yapmış, "Alpha" sürümünü de kullanalım diye şurada bizimle paylaşmış.
İndirin, kullanın, yayın! :)
http://pfaide.com/
Bu arada "python" yazmak da ne zormuş! Piton daha mı kolay ne...
Görselin kaynağı için Ahmet Alp'e ayrıca teşekkürler. Aslı da şurada: ptshello
Ankara Yazılımcılar Buluşması - Eylül 2009

Ahmet'in Friendfeed'de önermesiyle fikir planında başlayan ve sonrasında hayata geçen Yazılımcılar Buluşması'nın ikincisini dün yaptık. Ankara'da 3E Cafe'de saat dört civarında buluştuk. Eğlenceliydi.
Mekâna ilk ben ulaştım. Katılımcıların hepsini sayamam ama benim tanıdığım Ahmet Alp Balkan, Ahmet Kakıcı, Hüseyin Mert, Hamdi Kavak, Barış Ünver ve yavaştan tanımaya başladığım Ramazan, İsmail ve Enver Salih vardı. Diğer arkadaşlar kusura bakmasın, herkesi hatırlayamadım, dilerlerse kendilerini hatırlatabilirler :)
Keyifli sohbetler arasında neler konuştuk, kısaca aklımda kalanları paylaşayım;
Ahmet'in MSP olduğunu öğrendim. Tevekkeli bu adam Microsoft ürünlerini boşuna lisanslı kullanmıyormuş. MSP olmanın en stresli yanı kamera karşısında kendini tanıtıp bunu herkesle paylaşmakmış.
Bu arada Ahmet Alp'ten öğrendiğimize göre de iPhone uygulaması geliştirmek bayağı zahmetli bir işmiş. MacOS haricinde bir platformda iPhone uygulaması yapmak nerdeyse imkansızmış. Yaptıktan sonra onu yaymak için de AppStore'da yayınlamak gerekiyormuş. Bu da basit değilmiş.
Arada Hüseyin'in yeni alan adı hüseyin.im'i de çok övdük. Hamdi'nin Friendfeed'de paylaşmasıyla hüseyin.im çok popüler olmuş, şimdiye kadar yemediği bandwidth'i yemiş. Zaten bu alan adını da ben önermiştim... Gerçi ikinci sene pahalıya mal oluyormuş, aman dikkat.
Bir de Hüseyin u.nu'nun sahibine "u.nu'yu bana sat" demiş. Adam kabul etmemiş. Hayırlısı be Hüseyin! :)
Buluşmanın ardından 'bowling'e gittik. İlk defa bowling gördüm, benim pek içime sinmedi bu oyun. Geçen buluşmada gittiğimiz 'karting'in tadı damağımda kaldı.
Buluşmaya katılan ve keyifli zaman geçirmemizi sağlayan herkese teşekkürler :)
Resimlerin bir kısmı şurada
Foturaf: harmony19490
Microsoft Ofis Asistanı
Hamdi kardeşim paylaştı, izledik ve beğendik. Kesinlikle Microsoft ürünlerini eleştirmek adına değil, sadece bir miktar gülümseyebilmek için :)
Not: Youtube yoksa Mahkeme Kararı Temizleyici var, Youtube Jacker var, hosts dosyası var... İsterseniz yani...
Java'nın Maskotu Duke

Resimdeki Duke, Java'nın maskotu. Aslında Joe Palrang tarafından, vakti zamanında Sun'ın Green Project adındaki projesi için yapılmış, daha sonradan da Java'ya mal olmuş bir maskot.
Sun firması açık kaynak destekçilerinden. Duke'ün imajı bile açık kaynak.
Duke'ün çeşitli formatlarda ve boyutlarda grafiklerinin olduğu galerisine şuradan erişebilirsiniz.
Foturaf: leezhenyu
Spring Framework Nedir, Ne İşe Yarar?

Framework Türkçede "çatı" olarak çevriliyor. Açık bir tanımı var mı bilmiyorum ama şöyle diyebiliriz; içeriğinde farklı bileşenler olarak kütüphane ve araçlar barındıran ve böylece hayatımızı kolaylaştıran yazılım paketlerine çatı ya da framework diyoruz.
Java'nın geniş çaplılığından ve açık kaynak olmasından dolayı pek çok paket, kütüphane ve araç (tool) türedi, her geçen gün daha da artmaya devam ediyor. İhtiyaca cevap vermesi açısından işleri en çok kolaylaştıran ve hızlandıranlar daha öne çıkıyor. Bunlardan biri de Spring çatısı.
Java'nın daha çok kurumsal tarafına (Java EE) hitap eden bu çatı, standart platformda da (Java SE) kullanılıyor. Peki içinde neler var?
Veri Erişim - Entegrasyon tarafında hem JDBC hem de ORM (Object Relational Mapping) yani veritabanına nesne mantığıyla eşleme yapılarak erişim araçlarını destekliyor. Örneğin Hibernate kullanabiliyorsunuz.
Web katmanında Servlet ve Portlet teknolojileri var. MVC yani Model View Controller kullanarak Servletler yapılabilir, siteler oluşturulabilir.
Test modülü ile projelerin birim testlerini yapmak da mümkün.
Artık büyük projelerde bu tip çatılar kullanılıyor. Böylece projeler hız ve kolaylık kazanıyor. Daha çok işi daha kısa zamanda yapabilme imkanı veriyor. Dolayısıyla son zamanlarda çokça tercih edilen teknolojilerden.
Bu konuda yazılmış güzel Türkçe makalelerden biri de KurumsalJava.com sitesinin sahibi Özcan Acar tarafından yazılmış. Okumanızı öneririm: Spring Framework
Not: Spring hakkında kısa bir sunum yaptım. Sunuma buradan ulaşabilirsiniz.
Foturaf: chantastic
Java'da Tarihi Gün Gün Arttırmak (Date, Calendar, SimpleDateFormat)

Java'da Date diye bir sınıf var. Bununla tarih formatında nesneler oluşturup bu tarihi farklı şekillerde kullanabiliyoruz. Aslında "gün gün arttırmakta ne var ki?" diyebiliriz. Mantık kolay ama uğraş gerektirebilir. Önce tarihin gününü alacağız, ardından bir arttıracağız. Ama ya ay 30 çekiyorsa ve gün 30'daysa? O zaman bir switch case yapıp eğer ay 30 çekiyorsa şöyle arttır, yoksa böyle arttır diyceğiz. Bir de Şubat ayının 28 mi 29 mu çekmesi koşulları var. Var oğlu var.
Madem programlamanın temelinde tembellik ve en fazla işi en kısa zamanda makineye yaptırmak felsefesi yatıyor, o zaman işi daha basit yollardan çözmeye çalışalım.
Tarihlerle uğraşmak nerdeyse her dilde büyük bir sorundur. Bir de işin içinde veritabanı bağlantısı varsa o zaman iş Arap saçına bile dönebilir. Çünkü bazısı tarihi yıldan başlayarak yazmayı sever, bir diğeri önce ayı sonra günü yazayım der. Kimi araya nokta koyar, kimi bölü işaretini daha çok sever. Böyle önemli bir konunun standarttan uzak olması bakımından, her zaman tarihi kendi istediğimiz formatta ele almamız mantıklıdır. Bunun için farklı metodlar kullanılabilir. Biz bunun için SimpleDateFormat sınıfından yararlanalım.
Şimdi işe başlayalım. Elimizde bir takvim nesnesi bulunsun. Calendar sınıfının bulunduğu util paketini projemize ekleyelim;
import java.util.*;
ve bir nesnesini alalım;
Calendar takvim = Calendar.getInstance();
Tarihi bugünün tarihi olarak aldığımızı varsayıyorum. Bunun için bir Date nesnesi lazım, herhangi bir parametre vermezsek bugünün tarihini alırız.
Date tarih = new Date();
Şimdi takvimimize bu tarihi verelim;
takvim.setTime(tarih);
Aslında Date nesnesini sadece burada kullanacağımız için özel olarak bir "tarih" adına referans vermemize gerek yoktu. Doğrudan şöyle de dememiz mümkün;
takvim.setTime(new Date());
Tarihi arttırmak için Calendar sınıfının add() metodunu kullanacağız. İlk parametre tarihin hangi bölümünü arttıracağımıza dair bir int değer, ikincisi ise bunu int olarak ne kadar arttıracağımız. Gün bazında arttıracağımız için ilk parametre Calendar.DATE olacak. Eğer farklı bir bölümü, mesela ayı arttırmak isteseydik Calendar.MONTH ya da uygun olan parametreyi verecektik.
Günü de tek tek arttıracağımıza göre ikinci parametreyi 1 veriyoruz;
takvim.add(Calendar.DATE,1);
Şimdi takvim nesnemizin tarihi bugünden bir gün sonrasını gösteriyor. Hangi ayda olduğumuzun, ayın kaç gün çektiğinin ya da belki yılın son günündeysek yılı bile değiştirmek gerekliliği gibi konular artık bizi ilgilendirmiyor. Sadece takvimden tarihi alacağız. Bunun için de getTime() metodunu kullanıyoruz, bunu da yeni bir tarihe atayalım;
Date yeniTarih = takvim.getTime()
Artık yeniTarih adlı nesnemizde bir gün sonranın tarihi tutuluyor. Şimdi bunu istediğimiz formatta görüntüleyelim.
SimpleDateFormat sınıfını kullanacağız. Bu sınıf java.text paketinde olduğu için hemen projemize bu paketi ekliyoruz;
import java.text.*;
Ardından kullanmaya başlıyoruz. Önce bunun bir örneğini oluşturalım. İçine de parametre olarak istediğimiz tarihin desenini (pattern) yazalım. Örneğin bizim istediğimiz şekil gg.aa.yyyy olsun. Bunun için desenimiz şöyle olmalı: "dd.MM.yyyy";
SimpleDateFormat bicim = new SimpleDateFormat("dd.MM.yyyy");Bundan sonra bicim adlı nesnemizi kullanarak tüm Date nesnelerini bu formata çevirebiliriz. Bunu format() metodunu kullarak yapıyoruz. Bunun sonucunda bize bir String ifadenin döneceğini de unutmamamız lazım;
String sonTarih = bicim.format(yeniTarih)
Yani bir sonraki günün tarihini konsola yazdırmak istersek;
System.out.println(sonTarih);
deriz.
Bunların hepsini bir metoda çevireyim, her zaman kullanayım diyorum. Adı sonrakiGun() olsun. parametre olarak gönderdiğim tarihin bir sonraki gününü bana String olarak çevirsin;
public String sonrakiGun(Date tarih){
Calendar takvim = Calendar.getInstance();
takvim.setTime(tarih);
takvim.add(Calendar.DATE,1);
SimpleDateFormat bicim =
new SimpleDateFormat("dd.MM.yyyy");
return bicim.format(takvim.getTime());
}import'ları da unutmazsak sanıyorum dadından yinmez.
Türkçe MySQL Notları Bloğu

Sadece MySQL konusunda değil, yazılım ve veritabanı hakkında pek çok konuda Türkçe kaynak bulmak zor. MySQL'in sahibi olan Sun şirketinin bloglarında gezerken, Türkçe MySQL notlarına rastladım.
Bu notların bulunduğu bloğun adı bosphorus. Yazılar Turgut Aydın imzalı.
Blogda gördüğüm bu faydalı yazılardan bazıları şöyle:
Şu az sayıda yazı bulunuyor olsa da devamının geleceğini umuyorum. Gayet faydalı bir yazı dizisi. Turgut Aydın'a bu blog yazılarından ötürü teşekkürü bir borç bilirim :)
Blog adresi tekrar:
http://blogs.sun.com/bosphorus
Not: Bu arada Serpito'nun PHP derslerindeki MySQL notlarını da es geçmeyelim!
Foturaf: brullonulla
Windows 7'de hosts Dosyasını Değiştirmek

Bildiğiniz gibi bazı değişiklikler yaparak internet servis sağlayacımız tarafından kapatılmış olan sitelere erişmemiz mümkün olabiliyor. Bunun önemli adımlarından biri de işletim sistemimizdeki hosts dosyasını düzenlemek.
Bu dosya içinde, sitelerin adresleri ile site sunucusularının IP adresleri eşleştiriliyor. Bu sayede bilgisayarımız, gireceğimiz siteye http://hosaf.org gibi okunabilir bir adres yerine sadece numaralardan oluşan IP adresinden ulaşıyor. Bu yüzden, kapalı bir sitenin IP adresini biliyorsak, hosts dosyasında gerekli değişikliği yapıyoruz ve olay çözülüyor.
Bunu yapabilmek için bu hosts dosyasının nerde olduğunu bilmemiz gerekiyor. Ben söyleyeyim; Windows'un c:\windows klasöründe kurulu olduğunu düşünerek, hosts dosyası şurda:
c:\Windows\System32\drivers\etc
Eğer Windows farklı bir klasördeyse c:\windows yerine uygun klasörden ulaşılabilir.
Windows XP'de bu klasöre direk erişim ve düzenleme mümkündü ama Windows 7'de (muhtemelen Vista'da da) önce yetkili kullanıcı olarak bir metin editörü açmamız gerekiyor. Sol alttaki eskiden "Start" yazısının, Vista ve 7'de ise Windows sembolünün olduğu yere tıklayıp "notepad" yazdığımızda Windows bir arama yapacak ve yukarıda arama sonucunda Notepad programını göreceğiz. Buna sağ tıklayıp "Run as administrator" dedikten sonra artık hosts dosyasını bu Notepad ile istediğimiz kadar değiştirip düzenleyebiliriz.
Yok eğer Ne uğraşacam bu kadar kardeşim?! diyorsanız size Mahkeme Kararı Temizleyici verebiliriz.
Foturaf: ludobesac
Postacıya Teşekkür Eder, Polise Kızarım. Dünyaya Da Saygı Duyarım
Birileri mektup falan gönderiyor, seviniyorum. Direk postacıya teşekkür ediyorum. Kimin gönderdiği, neden gönderdiği beni ilgilendirmiyor. Bu konuda düşünmek gereksiz.
Arabayı yanlış yerlere parkediyorum, en uygunsuz yerlerde sollama yapıyorum. Hızı da seviyorum, tek rakibim THY oluyor bazen. Fakat trafik polisini sevmiyorum, çünkü ceza yazıyor. Kanunlar falan beni ilgilendirmez, ben polise kızıyorum.
Dünya hatta daha geniş anlamıyla evren, bana iyi kötü bir şeyler veriyor. Vakti geliyor deprem, sel, yangın oluyor. Ama genelde güneş hep açıyor, kuşlar ötüyor falan. Kötü olduğunda üzülüyorum, iyi olduğunda keyfime diyecek yok. O yüzden bu gezegene çok saygı duyuyorum.
Mektubu gönderene teşekkür etmediğim gibi; yediğim cezaların sebebi olan ve uymadığım kuralları önemsemediğim gibi; iyi şeyleri de kötü şeyleri de asıl göndereni, kuralları koyanı önemsemiyorum.
Postacıya on yüz bin mülyon teşekkür, polise binlerce küfür... Dünyaya da acayip saygı duyuyorum. Herkese hakkını veriyorum yani.
Ne diyor WWF;
The planet is brutally powerful. Respect it.
So we respect it.
Blog
Musiki