Joel's dev blog

Written by Joel Mun. Joel's been interested in Javascript, Typescript, Assemblyscript, Rust, Dart, and React, Flutter, and more. Go check him up on Github!
Joel's also got his own random thoughts journal (mostly in Korean). Check it out too if you are curious.

Joel's been working as a lead SWE for some length of time. He is also learning about managing people and building up the team from scratch too. In his free time, he listens to jazz, plays guitar or piano, or learns new things. Right now he's based in Seoul (instead of Hong Kong), but things can always move him. He's most experienced with React, Node.js and Typescript (a must).

More about Joel: Linkedin, Medium

Complete end-to-end guide for developing dockerized lambda in Typescript, Terraform and SAM CLI

March 13, 2021

This is a full guide to locally develop and deploy a backend app with a recently released container image feature for lambda on AWS…

100BooksProject: (9): Atomic habits

October 04, 2020

As always, I’ve summarized the book so that anyone can get the main concept in about 20-30 mins. And then I wrote some reflections and…

100BooksProject: (8): 두려움 없는 조직 (The fearless organization)

September 26, 2020

회사에서 ‘사실상 PM’과 개발자 역할을 같이 수행하게 되면서, 경영에 자꾸 관심이 갔다. 내가 부족하다는 느낌이 많이 들었다. 그래서 무작정 Yes2…

How to make useSelector not a disaster

September 13, 2020

Disclaimer: We will focus on itself in this article, rather than third-party libraries like , because it’s out of scope of the article…

100BooksProject: (7): 돈의 속성 (Properties of money)

August 18, 2020

오랜만에 반디앤루니스에 가서 읽을 만한 책을 고르다가 베스트셀러를 차지하고 있는 돈의 속성을 사 봤다. 매번 그래왔듯이, 20~3…

100BooksProject: (6): How to Win Friends & Influence People (인간관계론)

August 17, 2020

I wrote a summary of each section and my reflections following it. typo alert: I typed so much that I can’t just review all… if you find a…

Learn all major functionalities on Chrome's Performance tab and practice it with a simple React project

August 03, 2020

Yes, Chrome’s performance tab is overwhelming First time you look into all the charts, you have no idea what means what. What does those…

100BooksProject: (5): 초격차 (The Great Gap)

July 29, 2020

초격차 경영에 관련된 책이라 일단은 무작정 사 보게 됐다. 일단 나중에 다시 책 볼 필요 없이 줄거리만 20~3…

100BooksProject: (4): Ego is the enemy (에고라는 적)

July 05, 2020

Summary Introduction Craving (열망) Success (성공) 실패 (Failure) Impressions after finishing this book The ways to survive in whichever contexts…

How to communicate better

June 06, 2020

I find this problem happening very often. And I never expected it to be so. I thought everyone in the world is able to express his/her…

[개발자도 리뷰 할 수 있다] 낙성대 문기사불백 리뷰

May 14, 2020

Extensive introduction to why and how you might want to use and test redux-observable

January 24, 2020

Problem I was struggling at my company trying to write some tests for RxJS operations. Most of the network requests were managed by RxJS…

The shortcuts I like

January 08, 2020

