Skip to content

Instantly share code, notes, and snippets.

View GeekEast's full-sized avatar
🎧
Focusing

James Tan GeekEast

🎧
Focusing
View GitHub Profile
@GeekEast
GeekEast / scalable-web.md
Created April 26, 2022 12:50 — forked from erwindev/scalable-web.md
Strategies Scalable Web Architecture

Strategies for a Scalable Web Application

highly scalable architecture

Scale Up vs Scale Out

Scale Up (Vertical Scaling)

  • Add more CPU’s or add faster CPU’s to a single server

Scale Out (Horizontal Scaling)

@GeekEast
GeekEast / latency.txt
Created March 18, 2022 04:59 — forked from jboner/latency.txt
Latency Numbers Every Programmer Should Know
Latency Comparison Numbers (~2012)
----------------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns 3 us
Send 1K bytes over 1 Gbps network 10,000 ns 10 us
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
@GeekEast
GeekEast / arrayTotree.ts
Last active October 8, 2021 06:12
Algorithm to transform array into tree
export type Node = { id: number; parentId: number }
const nodes: Node[] = [
{ id: 1, parentId: null },
{ id: 2, parentId: 1 },
{ id: 3, parentId: 1 },
{ id: 4, parentId: 2 },
{ id: 5, parentId: 2 },
{ id: 6, parentId: 3 },
{ id: 7, parentId: 3 }
@GeekEast
GeekEast / Git Commands.md
Created February 28, 2021 02:53
Practical Git Commands
# init
git init                           # init a repo
git clone <remote_url>             # clone a repo from remote

# commit
git add <filename>                 # add to index/staging area
git add .                          # add all files to staging area
git rm  <filename>                 # remove file from index/staging area
git commit -m "commit message"     # snapshot!
@GeekEast
GeekEast / docker101.md
Created December 15, 2020 00:18
Docker Cheatsheet

Why Docker?

  • guarantee the software always run in the same way.

Get Started

  • build docker build -t sample-node-image .
  • run docker run -dp 3000:3000 sample-node-image

Update Source Code

  • list: docker ps
@GeekEast
GeekEast / rails_active_record.md
Last active December 7, 2020 00:47
Rails Active Record Cheatsheet
  • clean screen: 井+K or Ctrl + L
  • similar lookup Property.where("name ilike ?", "%Toormina%")
@GeekEast
GeekEast / nestjs.md
Created November 26, 2020 04:05
Learning Note for Nest.js

Read & Learn

Decorators

Decorator Entity
@Request(), @Req() req
@Response(), @Res()* res
@Next() next
@Session() req.session
@Param(key?: string) req.params / req.params[key]
@Body(key?: string) req.body / req.body[key]
@GeekEast
GeekEast / rails_vscode.md
Created November 20, 2020 00:14
Rails: Vscode Plugins

VScode

  • ERB-VSCode-Snippets
    • pe, pc, pre
  • Bootstrap v4 Snippets
    • configre shortcut
    • change language mode cmd + '
    • example: b-form-group
    • or copy ~/.vscode/extensions/zaczero.bootstrap-v4-snippets-1.1.3.snippets to erb.json (configure user snippets in vscode)
  • ERB Formatter/Beautify
@GeekEast
GeekEast / ruby_knowledge.md
Last active November 20, 2020 00:23
Ruby: Knowledge Base

Ruby

Inspect

stock = StockQuote::Stock.quote("fb")
stock.inspect

Nil or?