17 Temmuz 2014 Perşembe

Intellij ile console projesi oluşturma

Merhaba, bu yazımda  intellij ile java console uygulaması projesi nasıl oluşturulduğunu anlatacağım. Normal şartlarda ben java/web üzerinden ilerliyorum ancak bazı temel konuları console üzerinden anlatacağım için yeni başlayanlar yabancılık çekmesin diye console projesinin de nasıl oluşturulduğunu ekran görüntüleriyle paylaşayım istedim.

Bir önceki yazımda web projesinin nasıl oluşturulacağını görmüştük. Yine aynı şekilde intellij ile Create New Project diyerek başlıyoruz. 

Açılan ekranda springi (Projenin içinde spring frameworkün olması için) seçerek next diyoruz.



Karşımıza gelen ekranda Spring Application (Bu sayede spring ile örnek bir konsol uygulaması oluşur) seçerek next diyoruz.

Bu aşamada yine web projesinde olduğu gibi proje adı / projenin oluşturulacağı dizin / derleme yapacak SDK / projenin başlangıç paketi belirlenir.

- Project name : projemize vermek istediğimiz isim
- Project location : projemizin yer alacağı klasör
- Project sdk : hangi SDK ile projenin derleneceği
- Base Package : varsayılan olarak spring’in  hangi paketi okuyarak çalışmaya başlayacağı 



Finis butonunda bastıktan sonra projemiz oluşur. Intellij deki proje hiyerarşik yapısı aşağıdaki gibi olacaktır.


Burada intellij bize spring ile yazılmış örnek bir iş kodu (HelloApp.java + HelloService.java) ve örnek bir test kodu (SpringAppTests.java) oluşturacaktır. 

Son olarakta alttaki ekran görüntüsünden de anlaşılacağı üzere HellloApp.java dosyasını intellij ile çalıştırdığımızda HelloService classının içindeki sayHello metodu çağrılarak ekrana Hello World  ifadesini yazacaktır. Bu da projemizin başarılı bir şekilde oluştuğunun ve çalıştığının göstergesidir.




13 Temmuz 2014 Pazar

Neden Yazıyorum? Neler Yazacağım?

Merhaba, bu yazımda  sizlere blog paylaşımlarımda ki  amaç ve hedeflerimden bahsedeceğim.

Aslında çok uzun zamandan beri  Java geçmişi olan biri değilim. Hatta bende bazı şeyleri yeni öğreniyorum. Öğrenirken de kendi anlayacağım şekilde notlar ve ekran görüntüleri alıyorum. Çalıştığım şirkette bir arkadaşım  java öğrenmek istediğini ve development ortamı(tomcat/eclipse/JDK/Maven.. vs) hazırlaması için benden yardım istedi. :)  Bende ilk javaya başladığım zamanlarda aldığım notlar bulunan ve kurulumun aşamalarını ekran görüntüleriyle  tutan bir doküman paylaştım. Dokümanın açıklayıcı olduğunu ve bu kaynaklardan yeni başlayan developer adaylarının da faydalanması gerektiğini söyledi.  Bende bu arkadaşımın ısrarlarına dayanamadım ve aldığım notlarımı bir blog vasıtasıyla paylaşmaya karar verdim  :)

Ayrıca ilk okuldan kulaklarımızı sağır eden bir öğrenme teorisi vardı : "Öğrenmenin en iyi yolu yazarak öğrenmektir"   esasında o yıllarda yazarak öğrenmek bir öğrenci için en acı durum olsa da şuan  öğretmenlerimizin yazdırmada ki ısrarlarını çok iyi anlıyorum :) Ayrıca anlamakla kalmıyor bu teoriye uygun harekete ederek hem sizlere anlatmayı hemde kendimi daha da geliştirmeyi hedefliyorum.

Demek ki neden yazıyor muşum?
- Hem kendim öğrenmek , hemde öğrenirken aldığım notlardan başkalarının da faydalanmasını sağlamak için


Peki neler yazacağım ?

Şuan ki hedefim Java/web  ile sıfırdan proje oluşturmadan başlayarak  örnek anlatımlarla önce temel projeler sonrada örnek ve orta seviyeli bir web projesi yapıp sizlerle paylaşma niyetindeyim.

İlerleyen zamanlarda ise sektörün gidişatı ve yeni teknolojiler hakkında bilgili paylaşımlarında bulunmayı planlamaktayım.

Maven Nedir?

Maven nedir?

Herkese merhaba, aslına bakılırsa bugün  maven'ı anlatmak gibi bir planım yoktu.  Bu gün intellij ile java projeleri oluşturmayı anlatacaktım. Oluşturduğum projelerim  Maven'a dayalı olduğu için de yeni başlayanların akıllarında soru işareti kalabileceğini düşünerek maven ile ilgi kısa bir açıklama yapayım istedim.

Arkadaşlar Maven bir bağımlılık yönetim aracıdır(dependency management tool).

Java projeleri geliştirilirken bir takım ek kaynaklara mutlaka ihtiyaç duyulur. Örneğin  şöyle bir senaryo kuralım kafamızda:
herhangi bir projenizde  java ile Mysql bağlantısı yapmak istiyorsunuz. bunun için neler yapmanız gerektiğini aşama aşama anlatayım size.
eğer maven  yada benzeri bir dependency management tool ile çalışmıyorsanız mysql in web sitesinde girerek mysql versiyonuna göre ilgili jar dosyasını bulmalısınız.
Ayrıca bu jar dosyasını bilgisayarınıza(geliştirme ortamına) indirip projenizin lib dizinine eklemek durumundasınız.
Kodlarınızın  testlerinin yapıldığı prep ortamında yine bu işlemleri tekrarlamalısınız.
Kodlarınızın çalıştığı prod(gerçek/canlı) ortamda yine bu kaynak(jar) dosyalarını bulup indirmelisiniz.
Olsun ben hepsinde tek tek yaparım diyen varsa hodri meydan buyursun yapsın. ancak  bu işlemleri tüm ek kaynaklar için tek tek yapmak bir developer için önemli derecede zaman kaybıdır.

Ayrıca bu işlemleri yaparken sürekli aklınızda soru işaretleri kalacaktır acaba testteki jar dosyasını güncelledim mi? prodda son versiyona çektim mi? ...

Her neyse bu olumsuz/can sıkıcı senaryolar dahada artırılabilir.  Ancak eğer maven varsa yapacağınız bir tek işlem var maven'ın ayar(configuration) dosyasına ihtiyacınız olan kaynakların depolarını ve sürümlerini belirtmektir.

Bu sayede maven test ortamında da prod ortamında da sizin ihtiyacınız olan kaynakların tamamını çekecektir. güncellemeyi tek bir xml(pom.xml) dosyasından yapacaksınız ancak tüm ortamlarda ihtiyacınız olan   kaynaklar hazır hale gelecektir.

Kısaca söylemek gerekirse  Maven'i asistanınız olarak kabul edebilirsiniz. Asistanınıza diyorsunuz ki  benim  bu projede X kaynağına ihtiyacım var.  Sen bu X  kaynağını indir  ve projemi her götürdüğüm yerde bu kaynakları projeme dahil et.


NOT: Maven kurulumunu anlatmayı düşünmüyorum. internette türkçe olarak yeterince kaynak var.
link : maven kurulumu

sürçü lisan ettiysek affola 

İntellij ile web projesi oluşturma

İntellij ile Web projesi oluşturma.

Merhaba, bu dokümanda intellij ile bir web projesi nasıl oluşturulacağından bahsedeceğim.
Burada eclipse mi ? intellij mi?  Diğerleri mi?  kıyaslamasına hiç girmeyeceğim. Ben intellij kullanıyorum  ve dip not olarak belirtmek istediğim bir konu var : intellij nin çatladığına şuana kadar hiç denk gelmedim. J  sizlere de bu IDE yi java projelerinizde  kullanmanızı tavsiye ederim.

