MyCourses

Content and Samples from my courses

View on GitHub

YAZILIM GELİŞTİRME ORTAM ve ARACLARI

2018 BAHAR

ETKİNLİK DUYURUSU: https://www.youthall.com/event/youth-code-day

Dersler Cumartesi 12:00-13:00 ve 13:15-14:30 arasında iki oturum halinde yapılacaktır. Derse mazeretiniz yoksa %80 devam zorunludur. Derse devam ve derse katılımdan not verilecektir.

ODEVLER

Odev 1

En az 10 Matematiksel işlem için 10 ayrı metod içeren Hesaplama sınıfı yazılacak. Bu 10 Matematikel işlemin her biri için de 10 ayrı JUnit test metodu yazılacak. Uygulama Maven projesi şeklinde geliştirilecek ve Maven test ve install komutların çalışması kontrol edilecek. Teslim tarihi:23 Mart 23:59’a kadar Odevleri ozkan.sari@outlook.com adresine gönderiniz.

Odev 2 IPTAL

Teslim Tarihi: 20 Nisan 23:59:59. Her hangi bir dosya göndermenize gerek yok. Github branch commit yeterli.

DERS ICERIKLERI

Hafta 1

Hafta 2

Hafta 3 : UML

Hafta 4-5 : Maven, JUnit, Git

Hafta 6 & 7: Jenkins

Jenkins Kurulum

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

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

Java komutu ile war dosyası konsoldan çalıştırılabilir. Buradaki java komutunun jdk altındaki java komutu olması iyi olur. Bunun için java komurunu tam yol olarak tırnak içinde de yazabilirsiniz. Örneğin, “C:\Program Files\Java\jdk8\bin\java” - jar jenkins.war gibi.

java -jar jenkins.war

8080 portu kullanımdaysa başka bir port aşağıdaki şekilde belirtilebilir:

java -jar jenkins.war --httpPort=49001

Jenkins Kurulum Dizini

Jenkins normalde kurulum dizinini kullanıcı dizinindeki .jenkins klasörü (Örneğin C:\Kullanıcılar\bprlab\ .jenkins ) olarak ayarlar. Sıfırdan başlamak için bu dizini silebilirsiniz.

Ya da Jenkins home dizinini değiştirmek için çalıştırmadan önce başka bir dizin belirtebilirsiniz. Örneğin:

SET JENKINS_HOME=C:/jenkins_ozkans

:exclamation: JENKINS KURULUM NOTLARI

Jenkins Arayüzü

Tarayıcıdan http://localhost:8080 girerek ara yüz açılabilir. Daha sonra karşınıza çıkan “Unlock Jenkins” ekranında verilen dizindeki dosyayı açın ve orada yazan şifreyi ekrana girin (Şifre console’dan çalıştırdığınızda loglarda da görünecektir) ve Continue tuşuna basın. Sonraki ekranda “Installed Suggested Plugins” seçiniz. Ayrıntılar için: https://jenkins.io/doc/book/installing/#setupwizard

Plugin kurulum tamamlandıktan sonra, Admin password belirlemenizi isteyecek. belirledikten sonra Jenkins artık kullanıma hazır.

Bu aşamada “Jenkinse Hoşgeldiniz” yazısını ekranda görmeniz lazım.

Jenkinsi Yönet ekranından JDK, Git ve Maven ayarlarını yaptıktan sonra başlamak için “Yeni İş” oluşturuyoruz.

Hafta 7: SonarQube

https://www.sonarqube.org/downloads/ adresinden sonar uygulamasını zip olarak indirin ve zip dosyasını açın.

Maven build projenize sonar:sonar aben hedefini belirterek bir sonar analizi çalıştırabilirsiniz.

:exclamation: SONARQUBE KURULUM NOTLARI

Hafta 8 Javadoc & Maven Site

JavaDoc Hakkında

Maven komutuna yapılacak ek:

javadoc:javadoc javadoc:aggregate site

Sonuçtaki Maven komutu:

install checkstyle:checkstyle pmd:pmd sonar:sonar javadoc:javadoc javadoc:aggregate site

Jenkins Java Doc goruntuleme sorunu icin Jenkins Script’i acın (http://localhost:8080/script) ve asagidaki komutu calistirin.

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'none'; img-src 'self'; style-src 'self'; child-src 'self'; frame-src 'self';")

Hafta 9 Code Coverage

Code Coverage: Yazılan Kodun Ne Kadarının Test Edildiğini Gösterir. Code Coverage, yazdığımız testlerin kontrol ettiği kodun, yazdığımız koda oranı demek.

JaCoCo

http://www.eclemma.org/jacoco/trunk/doc/report-mojo.html

Maven Goal: “install test jacoco:report”

Maven Plugin:

   <project>
       <!-- Dependencies -->
       <!- .... --> 
       <build>
           <plugins>
               <plugin>
                  <groupId>org.jacoco</groupId>
                  <artifactId>jacoco-maven-plugin</artifactId>
                  <version>0.8.1</version>
                </plugin>
           </plugins>
        </build>
    </project>

Cobertura Code Coverage (Kodun Ne Kadarın Test Edildiğinin Ölçülmesi)

http://www.baeldung.com/cobertura

Maven Goal 1: “cobertura:cobertura”

Maven Goal 2: “cobertura:check”

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>

Travis CI & CodeCov IO

https://travis-ci.org/ & https://codecov.io : Github hesabınızla üye olun. Örnek travis.yml: https://github.com/ozkansari/YAZILIM_ARACLARI_REPO/blob/master/.travis.yml

Hafta 10 Spring Boot

  1. ADIM
    • http://start.spring.io/ sayfasini aciyoruz.
    • Generate a “MAVEN PROJECT” with “JAVA” and Spring Boot “1.5.13”
    • Group: com.medipol.yazilimaraclari
    • Artifact: SpringBootOrnek
    • Search for dependencies : Web
    • Generate Project
  2. ADIM
    • Indirilen zip dosyasını bir dizine aç (Extract). Ornegin: C:\SpringBootOrnek\ dizininine acalim.
    • Eclipse’de Import>Existing Maven Project seçerek next diyoruz
    • Root directory olarak Zip dosyasını açtığınız dizini gosteriyoruz. (C:\SpringBootOrnek\ )
    • Altta gorunen pom.xml checkbo tikla
    • Daha sonra finish.
    • En son olarak da Projeye sag tikla, Run as Maven Install sec.
    • Proje BUILD SUCCESS olmalı.
  3. Adim RESTServisiOrnek sinifi olustur. SpringBootOrnekApplication.java sag tikla: Run as java application http://localhost:8080/ogrenci/listele adresine tarayıcıdan gir

Notlar

NOTLAR