<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kshitij Jain</title>
    <description>The latest articles on DEV Community by Kshitij Jain (@kshitij_jain_bbc56d59a866).</description>
    <link>https://dev.to/kshitij_jain_bbc56d59a866</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2567531%2F6c7fe914-93e0-4118-ab7b-6ad810503b66.png</url>
      <title>DEV Community: Kshitij Jain</title>
      <link>https://dev.to/kshitij_jain_bbc56d59a866</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kshitij_jain_bbc56d59a866"/>
    <language>en</language>
    <item>
      <title>Java Multithreading Explained (Thread States, Synchronization &amp; Deadlocks) - Through One Example</title>
      <dc:creator>Kshitij Jain</dc:creator>
      <pubDate>Sat, 24 Jan 2026 14:37:45 +0000</pubDate>
      <link>https://dev.to/kshitij_jain_bbc56d59a866/java-multithreading-explained-thread-states-synchronization-deadlocks-through-one-example-83e</link>
      <guid>https://dev.to/kshitij_jain_bbc56d59a866/java-multithreading-explained-thread-states-synchronization-deadlocks-through-one-example-83e</guid>
      <description>&lt;p&gt;Java multithreading used to confuse me a lot. I’d read about thread states, synchronized, deadlocks… but it all felt like separate pieces and I couldn’t see the full picture.&lt;/p&gt;

&lt;p&gt;So I sat down and wrote an article that explains everything using one single example, step by step.&lt;br&gt;
No jumping between 10 different snippets — just one flow that shows what’s happening and why.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It covers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;thread states / lifecycle&lt;/li&gt;
&lt;li&gt;synchronization &amp;amp; locking&lt;/li&gt;
&lt;li&gt;how deadlocks happen (and how to spot them)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check it out:&lt;br&gt;
&lt;a href="https://medium.com/@kernelKain/java-multithreading-explained-thread-states-synchronization-deadlock-9640d8e0091f" rel="noopener noreferrer"&gt;https://medium.com/@kernelKain/java-multithreading-explained-thread-states-synchronization-deadlock-9640d8e0091f&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Getting started with GoLand — how do you use it for Go?</title>
      <dc:creator>Kshitij Jain</dc:creator>
      <pubDate>Sun, 14 Dec 2025 03:03:14 +0000</pubDate>
      <link>https://dev.to/kshitij_jain_bbc56d59a866/getting-started-with-goland-how-do-you-use-it-for-go-6hn</link>
      <guid>https://dev.to/kshitij_jain_bbc56d59a866/getting-started-with-goland-how-do-you-use-it-for-go-6hn</guid>
      <description>&lt;p&gt;I’m just getting started with GoLand for my Go projects and wanted to learn from people who use it regularly.&lt;/p&gt;

&lt;p&gt;How does GoLand fit into your day-to-day workflow?&lt;br&gt;
Are there any features, shortcuts, or settings you’d recommend enabling early on?&lt;/p&gt;

&lt;p&gt;If you don’t use GoLand, what IDE do you prefer for Go development — and what made you choose it?&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3kwjyfcdjl74w8kksyqn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3kwjyfcdjl74w8kksyqn.png" alt=" " width="800" height="249"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>go</category>
      <category>backend</category>
      <category>cloud</category>
      <category>devops</category>
    </item>
    <item>
      <title>Day 4 of My #Golang Journey</title>
      <dc:creator>Kshitij Jain</dc:creator>
      <pubDate>Fri, 12 Sep 2025 16:24:39 +0000</pubDate>
      <link>https://dev.to/kshitij_jain_bbc56d59a866/day-4-of-my-golang-journey-31mo</link>
      <guid>https://dev.to/kshitij_jain_bbc56d59a866/day-4-of-my-golang-journey-31mo</guid>
      <description>&lt;p&gt;Today I covered concept, syntax, implementation, examples, and use-cases of:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;URL Parsing&lt;/li&gt;
