We use a login to secure our application and restrict its access to a certain group of users. But what if everybody should be allowed to use our application if he can prove he’s human? Well, we would use a captcha. The following example shows how we can use Google’s ReCaptcha for an anonymous login […]
Roughly about two years ago, I wrote an article called “Why using Spring’s @Value annotation is bad“. I described why you should avoid @Value annotations all throughout your code. By using @Value annotations in services, controllers and other Spring components, you will scatter your configuration through the complete application. In the worst case, you will […]
A couple of days ago I finished my capstone project for the Full Stack Web Development specialization on Coursera. It marks the end of the 6-course specialization about Bootstrap CSS, AngularJS and NodeJS. The Assignment The assignment itself is simple: Build a web application with the tools taught in the course (Bootstrap CSS, AngularJS, NodeJS, […]
During the last 6 months I did the Full Stack Web Development course on Coursera. Since I’m currently about to finish the course by implementing my final capstone project (https://github.com/tuhrig/mebo), I wanted to share my thoughts about the course and its pros and cons. About the course The Full Stack Web Development course consists of […]
Whenever you write an AngularJS application, you will use modules. Modules divide you application into small logical pieces. Some pieces might depended on other, some might be totally independent.
angular.module('UserModule',); // no dependency!
angular.module('UtilModule',); // no dependency!
angular.module('MainModule',[ // 2 dependencies!
In the example above, you see three modules. A module called MainModule depending on two other modules, called UserModule and UtilModule. Note that this is […]
AngularJS provides 3 different ways to create a service: Factory A factory is a well known pattern in software development. It aims to create a certain object, in this case a service. In AngularJS this is simply a function which returns an object with methods. In my opinion, this is the cleanest way to create […]
Program to an interface, not an implementation. This short sentence, introduced in 1994 by the GoF, is one of the most important design principles in software development. However, I have seen several projects where this principle has gone wrong. Here’s why: Interface vs. Interface If you come from a Java background like myself and you […]