Posts for: #Agile

AGILE CRASH COURSE UDEMY

Agile Principles

  1. Customer satisfaction by early and continuous delivery of useful software.
  2. Welcome changing requirements, even late in development.
  3. Working software is delivered frequently (weeks rather than months).
  4. Close, daily cooperation between business people and developers.
  5. Projects are built around motivated individuals, who should be trusted.
  6. Face-to-face conversation is the best form of communication (co-location).
  7. Working software is the principal measure of progress.
  8. Sustainable development, able to maintain a constant pace.
  9. Continuous attention to technical excellence and good design.
  10. Simplicity- only build what is really essential.
  11. Self-organizing teams.
  12. Regular adaptation to changing circumstance.

What does MVP stands for?

MVP is an acronym for Minimum Viable Product. It basically means keep it simple!!! Don't build a Ferrari if all you need is a skateboard!

Read more →

CI/CD Pipeline and Devops Introduction

OLD SDLC

{Development Team}

Developer 1 –> Developer 2 –> > Build & Integration Team -> Ensures Code Compiles -> Package Developer 3 –>

Operations Team

Package is given with instructions to operations team

The Operations team deploys the app and then testers test. Image Description

#Cons

  1. Integrating different modules is error prone task as integration team communicates with developers to integrate each developers modules into a single unite.
  2. Defects are detected late.
  3. Any intermediate code merge can cause issues.
  4. If a developer brings up functional defect, it will stay there until the end of iteration which may take too long.
  5. Long Feedback cycle
  6. Long Iteration Image Description

Continuous Integration

Continuous integration is a development practice that requires developers to integrate code into a shared repo several times a day.

Read more →

Docker Full Notes

What is Docker?

  • Docker is an open platform for developing, shipping and running applications.
  • Docker is a platform which packages an application and all its dependencies together in the form of containers.

What problem does Docker solve?

The main problem it solves is dependency management. Image Description


Docker Architecture

Image Description


Some Terms to Understand

  1. Docker Daemon: Daemon is a program which runs on our computer and manages docker containers.
  2. Docker file: It is a text document which contains all the commands that a user can call on the command line to assemble an image.
  3. Images: Template to create docker container.
  4. Container: Running instance of docker image.Containers hold entire package to run application.

Basic Commands for Docker

  • Check the version
docker -v
  • pull image
docker pull <image-name>
  • check all the images
docker images
  • search images
docker search <image-name>
  • container creation
docker run <image-name>
  • list all the running containers
docker ps
  • list all the running + stopped containers
docker ps -a
  • run container in background(detached mode) + change the name of container.
docker run --name <custom-name> -d <image-name/image-id>
  • run container in -it {interactive-mode}, your container will run continuously
docker run --name <custom-name> -it -d <image-id/name> 
  • to execute the command inside your container
docker exec -it <container-id> command{python3/bash/java/cpp} 
  • get all the information about the container
docker inspect <container-id>
  • stop the running container
docker stop <containerName>
  • remove image
docker rm <image-name>
  • to restart the running container
docker restart <container-id>

My-SQL Image Commands

  • get the image
docker install mysql
  • run the mysql container
docker run --name <custome-mysql-name> -e MYSQL_ROOT_PASSWORD=<give-a-pass> -d mysql
  • use commands inside mysql container
docker exec -it <custom-sql-name> <command-type>

Docker for Touchstone MCQ Test

1. Docker Basics

  • What is Docker?
  • Benefits of using Docker
  • Docker vs Virtual Machines
  • Docker Architecture
    • Docker Engine
    • Docker Daemon
    • Docker Client

2. Docker Images

  • What is a Docker Image?
  • Layers in Docker Images
  • Docker Hub and Image Registries
  • Pulling Images
    docker pull
  • Listing Images
    docker images
  • Removing Images
    docker rmi
  • Custom Images using Dockerfile
    (See Dockerfile section below)

3. Docker Containers

  • What is a Container?
  • Creating Containers
    docker run
  • Listing Containers
    docker ps, docker ps -a
  • Starting/Stopping/Removing Containers
    docker start, docker stop, docker rm
  • Inspecting Containers
    docker inspect
  • Container Lifecycle
  • Running containers in detached mode
    -d
  • Executing commands inside containers
    docker exec, docker attach
  • Logs and Terminal access
    docker logs, docker exec -it

4. Dockerfile (Creating Custom Images)

  • What is a Dockerfile?
  • Basic Dockerfile Instructions
    • FROM
    • RUN
    • COPY
    • ADD
    • CMD
    • ENTRYPOINT
    • EXPOSE
    • ENV
    • WORKDIR
  • Building Image from Dockerfile
    docker build
  • Best practices
    • Minimizing layers
    • Using .dockerignore

5. Docker Volumes (Data Persistence)

  • What is a Volume?
  • Types
    • Volumes
    • Bind Mounts
  • Creating Volumes
    docker volume create
  • Mounting Volumes to Containers
    -v or --mount
  • Inspecting Volumes
    docker volume inspect
  • Volume Persistence and Sharing between Containers

6. Docker Networking

  • Default Docker Networks
    • bridge
    • host
    • none
  • Creating Custom Networks
    docker network create
  • Connecting Containers to Networks
    --network
  • Inspecting Networks
    docker network inspect
  • Communication between containers
    Via network name

7. Docker Compose (Multi-container Applications)

  • What is Docker Compose?
  • docker-compose.yml file structure
    • version
    • services
    • build
    • ports
    • volumes
    • depends_on
    • networks
  • Running with Compose
    docker-compose up, docker-compose down
  • Building and Rebuilding
    docker-compose build, docker-compose up --build
  • Scaling services
    docker-compose up --scale
  • Use cases and benefits
Read more →

PL/SQL Full Notes

What is PL/SQL?

  1. PL/SQL stands for Procedural Language Extension to SQL
  2. It is a Extension of SQL developed by Oracle.
  3. It adds SQL capabilities of procedural programming like variables, loops and conditional statements in SQL.

PL/SQL Architecture

Physical Architecture

Image Description

  • PL/SQL engine processes the entire PL/SQL block of code.
  • It Separate SQL statements and Procedural statements.

Simple Architecture Flow

Image Description

PL/SQL Logical Architecture

  • Corporates with SQL Engine.
  • Enables Subprograms -> Allows re-usability of code/script like variables and functions.
  • Dynamic Queries-> We can modify or create new Queries.
  • Case Insensitivity
  • Optimizer-> It optimizes our code for better performance.
  • Enables Object-Oriented Programming
  • Web Development #Extras Context Switching: When you write SQL Query in PL/SQL the PL/SQL send the query to SQL Engine and the result will be returned this operation is called Context Switching.

Pluggable Database

Image Description

Read more →

Selenium Notes

Important Libraries

from selenium import webdriver 
from selenium.webdriver.chrome.service import Service 
from selenium.webdriver.support.ui import Select 
from selenium.webdriver.common.by lmport By 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.support.ui import WebDriverWait 
import time 
from selenium.webdriver.common.action_chains import ActionChains 
from selenium.webdriver.chrome.options import Options 
from selenium webdriver.remote.webelement import WebElement
  1. webdriver

imports the webdriver module from the Selenium library, which allows you to automate browser actions like clicking, typing and navigating.

  1. Service

Service is used to manage the lifecycle of the chromedriver.exe process (starting, stopping, and communication).

Read more →