Laura Mamina


on May 26, 2016

Code refactoring is the process of restructuring the existing code, without changing its external behavior.

Refactoring improves code readability and reduces complexity. Also, it improves the maintability and extensibility.

When should you refactor? There are bad smells that help you detect when the code needs restructuring.

on Oct 11, 2015

The sole purpose of JSP technology is to produce dynamic, web-based content.

Most applications utilize a controller servlet to handle all the request processing and delegate requests to separate JSP components to provide the presentation, thereby making the best use of both technologies.

XML parsers provide a way how to access or modify data present in an XML document. Java provides multiple options to parse XML document. Following are described various types of parsers which are commonly used to parse XML documents. Depending on the xml file to parse, a different parser may suit better. The most common parsers are: DOM, SAX and StAX.

In order to connect to the MySQL DB provided by OpenShift, you need an embedded database into your application, and putty installed. Putty will be used for port forwarding.

Beside this, you need the host name of your application, your OpenShift username, and the location of the private key you use for OpenShift.

OpenShift ( is a public cloud application hosting platform.
This article describes how you can host your website on openshift.
For this example, a Tomcat server and a MySQL DB will be used.

on Sep 12, 2014

Binding to means to listen to all interfaces. Binding to means to listen to the loopback interface.

More detailed:
Binding to typically indicates that the process is listening on all configured IPv4 addresses on all interfaces. is the localhost address on the loopback interface; only local processes can communicate with each other using that address.

JPA is an API specification for ORM. Hibernate and EclipseLink are some of the JPA implementations.

For performance improvements, the cache might be taken into consideration, in order to reduce the requests to the DB when querying for the same data.

Hibernate has three caching mechanisms:

on Apr 24, 2014
Most websites have now RSS feeds. They are used to publish frequently updated information, e.g.: articles, news.

An RSS (Really Simple Syndication) is a XML file which describes the information on the website.
For each entry you can add a title, a link, a description, and other information (RSS specification:

One of the popular tools for parsing RSS is Rome project.
Version control is a system that keeps a repository of the project files together with a history of all the code changes in one place.
There are 2 types of version control systems: centralized (e.g.: SVN, CVS) and distributed (e.g. Git, Mercurial, Bazaar).
The local inner/anonymous class may access:
  • the outer's class attributes
  • the final local variables
Note: Starting with Java 8, the inner classes can access the local variables which are not explicitly declared final, but they are effectively final
on Jan 29, 2014
In Java, every class needs to be loaded before it can be used.
The class loader (which is part of JVM) is responsible for finding and loading the java classes.
A class loading is made once, at its first use.
Classes are uniquely identified by their fully qualified name and by the class loader which loaded them.
  1. OpenSSL configuration
  2. Create a local CA (having a self-signed certificate)
  3. Generate a certificate request for your server
  4. The local CA signs the certificate request for your server
  5. Verify the certificate of your server
  6. Server certificate and key in one file
  7. Create a certificate keystore for Tomcat
  8. Configure Tomcat to work with SSL and use the keystore created earlier
on Jan 06, 2014
The need of having type safety at the compile-time is one of the main reasons generics appeared.
They also eliminate the need of casts, since they ensure type safety.
Generics were introduced in Java 1.5.
on Jan 03, 2014
A Map is a structure that stores pairs of <key, value>. It's like a dictionary.
A map cannot contain duplicate keys; each key can be associated to at most one value.

AgileHub își lansează propriul butic online: O nouă strategie de produse AgileHub pentru susținerea activităților educaționale.

În primele cursuri de Scrum, cursuri care au condus în 2013 la crearea mișcării AgileHub, foloseam un caiet de sarcini pe baza căruia participanții la curs construiau un prim Product Backlog. De fapt, acel caiet de sarcini, creiona un produs software: platforma necesară dezvoltării comunității AgileHub, comunitate independentă de IT și cu programe educaționale de dezvoltare [...]


AgileHub se lansează într-o nouă aventură antreprenorială: ScriuCod!

Bilanțul lui 2015 ne indică o concentrare a eforturilor noastre pentru dezvoltarea IT-ului brașovean prin educație gratuită, ceea ce s-a manifestat prin cursuri, ateliere, prezentări și alte evenimente de comunitate ca Seara Prezentărilor AgileHub, Seara StackOverflow sau Code Retreat. Însă s-a mai întâmplat ceva deosebit de important anul trecut: Anticafe AgileHub, prima aventură antreprenorială creată de membrii comunității. Și poate că momentul de cotitură a fost să dăm curs nevoii de asoc

Cornel Fatulescu

Pe cine servește Responsabilul de Produs?

Am scris acest articol pentru că recent am avut ocazia să discut cu un Responsabil de Produs debutant. Scopul era să-i ghidez primii pași. Nicidecum surprinzător, înțelegerea-i era alterată față de Agilitate și Scrum în general, în special asupra răspunderilor asociate. În urma discuției noastre, a înțeles că, indiferent cât de mult își dorește să aducă valoare viitorilor utilizatori, în primul rând trebuie să asimileze așteptările celor care-l plătesc.

Cornel Fatulescu

Gânduri despre plăcerea de a citi și bătălia de la Hattin

Gânduri despre plăcerea de a citi și bătălia de la Hattin