Nginx “expires” directive – Emitting Caching Headers
In this article by Alex Kapranoff, the author of the book Nginx Troubleshooting, explains how all browsers (and even many non-browser HTTP clients) support...
Symfony leaves PHP-FIG, the framework interoperability group
Yesterday, Symfony, a community of 600,000 developers from more than 120 countries, announced that it will no longer be a member of the PHP-FIG,...
Python web development: Django vs Flask in 2018
A colleague of mine, wrote an article over two years ago, talking about the two top Python web frameworks, Django and Flask. It’s 2018...
Deploy Node.js Apps with AWS Code Deploy
As an application developer, you must be familiar with the complexity of deploying apps to a fleet of servers with minimum down time. AWS...
Front Page Customization in Moodle
Look and Feel: An Overview
Moodle can be fully customized in terms of layout and branding. It has to be stressed that certain aspects of...
Working with Spring Tag Libraries
In this article by Amuthan G, the author of the book Spring MVC Beginners Guide - Second Edition, you are going to learn more...
Building a real-time dashboard with Meteor and Vue.js
In this article, we will use Vue.js with an entirely different stack--Meteor! We will discover this full-stack JavaScript framework and build a real-time dashboard with...
CRUD Operations in REST
In this article by Ludovic Dewailly, the author of Building a RESTful Web Service with Spring, we will learn how requests to retrieve data...
What’s the difference between OAuth 1.0 and OAuth 2.0?
The OAuth protocol specifies a process for resource owners to authorize third-party applications in accessing their server resources without sharing their credentials. This tutorial...
Using Node.js and Hadoop to store distributed data
Hadoop is a well-known open-source software framework for distributed storage and distributed processing of very large data sets on computer clusters built from commodity...