Oneriler

Javaya nasil baslarim? Nasil ogrenirim?

Java Yazarken Ne Gibi Kod Standartlarina Dikkat Etmeliyim?

http://www.oracle.com/technetwork/java/codeconv-138413.html linkini inceleyerek baslayabilirsin.

Java Dilinde Olan Degisiklikler Nasil Bir Surecten Gecip Dile Ekleniyor?

https://www.jcp.org/en/home/index adresini inceleyebilirsin.

Oracle Certified Professional, Java SE 6 Programmer Hakkinda // Ileri duzey Java SE bilgisi icin

Mezun olduktan sonra Java ilanlari icin is gorusmesine gittiginizde size bu sinavlarda cikan sorulara benzer 10/15 soruluk bir test yapan yerler olacaktir. Ayrica her yerde abstract class , interface , Thread , Collection vb konularda soru soracaklardir. Oturup bu sertifikayi alir cebinize koyarsaniz is buyuk olcude sizin olacaktir.

Ileri duzey Java SE bilgisi gerektiren ve hazirlanildiginda ciddi anlamda Java SE bilgisi kazandiracak ve sektorde faydasini goreceginiz bu sertifikaya dair bilgiyi,kaynaklari ve daha fazlasini detayli bir sekilde surada bulabilirsiniz;

http://www.injavawetrust.com/oracle-certified-professional-java-se-6-programmer-hakkinda/

Levent Erguder

Java ogrenmek icin ne kadar sure gereklidir ?

Ogrenci arkadaslar heyecanla Java ya nasil baslarim diye soruyor bol miktar. Biri de demiyor ki bu is ne kadar vakit alir, bir kac ayda sadece Java SE bilmek bile mumkun degil. Sadece onerdigim Herbert Schildt Herkes icin Java gibi bir kaynagini anlayarak duzgunce calismak bol kod yazmak bile yaklasik 1-2 sene surebilir. Bu da Java SE de ileri oldugunuz anlamina gelmez ayrica. Sonra Java zor deniliyor , Java zor degildir, Java ciddi bir dildir.

Ogrencilikte en gec 3 sinifa gelindiginde Java SE gramerine asina olunmus bol bol kod yazilmis olsun. 3 ve 4 sinifta Java EE bazli yapilar uzerinde calisip, ortaya guzel projeler cikartilmalidir. Bu onerim Java kariyeri isteyen ,Java asiklarinadir.

Java SE’den Sonra Ne Öğrenelim? İş Arayanlara Öneriler

Akin hocamizin onerileri;
Java SE’den Sonra Ne Öğrenelim? İş Arayanlara Öneriler

Bir sorum var, sorabilir miyim?

Insanlar genelde soru sormaktan cekiniyorlar, bunun nedeni genel olarak cekinmek ve sorusuna gelen yorumlarin rahatsiz edici olmasi. Bununla birlikte soru sormadan once “duzgun soru sorma” kavramini biraz arastirmak faydali olacaktir.

Soruyu soran elinden geldiginde duzgun soru sormalidir. Neyi nasil yaptigini,neyi yapamadigini, net acik temiz bir dille aciklamak faydali olabilir mesela, daha fazlasi icin;

Soru sormak ile ilgili daha ayrintili bilgi icin nasil akillica soru sorulur kaynagini mutlaka okumanizi oneririz.

Levent Erguder

Odevim Var, Yardim Edin!

Odevler, projeler sizin sorumlulugunuzda. Odevler ve projeler uzerinde ciddi olarak caba harcanmamissa yardimci olmuyorum. Malesef saatlerce oturup odevinizle projenizle ilgilenecek vaktim yok, projede odevde asil tikanilan sorun nedir , neler yapildi neler yapilmadi ne kadar calisildi kafa yoruldu butun bu parametrelerle birlikte duzgunce soru sorulursa cozum daha kolay olabilir. Universite zamani ugrastigimiz projelerde bazi geceler ertesi gun aksam 5 e kadar hic uyumadik, en az bu vakte kadar hic uyumadan calismadan “cok calisim olmadi ” diye bahane uretmeyin 🙂

bana javada yan yana ve yukarıdan aşağıya doğru 1 den başlayıp 9 a kadar ve sonra 0 dan yine 9 kadar sayıları ekrana girilen sayıya kadar yazan programı söyleyebilir misiniz?

Bu tarz sorulara yardimci olmuyoruz. Cunku bu konulara yardim etmek size yarar degil zarar saglar.

Problem sizin probleminiz; odev de sizin odeviniz. Bu odeve yapip, yeni seyler ogrenecek kisi de sizsiniz. Java tembellere gore bir dil degildir. Eger caba gostermek istemiyorsaniz, yol yakinken baska bir ugras secin kendinize.

Bunun Java ile bir ilgisi yok. donguler, degiskenler vb konular “temel” noktalardir. Bunun icin once oturup C gibi bir dilde calisin.

Tekrar ediyorum; Gercekten caba gosterilmeyen konularda yardimci olmuyoruz.

1-2 for dongusu ile cozulebilecek konulari hic ugrasmadan soruyorsaniz ve EN ONEMLI nokta bunla ugrasmaktan keyif almiyorsaniz, bu isi birakin.

Herkes yazilimci olmak zorunda degil 🙂

Levent Erguder

Is bulabilir miyim? Acikta kalir miyim?

Oncelikle hayatta hic bir seyin garantisi yoktur, olum haric. kullu nefsin zaikatül mevt

Sunu rahatlikla soyleyebilirim: Yazilima gonul veren, kendini gelistirmeye ozen gosteren biri bir sekilde isini bulacaktir.

Onemli olan sabirla calismak ve kendini en iyi sekilde gelistirmek. Iyi bir yazilimciya her yerde her zaman ihtiyac vardir 🙂

Bununla birlikte konu sadece kod yazmaktan ibaret degildir. Ornegin bir onceki calistigim firma olan Huawei de veya farkli sirketlerde “Test Engineer” , Quality Engineer , Design Enginer gibi etiketlerde mevcuttu.

Ben back-end calismayi ve Java ile calismayi seviyorum. Siz css,html, js gibi dillerle calismayi ya da tasarim vb sevebilirsiniz. Burada onemli olan sevdigin alani bulmak sonrasinda bundan keyif alarak calismak. Severek yaptiktan sonra adim adim guzel isler Allahin izniyle bulunacaktir. Kendimden ornek verecek olursam ben istedigim iste calismak icin 2 kez is degistirdim ve bu surec yaklasik 1 sene surdu. Pes etmedim 🙂

Levent Erguder

Hangi dili ogrenmeliyim?

Bu soru biraz da “abi birkac tane kiz var kafamda hangisi olsun?” gibi geliyor 🙂

Sen nasil bir adamsin ne bekliyorsun. Bir konus bakalim bu kizlarla, hangisi kafana yatacak.

Hangisi ile konusmak keyif verecek(codin). Hangisinin triplerine(exceptions) anlam veremeyeceksin vs

Tesbihde hata olmaz 🙂 kisacasi;

Bu sorunun cevabini kendiniz vermeniz gerekir :):

  • 1 ve 2 siniftaki arkadaslar C ,C ++, Java, C#, PHP, Ptyhon gibi cesitli farkli dilleri ve teknolojileri denemelerini ve hangisinini daha cok sevdilerse o dillerle devam etmelerini oneriririz.
  • Mobil isteyen arkadaslar Android dusunuyorlarsa guzel bir Java SE bilgisi edinip , sonrasinda Android konusuna girebilirler.

Ileriye donuk olarak da Kariyer.net uzerinde arastirma yaptiginizda hangi teknolojiler diller frameworkler isteniyorsa size guzel bir referans olacaktir.

Turkiyede acikcasi PHP konusunda ucret biraz daha dusuk gibi. Su ara IOS&Android i beraber bilenler gozde gibi. Siz mezun olana kadar ne olur orasini bilemiyoruz 🙂

Bu mobil konusunda farkli olaylarda var, oturup arastirmak gerekli. Java EE size guzel bir kariyer ve sayginlik kazandiracaktir. Olayin bir de Oracle DBA tarafi var.

Guzel bir arastirma ve farkliliklari deneyerek ogrencilikte karar vermek daha mantikli olacaktir.

Tek basina Java SE bilgisi yeterli olmamaktadir, mezun oldugunuzda sizden cesitli frameworklerle proje gelistirmis olmanizi en azindan ugrasmis olmanizi bekleyeceklerdir.

Ornek olarak Hibernate, Spring, Servlet&JSP, JSF Primefaces vb. Bunlarin hepsinde uzman olmaniz zaten beklenmez. Bunlarin her biri ayri ayri bir kac yil calisilmasi gereken konular.

Ayrica hangi dilde ilerlerseniz ilerleyin karsiniza az cok cikacak meseleler; SQL bilgisi (Javacilar icin tercihen Oracle), JavaScript ,HTML, CSS, JQuery bilgisi arti puan olacaktir.

Butun bunlari dogru duzgun ogrenebilmek icin ingilizce mutlaka dokumanlari okuyacak, cesitli ingilizce kaynaklardan bir seyler anlayacak kadar gereklidir. Ne kadar iyi olursa okadar iyi olacaktir.

Burada onemli olan aski bulmaktir. Aski bulduktan sonra bol miktar emek harcamak ve calismak gerekir. Seven sevdiginden cok bahseder cok anar. Bir adam dusunun bir kizi sevdiginden bahsediyor ama hic emek harcamiyor, bu adamin sevgisini sorgularsiniz degil mi 🙂 Siz de bu isi calistiginiz dili ne kadar seviyorsunuz bunu kendinize sorun oncelikle.

Eger calistiginiz dilden keyif almiyorsaniz, bu isi sadece para icin yapiyorsaniz tabi kisisel tercihiniz. Ben boyle bir adam olmadim olmayi da dusunmuyorum. Benim burada onerilerim bu isin asiklari icindir ve gordugum en deli asiklar da ne guzeldir ki Javacilardan cikiyor. Ben Java uzerine konusmaktan bile keyif aliyorum. Eger boyle bir adam degilseniz zaten herhangi bilde calismaniz cok da problem olmaz.

I dont work for money, I live with java 🙂 I love java, and brunette girls. – Levent Erguder

Ornek Guzel Soru (ve Cevabi) 🙂

Selamlar. Sosyal ağ tarzı bir web sitesi ve mobil uygulama hazırlamak için (sadece mobil uygulama da olabilir) genel olarak tavsiyeleriniz neler? Hangi dil, hangi framework, hangi yapılar(web servis, api, json vs) gibi tavsiyelerinizi alabilir miyim? Teşekkürler. –

Egğer java kullanacaksan, Arayüzde JSF, library olarak da Primefaces kullanmanı tavsiye ederim. ben zamanında GWT ile bir sosyal ağ yazmıştım. Kod büyüdükçe compile olayı ve testi zorlaşıyor. Mobil tarafına data aktarmak için restful web servislerini kullan sintak için de json kullan böylece çok hızlı data aktarabilirsin mobil tarafına. Uygulama sunucusu mu kullanacaksın yoksa tomcat veya jetty gibi bir web server mı? bu da diğer frameworklerde ne kullanman gerektiğini etkiler. Application server olacaksa, spring yerine ejb 3.0 veya 3.1 tavsiye ederim. çok daha sade. jpa kullanırsan da, persistence için hibernate veya eclipselink farketmez. benim tavsiyem bi tane vps sunucu kirala en az 2gb ram olsun. glassfish uygulama sunucusu ve arkasına da mysql. ziyadesiyle içini görür.

Hangi IDE kullanilmalidir?

Ogrencilikte ben daha cok Netbeans kullaniyordum. Sektorde daha cok Eclispe kullanilmaktadir. Bazi yerler de IntelliJ IDEA kullanilmaktadir.Bu urun ucretli bir IDEdir, kullanlarin baya memnun oldugunu soyleyebilirim. Bir kac ide yi kullanmak asina olmak daha iyi olacaktir. Sektorel oneri olarak mutlaka Eclipse, sonrasinda Intellij IDEA. Yeni baslayan ogrenci arkadaslara onerim Netbeans olacaktir. Burada onemli nokta kullandiginiz IDEye hakim olmaya calisin. Bu verimlilik, hiz saglayacaktir.

