Retrofit Oauth

Retrofit Oauth Entegrasyonu Oauth, kısaca anlatmak gerekirse; Kullanıcı ile ilgili her türlü (izin,yetki,güvenlik vs.) etkileşimi standartlaştıran bir yapı diyebiliriz. Google amcaya sorarsanız neler yapabileceğiniz ile ilgili birçok kaynak bulabilirsiniz. Veya buraya bakabilirsiniz. Burada bahsedecek olduğumuz şey Android mobil uygulamanızdan bir istek yaptığınızda tüm bu oauth işlemlerinizi otomatize etmek üzerine olacak. Nasıl Çalışıyor? Kısaca anlatılan bu yazıyı okuduğunuzda günün sonunda elimizde bir token olduğunu ve bu tokenı request headerımıza ekleyerek backend kısmında kontrolünü sağladığımızı ve duruma göre cevap döndüğümüzü göreceksiniz....

May 17, 2017 · 4 min · Aykut Asil

Arduino HC-06 Bluetooth Kullanımı

HC-06 Bluetooth Aşağıdaki kodu Arduino kartınıza yükleyiniz Bluetooth Terminal uygulamasını telefonunuza indirin HC-06 modulünün TX-RX çıkışlarını Arduino kartınızın RX-TX girişlerine entegre edin. (Ters sıralamaya dikkat) Cihazınızdan normal bluetooh bağlantısı kurar gibi HC-06 modülü ile bağlantı kurun ve şifre olarak 1234 girin. Aşağıdaki kodda görebileceğiniz gibi 0,1,2,3,4 için farklı işlemler yapılmasını sağladık. Siz de ihtiyacınıza göre ayarlayın. Ben led parlaklığını düzenledim ya da motor hızı olarak da düşünebiliriz. const int LED_PIN = 9; char veri; void setup() { Serial....

March 12, 2017 · 1 min · Aykut Asil

Yeoman Kullanımı

Yeoman Kullanımı Yeoman ile kendi proje yapımızı kurgulayabilir ve opsiyonlar belirleyerek ona göre dosya içeriğimizi vs. düzenleyebiliriz. Ya da oluşturduğumuz projeye önceden belirlediğimiz bir dosyayı ekleyebilir ve gerekli ayarlamaları otomatik olarak yapmasını sağlayabiliriz. (yeni bir Controller eklemek gibi vs.) Ve hazırladığımız bu proje yapısını paket yönetim sistemlerine yollayarak diğer kişilerin kullanımına açabilir veyahut kendimizin de istediğimiz yerden erişebilmesini sağlayabiliriz. Öncelikle bilgisayarınız da nodejs yüklü olduğunu varsayıyoruz. Eğer yüklü değilse buradan gerekli işlemleri yaparak kurabiliriz....

January 18, 2017 · 3 min · Aykut Asil

CSharp Null Kontrolü

C# ? ve ?? Operator Kullanımı Kısaca bahsedilecek olursa ? operatörü null kontrolü yapılmasını sağlar. Yazılım geliştirme sırasında en çok rastlanan hatanın sebebi null dönen ifadelerdir. Bu bazen bir değişken bazen parametre vs. olabilir. Ama sebep ifadenin null olmasıdır. Önceden şu şekilde kontrol ediyorduk. var a; if(a != null) { Console.Write(a); } şimdi var a; Console.Write(a ?? "boş değer"); Yukarıdaki söz dizimi ile şunu söylüyoruz. Eğer a değeri null değil ise ekrana a nın değerini yaz....

January 16, 2017 · 1 min · Aykut Asil

ExecutorService submit() – execute()

ExecutorService submit() – execute() Link : http://javarevisited.blogspot.com.tr/2016/04/difference-between-ExecutorServie-submit-vs-Executor-execute-method-in-Java.html

January 11, 2017 · 1 min · Aykut Asil

Executor newCachedThreadPool() newFixedThreadPool(n) newSingleThreadExecutor()

Executor newCachedThreadPool() newFixedThreadPool(n) newSingleThreadExecutor() Thread kullanımı, Java ile multi-threading yazılım geliştiriyorsanız mutlaka ama mutlaka bilmeniz gereken konulardan biridir. ThreadPool Gün geldi çattı ve uygulamanız ilk kurulduğu amacın evrimleşmesi sonucu bambaşka bir hale büründü 🙂 Yani birçok uygulamada gidişat bu yöndedir ve olması gerekende budur. Aynı anda 1000 den fazla kullanıcıya cevap verme gereksinimiz var artık. Sadece patron kullanmıyor sonuçta. Ya da patron öyle bir uygulama istemişki ağır işler gerektiriyor. Uzun süreler gerektiren işlemler sonucunda akış tamamlanıyor vs....

January 11, 2017 · 5 min · Aykut Asil

Runnable() & Callable()

Runnable() & Callable() Ayrıntılı açıklama için bu siteyi kullanabilirsiniz.

January 11, 2017 · 1 min · Aykut Asil

RxJava range() Kullanımı

RxJava range() Kullanımı **Örnek kod:– private void range() { Observable.range(3, 5).subscribeOn(Schedulers.io()) .subscribe(success -> { Log.i(TAG, "val: " + success.toString()); }); } Açıklama: İlk değer 3 kabul edilerek sonraki 5 sayı için teker teker onNext() çağırılır. Yani 3 , 4, 5, 6, 7 Yukarıda ki kodun çıktısı aşağıdaki gibidir. I/MainActivity: val: 3 I/MainActivity: val: 4 I/MainActivity: val: 5 I/MainActivity: val: 6 I/MainActivity: val: 7 RxJava candır. 😉

January 11, 2017 · 1 min · Aykut Asil

RxJava scan() Kullanımı

RxJava scan() Kullanımı RxJava da scan() kullanımı iki şekilde olur. İlk değer ataması yapılarak private void scan() { Observable.just(3, 5, 7, 9) .scan(10,(val1, val2) -> { // Log.i(TAG, "val1: " + val1.toString()); Log.i(TAG, "val2: " + val2.toString()); return val1 + val2; }).subscribeOn(Schedulers.io()) .subscribe(success -> { Log.i(TAG, "Sonuc:" + success.toString()); }); } İlk değer ataması yapılmadan private void scan() { Observable....

January 11, 2017 · 2 min · Aykut Asil

RxJava reduce() Kullanımı

RxJava reduce() Kullanımı reduce() fonskyionu iki şekilde çalışır; 1.Kullanım .reduce(new BiFunction<Integer, Integer, Integer>() { @Override public Integer apply(Integer val1, Integer val2) throws Exception { return null; } }) 2.Kullanım .reduce(10,new BiFunction<Integer, Integer, Integer>() { @Override public Integer apply(Integer val1, Integer val2) throws Exception { return null; } }) 1 ile 2 nin farkı, 2 de görüldüğü üzere fonksiyona başlangıç değeri atanabilmesidir....

January 11, 2017 · 2 min · Aykut Asil