<?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: cloudteachable</title>
    <description>The latest articles on DEV Community by cloudteachable (@learnwithsrini).</description>
    <link>https://dev.to/learnwithsrini</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%2Forganization%2Fprofile_image%2F8299%2F972f0148-d087-4b56-8b9f-69cdc6870386.jpeg</url>
      <title>DEV Community: cloudteachable</title>
      <link>https://dev.to/learnwithsrini</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/learnwithsrini"/>
    <language>en</language>
    <item>
      <title>Python : Object-Oriented Programming (OOP)</title>
      <dc:creator>Srinivasulu Paranduru</dc:creator>
      <pubDate>Thu, 16 Oct 2025 06:42:40 +0000</pubDate>
      <link>https://dev.to/learnwithsrini/python-object-oriented-programming-oop-17j9</link>
      <guid>https://dev.to/learnwithsrini/python-object-oriented-programming-oop-17j9</guid>
      <description>&lt;p&gt;Object-Oriented Programming (OOP) in Python is a programming paradigm that organizes code using "objects"-Instances of classes that encapsulate data (attributes) and behaviour (methods). OOP helps structure complex programs, making them easier to manage, extend, and maintain.&lt;/p&gt;

&lt;p&gt;OOP concepts are needed because they:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Promote code reusability through inheritance.&lt;/li&gt;
&lt;li&gt;Improve code organization and readability.&lt;/li&gt;
&lt;li&gt;Enable encapsulation, protecting data from unintended access.&lt;/li&gt;
&lt;li&gt;Support polymorphism, allowing flexible and interchangeable code.&lt;/li&gt;
&lt;li&gt;Make it easier to model real-world entities and relationships.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;DRY Principle in OOP&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DRY stands for "Don't Repeat Yourself".&lt;/li&gt;
&lt;li&gt;It is a software development principle aimed at reducing repetition of code.&lt;/li&gt;
&lt;li&gt;In Object-Oriented Programming (OOP), DRY encourages the use of classes, inheritance, and methods to encapsulate behavior and data, so that code is not duplicated.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Example:
class Animal:
    def speak(self):
        print("Animal speaks")

class Dog(Animal):
    def speak(self):
        print("Dog barks")

class Cat(Animal):
    def speak(self):
        print("Cat meows")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;By using inheritance, we avoid repeating common code and follow the DRY principle.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Table of Contents
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Class&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Important concepts in classes and objects&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Getter and Setter Methods
&lt;/li&gt;
&lt;li&gt; Method Overriding
&lt;/li&gt;
&lt;li&gt; Static Methods and Class Methods
&lt;/li&gt;
&lt;li&gt; Abstract Classes and Interfaces
&lt;/li&gt;
&lt;li&gt; class-variables-vs-instance-variables
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Python Inheritance&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Class :
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;In Python, a class is a blueprint for creating objects (instances).&lt;/li&gt;
&lt;li&gt;Classes are created using class keyword&lt;/li&gt;
&lt;li&gt;It defines attributes (variables) and methods (functions) that the objects will have.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Attributes can be accessed using dot . operator (e.g., MyClass.my_attribute).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Example: Defining a simple class&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# define a class
class Dog:
    sound = "bark"  # class attribute

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Object&lt;/strong&gt;: An object is a specific instance of a class. It holds its own set of data (instance variables) and can invoke methods defined by its class. Multiple objects can be created from same class, each with its own unique attributes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Dog:
    sound = "bark"

dog1 = Dog() # Creating object from class
print(dog1.sound) # Accessing the class
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The &lt;strong&gt;init&lt;/strong&gt;() Method&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;init&lt;/strong&gt;() is a special method in Python classes. It’s called the constructor and runs automatically when you create a new instance of a class. Its main job is to initialize the object’s attributes.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Dog:
    def __init__(self, name):
        self.name = name

my_dog = Dog("Rex")
print(my_dog.name)  # Output: Rex
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Self Parameter&lt;/strong&gt;&lt;br&gt;
The self parameter in Python is used in instance methods of classes. It refers to the object (instance) itself, allowing you to access its attributes and other methods.&lt;/p&gt;

&lt;p&gt;Key points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;self is always the first parameter in instance methods.&lt;/li&gt;
&lt;li&gt;It is not a keyword; you could name it anything, but self is the convention.&lt;/li&gt;
&lt;li&gt;It lets you distinguish between instance variables and local variables.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Dog:
    def __init__(self, name):
        self.name = name  # 'self.name' is an instance variable

    def bark(self):
        print(f"{self.name} says woof!")

dog1 = Dog("Buddy")
dog1.bark()  # Output: Buddy says woof!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;class Person:&lt;br&gt;
    def &lt;strong&gt;init&lt;/strong&gt;(self, name):&lt;br&gt;
        self._name = name  # private attribute&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Getter method
def get_name(self):
    return self._name

# Setter method
def set_name(self, name):
    self._name = name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  Important concepts in classes and objects
&lt;/h2&gt;
&lt;h2&gt;
  
  
  Getter and setter methods:
&lt;/h2&gt;

&lt;p&gt;-Getter and Setter methods provide controlled access to an object's attributes. In Python, these methods are used to retrieve(getter) or modify(setter) values of private attributes, allowing for data encapsulation.&lt;br&gt;
-Python doesn't have explicit get and set methods like other languages, but it supports this functionality using property decorators.&lt;/p&gt;

&lt;p&gt;Getter: Used to access value of an attribute.&lt;br&gt;
Setter: Used to modify value of an attribute.&lt;br&gt;
Let’s see an example of implementing getter and setter methods using @property decorators:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Dog:
    def __init__(self, name, age):
        self._name = name  # Conventionally private variable
        self._age = age  # Conventionally private variable

    @property
    def name(self):
        return self._name  # Getter

    @name.setter
    def name(self, value):
        self._name = value  # Setter

    @property
    def age(self):
        return self._age  # Getter

    @age.setter
    def age(self, value):
        if value &amp;lt; 0:
            print("Age cannot be negative!")
        else:
            self._age = value  # Setter
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Explanation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;init&lt;/strong&gt;: Initializes private attributes _name and _age.&lt;/li&gt;
&lt;li&gt;@property name: Returns _name value.&lt;/li&gt;
&lt;li&gt;
&lt;a class="mentioned-user" href="https://dev.to/name"&gt;@name&lt;/a&gt;.setter: Updates _name.&lt;/li&gt;
&lt;li&gt;@property age: Returns _age value.&lt;/li&gt;
&lt;li&gt;@age.setter: Updates _age if it’s not negative.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Method Overriding
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Method overriding&lt;/strong&gt; occurs when a subclass provides a specific implementation of a method that is already defined in its superclass. This allows subclasses to modify or extend behavior of inherited methods.&lt;/p&gt;

&lt;p&gt;Let’s look at an example of method overriding, where a subclass changes the behavior of an inherited method:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Animal:
    def sound(self):
        print("Some sound")

class Dog(Animal):
    def sound(self):  # Method overriding
        print("Woof")

dog = Dog()
dog.sound()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Static Methods and Class Methods
&lt;/h2&gt;

&lt;p&gt;Static methods and class methods are bound to the class, not instances of the class.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Static Method:&lt;/strong&gt; A method that does not require access to instance or class. It’s defined using @staticmethod decorator.&lt;br&gt;
&lt;strong&gt;Class Method:&lt;/strong&gt; A method that receives the class as its first argument (cls). It’s defined using @classmethod decorator.&lt;/p&gt;

