Skip to content

Instantly share code, notes, and snippets.

@hamecoded
Last active August 29, 2015 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hamecoded/f50b7e14f0c8fe3a8ad9 to your computer and use it in GitHub Desktop.
Save hamecoded/f50b7e14f0c8fe3a8ad9 to your computer and use it in GitHub Desktop.
The Secrets of the Full Stack Ninja Workshop - Part A - The Client Side
# how to kill a locked livereload port
➜ myBlog git:(master) ✗ grunt
Running "watch" task
Waiting...
Fatal error: Port 35729 is already in use by another process.
➜ myBlog git:(master) ✗ lsof -i tcp:35729
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Google 308 odeds 209u IPv4 0xa02f8facf3fa33fd 0t0 TCP localhost:50291->localhost:35729 (ESTABLISHED)
node 27569 odeds 12u IPv4 0xa02f8facdaf1f3fd 0t0 TCP *:35729 (LISTEN)
node 27569 odeds 15u IPv4 0xa02f8facdaf24be5 0t0 TCP localhost:35729->localhost:50289 (CLOSE_WAIT)
node 27569 odeds 16u IPv4 0xa02f8facdb1ec3fd 0t0 TCP localhost:35729->localhost:50291 (ESTABLISHED)
➜ myBlog git:(master) ✗ kill -9 27569
[1] + 27569 killed grunt
➜ myBlog git:(master) ✗ lsof -i tcp:35729
➜ myBlog git:(master) ✗
# Homebrew node install
brew install node
which node
/usr/local/bin/node
# which is a symlink to /usr/local/Cellar/node/0.10.26/bin/node
brew upgrade node
# install a module globally to be used as a cli module
# make sure shell path is updated to include the global /usr/local/lib/node_modules
npm install -g jshint
# example .jshintrc file
https://github.com/jshint/jshint/blob/master/examples/.jshintrc
http://www.jshint.com/docs/
# install a dev dependency that will automatically load all modules
npm install --save-dev load-grunt-tasks
npm install grunt-contrib-compass --save-dev
npm install grunt-contrib-watch --save-dev
npm install grunt-contrib-requirejs --save-dev
npm install grunt-contrib-copy --save-dev
npm install grunt-contrib-cssmin --save-dev
npm install grunt-cache-bust --save-dev
npm install --production
npm update --save
# remove removed packages
node prune
# update package.json to latest version
$ npm install -g npm-check-updates
$ npm-check-updates -u
$ npm install
#when "npm update -g bower" fails with EACCES
sudo chown -R $USER /usr/local
/**
* An express server to serve a SPA app
* we use express to simplify handling of static files
* whilst directing all paths to main index.html
* for handling browser refresh
* a more complicate solution using standard modules can be found here:
* https://coderwall.com/p/b2kmkg
* an interesting discussion:
* http://stackoverflow.com/questions/7268033/basic-static-file-server-in-nodejs
*/
var express = require('express'),
app = express();
app.use(express.static(__dirname + '/public'));
app.get('*', function (req, res) {
res.sendfile(__dirname + '/public/index.html');
});
var server = app.listen(process.env.PORT || 8088, function() {
console.log('Listening on port %d', server.address().port);
});
# adding a git tag
git tag -a 0.0.1 -m "create a SPA server"
git push --tags
# showing a git tag
git show 0.0.1
# checking out a tag
git checkout 0.0.1
# deleting a git tag
git tag -d 0.0.1
# to override a tag delete it first and then push it fircebly with -f
git push origin :refs/tags/0.0.1
# linking tags in markdown for README
Tags
-------------------------------------------------------------------------------
* [tag 0.0.1] - in this tag we've reached the point where we have a server set to our SPA app
[tag 0.0.1]:https://github.com/hamecoded/myBlog/tree/0.0.1
# incase shell does not load this key
ssh-add ~/.ssh/github_rsa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment