macOS Sierra Üzerine SonarQube Kurulumu

Merhaba. Bu yazıda DevOps sürecinde kullanılan araçlardan biri olan SonarQube’ün macOS Sierra üzerine kurulumu konusu üzerinde duracağız.

SonarQube Nedir?

SonarQube (eski adıyla Sonar) Continious Integration (Sürekli Entegrasyon – CI) sürecinde kodu analiz ederek bugları, code smell’leri (kötü kod?) ve olası güvenlik açıkları 20’nin üzerindeki dilde (Java, Android, C#, PHP, Javascript Objective-C, Swift vb.) bulan ve raporlayan açık kaynak kodlu bir platformdur ve Continuous Inspection (Sürekli İnceleme) aracı olarak tanımlanabilir*. SonarQube raporunda kodlama standartları, tekrarlanan kodlar, birim testleri, kod kapsamı (code coverage), karmaşıklık (code complexity), hatalar ve güvenlik bulguları detaylı şekilde bulunur. SonarQube’ün avantajlarından biri de tamamen otomatik bir analiz ve build araçları (MSBuild, Gradle vb.) ve CI araçlarıyla (Jenkins, Atlassian Bamboo vb.) entegrasyon sunmasıdır.

Okumaya devam et

Reklamlar

macOS Sierra Üzerine Jenkins Kurulumu

Merhaba. Bu yazıda DevOps sürecinde kullanılan araçlardan biri olan Jenkins’in macOS Sierra üzerine kurulumu konusu üzerinde duracağız. DevOps’u ne olduğu hakkında şu kaynaklara göz atabilirsiniz:

Jenkins Nedir?

Jenkins açık kaynak kodlu  bir Sürekli Entegrasyon (Continious Integration – CI) aracıdır. Jenkins kullanılarak projeler versiyon kontrolden otomatik olarak alınabilir, derlenebilir ve ilgili yerlere gönderilebilir. Örneğin bir Android uygulaması derlenmesi, Jenkins’in versiyon kontrol değişiklik takibi ile otomatik olarak başlayabilir, derlenir, testi koşabilir, kodu analiz edilebilir, imzalanıp versiyonlanabilir ve  Google Play Store’a direkt yüklenebilir.  Bütün bir işleri koşullara bağlabilirsiniz; örneğin testten geçmediği durumda Google Play Store yüklemesini iptal edip buildi fail durumuna düşürebilirsiniz, build başarısız olduğu durumda mail göndertebilir veya HipChat’teki bir odaya mesaj göndertebilirsiniz. Yazılım otomasyonu adına ihtiyaçlarınızı geniş plugin desteği ile çözebilirsiniz.

Okumaya devam et

Android – Hello JNI

Merhaba arkadaşlar. Uzun bir aradan sonra tekrar blog yazmaya başlıyorum. Bu yazıda e-posta ile gelen sorular üzerine biraz JNI üzerinde duracağız. Bu yazı giriş niteliğinde olup JNI ile ileri düzeye sonraki yazılarda geçeceğiz.

JNI Nedir?

JNI (Java Native Interface), native kodlarla (C, C++) java kodlarının konuşabilmesi için geliştirilmiş bir arayüzdür. JNI ile ilk calışmaya başladığımda kafamda bir karışıklık oluşmuştu. Sizde de oluşmaması için buraya not düşüyorum:

Android platformunun native dili Java’dır. Fakat native kod diye bahsettiğimiz kodlar Java değil JNI kodlarıdır. Bu ikisi farklı bağlamlarda geçerlidir. Bu yazı boyunca native diye bahsettiğimiz kodlar Java değil C ve C++ dilleridir.

Okumaya devam et

MediaMarkt’tan Televizyon Alınmazmış

 

Mediamarkt philips ban

Merhaba arkadaşlar. Bu yazımda biraz farklı bir konu üzerinde duracağız, müşteri memnuniyeti ve kızgın bir müşteriyi sakinleştirememenin ve üstüne daha da kızdırmanın markaya nasıl zararlar verebileceğinden bahsedeceğiz. Bu yazının üç suçlusu vardır: MediaMarkt, Philips ve ben. Detaylıca anlatıyorum, eksik yeri kalmasın.

Philips satın almadan önce keşke Google’da “Philips berbattır” diye aratsaydım* dedim, Hem de Dell** hikayesini bilmeme rağmen yapmayı unutmam, bugün bu blogu yazmama neden oldu. Tek amacım biraz etkili olması. Okumaya devam et

Android – Detaylarıyla Custom Font Kullanımı

Merhaba arkadaşlar. Bir önceki yazımda ListView ve Custom Adapter kullanımından bahsetmiştik. Bu yazımızda nasıl Custom Font (Özel Yazı Tipi) kullanacağımızdan ve aynı metin alanında birden fazla fontu nasıl kullanabileceğimizden bahsedeceğiz.

Okumaya devam et

Android – ListView ve Custom Adapter Kullanımı

android-wallpaper

Bir önceki yazımda artık kod örnekleri üzerinden devam edeceğimizi söylemiştik. Bir sonraki yazım, bir Web API‘dan GET methodu ile JSON formatında veri çekip, bunu parse edip ListView içinde göstermek üzerine olacak. Bundan dolayı bu yazımda başta ListView olmak üzere diğer View‘lar ve Layout‘lara deyinip ListView‘da nasıl veri göstereceğimizden bahsedeceğim.

Layout’lar

LinearLayout: İçine yerleştirilen View’ların yatay veya dikey olarak hizalanmasını sağlar.

Okumaya devam et

Android – Android Mimarisi, Activity ve Fragment!

android-code

Android’e kod yazmamız için gerekli Android Studio ve gerekli programların nasıl yükleneceğinden bu yazımızda, Android Studio’nun arayüzünden bu yazımızda bahsetmiştik.

Bu yazımızdan itibaren artık ellerimizi Android kodlarını yavaş yavaş bulaştırmaya başlayacağız. Fakat ondan önce bilmemiz gereken şey android mimarisi. Yani Android platformunda kod yazmaya geçmeden önce çok kısa Android Mimarisi üzerinde duracağız.

Okumaya devam et