Skip to content

Instantly share code, notes, and snippets.

View petersirka's full-sized avatar
🤓
From zero to hero

Peter Širka petersirka

🤓
From zero to hero
View GitHub Profile
require('total.js');
U.download('http://www.w3schools.com/xml/plant_catalog.xml', ['get'], function(err, response) {
response.on('data', U.streamer('<PLANT>', '</PLANT>', function(item, counter) {
// item === a whole element {String}
var obj = item.parseXML();
console.log('--->', obj['PLANT.COMMON'], counter + 1);
}));
});
COMPONENT('mycomponent', function() {
var self = this;
self.setter = function(value) {
if (value == null)
value = '';
self.html(value);
};
});
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.1.0/d3.min.js"></script>
@petersirka
petersirka / nginx.conf
Created July 15, 2016 09:32
Nginx configuration
worker_processes auto;
events {
use epoll;
worker_connections 1024;
multi_accept on;
}
http {
limit_req_zone $binary_remote_addr zone=ddos:10m rate=50r/s;
const Exec = require('child_process').exec;
var cmd = 'ps aux | grep "mysql" | grep -v "grep" | awk {\'print $2\'}';
Exec(cmd, function(err, response) {
var pid = response.trim();
cmd = 'ps -p {0} -o %cpu,rss,etime'.format(pid);
console.log(cmd);
Exec(cmd, function(err, response) {
console.log('---> POSLAT SIROVI:', arguments);
});
@petersirka
petersirka / controller.js
Created December 12, 2016 12:32
Total.js: A workflow and controller with implementation of reCAPTCHA.
exports.install = function() {
F.route('/api/signup/', json_signup, ['*SignUp', 'post']);
};
function json_signup() {
var self = this;
self.$async(self.callback(), 1).$workflow('recaptcha').$save().$workflow('notify');
}
require('total.js').http('debug');
var util = require('util');
var EventEmitter = require('events');
// jen na test
var WSCONTROLLER = {
send: function(data){ console.log(data)}
}
@petersirka
petersirka / parser-transform.js
Created March 19, 2017 22:15
Parse transform SVG attribute
String.prototype.parseTransform = function() {
var prop = ['translate', 'matrix', 'rotate', 'skewX', 'skewY', 'scale'];
var val = this.match(/(translate|matrix|rotate|skewX|skewY|scale)\(.*?\)/g);
var obj = {};
if (val) {
for (var i = 0, length = val.length; i < length; i++) {
var item = val[i];
var index = item.indexOf('(');
var v = item.substring(index + 1, item.length - 1).split(/\,|\s/);
var n = item.substring(0, index);
@petersirka
petersirka / azure-documentdb-totaljs.js
Last active May 4, 2018 12:18
A simple REST implementation of Azure DocumentDB with help of Total.js framework
const Crypto = require('crypto');
require('total.js');
function DocumentDB(hostname, key) {
this.hostname = hostname;
this.key = key;
this.attempts = 0;
this.expiration = '10 minutes';
}
@petersirka
petersirka / proxy.js
Created May 14, 2018 14:31
HTTP agent as a proxy tunel
function request_proxy(options, callback) {
var proxy = options.proxy;
proxy.path = options.uri.hostname;
proxy.headers = { host: options.uri.hostname };
if (proxy.auth)
proxy.headers['Proxy-Authorization'] = 'Basic ' + U.createBuffer(proxy.auth).toString('base64');
var req = Https.request(proxy);