Skip to content

Instantly share code, notes, and snippets.

View icebob's full-sized avatar

Icebob icebob

View GitHub Profile
@icebob
icebob / example.js
Last active August 26, 2018 15:34
Safe JSON Serializer for Moleculer framework
const ServiceBroker = require("moleculer");
const SafeJSONSerializer = require("./safe-json-serializer.js");
const broker = new ServiceBroker({
logger: true,
serializer: new SafeJSONSerializer()
});
@icebob
icebob / param-converter.middleware.js
Last active November 6, 2018 17:30
Params converter middleware for Moleculer framework
"use strict";
const ServiceBroker = require("../src/service-broker");
/**
* Proof-of-Concept middleware to convert context params
* @param {Function} handler
* @param {Action} action
*/
function paramConverterMiddleware(handler, action) {
@icebob
icebob / store.js
Created December 14, 2017 13:41
Simple event storing service for Moleculer
"use strict";
let ServiceBroker = require("../src/service-broker");
let broker = new ServiceBroker({
logger: true,
logLevel: "debug",
});
broker.createService({
@icebob
icebob / joi-validator.js
Created September 11, 2017 09:23
Example Joi validator for Moleculer
"use strict";
let ServiceBroker = require("../src/service-broker");
let BaseValidator = require("../src/validator");
let { ValidationError } = require("../src/errors");
// --- JOI VALIDATOR CLASS ---
class JoiValidator extends BaseValidator {
constructor() {
super();
@icebob
icebob / Dockerfile
Created July 26, 2017 10:42
Dockerfile for the sample service
FROM node:6
RUN mkdir /app
WORKDIR /app
COPY package.json .
RUN npm install --production
COPY . .
@icebob
icebob / moleculer.js
Last active February 15, 2020 17:09
Moleculer quick example
const { ServiceBroker } = require("moleculer");
// Create broker
const broker = new ServiceBroker();
// Create a service
broker.createService({
name: "math",
actions: {
add(ctx) {
return Number(ctx.params.a) + Number(ctx.params.b);
@icebob
icebob / install.sh
Created April 18, 2017 21:01 — forked from wdullaer/install.sh
Install Latest Docker and Docker-compose on Ubuntu
# Ask for the user password
# Script only works if sudo caches the password for a few minutes
sudo true
# Install kernel extra's to enable docker aufs support
# sudo apt-get -y install linux-image-extra-$(uname -r)
# Add Docker PPA and install latest version
# sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
# sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
@icebob
icebob / remove-diacritics.js
Created January 10, 2017 14:01
Ékezetek leszedése
// Credit: http://web.archive.org/web/20120918093154/http://lehelk.com/2011/05/06/script-to-remove-diacritics
var defaultDiacriticsRemovalMap = [
{'base':'A', 'letters':/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},
{'base':'AA','letters':/[\uA732]/g},
{'base':'AE','letters':/[\u00C6\u01FC\u01E2]/g},
{'base':'AO','letters':/[\uA734]/g},
{'base':'AU','letters':/[\uA736]/g},
{'base':'AV','letters':/[\uA738\uA73A]/g},
{'base':'AY','letters':/[\uA73C]/g},
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>UUID</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/benchmark/1.0.0/benchmark.min.js"></script>
<script src="./suite.js"></script>
</head>
<body>
<h1>Open the console to view the results</h1>
@icebob
icebob / README.md
Created September 27, 2016 20:21 — forked from addyosmani/README.md
108 byte CSS Layout Debugger

CSS Layout Debugger

A tweet-sized debugger for visualizing your CSS layouts. Outlines every DOM element on your page a random (valid) CSS hex color.

One-line version to paste in your DevTools

Use $$ if your browser aliases it:

~ 108 byte version