Skip to content

Instantly share code, notes, and snippets.

View c4x1's full-sized avatar
🌀
home->work->home->work;

CSpornov c4x1

🌀
home->work->home->work;
  • Russian
View GitHub Profile
/* jslint node: true */
'use strict';
var express = require('express');
var app = express();
global.url = 'http://jqapp.azurewebsites.net';
global.smtpUsername = process.env.smtpUsername || 'jobquerybeta@gmail.com';
global.smtpPassword = process.env.smtpPassword || 'l0jxZWuRXZ9j';
@c4x1
c4x1 / showForegroundNotification.java
Last active August 8, 2019 18:43 — forked from kristopherjohnson/showForegroundNotification.java
Shows a foreground notification for an Android service. Tapping the notification will display the app as if it was tapped in application launcher
Use foreground service to protect your progress being killed.
use startService to start service
use startForeground(NOTIFICATION_ID, notification); to prevent from desctroying.
use your lib.
PROFIT!
@c4x1
c4x1 / 1564964078.js
Created August 5, 2019 00:14
Created with Copy to Gist
const cluster = require('cluster')
const { cpus } = require('os')
const log = require('./modules/log')
const isMaster = cluster.isMaster
const numWorkers = cpus().length
if (isMaster) {
log(`Forking ${numWorkers} workers`)
@c4x1
c4x1 / hero.ts
Created August 4, 2019 23:53 — forked from brennanMKE/hero.ts
Example of Mongoose with TypeScript and MongoDb
import * as mongoose from 'mongoose';
export let Schema = mongoose.Schema;
export let ObjectId = mongoose.Schema.Types.ObjectId;
export let Mixed = mongoose.Schema.Types.Mixed;
export interface IHeroModel extends mongoose.Document {
name: string;
power: string;
@c4x1
c4x1 / 1564907560.js
Created August 4, 2019 08:32
Created with Copy to Gist
Файл worker.js должен содержать обработчик события message для получения входных данных.
process.on('message', function(m) {
var output;
// здесь делаем все тяжёлые вычисления, не заботясь о том, что можем заблокировать
// основной поток, ведь это процесс специально предназначен для выполнения одной большой задачи
var output = doComputationWorkSync(m.input);
process.send(output);
});
@c4x1
c4x1 / 1564907541.js
Created August 4, 2019 08:32
Created with Copy to Gist
const computecluster = require('compute-cluster');
// создаём вычислительный кластер
var cc = new computecluster({ module: './worker.js' });
// запускаем параллельные вычисления
cc.enqueue({ input: "foo" }, function (error, result) {
console.log("foo done", result);
});
cc.enqueue({ input: "bar" }, function (error, result) {
@c4x1
c4x1 / master.js
Created August 4, 2019 03:40 — forked from DeMoorJasper/master.js
child_process ipc & shared memory experiment
const { fork } = require('child_process');
const cache = require('node-shared-cache');
let childCache = new cache.Cache('children', 524288);
let child;
function startWorker(ready) {
child = fork(require.resolve('./worker'), {
cwd: process.cwd(),
silent: true
});
require('dotenv').load();
const { driver } = require('@rocket.chat/sdk');
let BotID;
start();
async function start() {
const rooms = process.env.ROOMS.split(",");
console.log(`Connecting to ${process.env.HOST} with ${process.env.USER}:${process.env.PASS}`)
await driver.connect({host:process.env.HOST,username:process.env.USER,password:process.env.PASS,rooms,});
const bot = await driver.login({username:process.env.USER,password:process.env.PASS});
@c4x1
c4x1 / thread-mongoose.js
Last active August 4, 2019 01:57
thread
threadModel
.find(
{board: boardId, is_deleted: false},
{posts: {$slice: -5}}
)
.sort({last_updated: 1, is_sticky: 1})
.skip(settings.threadsOnPage * parseInt(pagePointer, 10))
.limit(settings.threadsOnPage)
.populate('board')
.exec(function(err, threads){
@c4x1
c4x1 / ClusterService.js
Created August 3, 2019 12:34 — forked from rodrisouto/ClusterService.js
Módulos javascript
var ClusterService = function() {
var printer = new ClusterPrinterModule();
var connector = new ClusterConnectorModule();
var filter = new ClusterFilterModule();
var clusterList;
var config; // fullClusterContainer filterDirectBtn filterStopsBtn filterAllBtn
// clusterListContainer warningMessageBox