31 Temmuz 2009 Cuma

Vazgeçemeyeceğiniz Programlar

  • JDownloader:Özellikle Rapidshare gibi sitelerden dosya indirmeyi otomatize eden bir prog. Siz sadece indireceğiniz dosyaları listeye ekliyorsunuz, gerisini JDownloader sizin için yapıyor.








  • GnuCash: Ücretsiz finans programı.








  • Daemon Tools: Tüm CD/DVD yazma kalıplarını okuyabilen bir program.







  • CCleaner: Gereksiz ve kullanılmayan dosyaları temizleme aracı.





24 Temmuz 2009 Cuma

Call Stored Procedure In Oracle And Pass In Out Parameters

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;

public class Main {
public static void main(String[] args) throws Exception {
Connection conn = getOracleConnection();
// Step-2: identify the stored procedure
String proc3StoredProcedure = "{ call proc3(?, ?, ?) }";
// Step-3: prepare the callable statement
CallableStatement cs = conn.prepareCall(proc3StoredProcedure);
// Step-4: set input parameters ...
// first input argument
cs.setString(1, "abcd");
// third input argument
cs.setInt(3, 10);
// Step-5: register output parameters ...
cs.registerOutParameter(2, java.sql.Types.VARCHAR);
cs.registerOutParameter(3, java.sql.Types.INTEGER);
// Step-6: execute the stored procedures: proc3
cs.execute();
// Step-7: extract the output parameters
// get parameter 2 as output
String param2 = cs.getString(2);
// get parameter 3 as output
int param3 = cs.getInt(3);
System.out.println("param2=" + param2);
System.out.println("param3=" + param3);
conn.close();
}

private static Connection getHSQLConnection() throws Exception {
Class.forName("org.hsqldb.jdbcDriver");
System.out.println("Driver Loaded.");
String url = "jdbc:hsqldb:data/tutorial";
return DriverManager.getConnection(url, "sa", "");
}

public static Connection getMySqlConnection() throws Exception {
String driver = "org.gjt.mm.mysql.Driver";
String url = "jdbc:mysql://localhost/demo2s";
String username = "oost";
String password = "oost";

Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
}

public static Connection getOracleConnection() throws Exception {
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:caspian";
String username = "mp";
String password = "mp2";

Class.forName(driver); // load Oracle driver
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
}
}

10 Temmuz 2009 Cuma

JQuery Visualize

Scott Jehl tarafından yayınlanan JQuery eklentisi JQuery Visualize sayesinde HTML table'ındaki verilerden çok güzel grafikler oluşturmanız mümkün. Üstelik bunu basit bir $('table').visualize(); koduyla yapabiliyorsunuz.

JQuery Visualize

2 Temmuz 2009 Perşembe

Yuvarlak Köşeler

Jquery'nin yuvarlak köşeler oluşturmanızı sağlayan güzel bir eklentisi (rounded corners plug-in ) var. Bunun sayesinde resimlerin bile köşelerini yuvarlatmak mümkün.

Gerekli Dosyalar:


Ayrıntılı Bilgi İçin Tıkla


30 Haziran 2009 Salı

Google I/O Sessions - 2009 Developer Conferance, San Francisco

27-28 Mayıs 2009'da San Francisco'da düzenlenen "Developer Conferance"'ın sunumları na ulaşmak için tıkla.


25 Kasım 2008 Salı

Video Lectures

Mühendislik ve bilim dünyasının YouTube'u olarak görülen Video Lectures isimli web sitesini sık kullanılanlarınıza eklemenizi tavsiye ederim. En son baktığımda sitede "Computer Science" etiketiyle 1375 video vardı. Üstelik MIT (Massachusetts Institute of Technology) de elindeki tüm görsel içeriği bu siteye bağışlamış. Aşağıdaki iki link sayesinde artık MIT'ye gitmeden de MIT'li olabiliriz demek ki :P

VideoLectures'daki MIT sayfası
MIT Open Courseware kapsamında açılan online dersler

10 Kasım 2008 Pazartesi

HTML5'deki yenilikler

HTML5 ile birlikte birçok yenilik geldiği söyleniyor.

Gerçi Internet Explorer'ın HTML5'i desteklemediği söyleniyor ama bu özellikler Internet Explorer 7'de desteklense bile bir çok kişi hala IE6 hatta IE5 kullanıyor. Bu özellikleri kullanmak için biraz daha zaman geçmesi beklemek daha iyi olur sanırım. Yine de bi incelemeye değer bence.

Aşağıdaki makalelere bir göz atabilirsiniz:

W3.org - HTML 5 differences from HTML 4 ( link1 ) ( link 2 )
IBM Developer Works - New elements in HTML 5
W3 Schools - HTML5 Reference
Alistaparat - A Preview of HTML5
Fatih Hayrioğlu - HTML5'in Yeni Elementleri

30 Ekim 2008 Perşembe

