🔖 2023-06-06 :: Microservice Architecture Patterns

https://microservices.io/patterns/index.html
 

🔖 2023-03-30 :: Spring Boot Startup Report

https://github.com/maciejwalkowiak/spring-boot-startup-report
 

🔖 2023-02-14 :: Should That Be a Microservice?

https://tanzu.vmware.com/content/blog/should-that-be-a-microservice-keep-these-six-factors-in-mind
 

🔖 2023-01-11 :: Best of July-December 2022

https://medium.com/javarevisited/best-of-july-december-2022-4bf79a9721b
 

🔖 2022-10-14 :: Kubernetes Kubectl Commands Cheat Sheet

https://acloudguru.com/blog/engineering/kubernetes-cheat-sheet
 

🔖 2022-09-29 :: Project Demonstrating Observability For Java Spring Applications

https://github.com/mnadeem/boot-opentelemetry-tempo
 

🔖 2022-09-09 :: Java Keywords Cheat Sheet

https://javaconceptoftheday.com/java-keywords-cheat-sheet/
 

🔖 2022-08-16 :: Top 10 Java Language Features

https://dzone.com/articles/top-10-java-language-features
 

🔖 2022-07-19 :: maven-survival-guide

https://github.com/rfichtner/maven-survival-guide
 

🔖 2022-06-10 :: OWASP Top Ten

https://owasp.org/www-project-top-ten/
 

🔖 2022-06-10 :: 2019 CWE Top 25 Most Dangerous Software Errors

https://cwe.mitre.org/top25/archive/2019/2019_cwe_top25.html
 

🔖 2022-06-10 :: Secure Coding Guidelines for Java SE

https://www.oracle.com/java/technologies/javase/seccodeguide.html
 

🔖 2022-05-26 :: How Do Programmers Ask the Interviewer Questions in an Interview

https://medium.com/javarevisited/how-do-programmers-ask-the-interviewer-questions-in-an-interview-e9f60d773280
 

🔖 2022-05-13 :: Online diagramming for teams

https://app.diagrams.net/
 

🔖 2022-04-20 :: Know the Difference Between JVM, JRE, And JDK

https://medium.com/javarevisited/know-the-difference-between-jdk-jre-and-jvm-9f35837992d7
 

🔖 2022-04-15 :: Recommended parameters for Java Containerized Application

https://docs.microsoft.com/en-us/azure/developer/java/containers/overview#pick-a-starting-point
 

🔖 2022-04-12 :: Adoptium Eclipse Temurin

https://whichjdk.com/#adoptium-eclipse-temurin
 

🔖 2022-04-08 :: Spring Boot REST API Specs

Generating Open API specs for a spring project is an easy few step process:

1. Add maven dependency
   <dependency>
     <groupId>org.springdoc</groupId>
     <artifactId>springdoc-openapi-ui</artifactId>
     <version>1.6.7</version>
   </dependency>
2. Start the application
3. Get specs at http(s)://server:port/<context-path>/v3/api-docs
4. Get specs ui at http(s)://server:port/<context-path>/swagger-ui.html

🔖 2022-04-06 :: Major migrations made easy with OpenRewrite

https://blog.jdriven.com/2022/03/major-migrations-made-easy-with-openrewrite/
 

🔖 2022-03-22 :: JVM Memory Architecture and GC Algorithm Basics

https://dzone.com/articles/jvm-memory-architecture-and-gc
 

🔖 2022-03-21 :: JVM in Linux containers, surviving the isolation

https://bell-sw.com/announcements/2020/10/28/JVM-in-Linux-containers-surviving-the-isolation/
 

🔖 2022-03-18 :: Install/Run Docker on Windows 10

1. Start Windows PowerShell via Run as administrator
2. Execute below commands one by one
  > wsl --install
  > wsl --set-default-version 2
  > wsl --update
3. Start Microsoft Store and install Debian
4. Start Debian and create user dockerce/dockerce
5. Execute below commands one by one
  $ sudo apt update
  $ sudo apt dist-upgrade
  $ sudo apt install docker.io
  $ sudo touch /etc/fstab
  $ sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
  $ sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
  $ sudo service docker start
6. Test installation by running hello-world docker image
  $ sudo docker run hello-world

