Java Code Geeks » Jakub Holyhttp://www.javacodegeeks.com/ Java 2 Java Developers Resource CenterTue, 03 Mar 2015 20:00:38 +0000en-UShourly1http://wordpress.org/?v=4.1.1Challenging Myself With Coplien’s Why Most Unit Testing is Wastehttp://www.javacodegeeks.com/2015/01/challenging-myself-with-copliens-why-most-unit-testing-is-waste.html http://www.javacodegeeks.com/2015/01/challenging-myself-with-copliens-why-most-unit-testing-is-waste.html#commentsThu, 29 Jan 2015 08:00:35 +0000http://www.javacodegeeks.com/?p=36286James O. Coplien has written in 2014 the thought-provoking essay Why Most Unit Testing is Waste and further elaborates the topic in his Segue. I love testing but I also value challenging my views to expand my understanding so it was a valuable read. When encountering something so controversial, it’s crucial to set aside one’s emotions […]

]]>http://www.javacodegeeks.com/2015/01/challenging-myself-with-copliens-why-most-unit-testing-is-waste.html/feed/4Tiny, Tiny Steps – Experience Report Developing A Feature In Minimal Value-Adding Incrementshttp://www.javacodegeeks.com/2014/11/tiny-tiny-steps-experience-report-developing-a-feature-in-minimal-value-adding-increments.html http://www.javacodegeeks.com/2014/11/tiny-tiny-steps-experience-report-developing-a-feature-in-minimal-value-adding-increments.html#commentsWed, 12 Nov 2014 05:00:04 +0000http://www.javacodegeeks.com/?p=32869A post for those who want to see what an iterative, MVP-driven development of a feature looks like. Once upon time, there was a webshop portal with hundreds of partner webshops displayed on the front page. Potential users wanted to find out if their favorite webshops or a particular type of goods were available, existing […]

]]>http://www.javacodegeeks.com/2014/11/tiny-tiny-steps-experience-report-developing-a-feature-in-minimal-value-adding-increments.html/feed/0Clojure: How To Prevent “Expected Map, Got Vector” And Similar Errorshttp://www.javacodegeeks.com/2014/05/clojure-how-to-prevent-expected-map-got-vector-and-similar-errors.html http://www.javacodegeeks.com/2014/05/clojure-how-to-prevent-expected-map-got-vector-and-similar-errors.html#commentsFri, 02 May 2014 10:00:32 +0000http://www.javacodegeeks.com/?p=24862What my Clojure code is doing most of the time is transforming data. Yet I cannot see the shape of data being transformed – I have to know what the data looks like on the input and hold a mental model of how they change at each step. But I make mistakes. I make mistakes […]

]]>http://www.javacodegeeks.com/2014/05/clojure-how-to-prevent-expected-map-got-vector-and-similar-errors.html/feed/0Frustration-Driven Development – Towards DevOps, Lean, Clojurehttp://www.javacodegeeks.com/2014/03/frustration-driven-development-towards-devops-lean-clojure.html http://www.javacodegeeks.com/2014/03/frustration-driven-development-towards-devops-lean-clojure.html#commentsWed, 19 Mar 2014 05:00:54 +0000http://www.javacodegeeks.com/?p=23020My wife has mentioned that she likes my passion for doing things right in software development. That made me thinking, why do I actually care so much and do not just enjoy the coding itself? It boils down to that I am not happy until my code is in production. Seeking the satisfaction of having […]

]]>http://www.javacodegeeks.com/2014/03/frustration-driven-development-towards-devops-lean-clojure.html/feed/0The Risks Of Big-Bang Deployments And Techniques For Step-wise Deploymenthttp://www.javacodegeeks.com/2014/02/the-risks-of-big-bang-deployments-and-techniques-for-step-wise-deployment.html http://www.javacodegeeks.com/2014/02/the-risks-of-big-bang-deployments-and-techniques-for-step-wise-deployment.html#commentsThu, 20 Feb 2014 20:00:10 +0000http://www.javacodegeeks.com/?p=21841If you ever need to persuade management why it might be better to deploy a larger change in multiple stages and push it to customers gradually, read on. A deployment of many changes is risky. We want therefore to deploy them in a way which minimizes the risk of harm to our customers and our companies. The […]

]]>http://www.javacodegeeks.com/2014/02/the-risks-of-big-bang-deployments-and-techniques-for-step-wise-deployment.html/feed/0JBoss Modules Suck, It’s Impossible To Use Custom Resteasy/JAX-RS Under JBoss 7http://www.javacodegeeks.com/2014/02/jboss-modules-suck-its-impossible-to-use-custom-resteasyjax-rs-under-jboss-7.html http://www.javacodegeeks.com/2014/02/jboss-modules-suck-its-impossible-to-use-custom-resteasyjax-rs-under-jboss-7.html#commentsSat, 08 Feb 2014 18:57:59 +0000http://www.javacodegeeks.com/?p=21466Since JBoss EAP 6.1 / AS 7.2.0 is modular and you can exclude what modules are visible to your webapp, you would expect it to be easy to ignore the built-in implementation of JAX-RS (Rest Easy 2.3.6) and use a custom one (3.0.6). However, sadly, this is not the case. You are stuck with what […]

]]>http://www.javacodegeeks.com/2014/02/jboss-modules-suck-its-impossible-to-use-custom-resteasyjax-rs-under-jboss-7.html/feed/0Surfacing Hidden Design: Seeking A Better Alternative To Interrelated Mutable Fieldshttp://www.javacodegeeks.com/2013/11/surfacing-hidden-design-seeking-a-better-alternative-to-interrelated-mutable-fields.html http://www.javacodegeeks.com/2013/11/surfacing-hidden-design-seeking-a-better-alternative-to-interrelated-mutable-fields.html#commentsThu, 21 Nov 2013 08:00:35 +0000http://www.javacodegeeks.com/?p=19077What is better, a bunch of mutable boolean fields and methods operating on them, or an explicit expression of the individual states and transitions between them? Lets study an example from a simulation of the progression of a multi-stage infection. 1. Design hidden in primitive mutable fields and methods The following class, with a number […]

]]>http://www.javacodegeeks.com/2013/11/surfacing-hidden-design-seeking-a-better-alternative-to-interrelated-mutable-fields.html/feed/0Simplicity vs. Robustness – Demonstrated On Lock File Handlinghttp://www.javacodegeeks.com/2013/09/simplicity-vs-robustness-demonstrated-on-lock-file-handling.html http://www.javacodegeeks.com/2013/09/simplicity-vs-robustness-demonstrated-on-lock-file-handling.html#commentsTue, 24 Sep 2013 13:00:36 +0000http://www.javacodegeeks.com/?p=17532Today we will discuss a conflict between the design values of keeping things simple, stupid (KISS) and robustness, between underdesign and overdesign. We were writing a batch Java application and needed to ensure that at maximum one instance is running at a time on the server. A team member had the good idea of using […]

]]>http://www.javacodegeeks.com/2013/09/simplicity-vs-robustness-demonstrated-on-lock-file-handling.html/feed/0Making Sense Out of Datomic, The Revolutionary Non-NoSQL Databasehttp://www.javacodegeeks.com/2013/06/making-sense-out-of-datomic-the-revolutionary-non-nosql-database.html http://www.javacodegeeks.com/2013/06/making-sense-out-of-datomic-the-revolutionary-non-nosql-database.html#commentsFri, 28 Jun 2013 10:00:54 +0000http://www.javacodegeeks.com/?p=14624I have finally managed to understand one of the most unusual databases of today, Datomic, and would like to share it with you. Thanks to Stuart Halloway and his workshop! Why? Why?!? As we shall see shortly, Datomic is very different from the traditional RDBMS databases as well as the various NoSQL databases. It even […]

]]>http://www.javacodegeeks.com/2013/06/making-sense-out-of-datomic-the-revolutionary-non-nosql-database.html/feed/0Simple vs. Easy: Writing A Generic Code To Avoid Duplication (Representation of Data To Import)http://www.javacodegeeks.com/2013/06/simple-vs-easy-writing-a-generic-code-to-avoid-duplication-representation-of-data-to-import.html http://www.javacodegeeks.com/2013/06/simple-vs-easy-writing-a-generic-code-to-avoid-duplication-representation-of-data-to-import.html#commentsMon, 03 Jun 2013 16:00:11 +0000http://www.javacodegeeks.com/?p=13515In our batch jobs for data import we had many similar classes for holding the data being imported. Technically they are all different, with different fields, yet conceptually they are all same. I find this conceptual duplication discomforting and have written a single, more generic, class to replace them all. The refactoring has been inspired […]