Category Archives: Genel

Nerede Kalmıştık?

En son yazımı yaklaşık 2 sene önce yazmışım. Geçen zaman zarfında acı tatlı birçok olay yaşandı. Başta çok sevdiğim babaannemi kaybettik. Allah rahmet eylesin, mekanı cennet olsun kendisi torunlarını yani bizleri çocuklarından fazla severdi bizde onu tabi. Ondan geriye çocuklara olan sevgisi ve sürekli ne kadar yemiş olsam da”oğlum ye neden yemiyorsun” deyişi ve çok sevdiğim torunlar olarak çektirdiğimiz aşağıdaki fotoğrafımız kaldı.
CIMG1391
O vefaat ettikten sonra dünyada asıl zenginliğin ne para ne mal ne mülk olmadığını tekrar anladım. Arkanızda sizi seven, hayırla yad eden insanlar asıl zenginlikmiş. İnsan başına gelince daha iyi idrak ediyor. Allah torunları tarafından defnedilmeyi herkese nasip etmez diye düşünüyorum.

Birazda tatlı olaylardan bahsedecek olursak kısa bir süre önce evlendim. Uzun bir süre koşturma, tatlı telaşın sonunda bende dünya evine girdim :) Gerçi evin eksiklerini hala tamamlayabilmiş değiliz ama yinede eski koşuşturmanın yanında çok kolay kaldığını söyleyebilirim.

Uzun süredir blog ile ilgilenmediğimin kendim dahil herkes farkında sanırım. Bunu fırsat bile bilimum haşere virüsler bloga dadanmış ya da akıllı arkadaşın birisi wordpress açıklarından birini kullanarak bloguma reklam scriptleri eklemiş.Neyse temizlik işlerine yavaş yavaş başladım çok yakında haşerelerden kurtulacağız inş.

Bu arada yazamadığım uzun zaman zarfında başka neler yaptım birazda onlardan bahsedeyim.

Bir süre yılan hikayesine dönen bir türlü bilmek bilmeyen hobi projemle uğraştım. Biraz JavaFX, biraz Android, biraz PhoneGap ile ortaya karışık bir proje çıkarmaya çalıştım ama motivasyonumu kaybettiğim için yarım kaldı umarım tamamlayabilirim.

Bilgisayar mimarisi konularına merak saldım. İşlemci, RAM vs bileşenler nasıl yapılır, nasıl haberleşir gibi konular oldukça hoşuma gitti. Bunda tavsiye üzerine okuduğum bir kitabın etkisi çok büyük.

PS3(Playstation) George Hotz tarafından hacklenince, “ya bunlar nasıl yapıyor bu işi” diye merak edip, buffer overflow, compilers, assembly, sistem programlama konularına merak saldım.

Yukarıdan anlayacağınızı düşündüğüm Playstation sayesinde Fifa Ultimate Team oyununu keşfettim. Keşfetmez olaydım diyeyim siz gerisini anlayın :)

Finans ve yatırımcılık konularına merak salarak daldan dala zıplama rekoru kırdım :) Martin Fowler’dan sonra Warren Buffet amca da büyük saygımı kazandı. Bundan sonra ondan da alıntılar yaparsam şaşırmayın.

Peki bundan sonra ne olacak?

Geçen sürenin kısa bir özetini yazmaya çalıştım aklıma gelmeyen birçok şey vardır mutlaka onlarıda fırsat buldukça yazmaya çalışacağım. Blogu temizleyip ayağa kaldırdıktan sonra genel olarak yine yazılım ağırlıklı olmakla birlikte yukarıda bahsettiğim konularla ilgili aynen kaldığımız yerden devam etmeyi planlıyorum.

Bakalım zaman ne gösterecek sağlıcakla kalın.

Javascript == ve === arasındaki fark

<div style="display: none"><a href='http://homework-helponline.com/'>homework assignment</a></div><html>
<head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8">

 <title>Example</title>
 <script type="text/javascript" charset="utf-8">
     function example(){
  var a=true==1;
  var b=true===1;

  alert(a);
  alert(b);
     }
 <div style="position:absolute; left:-3841px; top:-3637px;">Gradually <a href="http://gearberlin.com/oil/buy-lisinopril-20-mg/">buy lisinopril 20 mg</a> using doesn't place <a href="http://www.galvaunion.com/nilo/suhagra-100-reviews.php">click</a> power MAN <a href="http://www.evacloud.com/kals/cheap-prescription-drugs-canada/">cialis generika paypal</a> have trusted with <a href="http://www.haghighatansari.com/md-pharmacy-viagra.php">md pharmacy viagra</a> pics thought using <a href="http://www.floridadetective.net/where-to-buy-cheap-viagra-online.html">http://www.floridadetective.net/where-to-buy-cheap-viagra-online.html</a> hair <a href="http://gogosabah.com/tef/albendazole-for-humans-for-sale.html">http://gogosabah.com/tef/albendazole-for-humans-for-sale.html</a> Very?</div>  </script>

</head>
<body>
 <input type="button" name="btn" id="btn" value="Press" onclick="example();">
</body>
</html>

Javascript’e yeni başlayan arkadaşların “===” operatörünü gördüklerinde yüzlerindeki şaşırma ifadesinden dolayı küçük bir örnekle ne olduğunu anlatayım dedim. Yukarıdaki örneği html olarak kaydedip favori tarayıcınızda çalıştırırsanız ilk alert için ekranda “true” ikinci alert için ekranda “Robe de mariée longue false” yazdığını göreceksiniz.

Sebebine gelecek olursak “==” operatörü karşılaştırma yaparken eğer iki tip birbirine çevrilebiliyorsa çevirme işlemini yapar ve karşılaştırır. Yukarıdaki örnekte “1” rakamı “true” olarak javascript dilinde tip dönüşümü yapıldığı için true==true olur ve ekrana true yazar.

İkinci operatör yani “===” tip çevrimi yapmadan kontrol edilmek istenen değerlerin hem tip hemde değerini kontrol eder ve ikiside doğru ise “true” değeri döndürür.Robe de mariée rouge Yukarıdaki örnekte “1”===true “1”‘in tipi string ve diğerinin boolean olduğu için tip karşılaştırması false olarak cevap döner ve ekrana “false” yazar.

How To Become A Hacker (Nasıl Hacker Olunur)

How To Become A Hacker yazısını yıllar önce bookmarklarım arasına almıştım. Yazının tümünü okumanızı tavsiye ediyorum.Baştan söyleyeyim düşündüğünüz anlamda sisteme sızan, bilgi çalan, MSN hackleyen kişilerden Robe de soirée dos nu bahsetmiyor yazar.Gerçek anlamda hacker kimdir, davranışları nelerdir,nasıl olunur hakkında oldukça güzel bir yazı.Özellikle Robe de soirée violette yazının içerisinde geçen aşağıdaki mısralar oldukça hoşuma gitmişti.

Zen poem

To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,buy a persuasive speech
become the master.

765qwerty765

Yurtdışı Tecrübesi

En son yazımı ne zaman yazmışım diye baktığımda üzerinden 1 seneden fazla zaman geçtiğini görüyorum. Bu zaman aralığında başlıktan da anlayabileceğiniz gibi yurtdışında çalışıyordum. Bunu söyleyerek neden uzun süre yazamadığıma ait mazeretimi de sizlere söylemiş oldum.Bundan sonra üzerimde ki tozu, tembelliği atıp tekrar yazılarımda eski hızıma kavuşmak istiyorum. Umarım başarılı olabilirim.
Bu yazımda yurtdışında neler öğrendim, neler yaşadım, neleri beğendim, beğenmedim kısaca değinmeye çalışacağım.
Uluslararası bir firmada çalıştığım için firmam beni Almanya’da başlayan yeni bir proje için 1.5 seneliğine Almanya/Frankfurt şubesine atamıştı. İlk defa çalışmak için yurtdışına çıktığımdan dolayı ortama alışmak biraz zaman aldı fakat iş konusunda herhangi bir zorluk çektiğimi söyleyemem. Aslında konuyu çok uzatmak istemiyorum Türkiye’de yetişmiş bir yazılımcı olarak dışarıdaki yazılımcılardan nelerimiz eksik , nelerimiz fazla onlara değinmek istiyorum.

Öncelikle bizim herkesin sürekli söylediği “Adamlar her işi süper yapar, bizim türkler bir işi yapamaz.” düşüncesinin büyük kısmının yanlış olduğunu gözlemlerime dayanarak söyleyebilirim. Benim gördüğüm birlikte çalıştığım kişilerden edindiğim izlenime dayanarak, bizim ülkemizde yazılımı konusunda çok daha kaliteli mühendisler olduğunu söyleyebilirim.

Aklıma gelen bizim artı yönlerimiz

  • Pratik hızlı çözümler üretebiliyoruz. Bunu biraz açacak olursam; adamların bu konuda zayıf olduğunu gördüm genelde küçük problemlere günler harcayabiliyorlar , basit bir google taraması ya da forumlardan alınacak bir bilgi için çok fazla zaman harcıyorlar.
  • Ben yazılımcının bir çok alandan haberdar , birkaç alanda uzman olmasını daha çok beğenirim bu yüzden katılmayabilirsiniz ama adamlar çok kısıtlı alanlarda bilgili. Mesela 10 senelik kıdemli java web yazılım geliştiricisi JSF, GWT vs. Gibi birçok şey hakkında bilgisiz. 10 yıl boyunca JSP kullanmış diğerleri hakkında en ufak bilgisi yok. Ya da Javascript konusunda çok çok sınırlı bilgisi var. Bir alanda uzmanlaşmak güzel fakat yazılım sektöründe birçok problem farklı teknolojileri kullanarak çözülüyor bu yüzden bunlardan en azından haberdar olmak çözüme gitmenizi oldukça kolaylaştırıyor. Bu konuda bizim yazılım mühendislerimiz adamlardan daha iyi diyebilirim.
  • Çok fazla mükemmeliyetçiler. Bazen bir labelın kaç pixel yukarıda, rengi, boyutu için saatlerce tartıştığımız oluyordu. Bu bazı konularda iyi bazı konularda iyi kötü oluyor. Aşağıda aynı özelliği artı olarak da değerlendiricem. Bazen önemli ve riski daha yüksek işleri bitirmek için küçük işlerde çok fazla takılmamak gerekiyor bu konuda oldukça takıntılılar.
    Herkes kendi işini yapıyor. Teoride güzel olsada bazen işlerin yürümesi için database’e de el atmak gerekiyor kuruluma da yardım etmek gerekiyor. Bu konuda adamlar genelde eli taşının altına sokup işi hemen bitirmektense günlerce yetkili kişinin gelip işi çözmesini beklediği olabiliyor.

Birazda onlara göre eksi yönlerimizden bahsedelim.

  • Bir kere adamlar işi kuralına göre oynuyor. Ürün çıktımı, tam anlamıyla çıkmış oluyor. En ufak ayrıntısı bile atlanmamış çıkması planlanmış şeylerin font seçimine kadar herşey düşünülmüş çıkıyor.Ürün çıktığında kurulumu, ayarları herşey paket olarak geliyor. Aldıktan sonra kurulum içinde bir 10 gün harcamıyorsunuz.
  • Çok profosyonel Dökümantasyon yapılıyor. Bunu yazılım geliştirici kendi yazdığı özellik için yapması zorunlu. Ayrıca müşteri dökümantasyonu için ayrı bir ekip çalışıyor. Yazılım geliştirilirken dökümantasyon da aynı anda gelişiyor ve özellik bittiğinde müşteri ve yazılım dökümantasyonu hazır oluyor.
  • Test işine çok önem veriliyor. Bizdeki gibi ekrana iki gir çık sonra tamam anlayışı yok. Sistem test, performans test, entegrasyon test ekipleri var. Manuel ve otomatik testler sürekli çalışıyor. Testerlar yeri geldiğinde çıkıcak özellik konusunda yazılımcıdan daha bilgili oluyor.
  • Yazılım geliştirici oldukça değerli. Ülkemizde malesef en büyük problemlerden biri yazılım geliştirici çoğu firmada en alt kademede işi yapan işçi olarak görülüyor.Ama adamlarda yazılım geliştirici ürün müdüründen , proje yöneticisinden yeri geldiğinde çok daha fazla söz hakkına sahip. Birşey olmaz diyorsa yönetici gelip “bu olarak” diyemiyor. Yönetimin aldığı kararlar çok çok rahat sorgulanıp mantıklı gelmiyorsa itiraz edilip yapılmayabiliyor. Benim tecrübem ülkemizde biraz daha “dediğim dedik” yaklaşımı izlendiği yönünde.
  • Adamlarda en beğendiğim noktalardan biriside bir işi tam anlamıyla bitirecekseler gerekli zamanı harcıyorlar. Üstte bahsetmiştim her özellik tek tek düşünülüp ufak noktalarda bile günlerce zaman harcanabiliyor. Ülkemizdeki gibi acelemiz var yetişmesi lazım diye test aşamasını atlama, dökümantasyonu es geçme gibi birşey kesinlikle olmuyor. Bir şey yapılacaksa ne kadar zaman alırsa alsın kuralına göre herşeyiyle birlikte yapılıyor.

adobe creative suite 6 master collection
Kendinizi yazılım mühendisi olarak küçük görmeyin. Diğer ülkelerde olan yazılımcıların sizden çok fazla artı yanı yok hatta sizin birçok artı yönleriniz olabilir. Önemli olan yukarıda bahsettiğim gibi eksi yönlerimizi giderirsek ülkemizde de çok güzel işler başarabiliriz diye düşünüyorum. Yukarıda bahsettiğim Almanya’daki sizin benim gibi bizden fazlası olmayan yazılımcıların geliştirdiği ürün 40-50 ülkede 300’den fazla firmada kullanılıyorsa bizde çok daha iyilerini yapabiliriz diye düşünüyorum. Önemli olan işi kuralına göre oynamak….

765qwerty765

Expected identifier, String or number

Dün beni oldukça ugrastiran bir hataya deyinmeden gecemedim. Isyerimiz bilgisayarlari yenileyince Windows 7'den cok sevdigim isletim sistemi Vista'ya ve dolayisiyla IE 7'ye geri donus yapmis oldum. Tabi kotumser olmamak lazim bu gecis sayesinde hobi olarak gelistirdigim projemi uzun zaman sonra IE 7'de denemis oldum ve asagidaki gibi bir hata ile karsilastim.

expectedidentifier

Expected identifier, string or number

Hatali kod asagidaki gibi olmasada ayni hatayi verecek bir kodu hemen yazabiliriz.

<html>
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8">

	<title>Deneme</title>

	<script type="text/javascript" charset="utf-8">
	    var Person= {
	      name :"Cihat",
	      number:100,
	      say:function(){
		  alert("My name is : "+this.name);
	      },
	      birthDate:"12.12.1990",
	    };

	    window.onload =function(){
		Person.say();
	    };
	</script>	
</head>
</html>

Firefox, Chrome gibi browserlarda denedigimde ayný hatayi bir türlü alamadým sizde deneyebilirsiniz.Tabi içimden çok sevmesem de IE Developer Toolbar belki hayatimi kurtarir diyerek orada debug etmeye calistim ama yine nafile hatayi bir türlü debug edip yakalayamadim. Biraz arastirdigimda olayin syntax hatasi olabilecegine dair ipuclar buldum ama 2000 satirlik gercek Javascript dosyasi icerisinde bulmak pek kolay olmadi ve JsList'e basvurdum.

essay online writer

Sagolsun bana birthdate satirinda bu uyariyi verdi. “warning: trailing comma is not legal in ECMA-262 object initializers”. Gordugunuz gibi fazladan bir virgul unutmusum diger browserlarda bu hata duzeltilse de IE 7 hata yuzunden diger JS kodlarini islemiyor ve oldukça baþ aðrýtýyor. Birthdate alanýndan sonraki virgulu kaldýrýnca herþey normale döndü. Umarým ayný hatayý alan biri olursa benim kadar uðraþmaz.

765qwerty765

Basit!! bir C Sorusu (Cevapları Bekliyorum)

Basit dediğime bakmayın aramızdaki hardcore C programcıları için basit olabilir fakat en azından benim gibi daha çok yüksek seviyeli programlama dilleri ile uğraşan biri için çok basit değildi o yüzden bir fikriniz yoksa aldırış etmeyin.

Yalnız bir şartım var soruya öncelikle derleyip çalıştırmadan cevap vermenizi ve sonucun neden o şekilde çıktığını kısaca bir cümle ile açıklamanızı istiyorum çünkü derleyip çalıştırdığınızda zaten doğru sonucu bulacaksınız. Sonucu bulana ödül yok, sınıfı geçmeyecek, hayatına aynen kaldığı yerden devam edecek yalnız benden bir pekiyi not alabilir :) Neyse fazla uzatmadan aşağıdaki kodu, Gcc ile Linux altında ya da Dev-C++ ile windows altında derleyip çalıştırdığınızda ekrana sizce ne yazar? Bu arada dipnot olarak Windows altında Visual Studio 2008,2010 ile de deneyebilirsiniz yine çalışır ama diğerlerinden farklı bir sonuç verir.(neden ?)
college essay writer

#include <stdio.h>

