<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tech on Mayukh Datta</title>
    <link>http://localhost:63790/categories/tech/</link>
    <description>Recent content in Tech on Mayukh Datta</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© 2026 Mayukh Datta</copyright>
    <lastBuildDate>Fri, 12 Dec 2025 00:00:00 +0000</lastBuildDate><atom:link href="http://localhost:63790/categories/tech/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>The Art of Balance - What Concurrency Taught Me About Life</title>
      <link>http://localhost:63790/2025/12/the-art-of-balance-what-concurrency-taught-me-about-life/</link>
      <pubDate>Fri, 12 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2025/12/the-art-of-balance-what-concurrency-taught-me-about-life/</guid>
      <description>&lt;p&gt;While debugging a tricky multi-threading issue last week, I had an unexpected realization about life itself.&lt;/p&gt;
&lt;p&gt;Let me explain through three scenarios:&lt;/p&gt;


&lt;h2 class=&#34;relative group&#34;&gt;Race Condition: When Everyone Acts Without Coordination 
    &lt;div id=&#34;race-condition-when-everyone-acts-without-coordination&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34;
            style=&#34;text-decoration-line: none !important;&#34; href=&#34;#race-condition-when-everyone-acts-without-coordination&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;Imagine two chefs cooking the same dish, each adding salt without telling the other. The result? An inedible meal. Nobody wins.&lt;/p&gt;
&lt;p&gt;In code, this happens when multiple threads/processes access shared data simultaneously, and the final result depends on the unpredictable timing/order of execution. The outcome is unpredictable chaos.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2025/12/the-art-of-balance-what-concurrency-taught-me-about-life/feature.jpg" />
    </item>
    
    <item>
      <title>Kafka Deep Dive For System Design Interviews</title>
      <link>http://localhost:63790/2025/10/kafka-deep-dive-for-system-design-interviews/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2025/10/kafka-deep-dive-for-system-design-interviews/</guid>
      <description>&lt;p&gt;In this deep dive, we’re going to peel back the layers of Kafka and understand it from every angle—what it is, why teams reach for it, when it’s the right tool for the job, and how it actually works under the hood. We’ll take a question-and-answer approach so the concepts click faster and stay with you longer. Think of it as both a guided tour of Kafka and a quick reference you can revisit before your next interview.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2025/10/kafka-deep-dive-for-system-design-interviews/feature.jpg" />
    </item>
    
    <item>
      <title>Configure Jackson Object Mapper to Avoid Exception during Serializing a Lazy Loaded Hibernate Entity</title>
      <link>http://localhost:63790/2023/09/configure-jackson-object-mapper-to-avoid-exception-during-serializing-a-lazy-loaded-hibernate-entity/</link>
      <pubDate>Sat, 23 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2023/09/configure-jackson-object-mapper-to-avoid-exception-during-serializing-a-lazy-loaded-hibernate-entity/</guid>
      <description>&lt;p&gt;Ah, the timeless classic in the world of software engineering – the production issue that decides to make its grand entrance on a Friday night. :police_car_light:
One such incident happened last week. Turns out, the bug was in one of the features that I recently worked on.&lt;/p&gt;
&lt;p&gt;We are passing an entity to the Jackson&amp;rsquo;s Object Mapper to serialize it and return it as a JSON. The entity has some fields which are configured to lazy-load by Hibernate. Now, while serializing the entity we faced an unexpected behaviour. This was the bug that was breaking my API in production. However, I was a bit lucky here that this issue was confined to a particular scenario only. :face_with_tongue:&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2023/09/configure-jackson-object-mapper-to-avoid-exception-during-serializing-a-lazy-loaded-hibernate-entity/feature.jpg" />
    </item>
    
    <item>
      <title>Dynamic Quartz Job Scheduling in Spring Boot</title>
      <link>http://localhost:63790/2023/04/dynamic-quartz-job-scheduling-in-spring-boot/</link>
      <pubDate>Sat, 01 Apr 2023 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2023/04/dynamic-quartz-job-scheduling-in-spring-boot/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.quartz-scheduler.org/&#34; target=&#34;_blank&#34;&gt;Quartz&lt;/a&gt; is a feature-rich open-source Java library used to schedule jobs. The core components of this library are &lt;code&gt;Job&lt;/code&gt;, &lt;code&gt;JobDetail&lt;/code&gt;, &lt;code&gt;Trigger&lt;/code&gt;, and &lt;code&gt;Scheduler&lt;/code&gt;. The &lt;code&gt;JobDetail&lt;/code&gt; is where the job definition lies. The &lt;code&gt;Trigger&lt;/code&gt; contains the instructions about when the job should get executed and &lt;code&gt;Scheduler&lt;/code&gt; who runs the &lt;code&gt;Job&lt;/code&gt;.&lt;/p&gt;


&lt;h3 class=&#34;relative group&#34;&gt;Spring Boot Maven Dependency for Quartz library 
    &lt;div id=&#34;spring-boot-maven-dependency-for-quartz-library&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34;
            style=&#34;text-decoration-line: none !important;&#34; href=&#34;#spring-boot-maven-dependency-for-quartz-library&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.springframework.boot&lt;span class=&#34;nt&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;spring-boot-starter-quartz&lt;span class=&#34;nt&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3 class=&#34;relative group&#34;&gt;The Core Components 
    &lt;div id=&#34;the-core-components&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34;
            style=&#34;text-decoration-line: none !important;&#34; href=&#34;#the-core-components&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Job&lt;/strong&gt;: We create our own jobs by extending the &lt;code&gt;QuartzJobBean&lt;/code&gt; class that implements &lt;code&gt;Job&lt;/code&gt; interface. This interface has one method &lt;code&gt;execute(JobExecutionContext context)&lt;/code&gt;, which is overriden by the &lt;code&gt;QuartzJobBean&lt;/code&gt;. This is where the scheduled task runs and the information on the &lt;code&gt;JobDetail&lt;/code&gt; and &lt;code&gt;Trigger&lt;/code&gt; is retrieved using the &lt;code&gt;JobExecutionContext&lt;/code&gt;. The &lt;code&gt;QuartzJobBean&lt;/code&gt; also gives us an abstract method &lt;code&gt;executeInternal(JobExecutionContext context)&lt;/code&gt;. Your &lt;code&gt;Job&lt;/code&gt; class needs to override the &lt;code&gt;executeInternal(...)&lt;/code&gt; method and should contain the code you want to get processed when the job gets executed.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;public&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;MyJob&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;extends&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;QuartzJobBean&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nd&#34;&gt;@Override&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;protected&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;void&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;executeInternal&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nd&#34;&gt;@NonNull&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;JobExecutionContext&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;context&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;&lt;strong&gt;JobDetail&lt;/strong&gt;: Defining the Job.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;JobDetail&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;jobDetail&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;JobBuilder&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;newJob&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MyJob&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;              &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;withIdentity&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;jobName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;              &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;storeDurably&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;              &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;requestRecovery&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;              &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;usingJobData&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;jobDataMap&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;              &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;&lt;strong&gt;Trigger&lt;/strong&gt;: Defining the schedule upon which the job will be executed.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Trigger&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;jobTrigger&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;TriggerBuilder&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;newTrigger&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;              &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;forJob&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;jobDetail&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;              &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;startAt&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;scheduledAt&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;              &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;withIdentity&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;triggerName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;              &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;&lt;strong&gt;Scheduler&lt;/strong&gt;: This is the main API for interacting with the Quartz Scheduler. We can get an instance of the &lt;code&gt;Scheduler&lt;/code&gt; from the &lt;code&gt;SchedulerFactoryBean&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;public&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;MyJob&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;extends&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;QuartzJobBean&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nd&#34;&gt;@Autowired&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SchedulerFactoryBean&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;schedulerFactoryBean&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;public&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;void&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;start&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(...)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Scheduler&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;timer&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;schedulerFactoryBean&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getScheduler&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;timer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;start&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;timer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;scheduleJob&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;jobDetail&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;jobTrigger&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3 class=&#34;relative group&#34;&gt;Job Persistence 
    &lt;div id=&#34;job-persistence&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34;
            style=&#34;text-decoration-line: none !important;&#34; href=&#34;#job-persistence&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h3&gt;
