profile
๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป
ํƒœ๊ทธ ๋ชฉ๋ก
์ „์ฒด๋ณด๊ธฐ (84)JavaScript(21)ES6(13)NestJS(9)ํŒŒ์ด์–ด๋ฒ ์ด์Šค(5)Firebase(5)typescript(5)go(4)network(3)firestore(3)nest.js(3)nest(3)์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(3)nestjs crud(3)velog(2)TROUBLESHOOTING(2)this(2)ํ”„๋ก ํŠธ์—”๋“œ ์‹ ์ž… ๋ฉด์ ‘(2)๊ฐœ๋ฐœ์ž ๋ฉด์ ‘(2)๋ฆฌ์•กํŠธ์ฟผ๋ฆฌ ์‚ฌ์šฉ๋ฐฉ๋ฒ•(2)three.js(2)nestjs ๊ฒŒ์‹œํŒ(2)react firebase(2)kafka(2)React(2)nestJs๊ฒŒ์‹œํŒ(2)react-query ์‚ฌ์šฉ๋ฒ•(2)์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ทจ์—…(2)๋ฆฌ์•กํŠธ์ฟผ๋ฆฌ(2)react-query(2)k8s(2)IaC(1)bind(1)Cannot read property 'map'์—๋Ÿฌ(1)express์ฐจ์ด(1)ubuntu(1)linux(1)firebase CRUD(1)this ์ฐจ์ด(1)๋ฆฌ์•กํŠธ(1)์ผ๋ฐ˜ ํ•จ์ˆ˜(1)nestjs controller(1)๋ฌธ์„œ ์ •๋ฆฌ(1)nodemon(1)corse(1)nextjs14(1)React Server(1)JavaScript ๋ฌธ์ œ(1)์ทจ์ค€(1)TDD(1)๊ฐœ๋ฐœ์ž ์˜์–ด ๋ฉด์ ‘(1)React ์ฐจํŠธ(1)ํŒŒ์ด์–ด์Šคํ† ์–ด(1)Chart.js(1)dotenv(1)velog ๋™์˜์ƒ(1)ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ข…๋ฅ˜(1)Recharts(1)ํ›„๊ธฐ(1)ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(1)mongoose(1)DDD(1)ANSI ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค(1)velog์— video(1)velog ๊ธ€์ž์ƒ‰ ๋ณ€๊ฒฝ(1)nest.js์†Œ๊ฐœ(1)Debouncing(1)webpack(1)node๋ฒ„์ „(1)kubernetes Architecture Overview(1)์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(1)react-query cache(1)HPA(1)Firebase์„ค์น˜๋ฐฉ๋ฒ•(1)TLS(1)Jmeter(1)ํด๋กœ์ €(1)nestjs pipe(1)ํŒŒ์ด์–ด๋ฒ ์ด์Šค ์„ค์น˜๋ฐฉ๋ฒ•(1)Firebase์“ฐ๋Š” ์ด์œ (1)msa(1)scalability(1)๋ฆฌ์•กํŠธ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ(1)bcrypt(1)๋ฉด์ ‘์งˆ๋ฌธ(1)์ผ๋ฐ˜ํ•จ์ˆ˜ ํ™”์‚ดํ‘œํ•จ์ˆ˜ ์ฐจ์ด(1)๊ฐœ๋ฐœ์ž ์™ธ๊ตญ๊ณ„(1)๊ฐœ๋ฐœ์ž ์˜์–ด ํ…Œ์ŠคํŠธ(1)authorization(1)socket.io(1)tar(1)Next14(1)nvm(1)๋ฆฌ๋“€์Šค(1)Parallel Routes(1)replicaset(1)reduce(1)node ๋ฒ„์ „ ๊ด€๋ฆฌ(1)react-bootstrap(1)ํ™”์‚ดํ‘œ ํ•จ์ˆ˜(1)์•ค์„œ๋ธ”(1)ansible(1)array(1)ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(1)kubernetes(1)jmeter ์„ค์น˜(1)Firebase์žฅ๋‹จ์ (1)db(1)nestjs pipe์œ ํšจ์„ฑ ๊ฒ€์‚ฌ(1)Github readme(1)express(1)next.js(1)deployement(1)nest.js๋ชจ๋“ˆ(1)React client(1)nestjs provider(1)React ๊ทธ๋ž˜ํ”„(1)Map(1)Throttling(1)์™ธ๊ตญ๊ณ„ ์˜์–ด ํ…Œ์ŠคํŠธ(1)firebase db(1)closure(1)github readme ๋™์˜์ƒ ๋„ฃ๊ธฐ(1)๋ฆฌ์•กํŠธ์ฟผ๋ฆฌ๋ž€(1)set(1)firebase database(1)authentication(1)์“ฐ๋กœํ‹€๋ง(1)apply(1)call(1)nest.js๋ž€?(1)ํด๋ผ์šฐ๋“œ ํ™•์žฅ์„ฑ ํ…Œ์ŠคํŠธ(1)nestjs service(1)nextjs(1)์†Œ์†Œํ•œ ๊ฟ€ํŒ(1)ํ™•์žฅ์„ฑ(1)์ธ์ฆ(1)firebase์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€(1)๋ฐฐ์—ด(1)์ธ๊ฐ€(1)nestjs DTO(1)๋””๋ฐ”์šด์‹ฑ(1)๋ถ€ํŠธ์ŠคํŠธ๋žฉ(1)github readme ๋™์˜์ƒ ์ฒจ๋ถ€(1)์ธ์ฆ๊ณผ ์ธ๊ฐ€(1)์˜์–ดํ…Œ์ŠคํŠธ(1)default page(1)
post-thumbnail

