Category Archives: Programming

Triggering download of file using JavaScript

I recently needed to write a small piece of download code. So you pass in the ID of the document to a REST API and it should give you back a blob of the actual file. The problem however is how to actually save this blob of binary data into a local file. So a quick Googling threw up some interesting links which I finally used to finalize my solution.

Code to detect file name

Code to trigger download

Fractal Folders

I have asked myself this question a number of times. What is the best possible way to structure my UI code? Should I cluster the files using functionality or by the type of file? etc. etc.

I found a partial answer in Fractal Folders while learning ReactJS. This basically proposes that for an UI page there are many functionalities which it is comprised of and the artefacts related to these sub-functionality should be clustered as sub-folders.

 

Export JSON from RoboMongo

I use RoboMongo extensively for all my Mongo development work / debugging. I however sorely needed a way to export JSON from it. A Stack Over Flow link came up in a Google search and I was able to export JSON for my use. Basically you need to execute this command which uses “printjsononeline” function provided by Mongo to give you one line JSON for each row in the collection:

db.getCollection('collection_name').find({}).forEach(function(x){printjsononeline(x)});

Installing pip on MacOS

I recently started exploring python and immediately ran into the following issue:
$ pip install requests
-bash: pip: command not found

A quick google search yielded this result. So basically on MacOS you have Python preinstalled along with easy_install command. So the following command installs pip:

$ sudo easy_install pip
Searching for pip
Reading https://pypi.python.org/simple/pip/
Best match: pip 9.0.1
....
....
Processing dependencies for pip
Finished processing dependencies for pip

A quick and handy solution indeed!

Java Code To Extract Email From Text

I found a good piece of code which can be used to extract multiple email from a String. A modified version of the code is listed below:

public static String readContactEmailFromString(String resumeText) {
    final String RE_MAIL = "([\\w\\-]([\\.\\w])+[\\w]+@([\\w\\-]+\\.)+[A-Za-z]{2,4})";
    Pattern p = Pattern.compile(RE_MAIL);
    Matcher m = p.matcher(resumeText);

    StringBuilder sb = new StringBuilder();
    while(m.find()) {
        if (sb.toString().contains(m.group(1))) continue;
        if (sb.toString().isEmpty()) {
            sb.append(m.group(1));
        } else {
            sb.append("; " + m.group(1));
        }
    }
    return sb.toString();
}

Fetching colleague’s fork on Github

I am currently using Github and all project members have forked the main repository into private repository. Now the problem is that I need to review my colleagues code committed in his branch inside his forked repository. So to do this I found out a good article that showed me exactly how to do that. I used the following approach.

git remote add my-colleague https://github.xyz.com/my-colleague/project.git

git fetch my-colleague

git checkout -b my-colleague-branch --track my-colleague/branch

After I do this I can see all the work done by my colleague and I can switch back to my branch anytime.

Spring Certification

We can now do Spring certification without going for Pivotal training. It was long due and here it is finally!

Can you take Spring certification without Pivotal Training Course?

Read more: http://javarevisited.blogspot.com/2017/05/can-you-take-spring-certification-without-training-course.html#ixzz4hVUNb9fW

5 Spring Framework Books for Java developers (Includes Spring Security and Spring Boot) – Best of lot

Read more: http://www.java67.com/2016/12/5-spring-framework-books-for-java-programmers.html#ixzz4hVU7visy

List of good Curl commands

I use CURL for debugging my REST endpoints every now and then if I don’t want to use Postman or DHC clients. I usually like to copy paste results / statistics from command line into emails to my colleagues. This gives them a plain jane command which they can use to test themselves as well as compare their results with mine. The following article has some good pointers on how to use CURL and some very practical examples have been provided.

15 Practical Linux cURL Command Examples (cURL Download Examples)