Author Archives: Ajitesh Kumar

Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. For latest updates and blogs, follow us on Twitter. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking. Check out my other blog, Revive-n-Thrive.com

Docker – Create Javascript Development Environment

This article represents Dockerfile code sample which could be used to create Javascript Development environment. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points described later in this article: Javascript Development environment Dockerfile representing JS Development Environment One script used for Images/Containers Javascript Development Environment Following tools are installed to make Javascript development environment. NodeJS runtime Typescript compiler Grunt-cli Bower JSHint for code quality check Jasmine for unit tests Dockerfile representing JS Development Environment Following dockerfile (nodejs_base.df) could be used to create NodeJS base image and represents NodeJS runtime. # Use centos6 base image …

Continue reading

Posted in Dockers, Javascript. Tagged with , .

TypeScript Hello World Program – Code Sample

This article represents code samples on writing Hello World program with TypeScript. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points described later in this article: Setting up Typescript Development environment TypeScript Hello World Program Setting up Typescript Development environment Use the instructions on following page to setup the TypeScript development environment. Docker – How to setup Typescript Development Environment TypeScript Hello World Program interface Person { firstname: string; lastname: string; } function hello(person: Person) { return “Hello, ” + person.firstname + ” ” + person.lastname; } var calvin = {firstname: “Calvin”, lastname: “Hobbes”}; …

Continue reading

Posted in Dockers, Javascript.

Docker – How to Create Javascript Runtime using NodeJS

This article represents information on how to install Javascript runtime in order to compile/interpret JS file for the purpose of testing. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points described later in this article: Install NodeJS Runtime with Docker Container Script to Create NodeJS Container Test JS script execution Many a times, we come across the need to write the Javascript file and run it using a Runtime without the need to test the Javascript code using an HTML page. We could achieve this objective using NodeJS runtime. We shall use Docker to …

Continue reading

Posted in Dockers.

Docker – How to Setup Typescript Development Environment

This article represents code samples on how to get setup with Typescript development environment with Dockers. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points described later in this article: Build NodeJS & NPM image Build Typescript image Create Typescript container One script to create images & Typescript container Build NodeJS & NPM Image Following code can be used to create NodeJS/NPM image. # Use base image of centos6 FROM centos:centos6 # Enable Extra Packages for Enterprise Linux (EPEL) for CentOS RUN yum install -y epel-release # Install Node.js and npm RUN yum install …

Continue reading

Posted in Dockers, Javascript, Web.

One Datastore per MicroService?

This article represents details on whether to use single datastore per microservice. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. From what I researched, the preferred architecture for microservices is polyglot persistence pattern. (http://martinfowler.com/bliki/PolyglotPersistence.html ). You could further read about this on following pages: http://martinfowler.com/articles/microservices.html#DecentralizedDataManagement http://microservices.io/patterns/data/database-per-service.html As per the best practices, each micro-service should have one database private to it. There are different ways to achieve the above objective. Some of them are listed below: Same database system for different services. In this following could be done: Different set of tables specific to microservice in the same database …

Continue reading

Posted in API Development, SOA. Tagged with .

Hadoop Map-Reduce Explained with an Example

This article represents key steps of Hadoop Map-Reduce Jobs using a word count example. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key steps of how Hadoop MapReduce works in a word count problem: Input is fed to a program, say a RecordReader, that reads data line-by-line or record-by-record. Mapping process starts which includes following steps: Combining: Combines the data (word) with its count such as 1 Partitioning: Creates one partition for each word occurence Shuffling: Move words to right partition Sorting: Sort the partition by word Last step is Reducing which comes up with …

Continue reading

Posted in Big Data. Tagged with , , .

Big Data – How Data is Retrieved and Written from/to HDFS?

This blog represents my notes on how data is read and written from/to HDFS. Please feel free to suggest if it is done otherwise. Following are steps using which clients retrieve data from HDFS: Clients ask Namenode for a file/data block Name-node returns data node information (ID) where the file/data blocks are located Client retrieves data directly from the data node. Following are steps in which data is written to HDFS: Clients ask Name-node that they want to write one or more data blocks pertaining to a file. Name-node returns data nodes information to which these data blocks needs to be written Clients write each data block to the data nodes suggested. The …

Continue reading

Posted in Big Data. Tagged with , , .

Hadoop Map-Reduce Described With Example

I came across a great page describing Hadoop map-reduce and HDFS architecture. The page presents some of the following details: HDFS responsibilities and execution flows Key characteristics of Map-Reduce lifecycle A sample example related with web crawler and Hadoop Map-reduce setup

Posted in Big Data.

5 Reasons Why Every Developer Must Adopt Dockers

This blog represents some of the key reasons why every developer must consider adopting for development. 1. Setup clean Dev environment within no time. Many a time, while developing, we end up changing configuration. Installing new libraries etc. With this act, the Dev environment deviates to a new state which may be different from expected QA and Production environment. With Dockers, one could rather update the image and create new containers in case new libraries need to be installed. 2. Setup Dev environment within minutes. As a matter of fact, developers could actually recreate the Dev environment every morning before starting his work. This ensures that he maintains the state …

Continue reading

Posted in Software Engg, Software Quality. Tagged with , , .

Dockers – Top 5 Use Cases for Dockers Adoption

This blog represents top 5 use cases why IT enterprises (product & software-service vendors) should consider adopting Dockers in their SDLC. 1. Quicker Developer Onboarding into Projects: We all are aware of development environment setup related issues when taking about developers on boarding. In my recent experience, I almost spent a week to get manually setup for a recently started project comprising of just 3-4 members. I had to refer to couple of documents which was last updated few weeks back and thus was not up to date. This led to productivity loss. In my earlier experience, I saw the usage of VMs images for developer onboarding. This worked very …

Continue reading

Posted in Dockers, Software Engg, Virtualization. Tagged with , .

ReactJS – Step-by-Step Tutorial on Quiz Development

I just finished up writing a simplistic/trivial framework using ReactJS using which one could quickly create online quizzes. The code for this could be found on github on following page named as ReactJS-Quiz. I would like to take this opportunity to share AngularJS-Quiz  that I wrote sometime back. I must say that I found writing quiz framework using ReactJS more fulfilling as it got aligned to my OOP oriented thinking and I was not required to envisage templates etc as in case of AngularJS. That said, both frameworks are cool and have their own pluses and minuses. Please feel free to suggest if I missed on mentioning one or more …

Continue reading

Posted in Javascript, Web. Tagged with , .

ReactJS – What is this.props.items.map Property?

This article represents concepts around usage of “map” method to traverse and display list of similar objects representing a component in ReactJS. The title represents “this.props.items.map”, although it could be anything such as “this.props.profiles.map” like in examples below where profiles or items represent an array. It could be used to create a list, table etc. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points described later in this article: Map is NOT a feature of ReactJS Code Sample – Usage of “map” as in this.props.profiles.map Map is NOT a feature of ReactJS After looking …

Continue reading

Posted in Javascript, Web. Tagged with , .

5 Reasons Why Every Developer Must Adopt Dockers

This blog represents my thoughts on why every developer must adopt dockers for their day-to-day development purpose. I got introduced to Dockers technologies a couple of months back and trust me, I have started wondering on how I have been developing/coding prior to that.  Honestly speaking, I am floored. Here are some of the top reasons why you should also give a shot to Dockers. Bring up Dev Environment in No Time One of the issue that I faced in the programming/development experience is living with same Dev environment through out the entire development cycle for months all together. At times, due to installation of software updates, the environment used …

Continue reading

Posted in Virtualization. Tagged with .

ReactJS – How to Configure Sublime TextIDE for Faster Development

This article represents instructions on how to configure your existing Sublime Text Editor for faster development. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the instructions: Install the Package Control within your Sublime TextIDE. Follow instructions on package control page. Pay attention to tabs comprising of different information for Sublime Text 2 and Sublime Text 3 edition. Once done, Type ctrl+shift+p on Windows and it opens up a command palette. Type React, select ReactJS That is it! You could open up a file, save it as *.js, and type rcc. It would print class creation template …

Continue reading

Posted in Javascript, Web. Tagged with .

NodeJS – How to Develop Javascript using Console (Node)

This article represents tips on how to do Javascript programming using Console with the help of NodeJS. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points described later in this article: Setting up NodeJS Environment Program Hello World & Execute on Console Setting up NodeJS Environment I recommend using Docker environment for setting up the NodeJS environment. Using that you could work on CentOS and NodeJS and make bets use of NodeJS. Follow the instructions on following page, Dummies Notes – Get Started with Docker Hello World to setup the Docker environment. Recently, Docker …

Continue reading

Posted in Javascript, Web. Tagged with , .

How to Migrate from Boot2Docker to Docker Toolbox

This article represents quick information on how to migrate existing Boot2Docker containers and images to newly launched Docker Toolbox, that was officially announced on this Docker’s blog. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points described later in this article: What is Docker Toolbox? Migration to Docker Toolbox What is Docker Toolbox? With the development community talking about issues related with getting up and started with Dockers and need for one-click install of Docker, Docker finally came out with something called as Docker Toolbox. This comes with following: Docker client Docker kitematic Docker …

Continue reading

Posted in Virtualization. Tagged with .