Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
Part two of Getting Things Done: dig into the GTD workflow — collecting, processing, organising, reviewing, and doing.
-
An introduction to Getting Things Done (GTD) — David Allen's system for stress-free productivity.
-
What candidates can expect from a pair programming interview test.
-
Understand the difference between URL encoding and form encoding (x-www-form-urlencoded) and how to correctly encode HTTP request parameters in Java.
-
A simple introduction to HTTP and REST.
-
Stop overlooking JUnit's @Rule annotation.
-
Scala as a functional/OO hybrid: what does 'functional' really mean?
-
Exception handling in Scala: from familiar try/catch with pattern matching to functional approaches using Either and Option types.
-
Design better exceptions by treating them as proper objects with behaviour.
-
Treat exception handling as a system-wide concern.
-
Replace the try-fail-catch anti-pattern with JUnit's ExpectedException rule for cleaner, more readable exception testing.
-
Introducing robotooling: a collection of open-source Java utilities capturing reusable patterns around HTTP, Excel, Concordion, and concurrent testing.
-
Fix IE8 prompting to download JSON responses from Jersey REST services by setting the correct Content-Type and response headers.
-
Apply hexagonal (ports and adapters) architecture to structure acceptance tests.
-
Avoid declarative transaction management frameworks like Spring.
-
How to get Java source code on your Mac for IDE source attachment.
-
Reflecting on the last few years of heavily interviewing for agile developers.
-
How to catch multiple exceptions, process them independently, then rethrow them all.
-
Make assertions against Log4J in tests using a custom appender.
-
My article 'Java the language vs Java the platform' published in the Java Tech Journal.
-
tempus-fugit 1.1 released.
-
A preview of noteworthy Java 7 features: diamond operator, try-with-resources, switch on strings, and the foundation they lay for Java 8 lambdas.
-
Logging clutters code and couples concerns.
-
Practical tips for more honest and effective pair programming in agile teams.
-
What's the difference between a lambda and a closure?
-
Use a competency depth distribution chart to visualise your team's skills and identify gaps.
-
Choosing the right level of testing — unit, integration, or acceptance — is a subtle skill.
-
Generate a Concordion test overview page automatically using the Concordion Ant Task.
-
Put the YOU into your objectives.
-
Almost all unmarshalling frameworks impose constraints on your application.
-
Compare setter injection vs constructor injection in Java.
-
Wrapping checked exceptions to rethrow as RuntimeExceptions is verbose boilerplate.
-
A concrete deadlock example in Java showing how two threads can deadlock acquiring the same locks in opposite orders.
-
Java insists enum annotation values must be enum constants, preventing type-safe runtime checks.
-
Run JUnit tests concurrently using tempus-fugit's @RunWith(ConcurrentTestRunner.class).
-
Automatically repeat intermittently failing tests using tempus-fugit's @Intermittent JUnit rule.
-
Detect Java deadlocks programmatically using the DeadlockDetector from tempus-fugit.
-
Java's Thread class does not maintain thread state atomically with its interrupt status flag, leading to subtle race conditions in state checking.
-
Announcing tempus-fugit 1.0, a Java library for testing concurrent and time-sensitive code.
-
Thawte is discontinuing free personal email certificates and web of trust.
-
Set up performance monitoring early.
-
Getting Java source code on Mac OS X — Apple's Java distribution quirks and how to access JDK source for IDE integration.
-
Java's ReentrantReadWriteLock allows concurrent reads but serialised writes.
-
Is instanceof really a code smell?
-
The Executors framework can convert Runnable to Callable but not the reverse.
-
An experience report comparing SWTBot and Window Licker for GUI testing.
-
Allocating less heap size to the JVM actually means you can create more native threads.
-
Java struggles with type inference when multiple generics are in play.
-
Another micro-DSL example: a fluent find-in-list API.
-
Java's Stack class extends Vector, making it not a true stack.