TDD

TDD์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž

2024๋…„ 10์›” 21์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Webpack์ด๋ž€?

Bundling = JavaScriptํŒŒ์ผ๋“ค, ์ด๋ฏธ์ง€ css๋“ค์„ ํ•˜๋‚˜์˜ ๋ชจ๋“ˆ๋กœ ๋ณด๊ณ  ๋ฐฐํฌ์šฉ์œผ๋กœ ๋ณ‘ํ•ฉํ•˜๊ณ  ํฌ์žฅํ•˜๋Š” ์ž‘์—…์„ ํ•จ.์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํˆด๋“ค์„ ๋ฒˆ๋“ค๋Ÿฌ๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ๋ฒˆ๋“ค๋Ÿฌ ์ค‘์— Webpack์ด ํ˜„์žฌ ์‹œ์ ์—์„œ ๊ฐ€์žฅ ์ธ๊ธฐ๊ฐ€ ๋งŽ์Œ.

2024๋…„ 10์›” 1์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

[02] Three.js - camera

์‚ฌ๋žŒ์ด ๋ณด๋Š”๋“ฏํ•œ ์‹œ์•ผ๊ฐ์ด ์žˆ๋Š” ์นด๋ฉ”๋ผ ๋ชจ๋“œ.fov (์‹œ์•ผ๊ฐ): ์‚ฌ๋žŒ์ด ๋ณด๋Š” ์‹œ์•ผ๊ฐ(field of view)์šฐ๋ฆฌ ๋ˆˆ์œผ๋กœ ๋ณด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, ์นด๋ฉ”๋ผ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋„“๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.aspect (ํ™”๋ฉด์˜ ๋†’์ด ๋ฐ ๋„ˆ๋น„): ๊ฐ€๋กœ ์„ธ๋กœ ํ™”๋ฉด ๋น„์œจ. near (๊ฐ€๊นŒ์šด ๊ฑฐ๋ฆฌ ์ œ

2024๋…„ 9์›” 23์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

[01] Three.js

Three.js ์ด์™ธ์— ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋„ ๋งŽ์ง€๋งŒ, ํ˜„์žฌ ์›น ๊ธฐ๋ฐ˜ 3D ๊ทธ๋ž˜ํ”ฝ์˜ ๊ฒฝ์šฐ Three.js๊ฐ€ ์ธ๊ธฐ๊ฐ€ ๋งŽ์•„ ๊ณต๋ถ€ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค.

2024๋…„ 8์›” 11์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

์›๊ฒฉ ์„œ๋ฒ„ ์ƒํƒœ ์ฒดํฌ

๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ฑ์˜ ๊ธฐ๋ณธPing์€ ICMP(Internet Control Message Protocol)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ์ƒ์˜ ํŠน์ • ํ˜ธ์ŠคํŠธ์™€์˜ ์—ฐ๊ฒฐ์„ฑ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‘๋‹ต ์‹œ๊ฐ„์„ ์ธก์ •ํ•œ๋‹ค.

2024๋…„ 7์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Kafka ๊ธฐ๋ณธ ์•„ํ‚คํ…์ฒ˜

ํ•˜์ž‰

2024๋…„ 7์›” 16์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

typescript UTF-8์ธ์ฝ”๋”ฉ ์—๋Ÿฌ

ํ”„๋ก ํŠธ์—”๋“œ ์†Œ์Šค์ฝ”๋“œ(Next.js + Typescript)๋ฅผ ๋นŒ๋“œํ• ๋•Œ๋งˆ๋‹ค ํ•œ๋ฒˆ์”ฉ ๋งˆ์ฃผํ•˜๋˜ UTF-8 ์ธ์ฝ”๋”ฉ ์—๋Ÿฌ.

2024๋…„ 7์›” 15์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

nginx

nginx ์„ค์ •ํŒŒ์ผ์„ ์ ์šฉํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ, ๊ฐ€์žฅ ์ƒ๋‹จ์— ์ž…๋ ฅํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ์—†์–ด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ.

2024๋…„ 7์›” 15์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Kafka๋ž€?

Kafka์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

2024๋…„ 7์›” 12์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

TLS ๋ฒ„์ „ ํ™•์ธํ•˜๋Š” ๋ฒ• (CentOS 7)

์„ค์น˜๋œ OpenSSL ๋ฒ„์ „๊ณผ ๋ฆด๋ฆฌ์ฆˆ ๋‚ ์งœ๋ผ์„œ, TLS ๋ฒ„์ „์ด๋ผ ์ƒ๊ฐํ•˜๋ฉด ์•ˆ๋œ๋‹ค.example.com์— URL/ip ๋ชจ๋‘ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.๋‹จ, url ์ž…๋ ฅ์‹œ http / https๋Š” ์ œ๊ฑฐํ•œ ๋’ค ์ž…๋ ฅํ•ด์•ผํ•œ๋‹ค.์˜ˆ) https://www.naver.com -> nav

