Author Archives: Ajitesh Kumar
How-to Tutorials for Spring Security OAuth2 & REST API
In this post, I have listed down some of the top pages which I came across while doing exploring implementation for Spring Security OAuth2 for REST APIs based apps. This page will be updated with good links in time. Secure a Spring Boot REST API With JSON Web Token + Reference to Angular Integration This one is very helpful (by-far-the-best) for developers doing Angular App on the client side and Spring Boot app on the server side. Really a great step-by-step tutorial. Kudos to Author, Nouhoun Y. Diarra. Covers some of the following topics. Github project can be found on this page. Configure spring security Configure authorization server Configure resource server …
Andrew NG Contribution to AI – Lectures, Interviews
This post is aimed at listing down some of the great work that Andrew NG has done in the field of AI (Machine Learning, Deep Learning etc): Courses Deep learning specialization course Machine learning course on Coursera Machine learning 112 lectures on Youtube Publications and Research Projects AI publications by Andrew NG Research projects in recent past Books recommended by Andrew NG in relation to his course: Artificial intelligence – Principles and Techniques Artificial intelligence – A modern approach (Russell and Norvig) Probabilistic graphical models (Koller and Friedman) An introduction to reinforcement learning (Sutton and Barto) The elements of statistical learning (Hastie, Tibshirani, and Friedman) Foundations of constraint satisfaction (Tsang) …
Elasticsearch Interview Questions & Answers – Set 1
In this post, you will learn about fundamentals and best practices with ElasticSearch based on the following: Revision notes on Elasticsearch fundamentals A set of questions to test your knowledge and, in turn, help you learn Elasticsearch concepts related to index and shards; These questions could as well help you prepare for interviews related to ElasticSearch A set of interview questions ElasticSearch Fundamentals – Revision Notes Each Elasticsearch shard is a Lucene index The number of shards and replicas can be defined per index at the time of creation of the index. The number of replicas per shard can later be changed. Shard in ElasticSearch is primarily a Lucene index …
How to Create AWS Lambda Deployment Jar using Maven
One of the key aspects of AWS Lambda Function in Java is creating deployment package (jar or zip file) for uploading/deploying on AWS Lambda service. In this post, you will learn about different ways in which you could create a Deployment Jar file for deploying it as AWS Lambda project using Maven. The following are different ways: Deployment jar using Maven and Eclipse IDE Deployment jar using Maven and command prompt I recommend using Maven and commmand prompt technique for creating deployment jar package. Before getting started, download AWS Toolkit for Eclipse from Eclipse Marketplace. Here is the information on getting setup with AWS Toolkit for Eclipse Deployment jar using …
ElasticSearch Create, Query, Delete Index – Java Example
ElasticSearch Java APIs can be used to create, update, query (retrieve items) and delete the index. In this post, you will learn about using Java APIs for performing CRUD operations in relation with managing indices and querying items in ElasticSearch. Create an empty index with data type mapping Create/update the index using BulkRequest APIs Search Index using QueryBuilder and SearchRequestBuilder APIs Delete the index Create an Empty Index with Data-type Mapping Create/Update the Index using BulkRequest APIs Pay attention to some of the following: Create an instance of TransportClient Prepare bulk request for inserting multiple entries in index Delete the Index Pay attention to some of the following: Create an …
ElasticSearch Fuzzy Query Example in Java
ElasticSearch fuzzy query can be used in scenarios when the user searches with mistyped keywords or misspellings. Alternatively, it can also be used for performing the search for similar words based on Levenshtein Edit Distance, which can be defined as the minimum number of single-character edits (insertions, deletions or substitutions) required to change one word into the other. In this post, Fuzzy Search using ElasticSearch Java API is demonstrated. Some of the following points are covered: Getting Setup with ElasticSearch and Kibana ElasticSearch Library POM Entries Using Fuzzy Query API for fuzzy search Using Match Query API for fuzzy search Using Bool Query API for Fuzzy Search Getting Setup with …
Spring Boot JPA MySQL Sample App – Code Example
Creating a Spring Boot app with MySQL data source is something every Java developer come across when thinking of creating a quick POC or app. This post is aimed to provide quick code samples which can be used to quickly create a MySQL-based Spring boot app. In this post, you will learn about code examples in relation to getting setup with Spring Boot app which interacts with MySQL database. The following are some of the topics covered: Define properties in application.properties file Create/Configure Database-related Beans Create Entity Classes (Domain) Create Database Implementation Classes (DAOs) Define Service Classes for interacting with Data Access Objects Invoke service class from SpringBoot main program …
AWS Error 2003 – Can’t Connect to RDS MySQL Server
In this post, you will learn about the solution to the error, AWS Error 2003: Can’t Connect to RDS MySQL Server, which you may come across while trying to connect AWS MySQL RDS server from your local machine (laptop or desktop). I came across this error when I first created an RDS MySQL instance using AWS console and tried accessing the instance from my laptop using the command such as mysql -h endpoint_address -P 3306 -u username -p. The following represents the error: As a matter of fact, I have come across this error once in a while trying to connect the MySQL database app from the command prompt or the application. The solution works …
Get Started with ElasticSearch and Kibana on Windows
ElasticSearch is a distributed, restful analytics search engine which is used to provide faster search through your data than the traditional databases including RDBMS and NoSQL databases. It works by regularly creating data indices from the data stored in traditional databases and use Lucene library to search through the data. Kibana is the visualization client used to explore, visualize and discover the data. In this post, you would learn about some of the following: Setup ElasticSearch and Kibana on Windows Load Sample Data and play around Setup ElasticSearch and Kibana on Windows Setup ElasticSearch on Windows: Go to the elasticsearch installation page and download the file elasticsearch-6.2.2.zip. Follow the instructions on the page …
AWS DynamoDB PutItem Java Example to Create Items
In this post, you will learn about Java code example related to creating an entry in the DynamoDB table using PutItem API. The following are some of the points considered later in this article: Configure Dev Environment with AWS Credentials Update POM.xml or Gradle file to include DynamoDB library Use PutItem API to create an Item in DynamoDB table PutItem API example with Spring Boot app Configure Dev Environment with AWS Credentials Make sure you have configured your dev environment with appropriate Access Key ID and secret access key. You could do that by executing the command such as following: If you have configured it correctly, you should be able …
DynamoDB – Partition Key vs Composite Partition Key
AWS DynamoDB has two key concepts related to table design or creating new table. A beginner with DynamoDB is found to be wondering on whether to use a partition key or composite partition key when creating a new table. Composite partition key is also termed as composite primary key or hash-range key. In this post, you will learn about some of the following: Is the partition key same as the primary key of a table? What are composite partition key or composite primary key? When to use partition key vs composite partition key? This post presumes that you have got a good understanding of partition concept and how DynamoDB stores …
Build IVR System using Amazon Polly, Lambda and Twilio
Building an intelligent IVR system with a Bot handling the interaction with your end users and bringing in humans based on pre-defined events would bring a lot of automation and remove mundane manual activities which takes up lot of time for a person. This can be achieved using cloud services provided by cloud providers such as Amazon, Google, Azure etc and communication service providers such as Twilio. In this post, you will learn about how to create or build an intelligent or smart IVR system using some of the following: Use Amazon Polly to create one or more custom text-to-speech audios and store the same at predefined locations in AWS …
Amazon Polly Text-to-speech with AWS S3, Twilio Java App
Amazon Polly can be used with Twilio phone service and AWS S3 to create an automated alert system which does (achieves) some of the following: Convert text to speech (using Amazon Polly) Upload audio (speech stream) created using Polly service on AWS S3 bucket Use Twilio Call service to play the audio to the destined phone number The following represents the application architecture diagram (communication flow viewpoint) representing communication between Spring Boot app and Amazon Polly, Amazon S3 and Twilio Service to achieve automated phone alerts based on text-to-speech conversion. This can be used to create automated alert/notification system around following use cases which makes phone call to concerned personal …
Java Code to Invoke Twilio Rest API to Play Audio
This post represents sample Java code (example) to demonstrate how to invoke Twilio Rest API to play pre-recorded audio in a phone call made to the users. The code could be used to in some of the following usecase: Alert users via phone call in relation to different kind of critical events such as security issues, production downtime, production issues etc. Play different kind of messages to users in relation to different occasions such as birthdays, anniversaries etc. The code can be used to play audio stored at locations such as cloud platform storage (AWS storage, Google/Azure storage etc.) The key is to provide public access (READ permission) to these …
Twilio & AWS S3 using Java & Spring Boot – Code Example
Twilio is a very popular communication service which could be used to send SMS, make the phone or video calls to people in different countries. In this post, you will learn about creating Java and Spring Boot app in relation to how to use Twilio phone service to make a phone call and play audio stored at AWS S3 bucket. The following are some of the related use cases: Play security and other alerts via phone calls Play messages of any kind via phone calls The following are some of the topics which would be covered in this post: Define VoiceService interface defining APIs Create Twilio Voice Service implementation Load …
AWS Temporary Credentials with Java & Spring Boot
AWS Security Token Service (STS) is an Amazon web service which enables you to request temporary, limited-privilege credentials for AWS Identity and Access Management (IAM) users or for users that you authenticate (federated users). By default, the AWS Security Token Service (AWS STS) is available as a global service, and all AWS STS requests go to a single endpoint at https://sts.amazonaws.com. You can optionally send your AWS STS requests to endpoints in any of the AWS regions shown in the table that follows. In this post, you would learn how to use AWS security token service to create temporary security credentials with Spring Boot and Java app. I would recommend …
I found it very helpful. However the differences are not too understandable for me