<?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: Mani Kandan</title>
    <description>The latest articles on DEV Community by Mani Kandan (@mani_kandan_9afb5ff93ed71).</description>
    <link>https://dev.to/mani_kandan_9afb5ff93ed71</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3966615%2F339868f7-608b-4be2-a5cd-26fc16bfccd7.jpg</url>
      <title>DEV Community: Mani Kandan</title>
      <link>https://dev.to/mani_kandan_9afb5ff93ed71</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mani_kandan_9afb5ff93ed71"/>
    <language>en</language>
    <item>
      <title>Software Development Life Cycle</title>
      <dc:creator>Mani Kandan</dc:creator>
      <pubDate>Tue, 30 Jun 2026 13:24:29 +0000</pubDate>
      <link>https://dev.to/mani_kandan_9afb5ff93ed71/software-development-life-cycle-5dgp</link>
      <guid>https://dev.to/mani_kandan_9afb5ff93ed71/software-development-life-cycle-5dgp</guid>
      <description>&lt;p&gt;Software Development Life Cycle (SDLC)&lt;/p&gt;

&lt;p&gt;The Software Development Life Cycle (SDLC) is a structured process used to plan, design, develop, test, deploy, and maintain software. It helps teams build high-quality software efficiently while reducing costs and minimizing errors.&lt;/p&gt;

&lt;p&gt;Phases of SDLC&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Requirement Gathering and Analysis
Understand the client's needs and business goals.
Gather functional and non-functional requirements.
Prepare a Software Requirement Specification (SRS) document.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example: An online shopping website requires user registration, product search, cart, and payment features.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Planning
Estimate time, budget, and resources.
Identify risks and create a project schedule.
Decide the development approach (Agile, Waterfall, etc.).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Output: Project Plan&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;System Design
Design the software architecture and user interface.
Create database design, flowcharts, and system diagrams.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Output: Design Document&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Development (Coding)
Developers write the source code based on the design.
Different modules are developed and integrated.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Output: Working software&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Testing
Test the software to identify and fix defects.
Ensure all requirements are met.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Types of Testing:&lt;/p&gt;

&lt;p&gt;Unit Testing&lt;br&gt;
Integration Testing&lt;br&gt;
System Testing&lt;br&gt;
User Acceptance Testing (UAT)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Deployment
Release the software to users or customers.
Install it on production servers.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example: Publishing a website or mobile app.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Maintenance
Fix bugs found after release.
Add new features and improve performance.
Update the software based on user feedback.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Advantages of SDLC&lt;/p&gt;

&lt;p&gt;Produces high-quality software.&lt;br&gt;
Reduces development cost and time.&lt;br&gt;
Improves project management.&lt;br&gt;
Detects errors early.&lt;br&gt;
Ensures customer satisfaction.&lt;br&gt;
Provides clear documentation.&lt;/p&gt;

&lt;p&gt;Common SDLC Models&lt;br&gt;
Waterfall Model – Sequential approach where each phase is completed before the next begins.&lt;br&gt;
Agile Model – Iterative development with frequent customer feedback.&lt;br&gt;
Spiral Model – Focuses on risk analysis and repeated iterations.&lt;br&gt;
V-Model – Testing is planned alongside each development phase.&lt;br&gt;
Incremental Model – Software is developed and delivered in small increments.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Introducing Javascript</title>
      <dc:creator>Mani Kandan</dc:creator>
      <pubDate>Mon, 29 Jun 2026 12:45:13 +0000</pubDate>
      <link>https://dev.to/mani_kandan_9afb5ff93ed71/introducing-javascript-8j2</link>
      <guid>https://dev.to/mani_kandan_9afb5ff93ed71/introducing-javascript-8j2</guid>
      <description>&lt;p&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JavaScript is a high-level, interpreted programming language used to make web pages interactive and dynamic. It is one of the three core technologies of web development, alongside HTML and CSS.&lt;/p&gt;

&lt;p&gt;HTML provides the structure of a Webpage.&lt;br&gt;
CSS adds styling and layout.&lt;br&gt;
JavaScript adds functionality and interactivity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Learn JavaScript?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JavaScript is one of the most popular programming languages because it:&lt;/p&gt;