🔖 2022-03-15 :: Refactoring

https://refactoring.guru/refactoring
 

Refactoring is a systematic process of improving code without creating new functionality that can transform a mess into clean code and simple design.


🔖 2022-03-15 :: Design Patterns

https://refactoring.guru/design-patterns
 

Design patterns are typical solutions to common problems in software design. Each pattern is like a blueprint that you can customize to solve a particular design problem in your code.


🔖 2022-03-07 :: Awesome Software Architecture

https://awesome-architecture.com/
 

Curated list of awesome articles and resources to learn and practice about software architecture, patterns and principles. this repository will be updated continuously, keep yourself up to date.


🔖 2022-03-07 :: Encoding, Encryption, and Hashing

https://auth0.com/blog/encoding-encryption-hashing/
 

🔖 2022-03-04 :: The 2022 Java Programmer RoadMap [UPDATED]

https://medium.com/javarevisited/the-java-programmer-roadmap-f9db163ef2c2
 

🔖 2022-01-07 :: Hibernate Performance Tuning Tips – 2022 Edition

https://thorben-janssen.com/tips-to-boost-your-hibernate-performance/
 

🔖 2021-12-20 :: Performance Testing with JMeter

https://blog.scottlogic.com/2021/12/09/Performance-Testing-with-JMeter.html
 

🔖 2021-12-17 :: The Best Spring Data JPA Logging Configuration in Spring Boot

https://thorben-janssen.com/spring-data-jpa-logging/
 

🔖 2021-12-06 :: SIMPLE THINGS THAT ARE ACTUALLY HARD: USER AUTHENTICATION

https://techblog.bozho.net/simple-things-that-are-actually-hard-user-authentication/
 

🔖 2021-11-17 :: 5 Git Best Practices

https://levelup.gitconnected.com/5-git-best-practices-5617fcaada05
 

🔖 2021-11-15 :: Spring Boot Microservices Coding Style Guidelines and Best Practices

https://medium.com/codex/spring-boot-microservices-coding-style-guidelines-and-best-practices-1dec229161c8
 

🔖 2021-11-04 :: A Guide to Spring's Open Session In View

https://www.baeldung.com/spring-open-session-in-view#1-spring-boot
 

🔖 2021-10-28 :: The Missing README: A Guide for the New Software Engineer

https://nurkiewicz.com/2021/10/the-missing-readme-book-review.html
 

Do you remember the definition of a software developer? "You create value by solving problems with code". This is how you make an impact, by solving problems. Too often I find myself coding to solve imaginary problems, creating no value. Don't be like me ...


🔖 2021-10-22 :: Top Java Development Skills in Demand Right Now

https://medium.com/javarevisited/top-java-development-skills-in-demand-right-now-1b3f713f26cc
 

🔖 2021-10-21 :: OWASP Secure Coding Practices-Quick Reference Guide

https://owasp.org/www-project-secure-coding-practices-quick-reference-guide/migrated_content
https://owasp.org/www-pdf-archive/OWASP_SCP_Quick_Reference_Guide_v2.pdf
 

🔖 2021-10-16 :: The Five Whys Analysis

https://serce.me/posts/14-10-2021-the-five-lies-analysis/
 

The Five Whys Analysis is a popular root cause investigation technique with a simple premise that is asking why five times can yield the answer, which is the root cause. While doing so could be a helpful exercise, blindly applying the technique often leads to a suboptimal result...


🔖 2021-10-15 :: Awesome Java

https://github.com/akullpp/awesome-java
 

🔖 2021-10-11 :: Profiling and Fixing Common Performance Bottlenecks

https://ecoapm.github.io/presentations/JB2021/
 

🔖 2021-09-29 :: Spring @Transactional Mistakes Everyone Makes

https://dzone.com/articles/most-common-spring-transactional-mistakes
 

🔖 2021-09-27 :: 6 Tips To Start Coding Faster and Better

https://medium.com/javarevisited/6-tips-to-start-coding-faster-and-better-e152ec17f41
 

🔖 2021-08-25 :: Migrate to JUnit 5 from JUnit 4

https://docs.openrewrite.org/tutorials/migrate-from-junit-4-to-junit-5
 

