Skip to content

Instantly share code, notes, and snippets.

View Joker666's full-sized avatar
👶
setting up my engine

Rafi Joker666

👶
setting up my engine
View GitHub Profile
@Joker666
Joker666 / Microservice_tutorial_part1_docker-compose.yml
Last active December 12, 2020 10:11
Microservice_tutorial_part1_docker-compose.yml
# docker-compose.yml
version: '3.8'
services:
user:
build:
context: ./userService
image: microservice/demo/user
restart: "no"
@Joker666
Joker666 / Microservice_tutorial_part1_dockerfile.Dockerfile
Last active December 12, 2020 10:10
Microservice_tutorial_part1_dockerfile
# userService/Dockerfile
FROM node:15
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 50051
@Joker666
Joker666 / Microservice_tutorial_part1_api.js
Last active December 12, 2020 10:15
Microservice_tutorial_part1_api.js
// userService/api.js
const bcrypt = require('bcrypt');
const auth = require("./auth");
const messages = require('./proto/user_pb');
const ObjectId = require('mongodb').ObjectID;
module.exports = class API {
constructor(db, grpc) {
this.db = db;
@Joker666
Joker666 / Microservice_tutorial_part1_index.js
Last active December 12, 2020 10:09
Microservice_tutorial_part1_index.js
// userService/index.js
require('dotenv').config();
const grpc = require('@grpc/grpc-js');
const { MongoClient } = require("mongodb");
const services = require('./proto/user_grpc_pb');
const API = require("./api");
// Mongo Connection
const dbClient = new MongoClient(process.env.DB_URI, { useUnifiedTopology: true });
@Joker666
Joker666 / Microservice_tutorial_part1_user.proto
Last active December 12, 2020 10:09
Microservice_tutorial_part1_user.proto
// protos/user/user.proto
syntax = "proto3";
package demo_user;
option go_package = "github.com/Joker666/microservice-demo/protos/user";
service UserSvc {
rpc register (RegisterRequest) returns (UserResponse);
@Joker666
Joker666 / NodeJS_memory_leak_part1_closure_solution.js
Created November 18, 2020 19:56
NodeJS_memory_leak_part1_closure_solution.js
const http = require("http");
var theThing = null;
var replaceThing = function () {
var originalThing = theThing;
var unused = function () {
if (originalThing) console.log("hi");
};
theThing = {
longStr: new Array(10000).join("*"),
@Joker666
Joker666 / NodeJS_memory_leak_part1_closure_issue.js
Created November 18, 2020 19:42
NodeJS_memory_leak_part1_closure_issue
const http = require("http");
var theThing = null;
var replaceThing = function () {
var originalThing = theThing;
var unused = function () {
if (originalThing) console.log("hi");
};
theThing = {
longStr: new Array(10000).join("*"),
@Joker666
Joker666 / NodeJS_memory_leak_part1_global_solution.js
Last active November 25, 2020 07:11
NodeJS_memory_leak_part1_global_solution
const http = require("http");
const server = http.createServer((req, res) => {
const requestLogs = [];
requestLogs.push({ url: req.url, array: new Array(10000).join("*")
res.end(JSON.stringify(requestLogs));
});
server.listen(3000);
console.log("Server listening to port 3000. Press Ctrl+C to stop it.");
@Joker666
Joker666 / NodeJS_memory_leak_part1_global_issue.js
Last active November 18, 2020 19:41
NodeJS_memory_leak_part1_global_issue
const http = require("http");
const requestLogs = [];
const server = http.createServer((req, res) => {
requestLogs.push({ url: req.url, array: new Array(10000).join("*")
res.end(JSON.stringify(requestLogs));
});
server.listen(3000);
console.log("Server listening to port 3000. Press Ctrl+C to stop it.");
@Joker666
Joker666 / goroutine.go
Last active May 21, 2019 11:27
Canceling goroutines
package main
import (
"context"
"fmt"
"net/http"
"sync"
_ "net/http/pprof"