obenplus.com | oben+ | Hikayesi bol bir yazılımcının kaleminden, teknoloji dünyasını en önemli ve en ince ayrıntısına kadar takip etmek, bir yazılımcının hayatını, yaşantısını gözlemlemek isteneyenler için...

Java 8 Stream API

Categories: Java
Comments: No

java stream api ile ilgili görsel sonucuJava 9 a çok yaklaştığımız bu günlerde, Java 8 Stream API yazısı yazıp yazmama konusunda biraz endişeli olsam da, aslında Java 9 da da kendini geliştirerek gösterecek olan bu API hakkında bir yazı yazmaya karar verdim.

Stream API Nedir ?

Adından bakıldığında, InputStream , OutputStream gibi şeyler canlanıyor olsa da, aslında tamamen farklı bir API.  Stream Api sayesinde, javayı daha fonksiyonel programlamaya yaklaştıran bir dönüşüme sahip oluyoruz. Bunu yaparken, labmda expressionları, fonksiyonel interfaceler ve metod referanslarının bütünleşik kullanımlarından yararlanılıyor.

Örnek bir kod üzerinden incelememiz gerekirse de ;

Koddan da kolaylıkla anlaşılabileceği üzere, bir listeye stream uygulayacağımızı, önce c ile başlayanları filtreleyeceğimizi, hepsini uppercase yapacağımızı, sonra sort edeceğimizi ve her birini print edeceğimizi ifade ediyoruz. Sonuçta da C1, C2 gibi bir output çıkıyor.

Stream API de farklı ne özellikler olduğunu buradan inceleyebilirsiniz.

Örneğin yukarıdaki örnekte, her diziye stream uygulanacak, ilk eleman alınacak,  Eğer eleman varsa, print edilecek. Aynı örneği aşağıdaki gibi de yapabilirdik;

Bu ve bunun benzeri bir çok örnek mevcut. Oldukça kullanışlı olan bu API hepinizin mutlaka işine yarayacaktır. İncelemenizi şiddetle tavsiye ederim.

Merhaba arkadaşlar,

GOSOFT olarak yayımladığımız yeni uygulamamız, Ekşi Sözlük gayrıresmi mobil uygulaması Şükela Reader yayında.

Uygulamaya buradan ulaşabilirsiniz.

 Şükela Reader- ekran görüntüsü         Şükela Reader- ekran görüntüsü

Kendini pazarlamak… Herkesin dilinde bu aralar, kendini ne kadar iyi pazarlarsan o kadar hızlı yükselirsin. Malum, yeni dünyada hız herşey… Ben de biraz kendini iyi pazarlamış olan tanıdıklarımı düşüneyim dedim, gerçekte neymişler, kendilerini nasıl pazarlamışlar, ne olmuşlar diye bir düşünmek istedim kendi kendime.

Bunun için önce öğrencilik yıllarıma döndüm, kendini iyi pazarlayan ama içi boş bir çok insanla yetiştim. Nitelikli bilgi yok, ama her etkinlikte var, karizmatik lider gibi ortalıkta olurlar hep, cümleleri güzel kurarlar, somut adımları da vardır ama hiç biri kendilerinin value kattıkları işler değildir, onlar tanıtımcıdırlar, arkada teknik kapasitesi çok iyi ama kendini iyi pazarlamadıkları için arkaplanda kalmış insanlar vardır hep. Şimdi bakıyorum o arkadaşlarıma, yönetici olmuşlar bir çoğu, diğer nitelikli bilgiye sahip olanlara bakıyorum, halen kurumsal sektörde birer senior ya da expert developer olarak çalışıyorlar.

Hayatımın bir kaç senesi, kendini çok iyi pazarlayan bir arkadaşımla geçti. Bakıyorum da, yükseldikçe yükseliyor, ben ise aynı başladığım yerdeyim.

Buradan çıkarttığım sonuç, kendini iyi pazarla arkadaş, benim gibi bir çok sisteme deli gibi hakim olsan neeee olmasan ne… Kendini ileriye taşıyanlar onlar iken sen bulunduğun noktada bulunduğun işi daha iyi yapıyorsun hepsi bu. Karşılığında belki takdir görürsün, hepsi bu…

Neyse dostum, bence durma, sen de kendini pazarla, dünya düzeni olmuş pazarlama düzeni, sen de oyuna dahil ol, göster onlara…

It is very common for apps to communicate each other. Most of the applications call Web Services or Rest APIs to communicate. While these processes goes on, world is sometimes very pitiless, temporarily faults may occur. These faults may be exampled as temporarily unreachable service, momentary loss of network connectivity or classic timeouts when service is busy.

When these problems happen, to reduce faults, there is a solution we can use : Spring-Retry

Spring Retry is very easy to use and flexible.

First, we add Spring-Retry dependency to our pom.xml

All you need to do ise adding the @Retryable annotation to your application.

For summary; Spring retry provides an easy way to add retry handling to spring applications. Retry handling can be added using annotations (@Retryable and @Recover).

Since everything in computer science is getting more advanced, application security is becoming a major topic to think on. One of the frequently used technology in our APIs is tokens. Tokens are used for a self-contained singular chunk of information. This kind of methodology is being used especially in REST APIs. Using tokens make the application stateless and this situation becomes with several advantages such as extensibility, multi platform usage, distributed app usage and security. In this article, we will get into details of JSON Web Tokens (JWTs) because when we talk about building our own APIs, there’s always going to be the topic of how to secure our own API.

What is JWT ?

JWTs are a URL-safe, compact, self-contained string with meaningful information that is usually digitally signed or encrypted. They’ve become a standard for token implementations across the world wide web. Being URL-Safe in tokens mean that all the information is prepared encrypted so, anyone who has no signature can’t decrypt the token information.

Content Of JWT Token

A simple JWT string contain three seperate parts; header, payload, signature.

Header containts tho parts: the type and the algorithm. Standart used for the type is JWT and algorithm is HMAC SHA256 (HSHA256)

Payload carries the whole data we want to store in. Also in the payload the expiration time is stored.

Signature contains three parts too; the header, the payload and the secret.  When we want to create the signature, we encode the header with base64URLEncode and also we encode the payload with base64URLEncode too. And we merge these two strings together with the header and payload order. After the concatanation, this string is sent to HSHA256 encryptor with the secret key. The result of this equals to the signature.

It seems very long process, “no!” it is not. Because today’s world, computer processing and the resources for processing this kind of staff is very easy.

Example JWT Usage In JAVA

To Create A Token;

Read more