&lt;li&gt;bufio Package&lt;/li&gt;
&lt;li&gt;Base64 Encoding&lt;/li&gt;
&lt;li&gt;SHA256/512 Hashing&lt;/li&gt;
&lt;li&gt;crypto Package&lt;/li&gt;
&lt;li&gt;File Writing &amp;amp; Reading&lt;/li&gt;
&lt;li&gt;Line Filters&lt;/li&gt;
&lt;li&gt;File Paths &amp;amp; Directories&lt;/li&gt;
&lt;li&gt;Temporary Files &amp;amp; Directories&lt;/li&gt;
&lt;li&gt;embed Directive&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I’d love to hear from the community: which of these patterns or packages do you find most valuable in production Go projects? Any best practices or resources to recommend?&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 3 of My Golang Journey</title>
      <dc:creator>Kshitij Jain</dc:creator>
      <pubDate>Thu, 11 Sep 2025 20:57:26 +0000</pubDate>
      <link>https://dev.to/kshitij_jain_bbc56d59a866/day-3-of-my-golang-journey-5a0c</link>
      <guid>https://dev.to/kshitij_jain_bbc56d59a866/day-3-of-my-golang-journey-5a0c</guid>
      <description>&lt;p&gt;I’m continuing my daily log.&lt;/p&gt;

&lt;p&gt;Covered [Concept • Syntax • Implementation • Examples • Usecases]&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Errors &amp;amp; Custom Errors&lt;/li&gt;
&lt;li&gt;String Functions &amp;amp; Formatting&lt;/li&gt;
&lt;li&gt;Text Templates&lt;/li&gt;
&lt;li&gt;Regular Expressions (Regex)&lt;/li&gt;
&lt;li&gt;Time &amp;amp; Epoch&lt;/li&gt;
&lt;li&gt;Time Parsing/Formatting&lt;/li&gt;
&lt;li&gt;Random Numbers&lt;/li&gt;
&lt;li&gt;Number Parsing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’ll keep documenting daily - both to reinforce my own learning and hopefully help others starting out with Go.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>go</category>
      <category>backend</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>Day 2 of My Golang Journey</title>
      <dc:creator>Kshitij Jain</dc:creator>
      <pubDate>Mon, 08 Sep 2025 20:03:11 +0000</pubDate>
      <link>https://dev.to/kshitij_jain_bbc56d59a866/day-2-of-my-golang-journey-19i9</link>
      <guid>https://dev.to/kshitij_jain_bbc56d59a866/day-2-of-my-golang-journey-19i9</guid>
      <description>&lt;p&gt;I’m documenting my Golang learning day by day. Today I went deeper into the language and covered:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Closures&lt;/li&gt;
&lt;li&gt;Recursion&lt;/li&gt;
&lt;li&gt;Pointers&lt;/li&gt;
&lt;li&gt;Strings &amp;amp; Runes&lt;/li&gt;
&lt;li&gt;Formatting Verbs &amp;amp; the fmt package&lt;/li&gt;
&lt;li&gt;Structs &amp;amp; Methods&lt;/li&gt;
&lt;li&gt;Interfaces&lt;/li&gt;
&lt;li&gt;Struct Embedding&lt;/li&gt;
&lt;li&gt;Generics&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I’m sharing this to stay accountable and connect with others who are also exploring Go.&lt;br&gt;
For those with more experience: what are some common mistakes or best practices around these topics that I should know early on?&lt;/p&gt;

</description>
      <category>go</category>
      <category>learninpublic</category>
      <category>programming</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>Day-1 of My Golang Journey + Article on “Go Basics Beyond Syntax”</title>
      <dc:creator>Kshitij Jain</dc:creator>
      <pubDate>Sat, 06 Sep 2025 16:15:30 +0000</pubDate>
      <link>https://dev.to/kshitij_jain_bbc56d59a866/day-1-of-my-golang-journey-article-on-go-basics-beyond-syntax-1ogb</link>
      <guid>https://dev.to/kshitij_jain_bbc56d59a866/day-1-of-my-golang-journey-article-on-go-basics-beyond-syntax-1ogb</guid>
      <description>&lt;p&gt;I’ve officially started my #Golang Journey and wrapped up Day-1 with a mix of hands-on coding and deeper exploration into what makes Go unique.&lt;/p&gt;

&lt;h2&gt;
  
  
  Topics I Covered Today
&lt;/h2&gt;

&lt;p&gt;Basics: Concept, Syntax, Implementation, Use Cases, Examples&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Core Language Features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Types, Variables, Constants&lt;/li&gt;
&lt;li&gt;Naming Conventions&lt;/li&gt;
&lt;li&gt;Arithmetic Operations, Operators, Loops, Conditions&lt;/li&gt;
&lt;li&gt;Arrays, Blank Identifier, Slices, Maps, Range&lt;/li&gt;
&lt;li&gt;Functions: Multiple Return Values, Variadic Functions&lt;/li&gt;
&lt;li&gt;Error &amp;amp; Execution Control: Defer, Panic, Recover, Exit, Init Function&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Medium Blog: Go Basics Beyond Syntax – What Tutorials Don’t Tell You&lt;/strong&gt;&lt;br&gt;
Alongside practicing, I wrote an article on Medium focusing on the why behind Go’s design choices rather than just the how.&lt;/p&gt;

&lt;p&gt;Here’s what I covered in the blog:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dealing with “main redeclared” error in Go&lt;/li&gt;
&lt;li&gt;How Go supports Unicode (handling multiple languages effortlessly)&lt;/li&gt;
&lt;li&gt;Standalone Binary Executables: A key strength of Go&lt;/li&gt;
&lt;li&gt;Proper Naming Conventions in Go&lt;/li&gt;
&lt;li&gt;The role of go run vs go build in the Compiler &amp;amp; Runtime&lt;/li&gt;
&lt;li&gt;Tree Shaking in Go: Optimizing executables by removing unused code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check it out here: &lt;a href="https://medium.com/@kernelKain/go-basics-beyond-syntax-what-tutorials-dont-tell-you-about-the-basics-8b9e6c1d17eb" rel="noopener noreferrer"&gt;https://medium.com/@kernelKain/go-basics-beyond-syntax-what-tutorials-dont-tell-you-about-the-basics-8b9e6c1d17eb&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 0: Starting My Golang Journey</title>
      <dc:creator>Kshitij Jain</dc:creator>
      <pubDate>Thu, 04 Sep 2025 20:46:44 +0000</pubDate>
      <link>https://dev.to/kshitij_jain_bbc56d59a866/day-0-starting-my-golang-journey-d3c</link>
      <guid>https://dev.to/kshitij_jain_bbc56d59a866/day-0-starting-my-golang-journey-d3c</guid>
      <description>&lt;p&gt;Hey devs 👋,&lt;br&gt;
I’ve decided to jump into Go (Golang), and I’m documenting my journey over the next 3 weeks.&lt;/p&gt;

&lt;p&gt;Here’s my roadmap:&lt;br&gt;
1️⃣ Go Basics&lt;br&gt;
2️⃣ Go Intermediate&lt;br&gt;
3️⃣ Go Advanced&lt;br&gt;
4️⃣ 3 Minor Go Projects&lt;br&gt;
5️⃣ 1 Major Go Project&lt;/p&gt;

&lt;p&gt;Why Go?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fast, efficient, and simple syntax&lt;/li&gt;
&lt;li&gt;Great for backend, microservices, and concurrency&lt;/li&gt;
&lt;li&gt;Used by companies like Google, Uber, and Docker&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I’ll be posting updates (successes, struggles, and lessons learned) along the way.&lt;br&gt;
👉 If you’ve worked with Go, drop your best tips!&lt;br&gt;
👉 If you’re also learning, join in—we can push each other forward.&lt;/p&gt;

&lt;p&gt;Follow along with #Golang #100DaysOfCode (but 21 days for me 😅)&lt;/p&gt;

</description>
      <category>go</category>
      <category>programming</category>
      <category>backenddevelopment</category>
    </item>
  </channel>
</rss>