&lt;p&gt;Examples how to use @staticmethod and @classmethod in python&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Dog:
    @staticmethod
    def info():
        print("Dogs are loyal animals.")

    @classmethod
    def count(cls):
        print("There are many dogs of class", cls)

Dog.info()  # Static method call
Dog.count()  # Class method call
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;output&lt;/strong&gt;&lt;br&gt;
Dogs are loyal animals.&lt;br&gt;
There are many dogs of class &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;@staticmethod info(): No access to instance or class; prints a general message.&lt;/li&gt;
&lt;li&gt;@classmethod count(cls): Receives the class as cls and prints a message including the class.&lt;/li&gt;
&lt;li&gt;Dog.info(): Calls static method.&lt;/li&gt;
&lt;li&gt;Dog.count(): Calls class method.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Abstract Classes and Interfaces
&lt;/h2&gt;

&lt;p&gt;An abstract class is a class that cannot be instantiated on its own and is designed to be a blueprint for other classes. Abstract classes allow us to define methods that must be implemented by subclasses, ensuring a consistent interface while still allowing the subclasses to provide specific implementations.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Abstract classes are defined using abc module in Python. Let’s see an example of using an abstract class to define a required method for subclasses:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from abc import ABC, abstractmethod
class Animal(ABC):
    @abstractmethod
    def sound(self):
        pass

class Dog(Animal):
    def sound(self):
        print("Woof")

dog = Dog()
dog.sound()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a href="https://www.geeksforgeeks.org/python/abstract-classes-in-python/" rel="noopener noreferrer"&gt;For more details&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Class Variables vs Instance Variables
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Class Variables are shared by all instances of a class. They are defined inside the class but outside any methods.&lt;/li&gt;
&lt;li&gt;Instance Variables are unique to each instance and are defined in &lt;strong&gt;init&lt;/strong&gt;() method.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Dog:
    species = "Canine"  # Class variable

    def __init__(self, name, age):
        self.name = name  # Instance variable
        self.age = age  # Instance variable

dog1 = Dog("Buddy", 3)
dog2 = Dog("Lucy", 2)

print(dog1.species)  # Accessing class variable
print(dog2.name)  # Accessing instance variable
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;em&gt;Explanation&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;species = "Canine": Class variable shared by all Dog objects.&lt;br&gt;
self.name, self.age: Instance variables unique to each object.&lt;br&gt;
dog1 = Dog(...) / dog2 = Dog(...): Creates two instances with different names and ages.&lt;br&gt;
dog1.species: Accesses the class variable.&lt;br&gt;
dog2.name: Accesses an instance variable.&lt;/p&gt;
&lt;h2&gt;
  
  
  Python Inheritance
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Inheritance allows us to define a class that inherits all the methods and properties from another class.&lt;/li&gt;
&lt;li&gt;Parent class is the class being inherited from, also called base class.&lt;/li&gt;
&lt;li&gt;Child class is the class that inherits from another class, also called derived class.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Create a Parent Class&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Any class can be a parent class, so the syntax is the same as creating any other class:
Example
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Person:
  def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname

  def printname(self):
    print(self.firstname, self.lastname)

#Use the Person class to create an object, and then execute the printname method:

x = Person("John", "Doe")
x.printname()

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

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Create a Child Class&lt;/strong&gt;&lt;br&gt;
To create a class that inherits the functionality from another class, send the parent class as a parameter when creating the child class:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Student(Person):
  pass

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

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;- pass keyword when you do not want to add any other properties or methods to the class.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Example: Use the Student class to create an object, and then execute the printname method:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x = Student("Mike", "Olsen")
x.printname()

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  keywords
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;SNo&lt;/th&gt;
&lt;th&gt;Keyword&lt;/th&gt;
&lt;th&gt;Descriptions&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;_init_&lt;/td&gt;
&lt;td&gt;_init_ method is called automatically every time the class is being used to create a new object.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;pass&lt;/td&gt;
&lt;td&gt;pass keyword when you do not want to add any other properties or methods to the class.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;: Discussed about object oriented programming in Python with examples&lt;/p&gt;

&lt;p&gt;💬 If you enjoyed reading this blog post and found it informative, please take a moment to share your thoughts by leaving a review and liking it 😀 and follow me in &lt;a href="https://dev.to/srinivasuluparanduru/"&gt;dev.to&lt;/a&gt; , &lt;a href="https://linkedin.com/in/srinivasuluparanduru" rel="noopener noreferrer"&gt;linkedin&lt;/a&gt;, &lt;a href="https://github.com/srinivasuluparanduru" rel="noopener noreferrer"&gt;github&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>oops</category>
      <category>inhertiance</category>
      <category>polymorphism</category>
    </item>
    <item>
      <title>Amazon S3 Sync - cross aws account</title>
      <dc:creator>Srinivasulu Paranduru</dc:creator>
      <pubDate>Thu, 14 Nov 2024 13:55:08 +0000</pubDate>
      <link>https://dev.to/learnwithsrini/s3-sync-cross-account-4d0d</link>
      <guid>https://dev.to/learnwithsrini/s3-sync-cross-account-4d0d</guid>
      <description>&lt;p&gt;&lt;strong&gt;Use Case : Cross Account S3 Bucket Sync&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Scenario : You will be in a situation where &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You don't have access to source AWS Account &lt;/li&gt;
&lt;li&gt;You have access only destination AWS Account&lt;/li&gt;
&lt;li&gt;You wanted to sync/copy files from source  AWS Account to destination AWS Account&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;AWS Account details&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.Source_AWS_Account : 11112222&lt;br&gt;
  S3 Bucket Name      : Source-Bucket-Name&lt;br&gt;
  KMS key attached to S3 Bucket &lt;br&gt;
         - Add the destination ec2 instance profile role in kms policy&lt;/p&gt;

&lt;p&gt;2.Destination_AWS_Account : 22223333&lt;br&gt;
  Destination S3 Bucket Name  : Destination-Bucket-Name&lt;/p&gt;



&lt;p&gt;1.Attach the policy to Source S3 bucket&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
        "Sid": "CrossAccountSyncAccess",
        "Effect": "Allow",
        "Principal": {"AWS": "Destination_AWS_Account"},
        "Action" : [ "s3:ListBucket","s3:GetObject"],
        "Resource" :[
            "arn:aws:s3:::Source-Bucket-Name/*",
            "arn:aws:s3:::Source-Bucket-Name"
        ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2.Attach the below iam policy for destination account - EC2 Instance profile role&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
        "Sid": "CrossAccountSyncAccess_Source",
        "Effect": "Allow",
        "Action" : [ "s3:ListBucket","s3:GetObject"],
        "Resource" :[
            "arn:aws:s3:::Source-Bucket-Name/*",
            "arn:aws:s3:::Source-Bucket-Name"
        ]
},
{
        "Sid": "CrossAccountSyncAccess_Destination",
        "Effect": "Allow",
        "Action" : [ "s3:ListBucket","s3:PutObject","s3:PutObjectAcl"],
        "Resource" :[
            "arn:aws:s3:::Destination-Bucket-Name/*",
            "arn:aws:s3:::Destination-Bucket-Name"
        ]
}

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

&lt;/div&gt;



&lt;p&gt;3.Run the below command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
aws s3 sync s3://Source-BucketName  s3://Destination-BucketName

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

&lt;/div&gt;