2024๋…„ 6์›” 26์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

tar / tar.gz ์••์ถ• & ์••์ถ• ํ•ด์ œ

<span style="color: ์ด๋ฅผ ์œ„ํ•ด ์ž์ฃผ ์‚ฌ์šฉํ•˜๋˜ .tar ์••์ถ• ๋ฐ ์••์ถ• ํ•ด์ œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ํฌ์ŠคํŒ…ํ•˜๊ฒ ๋‹ค.\-tvf -xvf ๋“ฑ๋“ฑ ๋ช…๋ น์–ด๊ฐ€ ์‚ฌ์šฉ๋˜๋Š”๋ฐ ์ด๊ฒŒ ๊ณผ์—ฐ ์–ด๋–ค ์˜๋ฏธ์ธ์ง€ ์•Œ์•„๋ณด๊ณ ์ž ํ•จ.\-t: ๋‚ด์šฉ ํ™•์ธ\-c: tar ์ƒ์„ฑ\-x: tar ์ถ”์ถœ\-v:

2024๋…„ 6์›” 20์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

DTO์™€ Entity

Next๋ž‘ React๋กœ๋งŒ ๋†€๊ณ  ์žˆ๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ ๋‚˜ํƒ€๋‚œ Nest.. DTO๋ž‘ Entity๊ฐ€ ๋ญ”์ง€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ง‰ํžˆ๊ฒŒ ๋˜์—ˆ๋‹ค..! Nest๋กœ ๋ฌด์ž‘์ • ์ž‘์—…ํ•˜๊ธฐ ์ „์— ์•„๋ž˜ ๋‘ ๊ฐ€์ง€๋ฅผ ์งš๊ณ  ๋„˜์–ด๊ฐ€๋ ค๊ณ  ํ•œ๋‹ค.\- DTO์™€ Entity๊ฐ€ ๋ฌด์—‡์ธ์ง€?\- DTO์™€ Entity๋ฅผ ์™œ ์‚ฌ์šฉํ•ด์•ผ

2024๋…„ 4์›” 15์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

ANSI ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค

\\n: ํ…์ŠคํŠธ๋ฅผ ํ•œ์นธ ์•„๋ž˜์— ์ƒˆ๋กญ๊ฒŒ ์ถœ๋ ฅ\\t: ํ…์ŠคํŠธ ์‚ฌ์ด์— ๊ฐ„๊ฒฉ ๋งŒ๋“ฆ\\r: ์ปค์„œ๋ฅผ ํ˜„์žฌ ๋ผ์ธ์˜ ๋งจ ์•ž์œผ๋กœ ์ด๋™\\b: ๋ฐฑ์ŠคํŽ˜์ด์Šค๋กœ ์ปค์„œ๋ฅผ ํ•œ ์นธ ์™ผ์ชฝ์œผ๋กœ ์ด๋™\\033\[K: ํ˜„์žฌ ์ปค์„œ ์œ„์น˜๋ถ€ํ„ฐ ํ˜„์žฌ ๋ผ์ธ์˜ ๋๊นŒ์ง€ ์‚ญ์ œ

2024๋…„ 4์›” 12์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Go: Marshal์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž

json.Marshal()

2024๋…„ 4์›” 11์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Next.js 14 ํด๋”๊ตฌ์กฐ ์ •๋ฆฌ

์ œ๋กœ์ดˆ๋‹˜์˜ Next 14 ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์žˆ๋Š”๋ฐ, ํด๋” ๊ตฌ์กฐ ๋ถ€๋ถ„์—์„œ ์ƒˆ๋กœ์šด ๊ฒƒ๋“ค์ด ๋งŽ์•„ ์ •๋ฆฌํ•ด๋ณธ๋‹ค.Route GroupsRouter๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€๋“ค์„ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค.()๋ฅผ ํ†ตํ•ด์„œ ๋ฌถ์„ ์ˆ˜ ์žˆ๊ณ  ํ•ด๋‹น ๊ด„ํ˜ธ ์•ˆ์— ํด๋” ์ด๋ฆ„์„ ์ง€์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.์ด๋ ‡๊ฒŒ Route

2024๋…„ 3์›” 8์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Next.js Default page๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 

Next.js๊ฐ€ 14๋ฒ„์ „์œผ๋กœ ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ App Router๋ฐฉ์‹์„ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋‹ค.์—ฌ๊ธฐ์„œ ์ฒ˜์Œ ์•Œ๊ฒŒ๋œ ๊ฒƒ์ด parallel routes๊ธฐ๋Šฅ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์„œ ๋˜ ํ•„์š”ํ–ˆ๋˜๊ฒŒ Default page์˜ ํ•„์š”์„ฑ์ด๋‹ค.๋„๋Œ€์ฒด Default page๋ฅผ ์™œ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์•„

2024๋…„ 2์›” 20์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

github ๊ณ„์ • ์—ฌ๋Ÿฌ๊ฐœ ๊ด€๋ฆฌํ•˜๊ธฐ(mac)

2024๋…„ 2์›” 6์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Node ๋ฒ„์ „ ๊ด€๋ฆฌํ•˜๊ธฐ (mac)

ํ˜„ ํšŒ์‚ฌ์˜ ํ”„๋กœ์ ํŠธ๋Š” node@16 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•œ๋‹ค.์ด๋ฒˆ์— Next@14๋กœ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋˜๋ฉด์„œ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•ด๋ณด๋ ค๊ณ ํ•˜๋‹ˆ Node Version์„ 18 ์ด์ƒ์œผ๋กœ ์˜ฌ๋ ค์•ผํ–ˆ๋‹ค.์ด๋ ‡๊ฒŒ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค Node Version์„ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅด๊ฒŒ ์‚ฌ์šฉํ•ด์•ผํ•  ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—

2024๋…„ 2์›” 6์ผ
ยท
2๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

์Šฌ๋ผ์ด์Šค

Go์—์„œ Slice๋Š” ๋ฐฐ์—ด์„ ๊ฐ€๋ฅดํ‚ค๋Š” <span style="color: ๋”ฐ๋ผ์„œ ๋ฐฐ์—ด๊ณผ ๋‹ฌ๋ฆฌ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ํ™•์žฅํ•˜๊ฑฐ๋‚˜ ์ถ•์†Œํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.Go์—์„œ ๋ฐฐ์—ด๊ณผ ์Šฌ๋ผ์ด์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ ์–ธํ•œ๋‹ค.๋ฐฐ์—ด์˜ ๊ฒฝ์šฐ, ๋ฐฐ์—ด์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์„ค์ •ํ•˜๊ณ  ์„ ์–ธํ•œ๋‹ค.์Šฌ๋ผ์ด์Šค์˜ ๊ฒฝ์šฐ <s

2024๋…„ 1์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

๋‚ด๊ฐ€ ์•Œ์•„์•ผํ•  go ๊ธฐ๋ณธ ์ •๋ฆฌํŽธ

ํ•จ์ˆ˜ ์ฒ˜๋ฆฌGo ์–ธ์–ด์—์„œ ํ•จ์ˆ˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ’ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.utils.ExecuteCommandLineํ•จ์ˆ˜๋Š” ์™ธ๋ถ€ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ๋‘ ๊ฐ€์ง€ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.๋ช…๋ น ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๋‹ด์€ output๋ณ€์ˆ˜๋งŒ์•ฝ, ๋ช…๋ น ์‹คํ–‰์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค๋ฉด, output ๋ณ€์ˆ˜๋Š” ๋ช…๋ น ์‹คํ–‰ ๊ฒฐ๊ณผ

2024๋…„ 1์›” 18์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท