spring etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
spring etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

9 Haziran 2020 Salı

JHipster-1 (JHipster nedir ? Ne işe yarar ?)

Merhaba,
bu yazımda JHipster(Java Hipster) hakkında bir kaç bilgi aktaracağım. Esasen şirket içi eğitim için aldığım kısa notları derleyerek  buradan paylaşacağım.

JHipster bir java geliştirme platformudur. Bir çok geliştirici(developer) aynı şeyleri tekrar tekrar yazmayım diye kendine bir şablon proje(boilerplate) oluşturmayı denemiştir. Github üzerinde beğenilen(star) ve indirme  oranı yüksek olan   birçok dil ve library ile temelleri oluşturulmuş çokça tepmplate proje de bulunmaktadır.  Bu çalışmaların yapılmasında ve bu repoların oluşturulmasındaki maksat ayrnı işleri tekrarlı bir şekilde yapmaktan kaçmaktır. Özetle amaç zaman kaybının önüne geçmektir.

JHipster community de buradaki ihtiyaca çözüm üretmek adına Java ile geliştirme yapan developer'ların sıfırdan proje yaparken ilk adımları hızlı olması adına belli teknolojileri ve kofigurasyonları bir araya getirerek bir şablon proje  hazırlamışlardır. Buradaki paketin içinden ihtiyacınız olanları seçerek kendinize bir geliştirme ortamı hazırlayabilmektesiniz.

Nasıl bir şablon projeden bahsediyorum  örnek olarak açıklamaya çalışayım; mesela oluşturacağınız bir çok yeni projede bir login ekranı kullanmak isteyebilirsiniz. Yada projede  database kullanacaksanız bir migration(değiişikliklerin uygulanması) yapısına ihtiyacınız olacaktır. Yine bir loglama alt yapısına ihtiyac duymanız kuvvetle muhtemeldir. Dolayısıyla bu ve benzeri kofigürasyonlar için her projede yeniden efor sarfetmemek adına kendiniz bir boilerplate proje oluşturabilirsiniz yada bu işi bir standart üzerine inşa etmiş JHipster tan faydalanabilirsiniz. JHipster tam olarak üstte bahsettğim teknolojileri bir araya getirerek size ilk ayarları yapılmış bir proje sunmaktadır.

JHipster üstte paylaştıklarıma ek olarak şağıdaki tanım ve teknolojileri de destekler.

Core
- Java 
- SpringBoot
- SpringSecurity
- SpringMVCRest
- Jackson
- internationalization
- profile(dev,prod)

Frontend
- React With Redux (Redux ile birlikte)
- Angular
- Vue
- Sass
- css
- bootstrap

Database
- mongoDB
- Couchbase 
- Relational DB(H2,MySQL,..)

Cache
- Ehcache
- Hazelcast
- Caffeine

Deployment
- heroku
- openshift
- aws

Build
- maven
- gradle
- grunt
- yeoman
- webpack
- git

JHipster bu kadar teknolojinin hepsini kullanabilir. Ancak CLI üzerinden proje olulturmak istediğinizde veya web arayüzü üzerinden ilerlerken ihtiyacınıza göre üstteki listeden eleme yada ekleme yapabilirsiniz. ÖRN: Microservis için bir frontend framework'e ihtiyacınız olmayacağı gibi monolitic uygulamada da sadece angular'ı veya react'ı seçerek te ilerleyebilmektesiniz.

JHipster ile çalışmaya başlamak için bilgisayarnızda aşağıdaki programların kurulu olması gerekmektedir.
- Java
- NodeJs
- JHipster (npm install -g generator-jhipster)

8 Şubat 2018 Perşembe

Docker ile spring boot deploy işlemi

Merhaba, bu yazımda sizlere  bir önceki yazımda paylaşmış olduğum spring-boot ile yaptığımız "Hello World" uygulamasını docker ile nasıl deploy edilip çalıştığını anlatacağım. Bu sefer yeni kod yazmadan sadece mevcut projeyi docker üzerinde çalışacağız.

ilk olarak projeyi git üzerinden download ederek ana dizininde "Dockerfile" adında bir dosya oluşturun. Terminal'i açarak aşağıdaki komutu çalıştırın.

$ git clone https://github.com/lvntyldz/spring-boot-hw &&  cd spring-boot-hw/ && touch  Dockerfile 

projeyi maven ile build edin. 

 $ mvn clean install

bu işlemden sonra target dizininde içinde kodlarınız olan ve tomcat üzerinde çalışacak  "spring-boot-hw-0.0.1-SNAPSHOT.jar" dosyası oluşacaktır.

Dockerfile dosyasının içeriğini aşağıdkai şekilde düzenleyin. 

 FROM openjdk:8
ADD target/spring-boot-hw-0.0.1-SNAPSHOT.jar spring-boot-hw-0.0.1-SNAPSHOT.jar
EXPOSE 8085
ENTRYPOINT ["java","-jar","spring-boot-hw-0.0.1-SNAPSHOT.jar"]

Oluşturduğumuz Dockerfile içeriğine göre build almak ve  yeni bir docker image oluşturmak için  aşağıdaki komutu çalıştırın  

docker build -f Dockerfile -t docker-spring-boot-hw . 

-f: file
-t: tag name

docker image ları görüntülemek için  aşağıdaki komutu çalıştırabilirsiniz

 $ docker images

oluşturduğunuz docker image'ını ayağa kaldırmak için aşağıdaki komutu çalıştırın  

 $ docker run -p 8085:8085 docker-spring-boot-hw

Bu işlemden sonra web browser üzerinden deploy ettiğimiz "http://localhost:8085/sayhello" adresini ziyaret ederek "Hello world" çıktısını görebilirsiniz

kaynak dosyalara erişim için tıklayın