Before we get started These are the keys usually used in combination with normal keys on Mac: Command (or Cmd) ⌘ Shift ⇧ (I will write as…

The rise of low-level programming (feat. WebAssembly)

December 07, 2019

Back in the old days There was no alternative to javascript. It was just javascript. Javascript just happened to be with the web when it got…

[...].forEach(saveFromZombies) does not always save people

October 12, 2019

The first encounter with the problem I was coding as usual. And I faced an odd encounter with how works. Here goes the code to give an…

Making stupid react smart in re-rendering

October 02, 2019

I believed React is smart enough to know this… but aye? We had a bunch of large component trees in our company’s web application. And I saw…

New javascript specifications in 2019 (What's new in Javascript - Google I/O '19)

September 10, 2019

Must must must watch! I got so much great insight from this video in Google IO 2019 detailing latest javascript specs. Improvements from the…

Using docker and docker-compose to read data from excel to put it into mongodb

August 17, 2019

What am I going to do? So I have my university’s timetable data in excel: I want to read this data using exceljs + node + typescript, and…

100BooksProject: (3): When the breath becomes air (숨결이 바람 될 때)

August 03, 2019

1 2 3 4 1 면접이 끝나고 책 하나를 마음 놓고 읽었다. 죽음에 관한.. 책. 폴 칼라니티란 사람은 천재. 스탠포드, 캐임브리지, 예일대에서 문학, 생물학, 의예과 학위를 섭렵한 사람. 근데 36세에 암을 선고받고 살아가게 된다. 선고받은지…

Memoization in python using a decorator: getting a prime number

May 05, 2019

Rationale I was creating an function: Time complexity For now, forget about the condition in the while loop: . You know that you are going…

Deploying a serverless crawler with python + lambda

March 18, 2019

What I’m gonna build I’m gonna build a simple crawler that will send HTTP request to zigbang.com’s api server to receive data on estates…

Updating python 3 on an outdated Ubuntu

March 13, 2019

The problem Sometimes you cannot easily change the version of Ubuntu and python if you are running them on cloud. I am using cloud9, as you…

100 Books Project (2): Crossroads (갈림길)

March 13, 2019

Encountering the book Sudden encounter over this book just walking by a random bookshelf in the library led me to spend the whole afternoon…

100 Books Project (1): Reflection and reading notes on Remember Who You Are: Life Stories That Inspire the Heart and Mind

March 09, 2019

Reflections Again, another big encouragement from a book. Things I got to know: Success is not everything. Things after success are…

random hacking notes

November 02, 2018

Hacking-notes Rationale As a programmer, I thought it’d be nice to know the basics of hacking for security purposes. For now, we will focus…

Vue

October 19, 2018

No time Really, I’ve got no time to learn Vue. I need to get basic concepts in the shortest length of time. Vue Cli 3.0 We are going to use…

Async, await, promise

September 05, 2018

Async and await See javascript.info Mozilla Basics Ok. This is not ES6. Its ES8 (ECMAScript 2017) syntax. The async function declaration…

Page transition in React

August 11, 2018

I always wondered how this sleek transition effects work in React and Native apps, so this is now a chance to find something out. Resources…

Using redux-thunk

July 29, 2018

The problem So I have been building the app Youtube-Lite, and I finally have faced the moment where I need asynchronous function working…

This & Object prototypes (2): this All Makes Sense Now!

June 30, 2018

1. Default binding without the strict mode in effect, the global object is eligible for the default binding: however, with the strict mode…

This & Object prototypes (3): Objects

June 30, 2018

Types and objects Types in JS string number boolean null undefined object Built-in Objects String Number Boolean Object Function Array Date…

Review on DEF CON@COMROKFLT 2018

June 19, 2018

So I went to the Def Con at Command ROK Fleet in Busan, jointly held with the CNFK (Commander, US Naval Forces Korea) and won the first…

Using npm

June 07, 2018

Uninstall Uninstall and remove it from project dependency Uninstall and remove it from dev dependency How to change a devDependency to…

Creating music player

June 05, 2018

Set up And simple test And check on the server if the app is working properly. Add theme Add logic test for the theme Apply the theme…

Yet another blog in nextjs

June 04, 2018

Set up basic things (see previous post on basic things with next.js) Install next, react, react-dom & grommet command line tools and grommet…

Next.js (1): Basic setup and understanding

June 01, 2018

First things first See next.js for more. Make package.json Install packages Add scripts to But it was not working on c9.io because c9.io…

Desperate hacking notes for tomorrow

May 29, 2018

detecting security incidents event logs by SANS Regular Expressions “.APPCRASH.” Application 1001 “.he protected system file.” Application…

Using foresic tools (1): process explorer, process monitor, and autoruns

May 19, 2018

Sources CSO microsoft gist Corrie Erk Process explorer Submit to VirusTotal to check hash Process Explorer -> Options -> VirusTotal.com…

Three-way handshake in TCP & ACK and SYN flood attack

May 12, 2018

Sources mazebolt microsoft geeksforgeeks ddosguard flowguard wikipedia Three-way handshake: how does it work When is it used TCP three-way…

Windows Registry

May 12, 2018

Sources microsoft MSDN microsoft MSDN 2 comodo.com What is it “A central hierarchical database used in Microsoft Windows 98, Windows CE…

MD5 and SHA

May 12, 2018

Sources Lifewire SSLStore Hash A hashing algorithm is a mathematical function that condenses data to a fixed size. It is easier for the…

Base64, Unicode, ASCII, URL

May 11, 2018

Base64 Sources lifewire mozilla oracle base64 helper Definition “Base64 is a group of similar binary-to-text encoding schemes that represent…

Listening, Established, Close_wait and Time_wait in netstat

May 06, 2018

Sources superuser askubuntu Due to the way TCP/IP works, connections can not be closed immediately. Packets may arrive out of order or be…

Basic system status checkups for windows

May 06, 2018

Helpful link asecurity Windows (.bat) First, download and add to path: handle pstools autoruns listdlls uptime ntlast And run this batch…

preparing for DEF CON@COMROKFLT 2018

May 05, 2018

Problem Well, obviously there will be a DEF CON@COMROKFLT about three weeks later. This one will be particular; it is a joint DEF CON…

Meta tags

April 29, 2018

Sources 1&1 Stackoverflow post CSS-Tricks Google buildwebsite4u Facebook’s open graph protocol gaijin, a metatag generator List of useful…

7 layers in the OSI model

April 26, 2018

Sources Microsoft Webopedia the OSI model Open system interconnection model. Developed by the International Standards Organization. The…

My story (1): changes that occurred from high school to the Navy

April 20, 2018

Before starting to read this People change. And so do I. This is a story of how I, as a developer and social being, changed over a course of…

This & Object prototypes (1): this or That?

April 09, 2018

Using is confusing The first confusion Avoiding using Or, using The method allows you to point to the object in the first argument…

Scope and closure (6): Dynamic scope, Polyfilling Block Scope, and Lexical-this

April 08, 2018

Dynamic scope “Dynamic scope seems to imply, and for good reason, that there’s a model whereby scope can be determined dynamically at…

Presentation design: Marketing project on Spotify

April 08, 2018

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

GOOP logs

April 08, 2018

GOOP does not have a logo yet. I have to make one. Before doing anything else, I have to know about Jeff’s business clearly. Otherwise, I…

Time Complexity

April 07, 2018

What is it? According to Codilty.com: COMPLEXITY CAN BE VIEWED AS THE MAXIMUM NUMBER OF PRIMITIVE OPERATIONS THAT A PROGRAM MAY EXECUTE…

How does a file get compressed?

April 07, 2018

You know, you sometimes compress files. And today I needed to send a relatively big folder to my friend so I just compressed it. This folder…

Scope and closure (5): modules

April 07, 2018

Getting the hang of it function has a closure over the scope of the function . Nothing really special is going on here. And here are some…

Error page and no search result page for Grafolio mobile app

April 07, 2018

first second third fourth

Scope and closure (4): closure

March 31, 2018

Definition of closure Closure is when a function is able to remember and access its lexical scope even when that function is executing…

Scope and closure (3): hoisting

March 24, 2018

FYI Notes made with You don’t know JS. Important points on hoisting Hoisting is just basic. Just remember hoisting happens per scope and…

Scope and closure (2): writing good codes

March 24, 2018

FYI Notes made with You don’t know JS. Writing good codes Function scope It encourages the idea that all variables belong to the function…

Scope and closure (1): lexical Scope

March 24, 2018

FYI Notes made with You don’t know JS. Simplified steps in compilation Tokenizing: breaking the code into single parts, like to and and…

React

March 22, 2018

FYI My notes are overwritten on the content copied from https://reactjs.org/tutorial/tutorial.html. Component React component class, or…

Using git

March 21, 2018

How to revert git revert will create a new commit that’s the opposite (or inverse) of the given SHA. If the old commit is “matter”, the new…

Difference between cookies and sessions

December 31, 2017

Cookies An HTTP cookie (web cookie, browser cookie) is a small piece of data that a server sends to the user’s web browser. The browser may…

VPN

October 06, 2017

What is VPN and how does it work Virtual Private Network. Microsoft’s Explanation Virtual private networks (VPNs) are point-to-point…

Misc useful operations on (kali) linux

October 05, 2017

How to capture screen The entire screen Partial screen How to make a symlink Create a symlink Create/update a symlink Using curl to get…

Difference among const, let, var

October 01, 2017

Varaiable declaration makes no error. Hoisting Hoisting works for . Scope For , it’s a function scope. and Variable declaration makes an…

Using tor

September 29, 2017

Note Below content is just a excerpt from the websites. If you need to see in detail, don’t hesitate to go onto the original website. What…

Using bluetooth on kali linux

September 28, 2017

Check bluetooth status And turn it on: This way bluetooth is going to work. will stop bluetooth. Bluetooth is not turned on by default on…

Using vim

September 28, 2017

How to search in vim Search command Next match Previous match How to navigate in vim Go forward by word Go back by word Move one character…

Turning monitor mode on and off

September 25, 2017

On This would just work: This also works: To scout the nearby APs, you do: Off For my computer, I do not have to type . It just works. For…

Configuring vim

September 25, 2017

This looks like a pretty awesome boilerplate! Well, I just looked at this repository and it just looks amazing. I cloned the repo to my…

Editing environment path and adding custom scripts

September 23, 2017

How to (copied from linuxconfig) Checking environment variables type and it will show you everything. Where are they stored (copied from…

Changing mac address semi permanently

September 21, 2017

How to Dead simple. Open up the file /etc/network/interfaces. It will show you something like: and add at the end of the file, this line…

Finding a process with a name

September 21, 2017

Many times you want to look for a process to kill it. Here’s how: the default pgrep command shows the PIDs of all matching processes. the -l…

Using macchanger

September 21, 2017

What is macchanger Macchanger is a little program that helps you fake (sometimes called spoof) your mac address. Using ifconfig and…

Using tmux

September 21, 2017

Scrolling in tmux Using tmux, you sometimes wanna scroll up and down the window just like you used to in the normal bash shell. It’s dead…

Installing torrent on debian based linux

September 20, 2017

Guidance First, download utorrent server from the utorrent website. Then, follow this guide in detail: https://askubuntu.com/questions…

© Joel Mun 2021, Built with Gatsby