pengeunpedi pengeunpedi pengeunpedi
  penguenyuvasi   pengulog   arşiv   bulut   rss

great expectations: expect

Saturday, July 7, 2007 4:52:00 AM tarihinde Fırat KÜÇÜK tarafından gönderildi.

GUI scriptin yani KGA tabanlı betik programlama bir çok konu da derde deva. Örneğin uzak bir sunucuya SSH ile bağlanıyor bir dizi işlem yapıp çıkıyorsunuz. Yada bir anonim ftp'ye bağlanıp bir çok işlem yapıp geri dönüyorsunuz. Bu işleri otomatik hale getirmek expect ile olabildiğince kolay.

#!/usr/bin/expect -f

spawn ftp $argv
expect "Name"
send "anonymous\r"
expect "Password:"
send "anonymous\r"
expect "ftp> "
send "ls\n"
interact

Bu programı aftp.exp olarak kaydedip çalıştırılabilir dosya yetkisi verelim.

pismikrop@minik:~/Desktop$ ./aftp.exp ftp.linux.org.tr
spawn ftp ftp.linux.org.tr
Connected to ftp.linux.org.tr.
220 ftp.linux.org.tr
Name (ftp.linux.org.tr:pismikrop): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x    5 1005     1006         1024 May 26 20:56 pub
226 Directory send OK.
ftp>

Şahsen SSH ile uzaktaki sistem yedeklerini almak için key-agent kullanmaktan çok daha akıllıca bir durum. Bir expect betiği ile SSH'a bağlanıp, istediğiniz dizinleri yedek alabilirsiniz. Daha sonra ssh'dan çıkıp sftp kanalı ile kendi sisteminize aktarabilirsiniz.

Böyle bir periodik işlem için Cron kullanmanıza da gerek yok. "fork" ile bir alt process oluşturup. sleep ile alt süreci istediğiniz kadar bekletebilirsiniz. Böylelikle tek bir program çalıştırarak günlük işlemlerinizi halletmiş olursunuz.

Bu kadar da değil:

set send_human {.1 .3 1 .05 2}
send -h "Çok açım yemeğe gidelim mi?\n"

Bu ifade yazışmalarınızda; karşınızda biri klavye kullanıyormuş havası vermeye yarar. expect komutu ile karşıdaki kişiden gelen yanıta göre sohbeti dallandırabilirsiniz.

Expect'in tcl ve python modülü de bulunmakta.

atölye, bash, inceleme, linuxkaynak | yorumlar [0]


derin generics

Friday, June 22, 2007 6:52:00 AM tarihinde Fırat KÜÇÜK tarafından gönderildi.

Java 1.5 gelen jenerik tipler sayesinde tip dönüşümüne (casting) gerek kalmayan tip dönüşümleri yazmamız mümkün. Örneğin:

Java 1.4 yaklaşımı:

ArrayList liste = new ArrayList();
liste.add("Örnek String");
String ornek = (String) liste.get(0);

Java 1.5 yaklaşımı:

ArrayList<String> liste new ArrayList<String>();
liste.add("Örnek String");
String ornek = liste.get(0);

Java 1.5 jenerik tipi sayesinde String açık dönüşümü (explicit conversion) yapılmamış oldu.

Efendim bu da bugün yapmak zorunda kaldığım jenerik tiplerine uç bir örnek:

private Hashtable<String, Hashtable<String, ArrayList<String>>> ipTable;
ipTable = new Hashtable<String, Hashtable<String, ArrayList<String>>>();
inceleme, javakaynak | yorumlar [0]


javy baba dedi

Monday, June 4, 2007 8:04:00 AM tarihinde Fırat KÜÇÜK tarafından gönderildi.

Javy programlama dili 0.1 sürümüne yaklaştı. Şu an da JavaScript ve Python karışımı özelleştirilebilir imlası ile ufak çaplı swing programları, uç birim uygulamamaları ve hatta web uygulamaları yazılmakta.

Javy ile bu iletiyi yazdığım sırada bir web uygulaması yazmayı başardık. "org.javy.servlet.JavyServlet" sınıfı sayesinde dosyalar JavyInterpreter'a gönderilebilmekte. Wepy projesinin tecrübesini ve kodlarını da bu projenin web kısmına aktarmayı düşünmekteyiz.

java, javy, wepykaynak | yorumlar [2]


kod yazmadan nasıl gezegen yapılır?

Friday, May 4, 2007 2:32:00 AM tarihinde Fırat KÜÇÜK tarafından gönderildi.

Gezegen kavramı web 2.0 ile gelen bir kavram. Bir çok RSS çıktısını bir araya alıp görüntülemenize olanak tanıyor. Gezegen kavramının meşhur olmasını sağlayan ise hiç şüphesiz python tabanlı planet-planet yazılımı. Fakat biz bunu kullanmıyacağız.

Öncelikle ihtiyacımız olan RSS'e ait XML dosyalarını birleştiren bir hizmet sitesi. Bunun için feedblendr ve feedshake gibi siteler mevcut. Fakat son günlerin gözdesi harika araç yahoo pipes'ı öneriyorum.

Yahoo pipes kullanarak sürükle bırak işleçler ve olaylar kullanarak harika XML çıktılar vedaha fazlasını alabilyorsunuz. Yahoo'nun gelişmiş ajax alt yapısını burada tam manası ile görebiliyorsunuz. Bu işlemi nasıl yapacağınızı gösteren bir video mevcut.

Pipes'tan aldığınız çıktıyı daha zenginleştirmek için feedburner'a gönderiyoruz. Feedburner'ı esas kullanmamızın nedeni HTML çıktı sağlamamız için ufak bir javascript kodu vermesi. Feedburner'dan aldığımız javascript kodunu ise istediğiniz ücretli veya ücretsiz bir sitedeki HTML dosyasının içine yapıştırabilirsiniz.

Ben googlepages içerisinden bir layout seçip buraya yapıştırdım. Böylelikle estetik gözüken bir siteye de sahip olabiliyoruz. Eğer googlepages kullanıyor iseniz ve bir üst seviye alan adına sahipseniz. DNS ayarlarından CNAME tanımlayarak veya URL forwarding ile alan adınızı googlepages gibi bir alana yönlendirebilirsiniz.

atölye, incelemekaynak | yorumlar [0]


ben de burdayım

Wednesday, March 21, 2007 9:58:00 AM tarihinde Fırat KÜÇÜK tarafından gönderildi.

Macintosh'un "hello i am a pc and i am a mac" ile başlıyan reklamlarını biliyorsunuzdur heralde. Bilmiyorsanız [[http://www.youtube.com/results?search_query=apple+mac+pc+commercial&search=Search|youtube]]'dan hemen izleyin derim. E novell de boş durmamış. Bu reklamlara linux'u da eklemiş :)

eğlencelik, linux, mac, windowskaynak | yorumlar [0]




<<  <  1  2  3  4  5  6  7  >  >>  


pengulog

her hakkı erkektir © 2008 e-posta