&lt;p&gt;Creates interactive web pages.&lt;br&gt;
Responds to user actions such as clicks and keyboard input.&lt;br&gt;
Updates Webpage content without reloading the page.&lt;br&gt;
Builds web applications, mobile apps, desktop apps, and even games.&lt;br&gt;
Is supported by all modern web browsers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features of JavaScript&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lightweight: Easy to learn and fast to execute.&lt;br&gt;
Interpreted: Runs directly in the browser without compilation.&lt;br&gt;
Dynamic: Variables can hold different data types.&lt;br&gt;
Object-Oriented: Supports objects and classes.&lt;br&gt;
Cross-Platform: Works on Windows, macOS, Linux, Android, and iOS.&lt;br&gt;
Event-Driven: Executes code based on user interactions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Uses of JavaScript&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Form validation&lt;br&gt;
Image sliders and carousels&lt;br&gt;
Interactive menus&lt;br&gt;
Real-time chat applications&lt;br&gt;
Games&lt;br&gt;
Single Page Applications (SPAs)&lt;br&gt;
Backend development using Node.js&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages of JavaScript&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Easy to learn&lt;br&gt;
Fast execution&lt;br&gt;
Runs on all major browsers&lt;br&gt;
Large community support&lt;br&gt;
Versatile (frontend and backend)&lt;br&gt;
Rich ecosystem of libraries and frameworks&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Limitations of JavaScript&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Browser security restrictions&lt;br&gt;
Browser compatibility issues (older browsers)&lt;br&gt;
Client-side code can be viewed by users&lt;br&gt;
Not suitable for high-performance computational tasks&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JavaScript is a powerful scripting language that brings web pages to life by adding interactivity and dynamic behavior. It is an essential skill for web developers and is widely used in frontend development, backend development, mobile app development, and game development.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Pushing Code in GitLab</title>
      <dc:creator>Mani Kandan</dc:creator>
      <pubDate>Wed, 10 Jun 2026 12:40:40 +0000</pubDate>
      <link>https://dev.to/mani_kandan_9afb5ff93ed71/pushing-code-in-gitlab-5fo6</link>
      <guid>https://dev.to/mani_kandan_9afb5ff93ed71/pushing-code-in-gitlab-5fo6</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GitLab is a popular platform for hosting Git repositories, enabling developers to collaborate, manage source code, and automate software delivery. If you're new to GitLab, one of the first skills you'll need is learning how to push your local code to a GitLab repository.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;br&gt;
Before getting started, ensure you have:&lt;/p&gt;

&lt;p&gt;Git installed on your system&lt;br&gt;
A GitLab account&lt;br&gt;
A project folder containing your code&lt;br&gt;
Access to a GitLab repository&lt;/p&gt;

&lt;p&gt;You can verify Git installation using:&lt;/p&gt;

&lt;p&gt;git --version&lt;br&gt;
Step 1: Create a Repository in GitLab&lt;br&gt;
Log in to your GitLab account.&lt;br&gt;
Click New Project.&lt;br&gt;
Select Create Blank Project.&lt;br&gt;
Enter a project name and visibility settings.&lt;br&gt;
Click Create Project.&lt;/p&gt;

&lt;p&gt;After the repository is created, GitLab will display the repository URL, which you'll need later.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gitlab.com/username/my-project.git" rel="noopener noreferrer"&gt;https://gitlab.com/username/my-project.git&lt;/a&gt;&lt;br&gt;
Step 2: Navigate to Your Project Directory&lt;/p&gt;

&lt;p&gt;Open a terminal and move to your project folder:&lt;/p&gt;

&lt;p&gt;cd my-project&lt;br&gt;
Step 3: Initialize Git Repository&lt;/p&gt;

&lt;p&gt;If your project is not already a Git repository, initialize it:&lt;/p&gt;

&lt;p&gt;git init&lt;/p&gt;

&lt;p&gt;This command creates a hidden .git folder that Git uses to track changes.&lt;/p&gt;

&lt;p&gt;Step 4: Add Project Files&lt;/p&gt;

&lt;p&gt;Stage all files in your project:&lt;/p&gt;

&lt;p&gt;git add .&lt;/p&gt;

&lt;p&gt;Alternatively, add a specific file:&lt;/p&gt;

&lt;p&gt;git add index.html&lt;br&gt;
Step 5: Commit Your Changes&lt;/p&gt;

&lt;p&gt;Create your first commit with a meaningful message:&lt;/p&gt;

&lt;p&gt;git commit -m "Initial project setup"&lt;/p&gt;

&lt;p&gt;A commit acts as a snapshot of your project at a specific point in time.&lt;/p&gt;

&lt;p&gt;Step 6: Connect Local Repository to GitLab&lt;/p&gt;

&lt;p&gt;Add the GitLab repository as a remote:&lt;/p&gt;

&lt;p&gt;git remote add origin &lt;a href="https://gitlab.com/username/my-project.git" rel="noopener noreferrer"&gt;https://gitlab.com/username/my-project.git&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Verify the remote configuration:&lt;/p&gt;

&lt;p&gt;git remote -v&lt;/p&gt;

&lt;p&gt;Expected output:&lt;/p&gt;

