Home » Author Archives: Cagdas Basaraner

Author Archives: Cagdas Basaraner

Cagdas Basaraner
Cagdas Basaraner is a software engineer graduated from Hacettepe University Computer Engineering department (Turkey), having 5 years professional experience. He is working on JEE web technologies, and also a former developer of information systems using Microsoft technologies and Command & Control (C4I) systems with Java technologies.

Software Version Controlling Best Practices

Always use version controlling Use version controlling/source control even if one developer exists. This issue brings change tracking and versioning of the application continuously. For multi developers, it brings more benefits like co-working on same files and fast codebase updates. Do not commit halfdone work Each commit should consist of a complete task (issue, bugfix, etc.). Partial commits may cause ...

Read More »

A Theorical Look into Object/Resource Pool Pattern

Definition: Sometimes our software projects need costly object creations (database connections, socket connections, large graphical objects etc.). This cost may be about time and/or memory. Those objects may also be needed to be created frequently. At that moment, Object/Resource Pool pattern comes to help.         Object Pool pattern: Reuses unused costly objects without re-creating those objects (e.g. ...

Read More »

Best Must-Read Books for Software Engineers

Here are the CodeBuild selection of must-read software engineering books. Books are grouped according to their content with some description.   Reference Books These Robert C. Martin and Gang of Four books are very fundamental OOP resources for every software engineer.   Coding Perfection These Steve McConnell, Robert C. Martin and Joshua Bloch books are very helpful with increasing your ...

Read More »

Start Android Development in 5 Minutes

Android OS is the most popular mobile OS nowadays (leading market with %46.9 above iOS’s %18.8). Besides, globally over %20 of computers are mobile devices. So, over %10 of people in the world uses Android OS and softwares related with it. For this reason, Android application development is a very important issue for developers and software engineers.This post will describe ...

Read More »

Chain of Responsibility Pattern in Java

Chain of Responsibility design pattern is needed when a few processors should exist for performing an operation and a particular order should be defined for those processors. Also the changeability of the order of processors on runtime are important.UML represantation of the pattern is as below: Handler defines the general structure of processor objects. ‘HandleRequest’ here is the abstract processor ...

Read More »

Generic Text Comparison Tool with LCS Approach

Detecting and showing differences of two texts (especially having hundreds or thousands of lines) is a common problem. Using pure java.lang.String class methods may be a solution, but the most important issue for that kind of operations, “performance” will not be satisfactory. We want an efficient solution which may have a view as below: Text Difference Tool Example The problem ...

Read More »

Customized Internationalization (i18n) in Java

Internationalization (i18n) is very important in our software projects. It brings mainly these benefits: Externalizing UI strings into external files other than code files and so easy-to-manage UI content. Supporting multiple languages. In this post, a brief practical example of i18n will be given for Eclipse and Java projects, including customizing i18n mechanism to have more maintainable and encapsulated approach. First, ...

Read More »

20 Database Design Best Practices

Use well defined and consistent names for tables and columns (e.g. School, StudentCourse, CourseID …). Use singular for table names (i.e. use StudentCourse instead of StudentCourses). Table represents a collection of entities, there is no need for plural names. Don’t use spaces for table names. Otherwise you will have to use ‘{‘, ‘[‘, ‘“’ etc. characters to define tables (i.e. ...

Read More »

Java Annotations & A Real World Spring Example

An “annotation” is a type of programming language definition and used as a “marker”. They can be thought as comment lines which programming language engine can understand. They don’t directly affect program execution but affect indirecly if wanted. Definition An annotation is defined with @interface keyword and is similar with an interface. It has attributes which are defined like interface ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns