SlideShare a Scribd company logo
IDE, Terminal and SCM to 
work with Ruby on Rails 
Henry Le
1. Integrated Development 
Environment (IDE)
1.a IDE vs Editor 
• IDE (integrated development environment): make software 
development faster, usually provide code auto-completion; 
refactoring support; fast find of files, function, class; debug 
support; integrated build tools; source control management 
… 
• IDE examples: Netbeans, Eclipse, Sublime, Ruby Mine, 
Aptana Studio… 
• Text Editor: provide plain text editor, sometimes also provide 
syntax highlighting 
• Text editor examples: notepad, gedit, TextMate, vim, …
1.b What IDE is 
popular for RoR? 
• In Ruby on Rails community, Sublime and Ruby Mine 
are the 2 most popular IDEs that everyone usually use 
in Mac OS and Linnux. 
• For Windows Rubyist, they usually use Netbeans, 
Aptana and Sublime.
Ruby Mine
Netbeans
Sublime
1.c Sublime Packages 
• Sublime Packages are the way Sublime organisation 
its plugins, settings. 
• For RoR developer, we can add more syntax plugins to 
have much better code highlighting.
Sublime Packages
Without sass 
plugin 
With sass 
plugin
1.d Sublime Key Bindings 
and Settings 
• Sublime settings store our config about writing code, 
page format, font type, highlight line, tab size … We 
can refer the Setting - Default file for the options 
supported. 
• Sublime key binding store short cut definitions for 
Sublime commands. We can refer in Key Binding 
command for some examples to customise or add 
new ones.
Sublime Key Bindings
Sublime Settings
1.e Are Sublime Settings is 
important? 
• This is short but important! 
• Why? When work in a group, we need to make our 
code consistent with everyone and the code 
convention is one of the best key here.
Mix indentation formats 
We don’t see the different in Editor but in Github they 
show very clear. It make reviewing pull requests more 
difficult and confusing.
Indentation for 
4 spaces or tab 
Long indentation distance make it hard to follow the code 
follow, reduce ability to focusing when the line so long.
The best practises 
https://github.com/bbatsov/ruby-style-guide
2. Terminal
Command line 
format customisation 
• https://github.com/robbyrussell/oh-my-zsh 
• https://github.com/zsh-users/antigen
Sample screenshot
Sample config
3. Source control 
management (SCM)
Git 
• Almost RoR developer use git as source control 
management system. 
• Why? Becasuse it’s very flexible, easy to use and make 
developer life happier. :) 
• For more information and comparision, you can find at: 
• http://stackoverflow.com/questions/871/why-is-git-better- 
than-subversion 
• https://git.wiki.kernel.org/index.php/GitSvnComparison
Git flow overview 
• Gitk (Linux) 
• Git-cola (Mac, Linux, Windows) 
• SourceTree (Mac, Windows) 
• Linux user can not use SourceTree so a combine of 
gitk and git cola work fine also.
Git cola
Gitk
SourceTree
4. Conclusion 
• Tools for software development are flexible and 
depend on which languages, platforms that your 
software written by. 
• For Ruby on Rails, this slide has covered some tips 
and techniques on Sublime, Command Line 
customisation and Git flow tools.
Happy coding 
Hope this help!
Preference 
• http://sublimetext.info/docs/en/ 
• https://github.com/bbatsov/ruby-style-guide 
• https://github.com/styleguide/ruby
Ad

Recommended

Conheça a nova arquitetura do compilador do C# (DNAD 2015)
Conheça a nova arquitetura do compilador do C# (DNAD 2015)
Giovanni Bassi
 
easyM2R
easyM2R
Carsten Klee
 
XDebug For php debugging
XDebug For php debugging
Omid Khosrojerdi
 
Functional Solid, Aleksandr Sugak
Functional Solid, Aleksandr Sugak
Sigma Software
 
Functional solid
Functional solid
Alexandr Sugak
 
CI/CD for Asp.net core apps using Docker
CI/CD for Asp.net core apps using Docker
Swaminathan Vetri
 
Cucumber
Cucumber
Nagaraddi SS
 
TypeScript Jump Start
TypeScript Jump Start
Mostafa
 
Shell scripting with f
Shell scripting with f
OnorioCatenacci
 
Unicom DevCon - CI/CD for Asp.net core apps using Docker
Unicom DevCon - CI/CD for Asp.net core apps using Docker
Swaminathan Vetri
 
Swift should I switch?
Swift should I switch?
wulfgeng
 
Skinny Framework 1.0.0
Skinny Framework 1.0.0
Kazuhiro Sera
 
DBI for Parrot and Perl 6 Lightning Talk 2007
DBI for Parrot and Perl 6 Lightning Talk 2007
Tim Bunce
 
Dynamic Languages on the JVM
Dynamic Languages on the JVM
elliando dias
 
Cucumber.js: Cuke up your JavaScript!
Cucumber.js: Cuke up your JavaScript!
Julien Biezemans
 
Introduction to web development
Introduction to web development
Anh Nguyen
 
Ruby formatters
Ruby formatters
Visuality
 
Modern .NET Ecosystem
Modern .NET Ecosystem
Andrei Marukovich
 
Docker Containers - Talk Linux Day 2015
Docker Containers - Talk Linux Day 2015
Fabio Ferrari
 
10 Reasons to Use an IDE for OpenVMS Development
10 Reasons to Use an IDE for OpenVMS Development
ecubemarketing
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
Gaetano Giunta
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkins
ecubemarketing
 
The new era of PHP web development.
The new era of PHP web development.
Akihito Koriyama
 
Not your fathers language c++
Not your fathers language c++
명신 김
 
디자인 시스템에 직방 ZUIX
디자인 시스템에 직방 ZUIX
NAVER Engineering
 
PHP - Programming language war, does it matter
PHP - Programming language war, does it matter
Mizno Kruge
 
Azure at the command line
Azure at the command line
Ravikanth Chaganti
 
Introduction to Zend framework Boilerplate
Introduction to Zend framework Boilerplate
Michael Romer
 
Development tools
Development tools
Robert Deutz
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails Projects
GR8Conf
 

More Related Content

What's hot (20)

Shell scripting with f
Shell scripting with f
OnorioCatenacci
 
Unicom DevCon - CI/CD for Asp.net core apps using Docker
Unicom DevCon - CI/CD for Asp.net core apps using Docker
Swaminathan Vetri
 
Swift should I switch?
Swift should I switch?
wulfgeng
 
Skinny Framework 1.0.0
Skinny Framework 1.0.0
Kazuhiro Sera
 
DBI for Parrot and Perl 6 Lightning Talk 2007
DBI for Parrot and Perl 6 Lightning Talk 2007
Tim Bunce
 
Dynamic Languages on the JVM
Dynamic Languages on the JVM
elliando dias
 
Cucumber.js: Cuke up your JavaScript!
Cucumber.js: Cuke up your JavaScript!
Julien Biezemans
 
Introduction to web development
Introduction to web development
Anh Nguyen
 
Ruby formatters
Ruby formatters
Visuality
 
Modern .NET Ecosystem
Modern .NET Ecosystem
Andrei Marukovich
 
Docker Containers - Talk Linux Day 2015
Docker Containers - Talk Linux Day 2015
Fabio Ferrari
 
10 Reasons to Use an IDE for OpenVMS Development
10 Reasons to Use an IDE for OpenVMS Development
ecubemarketing
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
Gaetano Giunta
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkins
ecubemarketing
 
The new era of PHP web development.
The new era of PHP web development.
Akihito Koriyama
 
Not your fathers language c++
Not your fathers language c++
명신 김
 
디자인 시스템에 직방 ZUIX
디자인 시스템에 직방 ZUIX
NAVER Engineering
 
PHP - Programming language war, does it matter
PHP - Programming language war, does it matter
Mizno Kruge
 