&lt;p&gt;Quartz gives us &lt;code&gt;JobStore&lt;/code&gt; for storing all the &lt;code&gt;Job&lt;/code&gt;, &lt;code&gt;Trigger&lt;/code&gt; and &lt;code&gt;Scheduler&lt;/code&gt; related data.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2023/04/dynamic-quartz-job-scheduling-in-spring-boot/feature.jpg" />
    </item>
    
    <item>
      <title>Custom Logger Configuration for Feign Clients</title>
      <link>http://localhost:63790/2023/03/custom-logger-configuration-for-feign-clients/</link>
      <pubDate>Sun, 26 Mar 2023 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2023/03/custom-logger-configuration-for-feign-clients/</guid>
      <description>Feign Client allows you to abstract the mechanics of calling a REST service. You need to configure and annotate the Feign Client interface to call a RESTful web service by making a simple Java method call.</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2023/03/custom-logger-configuration-for-feign-clients/feature.jpg" />
    </item>
    
    <item>
      <title>How to Export a Remote PostgreSQL Database and Import it locally?</title>
      <link>http://localhost:63790/2022/12/how-to-export-remote-postgresql-database-and-import-it-locally/</link>
      <pubDate>Wed, 21 Dec 2022 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2022/12/how-to-export-remote-postgresql-database-and-import-it-locally/</guid>
      <description>&lt;ol&gt;
&lt;li&gt;Create a dump of the remote database using pg_dump command&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pg_dump --host&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;remote_host_name --port&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;remote_port_number --username&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;remote_database_user_name --dbname&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;database_name &amp;gt; db_export.sql
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You will get a dump SQL file of the remote database upon successful completion of this process.&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;Create a database on your local setup with the same name as the remote database.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;psql --username&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;local_database_user_name -c &lt;span class=&#34;err&#34;&gt;&amp;#39;&lt;/span&gt;create database database_name&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;’
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The database has now been created on your local machine.&lt;/p&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;Import the data to your local database.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;psql --username&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;local_database_user_name database_name &amp;lt; db_export.sql
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And, done!&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2022/12/how-to-export-remote-postgresql-database-and-import-it-locally/feature.jpg" />
    </item>
    
    <item>
      <title>How to Embed Code from any GitHub Repository (Not GitHub Gists) in WordPress?</title>
      <link>http://localhost:63790/2022/03/how-to-embed-code-from-any-github-repository-not-github-gists-in-wordpress/</link>
      <pubDate>Tue, 01 Mar 2022 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2022/03/how-to-embed-code-from-any-github-repository-not-github-gists-in-wordpress/</guid>
      <description>&lt;p&gt;GitHub Gists is a popular platform that offers us to save snippets of code and share them via a link as well as embed them in a webpage. But what if we want to embed code directly from a GitHub repository?&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve written a script to embed code from a GitHub repository easily in your webpage. I have used the &lt;a href=&#34;https://prismjs.com/&#34; target=&#34;_blank&#34;&gt;Prism&lt;/a&gt; library for syntax highlighting.&lt;/p&gt;


