Getting Started with the Tools of Software Development

Post on 11-May-2015

559 views 0 download

description

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

Transcript of Getting Started with the Tools of Software Development

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日星期三