Skip to content

Instantly share code, notes, and snippets.

View nairihar's full-sized avatar
😎
Always busy

Nairi Harutyunyan nairihar

😎
Always busy
View GitHub Profile
@nairihar
nairihar / game-sdk-example.js
Created May 6, 2018 11:49
Online game SDK exmaple, medium
// 1
const player = new GameSDK.Player(options);
// 2
const roomId = await player.createRoom(options);
// 3
player.joinRoom(roomId);
@nairihar
nairihar / proposal-private-methods.js
Created April 28, 2018 17:31
Privates in JavaScript proposal-private-methods, medium, using proposal-private-methods, ECMAScript
class C {
// private method
#foo() { console.log('hi'); }
bar() {
#foo();
}
}
@nairihar
nairihar / private-using-symbol-es6-hack.js
Created April 28, 2018 17:14
Privates in JavaScript Symbol, medium, using Symbol, es6, hack
const b = new Bank()
Object.getOwnPropertySymbols(b)
Object.getOwnPropertySymbols(b.__proto__)
@nairihar
nairihar / private-using-symbol-es6.js
Created April 28, 2018 17:07
Privates in JavaScript Symbol, medium, using Symbol, es6
const _addBalance = Symbol('addBalance')
const _logBankChange = Symbol('logBankChange')
const _privateData = Symbol('privateData')
export default class Bank {
constructor() {
// public variables
this.name = 'B7'
// private variables
@nairihar
nairihar / private-using-weakmap-es6.js
Created April 28, 2018 12:26
Privates in JavaScript WeakMap, medium, using WeakMap, es6
const _state = new WeakMap()
const _addBalance = new WeakMap()
const _logBankChange = new WeakMap()
export default class Bank {
constructor() {
// public variables
this.name = 'B7'
@nairihar
nairihar / private-using-closure-es6.js
Created April 28, 2018 11:42
Privates in JavaScript Classes, medium, using closures, es6
// private variables
let _balance = 0
let _logs = []
export default class Bank {
constructor() {
// public variables
this.name = 'B7'
}
@nairihar
nairihar / private-using-closure-es5.js
Last active April 29, 2018 06:34
Privates in JavaScript Classes, medium, using closures, es5
function Bank() {
// public variables
this.name = 'B7'
// public methods
this.getBalance = function() {
return _balance
}
this.addToBalance = function(count) {
_addBalance(count)
@nairihar
nairihar / api.conf
Last active April 28, 2018 11:25
NodeJS with NGINX Plus, medium, nginx plus conf
upstream api {
zone api 64k;
server 127.0.0.1:3000;
server 127.0.0.1:3001;
}
server {
listen 8080;
location / {
@nairihar
nairihar / api.conf
Created April 21, 2018 08:16
NodeJS with NGINX, medium, nginx conf
upstream api {
server 127.0.0.1:3000;
server 127.0.0.1:3001;
}
server {
listen 8080;
location / {
proxy_pass http://api;
@nairihar
nairihar / server.js
Last active April 28, 2018 11:25
NodeJS with NGINX, medium, basic NodeJS server
const express = require('express')
const app = express()
const port = process.argv[2]
app.get('/', (req, res) => res.send(`Hello World!, port: ${port}`))
app.listen(port, () => console.log(`Example app listening on port ${port}!`))