Jonghyeon Ko (@manudeli_) header
Jonghyeon Ko (@manudeli_) profile picture

Maintainer of @Tan_Stack Query

Seoul, Republic of Korea
Joined June 2023
Photo by Jonghyeon Ko (@manudeli_)
Just launched/updated a bunch of new @Tan_Stack shirts/sweatshirts/hoodies/etc! ๐Ÿงตโฌ‡๏ธ All merch is zero-profit at cost of @cottonbureau and IMO, very high quality. Enjoy!
2
9
46
24,897
๐Ÿ•๏ธ๋ชจ๋‹ฅ๋ถˆ EP.4: ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌํ•˜๊ณ  ํ† ์Šค ํ•ฉ๊ฒฉํ•œ.ssul - ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ, ์‹ค์ œ๋กœ ์„ฑ์žฅ์— ๋„์›€์ด ๋ ๊นŒ์š”? - ํ•ด๋ณด๋ ค๋‹ˆ ๋ง‰๋ง‰ํ•œ๋ฐ, ์–ด๋–ป๊ฒŒ ์‹œ์ž‘ํ• ๊นŒ์š”? - ํ† ์Šค๋Š” ์™œ ์˜คํ”ˆ์†Œ์Šค๋ฅผ ์šด์˜ํ• ๊นŒ์š”? ํ† ์Šค ๊ฐœ๋ฐœ์ž๋“ค์ด ์ƒ์ƒํ•œ ์ด์•ผ๊ธฐ๋ฅผ ๋“ค๋ ค๋“œ๋ฆด๊ฒŒ์š”. youtu.be/SdBL-p597Dw?si=KtnNโ€ฆ
7
29
2,586
Jonghyeon Ko retweeted
React์ฒ˜๋Ÿผ ์ž˜ ๋˜๋ฉด ๊ธฐ์ˆ  ์˜ค๋„ˆ์‹ญ๋„ ๊ฟ€๊บฝํ•˜๊ณ  ์—์ฝ”์‹œ์Šคํ…œ์—์„œ ๊ณต์งœ์ ์‹ฌ๋‚˜์˜ค๊ณ  ๊ทธ๋Ÿฐ ๊ฑฐ ๋ˆ„๊ฐ€ ๋ชจ๋ฅด๋ƒ... ๊ทผ๋ฐ ๊ทธ๋ ‡๊ฒŒ ๋˜๋Š” ๊ฑด ์ง„์งœ ์†์— ๊ผฝ๋Š”๊ฑด๋ฐ ๊ทธ๋Ÿผ์—๋„ ๊ณ„์† ์˜คํ”ˆ์†Œ์Šค๋กœ ๋‚ธ๋‹ค๋Š” ๊ฒฐ์ •์„ ํ•ด์•ผ์ง€ ์ €๊ฒŒ ๋˜๋Š”๊ฑฐ์ง€
1
8
26
1,179
From mdn:
this is pretty crazy to me react query just lies about the error type and this was an intentional change too! so you think its safe to call `useQuery().error.message` but it can 100% blow up I don't understand why asking users to do `unknown instanceof Error` was too much
14
5
295
54,295
Using Bootstrap? Check out overlay-kit! ๐Ÿš€ It integrates smoothly with Bootstrap modals, tooltips, and popovers. No more hassle with modal state managementโ€”overlay-kit takes care of it. @getbootstrap #opensource #webdev overlay-kit.slash.page/
9
22
1,903
es-toolkit, with 2-3 times faster runtime performance and up to 97% smaller bundle size compared to lodash, has surpassed 1,000 stars on GitHub and achieved the #1 Hot Project ranking on bestofjs.com. ๐ŸŒŸ Huge thanks to the 31 contributors who have contributed!
Replying to @TossFrontend
Check out the new "es-toolkit" by Toss! This modern utility library is a big upgrade over the 10+ year old lodash. It's 2-3 times faster, has a bundle size up to 97% smaller, and includes robust types. ๐Ÿ“šโœจ Learn more: github.com/toss/es-toolkit
1
1
6
1,490
๐Ÿ’กReact์—์„œ ์˜ค๋ฒ„๋ ˆ์ด๋ฅผ ๋‹ค๋ฃจ๋Š” ์„ ์–ธ์  ๋ฐฉ๋ฒ•, overlay-kit ๋ชจ๋‹ฌ, ํ† ์ŠคํŠธ ๊ฐ™์€ ์˜ค๋ฒ„๋ ˆ์ด๋ฅผ React๋กœ ๋‹ค๋ฃจ๋Š” ๊ฑด ์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ค์›Œ์š”. ์—ด๋ฆฌ๊ณ  ๋‹ซํžŒ ์ƒํƒœ๋ฅผ ์ƒˆ๋กœ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๊ฑฐ๋“ ์š”. ํ† ์Šค์—์„œ ์˜ค๋ฒ„๋ ˆ์ด๋ฅผ ์„ ์–ธ์ ์œผ๋กœ ์‰ฝ๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ๋•๋Š” ์ƒˆ ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ณต๊ฐœํ•ฉ๋‹ˆ๋‹ค. github.com/toss/overlay-kit
1
40
2
73
9,150
What's really fun is that I implemented this experiment with a really tiny hook called `useStreamedQuery` that proxies `useSuspenseQuery`. As I said, the production version of this hook will be more wholistic via the query client, but it illustrates the simplicity of the Router's data streaming capabilities.
1
1
2
45
10,489
โš›๏ธ Suspense๋ฅผ ์ž˜ ์“ฐ๊ธฐ ์œ„ํ•œ ์ฐฐ๋–ก๊ถํ•ฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, Suspensive ํƒ€์ž… ์•ˆ์ „ํ•œ useSuspenseQuery(), ์‰ฝ๊ฒŒ ์“ฐ๋Š” <ErrorBoundary />, SSR ์•ˆ์ „ํ•œ <Suspense /> ๋“ฑ ๋‹ค์–‘ํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” Suspensive๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”. ํ† ์Šค ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋“ค์ด ์˜คํ”ˆ ์†Œ์Šค๋กœ ์šด์˜ํ•˜๊ณ  ์žˆ์–ด์š”. github.com/toss/suspensive
1
18
28
2,032
Jonghyeon Ko retweeted
์˜ค๋Š˜๋„ ํฅ๋ฏธ๋กœ์šด ํŒจํ„ด์„ ๋ฐฐ์› ๋‹ค
3
3
18
1,404
8
5
6
283
66,459
๐Ÿ“š ์ž‘๊ณ  ๋น ๋ฅธ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, es-toolkit 10์‚ด์ด ๋„˜์€ lodash, ๋” ๊ฐœ์„ ํ•  ์ง€์ ์€ ์—†์„๊นŒ์š”? ํ† ์Šค์—์„œ ํ˜„๋Œ€์ ์ธ ๊ตฌํ˜„์˜ es-toolkit์„ ๊ณต๊ฐœํ–ˆ์–ด์š”. - 2~3๋ฐฐ ๋น ๋ฅธ ๋Ÿฐํƒ€์ž„ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ด์š”. - ์ตœ๋Œ€ 97% ์ž‘์€ ๋ฒˆ๋“ค ์‚ฌ์ด์ฆˆ๋ฅผ ๊ฐ€์ ธ์š”. - ๊ฒฌ๊ณ ํ•˜๊ณ  ์ •ํ™•ํ•œ ํƒ€์ž…์„ ๋‚ด์žฅํ•ด์š”. github.com/toss/es-toolkit
1
48
6
96
27,712
๐ŸŒŠ ํ† ์Šค Frontend Platform Engineer ๊ณต๊ฐœ์ฑ„์šฉ (~6/21) ํ† ์Šค์™€ ํ•œ๊ตญ, ์ „์„ธ๊ณ„์˜ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ผํ•˜๋Š” ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ํ•จ๊ป˜ ๋งŒ๋“ค์–ด ๋‚˜๊ฐˆ ๋™๋ฃŒ๋ฅผ ์ฐพ์•„์š”! FE ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ๋ฒˆ๋“ค๋Ÿฌ๋ถ€ํ„ฐ ํด๋ผ์šฐ๋“œ๊นŒ์ง€ ์ฒด๊ณ„์ ์œผ๋กœ ๋ฐฐ์šฐ๋ฉฐ, ์ตœ๊ณ ์˜ UX์™€ DX๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋งŒ๋“ค์–ด ๋‚˜๊ฐ€์š”. toss.im/career/job-detail?joโ€ฆ
1
63
41
81
131,195
Jonghyeon Ko retweeted
weird question, but if I want to credit someone in a commit via `Co-authored-by:`, is there a better way than searching for a commit of theirs on the CLI? GitHub not showing this commit data on the web makes this really cumbersome it seems.
7
2
6
Jonghyeon Ko retweeted
Depth-based blur in CSS. frosted-glass.shud.in (Chrome preferred)
48
508
44
6,230
1,544,091
`iife(() => { return '...' })` 1 line utility to not count brackets brackets when making an IIFE
7
2
2
84
31,519
Neat TypeScript trick: type Satisfies<Expected, Actual extends Expected> = Actual typescriptlang.org/play?#codโ€ฆ
3
48
3,075
a @tan_stack #react query question (@TkDodo, @tannerlinsley ) I've got fresh "@tanstack/react-query": "^5.28.2" - got a thin custom hook which directly returns useQuery result - going into definitions of the properties (isLoading, isRefetching etc.) - I'm moved to one out of few union members within node_modules/@tanstack/query-core/build/legacy/queryClient-UWB6EkqM.d.ts QUESTIONS: - what's the benefit of separate legacy/modern builds? - how do I determine which one is used? - (!) why do the properties NOT have JSDocs? (some have, like QueryFilters, but Query*Result seems super important here) When it comes to the last one, I'd love to help (submit a PR, whatever) as long as you confirm they're really not there / I'm not messing something up. All in all I'd really love to have docs there. My original doubt was: isPending vs isFetching vs isLoading vs isRefetching etc. None of posts I found were 100% clear on this... TIA ๐Ÿ™Œ
2
1
8
2,473
Jonghyeon Ko retweeted
Never write a git commit message again
15
20
6
264
47,446
๐Ÿ˜ด Tired: enabled not doing any type narrowing ๐Ÿš€ Wired: the brand new skipToken ๐Ÿ”ฅ Now available in v5.25.0
21
40
4
523
55,705