&lt;p&gt;Conclusion : Process for S3 Sync cross aws accounts.&lt;br&gt;
💬 If you enjoyed reading this blog post and found it informative, please take a moment to share your thoughts by leaving a review and liking it 😀 and follow me in &lt;a href="https://dev.to/srinivasuluparanduru"&gt;dev.to&lt;/a&gt; , &lt;a href="https://www.linkedin.com/in/srinivasuluparanduru" rel="noopener noreferrer"&gt;linkedin &lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>s3</category>
      <category>sync</category>
      <category>ec2instanceprofile</category>
    </item>
    <item>
      <title>HTTP Ping on CloudPing</title>
      <dc:creator>Srinivasulu Paranduru</dc:creator>
      <pubDate>Sat, 24 Aug 2024 23:37:29 +0000</pubDate>
      <link>https://dev.to/learnwithsrini/http-ping-on-cloudping-16le</link>
      <guid>https://dev.to/learnwithsrini/http-ping-on-cloudping-16le</guid>
      <description>&lt;p&gt;Measure Cloud Latency with HTTP Ping on CloudPing&lt;/p&gt;

&lt;p&gt;&lt;a href="https://cloudping.info/" rel="noopener noreferrer"&gt;https://cloudping.info/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To measure the latency from your browser to various cloud provider datacenters, visit CloudPing. Simply click the "HTTP Ping" button to initiate the process. This tool will send HTTP requests from your browser to different datacenters of major cloud providers like AWS, Azure, and Google Cloud, and display the round-trip time (RTT) for each. Analyzing these results can help you determine the optimal cloud provider and datacenter location to ensure minimal latency and improved performance for your applications.&lt;/p&gt;

</description>
      <category>http</category>
      <category>ping</category>
      <category>cloudping</category>
    </item>
    <item>
      <title>AWS Cloud Practioner - Certification Preparation</title>
      <dc:creator>Srinivasulu Paranduru</dc:creator>
      <pubDate>Thu, 25 Jul 2024 06:48:01 +0000</pubDate>
      <link>https://dev.to/learnwithsrini/aws-cloud-practioner-certification-preparation-29i4</link>
      <guid>https://dev.to/learnwithsrini/aws-cloud-practioner-certification-preparation-29i4</guid>
      <description>&lt;p&gt;1.&lt;a href="https://aws.amazon.com/certification/certified-cloud-practitioner/?gclid=EAIaIQobChMIgIDSytWNhwMVhoFQBh0vTw8WEAAYASAAEgJg_PD_BwE&amp;amp;trk=dc557659-52ab-4a28-b2b8-0b1fb90235db&amp;amp;sc_channel=ps&amp;amp;ef_id=EAIaIQobChMIgIDSytWNhwMVhoFQBh0vTw8WEAAYASAAEgJg_PD_BwE:G:s&amp;amp;s_kwcid=AL!4422!3!508672713814!e!!g!!aws%20cloud%20practitioner!11138243015!106933365302" rel="noopener noreferrer"&gt;Exam link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.&lt;a href="https://d1.awsstatic.com/training-and-certification/docs-cloud-practitioner/AWS-Certified-Cloud-Practitioner_Exam-Guide.pdf" rel="noopener noreferrer"&gt;Exam Guide&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Will be adding more to this in coming days.&lt;/p&gt;

</description>
      <category>awscloud</category>
      <category>practioner</category>
      <category>certification</category>
    </item>
    <item>
      <title>IAC - Azure WebApp creation</title>
      <dc:creator>Srinivasulu Paranduru</dc:creator>
      <pubDate>Sun, 30 Jun 2024 22:20:04 +0000</pubDate>
      <link>https://dev.to/learnwithsrini/iac-azure-webapp-creation-3nlo</link>
      <guid>https://dev.to/learnwithsrini/iac-azure-webapp-creation-3nlo</guid>
      <description>&lt;p&gt;&lt;strong&gt;Step1:&lt;/strong&gt; Terraform provider section&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    terraform {
        required_providers {
            azurerm ={
                source = "hashicorp/azurerm"
                version="3.17.0"
            }
        }  
    }

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step2:&lt;/strong&gt; Provider section of azurerm&lt;/p&gt;

&lt;p&gt;Refer to article to get mentioned details required to be provided in azurerm provider - &lt;a href="https://dev.to/srinivasuluparanduru/azure-service-principal-creation-step-by-step-approach-2a46"&gt;https://dev.to/srinivasuluparanduru/azure-service-principal-creation-step-by-step-approach-2a46&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;provider "azurerm" {
        subscription_id = ""
        tenant_id = ""
        client_id = ""
        client_secret = ""    

        features {

        }
    }

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step3:&lt;/strong&gt; Azure resource group creation&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resource "azurerm_resource_group" "example" {
        name     = "template-grp"
        location = "North Europe"
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step4:&lt;/strong&gt; Azure service plan&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resource "azurerm_service_plan" "plan202407" {
        name                = "plan202407"
        resource_group_name = azurerm_resource_group.example.name
        location            = "North Europe"
        os_type             = "Windows"
        sku_name            = "F1"
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step5:&lt;/strong&gt; Creation of Azure web app&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resource "azurerm_windows_web_app" "example" {
        name                = "examplewebapp"
        resource_group_name = azurerm_resource_group.example.name
        location            = azurerm_service_plan.example.location
        service_plan_id     = azurerm_service_plan.example.id

        site_config {
            always_on = false
            application_stack {
                current_stack = "dotnet"
                dotnet_Version = "v6.0"
            }
        }
        depends_on= [
                azurerm_service_plan.plan202407
        ]
    }

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

&lt;/div&gt;



&lt;p&gt;References:&lt;br&gt;
1.&lt;a href="https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/service_plan" rel="noopener noreferrer"&gt;Service Plan&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;2.&lt;a href="https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/windows_web_app" rel="noopener noreferrer"&gt;Azure webapp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Conclusion : Creation of Azure webapp using IAC - Terraform&lt;br&gt;
💬 If you enjoyed reading this blog post and found it informative, please take a moment to share your thoughts by leaving a review and liking it 😀 and follow me in &lt;a href="https://dev.to/srinivasuluparanduru"&gt;dev.to&lt;/a&gt; , &lt;a href="https://www.linkedin.com/in/srinivasuluparanduru" rel="noopener noreferrer"&gt;linkedin &lt;/a&gt;&lt;/p&gt;

</description>
      <category>azure</category>
      <category>iac</category>
      <category>terraform</category>
    </item>
    <item>
      <title>ARM Template: Azure SQL Server</title>
      <dc:creator>Srinivasulu Paranduru</dc:creator>
      <pubDate>Fri, 28 Jun 2024 22:18:27 +0000</pubDate>
      <link>https://dev.to/learnwithsrini/arm-template-azure-sql-server-4ff0</link>
      <guid>https://dev.to/learnwithsrini/arm-template-azure-sql-server-4ff0</guid>
      <description>&lt;h3&gt;
  
  
  Two Resources to be created for Azure SQL Server
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Azure SQL Database Server for hosting the database&lt;/li&gt;
&lt;li&gt;SQL Database&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  ARM Template for Azure SQL Server
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "SQLLogin":{
            "type": "string",
            "metadata":{
                "description":"The administrator user name"
            }
        },
        "SQLPassword":{
            "type": "secureString",
            "metadata":{
                "description":"The administrator user name"
            }
        },
    },
    "functions": [],
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Sql/servers",
            "apiVersion": "2023-05-01-preview",
            "name": "sqlserver24062024",
            "location": "[resourceGroup().location]",
            "properties":{
                "administratorLogin": "[parameters('SQLLogin')]",
                "administratorLoginPassword":  "[parameters('SQLPassword')]"
            }
        },
        {
            "type": "Microsoft.Sql/servers/databases",
            "apiVersion": "2023-05-01-preview",
            "name": "[format('{0}/{1}','sqlserver24062024','appdb')]",
            "location": "[resourceGroup().location]",
            "sku":{
                "name":"Basic",
                "tier":"Basic"
            },
            "properties":{},
            "dependsOn": [
                "[resourceId('Microsoft.Sql/servers','sqlserver24062024')]"
            ]
        }
    ],
    "outputs": {}
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  Explanation for the above template
&lt;/h5&gt;

