Components of A Full-Stack Development System
- Editor
- Documentation System
- Debugger, Profiler (sometimes mine)
- Test System
- REPL (Read/Eval/Print loop)
- Version Control
- A Virtual environment (e.g. rvm, pythonbrew, perlbrew)
- Virtual servers (VMPlayer, virtualbox, Xen, AWS, Google App, Heroku)
Some of the above are covered in an IDE. Some are covered in Project hosting
Smallish things I'm going to briefly cover
- Project Hosting
- Continuous Testing
- REPL (Read/Eval/Print loop)
- Virtual Environment
Project Hosting: Github
- The Gold Standard — for git
- Constantly Improving
- Social rating via: stars, follow, and fork
- Service hooks
- Private repositories
- One of the first
- git, hg, or svn
- Downloads Section and Stats
- Import from code.google.com
Fun fact: is part of slashdot, thinkgeek, and now dice
But what about private repositories?
- Unlimited private repositories
- Pay to make public
- Same folks as Jira
Continuous Integration: travis.org
- Hooks into github
- Multiple Versions of a Programming-Languages
- For some things, can be real simple
But what about for code.google.com?
Continuous Integration: drone.io
And bitbucket?
REPLs and Debuggers
REPL — Read, Eval, Print, Loop
Debuggers often contain a REPL. Debugger is a REPL with context set up
REPL Examples
- Python:
python
...
or ipython
- Ruby:
irb
- Perl:
perl -e '...'
...
- And for bash, zsh,...?
bash
, zsh
non-Programming Languages REPLs
- Rails:
rails console
- Mysql:
mysql
- Mongo:
mongo
But what about Go?
Virtual Environments
But what about a virtual environment for Databases, e.g. mysql, postgres?