Monthly Archives: Haziran 2006

Suböreği + Ray Charles + Fransızca

ray charlesMadem bu bir günlük, bir seferliğine de bir günlük gibi yazayım. )

Bugün kahvaltıdan sonra kendime bir ray charles seçmesi yaptım, sabah yorgunluğundan ayrılıp akşamki fransızca finaline çalışmak için enerji verdi. Tarifi veriyorum:

1. I’ve got a woman (2)
2. Mess around (2)
3. Mary Ann
4. Unchain my heart
5. Hit the road Jack

Kayahan şöyle mi demişti ?
“Sana güzel şarkılar, bana fransızca kitabı…”

biraz php, biraz java, biraz .net

Finaller, Netsis’te staj, teyzemin kaybolan anahtarları derken; çeşitli cephelerden çeşitli gelişmeler yüzüme tokat gibi şapladı. Öncelikle, php’ci çılgın bir abinin (adam dunkels) php ürününden bahsedeceğim.

php-code.jpgDunkels, php ile basit bir “web server” yazmış. Bu da yetmemiş, web sunucusunda kullanmak için bir “tcp/ip stack” de yazmış. Ayrıntılı bilgiye ve kaynak kodlara http://www.sics.se/~adam/phpstack/ adresinden ulaşabilirsiniz.

Birileri de .Net Framework üzerinde çalışan JVM yazıyorlarmış (IKVM). Böylece derlenmiş java byte-code, Mono veya .Net Framework üzerinde çalışabiliyor. Mono, ayrıca PHP, Javascript, Object Pascal gibi daha bir çok dili de derleyebiliyormuş.

 

IKVM sayfası:

http://www.ikvm.net/

 

 

Mono’nun desteklediği diğer diller için:

http://www.mono-project.com/Languages

 

Bir yandan da, birileri biz bunun tersini yaparız demişler. .Net bytecode’u (intermediate language) java bytecode’a çevirerek, java destekleyen tüm platformlarda(solaris, linux, diğer xler…) çalışır hale getiriyorlarmış.

Mainsoft:

http://www.mainsoft.com/products/index.aspx

vmwj2ee_howitworks.jpg

Şu java ve .net arasındaki “side-by-side” uyumluluk daha başımıza çok işler açacak…

php mi döver asp.net mi?

Bugün php-sever bir web programcısı olarak asp.net ve c# ile sha1 hash algoritması üzerine ilginç bir deneyim yaşadım. Düşündüm ki sha1 hash almanın bu iki farklı yolu, php ve asp.net arasındaki farkı merak edenler için açıklayıcı olur.

Php’de nasıl sha1 hash alınır?

$hash = sha1(”kuzu”);

bu kadar )

Peki C#’ta sha1 nasıl alınır?

HashAlgorithm sha1 = new SHA1Managed();
string cevrilecekstring = “kuzu”;
string sha1string = “”;
byte[] cevrilecekbytes;
byte[] sha1bytes;
//verilen string, byte dizisine çevrilir:
cevrilecekbytes = Encoding.Unicode.GetBytes(cevrilecekstring);
//elde edilen byte dizisi, computehash fonksiyonuna verilir ve sonuç byte dizisi elde edilir.
sha1bytes = sha1.ComputeHash(cevrilecekbytes);
//sonuç olarak sha1 hash, bu byte dizisindedir. ama binary olarak. bunu hex’e çevirmek gerekir:
foreach (byte b in sha1bytes)
sha1string +=
string.Format(“{0:x2}”, b);
//artık sha1string değişkeninde hex olarak kodlanmış sha1 kuzu kuzu yatmaktadır.

Sonuç

PHP güzel, şirin, işlevsel bir “scripting” dilidir. ASP.NET ise .NET mimarisiyle çalışır ve .NET nesne temelli, güçlü bir framework’tür.