About
- French geek
- Full time javascript dev
- Coding for the web for ~1.5 year
- Passionate about js, tooling and ice skating
Three things
to keep in mind
from Larry Wall (creator of Perl)
- Laziness
- Impatience
- Hubris (~arrogance 骄傲)
source
Outline
OS level tool & server
Node.js
In the browser
Speed ?
Delay
User reaction
0 - 100ms
instant
100 - 300ms
Slight perceptible delay
300 - 1000ms
Task focus, perceptible delay
1s+
Mental context switch
10s+
I'll come back later...
--
( from a talk about web performance made by google.
source)
CLI
Embrace the command line
*nix like OS
- Customize your shell and your prompt
- Try different shell (zsh, fish shell)
- Navigate the history like a boss
Some others tools
-
z the file jumper
- Python pygmentize
- Share history between shell
Server management
- Use keys
- ssh-agent for storing passphrases
- man ssh config
Code editor
(basic minimum)
- Syntax highlighting
- Basic indentation support
More editor
- Snippets
- Autocomplete
- Linting
- Compiling
- Version control
- Keyboard shortcut
Version control
- Use it (or stop coding)
- Decentralized
- git ?
Git ?
Some awesome commands (somewhat not that popular).
git stash
git add --patch
git rebase
git rebase -i
OS customization
- See dotfiles on github.
- Learn your tools and automate as much as possible.
Version management
- Use nvm (rvm for ruby, virtual-env for python)
nodemon
Live prototyping. To install with npm install -g
Reload app on file change
node-inspector
Advanced debugging tool.
- Start your app with --debug or --debug-brk.
- Debug with an advanced debugger.
Yeoman
- Combination of bower, grunt and npm.
-
npm node package management
-
grunt de-facto build tool
-
bower package management for js library
Grunt goodness
- Livereload
- Watch file system
- Prepare and deploy webapp
Conclusion
- Learn to use your tools
- Automate as much as possible
- Use a build step (automation)
- Minimize friction