Skip to main content

Posts

HashMap in Java | How HashMap internally works | Performance of HashMap

In this tutorial, we are going to learn how HashMap works internally.This is a very popular java interview question from the collection framework and been asked so many times to check candidates understanding on Map collection. If you want video explanation then go through this : Let’s suppose A hashmap is a storage place where we want to keep all of the data. So building upon this, we might want to add data, retrieve data or manipulate data, right? We’ll go through all of this by understanding the structure of the HashMap Java Class. `public class java.util.HashMap<K, V> {}` What does this mean? It says, that a HashMap (A storage place) will store the data in the form of a key-value pair where K is key and V is value. Why key-value, you’d ask? So this is because it makes the retrieval of data easier. What a hashmap does is, it takes the data and store the data in a bucket and then label that bucket with the hash of the key. So when we want that data back, w...

Long-Polling vs WebSockets vs Server-Sent Events

Long-Polling vs WebSockets vs Server-Sent Events  Long-Polling, WebSockets, and Server-Sent Events are popular communication protocols between a client like a web browser and a web server. First, let’s start with understanding what a standard HTTP web request looks like. Following are a sequence of events for regular HTTP request: Client opens a connection and requests data from the server. The server calculates the response. The server sends the response back to the client on the opened request. HTTP Protocol Ajax Polling Polling is a standard technique used by the vast majority of AJAX applications. The basic idea is that the client repeatedly polls (or requests) a server for data. The client makes a request and waits for the server to respond with data. If no data is available, an empty response is returned. Client opens a connection and requests data from the server using regular HTTP. The requested webpage sends requests to...

Build Knowledge Graph from unstructured corpus using Machine Learning

Problem of creating knowledge graph from unstructured data is a well known machine learning problem. Not even a single org has achieved 100% accuracy for completely enriched knowledge graph . I have few findings that will help to kick-start for a person who is new in to this . Before move to findings , i will let you to walk through the problem of building knowledge graph from unstructured corpus . Lets consider this scenario . Suppose we have very small corpus : "Apple was founded by Steve jobs and current CEO is Tim Cook. Apple launched several products like Ipad, iphone , MAC etc. " Corpus may be very complex sentences also . Problem is how can we build a knowledge graph out of this unstructured corpses . If we create generic knowledge graph , then our system should be able to provide answers like "who founded Apple ?" , " What are products launched by Apple ?" etc . Few techniques to create knowledge graph : 1.) Supervised Technique : Supervised mod...

Getting started with Tensorflow , keras and theano - Development setup with Anaconda Installation

Below are the steps to setup your development environment  for Deep learning : 1.) Download and Install Anaconda from here : https://www.continuum.io/downloads 2.) Create a conda environment for data science development so that it doesn't affect the other install components .     conda create -n tensor_keras_py3.5 python=3.5 pandas scikit-learn jupyter matplotlib 3.) Activate the created environment     source activate tensor_keras_py3.5 4.) Install tensorflow inside activated env.     pip install tensorflow 5.) Install keras inside activated env.    pip install keras 6.) Install opencv inside activated env.    pip install opencv-python 7.) Install IMUTILS  pip install imutils Test your environment 1.) Type ipython in the shell  , which should open ipython console . 2.) Type import tensorflow,keras  , it should reply using tensorflow backend  Switching keras backend fro...

Getting started with Deep Learning Caffe Framework - Fastest way(Installation +Web Demo)

Here is the fastest way to get started with caffe deep learning framework with installation and basic we application demo for image classification : Installation : Here i am using caffe official ubuntu image and running it on docker . Follow the steps mentioned below : 1.) Install docker setup on your machine . Follow this link :  https://docs.docker.com/engine/installation/#time-based-release-schedule . 2.) I have build caffe ubuntu image and push to docker hub . You can pull it in to your local.    docker pull anishratnawat/caffe_deep_learning 3.)Run this command on terminal :      docker run -ti -p 5000  anishratnawat/caffe_deep_learning  bash    // it will download the image if its not downloaded before. // When downloading finishes , terminal will enter in to image bash and your terminal will change to : root@d3a683f24784:/workspace# If you install any necessary packages inside that image then you need to commit ...

Opencv Java Web Integration on eclipse ubuntu

Using opencv java , you can develop web application which uses opencv image processing libraries on the server. Prerequisite: 1.) Eclipse Java J2EE version. 2.) Install opencv using configure and download opencv Now, we will define OpenCV as a user library in Eclipse, so we can reuse the configuration for any project. Launch Eclipse and select Window –> Preferences  from the menu. Navigate under  Java –> Build Path –> User Libraries  and click  New... . Enter a name, e.g.  OpenCV-2.4.9 , for your new library. Now select your new user library and click  Add External JARs... . Browse through /home/anish/opencv-2.4.9/build/lib  and select  opencv-249.jar . After adding the jar, extend the  opencv-249.jar  and select  Native library location  and press  Edit... . Select  External Folder...  and browse to select the folder  /home/anish/opencv-2.4.9 . If you have a 32-bit sys...

OpenCV 2.4.9 JAVA/CPP/Python Installation in Ubuntu 14.04

OpenCV2.4.9 installation in ubuntu is not straight forward , sometimes due to dependencies , some people won't be able to end with successful installation.In this guide, i will show you how to install OpenCV with a lot of the features it provides. Here are some of the things that are going to be enabled when you are finished following through with this installation tutorial: 1.) Qt version of the HighGUI module (Better 2D window interface with zoom, image saving capabilities, etc) 2.) OpenGL support 3.) C++ interface and examples 4.) C interface and examples 5.) Python interface and examples 6.) Java interface and examples OK, so the first step is to make sure that everything in the system is updated and upgraded. Open the terminal and write this: sudo apt-get update sudo apt-get upgrade Now, you need to install many dependencies, such as support for reading and writing image files, drawing on the screen, some needed tools, other libraries, etc… This step is very ea...