Getting Started with the Tools of Software Development

Preview:

DESCRIPTION

git, editor, open source, project management, continuous integration, vagrant, software development

Citation preview

Getting Sared with the Tools of Software

Developmentkcliu @ MACLab 2013

13年7月10日星期三

me

• kcliu

• Twiter, Plurk, Github

• Blog: http://kcliutw.tumblr.com/

• Open Source, Hacking Thursday, g0v.tw

13年7月10日星期三

Programming...?

13年7月10日星期三

Edior?

13年7月10日星期三

Backup?

13年7月10日星期三

Share?

+

music_app_07102013.zip

13年7月10日星期三

“This city deserves a beter class of criminal”

13年7月10日星期三

Version Control

• Backup

• Hisory (when, what, why)

• Documenting

• Branch

• Cost of transfer/learn/trace

13年7月10日星期三

Subversion(SVN)

13年7月10日星期三

Subversion(SVN)

• Problem is....

• When network is down...

• Slow

13年7月10日星期三

Git

• Fast

• Distribued

• Local commit/Remoe push

13年7月10日星期三

Git

13年7月10日星期三

Git

$ git init$ git add *.c$ git add README$ git commit -m 'initial project version'

13年7月10日星期三

Github

• Reposiory server

• Use git

• Coder’s facebook

• Free if open sourced

13年7月10日星期三

GUI Tools• Github for mac http://mac.github.com/

13年7月10日星期三

GUI Tools• Gitbox http://gitboxapp.com/

13年7月10日星期三

Text Edior

• Vim

• Sublime Text 2

13年7月10日星期三

Why?

• Pretty Synax

• Split Editing

• Powerful Plugins

• Cross Platform

• Cusomize Anything

13年7月10日星期三

Pretty Synax

13年7月10日星期三

Split Editing

13年7月10日星期三

Powerful Plugins

gitgutter

13年7月10日星期三

Powerful Plugins

BracketHighlighter

13年7月10日星期三

Powerful PluginsSnippets

13年7月10日星期三

Cusomizing

"trim_trailing_white_space_on_save": true,"translate_tabs_to_spaces": true,"tab_size": 4,"highlight_line": true

13年7月10日星期三

Cusomizing

• Font for coding

• Source Code Pro by Adobe

• Confusable characers

13年7月10日星期三

Source Code Pro

13年7月10日星期三

Team Collaboration

13年7月10日星期三

Coding Style

• ediorconfig (http://ediorconfig.org/)

• supports Sublime Text 2/Vim ...ec

13年7月10日星期三

Project Management

• Github

• Trello

13年7月10日星期三

Github

• Issue Tracking

• git push/pull, merge

• Free privae repo: bitbucket

13年7月10日星期三

Github Diff

13年7月10日星期三

Issue Tracking

13年7月10日星期三

Github

13年7月10日星期三

Trello

• Organize everything

• Not only for programmers

13年7月10日星期三

Trello

13年7月10日星期三

13年7月10日星期三

Continuous Inegration

• Build (compile source code)

• Run esting

• Deployment

• Feedback

13年7月10日星期三

Continuous Inegration

13年7月10日星期三

Continuous Inegration

• It’s all about auomation

• Coders are lazy

• Advanced: when I’m saving a file...

13年7月10日星期三

Continuous Inegration

• Travis CI

• Hosed CI service

• Inegraes with Github

• Run afer every Commit

13年7月10日星期三

13年7月10日星期三

13年7月10日星期三

Group Chat

• Hipchat (https://www.hipchat.com/)

• Why not Skype/Facebook?

• Free if members <= 5

• Complee chat hisory

• Inegraes everything

• Github, TravisCI, Trello...

13年7月10日星期三

13年7月10日星期三

One More Thing...

• Vagrant (http://www.vagrantup.com/)

• A ool for creating and distributing virtualized development environments.

• Virtual machine

• http://www.slideshare.net/ihower/vagrant-osdc

13年7月10日星期三

Questions?13年7月10日星期三