&lt;h2 class=&#34;relative group&#34;&gt;The Script 
    &lt;div id=&#34;the-script&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34;
            style=&#34;text-decoration-line: none !important;&#34; href=&#34;#the-script&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pre&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;embed-github-pre&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;code&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;language-cpp line-numbers&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;embed-github-code&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;code&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pre&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;gitHubLink&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://raw.githubusercontent.com/thecoducer/Competitive-Coding/master/LeetCode/two-sum-2.cpp&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;getCodeAsRawTextFromGithub&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;then&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;preProcessedData&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;preProcessData&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nb&#34;&gt;document&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getElementById&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;embed-github-code&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;innerHTML&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;preProcessedData&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nx&#34;&gt;loadScripts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;https://cdn.jsdelivr.net/gh/thecoducer/anything/prism.js&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;async&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getCodeAsRawTextFromGithub&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;response&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;fetch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;gitHubLink&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;rawText&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;response&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;rawText&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;preProcessData&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;replaceAll&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;amp;lt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;replaceAll&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;loadScripts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;scripts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;scripts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;length&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;insertAScriptTagInsideTheHeadTag&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;scripts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;insertAScriptTagInsideTheHeadTag&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;src&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;scriptTag&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;document&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;createElement&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;script&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nx&#34;&gt;scriptTag&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nx&#34;&gt;scriptTag&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;async&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nx&#34;&gt;scriptTag&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;src&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;src&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;headTag&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;document&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getElementsByTagName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;head&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nx&#34;&gt;headTag&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;appendChild&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;scriptTag&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2 class=&#34;relative group&#34;&gt;How it works? 
    &lt;div id=&#34;how-it-works&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34;
            style=&#34;text-decoration-line: none !important;&#34; href=&#34;#how-it-works&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;The value of &lt;code&gt;gitHubLink&lt;/code&gt; should be the raw URL of the code file on GitHub that you want to embed.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2022/03/how-to-embed-code-from-any-github-repository-not-github-gists-in-wordpress/feature.jpg" />
    </item>
    
    <item>
      <title>Performance Optimization using Pivot Tables Technique in MySQL</title>
      <link>http://localhost:63790/2022/02/performance-optimization-using-pivot-tables-technique-in-mysql/</link>
      <pubDate>Thu, 17 Feb 2022 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2022/02/performance-optimization-using-pivot-tables-technique-in-mysql/</guid>
      <description>&lt;p&gt;Making a database call is an expensive operation. It involves opening a connection to the database, and the SQL query passed through this connection to the database is parsed, optimized, and then finally executed.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&#34;tc-img-wide&#34;&gt;&lt;img
          srcset=&#34;http://localhost:63790/2022/02/performance-optimization-using-pivot-tables-technique-in-mysql/images/db-query_hu_759eb99d6b123b93.webp 330w, http://localhost:63790/2022/02/performance-optimization-using-pivot-tables-technique-in-mysql/images/db-query_hu_43b618affd894cbd.webp 660w, http://localhost:63790/2022/02/performance-optimization-using-pivot-tables-technique-in-mysql/images/db-query_hu_c532adda5dd0b532.webp 1024w&#34;
          src=&#34;http://localhost:63790/2022/02/performance-optimization-using-pivot-tables-technique-in-mysql/images/db-query_hu_43b618affd894cbd.webp&#34;
          sizes=&#34;(max-width: 768px) 100vw, 80vw&#34;
          alt=&#34;database query processing&#34;
          width=&#34;660&#34;
          height=&#34;446&#34;
          loading=&#34;lazy&#34;
          decoding=&#34;async&#34;&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The process of opening a new connection to the database takes a significant amount of time and space. If we keep on opening new connections every time for each new request to our application, it would take a lot of time to send the response back and would also exceed our memory resources. To solve this problem, we use some connection pooling mechanisms to open/close, reuse and maintain connections to the database. Spring Boot by default uses &lt;a href=&#34;https://www.baeldung.com/hikaricp&#34; target=&#34;_blank&#34;&gt;HikariCP&lt;/a&gt;, which is a connection pooling tool. This means that the web application doesn’t have to face any delay in serving response due to managing database connections.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2022/02/performance-optimization-using-pivot-tables-technique-in-mysql/feature.jpg" />
    </item>
    
    <item>
      <title>Clean Code: Write Methods with No Side-effects</title>
      <link>http://localhost:63790/2022/02/clean-code-write-methods-with-no-side-effects/</link>
      <pubDate>Sat, 12 Feb 2022 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2022/02/clean-code-write-methods-with-no-side-effects/</guid>
      <description>I was listening to Uncle Bob Martin&amp;rsquo;s lecture on YouTube last night. His No &amp;lsquo;side-effects&amp;rsquo; advice hit me and made me realize that I was doing something in my code that I shouldn&amp;rsquo;t be doing it that way.</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2022/02/clean-code-write-methods-with-no-side-effects/feature.jpg" />
    </item>
    
    <item>
      <title>Get Remote Server Logs of Your Spring Boot Application via REST API</title>
      <link>http://localhost:63790/2022/01/get-remote-server-logs-spring-boot-application-via-rest-api/</link>
      <pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2022/01/get-remote-server-logs-spring-boot-application-via-rest-api/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m currently working on a microservices-based Spring Boot application, where I&amp;rsquo;m using &lt;a href=&#34;https://www.baeldung.com/logback&#34; target=&#34;_blank&#34;&gt;Logback&lt;/a&gt; as my logging framework. The application is now running live on a remote server. Since I don&amp;rsquo;t have access to the server, I don&amp;rsquo;t get to see the logs when I want to see them or when there is some error. I have to ask someone from the sysadmin team to send me the log file every time and wait for their response. This kind of human dependency eats up a decent amount of time in any software development lifecycle. I try to avoid such dependencies and seek to circumvent them. So, I have written a simple snippet of code that can read the log file from the server filesystem and send it back to me in an API response.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2022/01/get-remote-server-logs-spring-boot-application-via-rest-api/feature.jpg" />
    </item>
    
    <item>
      <title>When to Use Enums Instead of If-else or Switch Statements to Make the Code Cleaner?</title>
      <link>http://localhost:63790/2022/01/when-to-use-enums-instead-of-if-else-or-switch-statements-to-make-code-cleaner/</link>
      <pubDate>Sun, 23 Jan 2022 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2022/01/when-to-use-enums-instead-of-if-else-or-switch-statements-to-make-code-cleaner/</guid>
      <description>We usually use if-else or switch statements to write our logical conditions in our code. There is nothing to worry about as long as your list of logical conditions is short.</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2022/01/when-to-use-enums-instead-of-if-else-or-switch-statements-to-make-code-cleaner/feature.jpg" />
    </item>
    
    <item>
      <title>My #LearnbyDoing Journey with Crio.Do</title>
      <link>http://localhost:63790/2021/01/my-learnbydoing-journey-with-crio-do-cwod-2021/</link>
      <pubDate>Fri, 15 Jan 2021 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2021/01/my-learnbydoing-journey-with-crio-do-cwod-2021/</guid>
      <description>I have now spent a week learning by doing with Crio.Do. It has been a wonderful week diving deep into software development essential areas like HTTP, REST APIs, Linux, AWS Cloud, and Git.</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2021/01/my-learnbydoing-journey-with-crio-do-cwod-2021/feature.jpg" />
    </item>
    
    <item>
      <title>My Interview Experience with Persistent Systems</title>
      <link>http://localhost:63790/2020/12/my-interview-experience-with-persistent-systems/</link>
      <pubDate>Wed, 16 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2020/12/my-interview-experience-with-persistent-systems/</guid>
      <description>&lt;p&gt;I had applied at &lt;a href=&#34;https://www.persistent.com/&#34; target=&#34;_blank&#34;&gt;Persistent Systems&lt;/a&gt; through the AMCAT portal on 12th November 2020. It was a virtual off-campus hiring process. I had to go through an online test followed by two technical rounds and an HR round.&lt;/p&gt;


