<?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: Shorla</title>
    <description>The latest articles on DEV Community by Shorla (@shorla).</description>
    <link>https://dev.to/shorla</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%2F739227%2F74b8cc11-4884-4b21-be13-aad4b739db37.jpg</url>
      <title>DEV Community: Shorla</title>
      <link>https://dev.to/shorla</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shorla"/>
    <language>en</language>
    <item>
      <title>Getting Started with Appwrite on Your App: A Simple Step-by-Step Guide</title>
      <dc:creator>Shorla</dc:creator>
      <pubDate>Sat, 21 Oct 2023 23:12:48 +0000</pubDate>
      <link>https://dev.to/shorla/getting-started-with-appwrite-on-your-app-a-simple-step-by-step-guide-1cfd</link>
      <guid>https://dev.to/shorla/getting-started-with-appwrite-on-your-app-a-simple-step-by-step-guide-1cfd</guid>
      <description>&lt;p&gt;Creating modern web and mobile apps frequently means linking to a server that handles things like user log in, data storage, and other important functions. Appwrite is a fantastic tool that makes this process simpler. In this guide, we'll take you through the steps of setting up the Appwrite client on the part of your app that your users interact with.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Appwrite?
&lt;/h2&gt;

&lt;p&gt;Appwrite is an open-source backend server designed to streamline and simplify backend development. Appwrite is like a powerful toolkit for the behind-the-scenes part of building websites and apps. It's full of useful tools, like making sure people can log in, storing data, and handling files. Appwrite can work for small personal projects or big professional apps, so it's super flexible!&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Start Using the Appwrite Client?
&lt;/h2&gt;

&lt;p&gt;To make Appwrite work with your web or mobile app, you have to set up the Appwrite client on your app's part that people see and use. This client connects your app to the Appwrite server in the background, giving you access to things like user accounts, data, and file storage. Here are other benefits of using Appwrite:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Access to Backend Services: The client serves as a gateway to Appwrite's services, allowing your application to interact with the backend seamlessly. This is crucial for functionalities like user authentication, database operations, and file storage.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Authentication: Initializing the client is a prerequisite for user authentication, as it enables your application to establish secure connections with Appwrite's authentication services.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data Management: Whether you need to store user data, manage documents, or work with files, the client provides the necessary tools to interact with these services.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Security: The client handles secure communication with the Appwrite server, ensuring that data is transmitted and received safely.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, let's get into the step-by-step guide for initializing the Appwrite client on the client side of your application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Include the Appwrite SDK
&lt;/h2&gt;

&lt;p&gt;The first step is to include the Appwrite SDK in your project. You can do this in different ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using Script Tags: Include the SDK in your HTML file using script tags. Appwrite provides a hosted version of the SDK, which you can include in your project by adding the following script tag to your HTML file:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;script src="https://cdn.appwrite.io/javascript/latest/appwrite.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;npm Package: If you're using a package manager like npm, you can install the Appwrite SDK using the following command:
&lt;code&gt;npm install appwrite
&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Step 2: Initialize the Appwrite Client
&lt;/h2&gt;

&lt;p&gt;With the SDK included in your project, you can now initialize the Appwrite client in your application. Here's how you can do it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Create a new instance of the Appwrite client
const appwrite = new Appwrite();

// Set the Appwrite endpoint and project ID
appwrite
  .setEndpoint('YOUR_APPWRITE_ENDPOINT')
  .setProject('YOUR_APPWRITE_PROJECT_ID');

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Replace 'YOUR_APPWRITE_ENDPOINT' with the URL of your Appwrite backend server.&lt;/li&gt;
&lt;li&gt;Replace 'YOUR_APPWRITE_PROJECT_ID' with your Appwrite project ID.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 3: Use the Appwrite Client
&lt;/h2&gt;

&lt;p&gt;Once you've initialized the Appwrite client, you can start using it to access the various services offered by Appwrite. For example, you can interact with the authentication service to handle user registration, login, and account management. You can also use the database service to manage and retrieve data from your application's database.&lt;/p&gt;

&lt;p&gt;Here's a simple example of creating a new Appwrite account session:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const { createSession } = appwrite.account;

createSession('email', 'your@email.com', 'your_password')
  .then((response) =&amp;gt; {
    console.log('Session created:', response);
  })
  .catch((error) =&amp;gt; {
    console.error('Error creating session:', error);
  });

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In summary, setting up the Appwrite client is a crucial step when adding Appwrite's powerful features to your web or mobile app. It lets you use various services, makes user login easier, and ensures your app talks safely to the server.&lt;/p&gt;

&lt;p&gt;For more information on the Appwrite client, &lt;a href="https://appwrite.io/docs"&gt;check out the official guides&lt;/a&gt;and examples. With the Appwrite client ready to go, you're all set to create awesome, feature-packed apps that use a strong backend server.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Dockerize a Java Application</title>
      <dc:creator>Shorla</dc:creator>
      <pubDate>Mon, 27 Feb 2023 19:10:30 +0000</pubDate>
      <link>https://dev.to/shorla/how-to-dockerize-a-java-application-1dl0</link>
      <guid>https://dev.to/shorla/how-to-dockerize-a-java-application-1dl0</guid>
      <description>&lt;p&gt;Docker makes it easy to build, manage, and deploy containerized applications. Using Docker during a development process helps to deliver a consistent environment across all machines. While working with a team, it is recommended to use Docker for your applications. This helps the dev cycle not to lag.&lt;/p&gt;

&lt;p&gt;In this article, we are going to learn how to dockerize a Java application. However, the basic concepts apply to any technology you are using for your application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisite
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A conceptualized knowledge of &lt;a href="https://dev.to/shorla/how-to-dockerize-a-java-application-4hd1"&gt;Docker&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;An IDE &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A Terminal — Linux or IDE Terminal&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A source code&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Steps to dockerizing a Java application
&lt;/h2&gt;

&lt;h4&gt;
  
  
  Creating a Java application
&lt;/h4&gt;

&lt;p&gt;Let us create a simple “hello world” application in Java. We can do this by opening any IDE of our choice and creating a file named &lt;em&gt;helloWorld.java&lt;/em&gt;. Then, we will copy and paste the code below into the file.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;public class helloWorld{&lt;br&gt;
   public static void main(String[] args) {&lt;br&gt;
     System.out.println("Hello world!");&lt;br&gt;
   }&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;On the terminal, we will compile the code by running:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;javac HelloWorld.java&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Compiling the code creates a new file — “HelloWorld.class”. The “.class” file runs on the JVM to execute the application. To execute the application, we run: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;java helloWorld&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The terminal should print out the result &lt;em&gt;Hello world!&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Dockerizing the application
&lt;/h3&gt;

&lt;p&gt;We will take the application we built and run it in a Docker container. To do that, it is assumed we have Docker installed on our computer. If not, we can do that &lt;a href="https://docs.docker.com/get-docker/"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Once Docker is installed and started, the next step is to build a docker image for our application. We need a Dockerfile to build a docker image. To create the Dockerfile, we start by creating a new file and naming it &lt;em&gt;Dockerfile&lt;/em&gt;. This file will include instructions on how to build the image for our application. The order of the command is important as each command will be executed consecutively.&lt;/p&gt;

&lt;p&gt;We can copy and paste the following code to our Dockerfile. To learn more about keywords in Dockerfile, visit &lt;a href="https://dev.to/shorla/how-to-dockerize-a-java-application-4hd1"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;# use the openjdk as the base image&lt;br&gt;
FROM openjdk&lt;br&gt;
 # create a new app directory&lt;br&gt;
RUN mkdir /app&lt;br&gt;
 # copy the app files from the host machine to the image filesystem&lt;br&gt;
ADD java /app&lt;br&gt;
 # set the directory for executing future files&lt;br&gt;
WORKDIR /app&lt;br&gt;
 # run the command for executing the application&lt;br&gt;
CMD java HelloWorld&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The “#” is used to write comments in Dockerfile. We can now build the image by running:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker build -t  hello-world:1.0 .&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The “-t” option helps to tag the image with a name for easy access. In the code above, the name or tag assigned to the image is “hello-world:1.0”. The “.” at the end of the code is to specify that the Dockerfile is in the current directory.&lt;/p&gt;

&lt;p&gt;if the error message below appears after running the code above, put &lt;em&gt;sudo&lt;/em&gt; before running each code.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock:&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Alternatively, we can add user to the Docker group. Instructions on how to do that can be found &lt;a href="https://docs.docker.com/engine/install/linux-postinstall/"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The next step is to instantiate our image and run our container. This can be done by running:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker run hello-world:1.0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The result 'Hello world!' should be printed on the terminal.&lt;/p&gt;

&lt;p&gt;To see the list of images available, we can run:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker image&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To see the list of Docker containers currently running, we can run:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker ps&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Note: The container we just prompted will not be on the list. This is because it will be terminated after running.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Following the steps listed above, dockerizing a Java application should be clearer. It is advised to try the steps out on other applications to become more familiar with them. &lt;/p&gt;

&lt;p&gt;I recommend reading this &lt;a href="https://spacelift.io/blog/docker-tutorial"&gt;article&lt;/a&gt; for more information on docker.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>devops</category>
      <category>java</category>
    </item>
    <item>
      <title>Docker: An Easy approach to understanding it</title>
      <dc:creator>Shorla</dc:creator>
      <pubDate>Sat, 25 Feb 2023 01:05:55 +0000</pubDate>
      <link>https://dev.to/shorla/how-to-dockerize-a-java-application-4hd1</link>
      <guid>https://dev.to/shorla/how-to-dockerize-a-java-application-4hd1</guid>
      <description>&lt;p&gt;According to IBM, Docker is an open-source platform that enables developers to build, deploy, run, update and manage containers—standardized, executable components that combine application source code with the operating system (OS) libraries and dependencies required to run that code in any environment. &lt;/p&gt;

&lt;p&gt;This might seem like a difficult concept to understand, especially if you are new to Docker or deploying apps. This tutorial is for absolute beginners.&lt;/p&gt;

&lt;p&gt;In this tutorial, you will learn about Docker and get it installed on your local machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Docker?
&lt;/h2&gt;

&lt;p&gt;In simpler words than the one stated above, Docker is a software or open-source platform that allows you to test, build or deploy applications. Docker helps to put applications in containers so they can run on either local or virtual machines or be deployed to the cloud. This process is referred to as containerization. &lt;/p&gt;

&lt;p&gt;Docker is designed to benefit developers and Devops. &lt;/p&gt;

&lt;h2&gt;
  
  
  What is a container?
&lt;/h2&gt;

&lt;p&gt;Containers are boxes that do not depend on any operating system. This means that it is portable, and can run anywhere. They are however dependent on docker images. They allow applications to be packaged together with their dependencies and deployed to the cloud as a single unit. &lt;br&gt;
Each Container is isolated from other containers. it runs its software, binaries and configurations.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Docker Image?
&lt;/h2&gt;

&lt;p&gt;One of the problems faced by programmers is captured in the phrase "but this application worked on my development machine". This very problem is what Docker image solves.&lt;/p&gt;

&lt;p&gt;Docker image is a read-only executable file that includes everything needed to run an application. These include the source code, dependencies and other files packaged with the application in question. Docker images are referred to as snapshots of a docker container at a specific point in time, because of their read-only quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Dockerfile?
&lt;/h2&gt;

&lt;p&gt;To create a Docker image, you need a Dockerfile. A Dockerfile contains a set of instructions that are used by Docker to create a Docker image.&lt;br&gt;
Dockerfile is text-based and has no extension.&lt;/p&gt;

&lt;h3&gt;
  
  
  Basic keywords in Dockerfile
&lt;/h3&gt;

&lt;p&gt;Several keywords are used in Dockerfile to create the set of instructions needed to create a Docker image. We will take a look at the main keywords to get started with Docker.&lt;/p&gt;

&lt;p&gt;An image is made up of layers, so think of each line of code in the Dockerfile as an instruction to build a layer of the image. In Docker, all keywords are typed in capital letters as you will see below.&lt;/p&gt;

&lt;p&gt;The basic keywords are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;FROM: The first instruction of the Dockerfile specifies the base layer which is FROM. The FROM keyword is used to specify the name of the base image. In Docker, there is a public repository for Docker images called &lt;a href="https://hub.docker.com/search?image_filter=official&amp;amp;q="&gt;DockerHub&lt;/a&gt;. You can pull the already existing base image from there. It is advised to pull only official images or images from a trusted source.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The FROM keyword is used with the base image tag beside it. when no version of the tag is specified, it pulls the latest version.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;FROM openjdk&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;RUN: The RUN keyword helps to run specific Linux commands in the docker file. For example, It can be used to create a directory. The directory created by the RUN keywords lives inside the container, not on the host machine.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;RUN mkdir directoryname&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;COPY: The COPY keyword command works the same way as cp in Linux. it is used to copy files from the host machine to the image file system.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The difference between the RUN and COPY keywords is that, RUN works within the container while COPY runs first from the host machine to the container.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;COPY /path/on/the/machine /path/to/the/container&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;WORKDIR: The WORKDIR keyword sets the directory where future commands will be executed.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;WORKDIR /path/to/directory&lt;/code&gt; &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;CMD: The CMD keyword specifies the command that will execute when you start a container from the image. You should use the CMD keyword with a command you will normally use to run an application. For example, to run a Java application, we use &lt;em&gt;java main&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;CMD java main&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Comment: The # sign is used to write comments in Dockerfile.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To build an image after writing the Dockerfile, we run:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker build&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;There are other keywords but these are the basics needed to get started with Dockerfile.&lt;/p&gt;

&lt;h2&gt;
  
  
  Installing Docker
&lt;/h2&gt;

&lt;p&gt;Docker can be installed on a mac, windows or Linux operating system machine. &lt;br&gt;
To install Docker on your local machine, click &lt;a href="https://docs.docker.com/get-docker/"&gt;here&lt;/a&gt; to the official Docker documentation. Choose your Operating system and follow the steps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this article, you learnt the basics of Docker, Docker image and Containers. If you followed the documentation, you have Docker setup on your machine now. &lt;/p&gt;

&lt;p&gt;You are closer to running your first application on Docker.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>devops</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Technical sophistication(2)-Psuedocode(1)</title>
      <dc:creator>Shorla</dc:creator>
      <pubDate>Thu, 17 Nov 2022 18:32:07 +0000</pubDate>
      <link>https://dev.to/shorla/technical-sophistication2-psuedocode1-1hpm</link>
      <guid>https://dev.to/shorla/technical-sophistication2-psuedocode1-1hpm</guid>
      <description>&lt;p&gt;In our journey to technical sophistication, let's talk about one of the most underestimated and under-utilized tool within the tech community-&lt;strong&gt;Pseudocode&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;What is pseudocode? How does it add to technical sophistication? What are its benefits? This article and the next sets to explain all that. Keep your tea in hand and read.&lt;/p&gt;

&lt;p&gt;FreeCodeCamp refers to pseudocode as 'fake code'. Here is the best way to explain what that means:&lt;br&gt;
Computer languauges are written by humans but require syntaxes and rules that must be strictly adhered to for a successful compilation. Humans do not naturally read in computer languages and often make mistakes in following this strict rules. Hence the thought; How can human-techies, write a program that is similar to computer language, flexible and easy to understand? Pseudocode came to save the day. Psuedocode cannot be understood by the computer though.&lt;/p&gt;

&lt;p&gt;In very formal terms, Psuedocode is a detailed yet readable description of what a computer program or algorithm must do, expressed in a formally-styled natural languauge rather than in a programming language.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rules for writing in pseudocode
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Capitalize the initial word.&lt;/li&gt;
&lt;li&gt;Make one statement per line.&lt;/li&gt;
&lt;li&gt;Indentation is very neccessary to show hierarchy.&lt;/li&gt;
&lt;li&gt;Keep it simple, short and readable.&lt;/li&gt;
&lt;li&gt;write in the naming format not in computer language format.&lt;/li&gt;
&lt;li&gt;End multiline structures using END keywords.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Steps to follow when solving a problem in pseudocode
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Understand the question: This is the most important part of the process, if the question is understood, half of the problem is solved and you are ready to take up the challenge.&lt;/li&gt;
&lt;li&gt;Break the problem down: Smaller tasks help to get the work done. The more smaller tasks you solve, the closer you are to the full solution.&lt;/li&gt;
&lt;li&gt;Understand what the function does: The work of a function is to accept data as input, work on it with steps and return output. The more functions you study, the easier it gets.&lt;/li&gt;
&lt;li&gt;Indicate what you need to solve the problem.&lt;/li&gt;
&lt;li&gt;Document the high-level solution: This is an excellent way to walk it out.&lt;/li&gt;
&lt;li&gt;Evaluate and indicate the outcome.&lt;/li&gt;
&lt;li&gt;Detail the step for executing the solution.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Congratulations! You are a step closer to being a sophisticated techie.&lt;/p&gt;

&lt;p&gt;In the next article, we will get our hands on real life examples and the benefits of Pseudocode with links to practice section. See you there!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Technical sophistication series(1) – Introduction</title>
      <dc:creator>Shorla</dc:creator>
      <pubDate>Tue, 06 Sep 2022 15:10:24 +0000</pubDate>
      <link>https://dev.to/shorla/technical-sophistication-series1-introduction-5cn0</link>
      <guid>https://dev.to/shorla/technical-sophistication-series1-introduction-5cn0</guid>
      <description>&lt;p&gt;How do Techies become sophisticated? You may wonder. This post isn't about glasses, big sweatshirts or loosely packed hair. Familiarity with hard skills, such as text editors and the Unix command line, isn't also what this post is about. It is more about the skills and attitude needed to be regarded as not just a techie, but a sophisticated one.&lt;/p&gt;

&lt;p&gt;These set of skills are referred to as soft skills. They make problem-solving easier and make your work faster, and are not always included in learning paths. You would wonder why such skills aren't taught easily? Well, soft skills and attitude are particularly difficult to teach.&lt;/p&gt;

&lt;p&gt;A best way to illustrate a technical sophistication skill is this flowchart from &lt;a href="https://xkcd.com/"&gt;xkcd&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SpGZecTw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ios6dchppxhx5elrb1u4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SpGZecTw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ios6dchppxhx5elrb1u4.png" alt="Image description" width="826" height="836"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this series, we will discuss as many of these skills as possible. One of which is &lt;strong&gt;debugging&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You are on your way to getting sophisticated! See you in the next article! &lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>beginners</category>
      <category>java</category>
      <category>codenewbie</category>
    </item>
  </channel>
</rss>