IDE’ye hakim olmanin soyle bir faydasi da olacaktir, ornegin is gorusmesine gittiginizde size kod yazdiracaklardir. Bi hizli seri sekilde sinif vs olusturup ne bileyim getter/setter lari olusturmak var bir de yavas yavas olusturmak var. Boyle bir ek faydasi da olabilir. Silahinizi iyi taniyin 🙂

Levent Erguder

Oneriler

  1. Java heves ve hirsla degil azim ve sabirla ogrenilir. Bu nedenle oncelikle mutlaka guzel bir Java temeli gereklidir. – Guzel bir kaynak kitaptan adim adim gitmeli bol miktarda ornekler kodlar yazilmalidir. Anlasilamayan noktalar arastirilmali ve anlayana kadar pesine dusulmelidir!
  2. Staj yeri bulmak.
    1. Staj Yeri ve Is aramaya dair bir kac kucuk not, devami gelecektir. – Iyi bir yerde guzel bir staj yapmak sonrasinda size o guzel yerde calismaya devam etmenizi saglayacaktir.
    2. Bu yerlerde taniyacaginiz kisilerin size ilerde yardimi olabilir.
    3. Staj yeri bulmak icin calismalara onceden baslayip, bu konuda mailleri on yazilari cvyi titizlikle hazirlayip gondermek faydali olacaktir.
    4. Sakin sadece 1 – 2 yere mail atip beklemeyin, cogu yer cogu zaman cevap bile donmeyecektir. Ayni gun 20-30 belki daha fazla mail attigim zaman da oldu
  3. Bir blogunuz mutlaka olsun , cesitli arastirmalari uygulamalari ornekleri buralarda kendinize not tutar gibi yazabilirsiniz.
  4. Bu isi sevdiginizi istekli oldugunuzu gostermek gerekli.

    Levent Erguder

  5. GitHub hesabi olmayanin kulagini cekiyoruz; bir GitHub hesabiniz mutlaka olsun; **tum calismalarinizi GitHub uzerinde tutun, “insanlar benim kodumun ne kadar kotu oldugunu gorurler”, “ama bu koda bakan beni ise almaz ki?” diye cekinmeyin. – Kodunuzu gormeyen kisinin sizi ise almasi cok daha zordur, ayrica kodunuzu dis dunyaya acmak sizi daha kaliteli kod yazmak konusunda da disipline edecektir.

    *Volkan Ozcelik *

Dream In Code

Bu onerim ozellikle 1. ve 2.siniftaki arkadaslara olacaktir. Okulda ilk gosterilen dil muhtemelen C dir diye dusunuyorum.Oncelikle C de mutlaka bol miktar kod yazin.

Her dilde temel olan; degiskenler(variables), donguler (loop), akis kontrolu (flow control , if , else switch ) , diziler (array) , cok boyutlu diziler (multidimensional) konularda bol miktar pratik yaparak ve algoritma konusunda kafa yorarak vakit harcayin.

Bu sekilde bol miktar pratik yaptiktan sonra sirasi geldiginde ister Java , ister C# ya da baska bir dili ogrenmek daha kolay olacaktir.

Ogrenmenize ivme katacak sey kod yazmayi , sabirla okumayi , arastirma yapmayi ne kadar sevdiginizdir. Simdiki aklim olsa universite zamani cok daha fazla calisirdim 🙂

Levent Erguder

Ingilizce Ogrenin

