Skip to content

Instantly share code, notes, and snippets.

@plcgi1
plcgi1 / nginx.conf
Created August 19, 2019 18:32 — forked from CSRaghunandan/nginx.conf
Nginx configuration for serving mp4 videos
#user nobody;
worker_processes 4;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
@plcgi1
plcgi1 / aws description
Created July 17, 2019 19:10
aws description
https://tproger.ru/translations/aws-in-plain-russian/
@plcgi1
plcgi1 / nodejs event-emitter inheritance
Created February 20, 2019 20:18
nodejs event-emitter inheritance
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {
constructor() {
super(); //must call super for "this" to be defined.
}
}
const myEmitter = new MyEmitter();
myEmitter.on('event', () => {
@plcgi1
plcgi1 / mocha before after tips
Last active February 8, 2019 05:51
mocha before after tips
https://mochajs.org/
describe('hooks', function() {
before(function() {
// runs before all tests in this block
});
after(function() {
// runs after all tests in this block
@plcgi1
plcgi1 / nextTick vs setImmediate vs setTimeout.txt
Last active October 10, 2018 13:32
nextTick vs setImmediate vs setTimeout
const setTm = (cb) => {
setTimeout(() => {
cb()
console.log('setTimeout');
}, 0);
}
const setIm = (cb) => {
setImmediate(() => {
cb()
@plcgi1
plcgi1 / mojo-useragent-paralel-crawler
Created March 27, 2018 12:28 — forked from robhammond/gist:4155823
Basic Mojo UserAgent parallel crawler
#!/usr/bin/env perl
use Modern::Perl;
use Mojo::UserAgent;
use Mojo::IOLoop;
use Mojo::URL;
# FIFO queue
my $seed_url = 'http://www.google.co.uk/';
my @urls = ($seed_url);
@plcgi1
plcgi1 / async await foreach loop.txt
Last active March 5, 2018 12:34
async await foreach loop
const waitFor = (ms) => new Promise(r => setTimeout(r, ms))
async function asyncForEach(array, callback) {
for (let index = 0; index < array.length; index++) {
await callback(array[index], index, array)
}
}
asyncForEach([1, 2, 3], async (num) => {
await waitFor(50)
@plcgi1
plcgi1 / gist:2fc75bdd037e95f877d9109002a241ea
Created January 22, 2018 08:23
.evaluate nightmare pass params
.evaluate(function (localConfig, done) {
var element = document.querySelector(localConfig.auth.alertDiv), content;
done();
}, localConfig);
@plcgi1
plcgi1 / nightmare loop real example
Last active December 21, 2017 10:07
nightmare loop real example
/*
* Получение мобильных useragent с сайта https://developers.whatismybrowser.com/useragents/explore/operating_system_name/android
* с каждой страницы выдирает ua для мобилок
* после прохода по всем страницам - сохраняет в текущей директории в json
*
* */
const fs = require('fs'),
jsonfile = require('jsonfile'),
Nightmare = require('nightmare');
@plcgi1
plcgi1 / gist:a49cef395bf2745ab97ffa732c419173
Created November 1, 2017 08:28
пример .evaluate nightmare
.evaluate(function (localConfig, done) {
var element = document.querySelector(cssPath);
if(!element) {
// попадет в catch в promise
done("No element");
return;
}
...