Projemiz maven projesi olacak ve içinde spring framework ü barındıracak.

  • ilk aşamada   intellij IDE yi çalıştırdıktan sonra create new Project  seçeneğine tıklayarak yeni  proje oluşturma sihirbazını başlatıyoruz.











  • kinci aşamada Spring seçeneğini seçerek next butonuna basıyoruz. Spring projesi oluşturmamızdaki maksat : Yeni projemizin içinde Spring Framework ün yer almasını istememizdir.





  • Üçüncü aşamada spring ile nasıl bir proje oluşturacağımızı (Web mi? Application mu?) belirtiyoruz. Web projesi oluşturmak istediğimiz için burada spring MCV yi seçiyorum.


  • Dördüncü aşamada projemizin adını / bulunduğu dizini / java SDK yı / varsayılan paket  seçerek  finish butonuna basıyoruz.

- Project name : projemize vermek istediğimiz isim
- Project location : projemizin yer alacağı klasör
- Project sdk : hangi SDK ile projenin derleneceği
- Base Package : varsayılan olarak spring’in  hangi paketi okuyarak çalışmaya başlayacağı 








  • Projemizi oluşturduktan sonra İntelliJ deki dizin yapımız aşağıdaki gibi olacaktır.

- Burada intellij örnek bir jsp sayfası(Hello.jsp) ve örnek bir controller (HelloController.java) create eder. 



    Projemiz maven tabanlı olduğu için maven ayarlarını yapmamız gerekiyor. Alttaki ekranda kırmızı kare içine alınan ayarlar butonuna basıyoruz. açılan pencereden maven'in kurulu olduğu dizini seçiyoruz. (Benim makinemde  c:\maven dizinine kuruludur. sizde bu ayarı kendinize göre yapmalısınız ) 







Maven'ı projemize tanıttıktan sonra  projemizin derlenmiş halini oluşturalım. projeyi derleyip output üreten  komut maven-install komutudur.
maven-install :  projemizde target dizini altında kodların derlenmiş haliyle  output oluşturulur. 
maven-clean : bu komut ile  derlenmiş kodlar temizlenir ve target dizini boşaltılır.








Esasında maven komutları Command Line üzerinden çalıştırır. Ancak burada intellij bize butona basarak bu komutları çalıştırma olanağı sunar. dilerseniz proje dizinine giderek mvn celean
 ve  mvn install komutları ile bu işlemleri gerçekleştirebilirsiniz.  Maven clean/install komutlarının çalışması sonucunda intellij ekranında loglar yazmaya başlar. maven komutunun başarılı bir şekilde çalıştığını gösteren log mesajı  BUILD SUCCESS dir. eğer çalıştırma işleminden sonra bu log mesajı yoksa bir yerde bir hata oluştu demektir. Eğer hata oluştuysa  yine hata mesajı logarın içeriğinde bulunmaktadır.


Sonuç olarak web projemizi çalıştırmak için aşağıda kırmız ile vurgulanan çalıştır işaretine tıkladığımızı da projemiz derlenerek  browser ekranına Hello World yazısının yazıldığını görürüz.
bu sayede maven tabanlı spring projemizin başarılı bir şekilde çalıştığından emin olabiliriz.


Yukarıda hello world yazısı nereden geldi diye diye soracak olursanız, intellij bize spring framework ün yapısına   uygun örnek bir kodlama  sunar.  İçinde  basit bir controller / view (Hello World) örneğiyle projeyi create eder. Kodu intelliJ yazdı yani :)

Hello World yazısını browserda gördüyseniz arkanıza yaslanın ilerleyen günlerde oluşturduğumuz projenin içini birlikte dolduruyor olacağız.