Azure at the command line
Azure at the command line
Ravikanth Chaganti
 
Introduction to Zend framework Boilerplate
Introduction to Zend framework Boilerplate
Michael Romer
 
Unicom DevCon - CI/CD for Asp.net core apps using Docker
Unicom DevCon - CI/CD for Asp.net core apps using Docker
Swaminathan Vetri
 
Swift should I switch?
Swift should I switch?
wulfgeng
 
Skinny Framework 1.0.0
Skinny Framework 1.0.0
Kazuhiro Sera
 
DBI for Parrot and Perl 6 Lightning Talk 2007
DBI for Parrot and Perl 6 Lightning Talk 2007
Tim Bunce
 
Dynamic Languages on the JVM
Dynamic Languages on the JVM
elliando dias
 
Cucumber.js: Cuke up your JavaScript!
Cucumber.js: Cuke up your JavaScript!
Julien Biezemans
 
Introduction to web development
Introduction to web development
Anh Nguyen
 
Ruby formatters
Ruby formatters
Visuality
 
Docker Containers - Talk Linux Day 2015
Docker Containers - Talk Linux Day 2015
Fabio Ferrari
 
10 Reasons to Use an IDE for OpenVMS Development
10 Reasons to Use an IDE for OpenVMS Development
ecubemarketing
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
Gaetano Giunta
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkins
ecubemarketing
 
The new era of PHP web development.
The new era of PHP web development.
Akihito Koriyama
 
Not your fathers language c++
Not your fathers language c++
명신 김
 
디자인 시스템에 직방 ZUIX
디자인 시스템에 직방 ZUIX
NAVER Engineering
 
PHP - Programming language war, does it matter
PHP - Programming language war, does it matter
Mizno Kruge
 
Introduction to Zend framework Boilerplate
Introduction to Zend framework Boilerplate
Michael Romer
 

Similar to IDE, Terminal and SCM to work with Ruby on Rails (20)

Development tools
Development tools
Robert Deutz
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails Projects
GR8Conf
 
FEATURES OF RUBYMINE
FEATURES OF RUBYMINE
Mindfire LLC
 
Productive Rails development with RubyMine
Productive Rails development with RubyMine
olegshpynov
 
Rails Rookies Bootcamp - Blogger
Rails Rookies Bootcamp - Blogger
Nathanial McConnell
 
Setting up your development environment
Setting up your development environment
Robert Deutz
 
Ruby mine referencecard
Ruby mine referencecard
sushilprajapati
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?
Bruno Capuano
 
Rails development environment talk
Rails development environment talk
Reuven Lerner
 
Toolbox of a Ruby Team
Toolbox of a Ruby Team
Arto Artnik
 
Ruby And Ruby On Rails
Ruby And Ruby On Rails
AkNirojan
 
The Future of library dependency management of Ruby
The Future of library dependency management of Ruby
Hiroshi SHIBATA
 
Ruby on rails toolbox
Ruby on rails toolbox
Blazing Cloud
 
Ruby and Rails short motivation
Ruby and Rails short motivation
jistr
 
Ruby v cpp_preso
Ruby v cpp_preso
jessicard
 
Git for Windows
Git for Windows
Ovidiu Dimulescu
 
Your fist RubyMotion Application
Your fist RubyMotion Application
toamitkumar
 
Git single branch
Git single branch
Carl Brown
 
PDF Ruby on Rails 3 Day BC
PDF Ruby on Rails 3 Day BC
Northwest Independent Ruby Development
 
Install Guide
Install Guide
Santosh Kiran Beyagudem
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails Projects
GR8Conf
 
FEATURES OF RUBYMINE
FEATURES OF RUBYMINE
Mindfire LLC
 
Productive Rails development with RubyMine
Productive Rails development with RubyMine
olegshpynov
 
Rails Rookies Bootcamp - Blogger
Rails Rookies Bootcamp - Blogger
Nathanial McConnell
 
Setting up your development environment
Setting up your development environment
Robert Deutz
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?
Bruno Capuano
 
