Monthly Archives: June 2007

Startups – It is full of ups and downs

My buddy Steve sent me an article today that contained some important data shared by 4 startups companies. I like this article a lot as it reflects what I have experienced since I started my online wedding company – JustProposed.com. Being an entrepreneur, I found out it was way more difficult than I thought. You [...]

Memory leak is possible in Java

I previously thought that if I pick Java for programming, I don’t need to worry about allocating and free up memory as in C++. Certainly, Java memory management does help us to minimize the chance of memory leak. However, it does not eliminate it. It is confusing right? The key is the definition of memory leak. If [...]

AOP – injecting behavior to your object

Introduction of AOP Aspect oriented programming (AOP) is the great solution for the cross-cutting concerns like logging, security, auditing, exception handling, transaction and etc. Without AOP, those cross-cutting concern’s codes are spreading all over your system. Now, with AOP, you can dynamically inject behavior to your class (weaving) or object (proxy-based). The injection process is illustrated below: Pointcut [...]

Linux Commands

Grep Pattern matching against a set of files grep [options] “pattern” [filename or wildcard] options: -n : show line number -v: negative result -l: list out the matched filenames -i: case-insensitive -x: exact match -r: recursively over the directory. grep does not support + and ? and | operators. Use egrep instead. Regular expression for pattern (reference [...]

Transaction and Concurrency

For resource (database and cache) needs to be managed for concurrent access to avoid damaging data integrity, it is often time achieved by locking mechanism (read and write lock). For a transaction to be isolated from other transactions, this mechanism is very important. There are 5 different isolation levels that can be achieved via read [...]

Hibernate – Caching

Hibernate uses three different caches for objects to reduce SQL calls: First-level cache – Session on a per-transactinal basis. That is to say, if an object is modified several times within the same transaction, Hibernate will generate only one SQL UPDATE at the end of tx. Second-level cache – Session Factory (cache available between transactions [...]

Data warehouse 101

To build data warehouse, you will use the techniques of dimensional modeling. Here are the guidelines you can follow: Divide the world into measurements and context. Numeric measurements place in Fact table whereas context are broken down into Dimensions. A fact table in a pure star schema consists of multiple foreign keys, each paired with [...]

Flex – Cairngorm Microarchitecture

What is Cairngorm? Adobe Consulting Group has defined an architectural framework for Flex application, named "Cairngorm". The framework has borrowed quite a bit of design patterns from GOF and J2EE. Its goal is to help us to layout the groundwork for complicated RIA. It is interesting to see how those patterns work together in a [...]

How to build your data warehouse

Operational databases are most commonly designed using normalized modeling, often using third-normal form or entity-relationship modeling. Normalized database schemas are tuned to support fast updates and inserts by minimizing the number of rows that must be changed when recording new data.  Example: Order-Management Schema for operational database Data warehouses differ from operational databases in the [...]

Pick the right database for data warehouse

For those who don’t want to go for licensing path. Open source is definitely a better solution. However, whether open source DBMS can be used to build your data warehouse? I am not a good person to answer this question. But I have seen more and more small and medium size companies launched their business [...]

Page 1 of 212