Java'da PHP kullanmak : Quercus

Quercus: Java altında PHP

Quercus isimli bir kütüphane sayesinde artık Java ile PHP'yi bir arada kullanmak artık çok kolay. Quercus ayrıca Resin'i de geliştiren Caucho tarafından GPL lisansıyla yayımlanan bir teknoloji.

Quercus aslında PHP'nin %100 Java ile tekrar yazılmış hali. Bu nedenle Quercus herhangi bir Java Application Server üzerinde rahatlıkla çalıştırılabiliyor. Quercus Resin Application Server ile birlikte geliyor ama diğer serverlar içinse kurulum bir .war dosyası ile mümkün. Kurulum için ayrıca yapmanız gereken şey config dosyasında ufak bir değişiklik.

Quercus, PHP'nin tüm özelliklerini içinde barındırmasının yanısıra PHP'de kullanılan PDF, PDO, MySQL ve JSON gibi bazı temel modül ve eklentileride içinde barındırmakta.

Quercus PHP'nin Java dilinde tekrar yazılmış hali olduğundan Java servisleri ile de birlikte çok iyi çalışabiliyor. Ufak birkaç ayarlamayla PHP içinden java servislerini çağırmanız mümkün.


İlk Deneme

Application Server olarak Resin kullandığım için Quercus zaten kurulu gelmekteydi.
Java ile geliştirdiğim Web Uygulamasında tek yapmam gereken /WEB-INF/web.xml dosyasına aşağıdaki gibi bir "servlet mapping" tanımlamam yeterli oldu.

<web-app>

<servlet-mapping>
<servlet-name>AjaxServlet</servlet-name>
<url-pattern>/AjaxServlet</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name> QuercusServlet </servlet-name>
<servlet-class>
com.caucho.quercus.servlet.QuercusServlet
</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name> QuercusServlet </servlet-name>
<url-pattern> *.php </url-pattern>
</servlet-mapping>

</web-app>


Bundan sonra örnek bir hello.php dosyası yazdığımda, hello.php'nin normal bir jsp dosyası gibi yani javaya çevrilerek derlendiğini gördüm.

Ayrıntılı Bilgi İçin

http://quercus.caucho.com/
http://www.caucho.com/resin-3.0/quercus/

17 Ekim 2008 Cuma

CentOS'da Başlangıçta Çalışan Servisleri Ayarlama

( ENGLISH: Enabling and disabling services during start up in CentOs )

Geçenlerde Kullandığımız CentOs 5 Linux Server'da başlangıçta çalışan servislerden bazılarını Kapatıp , bazılarını da çalıştırmak istedik. Aşağıdaki kaynaklar bize oldukça yardımcı oldu:

http://linuxhelp.blogspot.com/2006/04/enabling-and-disabling-services-during_01.html
http://www.netadmintools.com/art94.html

Yaptıklarımızı özetlersek:

1-) Öncelikle /etc/init.d/ içine yeni bir script oluşturmamız gerekiyor. Bu dosyaya "mytomcat" diyelim. Bu scriptin içeriği şöyle olmalı.
# chkconfig: 2345 20 80
# description: Runs my tomcat server
#

export JRE_HOME=/usr/java/jdk1.5.0_16/jre

./var/appservers/mytomcat/bin/startup.sh
Linux'un bu oluşturduğumuz rc script dosyasını çalıştırabilmesi için bir tanımlama satırı oluşturmak gerekiyormuş. Bu satır ise yukarıda gördüğünüz "# chkconfig: 2345 20 80" satırı oluyor. Burda 2345 script'in çalıştırılacağı run-level'leri, 20 start priority'sini, 80 ise kill priority'sini tanımlıyormuş. Bu tanımlama satırlarından sonra da elbette script'in içeriğini yazıyoruz.

2-) Bundan sonra oluşturduğumuz script chkconfig'e tanıtmamız gerekiyor. Bunu da şu şekilde yapıyoruz:
chkconfig mytomcat --add

3-) Sonra yazdığımız script'i aşağıdaki şekilde enable ediyoruz:

chkconfig mytomcat on

4-) Script'in hangi levellerde çalışacağını da aşağıdaki komutla ontrol edebiliriz:

chkconfig mytomcat--list


5-) Son olarak şunu da belirteyim biz tomcat'i 80 portunda çalıştırmak istiyorduk ama bu yapmak için önce 80 portunda çalışan Apache'yi kapatmamız gerekiyordu. Normalde "chkconfig httpd off" yaptığımızda apache'nin Linux'da başlangıçta çalıştırılan servisler listesinden çıkması gerekiyordu ama nedense bu işe yaramadı. Bunun için biz de Türk Zekamızı (!) kullanarak /etc/init.d/httpd servicinin ismini değiştirdik böylece Linux bu script'i bulamadığından başlangıçta apache'yi çalıştıramadı.


16 Ekim 2008 Perşembe

Microsoft Silverlight

Genel olarak bir Java tutkunu olduğum için Microsoft tarafındaki teknolojilerle çok ilgilenme imkanım olmadı ne yazıkki ama bu hep içimde ukde olagelmiştir. Belki de bu yüzden Microsoft tarafındaki gelişmelere de pek uzak kalmamaya çalışıyorum.

Sözü kısa kesmek gerekirse, Microsoft Silverlight'ın ikinci sürümünü duyurdu. Oldukça güzel şeyler vadeden bu teknolojiyi gelin biraz daha yakından tanıyalım.

GENEL BAKIŞ

Microsoft Silverlight, web (browser) uygulamaları için animasyon, vektör ve 3D grafik ve video oynatma imkanları sağlayan, WPF tabanlı (Windows Presentation Foundation) browser eklentisidir. [1]

Adobe Flash, DHTML ve JavaFX ile rekabeti amaçlıyor. [1]

Silverlight ile oluşturulan içerik, Adobe Flash'in aksine derlenmiyor. [1]

Vektör grafik ve animasyonların işaretleme dili biçiminde kodlanmasını sağlayan görsel geliştirme dili XAML, içerdiği belgedeki Javascript değerlerine ulaşıp çalıştırabilmesi sayesinde, XAML (Okunuşu:Zamel) belgeleri DHTML/Ajax/Javascript içerikleri tarafından düzenlenip, programlanabiliyor. [1]

XAML oluşturmak için herhangi bir editör yeterli olduğu gibi, Microsoft’un bu iş için hazırladığı “Expression Blend” uygulamasıyla daha kolay çizim yapılabilir, animasyon oluşturulabilir. [1]

Olaylara biraz daha teknik bakmak gerekirse, iyi bir Silverlight uygulaması geliştirmek için temelde 2 kişiye ihtiyacınız var: Bir tasarımcı/animasyoncu ve bir yazılımcı (js/.net). Tasarımcı, Microsoft Expression Blend ile uygulamanın arayüzünü ve animasyonlarını yaratıp XAML (Extensible Application Markup Language) formatında yazılımcıyla paylaşacaktır. Yazılımcı ise uygulamanın arka tarafını tasarlayıp uygulamaya geçecektir. [2]

KAYNAKLAR

Silverlight Resmi Sitesi
Sikverlight Hakkında Türkçe Wiki Girdisi
Silverlight Hakkında İngilizce Wiki Girdisi
Silverlight Hakkında Türkçe Güzel Bir Mini Eğitim Yazısı
Javascript Geliştiricileri İçin XAML ve Microsoft Silverlight Sunumu

ÖRNEKLER ve DEMOLAR

Web Tabanlı XAML IDE : Rainbow 9

ALINTILAR


[1]: Azer Koçoğlu, http://docs.google.com/TeamPresent?docid=ddwks393_12dbf2zg&skipauth=true
[2]: Eren Emre, SiberKültür, http://www.siberkultur.com/?q=microsoft-silverlight

14 Ekim 2008 Salı

Dilbert'den Seçmeler

Dilbert'in Yenilen Sitesini oldukça beğendim. Boş zamanlarınızda ziyaret edebileceğiniz çok güzel bir site. Ayrıca favori Dilbert'lerinizi kaydetmeniz de mümkün. Herkese tavsiye ederim.

İşte benim hoşuma giden bazı dilbert'lerden seçmeler:

Dilbert.com



Dilbert.com



Dilbert.com

Diğer favori Dilbert'lerime buradan bakabilirsiniz.


13 Ekim 2008 Pazartesi

JQuery

Javascript kütüphaneleri bu aralar çok moda. JQuery isimli bi javascript kütüphanesi galiba prototype.js'nin pabucunu dama atmaya aday. Burdun buradan inceleyin:

http://jquery.com/

Burda da çok güzel bilgiler var:

http://www.eburhan.com/jquery-dunyasina-adim-atiyoruz/

9 Ekim 2008 Perşembe

Linux'de Faydalı Komutlar

Linux Kullanırken Elinizin altında bulunması gereken bazı komutlar:

# Dosyayı Sıkıştır (Tar formatında)
tar -czvf FILE.tar.gz DIR_OR_FILE

# Sıkıştırılmış Dosyayı Çıkart
tar -xzvf FILE.tar.gz

# Give all rights to all users
chmod 777 -R "MY FOLDER NAME"

# Search for a file or directory everywhere
find / -iname "FILE TO FIND"

# Copy an entire directory
cp -R DIR_TO_COPY/ NEW_DIR/

# Print working directory
pwd

# Dosya Sil
rm FILE_NAME

# Dizin Sil
rmdir DIRECTORY_NAME

# bir komutu başka bir kjullanıcı hesabına çalıştırma
su -c 'COMMAND' other user' # Örnek:
su -c 'pg_ctl start -D /usr/local/pgsql/data -l serverlog' postgres