Rails development environment talk
Rails development environment talk
Reuven Lerner
 
Toolbox of a Ruby Team
Toolbox of a Ruby Team
Arto Artnik
 
Ruby And Ruby On Rails
Ruby And Ruby On Rails
AkNirojan
 
The Future of library dependency management of Ruby
The Future of library dependency management of Ruby
Hiroshi SHIBATA
 
Ruby on rails toolbox
Ruby on rails toolbox
Blazing Cloud
 
Ruby and Rails short motivation
Ruby and Rails short motivation
jistr
 
Ruby v cpp_preso
Ruby v cpp_preso
jessicard
 
Your fist RubyMotion Application
Your fist RubyMotion Application
toamitkumar
 
Git single branch
Git single branch
Carl Brown
 
Ad

Recently uploaded (20)

Making significant Software Architecture decisions
Making significant Software Architecture decisions
Bert Jan Schrijver
 
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Philip Schwarz
 
UPDASP a project coordination unit ......
UPDASP a project coordination unit ......
withrj1
 
What is data visualization and how data visualization tool can help.pdf
What is data visualization and how data visualization tool can help.pdf
Varsha Nayak
 
wAIred_RabobankIgniteSession_12062025.pptx
wAIred_RabobankIgniteSession_12062025.pptx
SimonedeGijt
 
SAP PM Module Level-IV Training Complete.ppt
SAP PM Module Level-IV Training Complete.ppt
MuhammadShaheryar36
 
FME as an Orchestration Tool - Peak of Data & AI 2025
FME as an Orchestration Tool - Peak of Data & AI 2025
Safe Software
 
Software Testing & it’s types (DevOps)
Software Testing & it’s types (DevOps)
S Pranav (Deepu)
 
Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
joybepari360
 
Artificial Intelligence Workloads and Data Center Management
Artificial Intelligence Workloads and Data Center Management
SandeepKS52
 
How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0
Anchore
 
OpenTelemetry 101 Cloud Native Barcelona
OpenTelemetry 101 Cloud Native Barcelona
Imma Valls Bernaus
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
How to Choose the Right Web Development Agency.pdf
How to Choose the Right Web Development Agency.pdf
Creative Fosters
 
Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)
VICTOR MAESTRE RAMIREZ
 
About Certivo | Intelligent Compliance Solutions for Global Regulatory Needs
About Certivo | Intelligent Compliance Solutions for Global Regulatory Needs
certivoai
 
Milwaukee Marketo User Group June 2025 - Optimize and Enhance Efficiency - Sm...
Milwaukee Marketo User Group June 2025 - Optimize and Enhance Efficiency - Sm...
BradBedford3
 
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Safe Software
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
What is data visualization and how data visualization tool can help.pptx
What is data visualization and how data visualization tool can help.pptx
Varsha Nayak
 
Making significant Software Architecture decisions
Making significant Software Architecture decisions
Bert Jan Schrijver
 
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Philip Schwarz
 
UPDASP a project coordination unit ......
UPDASP a project coordination unit ......
withrj1
 
What is data visualization and how data visualization tool can help.pdf
What is data visualization and how data visualization tool can help.pdf
Varsha Nayak
 
wAIred_RabobankIgniteSession_12062025.pptx
wAIred_RabobankIgniteSession_12062025.pptx
SimonedeGijt
 
SAP PM Module Level-IV Training Complete.ppt
SAP PM Module Level-IV Training Complete.ppt
MuhammadShaheryar36
 
FME as an Orchestration Tool - Peak of Data & AI 2025
FME as an Orchestration Tool - Peak of Data & AI 2025
Safe Software
 
Software Testing & it’s types (DevOps)
Software Testing & it’s types (DevOps)
S Pranav (Deepu)
 
Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
joybepari360
 
Artificial Intelligence Workloads and Data Center Management
Artificial Intelligence Workloads and Data Center Management
SandeepKS52
 
How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0
Anchore
 
OpenTelemetry 101 Cloud Native Barcelona
OpenTelemetry 101 Cloud Native Barcelona
Imma Valls Bernaus
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
How to Choose the Right Web Development Agency.pdf
How to Choose the Right Web Development Agency.pdf
Creative Fosters
 
Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)
VICTOR MAESTRE RAMIREZ
 
About Certivo | Intelligent Compliance Solutions for Global Regulatory Needs
About Certivo | Intelligent Compliance Solutions for Global Regulatory Needs
certivoai
 
Milwaukee Marketo User Group June 2025 - Optimize and Enhance Efficiency - Sm...
Milwaukee Marketo User Group June 2025 - Optimize and Enhance Efficiency - Sm...
BradBedford3
 
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Safe Software
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
What is data visualization and how data visualization tool can help.pptx
What is data visualization and how data visualization tool can help.pptx
Varsha Nayak
 
Ad

IDE, Terminal and SCM to work with Ruby on Rails

  • 1. IDE, Terminal and SCM to work with Ruby on Rails Henry Le
  • 2. 1. Integrated Development Environment (IDE)
  • 3. 1.a IDE vs Editor • IDE (integrated development environment): make software development faster, usually provide code auto-completion; refactoring support; fast find of files, function, class; debug support; integrated build tools; source control management … • IDE examples: Netbeans, Eclipse, Sublime, Ruby Mine, Aptana Studio… • Text Editor: provide plain text editor, sometimes also provide syntax highlighting • Text editor examples: notepad, gedit, TextMate, vim, …
  • 4. 1.b What IDE is popular for RoR? • In Ruby on Rails community, Sublime and Ruby Mine are the 2 most popular IDEs that everyone usually use in Mac OS and Linnux. • For Windows Rubyist, they usually use Netbeans, Aptana and Sublime.
  • 8. 1.c Sublime Packages • Sublime Packages are the way Sublime organisation its plugins, settings. • For RoR developer, we can add more syntax plugins to have much better code highlighting.
  • 10. Without sass plugin With sass plugin
  • 11. 1.d Sublime Key Bindings and Settings • Sublime settings store our config about writing code, page format, font type, highlight line, tab size … We can refer the Setting - Default file for the options supported. • Sublime key binding store short cut definitions for Sublime commands. We can refer in Key Binding command for some examples to customise or add new ones.
  • 14. 1.e Are Sublime Settings is important? • This is short but important! • Why? When work in a group, we need to make our code consistent with everyone and the code convention is one of the best key here.
  • 15. Mix indentation formats We don’t see the different in Editor but in Github they show very clear. It make reviewing pull requests more difficult and confusing.
  • 16. Indentation for 4 spaces or tab Long indentation distance make it hard to follow the code follow, reduce ability to focusing when the line so long.
  • 17. The best practises https://github.com/bbatsov/ruby-style-guide
  • 19. Command line format customisation • https://github.com/robbyrussell/oh-my-zsh • https://github.com/zsh-users/antigen
  • 22. 3. Source control management (SCM)
  • 23. Git • Almost RoR developer use git as source control management system. • Why? Becasuse it’s very flexible, easy to use and make developer life happier. :) • For more information and comparision, you can find at: • http://stackoverflow.com/questions/871/why-is-git-better- than-subversion • https://git.wiki.kernel.org/index.php/GitSvnComparison
  • 24. Git flow overview • Gitk (Linux) • Git-cola (Mac, Linux, Windows) • SourceTree (Mac, Windows) • Linux user can not use SourceTree so a combine of gitk and git cola work fine also.
  • 26. Gitk
  • 28. 4. Conclusion • Tools for software development are flexible and depend on which languages, platforms that your software written by. • For Ruby on Rails, this slide has covered some tips and techniques on Sublime, Command Line customisation and Git flow tools.
  • 29. Happy coding Hope this help!
  • 30. Preference • http://sublimetext.info/docs/en/ • https://github.com/bbatsov/ruby-style-guide • https://github.com/styleguide/ruby