Presentation for Introduction to Google Cloud Platform. This PPT provides basic understanding for services provided by Google Cloud Platform like Compute, Storage, VPC, IAM.
Scrum is an agile framework for managing product development that focuses on continuous delivery of working software in short cycles called sprints, typically two weeks or less. Scrum emphasizes self-organizing cross-functional teams and accountability, iterative development and progress transparency through regular inspection of working increments. Key Scrum practices include sprint planning, daily stand-up meetings, sprint reviews, and retrospectives. Scrum can scale to large, complex projects through techniques like Scrum of Scrums.
This document provides an overview of Git commands and workflows:
- It introduces basic Git commands for setting up a local repository, adding and committing files, viewing the status and differences between commits, ignoring files, and more.
- Common workflows are demonstrated including cloning a repository, making changes and committing them locally, and pushing changes to a remote repository.
- More advanced topics are covered like branching, merging, rebasing, resolving conflicts, and using tools to help with these processes.
- Configuration options and tips are provided to customize Git behavior and inspect repositories.
The document provides an overview of version control systems and introduces Git and GitHub. It discusses the differences between centralized and distributed version control. It then covers the basics of using Git locally including initialization, staging files, committing changes, branching and merging. Finally, it demonstrates some common remote operations with GitHub such as pushing, pulling and tagging releases.
This document provides an introduction to Git basics and concepts. It covers version control systems and why distributed version control is useful. It then discusses how Git originated from the Linux kernel project. The document reviews basic Git commands and workflows for setting up a repository, tracking and committing changes. It also covers viewing differences between commits, staging files, and undoing or amending commits. Finally, it discusses sharing repositories remotely including adding remotes, pushing and pulling from remote repositories, and cloning repositories from remote URLs.
A Git tutorial for rookies that covers most aspects of basic Git usage for a medium sized project.
This was originally a semestral lecture given at the TU Wien for the course "Software Engineering and Project Management"
Git is a distributed revision control system that is widely used in the software development industry. The presentation was used in a lecture delivered in BITS-Pilani, India. The lecture served as a basic crash course on Git.
First, it sets off with a guide to install and configure git on various platforms.
Then, the basic working concepts of Git are explained.
This is followed by a detailed step-by-step guided demonstration of a sample workflow in Git.
Afterwards, Some auxillary commands that are frequently used are discussed briefly.
Finally, basic concepts of branching and merging are detailed.
The presentation ends with a few possible merge conflicts that occur in Git.
This document provides an introduction to the version control system Git. It defines key Git concepts like the working tree, repository, commit, and HEAD. It explains that Git is a distributed version control system where the full history of a project is available once cloned. The document outlines Git's history, with it being created by Linus Torvalds to replace the commercial BitKeeper tool. It then lists and briefly describes important Git commands for local and collaboration repositories, including config, add, commit, log, diff, status, branch, checkout, merge, remote, clone, push, and pull. Lastly, it covers installing Git and generating SSH keys on Windows for accessing Git repositories.
Git branching model for efficient development.
(1) Main branches like master and development are used for new features and releases. (2) Supporting branches like bugfix and feature branches have limited lifespans. (3) The workflow handles features, bugs, and releases across environments while maintaining a clean history. Rebasing is preferred over merging for cleaner histories when working locally, while merging integrates changes for public branches.
Git is a distributed version control system that records changes to files over time. It allows multiple developers to work together and tracks the version history. The document outlines the basic concepts and commands of Git including repositories, commits, branches, merging, cloning, pulling and pushing changes between a local and remote repository. Examples are provided to demonstrate how to initialize a local repository, add and commit changes, switch branches, and push updates to a remote server.
The document compares features of GitHub and GitLab version control software. It notes that both support code repositories, issue tracking, pull requests, and project web pages. Additionally, it states that GitLab offers integrated continuous integration and container registry features. The document promotes GitLab as having CI integrated directly with the code repository, hassle-free pipeline creation, a seamless workflow, an open source business model, rapid growth, and complete transparency.
Git is an open source, distributed version control system designed for speed and efficiency. It is fully distributed, allowing work to be done offline and with no central server required. Git stores snapshots of files instead of tracking changes between file versions, making it very efficient and allowing files to be recovered even after changes have been made.
This presentation introduces Git, a distributed version control system. It will discuss who developed Git, what Git is, how Git works, how to use Git, how to deploy projects using Git, and where to learn more. The bulk of the time will be spent explaining how Git works internally and demonstrating how to use it for version control workflows.
This document provides an overview of Git commands and workflows:
- It introduces basic Git commands for setting up a local repository, adding and committing files, viewing the status and differences between commits, ignoring files, and more.
- Common workflows are demonstrated including cloning a repository, making changes and committing them locally, and pushing changes to a remote repository.
- More advanced topics are covered like branching, merging, rebasing, resolving conflicts, and using tools to help with these processes.
- Configuration options and tips are provided to customize Git behavior and inspect repositories.
The document provides an overview of version control systems and introduces Git and GitHub. It discusses the differences between centralized and distributed version control. It then covers the basics of using Git locally including initialization, staging files, committing changes, branching and merging. Finally, it demonstrates some common remote operations with GitHub such as pushing, pulling and tagging releases.
This document provides an introduction to Git basics and concepts. It covers version control systems and why distributed version control is useful. It then discusses how Git originated from the Linux kernel project. The document reviews basic Git commands and workflows for setting up a repository, tracking and committing changes. It also covers viewing differences between commits, staging files, and undoing or amending commits. Finally, it discusses sharing repositories remotely including adding remotes, pushing and pulling from remote repositories, and cloning repositories from remote URLs.
A Git tutorial for rookies that covers most aspects of basic Git usage for a medium sized project.
This was originally a semestral lecture given at the TU Wien for the course "Software Engineering and Project Management"
Git is a distributed revision control system that is widely used in the software development industry. The presentation was used in a lecture delivered in BITS-Pilani, India. The lecture served as a basic crash course on Git.
First, it sets off with a guide to install and configure git on various platforms.
Then, the basic working concepts of Git are explained.
This is followed by a detailed step-by-step guided demonstration of a sample workflow in Git.
Afterwards, Some auxillary commands that are frequently used are discussed briefly.
Finally, basic concepts of branching and merging are detailed.
The presentation ends with a few possible merge conflicts that occur in Git.
This document provides an introduction to the version control system Git. It defines key Git concepts like the working tree, repository, commit, and HEAD. It explains that Git is a distributed version control system where the full history of a project is available once cloned. The document outlines Git's history, with it being created by Linus Torvalds to replace the commercial BitKeeper tool. It then lists and briefly describes important Git commands for local and collaboration repositories, including config, add, commit, log, diff, status, branch, checkout, merge, remote, clone, push, and pull. Lastly, it covers installing Git and generating SSH keys on Windows for accessing Git repositories.
Git branching model for efficient development.
(1) Main branches like master and development are used for new features and releases. (2) Supporting branches like bugfix and feature branches have limited lifespans. (3) The workflow handles features, bugs, and releases across environments while maintaining a clean history. Rebasing is preferred over merging for cleaner histories when working locally, while merging integrates changes for public branches.
Git is a distributed version control system that records changes to files over time. It allows multiple developers to work together and tracks the version history. The document outlines the basic concepts and commands of Git including repositories, commits, branches, merging, cloning, pulling and pushing changes between a local and remote repository. Examples are provided to demonstrate how to initialize a local repository, add and commit changes, switch branches, and push updates to a remote server.
The document compares features of GitHub and GitLab version control software. It notes that both support code repositories, issue tracking, pull requests, and project web pages. Additionally, it states that GitLab offers integrated continuous integration and container registry features. The document promotes GitLab as having CI integrated directly with the code repository, hassle-free pipeline creation, a seamless workflow, an open source business model, rapid growth, and complete transparency.
Git is an open source, distributed version control system designed for speed and efficiency. It is fully distributed, allowing work to be done offline and with no central server required. Git stores snapshots of files instead of tracking changes between file versions, making it very efficient and allowing files to be recovered even after changes have been made.
This presentation introduces Git, a distributed version control system. It will discuss who developed Git, what Git is, how Git works, how to use Git, how to deploy projects using Git, and where to learn more. The bulk of the time will be spent explaining how Git works internally and demonstrating how to use it for version control workflows.
This document provides a brief introduction to Git, a distributed version control system. It describes what Git is and some of its key features, such as tracking changes to files over time, supporting distributed development, efficient object storage, easy branching and merging, and universal public identifiers. The document also discusses some of Git's internal mechanisms, such as SHA-1 hashes to uniquely identify objects, the index cache, and how commits and branches work.
Introduction to Git/Github - A beginner's guideRohit Arora
Introduction to Git/Github - A beginner's guide
Agenda:
Installing Git
Introduction to Version Control
Git Basics
Creating a new local Git repository
Cloning a Git repository
Making use of Git commit history
Reverting files to previous states
Creating a Github Repository
Adding, Committing & Pushing changes
Branching
Merging Branches
Sending Pull Requests
Conflict Resolution
and 3 Exercises
The Top Skills That Can Get You Hired in 2017LinkedIn
We analyzed all the recruiting activity on LinkedIn this year and identified the Top Skills employers seek. Starting Oct 24, learn these skills and much more for free during the Week of Learning.
#AlwaysBeLearning https://learning.linkedin.com/week-of-learning
A Git tutorial with example and demo.
YouTube Videos
Day 1: https://www.youtube.com/watch?v=XBreuLi79bk
Day 2: https://www.youtube.com/watch?v=5e6i3r5Vz34
A simple introduction for basic use of git and git hub.
Since I'm a rookie to Git, If there is anything wrong, please contact me.
Hope you'll enjoy it.
This document provides an overview of startup best practices including lean startup methodology, user stories, agile development practices, Git version control, metrics and analytics, and customer acquisition and retention strategies. It emphasizes frequent iteration and customer feedback to build the minimum viable product and validate business assumptions quickly.
This document provides an overview of RSpec testing for Rails applications. It discusses installing and generating RSpec files, different types of RSpec specs including model, controller, view, helper and routing specs. It covers spec syntax for expectations, matchers, factories and stubs. It also mentions features specs using Capybara, debugging techniques, JavaScript testing, and tools like DatabaseCleaner. The document is intended as a tutorial for setting up and writing different kinds of RSpec tests for a Rails application.
The document discusses exception handling in Ruby programming. It begins with an introduction to exception handling and why it is important. Then it covers the main concepts of exception handling in Ruby, including raise, rescue, ensure, retry and else. It also discusses some caveats and guidelines for exception handling, such as only using exceptions for truly unexpected situations and avoiding exception abuse.
Exception Handling: Designing Robust Software in RubyWen-Tien Chang
The document discusses exception handling in Ruby. It begins with explaining why exception handling is important for building robust software. It then covers various aspects of exception handling in Ruby including raising exceptions, rescuing exceptions, ensuring code is executed, retrying code, and using else blocks. It provides guidelines for proper exception handling practices such as only raising exceptions for unexpected situations. The document concludes by discussing different failure handling strategies like ensuring exception safety and categorizing operational errors versus programmer errors.
This document provides an overview introduction to the Ruby programming language. It discusses what Ruby is, basic syntax, key features like being dynamically typed and object-oriented, implementations, applications, and the ecosystem. It also covers topics like variables, data types, control flow, methods, classes, and encapsulation. Code examples are provided to demonstrate various language constructs.
The document summarizes RubyConf Taiwan 2012. Some key details include:
1) The conference had over 160 attendees including 35 speakers, with about 25 foreign attendees from countries like Japan.
2) Notable speakers included Yukihiro "Matz" Matsumoto, the creator of Ruby, and other Ruby Core Team members.
3) The two-day conference included 15 main talks and 23 lightning talks.
4) The organizers expressed thanks to the speakers, sponsors, and attendees for their participation in making the conference a success.
This document discusses the benefits of functional programming (FP) that the author learned. It begins by explaining how multithreading programs are difficult to write, test, and ensure thread safety due to mutable shared state. FP avoids these issues by not using mutable variables. The document then covers some key aspects of FP like recursion, higher-order functions, function composition, and immutable data structures. It provides examples in various languages to illustrate these concepts. The author argues that FP provides a good foundation for writing concurrent programs due to its avoidance of mutable state.
Here are some potential caveats with BDD style testing:
1. The framework can feel too "magical" if it uses too much metaprogramming under the hood. The implementation details should not be obscured.
2. Descriptions can become too vague if they only state intentions at a very high level without concrete examples. Tests as documentation only works if the descriptions are clear and specific.
3. There is a risk of duplication if contexts or examples are not properly organized and nested. Descriptions should aim to be DRY.
4. Performance overhead of the framework if it does a lot of runtime reflection or string manipulation. The framework should have a small performance footprint.
5. Tests become brittle
9. Version Control System (VCS)
‧建⽴立 Repository (儲存庫),⽤用來保存程式碼
‧⽅方便散佈程式給團隊,有效率協同開發
‧記錄誰改變什麼、在什麼時候、因為什麼原因
‧Branch(分⽀支),可因不同情境分開開發
‧Tag(標籤) 重要⾥里程碑,以便參照
9
11. LocalVCS
copy paste 資料夾管理, rcs
11
⼯工作⺫⽬目錄:
檔案
版本資料庫
!
!
!
!
!
!
!
Version 2
Version 1
Version 3
copypaste
}Local
無法協同開發
12. CentralizedVCS (Lock型,悲觀鎖定)
12
電腦 A
檔案
電腦 B
檔案
中央版本資料庫
!
!
!
!
!
!
!
Version 2
Version 1
Version 3
commitlock and checkout
}Server
}Local
雖然可以避免衝突,但是很不⽅方便。
其他⼈人得排隊,萬⼀一先取出的⼈人寫很久或
忘記 unlock...
13. CentralizedVCS (Merge型,樂觀鎖定)
CVS, Subversion, Perforce
13
電腦 A
檔案
電腦 B
檔案
中央版本資料庫
!
!
!
!
!
!
!
Version 2
Version 1
Version 3
commitcheckout
}Server
}Local
1. 做什麼事都要跟
伺服器連線,很慢。
2. Single point of failure
21. DAG 儲存⽅方式 (DAG: Directed acyclic graph)
利⽤用有向無環圖來記錄 metadata 建構出 snapshots 。
相同內容只會有⼀一份記錄。
21
A
B
C
C1 C2 C3 C4 C5
A1
B
C1
A1
B
C2
A2
B1
C2
A2
B2
C3
snapshot
storage
I’m a mini filesystem!
Not just VCS.
延伸應⽤用:
可當做備份儲存格式
52. Working tree 裡的檔案有四種狀態
52
git directory
(repository)
staging
area
working
directory
git add
git commit
Untracked files
Changes not
staged for
commit
Changes to be
committed
Commtted
53. Why? Staging Area
‧Working tree 可能很亂,包含了想要
commit 的內容和不相關的實驗修改等
‧Staging area 的設計可以讓你只 commit 想要
的檔案,甚⾄至是想要的部份修改⽽而已
‧Staging Area ⼜又叫作 Index
53
57. 在 commit 之前如何復原修改?
(demo)
git directory
(repository)
staging
area
working
directory
git reset
git checkout
Changes not
staged for
commit
Changes to be
committed
Commtted
(未修改前)
89. Git 可以⼀一次合併多個 Branchs
git merge A B C
89
http://stackoverflow.com/questions/
366860/when-would-you-use-the-
different-git-merge-strategies
103. rebase (重新 commit ⼀一遍)
‧git rebase -i e37c7578
103
pick 048b59e first commit
pick 995dbb3 change something
pick aa3e16e changed
!
# Rebase 0072886..1b6475f onto 0072886
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.