&lt;p&gt;&lt;strong&gt;Step1:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"parameters": {
        "SQLLogin":{
            "type": "string",
            "metadata":{
                "description":"The administrator user name"
            }
        },
        "SQLPassword":{
            "type": "secureString",
            "metadata":{
                "description":"The administrator user name"
            }
        },
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Two variable parameters SQL Login and SQL Password has been created in ARM Template and to pass dynamic values&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step2:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; {
            "type": "Microsoft.Sql/servers",
            "apiVersion": "2023-05-01-preview",
            "name": "sqlserver24062024",
            "location": "[resourceGroup().location]",
            "properties":{
                "administratorLogin": "[parameters('SQLLogin')]",
                "administratorLoginPassword":  "[parameters('SQLPassword')]"
            }
        },
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Above code is used for creating SQL Server for hosting the database and using two input parameters passed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step3:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
            "type": "Microsoft.Sql/servers/databases",
            "apiVersion": "2023-05-01-preview",
            "name": "[format('{0}/{1}','sqlserver24062024','appdb')]",
            "location": "[resourceGroup().location]",
            "sku":{
                "name":"Basic",
                "tier":"Basic"
            },
            "properties":{},
            "dependsOn": [
                "[resourceId('Microsoft.Sql/servers','sqlserver24062024')]"
            ]
        }

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

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Creating sql database only after the sql server is created by mentioning the dependency in dependsOn resourceId&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step4:&lt;/strong&gt;Go to portal.azure.com and create a new resource group as &lt;strong&gt;arm-sql&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step5:&lt;/strong&gt;Search with template deployment in azure portal and select the option highlighted in the picture&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpekvvvto6vsd72lcbp3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpekvvvto6vsd72lcbp3.png" alt="Image description" width="800" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step6:&lt;/strong&gt; Select the custom template and paste the arm template code,select resource group and pass the parameters&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fie2tjrxiq57veim31c0o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fie2tjrxiq57veim31c0o.png" alt="Image description" width="800" height="857"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;then review and create&lt;/p&gt;

&lt;p&gt;Conclusion : Code used for SQL Server and database using ARM Template&lt;/p&gt;

&lt;p&gt;💬 If you enjoyed reading this blog post and found it informative, please take a moment to share your thoughts by leaving a review and liking it 😀 and follow me in &lt;a href="https://dev.to/srinivasuluparanduru"&gt;dev.to&lt;/a&gt; , &lt;a href="https://www.linkedin.com/in/srinivasuluparanduru" rel="noopener noreferrer"&gt;linkedin &lt;/a&gt;&lt;/p&gt;

</description>
      <category>arm</category>
      <category>azure</category>
      <category>sqlserver</category>
      <category>iac</category>
    </item>
    <item>
      <title>ARM Template: Azure Webapp</title>
      <dc:creator>Srinivasulu Paranduru</dc:creator>
      <pubDate>Sun, 23 Jun 2024 23:01:41 +0000</pubDate>
      <link>https://dev.to/learnwithsrini/arm-templates-part1-3lfd</link>
      <guid>https://dev.to/learnwithsrini/arm-templates-part1-3lfd</guid>
      <description>&lt;h1&gt;
  
  
  Creation of Azure Webapp using ARM Templates
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Step1:&lt;/strong&gt; ARM Template for creating Azure Webapp&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {},
    "functions": [],
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Web/serverfarms",
            "apiVersion": "2022-09-01",
            "name": "plansrinivas2024",
            "location": "[resourceGroup().location]",
            "sku":{
                "name" :"F1",
                "capacity":1
            },
            "properties": {
                "name" : "plansrinivas2024"
            }
        },
        {
            "type": "Microsoft.Web/sites",
            "apiVersion": "2022-09-01",
            "name": "newappsrinivas2024",
            "location": "[resourceGroup().location]",
            "properties": {
                "name" : "newappsrinivas2024",
                "serverFarmId" : "[resourceId('Microsoft.Web/serverfarms','plansrinivas2024')]"
            },
            "dependsOn": [
                "[resourceId('Microsoft.Web/serverfarms','plansrinivas2024')]"
            ]
        }
    ],
    "outputs": {}
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step2:&lt;/strong&gt;Go to portal.azure.com and create a new resource group as &lt;strong&gt;arm-template1&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft19jgkt00b7ppmrbbfu7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft19jgkt00b7ppmrbbfu7.png" alt="Image description" width="800" height="727"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step3:&lt;/strong&gt;Search with template deployment in azure portal and select the option highlighted in the picture&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpekvvvto6vsd72lcbp3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpekvvvto6vsd72lcbp3.png" alt="Image description" width="800" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step4:&lt;/strong&gt;  Select the resource group created earlier then review and create&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgwzi3dywt9564cjkeksw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgwzi3dywt9564cjkeksw.png" alt="Image description" width="800" height="668"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step5:&lt;/strong&gt; Select the custom template &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0xmhryd5ufqd6orq37b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0xmhryd5ufqd6orq37b.png" alt="Image description" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step6:&lt;/strong&gt; Paste the ARM Template code&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fydfjwvwskpl9kqveqlld.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fydfjwvwskpl9kqveqlld.png" alt="Image description" width="800" height="631"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step7:&lt;/strong&gt; Save the plan, review and create&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqaro1tc9q55w5jedaxfa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqaro1tc9q55w5jedaxfa.png" alt="Image description" width="800" height="782"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step8:&lt;/strong&gt; Go the resource group &lt;strong&gt;arm-template1&lt;/strong&gt; selected for the arm template&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpgey79ikf33oi2pwflrg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpgey79ikf33oi2pwflrg.png" alt="Image description" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step9:&lt;/strong&gt; Delete the resource group: arm-template1 created for this exercise for avoiding expenses&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frk18iup5goi0h62z4ruy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frk18iup5goi0h62z4ruy.png" alt="Image description" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;References :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/en-us/azure/templates/microsoft.web/serverfarms?pivots=deployment-language-arm-template" rel="noopener noreferrer"&gt;ARM App Service plan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://learn.microsoft.com/en-us/azure/templates/microsoft.web/sites?pivots=deployment-language-arm-template" rel="noopener noreferrer"&gt;ARM Web App&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/syntax" rel="noopener noreferrer"&gt;Understand the structure and syntax of ARM templates
&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Conclusion : Created a Azure webapp using ARM Template&lt;/p&gt;

&lt;p&gt;💬 If you enjoyed reading this blog post and found it informative, please take a moment to share your thoughts by leaving a review and liking it 😀 and follow me in &lt;a href="https://dev.to/srinivasuluparanduru"&gt;dev.to&lt;/a&gt; , &lt;a href="https://www.linkedin.com/in/srinivasuluparanduru" rel="noopener noreferrer"&gt;linkedin &lt;/a&gt;&lt;/p&gt;

</description>
      <category>azure</category>
      <category>arm</category>
      <category>devops</category>
      <category>iac</category>
    </item>
    <item>
      <title>Github - Organization(Demo)</title>
      <dc:creator>Srinivasulu Paranduru</dc:creator>
      <pubDate>Thu, 13 Jun 2024 22:44:59 +0000</pubDate>
      <link>https://dev.to/learnwithsrini/github-organizationdemo-3p89</link>
      <guid>https://dev.to/learnwithsrini/github-organizationdemo-3p89</guid>
      <description>&lt;h3&gt;
  
  
  Step by Step approach to create an organization in GitHub
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt; : Click on the icon of your profile and which is highlighted in the below picture&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F58c0p9f2e8olutibqsk9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F58c0p9f2e8olutibqsk9.png" alt="Image description" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt; : Select organization&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fygaxx5br41ly9irtamjf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fygaxx5br41ly9irtamjf.png" alt="Image description" width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt; :  You will see list of organizations already existing and if you want you create a new organization by clicking on New Organization button&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4gx3r5idn3jh9x89s80l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4gx3r5idn3jh9x89s80l.png" alt="Image description" width="800" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4&lt;/strong&gt; : Then you will get a option to pick the plans &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwqt614xyey5bbhqzsd19.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwqt614xyey5bbhqzsd19.png" alt="Image description" width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5&lt;/strong&gt;: Select the free  and proceed further. GitHub Organization are globally unique and we cant able to give same organization name once again.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6v8xnbm1bwoeiq9fyvpb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6v8xnbm1bwoeiq9fyvpb.png" alt="Image description" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6&lt;/strong&gt;: Following fields are mandatory for creating a new organization&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Organization name &lt;/li&gt;
&lt;li&gt;Contact Email&lt;/li&gt;
&lt;li&gt;The organization belongs to My personal account / A business or institution&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just accept the terms of service  and click on Next button&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyfxc9w9cvemw48gkpe4z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyfxc9w9cvemw48gkpe4z.png" alt="Image description" width="800" height="824"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7&lt;/strong&gt; : If you want you can add organization members&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4wgaslctwxy6akeu4dws.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4wgaslctwxy6akeu4dws.png" alt="Image description" width="800" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;then click on complete setup, if you are using Multi factor authentication then ask you to enter code from your MFA device&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fib4ijssiymmyiosxhhn9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fib4ijssiymmyiosxhhn9.png" alt="Image description" width="800" height="479"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once MFA code verified then you will see the screen shown below&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4dvhrshi99d20ks5th3q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4dvhrshi99d20ks5th3q.png" alt="Image description" width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 8&lt;/strong&gt; : Invite members by clicking on &lt;strong&gt;Invite your first member&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvocfm457ou5nlvqjll8k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvocfm457ou5nlvqjll8k.png" alt="Image description" width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 9&lt;/strong&gt; : Click on invite member&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fre7v4t6eh4st6vzsyx6h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fre7v4t6eh4st6vzsyx6h.png" alt="Image description" width="800" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fchguzis22j4axyi5fiz3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fchguzis22j4axyi5fiz3.png" alt="Image description" width="800" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 10&lt;/strong&gt;:  Type user name in the text field shown below and it will search globally in github, select the user.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhkaav6n08s9ggh3pab5i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhkaav6n08s9ggh3pab5i.png" alt="Image description" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 11&lt;/strong&gt;: Give the appropriate permission and then click on invite&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu8tpejynrdnzankavqpo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu8tpejynrdnzankavqpo.png" alt="Image description" width="800" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 12&lt;/strong&gt; : User invited will get an email for confirmation and once confirmed user can able to see organization.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy3um4duele29dbz5bdyk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy3um4duele29dbz5bdyk.png" alt="Image description" width="800" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br&gt;
💬 If you enjoyed reading this blog post about GitHub Organization and found it informative, please take a moment to share your thoughts by leaving a review and liking it 😀 and follow me in &lt;a href="https://dev.to/srinivasuluparanduru"&gt;dev.to&lt;/a&gt; , &lt;a href="https://www.linkedin.com/in/srinivasuluparanduru" rel="noopener noreferrer"&gt;linkedin &lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>organization</category>
      <category>teams</category>
    </item>
    <item>
      <title>Code with GitHub Codespaces</title>
      <dc:creator>Srinivasulu Paranduru</dc:creator>
      <pubDate>Tue, 11 Jun 2024 14:11:56 +0000</pubDate>
      <link>https://dev.to/learnwithsrini/code-with-github-codespaces-4hbh</link>
      <guid>https://dev.to/learnwithsrini/code-with-github-codespaces-4hbh</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt; : GitHub Codespaces is a fully configured development environment hosted in the cloud. By using GitHub Codespaces, your workspace, along with all of your configured development environments, is available from any computer with access to the internet.&lt;/p&gt;

&lt;p&gt;GitHub Codespaces is an instant, cloud-based development environment that uses a container to provide you with common languages, tools, and utilities for development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Codespace lifecycle&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkj3zzvbnbjjn5flezlue.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkj3zzvbnbjjn5flezlue.png" alt="Image description" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;GitHub Codespaces is configurable, allowing you to create a customized development environment for your project.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A Codespace's lifecycle begins when you create a Codespace and ends when you delete it. You can disconnect and reconnect to an active Codespace without affecting its running processes. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can stop and restart a Codespace without losing the changes that you make to your project.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Create a Codespace&lt;/strong&gt;&lt;br&gt;
You can create a Codespace on GitHub.com, in Visual Studio Code, or by GitHub CLI. There are four ways to create a Codespace:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;From a GitHub template or any template repository on GitHub.com to start a new project.&lt;/li&gt;
&lt;li&gt;From a branch in your repository for new feature work.&lt;/li&gt;
&lt;li&gt;From an open pull request to explore work-in-progress.&lt;/li&gt;
&lt;li&gt;From a commit in a repository's history to investigate a bug at a specific point in time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Codespace creation process&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp6bkn3x3ltq7jw16s6pc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp6bkn3x3ltq7jw16s6pc.png" alt="Image description" width="800" height="570"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When you create a GitHub Codespace, four processes occur:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;VM and storage are assigned to your Codespace.&lt;/li&gt;
&lt;li&gt;A container is created.&lt;/li&gt;
&lt;li&gt;A connection to the Codespace is made.&lt;/li&gt;
&lt;li&gt;A post-creation setup is made.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Few other options we can do with codespaces&lt;br&gt;
&lt;strong&gt;Save changes in a Codespace&lt;/strong&gt; : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you connect to a Codespace through the web, AutoSave is automatically enabled to save changes after a specific amount of time has passed. &lt;/li&gt;
&lt;li&gt;When you connect to a Codespace through Visual Studio Code running on your desktop, you must enable AutoSave.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Open an existing Codespace&lt;/strong&gt; : You can reopen any of your active or stopped Codespaces on GitHub.com, in a JetBrains IDE, in Visual Studio Code, or by using GitHub CLI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Timeouts for a Codespace&lt;/strong&gt;: If a Codespace is inactive, or if you exit your Codespace without explicitly stopping, the application times out after a period of inactivity and stops running.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Internet connection while using GitHub Codespaces *&lt;/em&gt;:  A Codespace requires an internet connection. If the connection to the internet is lost while working in a Codespace, you won't be able to access your Codespace.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Close or stop a Codespace&lt;/strong&gt; If you exit the Codespace without running the stop command (for example, by closing the browser tab) or leave the Codespace running without interaction, the Codespace and its running processes continue during the inactivity timeout period. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rebuild a Codespace&lt;/strong&gt; : You can rebuild your Codespace to implement changes to your dev container configuration. For most uses, you can create a new Codespace as an alternative to rebuilding a Codespace. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Delete a Codespace&lt;/strong&gt;  : You can create a Codespace for a particular task. After you push your changes to a remote branch, then you can safely delete that Codespace.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br&gt;
💬 If you enjoyed reading this blog post and found it informative, please take a moment to share your thoughts by leaving a review and liking it 😀 and follow me in &lt;a href="https://dev.to/srinivasuluparanduru"&gt;dev.to&lt;/a&gt; , &lt;a href="https://www.linkedin.com/in/srinivasuluparanduru" rel="noopener noreferrer"&gt;linkedin &lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>codespaces</category>
    </item>
    <item>
      <title>Introduction to GitHub's products</title>
      <dc:creator>Srinivasulu Paranduru</dc:creator>
      <pubDate>Tue, 11 Jun 2024 13:17:25 +0000</pubDate>
      <link>https://dev.to/learnwithsrini/introduction-to-githubs-products-lkm</link>
      <guid>https://dev.to/learnwithsrini/introduction-to-githubs-products-lkm</guid>
      <description>&lt;p&gt;In this module, you'll learn about the many different types of GitHub accounts, plans, and their associated features. You'll also discover how other features are licensed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. GitHub accounts and plans&lt;/strong&gt;: There's a difference between the types of GitHub accounts and the GitHub plans. Here are the three types of GitHub accounts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Personal&lt;/li&gt;
