Update: please note that I have since switched to using a set of bash scripts instead of poluting the Git repository with git svn
.
Author: Kaspars Dambis
kaspars.net / @konstruktors
Update: please note that I have since switched to using a set of bash scripts instead of poluting the Git repository with git svn
.
Author: Kaspars Dambis
kaspars.net / @konstruktors
<?php | |
// app/config/assets_version.php | |
$container->loadFromExtension('framework', array( | |
'templating' => array( | |
'engines' => array('twig'), | |
'assets_version' => exec('git rev-parse --short HEAD'), | |
), | |
)); |
#!/usr/bin/sh | |
rm -rf "$HOME/Library/Preferences/WebIde40" | |
rm -rf "$HOME/Library/Caches/WebIde40" | |
rm -rf "$HOME/Library/Application Support/WebIde40" | |
rm -rf "$HOME/Library/Logs/WebIde40" |
{ | |
"name" : "rarst/install-test", | |
"description" : "Test project for WordPress stack via Composer", | |
"authors" : [ | |
{ | |
"name" : "Andrey Savchenko", | |
"homepage": "http://www.Rarst.net/" | |
} | |
], | |
"type" : "project", |
// NOTE: I previously suggested doing this through Grunt, but had plenty of problems with | |
// my set up. Grunt did some weird things with scope, and I ended up using nodemon. This | |
// setup is now using Gulp. It works exactly how I expect it to and is WAY more concise. | |
var gulp = require('gulp'), | |
spawn = require('child_process').spawn, | |
node; | |
/** | |
* $ gulp server | |
* description: launch the server. If there's a server already running, kill it. |
var crypto = require('crypto'); | |
var _ = require('underscore')._; | |
// Returns elapsed time in milliseconds | |
function get_elapsed_time(startTime) { | |
var diff = process.hrtime(startTime); | |
// (seconds to milliseconds) + (nanoseconds to milliseconds) | |
return (diff[0] * 1000) + (diff[1] / 1000000); | |
} |
When the directory structure of your Node.js application (not library!) has some depth, you end up with a lot of annoying relative paths in your require calls like:
const Article = require('../../../../app/models/article');
Those suck for maintenance and they're ugly.
They say that one of the pros of NodeJS is that you use the same language on the back-end and the front-end, so it's easy to share code between them. This sounds great in theory, but in practice the synchronous dependency handling in NodeJS works completely different than any client-side frameworks (which are asynchronous).
Usually that means that you end up copy-pasting your code between your NodeJS sources and your client-side sources, or you use some tool like Browserify, which is brilliant, but they add an extra step in the build process and most likely will conflict with the dependency handling of the framework of your choice (like AnularJS DI). I couldn't look in the mirror if I would call that code sharing.
Fortunately, with a couple of lines of boilerplate code, you can write a module which works in NodeJS and AngularJS as well without any modification.
No globals in the front-end, and dependencies will work. The isNode and isAngular va
/* | |
* CSS Time to Milliseconds | |
* by Jake Bellacera (http://jakebellacera.com) | |
* ============================================ | |
* | |
* Converts CSS time into milliseconds. Useful for timing functions around CSS animations. | |
* It supports both seconds (s) and milliseconds (ms). | |
* | |
* Arguments: | |
* time_string - string representation of a CSS time unit (e.g. "1500ms" or "1.5s") |
CREATE TABLE accounts( | |
id serial PRIMARY KEY, | |
name VARCHAR(256) NOT NULL | |
); | |
CREATE TABLE entries( | |
id serial PRIMARY KEY, | |
description VARCHAR(1024) NOT NULL, | |
amount NUMERIC(20, 2) NOT NULL CHECK (amount > 0.0), | |
-- Every entry is a credit to one account... |