Blogs and Articles

I write on Tech, Product, Education, and Life

Janishar Ali
How to Architect Good Go Backend REST API Services
Janishar Ali
How to Architect Good Go Backend REST API Services

Learn how to build an REST API backend using Go and goserve. goserve is a robust Go backend architecture. It offers a performant and scalable framework, emphasizing feature separation, clean code, and testability.

01 Jul 2024
Janishar Ali
How to Create Microservices — A Practical Guide Using Go
Janishar Ali
How to Create Microservices — A Practical Guide Using Go

Microservices have puzzled many developers, particularly when they move out of theory and into implementation. This Article simplifies getting started with microservices in Go

07 Jul 2024
Janishar Ali
Mastering NestJS — Building an Effective REST API Backend
Janishar Ali
Mastering NestJS — Building an Effective REST API Backend

When we think about developing REST API backend services, NodeJS is a big heavyweight. Learn to build a modular and secure backend services using very popular NestJS framework.

10 Jul 2024
Janishar Ali
Android MVVM Architecture for A Production Ready App
Janishar Ali
Android MVVM Architecture for A Production Ready App

Android development has gone through a rapid change over the past couple of years. This Article convers a complete project example to learn the modern approach to Android Development

09 Jul 2024
Janishar Ali
Create React Isomorphic App like a Pro
Janishar Ali
Create React Isomorphic App like a Pro

Developing a modern web app is challenging, mostly because of the choice paralysis. It hit me too when I started with web development a few years back. In this blog, I have discussed my experiences with React.

28 Apr 2020
Janishar Ali
Implement JSON Web Token (JWT) Authentication using AccessToken and RefreshToken
Janishar Ali
Implement JSON Web Token (JWT) Authentication using AccessToken and RefreshToken

In this blog, we will learn about the concepts of JsonWebToken (JWT) based authentication in Node.js. We will also cover all the edge cases of the security involved in token handling.

10 Apr 2020
Janishar Ali
Design Node.js Backend Architecture like a Pro
Janishar Ali
Design Node.js Backend Architecture like a Pro

Node.js backend architecture in Typescript. Learn the concepts behind building a highly maintainable and delighful backend server application in Node.js

02 Apr 2020
Janishar Ali
Event Loop in Node.js - Concurrency Model
Janishar Ali
Event Loop in Node.js - Concurrency Model

Node.js uses the event-loop and callback mechanism to lift off I/O operations from the javascript's thread to the system's kernel. And in this article we are going to understand how this actually happens.

29 Oct 2019
Janishar Ali
Chrome V8 Engine - Javascript runtime for Node.js
Janishar Ali
Chrome V8 Engine - Javascript runtime for Node.js

Chrome V8 engine originally run in Chrome web browsers. But later it was used to run the javascript without a browser. Node.js is written in C++ and build on top of Chrome V8 engine, which provides the runtime for the Javascript.

29 Oct 2019
Janishar Ali
Blocking and Non-Blocking in Node.js - Asynchronous Operations and Callbacks
Janishar Ali
Blocking and Non-Blocking in Node.js - Asynchronous Operations and Callbacks

Asynchronous coding paradigm enables us to write non-blocking code. This makes the single threaded Javascript run with efficiency. A single thread is like an execution that can do only one thing at a time.

03 Oct 2019
Janishar Ali
Introduction to Node.js - How Node.js works?
Janishar Ali
Introduction to Node.js - How Node.js works?

In this article we will explore the core structures of the Node.js architecture. Node.js is a popular framework for building backend systems (network applications) which can scale very well. Node.js is a Javascript runtime based on Chrome V8 engine.

03 Oct 2019
Janishar Ali
Getting Started with Retrofit using Kotlin  and  RxJava - Android Networking Library
Janishar Ali
Getting Started with Retrofit using Kotlin and RxJava - Android Networking Library

Networking is one of the primary components of any Android application. There are a lot of good libraries out there that helps in making networking fairly easy for us. In this article, I am going to provide you the essential setup and concepts required to build an Android application using Retrofit with RxJava and Kotlin

09 May 2019
Janishar Ali
Java & Android  Multithreaded Programming: Runnable,  Callable,  Future,  Executor
Janishar Ali
Java & Android Multithreaded Programming: Runnable, Callable, Future, Executor

In this tutorial we will write a complete Java program that simulates API call to fetch user recent activities including likes, comments, posts, and friends concurrently from a server using ThreadPoolExecutor, Callable, Future, and Runnable. See complete code here:

