Skip to content
View JH8459's full-sized avatar

Block or report JH8459

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please donโ€™t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
JH8459/README.md

I'm a software engineer who loves the Node.js ecosystem and TypeScript.
I mainly build RESTful APIs with NestJS, and frontend apps with Next.js.
I also enjoy writing and sharing practical insights.


๐Ÿ’ผ Career


๐Ÿ›  Tech Stack

TypeScript Javascript
Node.js NestJS Express MikroORM TypeORM Prisma Jest
Next.js React vite tailwindcss
MySQL Postgresql Kafka Elasticsearch Supabase Firebase
Docker Git AmazonAWS Linux
Claude Codex

๐Ÿ’ป Algorithm Solving


๐ŸŒ Open Source Contributions

Reporting regressions with minimal reproductions and sending fixes upstream in the Node.js backend ecosystem.

Repository Contribution Linkย &ย Status
forwardemail/supertest
stars
๐Ÿ› Regression report + fix (7.3.0)
On macOS, test requests could land on another local process: the ephemeral server binds the wildcard address while the client connects to 127.0.0.1. Filed a plain-http reproduction and a PR that binds the server to the loopback address it connects to.
Issueย #906
issue state
PRย #907
pull request state
mikro-orm/mikro-orm
stars
๐Ÿ› v6 โ†’ v7 regression report
Joined populate threw when a single-property embeddable shared its name with its column. Provided a minimal reproduction across v6.6.16, v7 and next on SQLite and MariaDB; fixed upstream within a day in #8293.
Issueย #8292
fixed
ramiel/mikro-orm-cache-adapter-redis
stars
โ™ป๏ธ clear() refactor
Replaced mixed Promise and callback logic with a for await...of async iterator, keeping the batched pipeline.del() flow and the behavior unchanged.
PRย #10
merged

โœ๏ธ Writing

Contributing author at ์š”์ฆ˜IT, writing about how backend teams build, review, and ship software in the AI era.

Date Article
2026.10.01 ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์€ ์–ธ์ œ๊นŒ์ง€ ์œ ์ง€ํ•ด์•ผ ํ• ๊นŒ?
How long to keep backward compatibility across APIs, events, and DBs, via expand โ†’ migrate โ†’ contract.
2026.07.08 ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ MSA, AI ์‹œ๋Œ€์—” ๋” ๋น„์‹ธ์ง„๋‹ค๊ณ ์š”?
Faster code changes don't make event-driven MSA cheaper; the cost shifts to tracing event flows and contracts.
2026.03.23 cURL์€ ์™œ ๋ฒ„๊ทธ ๋ฐ”์šดํ‹ฐ๋ฅผ ๋๋ƒˆ์„๊นŒ?
Why cURL ended its bug bounty: the bottleneck is no longer finding issues, but scarce human review capacity.
2026.02.25 AI๋กœ ๋นจ๋ฆฌ ๋งŒ๋“œ๋Š” ํŒ€๋ณด๋‹ค '๋œ ํ”๋“ค๋ฆฌ๋Š”' ํŒ€์ด ์ด๊ธฐ๋Š” ์ด์œ 
In the vibe-coding era, teams win on decision quality, not coding speed: four questions that make AI output reviewable.
2026.02.10 AI๋กœ ์ฝ”๋“œ๋Š” ๋นจ๋ฆฌ ๋‚˜์˜ค๋Š”๋ฐ, ์™œ ์ถœ์‹œ๋Š” ๊ทธ๋Œ€๋กœ์ผ๊นŒ?
AI speeds up implementation, so the bottleneck moves to validation, review, and approval before release.

๐Ÿ“š Blog Posts


Pinned Loading

  1. programmers-badge-v2 programmers-badge-v2 Public

    ๐Ÿค– ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํ’€์ด ๊ธฐ๋ก์„ ๋ฐฐ์ง€๋กœ ์ œ๊ณตํ•˜๋Š” ํฌ๋กฌ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค

    TypeScript 1

  2. programmers-badge-v1 programmers-badge-v1 Public

    ๐Ÿค– ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํ”„๋กœํ•„ ๋ฑƒ์ง€ ์ž๋™ ์ƒ์„ฑ ๋ด‡

    TypeScript 10 52

  3. mikro-orm-cache-adapter-redis mikro-orm-cache-adapter-redis Public

    Forked from ramiel/mikro-orm-cache-adapter-redis

    A redis cache adapter for mikro-orm

    TypeScript

  4. algorithms algorithms Public

    ๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด (๋ฐฑ์ค€ํ—ˆ๋ธŒ, ๋ฆฌํŠธํ—ˆ๋ธŒ)

    Java