Cross-Stack Topics

Rocky Bernstein / rocky@gnu.org

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

Project Hosting: http://code.google.com

Project Hosting:
sourceforge.net

  • 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?

Project Hosting:
bitbucket.org

  • 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?

Continuous Integration

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 '...'...
    try re.plDevel::Repl
  • And for bash, zsh,...?
    bash, zsh

non-Programming Languages REPLs

  • Rails: rails console
  • Mysql: mysql
  • Mongo: mongo

But what about Go?

Go-like REPLs

Virtual Environments

But what about a virtual environment for Databases, e.g. mysql, postgres?

Thanks!

Slides are available at http://rocky.github.io/NYC-Stack/slides