tag:blogger.com,1999:blog-20541840382858591312024-03-13T18:22:14.252+01:00My Technical Notes & Others...Tips & Tricks, Summaries, Check Lists, Do's & Don'ts, Reminders, Stuff that works...Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.comBlogger167125tag:blogger.com,1999:blog-2054184038285859131.post-69613443667745394172018-08-25T17:06:00.000+02:002019-01-12T12:20:18.332+01:00How to prepare for the DAMA CDMP exam? My experience...Update
From the Dama website: "CDMP Status - On Saturday, August 25, 2018, the Board of Directors met for the first time as a full Board. One of the topics discussed was the current CDMP testing process.
Based on a) experiences setting up and holding the three chapter-hosted boot camps in the last month, and b) other stability issues with the CDMP testing platform and content, the DAMA I Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-4673694836836266732017-04-21T20:59:00.000+02:002017-07-09T16:53:47.054+02:00Cloud Mining - How Much Passive Income Can You Make?
About Cryptocurrency Mining
Cloud mining is profitable, I have tried it. The question is, what is the return on investment and when will you get your money back? Considering mining fees, contract duration and many other factors, it's hard to guess which site offers the best cloud mining contracts. And what about reinvestment opportunities?
Well, rather than guessing, I've spent a bit of my Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-33331413242572158172016-08-14T15:58:00.002+02:002016-08-14T16:00:07.306+02:00Docker Concepts Plugged Together (for newbies)Although Docker looks like a promizing tool facilitating project implementation and deployment, it took me some time to wrap my head around its concepts. Therefore, I thought I might write another blog post to summarize and share my findings.
Docker Container & Images
Docker is an application running containers on your laptop, but also on staging or production servers. Containers are Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-55060165027361576612015-09-26T12:39:00.001+02:002015-09-26T12:40:40.837+02:00Explain React Concepts & Principles, Because I Am Not A UI SpecialistI have been reading React's documentation, but found it to take too many shortcuts regarding the descriptions of concepts and how they related to each other to understand the whole picture. It is also missing a description of the principles it relies on. Not everyone is already a top-notch Javascript UI designer. This post is an attempt to fill the gaps. I am assuming you know what HTML, CSS and Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-13508561617700206572013-10-14T16:01:00.001+02:002013-11-24T20:58:36.997+01:00Creating An OpenShift Web/Spring Application From The Command LineOpenShift offers online functionalities to create applications, but this can also be achieved from command line with the RHC Client Tool. For windows, you will first need to install RubyGems and Git. The procedure is straightforward.
Git SSL Communication
OpenShift requires SSL communication between local Git repositories and the corresponding server repositories. Generating SSH Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-10912779958488507712013-10-01T15:29:00.002+02:002018-08-26T14:24:43.025+02:00September 21-22-23, 2013 - Search Queries Not Updated in Google Webmaster ToolsThis week-end, many people have started reporting the same issue in Google's Webmaster Forum: no more daily search queries information updates. For most, the data reporting stopped on September 23, 2013, but I have observed this since September 22, 2013.
Yesterday, a top contributor has announced that this issue had been "escalated to the appropriate Google engineers". He mentions this Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-40556597500537301052013-09-09T19:50:00.000+02:002013-09-09T20:33:21.007+02:00Best Responsive Design BreakpointsWhile trying to find an answer to my own question: "What are the best responsive design breakpoints?", I have performed a small statistical study over SmartPhone screen widths (portrait and landscape) using information provided by i-skool.
The above table shows how often a specific SmartPhone width in the source data is reported. There are five peaks:
320 pixels
480 pixels
768-800 pixels
Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com1tag:blogger.com,1999:blog-2054184038285859131.post-58504836428821409482013-09-07T18:00:00.000+02:002013-09-14T17:05:11.144+02:00Sep 4th, 2013 - Sudden Drop In Traffic - A Thin Or Lack Of Original Content Ratio Issue? Many people have reported a sudden drop in traffic to their websites since September 4th, 2013.
Google Webmaster forum is full of related posts. A Webmaster World thread has been started. Search Engine Roundtable mentions 'early signs of a possible major Google update'. A group spreadsheet has been created. No one seems to make sense of what is happening. There is a lot of confusion and Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com7tag:blogger.com,1999:blog-2054184038285859131.post-86931188401195891702013-08-30T17:58:00.000+02:002014-10-17T09:56:49.797+02:00Encode & Decode URL Parameters In JavaA small code example describing how to encode and decode URL query strings properly from Java. The code example is available from GitHub in the in the Java-Core-Examples directory.
String paramValue = "with spaces and special &!=; characters";
String encoded = URLEncoder.encode(paramValue, "UTF-8");
String decoded = URLDecoder.decode(encoded, "UTF-8");
System.out.println(paramValue);
Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-16842783566135237282013-08-29T12:28:00.001+02:002013-08-30T16:00:44.994+02:00FreeMarker RemindersA small post to aggregate notes related to FreeMarker.
Accessing Parameter Inside A Directive
The following piece of code:
<#assign myVar = ${myValue}-1>
will trigger the following exception:
Exception in thread "main" freemarker.core.ParseException:
Encountered "{" ...
One should not use ${...} inside a FreeMarker directive, but rather:
<#assign myVar = Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-82908777567305371012013-04-18T16:08:00.002+02:002013-10-22T20:23:16.120+02:00Calling Javascript From Java (Example)This post explains how to call Javascript from Java. The code example is available
at GitHub in the Java-Javascript-Calling directory.
Code Example
We create some small Javascript code in a string. This code dumps "Hello World!" and defines a function called myFunction() adding 3 to the provided value:
public class JavascriptCalling {
public static final String MY_JS
= "print(\"Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-10744785549478950452013-04-02T19:27:00.001+02:002013-04-07T18:44:22.732+02:00Creating A Customized Spring User & PersistenceThis post explains how to create a customized Spring user and persistence mechanism for authentication. The code is available
at GitHub in the Spring-MVC-Customized-User directory.
Things To Take Into Consideration
Before creating a customized user, we need to remind what a user is in Spring. We know from here that a user is an implementation of the UserDetails interface. Spring security also Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-17885538395234036782013-04-02T14:40:00.001+02:002013-04-05T13:59:27.789+02:00Execute Spring ACL SQL Script In MemoryThis post describes how to execute the Spring ACL script to create ACL tables in an in-memory HSQL database instance. The code is available at GitHub in the Execute-ACL-SQL-Scripts-In-Memory directory.
In-Memory DataSource
We are using a configuration classe implementing the DisposableBean interface to shut down the created HSQL embedded database nicely.
@Configuration
public class Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-43775575150752835682013-04-01T21:26:00.000+02:002013-04-02T12:10:56.643+02:00Centering An Image Or Text Within A DivThis post explains how to center an image or text in HTML using CSS. The code example is available on GitHub in the Center-Image-Text-Div directory.
Centering An Image Vertically And Horizontally Within A Div
The method described here requires to know the size of the image. The HTML is the following:
<div id="myDiv">
<img id="myImg" src="SomeImg.jpg">
</div>
The CSS is Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-63557826335247237632013-03-28T17:20:00.001+01:002013-03-28T17:21:00.805+01:00Java ServiceLoader ExampleDefining an API and developing the corresponding implementation has become an uber mainstream practice when developing large Java applications. Modularization is such an useful design principle, especially to avoid spaghetti code, for testing and debugging, and for re-implementation of old code.
Many developers seek to separate API interfaces and abstract classes from their implementation in Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com7tag:blogger.com,1999:blog-2054184038285859131.post-44882271868707472022013-03-24T17:30:00.000+01:002013-10-22T20:23:16.101+02:00Java TestNG ExampleThis post illustrates some of the feature of TestNG. The code example is available at GitHub in the Java-TestNG directory. We use maven. Therefore, the configuration will located in the pom.xml.
Source Code
We use a very simple class returning integers for testing purposes:
public class Generate {
private Generate() { }
public static int aOne() {
return 1;
}
public Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-23201794899626069842013-03-20T11:58:00.002+01:002013-10-22T20:23:16.096+02:00'package javax.servlet.http does not exist' SolutionThis is a common error which occurs when trying to compile a web project. This package is usually provided by the container. However, it is not (always) available at compile time and one should not include it in the final .war too.
If you are using Maven, the solution is simple. Add the following dependency with the provided scope:
<dependency>
<groupId>javax.servlet</groupIdJérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com1tag:blogger.com,1999:blog-2054184038285859131.post-45383860223929619552013-03-08T13:49:00.000+01:002013-06-20T13:43:49.735+02:00Exiting From Google's Sandbox In A WeekSharing the experience acquired while trying to get a keyword-stuffed site out of Google's sandbox. I explain how I succeeded faster than methods described on the net so far. Not a silver bullet, but surely a boost. In less than a week, I got my site at search result position number 3 for its title keywords:
As a reminder, the Google Sandbox effect is observed when a site is indexed by GoogleJérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-49798624854260290092013-03-07T16:02:00.004+01:002013-04-07T18:26:40.604+02:00Spring JpaRepository Example (In-Memory)This post describes a simple Spring JpaRepository example using an in memory HSQL database. The code example is available from GitHub in the Spring-JpaRepository directory. It is based on the Spring-MVC-With-Annotations example and information available here.
JPA Repository
We implement a dummy bean for this example:
@Entity
@AutoProperty
public class SomeItem {
@Id
@GeneratedValue(Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-64340171017703243912013-02-14T18:17:00.001+01:002013-03-08T20:35:17.409+01:00Dealing With Google Webmaster Tools FrustrationsIf you don't understand the mechanics behind Google Webmaster Tool (GWT, not to be confused with Google's Web-Toolkit framework) and of page indexing, trying to obtain valid information about your website can be a very frustrating experience, especially if it is a new website. This has even led me to take counter-productive actions in order to solve some of GWT flaws. This post is about sharing Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com3tag:blogger.com,1999:blog-2054184038285859131.post-51112316778765921072013-02-11T19:07:00.000+01:002013-03-08T20:33:40.921+01:00Securing A Service And JSP Pages
Securing A Spring Service
When a service is implemented in Spring, it can be secured with the @Secured annotation. It has a parameter where the list of roles can be defined. In order to enable this annotation, one must add the the following line in the Spring Security configuration XML file:
<security:global-method-security secured-annotations="enabled"/>
A complete example is Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-55732653340489256132013-02-07T16:22:00.001+01:002013-03-08T20:35:17.360+01:00Online Content: Quality, Ranking And PromotionThis post is a summary of thumb rules collected here and there and personal experience about content posted online. It is a living document that I will update from time to time:
Love the content or have a genuine passion for it! - People notice when you are being authentic and passionate, or not.
Content is king! - The quality of the delivered content influences your ranking much more than Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-57793765600125605262013-02-05T16:42:00.003+01:002013-03-08T20:29:55.514+01:00Introduction To Java EE ConceptsThis post aims at clarifying acronyms and concepts used in the Java EE paradigm, where EE stands for Entreprise Edition. It enables the creation of modular Java applications to be deployed on application servers. It relies on Java SE, a core set of Java libraries upon which all Java applications are implemented.
General Concepts
Before we dive into Java EE, here is a reminder of general conceptsJérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com2tag:blogger.com,1999:blog-2054184038285859131.post-10545143386367322922013-01-29T17:13:00.000+01:002013-03-08T20:20:39.814+01:00Anatomy Of The Default OpenShift Spring Web ApplicationOpenShift lets users create different kind of applications by using cartridges, including Spring applications running on JBoss EAP6. As confirmed by Kazaag on StackOverflow, porting a Spring application developed on Tomcat 7 on JBoss EAP6 should not be a hassle, especially if Tomcat specific features are not used in the application.
The purpose of this post is to discuss the default Spring Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com0tag:blogger.com,1999:blog-2054184038285859131.post-32164456978075197842013-01-29T16:33:00.000+01:002013-03-08T20:29:55.416+01:00What Is JNDI, SPI, CCI, LDAP And JCA?JNDI stands for Java Naming and Directory Interface. It is an API to providing access to a directory service, that is, a service mapping name (strings) with objects, reference to remote objects or simple data. This is called binding. The set of bindings is called the context. Applications use the JNDI interface to access resources.
To put it very simply, it is like a hashmap with a String key Jérôme Verstryngehttp://www.blogger.com/profile/08714431392750519235noreply@blogger.com1