Skip to content

Instantly share code, notes, and snippets.

View PavelDemyanenko's full-sized avatar
:octocat:
Right now mostly reacting

xeLL PavelDemyanenko

:octocat:
Right now mostly reacting
View GitHub Profile
@PavelDemyanenko
PavelDemyanenko / server.js
Last active August 29, 2015 14:13
Simple web-server with url parsing.
var http = require("http");
var url = require("url");
function example(route, routes) {
function onRequest(req, res) {
var pathname = url.parse(req.url).pathname;
console.log("Request for " + pathname + " recieved.");
route(pathname, routes, res);
}
@PavelDemyanenko
PavelDemyanenko / index.js
Last active August 29, 2015 14:13
Requiring web-server.
var server = require("./server");
var router = require("./router");
var fooController = require("./fooController");
var routes = {};
routes["/index"] = fooController.index;
routes["/show"] = fooController.show;
server.example(router.route, routes);
@PavelDemyanenko
PavelDemyanenko / router.js
Last active August 29, 2015 14:13
Simple router js.
function route(pathname, routes, res) {
console.log("About to route a request for " + pathname)
if (typeof routes[pathname] === "function") {
routes[pathname](res);
} else {
console.log("No request found for " + pathname)
}
}
exports.route = route;
@PavelDemyanenko
PavelDemyanenko / fooController.js
Last active August 29, 2015 14:13
Controller for routes.
function index(res) {
console.log("Action index was called");
res.writeHead(200, {
"Content-type": "text/plain"
});
var users = {
user1: "Jack White",
user2: "Jack Black",

Answering the Front-end developer JavaScript interview questions to the best of my ability.

  • Explain event delegation

Sometimes you need to delegate events to things.

  • Explain how this works in JavaScript

This references the object or "thing" defined elsewhere. It's like "hey, thing I defined elsewhere, I'm talkin' to you."

  • Explain how prototypal inheritance works.
@PavelDemyanenko
PavelDemyanenko / ejs exmapl
Created January 23, 2015 07:41
Simple example of ejs template engine
<!DOCTYPE html>
<html>
<head>
<title><%- title %></title>
</head>
...
@PavelDemyanenko
PavelDemyanenko / .ackrc
Last active August 29, 2015 14:14 — forked from theaboutbox/.ackrc
--type-add=css=.sass,.less,.scss
--type-add=ruby=.rake,.rsel,.builder,.thor
--type-add=html=.haml,.html.erb,.html.haml
--type-add=js=.js.erb,.coffee
--type-set=cucumber=.feature
--type-set=c=.c,.cpp,.ino,.pde,.h
--ignore-dir=vendor
--ignore-dir=log
--ignore-dir=tmp
--ignore-dir=doc
@PavelDemyanenko
PavelDemyanenko / AuthController.js
Last active August 29, 2015 14:14
authController
authenticate: function(req, res) {
var email = req.param('email');
var password = req.param('password');
if (!email || !password) {
return res.json(401, {err: 'email and password required'});
}
User.findOneByEmail(email, function(err, user) {
if (!user) {
var jwt = require('jsonwebtoken');
module.exports.issueToken = function(payload) {
var token = jwt.sign(payload, process.env.TOKEN_SECRET || "our biggest secret");
return token;
};
module.exports.verifyToken = function(token, verified) {
return jwt.verify(token, process.env.TOKEN_SECRET || "our biggest secret", {}, verified);
};