Tutorial 02 – Industry Practices and Tools 1 Article

VERSION CONTROLLING

(01). What is the need for VCS?

VCS needs to merge some kind of programming code.category of software tools that help a software system manage changes to source code over time.

It is important to manage the source of different versions at different stages.

  •  The system can be developed incrementally and iteratively.
  • The system can be categorized into smaller subsystems and developed by different groups.
(02.) Differentiate the three models of VCSs, stating their pros and cons?
1.Local version control systems.
2.Centralized version control systems.
3.Distributed Version Control Systems.
                         ...Local version control systems...
uses:

  • Currently building small websites on asp.net in visual studio.
Advantages:                   

1.oldest one.                    

2.every thing is on our computer. 

Disadvantages:

          1. can not be used for collaborative software development. 

                                        ...Centralized version control systems...

One fundamental tool in any software project is a Version Control System (VCS). A VCS helps you keep track of features, bug tickets, and any other changes in your project

Advantage:
    can be used collaborative software developments.
Disadvantage:
    Most obvious is the single point of failure that the centralized server represents
                        ....Distribute the version control system...
Advantage:
       no single point of failure.

        

(03). Git and GitHub, are the same or different? Discuss with facts?  

Git is a revision control system. manage source code history that's the tool.
Git hub is a hosting service for git repositories.
that's service for a project that uses git.
Then these are not the same.

GitHub is a web-based version control and collaboration platform for software developers.
GitHub delivered the software-as-a-service business model.

Git is an open source management system because Linus Torvald to make software build faster.

(04). Compare and contrast the Git commands, commit and push?

Git is a distributed version control system, commit change local repository.
push changes up to the remote repo.

Git commits record changes to the local repository.
git push updates the remote repository with local changes.
Steps:
  1. upload to GitHub into the local directory that was created. when cloned the repository.     
  2. open
  3. change the current working directory to the local repository.   
  4. stage the file for commit to the repository. 
  5. commit the file that's the stage in a local repository.

(05). Discuss the use of staging area and Git directory?



 Git workflow :
  •  modify files in your working directory. 
  •  stage the files, adding snapshots of them to your staging area.  do a commit, which takes the files as 
  • they are in the staging area and stores that snapshot permanently to your Git directory 

(06). Explain the collaboration workflow of Git, with 
example?

It is a convergence of social software with service management software.

Collaborative workflow





(07). Discuss the benefits of CDNs?

Purpose:
              storage and delivery of cached files



  • Huge traffic on their website on daily basis can use CDN to their advantages. website load quicker.
  • Improving website load times.
  • Reducing bandwidth cost.
  • Increasing bandwidth content availability and redundancy.
  • Improving website security.
  • Less pressure on hosting server.

  • A content delivery network refers to a global network of edge servers which distributes your content from a multi-host environment.
CDN: A content delivery network (CDN) is a system of distributed servers (network) that deliver webpages and other Web content to a user based on the geographic locations of the user, the origin of the webpage and a content delivery server


 (08). How CDNs differ from web hosting servers?

 Web Hosting is used to host your website on a server and let users access it over the internet. Web Hosting normally refers to one server can web hosting...





(09). Identify free and commercial CDNs?


  • swarmify
  • Cloudflare


  • Incapsula


  • photon by jetpack



(10). Discuss the requirements for virtualization?

          virtualization is technology in which an application, guest operating system or data storage is abstracted away from hardware or software.


here is a gap between development and implementation environments.
       •Different platforms
       •Missing dependencies, frameworks/runtimes
       •Wrong configurations
       •Version mismatches
       •This issue can be overcome
       •Develop in a virtual environment
       •Clone the setup to the implementation platform





(11). Discuss and compare the pros and cons of different virtualization techniques at different levels?

    visualization is a general term that describes an effort to help people understand the significance of data by placing it in a visual context. Patterns, trends, and correlations.

Advantages:

  • Multiple os environments cannot exist simultaneously on the same machine
  • easy maintenance
  • Application provisioning
  • Availability
  • convenient recovery
  • reduce hardware coast
  • Deployment
  • Better disaster recovery solution
  • Efficient
  • Energy
  • Increased staff productivity
  • cheaper
  • It offers a better uptime to promote digital entrepreneurship
DisAdvantages:

  • Management
  • Difficulty indirect  access to hardware, for
example:

USB devices

  • Performance
  • Great RA
  1. The high cost of implementation
  2. it still has a limitation
  3. create a security risk
  4. create an availability issue
  5. create scalability issue 
  6. It requires several links in the chain that must work together cohesive
  7. take time
(12). Identify popular implementations and available tools for each level of visualization?

Tools:

  • sisense
  • Tableau
  • Tibco Spotfire
  • Quick view
  • Infogram
(13). What is the hypervisor and what is the role of it?

The hypervisor presents the guest operating system with a virtual operating platform and manages the execution of the guest operating system.

  Role:

  • provide an environment identical to the physical environment
  • provide that environment with a minimal performance cost
  • Retain complete control of the system resource

 (14). How does the emulation be different from VMs?

Virtual machines make use of CPU self-virtualization, to whatever exists to provide a virtualized interface to the real hardware.

emulators emulate hardware without relying on the CPU being able to run the code directory and redirect some operations to a hypervisor controlling the virtual container.



(15). Compare and contrast the VMs and containers/dockers, indicating their advantages and disadvantages?



virtual machine:

  • Emulation of the computer system.
  •  what appears to be many separate computers on hardware that is actually one computer.
  • The operating systems and their applications share hardware resources from a single host server, or from a pool of host servers.
 Each VM requires its own underlying OS, and the hardware is virtualized. 

A hypervisor, or a virtual machine monitor, is software, firmware, or hardware that creates and runs VMs.

Popular VM Providers Examples:

  1. VMware vSphere
  2. Virtual Box
  3. Hyper-V
Benefits of VM:

  • Better known security controls.
  • Established management tools.
  • Established security tools.

Container:

A container is:   a standard unit of software that packages up the code and all its dependencies so the application runs quickly and reliably from one computing environment to another

Type of container:
  • Linux Containers (LXC)
  • Docker
  • windows server container

Benefits of Containers

  • quicker spanning up an app.
  • Reduced size of snapshots.
  • Reduced IT management resources.
  • Reduced & simplified security update.
   

 01). What is the difference between global and local configuration?

A global configuration assembles other configurations within and across applications
Windows PowerShell Desired State Configuration 


02). Does the Git username you set, need to be the same as your GitHub username?
No.
Git uses a username to associate commits with an identity. The Git username is not the same as your GitHub username. ... 
The new name you set will be visible any future commits you to push to GitHub from the command line. 
If you'd like to keep your real name private, you can use any text as your Git username
03). Does the changed username affect to the past commits done by you? 
change GitHub username, most references to your repositories under the old username automatically change to the new username.

 However, some links to your profile won't automatically redirect. Commits made with your email address will no longer be associated with your account. 
Commits made using your email address will continue to be associated with your account.

 04). What is the command to go back to the previous directory in Git bash? 
  1. You can check the current folder with pwd .(password)
  2. If the path contains spaces, you will need to use quotation marks. ( cd "/c/Program Files" )
  3. On Windows, you change the default starting directory for Git Bash.
  4. The cd command can be memorized as "change directory".


 05). What is a Git branch?
branch in Git is simply a lightweight movable pointer to one of these commits.  The default   branch name in Git is master


06). What is the purpose of this message?
Git Commit records the changes to the local repository. Git Push submits the local changes to the remote repo.
Use “git commit” command to add commits.
git commit -a -m “the message”.

Comments

Popular posts from this blog

THE CLIENT-SIDE DEVELOPMENT

RESTful Web services