🔖 2021-08-24 :: 5 Hibernate Features You Should Use With Spring Data JPA

https://thorben-janssen.com/hibernate-features-with-spring-data-jpa/
 

🔖 2021-08-24 :: 5 Hibernate Features You Should Use With Spring Data JPA

https://thorben-janssen.com/hibernate-features-with-spring-data-jpa/
 

🔖 2021-07-29 :: The Programmer's Oath (18 November 2015)

https://blog.cleancoder.com/uncle-bob/2015/11/18/TheProgrammersOath.html
 

In order to defend and preserve the honor of the profession of computer programmers,

I Promise that, to the best of my ability and judgement:

  1. I will not produce harmful code.

  2. The code that I produce will always be my best work. I will not knowingly allow code that is defective either in behavior or structure to accumulate.

  3. I will produce, with each release, a quick, sure, and repeatable proof that every element of the code works as it should.

  4. I will make frequent, small, releases so that I do not impede the progress of others.

  5. I will fearlessly and relentlessly improve my creations at every opportunity. I will never degrade them.

  6. I will do all that I can to keep the productivity of myself, and others, as high as possible. I will do nothing that decreases that productivity.

  7. I will continuously ensure that others can cover for me, and that I can cover for them.

  8. I will produce estimates that are honest both in magnitude and precision. I will not make promises without certainty.

  9. I will never stop learning and improving my craft.


🔖 2021-02-24 :: From Monolith to Microservices – Migrating a Persistence Layer

https://thorben-janssen.com/monolith-to-microservices-persistence-layer/
 

🔖 2021-01-22 :: What is end-to-end encryption and why it's such a confusing term

https://advancedweb.hu/what-is-end-to-end-encryption-and-why-its-such-a-confusing-term/
 
browser WiFi router ISP backbone google.com Can not read the communication HTTPS Transport-level encryption

🔖 2021-01-06 :: Spring Boot Best Practices for Microservices

https://piotrminkowski.com/2019/12/06/spring-boot-best-practices-for-microservices/
 

🔖 2020-10-23 :: Spring Security: Delegating authorization checks to bean methods

https://www.mscharhag.com/spring/security-authorization-bean-methods
 

🔖 2020-10-21 :: Java Exception Handling Examples in Open Source Projects

https://www.programcreek.com/2016/12/java-exception-handling-in-open-source-projects/
 

🔖 2020-10-08 :: A categorized list of all Java and JVM features since JDK 8 to 17

https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-17/
 

🔖 2020-09-29 :: A Picture of Java in 2020

https://blog.jetbrains.com/idea/2020/09/a-picture-of-java-in-2020/
 

🔖 2020-08-11 :: Top 50 Java Collections Interview Questions

https://morioh.com/p/76dac2f9eaf1
 

What is the Java Collection Framework and How do you choose different collections? Here is the diagram which answers this question:


🔖 2020-07-22 :: How Fast is Spring?

https://spring.io/blog/2018/12/12/how-fast-is-spring
 

🔖 2020-07-21 :: On Open Source, licenses and changes

https://blog.frankel.ch/on-opensource-licenses-changes/
 

What qualifies as Open Source? How to decide that what licenses are considered Open Source?


🔖 2020-07-02 :: USING MULTIPLE DYNAMIC CACHES WITH SPRING

https://techblog.bozho.net/using-multiple-dynamic-caches-with-spring/
 

🔖 2020-06-16 :: Distributed Cache with Hazelcast and Spring

https://reflectoring.io/spring-boot-hazelcast/
 

🔖 2020-05-09 :: JDBC - a short guide

https://www.marcobehler.com/guides/jdbc
 

🔖 2020-05-08 :: Managing Transactions with Spring and Spring Data JPA

https://thorben-janssen.com/transactions-spring-data-jpa/
 

🔖 2020-04-14 :: The System Design Primer

https://github.com/donnemartin/system-design-primer
 

🔖 2020-04-13 :: Top 5 Skills and Topics to Crack Tech Coding Interviews in 2022 [UPDATED]

https://javarevisited.blogspot.com/2020/04/5-essential-skills-to-crack-coding-interviews.html
 

🔖 2020-04-09 :: AM I A REAL EXPERT?