Turkce kaynaklar sizi sadece orta seviyeye kadar tasir. Daha ilerisi ve sektordeki guncel gelismeleri takip etmek icin mutlaka Ingilizce ogrenin. Ingilizce ogrenmek icin ayirdiginiz bir sene, teker yuvar Turkce kaynaklardan Java ogrenmek icin ayirdigini uc seneden daha yararli olacaktir. Dil ogrenmeyi zaman kaybi olarak gormeyin, gunde bir saatinizi Ingilizceye ayirin, Ingilizceyi yasaminizin bir parcasi yapin.

  • Film ve dizileri ingilizce altyazili, yapabiliyorsaniz altyazisiz izleyin;
  • Size ait Ingilizce bir teknik blogunuz olsun (ileride Silikon Vadisi’ne yolunuz duserse size mutlaka yardimi dokunacaktir
  • Ingilizce teknik newsletter, forum, tartisma grubu, ve diger siteler uye olun. Aktif olarak katkida bulunmaya calisin.
  • Google aramalarindan Turkce sonuclari kaldirin: https://support.google.com/plus/answer/1044955?hl=en
  • Iyi duzeyde Ingilizce bilmeniz, Turkiye’de maasinizia arti birkac bin lira olarak yansir.
  • Kaynak bulamiyorum diye bir bahaneyi kabul etmiyoruz: http://www.livemocha.com/http://www.learn-english-online.org/benzeri pek cok site var; buralarda dilinizi gelistirmeniz cok kolay –Search the Fucking Web!
  • Ingilizceden ingilizceye bir sozluk kullanin, Turkce’den Ingilizce sozluk kullanirsaniz Ingilzice dusunemezsiniz.
  • da guzel bir sitedir.
  • “Ben internetten degil, okul ortaminda ogrenirim” derseniz, http://www.wse.com.tr/ metodoloji olarak cok basarili. Eger ogrenme isteginiz varsa cok iyi duzeyde Ingilizce sahibi olabilirsiniz. Ingilizce egitimi veren ucretli ve ucretsiz baska okul ve topluluklar da var.

Sorular ve Cevaplar

“X Dili Turkiye’de is gormez; ogrenmene degmez” diyenler var.

Turkiye’yi niye hedef olarak goruyorsun? — Dunya uzerinde cillop gibi isler var, her dilde

  1. Aktif olarak Github kullan.
  2. Her hafta guncelledigin Ingilizce bir blogun olsun
  3. Konusma ve yazinsal Ingilizceni iyilestir (TOEFL: reading:25/30 ve uzeri; listening 25/30 ve uzeri; speaking 20/30 ve uzeri; writing:25/30 ve uzeri olsun)
  4. Igilendigin “dil”ler ile ilgili guncel gelismeleri yabanci kaynaklardan takip et.
  5. Milletin “senin isin degil bunlar; sana gore degil, yapamazsin” demesine aldirma. — Yurdum insani stereotipik olarak destek degil; kostek olmayi tercih eder.
  6. Ne kadar global ilan varsa hepsine basvur; ozgur yazilim toplulugundan istedigin sirketlerde calistigini bildigin arkadalar edin (bkz. (1), (2), ve (3) gerekli bunun icin); bu arkadaslarin araciligiyla da farkli islere basvur.
  7. Bu islere ne kadar erken baslarsan, o kadar iyi.
  8. Once iyi bir ingilizce; sonra yazilim egitimi – siralamayi karistirma.

Su an X dilini cok seviyor ve bu dille ilgileniyorum; bundan 5 sene sonra Java ogrensem gecikir miyim?

Onemli olan dil degil. Bir dilin kurallarini sentaksini, temel formasyonunu ogrenmek; uzman bir yazilimcinin en fazla birkac ayini alir. Ne kadar cok dil bilirsen o kadar iyi; cunku bir dilde ogrendiklerini, bir baska dile nasil aktaracagini dusunmek seni gelistirir.

“Vaktim yok”, “gec kalirim” gibi dusunceler sadece senin zihninde olusan sanal bariyerler.

Her dil gibi, Java da emek ister. Bununla birlikte eger ekstra bir domain bilgisi gerekmiyorsa (ornegin uzaya roket gondermek icin ileri matematik; borsa analizi yapmak icin sinyal isleme, istatistik, ve olasilik; ya da gizli bir guvenlik projesi icin ileri derecede kriptografi… vb.) herhangi bir dili bir haftada baslangic duzeyinde, bir senede orta duzeyde, bes senede iyi duzeyde, on senede de uzman duzeyinde ogrenirsin.

Once C ogren, C basit diyenler var; dogru mudur?

Hem evet, hem hayir.

Evet, once C ogren.

Hayir, C zor bir dildir; emek ister. En az bir, idealde iki seneni C ogrenmeye ayir.

Yurt disinda calismak istiyorum, ne yapmaliyim?

Bu dokumani oku, konuyla ilgili farkli yerlerde ayrintili bolumler goreceksin.

  • Ingilizce sart;
  • Ozgur yazilim sart;
  • Insan iliskileri onemli;
  • Ingilzce bir teknik blogun olsun; her hafta yaz;
  • Bir github hesabin olsun, her gun sana ait olmayan bir projeye katkida bulun;
  • Ayni sekilde kendi GitHub projene de duzenli olarak katkida bulun;
  • Iyi bir universiteden mezun olursan isin cok daha kolay.

Konuyla ilgili su yazilar da ilgini cekebilir:

Bilgisayar alcam da tavsiye edebileceginiz bir tane var mıi?

Oncelikle ben bu konularda uzman biri degilim, aslinda henuz hic bir konuda uzman degilim 🙂 Yaklasik 3 yildir Acer Aspire 7741G kullaniyorum(2011 ocak/subat). Ogrencilikte 1400tl gibi bir fiyata almistim. Acer digerlerine gore biraz daha uygun oluyor. Genelde Asus tercih ediliyor, bence de cok daha saglam bir durusu var asus makinelerin. Burada > onemli nokta 16GB ram olsada eger yatacaksa o makine bir anlami yok. Kod yazmak icin visual studio, eclipse , netbeans vb ideler icin 4gb bile yeterli olabiliyor. 8g +i5 gayet yeterli olacaktir.

Yeterli seviye arastirma yapip istege uygun olacak sekilde(mesela ben ozellikle 17.3 ekran tercih etmistim) ve butceye uyacak sekilde bir urun alinabilir.

Benim bir sonraki laptop’im insallah macbook olacak 🙂 Edit: 3 yil sonunda laptopum teklemeye basladi, 128 SSD aldim ve suan sadece Ubuntu kullaniyorum. Butce uygunsa SSD oneriyorum. 4GB ram yeterli olmasina ragmen daha rahat olmasi icin 6 ya da 8 gb a yukseltecegim. – Levent Erguder

Levent arkadaşın önerisi gayet güzel olmakla birlikte bana kalırsa 1400 tl veya 2000 tl windows tabanlı acer,hp gibi makinalara para vermektense 1500 TL’ye Mac Mini almanızı öneririm. Şahsen hem uygun hemde yüksek performanslı işlemlere kadar herşeyi yapmaya imkan sunuyor ve bütçenizede uygun buna artı olarak uygun monitör almanız dahilinde harika bir çalışma ortamı oluşturabiliriniz.

– Batuhan Göksu

Java Ogrenecegim, Bana Yol Gosterin

…Bu yaz üniversiteden mezun oldum ve yoluma Java ile devam etmeye karar verdim ve bu konuda ısrarcı davranıyorum. Yeni teknolojiler öğrenmeye çalışıyorum.Ancak bu konuda bu kadar istekli olmama rağman henüz iş hayatına adım atamadım. Yani bazı konularda eksik olduğumu biliyorum fakat bir fırsat verilirse neleri başarabileceğim konusunda fazlasıyla ümitliyim kendimden. Ancak görüşmeye gittiğim yerlerle bir türlü anlaşamadım.Sizden ricam bana nasıl bir yol izlemem konusunda yardımcı olmanız.

Bu mesaja ozellikle burada cevap vermek istedim. Cunku arkadasin anlattigi durum benim gecen seneki durumumla ayniydi.

Gecen sene mezun oldugumda ben de 3-4 ay kadar is arayisinda bulundum,sayisiz gorusmeye gittim.

Oncelikli hedefim Java ve evime yakin olmasiydi. Istedigim gibi bulamayinca bir yerden baslamak gerek diye dusundum ve C# ilanlarina da basvurdum. Kocaeli Universitesinin guzel tarafidir ki iki dilde de proje yapmistik :

Isimde uzerime duseni yapmaya calisirken, evdeki vaktimi yine Java’ya harciyordum 🙂 Hedefim Java kariyeri yonlu oldugu icin mezun oldugumdan beri Javanin pesinin birakmadim. Daha sonrasinda Huawei’de de aradigimi tam olarak bulamayinca Java aski agir basti ve yolu goze aldim 🙂

Asik adamin gozu gormez degil mi? Bir adam bir kiza seni seviyorum der ve ugrunda bir sey yapmazsa bu adamin sevgisinden suphe duymak gerekir ! 🙂 cok seven sevgiliden cok bahseder, cok bahsedilmesini ister!

  • Universitede bu kadar yogun calismiyordum bu nedenle tum ogrenci arkadaslara universitede cok cok saglam calismalarini oneriyorum. Uyumayin calisin isiniz ne 🙂
  • Stajlarim naylondu, guzel staj guzel is imkanlari dogurabilir. Mutlaka ama mutlaka duzgun bir yerlerde staj yapmaya calisin.Hatta tum yaz calisin ucret olmasa da olur 🙂
  • Kocaeli uniden ornek verecek olursam, benim disimda cogu arkadas calisiyordu ben calismamistim okul donemi. Okul donemi calismak faydali olacaktir.
  • Bu arkadasimizin ingilizceye dair sorunu varmis, bir gorusmede muhtemelen ingilizce yuzunden elendi.

Ingilize gercekten cok onemli, bunu hep dile getiriyorum.

Kendi ingilizceme baktigimda ciddi anlamda gelistirmem gerek bunun farkindayim.

  • Israrci olmak ve sabirla basvurular yapmak gerekebilir. Bazilari kismetlidir hemen is bulur, bazilari biraz zorlanabilir. kismetse gelir yemenden kismet degilse ne gelir elden 🙂
  • Sosyal etkinlikler, faydali kuluplerde onemli isler aktiviteler yapmak size + puan getirecektir. Burada dans klubunu kastetmiyorum 🙂
  • Bir blogunuz mutlaka olsun ve mumkun oldugunca doldurmaya faydali icerikler bulundurmaya calisin. Bu sizin bu isi sevdiginizi , paylasimci oldugunuzu gosterir. Bir cok sirkette takim calismasi bilgi paylasimini onemser.
  • Java da is bulmak bence C# veya baska dillerde is bulmaktan daha zordur. Bir cok yer size kafadan ciddi bir Java SE bilginiz olup olmadigini test eder. Bunu da ye elize tablet verir zorlayici bir teste tabi tutar ya da kagit uzerindeki test sorularini cozersiniz, bu sorular sertifika sorularini aratmaz 🙂 Tamam belki hepsini yapmanizi istemezler ama iyi bir puan almaniz beklenir. En azindan diger rakiplerinizi gecin fark olsun 🙂

Bu nedenle saglam bir Java SE bilgisi olmazsa olmazdir. Bununla birlikte Java EE bazli bir seyler bilmeniz istenir !

  • Bitirme projesini ise yarar sektorde kullanilan teknolojiler uzerinde olsun 🙂 (Servlet&JSP, JSF , PrimeFaces, Hibernate,JPA, Ibatis, Oracle vs ) bizimki akademik olmustu zaten bitirme projemizin cogunu degerli dostum Recep Bostanci yapmisti 🙂

Is gorusmelerine dair bilgi verecek olursam;

CVyi mumkun oldugunca duzgun hazirlamak bu konuda biraz arastirma yapmak, cesitli videolar izlemek faydali olabilir , uzman tvde bu konuda videolar vardi mesela. On yazi kavrami onemli bir etken, is basvurusunu bir on yazi ile yapmak gerekir. Kullanilan uslup vs onemlidir. Kisacasi bu konuda biraz zaman harcamak gerekir. CV’nin ingilizce olmasi daha faydali olacaktir.

Gorusmeye hazirlikli gitmek gerekir,sirket hakkinda bilgi vb, bu konularda da bir suru yazi , video vs bulunmaktadir.

Ben arkadasimizin yazdiklarindan gercekten istekli oldugunu sezdim, mutlaka bunu is gorusmelerinde karsi tarafa aktarmak gerekir 🙂 Pozitif enerji yaymak gerekir !

Su bir gercekki cogu firma biz sizi arariz der ve asla aramaz. Asla bir yere bel baglamayin !

Ben hem kariyer.net uzerinden hem de mumkunse sirketin mail adresinden basvuruda bulunuyordum. Isteyenin bir yuzu kara vermeyenin iki yuzu karadir 🙂

simdilik aklima gelen bunlar 🙂 guncellenecektir.

not: bu yazdiklarim tamamen kisisel goruslerimdir. kimseyi baglamaz.

– Levent Erguder

JavaScript’i Temel Olarak Biliyorum, ve ilerletmek istiyorum; kitap onerisi var mi?

Su kaynaklar yararli olur:

Benzer pek cok kaynak bulabilirsin.

Programlama Bilmiyorum, Nerden Baslamaliyim?

Eger herhangi bir programlama dili gormemisse henuz, C ile baslamasi en uygunu. Zaman kaybi sayilmaz. Java’yi takriben 10 senede ogrenecegin dusunulurse; yarim seneni temel C ile gecirmek oldukca faydali olur.

– Volkan Ozcelik

Java’ya bakayım dedim.Ağır geldi ilk aşamada.C#’ta umanlaşıp sonra Java geçiş yapmam mümkün olurmu ilerde?

Java’nin Basitlik (Simple) ozelliginden kasit, Javayi gozu kapali ogrenirsin demek degildir. Bir dilde uzmanlasmak en azindan 5-10 senelik bir konudur.

Temel gramerlerinden sonra birbirine gecme islemi cok sorun olmaz. Ilerleyen donemlerde mumkun olmasina ragmen, sahsen en basta kariyer yolunu cizmek daha mantikli bir yaklasim olacaktir.

Oncelikle “aski bulmak” icin gerekli calismalari yapalim. Sonrasinda kararimizi verelim mutlu mesut yasayalim. Kafasinda 2 kadin olan adam gelgitler icinde olur 🙂

Levent Erguder

**GitHub**in Onemli Oldugunu Soyluyorsunuz. Projemi de Yukledim. Open Source Projemi Gelistirecek Insan Ariyorum. Nasil Bulabilirim?

Merhaba hocam github’i hayatima sokmaya basladim.

Az once ilk projemi de yukledim.

Projemde yardima ihtiyacim olan birkac yer var.

Yukledikten sonra ne yapmaliyim ki insanlar projeme yardim etsinler?

Veya ben nasil uygun bir projeye yardimci olabilirim?

Diyelim senin icin onemli bir kisi (kiz/erkek) ile yemege ciktin. Bu ilk “ozel” yemeginiz. Yemek biter bitmez “opuselim mi?” der misin?

Kendinden bir seyler vermeden, bir seyler isteyemazsin. Eger projene bir birim katki istiyorsan, baska projelere yuz birim katkida bulunmalisin.

Oncelikle “open source”un mantigi yardim beklemek degil; **yardim etmek**tir.

Genelde surec soyle isler:

  • GitHub uzerinden ilginizi ceken bir proje bulur,
  • Bu projeyi klonlar, kendi calismalarinizda kullanir, bu projeyi baz alan baska projeler gelistirirsiniz.
  • Bir ara bakarsiniz ki klonadiginiz proje tam istediginiz gibi calismiyor, ya da bir yerlerde bir bug’i var.
  • Bu durumda projeyi forklar, bir pull request olusturur, projeyi yoneten kisilerin ana kodla bu pull request’ini merge etmelerini beklersin.
  • Eger pull request’in kabul edilmezse, sana bunun nedeni de soylenir.

Her proje, bu surecin nasil oldugunu README/CONTRIBUTE vb. dosyalarinda dokumante eder; oncelikle o dosyalari da okumalisin.

Ozgur kaynakli projelere katkida bulunmak istiyorsan, buraya da bakabilirsin.

Kimse projene, sirf sen projeni GitHub’a yukledin diye destek vermez:

  • Projenin tanitimini yap,
  • Cesitli teknik gruplarda tanit,
  • destek istedigini acik acik soyle.

Mesela In Java We Trust grubuna boyle bir projen oldugunu, ve yardim istedigini soyledin mi? Baska hangi teknik gruplarla paylastin bu istegini? Yakin cevrende sana destek olabilecek gelistirici arkadaslarinla paylastin mi bu fikrini?

Sadece kodlari Github’a yuklemekle olmaz bu is. Projen, senin kisisel markandir. Kisisel markani yonetmek de, emek, ve iletisim ister.

Daha da ozetle:

  • Almadan once vermeyi bil;
  • Insanlarla iletisim halinde ol;
  • Yardim istemekten cekinme, utangac olma.

Tabii bunlari yapman, projene destek gelecegi anlamina gelmez.

Projende

  • Duzgun bir readme (bir ornek icin https://github.com/v0lkan/JFDI adresine bakabilirsin)
  • nasil katkida bulunacagina dair bir contribute dosyasi
  • ve calisir halde bir dizi ornek
  • ve bol bol dokumantasyon

yoksa, yardim alman guclesir.

Bunlarin yanisira, eger projen birilerinin onemli bir ihtiyacini karsilamiyorsa, cok da destek goremeyebilirsin.

Yeni baslayanlara, birkac kafa dengi yazilimci dostunuzla open-source bir proje kurmanizi oneririz.

Ozgur yazilimcilarla surekli iletisim halinde ol.

Open source dunyasinda sosyallesmekle, guncel hayatta sosyallesmek arasinda cok da fark yok:

Oncelikle baskalarinin yaptigi projelere destek olmali, bol bol katkida bulunmalisin ki, yardim istediginde yardim edecek dostlarin olsun.

Git Icin Gorsel Arayuz Var Mi Kullanabilecegim?

git kullaniyorsan komut satiri kullanmaya da alismalisin. Pek cok IDE**nin (ornegin IntelliJ Idea) **git entegrasyonu bulunuyor. Bununla birlikte komut satiri kullanmaya alismani siddetle oneririz.

Birkac git gorsel client’i::

GitHub Kullanmamakta Israrciyim; Sana Bahaneler Hazirladim

Bahane odakli degil, cozum odakli olmalisin. Yoksa yerinde saymaya devam edersin.

“A dream is your creative vision for your life in the future. You must break out of your current comfort zone and become comfortable with the unfamiliar and the unknown.” – Denis Waitley

“Life begins at the end of your comfort zone.” – Neale Donald Walsch

Gelelim blindik birkac banaheye.

“GitHub’im var da… oraya koyacak kadar bir proje yazmadim.”

Turkce anlami: “Kodum o kadar dandik ki, birileri gorur de alay eder diye cekiniyorum.”

Uzaya roket gondermiyorsun. Ayrica sen ve “kodun” birbirinden farkli seyler. Kodun icin yapilan yorumlar, kodunu gelistirmen ve yazilim konusunda ilerlemen icin sana sunulan onerilerdir; sahsina yonelik ithamlar degildir. Ozgur yazilim dunyasinda kimse kisiye yonelik elestiride bulunmaz. – kodu ise olumune elestirirler.

Kodunu ac ki; insanlar sana yardim etsin.

Peki hangi kodu acacaksin? yazdigin her seyi.

Duzenli olarak bir seyler calisip, kod yazmiyor musun?

  • Yazdigin kodlari koy.
  • Dusuncelerini ekle.
  • Aklinda olan, fakat nasil yapacagini tam bilmedigin bir projenin taslaklarini ekle.
  • Kisisel web siteni ekle (“kisisel web sitem yok” deme, yersin kizilcik sopasini!)
  • … daha gider bu.

Kodunu dunya gorecek diye cekinmene, utanmana gerek yok.

Yaptigin en ufak taslak, en gereksiz kod parcasi bile GitHub uzerinde olsun; va buna hemen simdi basla. Bundan birkac sene sonra bu aldigin karar icin kendine tesekkur edeceksin.

Duzenli olarak katkida bulunamiyorum; cok usengecim.

Canim kardesim; git takvimde bir hatirlatma koy kendine, bes satir olsun yeni bir seyler yaz, kod ekle; test yaz, issue ac, dokumantasyonu duzenle… – saatlerini ayirmana gerek yok; gunde onbes dakikani ayir, gerisi gelir zaten.

GitHub’in Ne Oldugunu Bilmiyorum

Haklisin, GitHub’a marstan erisilemiyor henuz 🙂.

Ne olduguna https://help.github.com/ adresinden bakabilirsin.

Var da, Kullanmayi cozemedim henuz

Bilgi caginda, GitHub ile ilgili kaynak bulamadim deme.

arastirabilecegin referanslardan birkaci.

github tam olarak ne işe yarar?

“Yazilim dunyasinin feysbuku” deyim, sen anla. Aktif GitHub kullanmayani dovuyorlar.

Yardim edecegim cok kod bulamiyorum? nereden baslamaliyim?

Mesela https://github.com/search?q=java&ref=cmdform gibi bir arama yapabilirsin. 100 binin uzerinde proje var; birinden birine yardimin gerekebilir. https://github.com/v0lkan/o2.js/blob/dev/CONTRIBUTE-tr-TR.md adresinden github projelerinde ne tur seylere yardim edebilecegin hakkinda bir fikrin de olabilir (her ne kadar **o2.js* dese de, cogu ozgur yazilim projesi icin gecerli seyleri anlatiyor*) – katkida bulunmak icin cok iyi kod yazabilmen gerekmiyor; hatta kod yazabilmen bile gerekmiyor.

Profesyonel Hayatta GUI, Swing vb. Kullaniliyor Mu?

Ogrenci arkadaslar genel olarak bol miktar GUI ile ugrasiyorsunuz, bizim projeler de boyleydi hak veriyoruz.

Sektorel olarak GUI nin yarari pek olmaz. Odeviniz disinda oturup GUI ile ugrasmayin.Bunun yerine guzel bir Java SE bilgisi edinip sonrasinda;

Servlet&JSP, JSF gibi teknolojileri kurcalayin. Gordugum duydugun bildigim kadariyla uygulamalar masaustu degil browser tabanli. Bu frameworkler de tek basina yeterli olmayacaktir, Hangi dili ogrenmeliyim sorusunu incelemeniz faydali olacaktir. Dilerseniz kariyer.net veya cesitli kariyer siteleri uzerinde hangi frameworkler kullaniliyor incelemelerde bulunabilirsiniz.

JSP JSF gibi yapilara adim atmaya basladigimizda;

Belki hello world yazinca bile cok mutlu olacak kadar ugrasacaksiniz ama;

kural 1: Javada hic bir sey ilk run ediste calismaz.

Bir de “heyecan ve heves”le daliyorsunuz saga sola sonra “ben boyle askin izdirabini” diyip vazgecmeyin 🙂

Java ciddi bir caba gerektirir. Kimse uc bes gunde “Java” ustasi olamaz. Bu nedenle ;

kural 2: Java heves ve hirsla degil, sabir ve azimle ogrenilir.

Her dili cok iyi ogrenmek istiyorum, Android, iOS, Java, JSP, Assembly… Ne Yapmaliyim?

Hem android hem ios hem jsp hem su hem bu boyle bir dunya sekli yok malesef. Tamam hepsini deneyin gorun ama sonrasinda kararinizi verin, ve uzmanlasma karari verin.

Mezun oldugunuzda istediginiz alanla ilgili guzel projeler odevler stajlar yapmis olun ki rahat is bulabilin.

Pek cok sirket (ozellikle Silikon Vadisi’nde) “well rounded” olmaniza dikkat eder. Yani web’den arayuze, native kod yazmaktan hybrid uygulama gelistirmeye, CSS’ten photoshop’a, Erlang’dan Java’ya, TCP ve HTTP *protokol*lerinin nasil calistigindan, DNS, ve load balancing bilgisine, performans optimizasyonu ve benchmarking’den, devops ve quality assurance’a kadar pek cok seyi bilmenizi bekler sizden. Bununla birlikte bu konularin hepsinde birden uzman olmanizi beklemez.

kural 3: Bir yerde olan her yerdedir, her yerde olan ise hicçbir yerde değildir.

3) Kod var dediler geldik olmayin. Ben istedigim ise girmek icin 1 yil icerisinde 2 kere is degistirdim. Java ile ugrasmadigim yerden mumkun oldugunca kacarim 🙂 Bu kacislar da hep maas zammiyla geldi 🙂 Kendinize guvenin ve ne istediginizi bilin. Her zaman dedigim gibi ask Java’ysa bol miktar calisin bundan keyif alin.

kural 4: Choose a job you love, and you will never have to work a day in your life.

Confucius

Onemli olan ilgi alaniniz ne ise, o alanla ilgili spesifik bir ya da birkac konuda cok uluslu bir yazilimci topluluguna seminer verebilecek duzeyde uzmanlasin; bu uzmanlik konularinizla yakindan ilgili bazi konulari da ara sira kurcalayip, kavramsal olarak bilgi sahibi olun.

Bir farkli oneri de, sadece tek bir paradigmaya bagli kalmayin: Eger Object Oriented programlamayi seviyorsaniz (C#, Java) mutlaka birkac senenizi Erlang/Haskell gibi fonksiyonel tabanli bir dili ogrenmeye de ayirin – ya da tam tersi. Sonra bu kavramlari birbiriyle caprazlayin:

Mesela:

Farkli kutuplari incelemeniz dusunce yapinizi ve bakis acinizi ciddi anlamda gelistirir.

Bazen cozmeye calistiginiz sorun, problemle ilgili dogru paradigmayi incelemediginizden kaynaklanir.

*Volkan Ozcelik *

Hangi kaynaklardan/kitaplardan calismali , hangi Javaci’lari takip etmeli.

Ortalikta bazi videolar turkce kitaplar egitim setleri mevcut ,bunlari cok fazla incelemedigim icin olumlu/olumsuz bir sey soyleyemem. Calistiginiz kaynagin yazarinin olaya ne kadar vakif oldugu bildigi onemli.Faydasiz kotu kaynaklardan calismak hem zaman kaybina, hem maddi kayba hem Javanin yanlis anlasilmasina neden olur. Java ciddi bir dildir, ciddi anlamda bilgi icin 10 senelik bir deneyim gerekir.

Dunya capindaki en saglam Javacilarin oldugu su listedeki Javacilarin kitaplari/bloglari faydali olacaktir.

https://java.net/website/java-champions/bios.html

Bu listede bizden sadece bir tek kisi var, Ozcan Acar hocamiz. Ozcan Acar hocamiz disinda onerdigim ve Java olayina gercekten vakif kisi Akin Kaldiroglu hocamizdir. Bu hocalarimizin yazilarini okuyunca olaya vakif olduklarini anlayabiliyoruz.

Hali hazirda calistigim/calisiyor oldugum/calisacagim kitaplari surada bulabilirsiniz;

http://www.injavawetrust.com/oneriler/

Levent Erguder

Piyasada özel universite mezunlarina farkli gozle bakis,bu mezunlar isimizi yapamaz tarzinda yaklasim var mi ?

Benim gordugum kadariyla pek boyle bir yaklasim yok. Tabi ben olsam universitenin kalitesini dikkate alirim CV incelemesinde bulunurken.. universite ve ozellikle bilgisayar muhendisligi etiketi kim ne derse desin onemlidir. Cogu yer vergi durumundan dolayi sadece muhendis tercih etmektedir. Lisede okuyan ogrenci arkadaslar mumkunse illaki ozellikle bilgisayar/yazilim muhendisligi bolumlerini kazanmaya calissin. Tekrar ediyorum etiket kim ne derse desin onemlidir.Isinizi kolaylastirir, cevrenizde herkes bilgisayar muhendisidir guzel isler bulur, birbinize destek olursunuz vs.

Tabi sadece diploma sahibi olmak bir sey ifade etmez, bilgisayar muhendisinin diplomasi is acisindan faydasi yoktur. Ise alinmani saglayacak sey bilgin, istegin, caliskanligin ikna ediciligin vs parametrelerdir. Biz imza atmadan proje run edilmiyor falan oyle bir sey olmadigi icin, su meshur kendini gelistirmek olayinin en onemli oldugu bolum suphesiz yazilim sektorudur. bilmiyorum ama insaat muhendisligi teknolojisinde her gun deli gibi bir gelisme olmuyordur diye dusunuyorum.

Levent Erguder

Java da yeni bir konu ogrenmeye ve proje/proje gruplarina dair oneriler.

0) Java da bir seyler ogrenmeye karar verdiyseniz bu okadar basit olmayacak, Java’nin “Simple” ozelligi baska anlama gelmektedir. . En onemli nokta duzgun kaynak bulmaktir, bunun icin bakiniz Java ustatlari

https://java.net/website/java-champions/bios.html

Bu kisilerin kitaplarindan/bloglarindan yararlanin.

1) Kagida yazarak ve cizerek calisin, gorsellikten yararlanin.

2) Bol bol kod yazin, soyle olsa nasil olur boyle olsa nasil olur diye fantezi uretin. Kod yazip gormedikce yeterli derecede anlamak mumkun olmayacaktir.

Talk is cheap. Show me the code. Linus Torvalds

3) Blog tutun, ogrendiklerinizi not tutar gibi yazin. Bu donup baktiginizda tekrar hatirlamanizi saglar ve yeni seyler ogrendikce guncelleyebilirsiniz.Akilda kalici bir ogrenme saglayacaktir.

4) Insanlara ogretmeye calisin, arkadaslarinizla tartisin, projenizde kullanin. Mesela Maven mi calistiniz , projenizi Maven tabanli yapin, log4j gibi bir loglama frameworku entegre edin.Bu tarz atistirmalik frameworkler size cv de + puan kazandirir.

5) En onemli nokta duzgun bir kaynak bulduktan sonra sonuna kadar bitirin yarim birakmayin, bu en buyuk vakit kaybi olacaktir.

6) Baslangiclar zor olabilir, esik degeri asilana kadar. Onemli nokta o noktaya kadar ugrasmak vazgecmemek. Sonrasi gelecektir.

7)Plan , program ve disiplin uzun vadeli saglam ogrenmek icin gereklidir. Bu benim icin onemli bir nokta ogrendigim konuyu saglam bir sekilde ogrenmek isterim. Herkesin fikri bu olmayabilir

8)Bazi arkadaslar benim cok iyi bir ingilizcem oldugunu saniyor, oysa benim ortalama bir ingilizcem var malesef. Sadece dogru kaynaklari buluyorum ve bir sure sonra zaten bunye alisiyor, anliyorsun olayi. Ingilizce kitaplardan korkmayin zorlaya zorlaya olacaktir.

9) Okulda calisma grubunuzu iyi belirleyin. Sorumluluktan kacmayin, kimsenin uzerinden proje derslerini gecmeyin. Birinin sizin projenizi yapmasi ile gecmeniz size yarar degil zarar saglayacaktir. Eger projeler tekilse, bencil davranamyin paylasimci olun Bir mum diğer bir mumu tutuşturmakla ateşinden bir şey kaybetmez.

Levent Erguder

Yardimci Arac ve Gerecler

MySQL Tablolarini Grafiksel Olarak Gosteren Araclar

Acik Ders Malzemeleri

Bu bolumde Türkçe ve İngilizce “open course”lar, ders materyalleri bulabilirsiniz.

Özellikle “Ingilizce” derslerde çok güzel ders anlatımları var. Mutlaka incelemeyin.

Megep modullerinde de hem bilgisayar hem de elektronikle ilgili cok güzel dökünmanlar var.

Hosting Platformlari

Onerilen Kitaplar

Java SE
Baslangic-Orta Duzey
Herbert Schildt Herkes icin Java
Bu kitabin eski versiyonu elimde kitap gayet guzel. Yeni versiyonu da benzer sekilde ise Turkce kaynak olarak
yeterli olacaktir.

Orta-ileri-sertifika
SCJP Sun Certified Programmer for Java 6
SCJP: Sun Certified Programmer for Java Platform Study Guide: SE6
OCP Java SE 6 Programmer Practice Exams

Tricks & Fantezi 🙂
Effective Java 2nd Edition
Java Puzzlers: Traps, Pitfalls, and Corner Cases

JSP
Core Servlets and Javaserver Pages: Core Technologies, Vol. 1 (2nd Edition)
Head First Servlets and JSP

JSF
Core JavaServer Faces (3rd Edition)

Spring
Spring in Action, Third Edition

Hibernate
Beginning Hibernate,2nd Edition
Harnessing Hibernate

Design Pattern
Head First Design Patterns

Oracle
Oracle 11G: SQL Joan Casteel

Leave a Reply to Cihad Cancel reply

Your email address will not be published. Required fields are marked *