Skip to content

Instantly share code, notes, and snippets.

View tjunghans's full-sized avatar
💭
Open for business

Thomas Junghans tjunghans

💭
Open for business
View GitHub Profile
@tjunghans
tjunghans / .jshintrc
Last active December 26, 2015 10:19
JSHint configuration file example. See http://www.jshint.com/docs/ for more information.
{
"globals": {
"console": false,
"debug" : false,
"jQuery" : false
},
"camelcase" : true,
"curly": true,
"eqeqeq": true,
@tjunghans
tjunghans / css-directory-structure
Created May 23, 2014 12:38
CSS Directory structure inspired by CSSWizardry
Directories:
* 0-settings
* 1-tools
* 2-generic
* 3-base
* 4-objects
* 5-gui
* 6-trump
@tjunghans
tjunghans / Controller.js
Last active August 29, 2015 14:24
Inherit from NodeJS Eventemitter
// EventEmitter pattern: https://www.joyent.com/developers/node/design#EventEmitter
var EventEmitter = require('events').EventEmitter;
var utils = require('utils');
function Controller() {
if (!(this instanceof Controller)) return new Controller();
EventEmitter.call(this);
}
@tjunghans
tjunghans / sort-based-on-array.js
Last active August 29, 2015 14:27
Sort array according to array
// It is expected that `order` and `items` have the same length
// and that all key values in items exist in order
// Order according to
var order = [ 'charlie', 'delta', 'quebec', 'foxtrott' ];
// Needs re-ordering
var items = [
{ key: 'charlie' },
{ key: 'delta' },
{ key: 'foxtrott' }, // not in order
// add n amount of arguments together
function add() {
var sum = 0;
var i;
var len = arguments.length;
for (i = 0; i < len; i++) {
sum += Number(arguments[i]);
}
return sum;
}
// https://de.wikipedia.org/wiki/Gr%C3%B6%C3%9Fter_gemeinsamer_Teiler
function gcd(a, b) {
return b === 0 ? a : gcd(b, a % b);
}
// https://de.wikipedia.org/wiki/Kleinstes_gemeinsames_Vielfaches
function lcd(a, b) {
return (a * b) / gcd(a, b);
}
function thousands(value) {
var SIZE = 3;
var parts = String(value).split('.');
var number = parts[0];
var dec = parts.length === 2 ? '.' + parts[1] : ''
var formatted = '';
var i;
var len = number.length;
for (i = 0; i < len; i++) {
if (len > SIZE && i > 0 && !((len - i) % SIZE)) {
@tjunghans
tjunghans / frontend-developer-interview-questions.md
Last active October 3, 2015 23:10
Frontend Developer Interview Questions

Frontend Developer Interview Questions

JavaScript

Types

  • What are the primitive/native types exist?
  • Which built-in prototypes exist?
  • What is the difference between a primitive and complex type?
  • Which primitives have corresponding objects?
@tjunghans
tjunghans / pjson-dependency-versions.js
Created September 22, 2015 12:06
A node js script to show the latest version of the dependencies and devDependencies
"use strict";
var shell = require("shelljs");
var fs = require("fs");
var pjson = JSON.parse(fs.readFileSync("./package.json"), "utf8");
function printDependencies(deps) {
Object.keys(deps).forEach(function (name) {
console.log(name, deps[name].version + " --> " + deps[name].latest);
@tjunghans
tjunghans / obj-get-prop.js
Created February 9, 2016 12:11
Get the value of an object property where the property is a string consisting either of the name or changed hierarchy
console.clear();
var obj = {
namespace: {
foo: "123"
}
};
function getPropVal(obj, prop) {
var levels = prop.split(".");
if (levels.length === 1) { return obj[levels[0]]; }