Skip to content

Instantly share code, notes, and snippets.

View asduser's full-sized avatar

Network Engineer asduser

View GitHub Profile
@asduser
asduser / create-db.sql
Created September 2, 2019 14:18
SQL examples.
CREATE DATABASE IF NOT EXISTS mydb;
use mydb;
@asduser
asduser / grantRolesToUser.js
Created December 16, 2017 12:23
MongoDb - update user in another database from the root.
MongoClient.connect('mongodb://admin:pass@localhost:27017/mydb?authSource=admin').then((db) => {
return db.command({
grantRolesToUser: 'user',
roles: ['dbAdmin', 'readWrite']
})
.then((stat) => {
console.log(stat);
});
})
.catch(console.log);
@asduser
asduser / constructor-overload.ts
Created August 19, 2017 19:45
constructor overload in TypeScript
class User {
public name: string;
public age: number;
public languages: string[];
constructor(name:string);
constructor(name:string, age?: number);
constructor(name:string, age: number, languages?: string[])
constructor(name?:string, age?: number, languages?: string[]) {
@asduser
asduser / app.js
Last active May 20, 2017 14:02
Images loaded events & suaitable loader
var mainContainer = $("#main");
var loader = $(".load-bar");
mainContainer.imagesLoaded()
.always( function( instance ) {
console.log('all images loaded');
toggleElements();
})
.done( function( instance ) {
console.log('all images successfully loaded');
@asduser
asduser / README.md
Last active April 29, 2017 15:40
Ajax/http requests boilerplate.

Ajax/http requests boilerplate.

  1. http-requests.
  2. mocked json-data.
  3. tricks to manage api.
  4. handlers, dispatchers etc.
@asduser
asduser / next_previous_item.md
Created March 23, 2017 21:26
Typescript\Python implementation

The code below assumes that each item should has two attributes: unique id and value field. Due to boolean comparison operator we can get an appropriate element.

Next item algorithm.

  1. Check if current index in iteration is not equal to collection.length, otherwise - specify index to 0.
  2. Increase current index by 1.
  3. Check if current element has value. If not - do 2nd step, if yes - return it and break loop.

Previous item algorithm.

@asduser
asduser / promise-all-loop.ts
Last active February 8, 2017 20:50
Different operations with Promise via Typescript/Javascript.
let divide = (num: number, divider: number = 10) => {
return new Promise<any>((resolve, reject) => {
resolve(num / divider);
});
};
let collection: number[] = [30, 40, 50];
Promise.all(collection.map((n) => {
return divide(n);
})).then((res: number[]) => {
@asduser
asduser / async_await_chain.ts
Created February 7, 2017 22:08
Chaining promises with async\await in TypeScript.
let combine = (num: number, combiner: number = num) => {
return new Promise<any>((resolve, reject) => {
resolve(num + combiner);
});
};
let multiple = (num: number, multiplier: number = num) => {
return new Promise<any>((resolve, reject) => {
resolve(num * multiplier);
});
@asduser
asduser / nodejs_snippets.js
Created January 12, 2017 22:20
Node.js snippets #1
function copySync(src, dest) {
if (!fs.existsSync(src)) return false;
var data = fs.readFileSync(src, 'utf-8');
fs.writeFileSync(dest, data);
}
function replaceInFile(src, replaceKey){
fs.readFile(src, 'utf8', function (err, data) {
if (err) return console.log(err);
console.log(data);
@asduser
asduser / try-catch-json-parse(generic).ts
Last active January 12, 2017 20:38
try\catch for JSON.parse
const loadDataOrDefault = <T>(response: any, defInstance?: T) => {
try {
return JSON.parse(response);
} catch(e) {
return defInstance ? defInstance : null;
}
};
class Person {
constructor(public name: string = "Default", public age: number = 100) {}