Gradle ile Proje İnşası Semineri

Gradle ile Proje İnşası Semineri

Özgür Yazılım ve Linux Günleri 2015, İstanbul Bilgi Üniversite’sinde gerçekleşti. Bu etkinliğe ben de “Gradle ile Proje İnşası” başlıklı sunumum ile katıldım. Konu Özeti Gradle, Java dünyasının popüler inşa sistemlerinden biridir. Popüler inşa sistemleri Ant ve Maven ile uyumlu olmakla beraber, bir programlama dili Groovy ile yapılandırılması sağlanarak esnek bir sistem sunar. Gradle’ın getirdiği yenilikler, bağımlılık yönetimi, derleme ve paketlemenin nasıl yapıldığı, esnek yapısı, maven ve ant ile kıyaslanması, task’ların nasıl yazıldığı, avantajları ve dezavantajları konular örneklerle anlatılmıştır.

AB 15 Java 101 Kursu

AB 15 Java 101 Kursu

Her yıl farklı bir üniversitede gerçekleşen Akademik Bilişim etkinliğine bu yıl Eskişehir Anadolu Üniversitesi ev sahipliği yapıyor. Etkinlik 31 Ocak – 6 Şubat tarihleri arasında düzenlenecek. Konferans öncesi kurslar ise 31 Ocak – 3 Şubat arasında… Bu yıl Akademik Bilişim’de Java 101 başlıklı Java’ya başlangıç yapmak isteyenler için kurs vereceğim. Katılım tamamen ücretsizdir. Katılımcılar isterlerse KYK’da konaklayabilirler. Hedef Kitle Temel algoritma, veri yapıları ve temel düzeyde nesne yönelimli programlama bilgisi olan, Başka bir programlama dilini bilen ve Java’ya başlangıç yapmak isteyen, Uzun zaman önce Java ile tanışmış fakat ilerleyememiş, temiz ve hızlı bir başlangıç yapmak isteyenler kişiler için hedeflenmiştir.

Bir Proje Hikayesi: Vipera

Bir Proje Hikayesi: Vipera

Öncelikle Vipera’nın ne olduğundan bahsedeyim. Vipera, bir sağlık sistemidir. Çeşitli tıbbi cihazlar ile üretilen sağlık verilerini bir API üzerinden sisteme girilmesini sağlar. Girilen bu verileri hekimlere sunarak hekimlerin hastalar hakkında karar vermesinde yardımcı olur. Bir karar destek sistemidir. Hekimler kendi panellerinden grafikler üreterek hastanın sağlık durumunu takip eder. Vipera, tanımlanan acil durum kuralları sayesinde de istenilen bildirim yöntemi ile (SMS ve Android Push Bildirimi halihazırda çalışmaktadır) hekimlere bildirim gönderir. Aslında hedefim Vipera’nın hekimin yerine karar vermesini sağlamak yani bir uzman sistem oluşturmaktı.

Bowling Katası

Bowling Katası

Robert C. Martin (Uncle Bob)‘un hazırladığı bowling oyunu katasının videosunu hazırladım. Zaman buldukça yeni katalar üretmeye ve videolarını hazırlamaya çalışacağım. Bowling Oyununun Kuralları Oyunda toplamda 10 frame bulunmaktadır. Her frame de ise 10 tane labutu vurmak için 2 atış hakkı bulunmaktadır. Her frame’de vurulan toplam labut sayısı skoru gösterir. Her frame’in başında eğer ilk atışta 10 adet labut birden vurulursa strike yapılmış olunur ve sonraki iki atışta vurulan labut sayısı kadar bonus skor kazanılır.

Git ile Sürüm Takibi Semineri

Git ile Sürüm Takibi Semineri

Özgür Yazılım ve Linux Günleri 2014, İstanbul Bahçeşehir Üniversite’sinde gerçekleşti. Bu etkinliğe ben de “Git ile Sürüm Takibi” başlıklı sunumum ile katıldım. Konu Özeti Yazılım projelerinde sürüm takip/kontrol sistemi (VCS) araçları olmazsa olmaz araçlardır. En popüler özgür sürüm takip sistemlerinden biri olan GIT ile nasıl sürüm takip yapıldığını, merkezi ve dağıtık sürüm takip sistemlerini, dağıtık yapısı,geliştiricilerin kendi yerellerinde de commit yapabilmesi, çalışma akışı, git ve svn karşılaştırması, conflict çözümü, uzak sunucu ile nasıl çalışıldığı, git ile çalışma yöntemleri,en sık kullanılan komutları, karşılaşılan bazı problemlerin çözümleri, özgür araçları ve Gitlab konuları anlatılmıştır.

Powermock ve Mockito ile JSF Sınıflarını Test Etmek

Powermock ve Mockito ile JSF Sınıflarını Test Etmek

JSF Bean sınıflarında FacesContext gibi nesneler kullandığınızda ve bu sınıflara mock nesneler ile birim testleri yazdığınızda Mockito, JMock gibi araçlar yeterli olmayacaktır. Örnek olarak aşağıdaki metodu inceleyelim. Bu metod basit bir login işlemi gerçekleştirmektedir. Anlaşılacağı gibi xhtml sayfasında bir buton üzerinde actionListener parametresinde tanımlanmaktadır. Öncelikle kullanıcı adı ve parolanın boş bırakılıp bırakılmadığını kontrol etmekte eğer alanlar boş değilse business katmanı ile login işlemini gerçekleştirmektedir. Şimdi kodları inceleyelim. 2. satır da JSF sayfasına mesaj göndermek için FacesContext nesnesini FacesContext.getCurrentInstance() statik metodu ile almaktadır.