JVM Languages
Kotlin vs. Java: A Coexistence Story
When Kotlin first came out, I thought it was just a fad. But after Google made it first-class for Android, and I saw my colleagues writing less boilerplate…
Stories Worth Reading
PixelProse is your go-to blog for insightful articles on Technology, Travel, Food, Health, Lifestyle, Business, Fashion and Sports. Fresh perspectives. Real stories. Zero fluff.
Results for "Java"
62 articles found
JVM Languages
When Kotlin first came out, I thought it was just a fad. But after Google made it first-class for Android, and I saw my colleagues writing less boilerplate…
Core Java
Before Java 8, working with dates was a nightmare. `java.util.Date` was mutable and had terrible design decisions. I remember trying to add a day to a date…
Modern Java
For years, Java developers complained about boilerplate. We had to write constructors, getters, equals, and hashCode for simple data carriers. Lombok fixed…
Modern Java
I’ve been waiting for virtual threads (Project Loom) for years. Traditionally, Java’s concurrency model was based on operating system threads, which ar…
Java Fundamentals
I’ve been a full-stack developer for about a decade now, and if there’s one language I keep coming back to, it’s Java. It’s not the flashiest, and…
DevOps
The days of deploying a WAR file to a Tomcat instance on a virtual machine are fading. Most Java shops are moving to containers. I started Dockerizing my S…
Functional Programming
When Java 8 dropped, everyone started using lambdas, but many stopped there. Functional programming is more than just syntactic sugar for anonymous classes…
Core Java
I recently did a code review for a junior developer, and I saw a massive block of nested for-loops just to filter a list and map some objects. It was funct…
Career
If I could go back and give myself advice, I’d say: don’t just learn the syntax. Learn the ecosystem. Knowing Java is great, but knowing Spring, Maven…
Concurrency
Writing thread-safe code is hard. When I first learned about concurrency, I slapped `synchronized` on every method, thinking I was making everything safe…
Advanced Java
Annotations in Java are like magic markers. They started as just metadata (`@Override`), but with frameworks like Spring and Lombok, they have become power…
JVM Internals
When I first started coding Java, I treated the JVM like a magic box. Write code, hit run, and somehow it works on Windows, Mac, and Linux. But once I star…
Testing
I used to hate writing tests. I thought it was a waste of time until I had to refactor a legacy module with 100% coupling. I broke everything, and I spent…
Performance
My worst production moment was at 3 AM on a Saturday. The application started throwing `OutOfMemoryError`. The heap was full, and the GC was thrashing. I h…
Best Practices
I’ve read Robert Martin’s *Clean Code* three times, and I still learn something new each time. The golden rule is that code is written for humans, not…
Core Java
I’ve seen too many empty catch blocks in my life. You know the ones: `catch (Exception e) {}`. It’s like putting a band-aid over a bullet wound. The ex…
Advanced Java
The biggest criticism of Java in the serverless world has been startup time. A cold start of a Spring Boot app can take 20-30 seconds. GraalVM changes that…
Best Practices
We all have that one project in our careers—the codebase that’s 15 years old, uses Java 6, and no one understands it fully. I inherited one of these la…
Frameworks
For the last five years, Spring Boot has been my default choice for microservices. It’s the Swiss Army knife of Java frameworks. But recently, I started…
DevOps
Logging is often an afterthought until something goes wrong. I’ve been on calls where we were trying to debug a failure and realized the logs were either…
Spring Framework
Early in my career, I used the `new` keyword everywhere. `new UserService(new UserRepository(new Database()))`. I thought I was being efficient. Then came…
Build Tools
When I graduated from university, I knew how to write Java, but I had no idea how to manage dependencies. I used to download JAR files manually and drop th…
Databases
When I first learned SQL, I loved it. But mapping SQL results to Java objects manually with JDBC is tedious. That’s where JPA (Java Persistence API) and…
Security
JavaScript
JavaScript closures were my personal nemesis for a solid six months. I could read about them, but I never understood why I would use them until I started b…
Web Development
Building a REST API used to involve a lot of XML configuration in the old J2EE days. Spring Boot changed all that with auto-configuration. I can now spin u…
Build Tools
For years, I was a Maven guy. The rigid structure of Maven is comforting. You know exactly where to find things. But when I started working on a project wi…
Databases
When I first started using Spring Data JPA, I was amazed that I could just create an interface extending `JpaRepository` and get CRUD methods for free. But…
Design Patterns
I used to think design patterns were academic nonsense until I found myself writing a payment processing system. We had to support credit cards, PayPal, an…
AWS
Elastic Beanstalk is the easiest way to deploy web applications on AWS. You upload your code, and it handles capacity provisioning, load balancing, and sca…
Technology
I still remember the days of staring at a blinking cursor, trying to recall the exact syntax for a JavaScript map function. Then came AI coding assistants…
JavaScript
The 'this' keyword in JavaScript is notoriously confusing because its value depends on how the function is called. In the global context, this refers to th…
JavaScript
Once I was comfortable with frontend JavaScript, I wanted to build my own backend. Express.js is the most popular framework for Node.js. It's minimalist an…
JavaScript
JavaScript used to be confined to the browser. Then Node.js came along and allowed us to run JavaScript on the server. For a beginner, installing Node also…
JavaScript
Most beginners start with console.log('here') to debug. While that works, the browser DevTools console has much more to offer. console.table() is a lifesav…
HTML/CSS/JS
Forms are the gateway to user data, and validating that data is crucial. You have two layers: client-side validation (for UX) and server-side validation (f…
JavaScript
When you type a URL in the browser, you're making a GET request. It asks the server, 'Please give me this resource.' When you submit a login form, you're o…
CSS
Maintaining large CSS files used to be a headache. If you wanted a consistent color scheme, you had to do a find-and-replace for every hex code. CSS Variab…
JavaScript
When you load an HTML page, the browser parses the text and creates a tree-like structure called the Document Object Model, or DOM. This is the interface b…
JavaScript
If you’re coming from another language, you might use for loops to manipulate arrays in JavaScript. While that works, the functional array methods—map…
How to Use Claude
Building a functional chatbot with Claude is more achievable than most people expect, even with modest programming experience. Here's a practical starting…
JavaScript
Frameworks like React have popularized the concept of 'state'—the data that changes over time. But you can implement state management in vanilla JavaScri…
JavaScript
When I first encountered Promises, the .then().catch() syntax felt messy, especially for complex chains. Enter Async/Await, a syntactic sugar that makes as…
JavaScript
JavaScript is single-threaded, which means it can only do one thing at a time. So how does it handle fetching data from an API without freezing the entire…
Stack Overflow
I was a generalist, answering questions on Python, JavaScript, and whatever else came my way. My reputation grew slowly. Then I found my niche: a specific…
Tools
The build tool landscape has evolved dramatically, and the choice between Webpack and Vite can significantly impact your development experience. Webpack ha…
TypeScript
If you're still writing plain JavaScript, TypeScript deserves your attention. It's JavaScript with static typing, which means you catch errors during devel…
DevOps
Taking your code from localhost to the live internet is a rite of passage for web developers. The options can feel overwhelming, but start simple. For stat…
Progressive Web Apps
Progressive Web Apps (PWAs) represent the best of both worlds—the reach of the web with the capabilities of native apps. A PWA is essentially a website t…
Performance
Google's Core Web Vitals have transformed performance optimization from a nice-to-have into a critical ranking factor. These metrics measure real-world use…
Backend
Bun has emerged as a serious competitor to Node.js, promising dramatically faster performance for JavaScript and TypeScript development. Built on JavaScrip…
JavaScript
Closures are one of those JavaScript concepts that every developer eventually has to wrestle with. At its simplest, a closure is the combination of a funct…
CSS
CSS Custom Properties, commonly called CSS variables, have revolutionized how we write and maintain stylesheets. Unlike preprocessor variables from Sass or…
Testing
Testing isn't about achieving 100% coverage—it's about building confidence in your code. A balanced testing strategy uses multiple levels. Unit tests ver…
DevOps
Understanding what's happening in production applications requires more than scattered console.log statements. Observability is the practice of instrumenti…
Internationalization
Building web applications for global audiences requires more than just translating text strings. True internationalization (i18n) encompasses number format…
DevOps
As web projects grow, managing multiple packages, applications, and shared code becomes a significant challenge. Monorepos—single repositories containing…
Advanced JavaScript
WebAssembly (Wasm) is changing what's possible in web development by allowing compiled languages like C++, Rust, and Go to run in the browser at near-nativ…
CSS
Animations can elevate user experience when done well, but choosing the right tool matters. CSS animations are declarative and browser-optimized. Use them…
Backend
Rust is increasingly making its way into web development, not as a JavaScript replacement, but for the performance-critical layers where every millisecond…
Static Sites
Astro represents a paradigm shift in how we build content-focused websites. Its core innovation is island architecture—you ship HTML by default and only…
Desktop Development
For years, Electron has been the go-to for building desktop apps with web technologies. But Tauri has emerged as a compelling alternative with fundamentall…