Your app is fast in dev and then faceplants in prod. You flip on Hibernate SQL logging and the console vomits queries. The database fans whir up like a tiny jet engine. Pages that felt instant take a coffee break. Been there. If that story feels familiar, the next move…
Category: Software Engineering
Comprehensive insights into building, architecting, and managing software systems. From code craftsmanship to team dynamics, explore the technical and organizational aspects of software development.
GWT for Rich Web Apps: Java to JavaScript
Your Java can talk like the browser and still feel like Java. That is the hook of Google Web Toolkit, and it is easier to live with than it sounds.If you are fed up with juggling browser quirks and copy pasting snippets, compiling Java to JavaScript starts to look like…
Design Pattern : Practical Uses and Traps
Creation date: 2009-01-12T01:09:02 Design patterns were born in books, but we live in code. Today I want to talk about what they actually buy us when we ship web apps, desktop tools, or that shiny mobile thing you are putting together for the App Store or the first Android phones….
Oracle Buys MySQL: What Happens Next
Oracle buys MySQL. If that line made you sit a little straighter, you are not alone.Everyone from scrappy founders to grizzled DBAs is asking the same thing right now. What happens next. This move is not about a checkbox. It is Oracle putting a hand on the throttle of the…
H2 for Tests: Fast Feedback Loops
H2 for Tests: Fast Feedback Loops Your tests are too slow. You push code. You wait. Coffee gets cold. The build pings your screen after five to ten minutes and tells you a DAO broke on some tiny thing. This is common when you point your tests at a real…
Life Cycle Callbacks in JPA: Where Behavior Belongs
Life cycle callbacks in JPA look tiny on paper. A couple of annotations and a method that runs at the right moment. In practice they answer a bigger question that teams ask every week: where does behavior belong? I keep seeing projects split between a fat service layer that knows…
Spring MVC in Practice: Clear Boundaries for Teams
\n We were pushing a release after midnight, the kind that makes pizza feel like a requirement and not a snack. Tomcat sat there staring at us, almost smug. The bug we were chasing lived in the no mans land between what the browser sent and what our service layer…
Dates and Times in Java: Why It Always Hurts
Dates and Times in Java: Why It Always Hurts I shipped a promo scheduler last week. Midnight local time for each market, clean and simple. Except Buenos Aires woke up angry. The country flipped its daylight rules late in the season and our JVM still carried old tzdata. Our code…
Timezone and Locale: Hidden Requirements in Global Apps
\n �The sun never sets on your users, but your code still sleeps in one timezone.� \n\n\n\n Why timezone and locale sneak into every feature \n\n\n\n We are shipping software to browsers and phones from everywhere. The App Store just opened and folks in Tokyo, Madrid, and S�o Paulo are…
JSF for real-world teams: Component Power with Caveats
\n \n\n\n\n �JSF is like a power drill. It makes holes fast, but it will also make a hole in your desk if you let it.� \n\n\n\n Why teams keep picking JSF \n\n\n\n When folks ask me why JavaServer Faces keeps showing up on enterprise project plans, the answer is…