Some days ago, I presented how the code got much cleaner when I replaced Mongoose callbacks with the async-await feature from ES7, which NodeJs already support. I mentioned then, I was gonna do a post to demonstrate how async-await can also be used to make parallel calls. Here am I doing just that. I was actually blown away by its simplicity and performance gain when doing so. Let me show you what I mean.

Continue Reading ...

Jax-RS REST Client example demonstrating how to GET a resource with a query parameter. The resource is secured with Basic Authentication.

A lot has been written already about the transition from callbacks to promises and now to the new async/await1 feature in ES7.

"The purpose of `async/await` functions is to simplify the behavior of using promises synchronously and to perform some behavior on a group of `Promises`. Just as `Promises` are similar to structured callbacks, `async/await` is similar to combining generators and promises."[^1]

In this blog post I present what this code “upgrade” meant for CRUD operations performed on dev bookmarks. I use Moongoose in an ExpressJS/NodeJS backend to perform the operations against a MongoDB database.

In a later refactoring the database access part has been decoupled from ExpressJS and moved to separate service functions. Thanks to unified error handling the database errors are now handled centrally.

Octocat Source code for bookmarks.dev is available on Github - Star

Continue Reading ...

This post presents the snippet from the Nginx configuration that redirects all request to https://www.bookmarks.dev:

# redirect HTTP to www
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name bookmarks.dev www.bookmarks.dev;

    return 301 https://www.bookmarks.dev$request_uri;
}

# redirect HTTPS to wwww
server {
    listen 443;
    server_name bookmarks.dev;

    return 301 https://www.bookmarks.dev$request_uri;
}

Note the missing www.bookmarks.dev in the second server/server_name entry, to avoid an infinite loop

Lots of other good Nginx resources can be found if you search for the nginx tag on codingmarks: https://www.bookmarks.dev?q=[nginx]

Octocat Source code for bookmarks.dev is available on Github - Star

This blog post presents a simple example showing how to insert a document in mongodb, in the Java language.

Octocat The code samples are taken from the Free-Programming-Books-Importer project, available on Github

Use MongoDB Java Driver

Add the java mongo driver to your class path, or if you use maven to the dependencies in your pom file:

<dependencies>
    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongodb-driver</artifactId>
        <version>3.2.2</version>
    </dependency>
    ......
</dependencies>

Prepare the Mongo Client

MongoClientURI connectionString = new MongoClientURI("mongodb://codingpedia:codingpedia@localhost:27017/codingpedia-bookmarks");
MongoClient mongoClient = new MongoClient(connectionString);
Continue Reading ...