Making 'Nothing Leaves Your Browser' a Promise the Browser Enforces
How I used a Content Security Policy, a service worker exception and a test suite to turn a privacy claim on a client-side developer-tools site into something enforced and checkable.
Custom Bean Instantiation Using @ConditionalOnProperty Annotation in Spring BootSpring Boot
Spring boot is a widely used framework to bootstrap standalone web applications. Its flexibility and capabilities in beans management make the life of...
Optimizing Java Application Performance with Asynchronous Logging in LogbackJava
Logging is an essential component of successful debugging, accurate monitoring, and comprehensive auditing in the evolving world of Java application...
A Closer Look at Annotations in JavaJava
Annotations are a form of meta-data that provides additional information about code elements, such as classes, methods, fields, and more. They were...
Presigned URLs in AWS S3: Secure File Upload and DownloadAWS
Amazon Simple Storage Service (S3) is an object storage service offered by Amazon Web Services (AWS). It allows users to store and retrieve data from...
Switch Statement in Java: From Basic to Pattern MatchingJava
The switch statement is a fundamental control structure in Java, allowing developers to execute different code blocks based on the value of an...
The Most Used Stream Operations in Java With ExamplesJava
Stream operations were introduced in Java 8 and they allow you to manipulate collections of data in a concise and functional way. A stream can be seen...
A Deep Dive into the flatMap Operation of the Stream API in Java with ExamplesJava
The flatMap operation is an intermediate operation provided by the Stream API, which allows you to transform each element of a stream into zero or more...
Sealed Classes in JavaJava
Sealed classes, a new addition to the Java programming language starting from Java 15, provide developers with a powerful tool for defining restricted...
Spring Boot Profiles Best PracticesSpring Boot
Spring Boot profiles provide a powerful way to manage application configurations for different environments or scenarios. By using profiles, developers...
How to Send SMS messages using AWS SNS and Java: A Step-by-Step GuideAWS
When it comes to mobile applications, SMS messaging is still one of the most reliable and widely used communication channels. Amazon Web Services (AWS)...
A Comprehensive Comparison of AWS S3 Storage ClassesAWS
AWS S3 storage has been one of the most popular and widely used cloud storage services in recent years. With its flexibility, scalability, and...
Object Versioning in S3AWS
Object versioning is a powerful feature that allows you to store multiple versions of an object within a bucket. By default, versioning is disabled on...
Buckets and Objects in S3AWS
S3 is a global storage platform that is accessible from anywhere with an Internet connection. It is a public service that runs from all AWS regions,...
High availability VS Fault Tolerance VS Disaster RecoveryArchitecture
High availability, Fault Tolerance and Disaster Recovery are three concepts to understand for every Solution Architect. These concepts are sometimes...
Records in JavaJava
After being a preview feature in Java 14 and Java 15, Java records are now part of the Java language starting from Java 16.
Forward Proxy vs Reverse ProxyArchitecture
A proxy is a device that traffic gets routed through it: it is an intermediate between a client and a web server.
Comparison between the different ways of dependency injection in SpringSpring Boot
Dependency injection is a core feature of the Spring framework. It is used by Spring to set the bean’s dependencies while initializing the application...
Difference between Map and FlatMap in JavaJava
The Stream API of Java 8 provides two intermediate stream operations used to perform actions on stream elements and return a stream as an output: map...