&lt;p&gt;origin  &lt;a href="https://gitlab.com/username/my-project.git" rel="noopener noreferrer"&gt;https://gitlab.com/username/my-project.git&lt;/a&gt; (fetch)&lt;br&gt;
origin  &lt;a href="https://gitlab.com/username/my-project.git" rel="noopener noreferrer"&gt;https://gitlab.com/username/my-project.git&lt;/a&gt; (push)&lt;br&gt;
Step 7: Set the Main Branch&lt;/p&gt;

&lt;p&gt;Rename the current branch to main:&lt;/p&gt;

&lt;p&gt;git branch -M main&lt;/p&gt;

&lt;p&gt;This aligns your local repository with modern Git conventions.&lt;/p&gt;

&lt;p&gt;Step 8: Push Code to GitLab&lt;/p&gt;

&lt;p&gt;Push your code to the remote repository:&lt;/p&gt;

&lt;p&gt;git push -u origin main&lt;/p&gt;

&lt;p&gt;The -u flag sets the upstream branch, allowing future pushes with a simple:&lt;/p&gt;

&lt;p&gt;git push&lt;br&gt;
Working with Existing Repositories&lt;/p&gt;

&lt;p&gt;If the GitLab repository already exists and contains files, first pull the latest changes:&lt;/p&gt;

&lt;p&gt;git pull origin main&lt;/p&gt;

&lt;p&gt;Resolve any merge conflicts if necessary, then push your updates:&lt;/p&gt;

&lt;p&gt;git push origin main&lt;br&gt;
Using SSH Authentication&lt;/p&gt;

&lt;p&gt;For a more secure and convenient workflow, you can use SSH instead of HTTPS.&lt;/p&gt;

&lt;p&gt;Generate an SSH Key&lt;br&gt;
ssh-keygen -t ed25519 -C "&lt;a href="mailto:your-email@example.com"&gt;your-email@example.com&lt;/a&gt;"&lt;br&gt;
View Your Public Key&lt;br&gt;
cat ~/.ssh/id_ed25519.pub&lt;br&gt;
Add the Key to GitLab&lt;br&gt;
Copy the public key.&lt;br&gt;
Open GitLab.&lt;br&gt;
Navigate to Preferences → SSH Keys.&lt;br&gt;
Paste the key and save it.&lt;br&gt;
Update Remote URL&lt;br&gt;
git remote set-url origin &lt;a href="mailto:git@gitlab.com"&gt;git@gitlab.com&lt;/a&gt;:username/my-project.git&lt;/p&gt;

&lt;p&gt;Now push your code:&lt;/p&gt;

&lt;p&gt;git push -u origin main&lt;br&gt;
Common Errors and Solutions&lt;br&gt;
Authentication Failed&lt;/p&gt;

&lt;p&gt;Cause: Incorrect credentials or expired password.&lt;/p&gt;

&lt;p&gt;Solution: Use a Personal Access Token (PAT) instead of your account password when using HTTPS.&lt;/p&gt;

&lt;p&gt;Remote Origin Already Exists&lt;/p&gt;

&lt;p&gt;Cause: A remote named origin is already configured.&lt;/p&gt;

&lt;p&gt;Solution:&lt;/p&gt;

&lt;p&gt;git remote remove origin&lt;br&gt;
git remote add origin &lt;a href="https://gitlab.com/username/my-project.git" rel="noopener noreferrer"&gt;https://gitlab.com/username/my-project.git&lt;/a&gt;&lt;br&gt;
Rejected Push&lt;/p&gt;

&lt;p&gt;Cause: The remote repository contains changes not present locally.&lt;/p&gt;

&lt;p&gt;Solution:&lt;/p&gt;

&lt;p&gt;git pull origin main&lt;br&gt;
git push origin main&lt;br&gt;
Best Practices&lt;br&gt;
Commit frequently with clear messages.&lt;br&gt;
Use feature branches for new development.&lt;br&gt;
Pull changes regularly before pushing.&lt;br&gt;
Review code before committing.&lt;br&gt;
Use SSH keys for secure authentication.&lt;br&gt;
Avoid committing sensitive information such as passwords or API keys.&lt;br&gt;
 &lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pushing code to GitLab is a fundamental skill for modern software development. By initializing a Git repository, staging files, committing changes, and pushing them to a remote GitLab repository, developers can efficiently manage and collaborate on projects. Once your repository is connected, future updates become as simple as running:&lt;/p&gt;

&lt;p&gt;git add .&lt;br&gt;
git commit -m "Describe your changes"&lt;br&gt;
git push&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Git: The Version Control System Every Developer Should Know</title>
      <dc:creator>Mani Kandan</dc:creator>
      <pubDate>Wed, 10 Jun 2026 12:31:56 +0000</pubDate>
      <link>https://dev.to/mani_kandan_9afb5ff93ed71/git-the-version-control-system-every-developer-should-know-3g03</link>
      <guid>https://dev.to/mani_kandan_9afb5ff93ed71/git-the-version-control-system-every-developer-should-know-3g03</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In modern software development, collaboration, experimentation, and maintaining code history are essential. Git is a distributed version control system that helps developers track changes, collaborate with teams, and manage projects efficiently. Whether you're building a personal project or contributing to a large-scale application, Git has become an indispensable tool in the software development workflow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Git?&lt;/strong&gt;&lt;br&gt;
Git is an open-source version control system created by Linus Torvalds in 2005. It allows developers to:&lt;/p&gt;

&lt;p&gt;Track changes in source code&lt;br&gt;
Collaborate with multiple developers&lt;br&gt;
Revert to previous versions when needed&lt;br&gt;
Create separate development branches&lt;br&gt;
Merge changes seamlessly&lt;/p&gt;

&lt;p&gt;Unlike centralized version control systems, Git stores a complete copy of the repository on every developer's machine, making it fast, reliable, and resilient.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Use Git?&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1. Version Tracking&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Git maintains a history of every change made to a project. Developers can review previous versions, identify bugs, and restore working code when necessary.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Collaboration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Teams can work on the same project simultaneously without overwriting each other's work. Git efficiently manages contributions from multiple developers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Branching and Merging&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Git's branching feature allows developers to work on new features or fixes independently. Once completed, changes can be merged into the main codebase.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Backup and Recovery&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Since every repository clone contains the entire project history, Git provides a built-in backup mechanism.&lt;/p&gt;

&lt;p&gt;Common Git Commands&lt;br&gt;
Initialize a Repository&lt;/p&gt;

&lt;p&gt;git init&lt;/p&gt;

&lt;p&gt;Creates a new Git repository in the current directory.&lt;/p&gt;

&lt;p&gt;Clone a Repository&lt;/p&gt;

&lt;p&gt;git clone &lt;/p&gt;

&lt;p&gt;Downloads an existing repository from a remote source.&lt;/p&gt;

&lt;p&gt;Check Status&lt;/p&gt;

&lt;p&gt;git status&lt;/p&gt;

&lt;p&gt;Displays the current state of the working directory and staged files.&lt;/p&gt;

&lt;p&gt;Add Changes&lt;/p&gt;

&lt;p&gt;git add .&lt;/p&gt;

&lt;p&gt;Stages all modified files for the next commit.&lt;/p&gt;

&lt;p&gt;Commit Changes&lt;/p&gt;

&lt;p&gt;git commit -m "Added new feature"&lt;/p&gt;

&lt;p&gt;Saves staged changes with a descriptive message.&lt;/p&gt;

&lt;p&gt;View Commit History&lt;/p&gt;

&lt;p&gt;git log&lt;/p&gt;

&lt;p&gt;Shows the history of commits in the repository.&lt;/p&gt;

&lt;p&gt;Create a Branch&lt;/p&gt;

&lt;p&gt;git branch feature-login&lt;/p&gt;

&lt;p&gt;Creates a new branch for development.&lt;/p&gt;

&lt;p&gt;Switch Branches&lt;/p&gt;

&lt;p&gt;git checkout feature-login&lt;/p&gt;

&lt;p&gt;Moves to the specified branch.&lt;/p&gt;

&lt;p&gt;Merge Branches&lt;/p&gt;

&lt;p&gt;git merge feature-login&lt;/p&gt;

&lt;p&gt;Combines changes from one branch into another.&lt;/p&gt;

&lt;p&gt;Git Workflow&lt;/p&gt;

&lt;p&gt;A typical Git workflow consists of:&lt;/p&gt;

&lt;p&gt;Clone the repository.&lt;br&gt;
Create a new branch.&lt;br&gt;
Make code changes.&lt;br&gt;
Stage files using git add.&lt;br&gt;
Commit changes using git commit.&lt;br&gt;
Push changes to the remote repository.&lt;br&gt;
Create a pull request for review.&lt;br&gt;
Merge approved changes.&lt;br&gt;
Best Practices&lt;br&gt;
Write meaningful commit messages.&lt;br&gt;
Commit small, focused changes.&lt;br&gt;
Pull latest updates before pushing code.&lt;br&gt;
Use branches for new features and bug fixes.&lt;br&gt;
Avoid committing sensitive information such as passwords and API keys.&lt;br&gt;
Regularly review repository history.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Git has revolutionised software development by providing a powerful and flexible way to manage code changes. Its branching, collaboration, and version-tracking capabilities make it a must-have skill for developers of all levels. By learning Git and adopting best practices, teams can improve productivity, reduce conflicts, and maintain high-quality codebased&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>git</category>
      <category>programming</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
