We're very happy to announce a guest post by Marco Behler, who has been blogging about jOOQ in the past. Marco started out in programming (reverse-engineering, actually) and now mainly programmes on the JVM in his day-to-day work. He also always had a sweet tooth for strategy and marketing. Marco Behler GmbH is the result … Continue reading It is all about the JDBC Basics
Comparing Imperative and Functional Algorithms in Java 8
Mario Fusco's popular tweet impressively shows what the main difference between imperative and functional approaches to similar algorithms really is: https://twitter.com/mariofusco/status/571999216039542784 Both algorithms do the same thing, they're probably equally fast and reasonable. Yet, one of the algorithms is much easier to write and read than the other. The difference lies in the fact that … Continue reading Comparing Imperative and Functional Algorithms in Java 8
Don’t Format Dates in SQL. Use the DATE Literal!
I'm seeing people do this all the time. They want to hammer a date or timestamp constant into their SQL query, and the only function they know is the TO_DATE() or TO_TIMESTAMP() date parsing function: SELECT TO_DATE ('20150801', 'yyyymmdd') FROM DUAL; As observed in this Stack Overflow question, for instance: TO_DATE ('20150801', 'yyyymmdd') AS DAY_20150801_TOTAL, … Continue reading Don’t Format Dates in SQL. Use the DATE Literal!
How to use Java 8 Functional Programming to Generate an Alphabetic Sequence
I've stumbled upon an interesting Stack Overflow question by user "mip". The question was: I'm looking for a way of generating an alphabetic sequence: A, B, C, ..., Z, AA, AB, AC, ..., ZZ. This can be quickly recognised as the headings of an Excel spreadsheet, which does precisely that: . So far, none of … Continue reading How to use Java 8 Functional Programming to Generate an Alphabetic Sequence
There is no Such Thing as Object-Relational Impedance Mismatch
Much of the ORM criticism of the last decade missed the point, being inaccurate. By the end of this article, we will conclude with the following: There is no significant difference between the relational (data) model and object oriented models How to come to this conclusion? Read on! How we came to believe in this … Continue reading There is no Such Thing as Object-Relational Impedance Mismatch
Divided we Stand: Optional
Our recent article "NULL is Not The Billion Dollar Mistake. A Counter-Rant" got us a lot of reads, controversial comments, and a 50/50 upvote / downvote ratio pretty much everywhere a blog post can be posted and voted on. This was expected. Objectively, NULL is just a "special" value that has been implemented in a … Continue reading Divided we Stand: Optional
jOOQ Tuesdays: Thomas Müller Unveils How HSQLDB Evolved into the Popular H2 Database
Welcome to the jOOQ Tuesdays series. In this series, we’ll publish an article on the third Tuesday every other month where we interview someone we find exciting in our industry from a jOOQ perspective. This includes people who work with SQL, Java, Open Source, and a variety of other related topics. We have the pleasure … Continue reading jOOQ Tuesdays: Thomas Müller Unveils How HSQLDB Evolved into the Popular H2 Database
Common SQL Clauses and Their Equivalents in Java 8 Streams
Functional programming allows for quasi-declarative programming in a general purpose language. By using powerful fluent APIs like Java 8's Stream API, or jOOλ's sequential Stream extension Seq or more sophisticated libraries like vavr or functionaljava, we can express data transformation algorithms in an extremely concise way. Compare Mario Fusco's imperative and functional version of the … Continue reading Common SQL Clauses and Their Equivalents in Java 8 Streams
Top 10 Useful, Yet Paranoid Java Programming Techniques
After coding for a while (eek, almost 20 years or so in my case, time flies when you're having fun), one starts to embrace those habits. Because, you know... Anything that Can Possibly Go Wrong, Does. This is why people embrace "defensive programming", i.e. paranoid habits that sometimes make total sense, and sometimes are rather … Continue reading Top 10 Useful, Yet Paranoid Java Programming Techniques
RAM is the new SSD
Your data fits in RAM. Yes, it does. Don't believe it? Visit the hilarious yourdatafitsinram.com website. But there is an entirely new dimension to this since last week's announcement by Intel, which hasn't gotten enough attention in the blogosphere yet. New 3D XPoint™ technology brings non-volatile memory speeds up to 1,000 times faster than NAND, … Continue reading RAM is the new SSD
