pks + blog   39

PragPub June 2010 | The Mikado Method | The Pragmatic Bookshelf
Books, screencasts, forums, articles, and more, all aimed at helping software developers
get better and have more fun. Our titles are available on paper and electronically, and
all our ebooks are DRM-free. Enjoy!
blog 
15 days ago by pks
Screaming Architecture | 8th Light
Imagine that you are looking at the blueprints of a building. This document, prepared by an architect, tells you the plans for the building. What do these plans tell you? If the plans you are...
package-by-feature  blog 
26 days ago by pks
Package by Feature Is Demanded - DZone Java
Packaging by feature has its benefits, including lower coupling and higher cohesion. It's great for larger applications, but it has drawbacks to keep in mind.
package-by-feature  blog 
26 days ago by pks
Java Practices -> Package by feature, not layer
Concise presentations of java programming practices, tasks, and conventions, amply illustrated with syntax highlighted code examples.
blog 
26 days ago by pks
When Using Bind Variables is not Enough: Dynamic IN Lists – Java, SQL and jOOQ.
If your lists become huge, a bulk/batch inserting the IDs into a temporary table might be a far better option, and then semi-join that one instead:

1
2
3
4
5
SELECT count(*)
FROM actor
WHERE actor_id IN (
  SELECT id FROM temp_table
)
And ideally, if your list is really not dynamic, but originates from some other table, then please, stop passing around IDs and semi-join the original query that produced the IDs in the first place:

1
2
3
4
5
SELECT count(*)
FROM actor
WHERE actor_id IN (
  SELECT id FROM other_table WHERE ...
)
That last option should always be your first choice as it will very likely outperform all the others.
sql  blog 
6 weeks ago by pks
PagerDuty Security Training
open source security training
Security  blog 
7 weeks ago by pks
API Change Strategy | Nordic APIs |
Asbjorn describes a new approach to API versioning, outlining five aspects of smart API change management. Learn to adopt an API change strategy that avoids breaking change yet maintaining efficient development techniques.
API  blog  hateoas 
9 weeks ago by pks
Entity Services is an Antipattern
In a microservice based architecture, it is important to keep the different services separated. Entity services is a common pattern now applied to microservices, but Michael Nygard claims that entity services is an anti-pattern that works against separation.
microservices  blog  Patterns 
11 weeks ago by pks
Coherence Penalty for Humans - Wide Awake Developers
This is a brief aside from my ongoing series about avoiding entity
services. An interesting dinner conversation led to thoughts that I
needed to …
blog 
11 weeks ago by pks
Stevey's Google Platforms Rant I was at Amazon for about six and a half year...
Stevey's Google Platforms Rant I was at Amazon for about six and a half years, and now I've been at Google for that long. One thing that struck me imm... - Rip Rowan - Google+
blog 
12 weeks ago by pks
On the criteria to be used in decomposing systems into modules | the morning paper
On the criteria to be used in decomposing systems into modules David L Parnas, 1971 Welcome back to a new term of The Morning Paper! I thought I'd kick things off by revisiting a few of my favourite papers from when I very first started this exercise just over two years ago. At that time…
blog 
12 weeks ago by pks
SCS: Self-Contained Systems
Self-contained Systems (SCS) is a software architecture focused on a separation into independent systems - similar to microservices
blog 
12 weeks ago by pks
Feature Flags with Spring | Baeldung
Learn how feature flags can help you to enable or disable different functionality in your Spring Boot application without recompiling or redeploying.
spring-boot  blog 
february 2018 by pks
Hexagonal Architecture
I recently gave a talk on Hexagonal Architecture at Laracon NYC. The feedback was great, but seemed to have left people wanting for some extra explanation and of course examples. This is an attempt to expand on the ideas of that presentation.
Architecture  hexagonal  blog 
january 2018 by pks
The Testing Renaissance
How can we let the coding cowboys on our team be free, while maintaining code quality? At Twitter, we’ve been experimenting with feature testing.
junit  testing  toggles  blog 
january 2018 by pks
Hard and Soft Skills in Tech – NewCo Shift
Some common tasks which we often ignore are “make it possible for everyone to see what’s going on in the project at once,” “create a shared language for the core technical ideas so that everyone can explain the same thing,” “make sure that everyone’s voice is heard, and that important warnings don’t get lost because someone didn’t feel safe saying so,” and “make sure all the stakeholders feel a sense of personal ownership in the project and that their success is tied to its success.” (There are many more) Some common measures which we often ignore are “how often will a user/customer experience frustration or negative emotions while using this product, and how does that affect their long-term usage?,” or “when someone has a negative experience using the product, what is the following experience on each time scale from 10ms to one week, and how does that affect their experience of the product?”
blog 
december 2017 by pks
Automatically Mapping DTO to Entity on Spring Boot APIs
Let's learn how ModelMapper can help us automate the mapping process of DTOs into entities on Spring Boot APIs.
jpa  spring-boot  blog 
december 2017 by pks
Microservices — Rules of Engagement – Raghavan Madabusi – Medium
Rules of Engagement is a set of principles and best practices that are valuable to follow to ensure an efficient microservices environment.
microservices  Architecture  blog 
september 2017 by pks

Copy this bookmark:



description:


tags: