MyCourses

Content and Samples from my courses

View on GitHub

YAZILIM GELISTIRME ORTAM ve ARACLARI - 2019 BAHAR ( Subat 2019 - Haziran 2019)

Dersler Cumartesi 12:00-13:00 ve 13:15-14:30 arasinda iki oturum halinde yapilacaktir. Derse mazeretiniz yoksa %80 devam zorunludur. Derse devam ve derse katilimdan not verilecektir. Her ders sonunda quiz yapilacaktir.

https://classroom.google.com/c/MzA3Mzk2Mjk1MDda Kod:ni56f2f

DUYURULAR

DERSLER

VIZE Ders 1 - 13 EKIM

VIZE Ders 6 - 31 MART

Spring Boot:

Spring Boot (https://start.spring.io/), Spring tabanli uygulama geliştirmenin en hizli ve kolay yolu olmasi amaciyla geliştirilmiş bir frameworktUr. Spring Boot sayesinde boilerplate yani basmakalip kodlardan siyrilip, sadece ihtiyacimiz olan kodu yaziyoruz (only write code that you need to). Spring Boot web sunucusu olarak Tomcat ve diger birçok ek özellikle beraber geliyor.

YAPILACAKLAR:

Github Hesabi Acma, Repo olusturma ve Bunu Eclipse’e Baglama
Spring Boot Projesi Olusturma
Projeyi Github repoya gonderme
Github repo uzerinden pull request acma
Github.com uzerinden master’da yapilan degisiklikleri Eclipse Local Repoya indirme

FINAL DERS 1 - Continous Integration (Surekli Entegrasyon) ve Code Coverage (Kod Kapsama Orani)

Code Coverage (Kod Kapsama Orani): Yazilan Kodun Ne Kadarinin Test Edildigini Gosterir. Code Coverage, yazdigimiz testlerin kontrol ettigi kodun, yazdigimiz koda orani demek. Cobertura ve Codecov.io araclari kullanilabilir.

Continuous Integration (CI - Surekli Entegrasyon) : Yazilan kodun, gelistirilen modulun — kisaca gelistirme ortamindan cika gelen bir parcanin €Šprojeye dahil edilmesi esnasinda bir takim sureclerden gecirilmesine verilen isim. Bagimliliklarin repolardan indirilmesi, projeye dahil edilmesi, gelistirilen kod parcacigin testlerden (unit, integration, vs.) gecirilmesi, olasi durumlara gore gelistiriciye veya isin sorumlusuna bilgi verilmesi (push notification, sms, mail, vs.), isin paketlenmesi gibi eylemlerin tamami, genellikle bu kavramin bir parcasi olarak hayatimizda yer ediyor. https://medium.com/@selcukusta/continuous-integration-ci-%C3%BCzerine-laflamalar-9b7f7d2dad07 Travis.ci veya Jenkins araclari kullanilabilir.

JaCoCo Code Coverage (Kodun Ne Kadarinin Test EdildigŸinin Olculmesi)

Travis ile birlikte JaCoCo kullanilmali.

Maven Goal:

Maven Plugin:

<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.8.2</version>
				<executions>
					<execution>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>report</id>
						<phase>test</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

Cobertura Code Coverage (Kodun Ne Kadarinin Test EdildigŸinin Olculmesi)

Java 8 ile ilgili bazen hatali hesaplama yapabiliyor. Travis ile JaCoCo kullanilsa daha iyi olur.

Maven Goal: “cobertura:check” veya “cobertura:cobertura”

Maven Plugin:

   <project>
       <!-- Dependencies -->
       <!- .... --> 
       <build>
           <plugins>
               <plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.7</version>
				<configuration>
					<formats>
						<format>html</format>
						<format>xml</format>
					</formats>
					<check />
				</configuration>
			</plugin>
           </plugins>
        </build>
    </project>

FINAL DERS 2 - Travis CI & CodeCov IO

Code Cov IO icin jaCoCo plugin’i kullanilmali.

Travis CI & CodeCov IO

https://travis-ci.org/ & https://codecov.io : Github hesabinizla Uye olun.

Repository’nin ana dizinine “.travis.yml” isimli bir dosya olusturacaksiniz.

Ornek travis.yml: https://github.com/ozkansari/YAZILIM_ARACLARI/blob/master/.travis.yml

FINAL DERS 3 - Spring Boot & Postman

  1. ADIM
    • http://start.spring.io/ sayfasini aciyoruz.
    • Generate a “MAVEN PROJECT” with “JAVA” and Spring Boot “2.1.4”
    • Group: com.medipol.yazilimaraclari
    • Artifact: RestAPIOrnek
    • Search for dependencies : Web
    • Generate Project
  2. ADIM
    • Indirilen zip dosyasini bir dizine ac (Extract). Ornegin: C:\RestAPIOrnek\ veya /Users/bprlab/Downloads/RestAPIOrnek dizininine acalim.
    • Eclipse’de Import>Existing Maven Project secerek next diyoruz
    • Root directory olarak Zip dosyasini actiginiz dizini gosteriyoruz. (C:\RestAPIOrnek\ veya /Users/bprlab/Downloads/RestAPIOrnek)
    • Altta gorunen pom.xml checkbox tikla
    • Daha sonra finish.
    • En son olarak da Projeye sag tikla, Run as Maven Install sec.
    • Proje BUILD SUCCESS olmali.
  3. Adim OgrenciRESTAPI sinifi olustur. RestApiOrnekApplication.java sag tikla: Run as java application http://localhost:8080/ogrenci/listele adresine tarayicidan gir

Postman

https://www.getpostman.com/

POSTMAN

FINAL DERS 4 - Spring Boot & JMeter

JMeter

https://jmeter.apache.org/download_jmeter.cgi

https://github.com/ozkansari/MyCourses/tree/master/SoftwareDevEnvAndTools/_docs/jmeter?raw=true

FINAL DERS 5 - Jenkins & Sonarqube

Jenkins

Jenkins Kurulum

https://jenkins.io/download/ adresinden indirilebilir.

  1. Secenek: Windows Kurulum : https://jenkins.io/download/thank-you-downloading-windows-installer-stable
  2. Secenek: Generic WAR http://mirrors.jenkins.io/war-stable/latest/jenkins.war

Java komutu ile war dosyasi konsoldan calistirilabilir. Buradaki java komutunun jdk altindaki java komutu olmasi iyi olur. Bunun icin java komurunu tam yol olarak tirnak icinde de yazabilirsiniz. ornegin, “C:\Program Files\Java\jdk8\bin\java” - jar jenkins.war gibi.

java -jar jenkins.war

8080 portu kullanimdaysa baska bir port asagidaki sekilde belirtilebilir:

java -jar jenkins.war --httpPort=49001
Jenkins Kurulum Dizini

Jenkins normalde kurulum dizinini kullanici dizinindeki .jenkins klasoru (ornegin C:\Kullanicilar\bprlab\ .jenkins ) olarak ayarlar. Sifirdan baslamak icin bu dizini silebilirsiniz.

Ya da Jenkins home dizinini degistirmek icin calistirmadan once baska bir dizin belirtebilirsiniz. ornegin:

SET JENKINS_HOME=C:/jenkins_ozkans

:exclamation: JENKINS KURULUM NOTLARI

Jenkins Arayuzu

Tarayicidan http://localhost:8080 girerek ara yuz acilabilir. Daha sonra karsiniza cikan “Unlock Jenkins” ekraninda verilen dizindeki dosyayi acin ve orada yazan sifreyi ekrana girin (sifre console’dan calistirdiginizda loglarda da gorunecektir) ve Continue tusuna basin. Sonraki ekranda “Installed Suggested Plugins” seciniz. Ayrintilar icin: https://jenkins.io/doc/book/installing/#setupwizard

Plugin kurulum tamamlandiktan sonra, Admin password belirlemenizi isteyecek. belirledikten sonra Jenkins artik kullanima hazir.

Bu asamada “Jenkinse Hosgeldiniz” yazisini ekranda gormeniz lazim.

Jenkinsi Yonet ekranindan JDK, Git ve Maven ayarlarini yaptiktan sonra baslamak icin “Yeni is” olusturuyoruz.

SonarQube

https://www.sonarqube.org/downloads/ adresinden sonar uygulamasini zip olarak indirin ve zip dosyasini acin.

Maven build projenize sonar:sonar hedefini belirterek bir sonar analizi calistirabilirsiniz.

:exclamation: SONARQUBE KURULUM NOTLARI

Notlar

NOTLAR

TAKVIM