&lt;li&gt;Organization&lt;/li&gt;
&lt;li&gt;Enterprise&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;1.1 Personal accounts&lt;/strong&gt; :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every person who uses GitHub.com signs into a personal account (sometimes referred to as a user account). Your personal/user account is your identity on GitHub.com and has a username and profile.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Your personal/user account can own resources such as repositories, packages, and projects as well as a straightforward way to manage your permission.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Each personal account uses either GitHub Free or GitHub Pro. All personal accounts can own an unlimited number of public and private repositories, with an unlimited number of collaborators on those repositories. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you use GitHub Free, private repositories owned by your personal account have a limited feature set.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;1.2 Organization accounts&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Organization accounts are shared accounts where an unlimited number of people can collaborate across many projects at once.&lt;/li&gt;
&lt;li&gt;Similar to personal accounts, organizations can own resources such as repositories, packages, and projects.&lt;/li&gt;
&lt;li&gt;The personal accounts within an organization can be given different roles in the organization to grant different levels of access to the organization and its data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;1.3 Enterprise accounts&lt;/strong&gt; : Enterprise accounts on GitHub.com allow administrators to centrally manage policies and billing for multiple organizations and enable inner sourcing between their organizations. An enterprise account must have a handle, like an organization or user account on GitHub.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub plans&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub Free for personal accounts and organizations&lt;/li&gt;
&lt;li&gt;GitHub Pro for personal accounts&lt;/li&gt;
&lt;li&gt;GitHub Team&lt;/li&gt;
&lt;li&gt;GitHub Enterprise&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;GitHub Free&lt;/strong&gt; : GitHub Free provides the basics for individuals and organizations. Anyone can sign up for the free version of GitHub.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Free for personal accounts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With GitHub Free, a personal account includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub Community Support&lt;/li&gt;
&lt;li&gt;Dependabot alerts&lt;/li&gt;
&lt;li&gt;Two-factor authentication enforcement&lt;/li&gt;
&lt;li&gt;500 MB GitHub Packages storage&lt;/li&gt;
&lt;li&gt;120 GitHub Codespaces core hours per month&lt;/li&gt;
&lt;li&gt;15 GB GitHub Codespaces storage per month&lt;/li&gt;
&lt;li&gt;GitHub Actions:&lt;/li&gt;
&lt;li&gt;2,000 minutes per month&lt;/li&gt;
&lt;li&gt;Deployment protection rules for public repositories&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;GitHub Free for organizations&lt;/strong&gt; : With GitHub Free for organizations, you can work with unlimited collaborators on unlimited public repositories with a full feature set or unlimited private repositories with a limited feature set.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In addition to the features available with GitHub Free for personal accounts, GitHub Free for organizations includes:&lt;/li&gt;
&lt;li&gt;Team access controls for managing groups&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;GitHub Pro :&lt;/strong&gt; GitHub Pro is similar to GitHub Free but comes with upgraded features. It's designed for individual developers (using their personal account) who want advanced tools and insight within their repositories but don't belong to a team.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Team&lt;/strong&gt;&lt;br&gt;
GitHub Team is the version of GitHub Pro for organizations. GitHub Team is better than GitHub Free for organizations because it provides increased GitHub Actions minutes and extra GitHub Packages storage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Enterprise&lt;/strong&gt;&lt;br&gt;
GitHub Enterprise accounts enjoy a greater level of support and extra security, compliance, and deployment controls.&lt;/p&gt;

&lt;p&gt;You can create one or more enterprise accounts by signing up for the paid GitHub Enterprise product. When you create an enterprise account, you're assigned the role of enterprise owner. As an enterprise owner, you can add and remove organizations to and from the enterprise account.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Enterprise options&lt;/strong&gt; :&lt;br&gt;
There are two different GitHub Enterprise options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub Enterprise Server&lt;/li&gt;
&lt;li&gt;GitHub Enterprise Cloud&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The significant difference between GitHub Enterprise Server (GHES) and GitHub Enterprise Cloud is that GHES is a self-hosted solution that allows organizations to have full control over their infrastructure.&lt;/p&gt;

&lt;p&gt;The other difference between GHES and GitHub Enterprise Cloud is that GitHub Enterprise Cloud includes a dramatic increase in both GitHub Actions minutes and GitHub Packages storage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Mobile&lt;/strong&gt; :GitHub Mobile gives you a way to do high-impact work on GitHub quickly and from anywhere. GitHub Mobile is a safe and secure way to access your GitHub data through a trusted, first-party client application.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You will get couple of questions in github mobile&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;GitHub Desktop&lt;/strong&gt; : GitHub Desktop is an open-source, stand-alone software application that enables you to be more productive. It facilitates collaboration between you and your team and the sharing of Git and GitHub best practices within your team.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub billing&lt;/strong&gt;: GitHub bills separately for each account. This means that you receive a separate bill for your personal account and for each organization or enterprise account you own.&lt;/p&gt;

&lt;p&gt;The bill for each account is a combination of charges for your subscriptions and usage-based billing.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;**Subscriptions **include your account's plan, such as GitHub Pro or GitHub Team, as well as paid products that have a consistent monthly cost, such as GitHub Copilot and apps from GitHub Marketplace.&lt;/li&gt;
&lt;li&gt;Usage-based billing applies when the cost of a paid product depends on how much you use the product. For example, the cost of GitHub Actions depends on how many minutes your jobs spend running and how much storage your artifacts use.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;References : &lt;a href="https://learn.microsoft.com/en-us/training/modules/github-introduction-products/" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-us/training/modules/github-introduction-products/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br&gt;
💬 If you enjoyed reading this blog post and found it informative, please take a moment to share your thoughts by leaving a review and liking it 😀 and follow me in &lt;a href="https://dev.to/srinivasuluparanduru"&gt;dev.to&lt;/a&gt; , &lt;a href="https://www.linkedin.com/in/srinivasuluparanduru" rel="noopener noreferrer"&gt;linkedin &lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>products</category>
    </item>
    <item>
      <title>Introduction to GitHub</title>
      <dc:creator>Srinivasulu Paranduru</dc:creator>
      <pubDate>Tue, 11 Jun 2024 12:53:29 +0000</pubDate>
      <link>https://dev.to/learnwithsrini/introduction-to-github-1mfn</link>
      <guid>https://dev.to/learnwithsrini/introduction-to-github-1mfn</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction:&lt;/strong&gt;&lt;br&gt;
GitHub provides an AI-powered developer platform to build, scale, and deliver secure software. Whether you’re planning new features, fixing bugs, or collaborating on changes, GitHub is where over 100 million developers from across the globe come together to create things and make them even better.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp9esaarnugkd9ql8mzxk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp9esaarnugkd9ql8mzxk.png" alt="Image description" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub is a cloud-based platform that uses Git, a distributed version control system, at its core. The GitHub platform simplifies the process of collaborating on projects and provides a website, command-line tools, and overall flow that allows developers and users to work together.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Core pillars of the GitHub Enterprise platform&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AI&lt;/strong&gt; - Generative AI is dramatically transforming software development as we speak.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Collaboration&lt;/strong&gt; - Collaboration is at the core of everything GitHub does.&lt;br&gt;
Repositories, Issues, Pull Requests, and other tools help to enable developers, project managers, operation leaders, and others at the same company to work faster together, cut down approval times, and ship more quickly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Productivity&lt;/strong&gt;: Productivity is accelerated with automation that the GitHub Enterprise Platform provides. With built-in CI/CD tools directly integrated into the workflow and makes our life easier&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security&lt;/strong&gt;: Able to take advantage of security overview and Dependabot.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scale&lt;/strong&gt;:GitHub is the largest developer community of its kind. With real-time data on over 100M+ developers, 330M+ repositories, and countless deployments, we’ve been able to understand the shifting needs of developers and make changes to our product to match.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Introduction to repositories&lt;/strong&gt; :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is a repository? : A repository contains all of your project's files and each file's revision history. It is one of the essential parts that helps you collaborate with people. You can use repositories to manage your work, track changes, store revision history and work with others.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How to create a repository&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can create a new repository on your personal account or any organization where you have sufficient permissions.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Choose a repository visibility.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Public repositories are accessible to everyone on the internet.&lt;/li&gt;
&lt;li&gt;Private repositories are only accessible to you, people you explicitly share access with, and, for organization repositories, certain organization members.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Refer the below link for step by step approach for creation of repository and adding files&lt;br&gt;&lt;br&gt;
&lt;a href="https://learn.microsoft.com/en-us/training/modules/introduction-to-github/2-what-is-github" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://learn.microsoft.com/en-us/training/modules/introduction-to-github/2-what-is-github" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-us/training/modules/introduction-to-github/2-what-is-github&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What are gists&lt;/strong&gt; :  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Similarly to repositories, gists are a simplified way to share code snippets with others.&lt;/li&gt;
&lt;li&gt;Every gist is a Git repository, which you can fork and clone and can be either public or secret.&lt;/li&gt;
&lt;li&gt;Public gists are displayed publicly where people can browse new ones as they’re created. Public gists are also searchable.&lt;/li&gt;
&lt;li&gt;Conversely, secret gists are not searchable, but they aren’t entirely private. If you send the URL of a secret gist to a friend, they'll be able to see it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What are wikis?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every repository on GitHub.com comes equipped with a section for hosting documentation, called a wiki.&lt;/li&gt;
&lt;li&gt;You can use your repository's wiki to share long-form content about your project, such as how to use it, how you designed it, or its core principles.&lt;/li&gt;
&lt;li&gt;While a README file quickly tells what your project can do, you can use a wiki to provide additional documentation.&lt;/li&gt;
&lt;li&gt;If your repository is private only people who have at least read access to your repository will have access to your wiki.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Components of the GitHub flow&lt;/strong&gt;&lt;br&gt;
Will be discussing following components of the GitHub flow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Branches&lt;/li&gt;
&lt;li&gt;Commits&lt;/li&gt;
&lt;li&gt;Pull Requests&lt;/li&gt;
&lt;li&gt;The GitHub Flow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What are branches&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Branches are an essential part to the GitHub experience because they're where we can make changes without affecting the entire project we're working on.&lt;/li&gt;
&lt;li&gt;Your branch is a safe place to good with new features or fixes. If you make a mistake, you can revert your changes or push more changes to fix the mistake. Your changes won't update on the default branch until you merge your branch.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;You can create a branch using the command&lt;br&gt;
&lt;strong&gt;git checkout -b newBranchName&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;What are commits&lt;/strong&gt; &lt;br&gt;
Adding a new file or updating existing file into the repository, you needed to push a commit.&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;commit&lt;/strong&gt; is a change to one or more files on a branch. Every time a commit is created, it's assigned a unique ID and tracked, along with the time and contributor. Commits provide a clear audit trail for anyone reviewing the history of a file or linked item, such as an issue or pull request.&lt;br&gt;
Within a git repository, a file can exist in several valid states as it goes through the version control process:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The primary states for a file in a Git repository are:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.Untracked: An initial state of a file when it isn't yet part of the Git repository. Git is unaware of its existence.&lt;/p&gt;

&lt;p&gt;2.Tracked: A tracked file is one that Git is actively monitoring. It can be in one of the following substates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unmodified&lt;/li&gt;
&lt;li&gt;Modified&lt;/li&gt;
&lt;li&gt;Staged&lt;/li&gt;
&lt;li&gt;Committed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What are pull requests?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A pull request is the mechanism used to signal that the commits from one branch are ready to be merged into another branch.&lt;/li&gt;
&lt;li&gt;The team members submitting pull requests to merge their changes to desired git branch and needs to be assigned to Reviewers, Reviewer will review the code, add comments and developers needs to fix the changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The GitHub flow&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6phhm21jaox9ozpqrxh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6phhm21jaox9ozpqrxh.png" alt="Image description" width="800" height="255"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The GitHub flow can be defined as a lightweight workflow that allows for safe experimentation. You can test new ideas and collaboration with your team by using branching, pull requests, and merging.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub is a collaborative platform&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Issues&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub Issues were created to track ideas, feedback, tasks, or bugs for work on GitHub.&lt;/li&gt;
&lt;li&gt;Issues can be created in various ways, so you can choose the most convenient method for your workflow.&lt;/li&gt;
&lt;li&gt;The different ways to create an issue from:

&lt;ul&gt;
&lt;li&gt;a repository&lt;/li&gt;
&lt;li&gt;an item in a task list&lt;/li&gt;
&lt;li&gt;a note in a project&lt;/li&gt;
&lt;li&gt;a comment in an issue or pull request&lt;/li&gt;
&lt;li&gt;a specific line of code&lt;/li&gt;
&lt;li&gt;or a URL query&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Creating an issue from a repository&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;On GitHub.com, navigate to the main page of the repository. &lt;/li&gt;
&lt;li&gt;Under your repository name, select Issues.
&lt;/li&gt;
&lt;li&gt;Select New issue.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwyyrei4flqsx7ims5022.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwyyrei4flqsx7ims5022.png" alt="Image description" width="800" height="321"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;If your repository uses issue templates, next to the type of issue you'd like to open, select Get started.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the type of issue you'd like to open isn't included in the available options, select Open a blank issue.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7jevqdob7lbc73v0iz8y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7jevqdob7lbc73v0iz8y.png" alt="Image description" width="468" height="205"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;In the Add a title field, enter a title for your issue.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the Add a description field, type a description of your issue.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you're a project maintainer, you can assign the issue to someone, add it to a project board, associate it with a milestone, or apply a label.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When you're finished, select Submit new issue.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Discussions&lt;/strong&gt; : Discussions are for conversations that need to be accessible to everyone and aren't related to code. Discussions enable fluid, open conversation in a public forum.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enabling a discussion in your repository :&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repository owners and people with Write access can enable GitHub Discussions for a community on their public and private repositories. &lt;/li&gt;
&lt;li&gt;The visibility of a discussion is inherited from the repository the discussion is created in.&lt;/li&gt;
&lt;li&gt;When you first enable GitHub Discussions, you're invited to configure a welcome post.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;On GitHub.com, navigate to the main page of the repository. &lt;/li&gt;
&lt;li&gt;Under your repository name, select Settings.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8upow3q4w3of5m4a0lw4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8upow3q4w3of5m4a0lw4.png" alt="Image description" width="800" height="71"&gt;&lt;/a&gt;&lt;br&gt;
3.Scroll down to the Features section and under Discussions, select Setup discussions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fct7x44zuezhqk1ivbqik.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fct7x44zuezhqk1ivbqik.png" alt="Image description" width="468" height="116"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Under Start a new discussion, edit the template to align with the resources and tone you want to set for your community.&lt;/p&gt;