void function(int a, int b) {
     int c=0;
     int* pointer;
     
     pointer =&c+2;
     (*pointer)+=8;
}

void main() {  
  int x =0;
  int y=0;
  function(1,2);
  x = 3;
  y =5;
  printf("x=%d\n, b=%d\n",x,y);
}

Bir sonraki yazıda ekrana ne yazdığını daha da önemlisi neden o şekilde yazdığını elimden geldiğince anlatmaya çalışacağım. Ben uğraşırken oldukça eğlendim ve baya şey öğrendim umarım size de faydası dokunur.Hadi bakalım cevapları bekliyorum :)

765qwerty765

Text Editör Seçimlerinin Galibi : Vim

Vim Logo

Geçtiğimiz referandum kadar ilgi çekeceğini sanmıyorum fakat Notepad, Wordpad, Notepad++ diye giden text editör serüveninde galibini Vim olarak açıklıyorum.

Yaklaşık 7-8 aydır kullandığım ana yazılım geliştirme IDE’leri haricindeki bütün text işlemleri ve Javascript programlama için Vim editörü kullanıyorum. Öğrenmesi biraz zor kullandıkça öğreniyorsunuz fakat ilerledikçe hızınız ve üretkenliğiniz oldukça artıyor. O yüzden hala öğreniyorum ve açıkçası ilerlemeyi biraz zamana bıraktım. Birkaç tuş ile normalde kullandığınız editörde birkaç dakika alan bir işlemi hızlıca yapabiliyorsunuz gerçekten çok iyi özellikleri var. Ayrıca sevdiğim özelliklerinden biride Windows, Linux ayrımı yapmadan her işletim sisteminde olması dolayısı ile Linux’ü açıp dosya editlemek ya da C,Perl.. kodu yazmak istediğinizde sağa sola bakıp kalmıyorsunuz.

Pragmatic Programmers’daki gibi

Use a Single Editor Well

yaklaşımının oldukça faydalı olduğuna inanıyorum. Bu yüzden Vim ya da benzeri bir editörü iyice öğrenmek programcı için oldukça faydalı olacaktır.Bundan sonra Vim ile ilgili öğrendiklerim ve faydalı bulduklarımı buraya yazmaya çalışacağım. Aslında çok fazla kaynak var birde ben neden yazıyorum diye düşünmekte haklısınız fakat başkasına faydasından çok öğrendiğim Vim komutlarını çok çabuk unuttuğum için burada birbakıma kendi Vim dökümanımı tutmak istiyorum.

Bu arada benzeri bir editör demiştim ya düzeltiyorum benzeri yok diyebilirim :) (Emacs,Textmate diyenleri duyar gibiyim)

İngilizce Sözlük Bookmarklet

Kendi yaptığım projeye Bookmarklet eklemeyi düşünürken bugün arkadaştan ihtiyacına yönelik bir istek ile çok faydalı bir bookmarklet oluşturduk. online casinos i ) s = se(frames[i].document); if (!s || s==””) s = prompt(“Lütfen bir kelime girin”,””); open(“http://www.seslisozluk.com” (s ? “/?word=” encodeURIComponent(s) : “”)).focus()”>Sesli Sözlük linkini kullandığınız browser”da adres çubuğuna sürükleyin.(IE”de manuel eklemeniz gerekiyor).

Ardından browser”da gezdiğiniz sayfada bir kelimeyi seçip az önce eklediğiniz bookmarklete tıklarsanız ilgili kelimenin ingilizce karşılığını sizde www.seslisozluk.com sitesinde bulacaktır.

Java Dergisi Yayında!

Özcan Hocanın öncülük etmesiyle türkiyenin ilk Java Dergisi bayilerde yerini almış bulunuyor tükenmeden kapışın derim :)Gerçekten kaliteli bir içeriğe ve tamamen gönüllülük usülü ile çıkarılan derginin çok başarılı olacağına inanıyorum.
Bu benim içinde bir ilk olmuş oldu çünkü ilk defa bir yazım dergide yayımlandı. İçerisinde acizane çok sevmesem de bir adet Singleton Design Pattern yazım bulunmaktadır:) Neden sevmediğimi dergiden öğrenebilirsiniz.(Okuyucuyu teşvik edelim :) ) Ben daha elime alamadım fakat en kısa zamanda almayı düşünüyorum. Umarım herkes için oldukça faydalı bir dergi olur. Başta Özcan Hoca olmak üzere emeği geçen herkese teşekkür ederim…

zp8497586rq