03 Sep 2018
Janishar Ali
Run parallel tasks in Java or Android, and get callback when all complete
Janishar Ali
Run parallel tasks in Java or Android, and get callback when all complete

We will write a Java program that execute several tasks in parallel and then send a callback when all of those tasks completes.

31 Aug 2018
Janishar Ali
Android Annotation Processing Tutorial: Part 4: Use The Generated Code
Janishar Ali
Android Annotation Processing Tutorial: Part 4: Use The Generated Code

In this final part of the tutorial we will see the usage of the generated code while annotation processing.

29 May 2018
Janishar Ali
Android Annotation Processing Tutorial: Part 3: Generate Java Source Code
Janishar Ali
Android Annotation Processing Tutorial: Part 3: Generate Java Source Code

Our library will generate a wrapper class that will help to map the views and clicks listeners for an activity.

29 May 2018
Janishar Ali
Android Annotation Processing Tutorial: Part 2: Project Structure
Janishar Ali
Android Annotation Processing Tutorial: Part 2: Project Structure

In this tutorial, we will build a project as a complete library implementation. The reader will be able to develop his own library similar to ButterKnife, Room etc.

29 May 2018
Janishar Ali
Android Annotation Processing Tutorial: Part 1: A practical approach
Janishar Ali
Android Annotation Processing Tutorial: Part 1: A practical approach

Annotation processing has become one of the most important language features in the modern Java programming. Java supports annotation processing from its release of Java 5. It generates files during the compile time.

29 May 2018
Janishar Ali
Understanding Android Core: Looper, Handler, and HandlerThread
Janishar Ali
Understanding Android Core: Looper, Handler, and HandlerThread

Looper, Handler, and HandlerThread are the Android’s way of solving the problems of asynchronous programming. They are not old school, but a neat structure on which a complex android framework is built.

29 Dec 2017
Janishar Ali
Android MVP Architecture Extension with Interactors and Repositories
Janishar Ali
Android MVP Architecture Extension with Interactors and Repositories

Sometime back I wrote a series of articles on the design of MVP architecture for Android. The project was very well received in the community and hundreds of companies and developers added the architecture in their applications.

24 Jul 2017
Janishar Ali
RxJava Anatomy: What is RxJava, how RxJava is designed, and how RxJava works.
Janishar Ali
RxJava Anatomy: What is RxJava, how RxJava is designed, and how RxJava works.

RxJava has become the single most important skill for Android development. Most of you must have worked with it in some form, either in your own codebase or through other third party libraries, like Fast Android Networking and Retrofit.

19 Jul 2017
Janishar Ali
How to convert your laptop/desktop into a server and host internet accessible website on it: Part 1
Janishar Ali
How to convert your laptop/desktop into a server and host internet accessible website on it: Part 1

In this article, I will share the knowledge and hacks I did to convert my laptop into a server. Going forward, I must present my intentions for writing this article.

09 Jun 2017
Janishar Ali
How to convert your laptop/desktop into a server and host internet accessible website on it: Part 2
Janishar Ali
How to convert your laptop/desktop into a server and host internet accessible website on it: Part 2

This is the part 2 of the article series on hosting a website on the internet using your own laptop. In part 1 we developed the concepts of internet structure and functionings.

09 Jun 2017
Janishar Ali
Javascript ECMAScript 2015 (ES6) and ECMAScript 2016 (ES7) Cheat Sheet
Janishar Ali
Javascript ECMAScript 2015 (ES6) and ECMAScript 2016 (ES7) Cheat Sheet

ES6 brought the most profound changes to the javascript. It completely reshaped the way we approach to javascript. ES7 was a tiny update on top of ES6. Let’s see the changes that were brought in the ES6 update. I originally created this note for myself and now I am sharing it with you.

01 Jun 2017
Janishar Ali
Essential Guide For Designing Your Android App Architecture: MVP: Part 3 (Dialog, ViewPager, and Adapters)
Janishar Ali
Essential Guide For Designing Your Android App Architecture: MVP: Part 3 (Dialog, ViewPager, and Adapters)

During the course of this development, many of you inquired about the implementation of Dialogs and Adapter based views in this architecture. So, I am writing this article to explain the place-holding for these.

26 May 2017
Janishar Ali
Handle SSL(Https) Certification Path Exception for Java Applications
Janishar Ali
Handle SSL(Https) Certification Path Exception for Java Applications

As a java developer, if you have not been stung by the below-mentioned exception while running a Java application developed by you on your machine that hits an SSL server (https), then be prepared to get a nasty experience at some point of your coding journey.

