<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Professional developer</title><link>https://www.professionaldev.dev/post/</link><description>Recent content in Posts on Professional developer</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Wed, 08 May 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://www.professionaldev.dev/post/index.xml" rel="self" type="application/rss+xml"/><item><title>How to Write Classes With Multiple Case Insensitive Strings</title><link>https://www.professionaldev.dev/post/java/case_insenstive_hash_code/</link><pubDate>Fri, 12 May 2023 00:00:00 +0000</pubDate><guid>https://www.professionaldev.dev/post/java/case_insenstive_hash_code/</guid><description>
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In a &lt;a href="../case_insensitive_string_hashmap"&gt;previous article&lt;/a&gt;, I discussed how to efficiently store strings in a hash map and search for them without worrying about case sensitivity. I explained how creating a custom wrapper class for &lt;code&gt;String&lt;/code&gt; and overriding its &lt;code&gt;hashCode&lt;/code&gt; and &lt;code&gt;equals&lt;/code&gt; methods can achieve this goal, while ensuring good performance by minimizing the creation of additional strings.&lt;/p&gt;
&lt;p&gt;However, this approach may not be ideal if you need to store objects that contain multiple strings. While you could still use the same wrapper class, there are at least two potential downsides to this approach. Firstly, it would result in increased memory usage due to the creation of additional objects. Secondly, there may be situations where you are unable or unwilling to modify the String type in carrier classes.&lt;/p&gt;</description></item><item><title>How to Use Case Insensitive String in Hash Map</title><link>https://www.professionaldev.dev/post/java/case_insensitive_string_hashmap/</link><pubDate>Mon, 24 Apr 2023 00:00:00 +0000</pubDate><guid>https://www.professionaldev.dev/post/java/case_insensitive_string_hashmap/</guid><description>
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;By default, Microsoft SQL Server processes strings without considering their case sensitivity. Java, unlike Microsoft SQL Server, is case-sensitive which can result in problems. Specifically, on the project I'm working on, there have been numerous bugs caused by the mismatch in case sensitivity.&lt;/p&gt;
&lt;p&gt;Generally, there are many situations where case-insensitive strings are necessary. One such example is with email addresses, which are inherently case-insensitive. Therefore, the issue of case sensitivity is not solely related to the mismatch between MS SQL Server and Java, but rather it is a more widespread concern.&lt;/p&gt;</description></item><item><title>What Is Memory Churn and How to Avoid It in Java</title><link>https://www.professionaldev.dev/post/java/memory_churn/</link><pubDate>Tue, 04 Apr 2023 00:00:00 +0000</pubDate><guid>https://www.professionaldev.dev/post/java/memory_churn/</guid><description>
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Modern hardware is very good at predicting the next instructions to be executed. This kind of prediction allows CPUs to do more work in less time. One of the strategies that hardware relies on is data locality. This means that when CPU requests data from main memory, it not only retrieves the requested data, but the hardware also retrieves the data that is stored in proximity to the requested data.&lt;/p&gt;</description></item><item><title>Best Practices That You Should Follow When Extracting Zip Archive in Java</title><link>https://www.professionaldev.dev/post/java/extract_zip_stream_best_practices/</link><pubDate>Tue, 06 Dec 2022 00:00:00 +0000</pubDate><guid>https://www.professionaldev.dev/post/java/extract_zip_stream_best_practices/</guid><description>
&lt;p&gt;Extracting archive files without controlling resource consumption is security-sensitive and can lead to denial of service.&lt;/p&gt;
&lt;p&gt;Our code executes on servers, but you should know that servers have limits. Based on this, check how many hardware resources your code can consume. Resources are CPU, RAM, disk, network... Understand those limits and, based on those limits, put thresholds in your code.&lt;/p&gt;
&lt;p&gt;Here are some important thresholds you should put in a code when extracting a zip archive.&lt;/p&gt;</description></item><item><title>Why Should You, as a Software Developer, Learn Soft Skills?</title><link>https://www.professionaldev.dev/post/soft_skills/</link><pubDate>Mon, 05 Dec 2022 00:00:00 +0000</pubDate><guid>https://www.professionaldev.dev/post/soft_skills/</guid><description>
&lt;h3 id="here-are-several-reasons"&gt;Here are several reasons:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;We work in teams.&lt;br&gt;
The better we know how to communicate with people in a team, the better we will be. Remember, your whole company is one big team.&lt;/li&gt;
&lt;li&gt;We use programming &lt;b&gt; languages &lt;/b&gt; to communicate between each other.&lt;br&gt;
Hardware doesn't need a programming language to process our intentions. All languages compile at the end in machine code. Programming languages are here to help us communicate ideas. The cleaner(more readable) code you write, the more understandable it will be to other developers. This leads to more maintainable software.&lt;/li&gt;
&lt;li&gt;Soft skills usually apply to your private life, making you a better person.&lt;/li&gt;
&lt;li&gt;The root of the word Software is &lt;strong&gt;Soft&lt;/strong&gt; :o&lt;br&gt;
These days, teams create great and successful products, not one person. Learn how to be a team player.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="where-can-you-start-here-are-several-subjects-that-are-very-important"&gt;Where can you start? Here are several subjects that are very important:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Learn how to listen.
Learn active listening. This is one of the most essential skills to learn. And it applies to more than work. You can (and should) use this skill in your private life.&lt;/li&gt;
&lt;li&gt;Learn about leadership.
Everyone is a leader in some sense. Google &amp;quot;Simon Sinek&amp;quot; - he is an excellent resource for this subject.&lt;/li&gt;
&lt;li&gt;Learn about ownership.
The best workers are those who own the work assigned to their team.&lt;/li&gt;
&lt;li&gt;Learn about empathy.
To understand how people around you feel like.&lt;/li&gt;
&lt;li&gt;Learn about assertive communication!
You probably know about this. If not, ask your HR! They just love this subject. ;)&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Setting up Junit 5 Parallel Test Execution With Maven</title><link>https://www.professionaldev.dev/post/java/java_multithread_junit5/</link><pubDate>Sat, 15 Oct 2022 00:00:00 +0000</pubDate><guid>https://www.professionaldev.dev/post/java/java_multithread_junit5/</guid><description>
&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;We need fast-build pipelines. This is because we need fast feedback from our pipeline in order to be more productive. If something is wrong with our code, then we want our pipeline to fail fast. To accomplish that, you may decide to allow parallel test execution for tests in your project. This post describes how to do that with Maven and Junit 5.&lt;/p&gt;
&lt;h1 id="getting-started-with-junit-5-and-maven"&gt;Getting Started With Junit 5 and Maven&lt;/h1&gt;
&lt;p&gt;To get started with Junit 5, you need to import the following dependency into the project:&lt;/p&gt;</description></item><item><title>I Asked a Java Champion: What Is the Biggest Problem That Professional Java Developers Are Facing Today?</title><link>https://www.professionaldev.dev/post/java/victor_biggest_problem_for_java_devs/</link><pubDate>Tue, 26 Oct 2021 00:00:00 +0000</pubDate><guid>https://www.professionaldev.dev/post/java/victor_biggest_problem_for_java_devs/</guid><description>
&lt;p&gt;I have attended the workshop that is organized by the &lt;a href="https://itkonekt.com/en/"&gt;ITKonekt&lt;/a&gt;. The workshop was about efficient coding practices for best performance in Java. Java Champion &lt;a href="https://victorrentea.ro/"&gt;Victor Rentea&lt;/a&gt; did a great job explaining all java internals, tools, hibernate, threads, collections, garbage collections, and much more. It was very enjoyable to learn from him, and I decided to ask him the question:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What is the biggest problem that professional Java developers are facing today?&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>10 Mistakes That Java Developers Make That Prevent Them From Being Successful Developers</title><link>https://www.professionaldev.dev/post/java/teen_mistakes/</link><pubDate>Fri, 11 Jun 2021 00:00:00 +0000</pubDate><guid>https://www.professionaldev.dev/post/java/teen_mistakes/</guid><description>
&lt;p&gt;Based on my previous experience, I created a list of 10 mistakes that developers made, preventing them from being a great developer. Here is the list:&lt;/p&gt;
&lt;h2 id="1-not-writing-unit-tests"&gt;1. Not writing unit tests&lt;/h2&gt;
&lt;p&gt;Developers that don’t write unit tests produce more bugs from the code they write and maintain. That leads to unstable products and client dissatisfaction.&lt;br&gt;
If you are not familiar with writing unit tests, there are some resources to get started with:&lt;/p&gt;</description></item><item><title>How do I become proficient with functional programming in Java</title><link>https://www.professionaldev.dev/post/java/start_fp_in_java/</link><pubDate>Mon, 05 Apr 2021 00:00:00 +0000</pubDate><guid>https://www.professionaldev.dev/post/java/start_fp_in_java/</guid><description>
&lt;p&gt;As a Java developer, I always look for ways to improve my coding skills. I heard about functional programming (FP) back when I was a student. Then, FP was not very popular and most developers considered code written using FP to be slow.&lt;/p&gt;
&lt;p&gt;Time has changed and today FP is very popular. Some developers are considering it to be the future of how developers write code.&lt;/p&gt;
&lt;p&gt;FP is the most useful concept that I learned in the last several years. It helped me to become a better developer. I started writing cleaner code with fewer bugs.&lt;/p&gt;</description></item></channel></rss>