Creating Usable JVM Languages: An Overview

There are several possible reasons for creating a language, some of which are not immediately obvious. I would like to present them together with an approach to make a language for the Java Virtual Machine(JVM) reusing existing tools as much as possible. In this way we will reduce the development effort and provide a toolchain familiar to the user, making it easier to adopt our new programming language.

Creating Usable JVM Languages: An Overview

In this article, the first of the series, I will present an overview of the strategy and various tools involved in creating our very own programming language for the JVM. in future articles, we will dive into the implementation details. Continue reading

JS-logo

Introduction to the Jspm package manager and the SystemJs module loader

In this post we will go over the current state of ES6 modularity, by learning how to use the Jspm package manager and its associated SystemJs module loader (the sample code is available here). We will go through the following topics:

  • Using ES6 modules today
  • Why is modularity important in Javascript
  • The Jspm package manager and how to use it today
  • creating a ready to use bundle with Jspm
  • The SystemJs module loader
  • Jspm vs Bower
  • Jspm vs npm
  • Conclusions

Continue reading

keycloak-logo

Securing Microservices with Keycloak

In a traditional multi-tiered architecture like the one shown in the picture below a server-side web tier deals with authenticating the user by calling out to a relational database or an LDAP server. An HTTP session is then created containing the required authentication and user details. The security context is propagated between the tiers within the application server so there’s no need to re-authenticate the user.

Continue reading

banner_bootstrap

Bootstrap Tutorial: A Guide for Beginners

Thousands of sites are built every day with The Twitter Bootstrap Framework. This is the most popular HTML, CSS and JavaScript responsive framework. Every developer and designer should know or learn how to use it.

If you have never used Bootstrap before, you are probably missing out. Why?

Bootstrap saves you a lot of time – The framework includes predefined CSS classes, styled HTML components and configured Javascript plugins ready to use, to help developers design pages better and faster. Continue reading

71sJOAse7UL._SL1500_

How to prepare the MacBook Pro for Java development and more

Well, I’ve recently gone to the “silver” side and acquired a MacBook Pro to use it for development when I am not at my PC. By development I mean here mainly Java + Javascript development. So I’ve written this post to remember what I had to install/configure to achieve this goal.

I need to mention that until now I’ve been a user of Windows (XP/7) and Linux (Ubuntu/Mint/Cent OS) operation systems.

At the time of this writing MacBook Pro runs on OS X Yosemite Version 10.10.5. The new version El Capitan was available, but I didn’t do the upgrade first because it had to many bad reviews…

Continue reading

Kugel, JAVA, Programmiersprache, Sprache, plattformunabhängig

Basics of scaling Java EE applications

To be honest, ‘scalability’ is an exhaustive topic and generally not well understood. More often than not, its assumed to be same as High Availability. I have seen both novice programmers and ‘experienced’ architects suggest ‘clustering‘ as the solution for scalability and HA. There is actually nothing wrong with it, but the problem is that it is often done by googling rather than actually understanding the application itself 😉

I do not claim to be an ‘expert’, just by writing this post 😉 It just (briefly) lays out some strategies for scaling Java EE applications in general. Continue reading

bannerAngular

AngularJS Tutorial: A Beginner’s Guide to AngularJS

Introduction

Since I first started using AngularJS several years ago, it has become the most popular single-page application (SPA) framework for the JavaScript language. AngularJS makes it easy to solve simple problems fast, yet has enough features to enable development teams to build complex large-scale applications.

This tutorial aims to introduce a complete beginner to AngularJS by explaining fundamental concepts and building a sample application. The application will be a simplified admin area for a multi-author blog. Continue reading

AngularJS-small

Angular 1 vs Angular 2 – a high-level comparison

Angular 2 is currently still in Alpha/Developer Preview, but the main functionality and the core documentation are both already available. Let’s gather here what is so far known about the design goals of Angular 2, and how they are planned to be implemented:

  • Mains goals of Angular 2
  • Simpler to reason about
  • Angular 1 vs Angular 2 change detection
  • More transparent internals with Zones
  • Improved stack traces
  • Much improved performance (and why)
  • Improved modularity
  • Improved Dependency injection
  • Web component friendly (how and why)
  • Support for Shadow DOM
  • Support for native mobile rendering in Android and iOs
  • Support for server side rendering
  • Improved testability
  • Migration path to Angular 2
  • Conclusions

Continue reading

Logo MySQL

How does the MySQL JDBC driver handle prepared statements

Prepared statement types

While researching for the Statement Caching chapter in my High-Performance Java Persistence book, I got the chance to compare how Oracle, SQL Server, PostgreSQL and MySQL handle prepare statements.

Thanks to Jess Balint (MySQL JDBC driver contributor), who gave a wonderful answer on StackOverflow, I managed to get a better understanding of how MySQL handles prepared statements from a database performance point of view.

Basically, there are two ways of preparing a statement: on the server-side or on the client-side. Continue reading