13 Apr 2017
Janishar Ali
Android Task and Back Stack Review
Janishar Ali
Android Task and Back Stack Review

Android Activities are the logical construct of the screens that we want a user to navigate through. The relation that each Activity holds with respect to other is very crucial for a good user experience.

29 Mar 2017
Janishar Ali
Essential Guide For Designing Your Android App Architecture: MVP: Part 1
Janishar Ali
Essential Guide For Designing Your Android App Architecture: MVP: Part 1

Android framework does not advocate any specific way to design your application. That in a way, make us more powerful and vulnerable at the same time.

03 Feb 2017
Janishar Ali
Essential Guide For Designing Your Android App Architecture: MVP: Part 2
Janishar Ali
Essential Guide For Designing Your Android App Architecture: MVP: Part 2

This is the second part of the article series. In the first part, we developed the concept of MVP and worked out a blueprint for the android application architecture.

03 Feb 2017
Janishar Ali
Android Dagger 2: Critical things to know before you implement.
Janishar Ali
Android Dagger 2: Critical things to know before you implement.

Dagger 2 in a Dependency Injection framework for Android. I assume the reader is familiar with Dagger and it’s usage pattern in Android for the sake of this Article.

13 Jan 2017
Janishar Ali
Introduction to Dagger 2, Using Dependency Injection in Android: Part 1
Janishar Ali
Introduction to Dagger 2, Using Dependency Injection in Android: Part 1

Dependency Injection in build upon the concept of Inversion of Control. Which says that a class should get its dependencies from outside. In simple words, no class should instantiate another class but should get the instances from a configuration class.

26 Dec 2016
Janishar Ali
Introduction to Dagger 2, Using Dependency Injection in Android: Part 2
Janishar Ali
Introduction to Dagger 2, Using Dependency Injection in Android: Part 2

This is the part 2 of the article series. In part 1 we understood the need and advantages of dependency injection. We also got an overview of Dagger 2. In this part, we will focus on implementing the DI using Dagger in an android app.

26 Dec 2016
Janishar Ali
Android Infinite List with Load More Example
Janishar Ali
Android Infinite List with Load More Example

Objectives Outline for This Tutorial: We will be building a news feed, which will simulate JSON data loading from the internet and then populate the list items.....

10 Oct 2016
Janishar Ali
Modifying Android Tinder Swipe View Example to support auto resize
Janishar Ali
Modifying Android Tinder Swipe View Example to support auto resize

This thread is in continuation to the Android Tinder Swipe View Example. it modifies the example codes to auto fit various screen sizes. It also fixes the issue of card overlapping the like/dislike buttons and making them unclickable.

08 Oct 2016
Janishar Ali
Android Networking Bare Skin: Understanding JPost
Janishar Ali
Android Networking Bare Skin: Understanding JPost

Android networking is typically very involved if you try to implement bottom-to-top. So, we rely on third-party libraries. But never understand what’s underneath it.

03 Oct 2016
Janishar Ali
Android Tinder Swipe View Example
Janishar Ali
Android Tinder Swipe View Example

Tutorial using PlaceHolderView: In this example we will develop views and architecture to simulate the Tinder Swipe.

28 Aug 2016
Janishar Ali
Android Expandable News Feed Example
Janishar Ali
Android Expandable News Feed Example

This view is very different from the Android ExpandableListView in the sense that it’s based on PlaceHolderView which is based on RecyclerView. So, we have the power of reusing the views and managing the memory, that too is a very modular and simple interface.

24 Aug 2016
Janishar Ali
Android Advance Image Gallery Example
Janishar Ali
Android Advance Image Gallery Example

Objectives Outline for this tutorial: 1. We would be building a list of images with two types of views. One of the top with horizontal image list and below with vertical image list and apply animations on these view items as shown in the above display image....

23 Aug 2016
Janishar Ali
Android Beginner Image Gallery Example
Janishar Ali
Android Beginner Image Gallery Example

This example demonstrate creation of a list of images with animation using PlaceHolderView. For the sake of this example we will be placing our images in the drawable folder.

23 Aug 2016
Janishar Ali
Android View Evolution : PlaceHolderView
Janishar Ali
Android View Evolution : PlaceHolderView

Implementing RecyclerView with dynamic content and adding listeners on each is a very irritating task. Let's leave animation alone, if we have to do it for nested Recyclers then it’s a nightmare.

22 Aug 2016