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.
Okumaya Devam Et

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.
Okumaya Devam Et

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 😉
Okumaya Devam Et

RxJava scan() Kullanımı RxJava da scan() kullanımı iki şekilde olur. 1. İ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()); }); } 2. İlk değer ataması yapılmadan private void scan() { Observable.just(3, 5, 7, 9) .
Okumaya Devam Et

RxJava reduce() Kullanımı reduce() fonskyionu iki şekilde çalışır; 1 .reduce(new BiFunction<Integer, Integer, Integer>() { @Override public Integer apply(Integer val1, Integer val2) throws Exception { return null; } }) 2 .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. Aşağıdaki örneklerde daha net görebilirsiniz.
Okumaya Devam Et

VS Code & Express & TypeScript & IntelliSense VS Code, Atom ile aynı çekirdeği paylaşan, Electron kullanılarak microsoft tarafından özelleştirilmiş ve birçok dil ile uygulama geliştirmeniz için çeşitli eklentileri bulunan bir editördür. Günümüzün lider dili malum Javascript ve belki de bunun böyle olmasının en temel sebeplerinden biri NodeJS. NodeJS ile çok hızlı bir şekilde ve tamamen javascript kullanarak web siteleri, uygulamaları, api service leri vb. geliştirebiliriz. Bu yazımızda VS Code un nimetlerinden yararlanarak hızlı ve kolay bir şekilde nasıl NodeJS uygulaması yazabiliriz, bunu görücez.
Okumaya Devam Et

TCP/IP Nasıl Çalışır ? Bilgisayar ağları kullanılarak bilgisayarların birbirileriyle haberleşmeye başladıkları ilk yıllarda iki bilgisayarın birbiriyle haberleşebilmeleri için aynı marka/model cihazları kullanmaları gerekiyordu. Bunun üzerine farklı üreticiler tarafından üretilen cihazların birbiriyle sorunsuz ve belirli bir düzen içinde haberleşebilmesi için çeşitli standartlar geliştirilmiştir. Bunlardan en çok kullanılanı Açık Sistem Bağlantıları komitesi tarafından geliştirilen 7 katmanlı OSI referans modeli ve Amerikan Savunma Bakanlığı tarafından geliştirilen TCP/IP referans modelidir. OSI iki bilgisayar arasındaki haberleşme problemini çözmek için 7 katmanlı (aşamalı) bir ağ sistemi önermiştir.
Okumaya Devam Et

Android uygulaması yazarken bazı oluşturmuş olduğunuz yapıları tekrar tekrar yazmak durumunda kalıyorsanız, sizin de artık kendi kütüphanenizi yazmanızın zamanı gelmiş geçiyor demektir. Böyle bir durum söz konusu olmak zorunda değil tabi library oluşturmak için 🙂 Bu yazının konusu Android Library oluşturmak, oluşturmuş olduğumuz bu kütüphaneyi maven ve jcenter repository e deploy etmek olucak. Ve başlayabiliriz. İlk olarak Android Studio yu açarak File > New > New Project e tıklayıp yeni bir proje oluşturalım.
Okumaya Devam Et

Aykut Asil

Continious Innovation

Software Developer

Turkey