https://techblog.bozho.net/am-i-a-real-expert/
 

🔖 2020-03-31 :: RESTful API Designing guidelines — The best practices

https://hackernoon.com/restful-api-designing-guidelines-the-best-practices-60e1d954e7c9
 

🔖 2020-03-18 :: Optical Character Recognition with Tesseract (Tess4J)

https://www.baeldung.com/java-ocr-tesseract
 

🔖 2020-02-26 :: Top 50 Java Programs from Coding Interviews

https://javarevisited.blogspot.com/2017/07/top-50-java-programs-from-coding-Interviews.html
 

🔖 2020-02-04 :: Karate - Test Automation Made Simple.

https://github.com/karatelabs/karate
 

🔖 2019-10-18 :: Add Real-time to your Java App with Azure SignalR Service

https://dev.to/azure/add-real-time-to-your-java-app-with-azure-signalr-service-3p8
 

🔖 2019-10-14 :: Logging levels: the wrong abstraction | IG Labs

https://labs.ig.com/logging-level-wrong-abstraction
 
DEBUG
  - information that is useful during development. Usually very chatty, and will not show in production.
INFO
  - information you will need to analyze production issues.
WARN
  - someone in the team will have to investigate what happened, but it can wait until tomorrow.
ERROR
  - Oh-oh, call the fireman! This needs to be investigated now!

🔖 2019-09-23 :: Twelve-Factor Methodology in a Spring Boot Microservice

https://www.baeldung.com/spring-boot-12-factor
 

🔖 2019-08-20 :: Micrometer: Spring Boot 2's new application metrics collector

https://spring.io/blog/2018/03/16/micrometer-spring-boot-2-s-new-application-metrics-collector#the-distinction-between-metrics-and-tracing
 

🔖 2019-07-03 :: Anti-Patterns and Code Smells

https://itnext.io/anti-patterns-and-code-smells-46ba1bbdef6d
 

🔖 2019-05-20 :: Difference Between a Java Keystore and a Truststore

https://www.baeldung.com/java-keystore-truststore-difference
 

🔖 2019-04-29 :: Which Log Level to use When !!!

 
FATAL
  - should be reserved for errors that cause the application to crash or fail to start (ex: JVM out of memory)
ERROR
  - should contain technical issues that need to be resolved for proper functioning of the system (ex: couldn’t connect to database)
WARN
  - is best used for temporary problems or unexpected behavior that does not significantly hamper the functioning of the application (ex: failed user login)
INFO
  - should contain messages that describe what is happening in the application (ex: user registered, order placed)
DEBUG
  - is intended for messages that could be useful in debugging an issue (ex: method execution started)
TRACE
  - is similar to DEBUG but contains more detailed events (ex: data model updated)

🔖 2019-04-03 :: Software Project Review Checklist

https://www.yegor256.com/2019/04/02/software-project-review-checklist.html
 

🔖 2019-04-02 :: Focus on Integration Tests Instead of Mock-Based Tests

https://phauer.com/2019/focus-integration-tests-mock-based-tests/
 

🔖 2019-02-19 :: SEI CERT Oracle Coding Standard for Java

https://wiki.sei.cmu.edu/confluence/display/java/SEI+CERT+Oracle+Coding+Standard+for+Java
 

🔖 2019-01-29 :: Introducing Jib — build Java Docker images better

https://cloudplatform.googleblog.com/2018/07/introducing-jib-build-java-docker-images-better.html
 

🔖 2019-01-18 :: OWASP Top Ten related Cheat Sheets

https://cheatsheetseries.owasp.org/IndexTopTen.html
 

🔖 2019-01-17 :: Top 10 Web Application Security Risks

https://owasp.org/www-project-top-ten/
 

🔖 2018-05-04 :: The State of Java in 2018

https://www.baeldung.com/java-in-2018
 

🔖 2018-04-19 :: Spring checkstyle formatting

https://github.com/spring-io/spring-javaformat/blob/main/src/checkstyle/checkstyle.xml
 

🔖 2018-03-26 :: Java VM Options You Should Always Use in Production

https://blog.sokolenko.me/2014/11/javavm-options-production.html https://jvmmemory.com/