47
Getting Sared with the Tools of Software Development kcliu @ MACLab 2013 13710日星期三

Getting Started with the Tools of Software Development

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Getting Started with the Tools of Software Development

Getting Sared with the Tools of Software

Developmentkcliu @ MACLab 2013

13年7月10日星期三

Page 2: Getting Started with the Tools of Software Development

me

• kcliu

• Twiter, Plurk, Github

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

• Open Source, Hacking Thursday, g0v.tw

13年7月10日星期三

Page 3: Getting Started with the Tools of Software Development

Programming...?

13年7月10日星期三

Page 4: Getting Started with the Tools of Software Development

Edior?

13年7月10日星期三

Page 5: Getting Started with the Tools of Software Development

Backup?

13年7月10日星期三

Page 6: Getting Started with the Tools of Software Development

Share?

+

music_app_07102013.zip

13年7月10日星期三

Page 7: Getting Started with the Tools of Software Development

“This city deserves a beter class of criminal”

13年7月10日星期三

Page 8: Getting Started with the Tools of Software Development

Version Control

• Backup

• Hisory (when, what, why)

• Documenting

• Branch

• Cost of transfer/learn/trace

13年7月10日星期三

Page 9: Getting Started with the Tools of Software Development

Subversion(SVN)

13年7月10日星期三

Page 10: Getting Started with the Tools of Software Development

Subversion(SVN)

• Problem is....

• When network is down...

• Slow

13年7月10日星期三

Page 11: Getting Started with the Tools of Software Development

Git

• Fast

• Distribued

• Local commit/Remoe push

13年7月10日星期三

Page 12: Getting Started with the Tools of Software Development

Git

13年7月10日星期三

Page 13: Getting Started with the Tools of Software Development

Git

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

13年7月10日星期三

Page 14: Getting Started with the Tools of Software Development

Github

• Reposiory server

• Use git

• Coder’s facebook

• Free if open sourced

13年7月10日星期三

Page 16: Getting Started with the Tools of Software Development

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

13年7月10日星期三

Page 17: Getting Started with the Tools of Software Development

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

13年7月10日星期三

Page 18: Getting Started with the Tools of Software Development

Text Edior

• Vim

• Sublime Text 2

13年7月10日星期三

Page 19: Getting Started with the Tools of Software Development

Why?

• Pretty Synax

• Split Editing

• Powerful Plugins

• Cross Platform

• Cusomize Anything

13年7月10日星期三

Page 20: Getting Started with the Tools of Software Development

Pretty Synax

13年7月10日星期三

Page 21: Getting Started with the Tools of Software Development

Split Editing

13年7月10日星期三

Page 22: Getting Started with the Tools of Software Development

Powerful Plugins

gitgutter

13年7月10日星期三

Page 23: Getting Started with the Tools of Software Development

Powerful Plugins

BracketHighlighter

13年7月10日星期三

Page 24: Getting Started with the Tools of Software Development

Powerful PluginsSnippets

13年7月10日星期三

Page 25: Getting Started with the Tools of Software Development

Cusomizing

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

13年7月10日星期三

Page 26: Getting Started with the Tools of Software Development

Cusomizing

• Font for coding

• Source Code Pro by Adobe

• Confusable characers

13年7月10日星期三

Page 27: Getting Started with the Tools of Software Development

Source Code Pro

13年7月10日星期三

Page 28: Getting Started with the Tools of Software Development

Team Collaboration

13年7月10日星期三

Page 29: Getting Started with the Tools of Software Development

Coding Style

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

• supports Sublime Text 2/Vim ...ec

13年7月10日星期三

Page 30: Getting Started with the Tools of Software Development

Project Management

• Github

• Trello

13年7月10日星期三

Page 31: Getting Started with the Tools of Software Development

Github

• Issue Tracking

• git push/pull, merge

• Free privae repo: bitbucket

13年7月10日星期三

Page 32: Getting Started with the Tools of Software Development

Github Diff

13年7月10日星期三

Page 33: Getting Started with the Tools of Software Development

Issue Tracking

13年7月10日星期三

Page 34: Getting Started with the Tools of Software Development

Github

13年7月10日星期三

Page 35: Getting Started with the Tools of Software Development

Trello

• Organize everything

• Not only for programmers

13年7月10日星期三

Page 36: Getting Started with the Tools of Software Development

Trello

13年7月10日星期三

Page 37: Getting Started with the Tools of Software Development

13年7月10日星期三

Page 38: Getting Started with the Tools of Software Development

Continuous Inegration

• Build (compile source code)

• Run esting

• Deployment

• Feedback

13年7月10日星期三

Page 39: Getting Started with the Tools of Software Development

Continuous Inegration

13年7月10日星期三

Page 40: Getting Started with the Tools of Software Development

Continuous Inegration

• It’s all about auomation

• Coders are lazy

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

13年7月10日星期三

Page 41: Getting Started with the Tools of Software Development

Continuous Inegration

• Travis CI

• Hosed CI service

• Inegraes with Github

• Run afer every Commit

13年7月10日星期三

Page 42: Getting Started with the Tools of Software Development

13年7月10日星期三

Page 43: Getting Started with the Tools of Software Development

13年7月10日星期三

Page 44: Getting Started with the Tools of Software Development

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

Page 45: Getting Started with the Tools of Software Development

13年7月10日星期三

Page 46: Getting Started with the Tools of Software Development

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

Page 47: Getting Started with the Tools of Software Development

Questions?13年7月10日星期三