&lt;h2 class=&#34;relative group&#34;&gt;Online Test 
    &lt;div id=&#34;online-test&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34;
            style=&#34;text-decoration-line: none !important;&#34; href=&#34;#online-test&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;It was held on 19th November 2020. There were various questions divided into different sections like Computer Science fundamentals, English, Logical Aptitude, and Coding. The quality of the questions was good enough. The coding section consisted of two questions. One was a simple question on arrays. I wrote the solution in a minute and it passed all the test cases. The second question required to implement the KMP algorithm. I had to count the occurrences of a substring in a given string. My solution passed all the test cases.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2020/12/my-interview-experience-with-persistent-systems/feature.jpg" />
    </item>
    
    <item>
      <title>Made a diary app with Django</title>
      <link>http://localhost:63790/2019/09/made-diary-app-with-django/</link>
      <pubDate>Tue, 10 Sep 2019 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2019/09/made-diary-app-with-django/</guid>
      <description>&lt;p&gt;&lt;figure class=&#34;tc-img-wide&#34;&gt;&lt;img
          srcset=&#34;http://localhost:63790/2019/09/made-diary-app-with-django/images/Webp.net-compress-image-9-1024x505_hu_4a2e7cd187cb9872.webp 330w, http://localhost:63790/2019/09/made-diary-app-with-django/images/Webp.net-compress-image-9-1024x505_hu_b8200f732ac70ca7.webp 660w, http://localhost:63790/2019/09/made-diary-app-with-django/images/Webp.net-compress-image-9-1024x505_hu_14fcfc0592ed2a72.webp 1024w&#34;
          src=&#34;http://localhost:63790/2019/09/made-diary-app-with-django/images/Webp.net-compress-image-9-1024x505_hu_b8200f732ac70ca7.webp&#34;
          sizes=&#34;(max-width: 768px) 100vw, 80vw&#34;
          alt=&#34;diary-app-django-mayukh-datta&#34;
          width=&#34;660&#34;
          height=&#34;325&#34;
          loading=&#34;lazy&#34;
          decoding=&#34;async&#34;&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Django is a Python-based web framework. Most of the files that you will edit or create in your Django project will be Python files and even the settings file. Django extensively uses Python data structures like dictionaries, lists, and tuples. It has the Model View Template architecture and many cool features and built-in functionalities that can make your job of building a web app really easy.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2019/09/made-diary-app-with-django/feature.jpg" />
    </item>
    
    <item>
      <title>How popular is divide and conquer?</title>
      <link>http://localhost:63790/2019/01/how-popular-is-divide-and-conquer/</link>
      <pubDate>Sat, 05 Jan 2019 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2019/01/how-popular-is-divide-and-conquer/</guid>
      <description>&lt;p&gt;Divide and conquer strategy is as popular as the Taj Mahal is in India. It&amp;rsquo;s a very powerful strategy and is extensively used by elite people and political leaders to control masses in such a way that the common people don&amp;rsquo;t unite and rebel against them. It is also known as divide and rule.&lt;/p&gt;
&lt;p&gt;Remember, how the British were turfed out of India. If we look at it simply, it was possible only because people then coalesced into a large group with a common goal to drive the British out of India and set the nation free. The strategy that people implemented to unite was the opposite of the divide and rule strategy that British people have always used. The British presumed that if the mass of the population gets united, it would pose a problem for them. Therefore, they divided people which led them to conquer their problems. It kept people busy fighting among themselves and focus on the real enemy got diverted.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2019/01/how-popular-is-divide-and-conquer/feature.jpg" />
    </item>
    
    <item>
      <title>Dabbling with structures and unions</title>
      <link>http://localhost:63790/2018/10/dabbling-with-structures-and-unions/</link>
      <pubDate>Fri, 05 Oct 2018 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2018/10/dabbling-with-structures-and-unions/</guid>
      <description>&lt;p&gt;There is a lot more to structures and unions. I&amp;rsquo;ll go through what I&amp;rsquo;ve learned about them here. I&amp;rsquo;m assuming that you&amp;rsquo;re not a beginner in C language.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&#34;tc-img-wide&#34;&gt;&lt;img
          srcset=&#34;http://localhost:63790/2018/10/dabbling-with-structures-and-unions/images/c_language_hu_f4b3c357114b028c.webp 330w, http://localhost:63790/2018/10/dabbling-with-structures-and-unions/images/c_language_hu_3c15538e9213d7e8.webp 660w, http://localhost:63790/2018/10/dabbling-with-structures-and-unions/images/c_language_hu_7951168ab092a473.webp 1024w&#34;
          src=&#34;http://localhost:63790/2018/10/dabbling-with-structures-and-unions/images/c_language_hu_3c15538e9213d7e8.webp&#34;
          sizes=&#34;(max-width: 768px) 100vw, 80vw&#34;
          alt=&#34;&#34;
          width=&#34;660&#34;
          height=&#34;441&#34;
          loading=&#34;lazy&#34;
          decoding=&#34;async&#34;&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;To store or manipulate data in the computer&amp;rsquo;s memory we need to write a computer program that&amp;rsquo;ll instruct the compiler or the interpreter to allocate space for the data in the memory. We give a name to that location in the memory to make retrieval and usage of data easy. That&amp;rsquo;s what we call a variable. Variable is the named location in the memory where we have stored some data. The data can be an integer number, floating-point number, character, or boolean. &lt;em&gt;Data types&lt;/em&gt; classify what type of data the programmer intends to use.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2018/10/dabbling-with-structures-and-unions/feature.jpg" />
    </item>
    
    <item>
      <title>Queues</title>
      <link>http://localhost:63790/2017/09/queues-data-structure/</link>
      <pubDate>Mon, 11 Sep 2017 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2017/09/queues-data-structure/</guid>
      <description>&lt;p&gt;Queue is a &lt;a href=&#34;http://www.thecoducer.com/2017/08/inside-data-structures-and-algorithms-explained-easily.html&#34; target=&#34;_blank&#34;&gt;linear data structure&lt;/a&gt; like &lt;a href=&#34;http://www.thecoducer.com/2017/08/stacks-data-structure.html&#34; target=&#34;_blank&#34;&gt;stack&lt;/a&gt; and &lt;a href=&#34;http://www.thecoducer.com/2017/08/linked-lists.html&#34; target=&#34;_blank&#34;&gt;linked list&lt;/a&gt;. It follows FIFO (First-in, First-out) or LILO (Last-in, Last-out) policy. It has two main operations - &lt;strong&gt;&lt;em&gt;enqueue&lt;/em&gt;&lt;/strong&gt; (insert element; can only be inserted at the rear of a queue) and &lt;strong&gt;&lt;em&gt;dequeue&lt;/em&gt;&lt;/strong&gt; (remove element; can only be removed from the front of a queue).&lt;/p&gt;
&lt;p&gt;&lt;figure class=&#34;tc-img-wide&#34;&gt;&lt;img
          srcset=&#34;http://localhost:63790/2017/09/queues-data-structure/images/queue_hu_256b98f40e729096.webp 330w, http://localhost:63790/2017/09/queues-data-structure/images/queue_hu_1cce919ea3e4119a.webp 660w, http://localhost:63790/2017/09/queues-data-structure/images/queue_hu_660d6874b9b874b1.webp 1024w&#34;
          src=&#34;http://localhost:63790/2017/09/queues-data-structure/images/queue_hu_1cce919ea3e4119a.webp&#34;
          sizes=&#34;(max-width: 768px) 100vw, 80vw&#34;
          alt=&#34;&#34;
          width=&#34;660&#34;
          height=&#34;371&#34;
          loading=&#34;lazy&#34;
          decoding=&#34;async&#34;&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I have four USB storage devices each containing some data that I need to copy to hard drive. As an USB port can read data from a single device at a time, so I have organized them in a queue such that each device is served one after the other. Now as queue basically follows &amp;ldquo;First Come, First Serve&amp;rdquo; rule, therefore the device with index 0 being the first device to be placed in the queue must be served first and the last placed device with index 3 must be served at the last. This is how queue follows FIFO policy.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2017/09/queues-data-structure/feature.jpg" />
    </item>
    
    <item>
      <title>Linked Lists</title>
      <link>http://localhost:63790/2017/08/linked-lists/</link>
      <pubDate>Wed, 30 Aug 2017 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2017/08/linked-lists/</guid>
      <description>&lt;p&gt;Linked List is a &lt;a href=&#34;http://www.thecoducer.com/2017/08/inside-data-structures-and-algorithms-explained-easily.html&#34; target=&#34;_blank&#34;&gt;linear data structure&lt;/a&gt; like &lt;a href=&#34;http://www.thecoducer.com/2017/08/stacks-data-structure.html&#34; target=&#34;_blank&#34;&gt;stack&lt;/a&gt; and array. Unlike arrays, linked list elements are not stored at contiguous locations in memory. Each element (say a node) in a linked list has two parts - one is the data part that stores the input data and the other is the next part which is basically a pointer variable that stores the memory address of the next element. All the elements in a linked list are linked using pointers. An individual without the working knowledge of pointers and memory allocation in &lt;a href=&#34;https://en.wikipedia.org/wiki/C_%28programming_language%29&#34; target=&#34;_blank&#34;&gt;C&lt;/a&gt; must not begin learning linked lists.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2017/08/linked-lists/feature.jpg" />
    </item>
    
    <item>
      <title>Stacks</title>
      <link>http://localhost:63790/2017/08/stacks-data-structure/</link>
      <pubDate>Mon, 28 Aug 2017 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2017/08/stacks-data-structure/</guid>
      <description>&lt;p&gt;Stack is a &lt;a href=&#34;http://www.thecoducer.com/2017/08/inside-data-structures-and-algorithms-explained-easily.html&#34; target=&#34;_blank&#34;&gt;linear data structure&lt;/a&gt;. It follows LIFO (Last-in, First-out) policy. It has two main operations - &lt;em&gt;&lt;strong&gt;push&lt;/strong&gt;&lt;/em&gt; (insert element onto stack) and &lt;em&gt;&lt;strong&gt;pop&lt;/strong&gt;&lt;/em&gt; (delete element from stack). Stack has two exceptions - &lt;em&gt;underflows&lt;/em&gt; (if we attempt to pop an empty stack) and &lt;em&gt;overflows&lt;/em&gt; (trying to push an element on a full stack).&lt;/p&gt;
&lt;p&gt;&lt;figure class=&#34;tc-img-wide&#34;&gt;&lt;img
          srcset=&#34;http://localhost:63790/2017/08/stacks-data-structure/images/IMG_20170809_140437_195_hu_e0f11184affda61.webp 330w, http://localhost:63790/2017/08/stacks-data-structure/images/IMG_20170809_140437_195_hu_4c5f0daf42fcf951.webp 660w, http://localhost:63790/2017/08/stacks-data-structure/images/IMG_20170809_140437_195_hu_99e5ac50db644959.webp 1024w&#34;
          src=&#34;http://localhost:63790/2017/08/stacks-data-structure/images/IMG_20170809_140437_195_hu_4c5f0daf42fcf951.webp&#34;
          sizes=&#34;(max-width: 768px) 100vw, 80vw&#34;
          alt=&#34;&#34;
          width=&#34;660&#34;
          height=&#34;1173&#34;
          loading=&#34;lazy&#34;
          decoding=&#34;async&#34;&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The concept of data structures have been taken from the real world. So, let&amp;rsquo;s dive into an instance from the physical world: the picture shows a stack of books. There are n (n is 6) books (elements) in total. Let&amp;rsquo;s index the books with numbers starting from 0 to n-1. The first book placed on the table is &amp;ldquo;Rain in the Mountains&amp;rdquo; whose index is 0 and the latest book placed is &amp;ldquo;The Da Vinci Code&amp;rdquo; with index 5. Now, if we remove the last placed book (executing &lt;em&gt;pop&lt;/em&gt;) then the topmost element becomes the book with index 4. Now, if we place the previously removed book (executing &lt;em&gt;push&lt;/em&gt;) on top of the stack then the topmost element will have index 5. This is how it follows LIFO policy, every time the last inserted element gets removed first from the stack. We cannot remove or insert a book from otherwise positions, doing so would break the rule of sequential access.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2017/08/stacks-data-structure/feature.jpg" />
    </item>
    
    <item>
      <title>Digging into Data Structures and Algorithms</title>
      <link>http://localhost:63790/2017/08/inside-data-structures-and-algorithms-explained-easily/</link>
      <pubDate>Sat, 26 Aug 2017 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2017/08/inside-data-structures-and-algorithms-explained-easily/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m a sophomore now and have data structures and algorithms courses this semester. I&amp;rsquo;ll try to explain to you what they mean. I want to stress that you need to learn them by heart to be a better programmer.&lt;/p&gt;
&lt;p&gt;We work with data everywhere in computer science from processor to RAM and from the operating system to the cloud database. We manipulate and process them to yield the desired results, so it becomes a crucial task to handle data efficiently. Ever since the computing era has begun, human minds have shown eagerness to develop better and efficient techniques of working with data which is only because to reduce time consumption in yielding results and also to save storage space.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2017/08/inside-data-structures-and-algorithms-explained-easily/feature.jpg" />
    </item>
    
    <item>
      <title>How to dual-boot Kali Linux and Windows 10 in a UEFI System</title>
      <link>http://localhost:63790/2017/08/kali-linux-installed-sucessfully-but-grub-bootloader-is-not-coming/</link>
      <pubDate>Wed, 09 Aug 2017 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2017/08/kali-linux-installed-sucessfully-but-grub-bootloader-is-not-coming/</guid>
      <description>&lt;p&gt;Many of us are not familiar with the term UEFI, even I have heard the term and came to know about it yesterday when I was stuck solving a problem. It was last night at around 2 am, I figured out the problem, and one from many of the solutions I mapped to try, worked!&lt;/p&gt;
&lt;p&gt;My laptop came pre-installed with Windows 10. I decided to install Kali Linux and wanted it to dual-boot with Windows 10. I installed it and rebooted my system, but the grub_bootloader failed to turn up. Tried out many different techniques and solutions but nothing worked. At last, this below-mentioned way dropped me to my destination successfully.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2017/08/kali-linux-installed-sucessfully-but-grub-bootloader-is-not-coming/feature.jpg" />
    </item>
    
    <item>
      <title>Cybercrime in a post</title>
      <link>http://localhost:63790/2017/07/cybercrime-in-a-post-everything-about-cybercrime/</link>
      <pubDate>Fri, 28 Jul 2017 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:63790/2017/07/cybercrime-in-a-post-everything-about-cybercrime/</guid>
      <description>&lt;p&gt;We dwell in a rapidly growing connected world, from the banking sector to government infrastructure, from the data center to your home’s computer. Protecting these networks is no longer optional. Technology is evolving daily with a high increment rate. While it brings huge benefits, it can also be an evil tool to cause havoc.&lt;/p&gt;
&lt;p&gt;In today’s world, half of the globe’s population use the internet; browsing websites, communicating with people online, buying stuff from e-commerce websites, backing up valuable data to cloud server storage, carrying out money transactions, operating businesses and many more. One negative aspect of leading a digital life is becoming a victim of cyber-crime, cyber-attacks taking place daily in this “webbed” world. We all face cyber attacks, directly or indirectly, but most of the time we remain in denial. Companies, governments, and IT security firms recruit cybersecurity experts, better known as white-hat hackers, to fight against devastation-causing cyber attacks and protect a commercial organization, a nation, or any other domain that constitutes a node in a network.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://localhost:63790/2017/07/cybercrime-in-a-post-everything-about-cybercrime/feature.jpg" />
    </item>
    
  </channel>
</rss>