&lt;p&gt;5.Select Start discussion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create a new discussion&lt;/strong&gt;&lt;br&gt;
Any authenticated user who can view the repository can create a discussion in that repository.&lt;/p&gt;

&lt;p&gt;Similarly, since organization discussions are based on a source repository, any authenticated user who can view the source repository can create a discussion in that organization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub platform management&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Managing notifications and subscriptions :You can choose to receive ongoing updates about specific activity on GitHub.com through a subscription. Notifications are the updates that you receive for specific activity to which you're subscribed.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Subscription options : You can choose to subscribe to notifications for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A conversation in a specific issue, pull request, or gist.&lt;/li&gt;
&lt;li&gt;All activity in a repository.&lt;/li&gt;
&lt;li&gt;CI activity, such as the status of workflows in repositories set up 
with GitHub Actions.&lt;/li&gt;
&lt;li&gt;Repository issues, pull requests, releases, security alerts, or discussions (if enabled).&lt;/li&gt;
&lt;li&gt;In some instances, you're automatically subscribed to conversation. If you want you can unsubscribe.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What are GitHub Pages?&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can use GitHub Pages to publicize and host a website about yourself, your organization, or your project directly from a repository on GitHub.com.&lt;/li&gt;
&lt;li&gt;GitHub Pages is a static site-hosting service that takes HTML, CSS, and JavaScript files straight from a repository on GitHub. Optionally, you can run the files through a build process and publishes a website.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exercise - A guided tour of GitHub, use the below link to doing exercise&lt;/p&gt;

&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/training/modules/introduction-to-github/5-platform-management" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-us/training/modules/introduction-to-github/5-platform-management&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;References:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.github.com/en/pages" rel="noopener noreferrer"&gt;Working with github pages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.github.com/en/get-started/writing-on-github/editing-and-sharing-content-with-gists/creating-gists" rel="noopener noreferrer"&gt;Creating Gists&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.github.com/en/communities/documenting-your-project-with-wikis/about-wikis" rel="noopener noreferrer"&gt;About wikis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications" rel="noopener noreferrer"&gt;Configuring Notifications&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br&gt;
💬 If you enjoyed reading this blog post and found it informative, please take a moment to share your thoughts by leaving a review and liking it 😀 and follow me in &lt;a href="https://dev.to/srinivasuluparanduru"&gt;dev.to&lt;/a&gt; , &lt;a href="https://www.linkedin.com/in/srinivasuluparanduru" rel="noopener noreferrer"&gt;linkedin &lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>foundations</category>
      <category>scm</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>GitHub Fundamentals Exam - Import topics to revise</title>
      <dc:creator>Srinivasulu Paranduru</dc:creator>
      <pubDate>Sun, 02 Jun 2024 08:05:40 +0000</pubDate>
      <link>https://dev.to/learnwithsrini/import-topics-in-github-fundamentals-2ph8</link>
      <guid>https://dev.to/learnwithsrini/import-topics-in-github-fundamentals-2ph8</guid>
      <description>&lt;ol&gt;
&lt;li&gt;Alpha vs beta version in github&lt;/li&gt;
&lt;li&gt;How to start the code spaces&lt;/li&gt;
&lt;li&gt;Different kinds of charts - current charts vs historical charts
&lt;a href="https://docs.github.com/en/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/about-insights-for-projects" rel="noopener noreferrer"&gt;https://docs.github.com/en/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/about-insights-for-projects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;You can view everyone who has starred a public repository or a private repository you have access to. To view everyone who has starred a repository, add /stargazers to the end of the URL of a repository. For example, to view stargazers for the github/docs repository, visit &lt;a href="https://github.com/github/docs/stargazers" rel="noopener noreferrer"&gt;https://github.com/github/docs/stargazers&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;which language is used to enter the comments in github. - markdown&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;codespaces can be opened using  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;click on +&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Differences btn github.dev and codespaces&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;stages in github codespaces&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ISSUE Templates will be in which folder?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Github teams can be created as secrets and which is available to members&lt;br&gt;
11.Copilot individual vs business and what are extra features individual subscription will have?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Git hub repo topics -similar to SEO Tags&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://docs.github.com/en/issues/using-labels-and-milestones-to-track-work/managing-labels" rel="noopener noreferrer"&gt;https://docs.github.com/en/issues/using-labels-and-milestones-to-track-work/managing-labels&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;13.What Project descriptor will automatically save when you change it? &lt;/p&gt;

&lt;p&gt;Project name&lt;br&gt;
A GitHub Project's name is the only descriptor that saves automatically.&lt;/p&gt;

&lt;p&gt;Project description&lt;br&gt;
You need to ensure your click save after writing your description to save it.&lt;/p&gt;

&lt;p&gt;14.What's the best way to make sure you're integrating the most secure versions of your project dependencies? &lt;/p&gt;

&lt;p&gt;Configure your package files to always use the latest versions of dependencies.&lt;/p&gt;

&lt;p&gt;Check each project's security details closely before adding it to your dependencies by confirming its version status across multiple advisory sites.&lt;br&gt;
Even if this practice helps you start off with a secure version of a given dependency, it won't ensure that you're safe from future vulnerabilities. You would need to constantly monitor every package to ensure compliance, which might be infeasible.&lt;/p&gt;

&lt;p&gt;Enable Dependabot for your repository.&lt;br&gt;
Dependabot scans your repository's dependency manifests and notifies you via pull request whenever a version you rely is marked as insecure.&lt;/p&gt;

&lt;p&gt;15.Draft pull request - When you create a pull request, you can choose to either create a pull request that’s ready for review or a draft pull request. A pull request with a draft status can’t be merged, and code owners aren’t automatically requested to review draft pull requests.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/training/modules/manage-changes-pull-requests-github/2-what-are-pull-requests" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-us/training/modules/manage-changes-pull-requests-github/2-what-are-pull-requests&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you enjoyed reading this blog post and found it informative, please take a moment to share your thoughts by leaving a review and liking it 😀 and follow me in &lt;a href="https://dev.to/srinivasuluparanduru"&gt;dev.to &lt;/a&gt;, &lt;a href="https://linkedin.com/in/srinivasuluparanduru/" rel="noopener noreferrer"&gt;linkedin&lt;/a&gt; and &lt;a href="https://buymeacoffee.com/srinivasuluparanduru" rel="noopener noreferrer"&gt;buy me a coffee&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>fundamentals</category>
    </item>
  </channel>
</rss>
