Jiwon Park

๐Ÿ“ Seoul, Korea

Git ์„ค์ • ํŒŒ์ผ ํŒ€์›๋“ค๊ณผ ๊ณต์œ ํ•˜๊ธฐ

mac์˜ git desktop์€ core.ignorecase๊ฐ€ ๊ธฐ๋ณธ์œผ๋กœ true์ด๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ผ๋ช…์„ fire์—์„œ FIRE๋กœ ๋ณ€๊ฒฝํ•ด๋„ git์€ ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋Ÿฌ๋ฉด ๋กœ์ปฌ์—์„œ๋Š” ๋Œ์•„๊ฐ€๋Š” ์ฝ”๋“œ๊ฐ€ ์›๊ฒฉ ๋ ˆํฌ์—์„œ๋Š” ๋Œ์ง€ ์•Š๋Š” ๋ถˆ์ƒ์‚ฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” git config core.ignorecase false ๋กœ ๊ธฐ๋ณธ๊ฐ’์„ false๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค๋ฅธ ํŒ€์›์ด ์ € ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด, ๊ทธ ํŒ€์›์€
โ€” 2 min read

Express-mongoDB๋กœ CRUD API ๋งŒ๋“ค๊ธฐ(02)

ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ๋Š” ํ•œ์–‘๋Œ€ํ•™๊ต ์ •๋ณด์‹œ์Šคํ…œํ•™๊ณผ 2021ํ•™๋…„๋„ 2ํ•™๊ธฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์‹œ์Šคํ…œ ์ˆ˜์—… ๋ฐ ์‹œํ—˜ ๋Œ€์ฒด ๊ณผ์ œ๋กœ ๊ธฐํš๋˜์—ˆ์Šต๋‹ˆ๋‹ค.์‹œ์ฆŒ 399429ํ˜ธ ๋ธ”๋กœ๊ทธ ์—”์ง„ ๋งŒ๋“ค๊ธฐ ๊ฒฐ์‹ฌํž™ํ•˜๊ฒŒ Typescript ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ ๊ตฌ์„ฑํ•˜๊ธฐExpress๋กœ CRUD api ๋งŒ๋“ค๊ธฐ (01)mongoDB๋ž€? mongoDB๋Š” NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ค‘ ํ•˜๋‚˜๋กœ, Document ๋ฐฉ์‹์„ ํƒํ•˜๊ณ  ์žˆ๋‹ค. Document๋Š” ๋ฐ์ดํ„ฐ๋ฅผ Key Value๋กœ ๋‚˜๋ˆ„์–ด ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ชจ์Šต์ด๋‹ค. Key Value name ํ™๊ธธ๋™
โ€” 6 min read

Express๋กœ CRUD api ๋งŒ๋“ค๊ธฐ (01)

ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ๋Š” ํ•œ์–‘๋Œ€ํ•™๊ต ์ •๋ณด์‹œ์Šคํ…œํ•™๊ณผ 2021ํ•™๋…„๋„ 2ํ•™๊ธฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์‹œ์Šคํ…œ ์ˆ˜์—… ๋ฐ ์‹œํ—˜ ๋Œ€์ฒด ๊ณผ์ œ๋กœ ๊ธฐํš๋˜์—ˆ์Šต๋‹ˆ๋‹ค.์‹œ์ฆŒ 399429ํ˜ธ ๋ธ”๋กœ๊ทธ ์—”์ง„ ๋งŒ๋“ค๊ธฐ ๊ฒฐ์‹ฌํž™ํ•˜๊ฒŒ Typescript ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ ๊ตฌ์„ฑํ•˜๊ธฐ์ผ๋‹จ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ƒ๊ฐํ•˜์ง€ ๋ง๊ณ , ๋น ๋ฅด๊ฒŒ express๋กœ CRUD๋ถ€ํ„ฐ ๋งŒ๋“ค์–ด๋ณด์ž. CRUD๋Š” Create, Read, Update, Delete์˜ ์•ฝ์ž๋กœ, ๋Œ€๋ถ€๋ถ„์˜ ์ž๋ฃŒ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฉ”์†Œ๋“œ ๋“ค์ด ์ด ๋ฒ”์ฃผ๋‚ด์— ๋“ค์–ด์˜จ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ Create๋Š” html์˜ POST๋กœ, Read๋Š” html์˜ GET์œผ๋กœ,
โ€” 4 min read

ํž™ํ•˜๊ฒŒ Typescript ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ ๊ตฌ์„ฑํ•˜๊ธฐ

ํ•ด๋‹น ๋ฌธ์„œ๋Š” ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. 2021.11.27.์— ๋งˆ์ง€๋ง‰์œผ๋กœ ์ˆ˜์ •๋จ Create React App๊ณผ ๊ฐ™์€ ์ด๋ฏธ ๋‹ค ์„ค์ •๋œ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๋ฅผ ์ด์šฉํ•  ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ, ๊ทธ๊ฑด ํž™ํ•˜์ง€ ๋ชปํ•˜๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ๋‹ค ์„ค์ •ํ•˜์ž. ์ดํ•˜ ์กฐํ•ฉ์€ ๋‚ด๊ฐ€ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์Šคํƒ์œผ๋กœ, ์—ฌ๋Ÿฌ ์žฅ์ ์ด ์žˆ๊ธฐ์— ์†Œ๊ฐœํ•ด๋ณธ๋‹ค. 1. yarn berry node ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋กœ๋Š” yarn berry๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
โ€” 4 min read

์ด์ง„ ํŠธ๋ฆฌ ์ˆœํšŒ: ์ „์œ„, ์ค‘์œ„, ํ›„์œ„, ๋ ˆ๋ฒจ

์ด์ง„ ํŠธ๋ฆฌ(Binary Tree)๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ํฌ๊ฒŒ ๋‹ค์Œ์˜ 4๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์ „์œ„์ˆœํšŒ(Preorder Traversal)์ค‘์œ„์ˆœํšŒ(Inorder Traversal)ํ›„์œ„์ˆœํšŒ(Postorder Traversal)๋ ˆ๋ฒจ์ˆœํšŒ(Levelorder Traversal) ๋˜๋Š” BFS(Breadth-First Search; ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰)๋ ˆ๋ฒจ์ˆœํšŒ(;BFS)๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์ˆœํšŒ๋ฐฉ์‹์€ DFS(Depth-First Search; ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰)์œผ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ „์œ„์ˆœํšŒ(preorder traversal)์ „์œ„์ˆœํšŒ๋Š”
โ€” 4 min read

๊ทธ ํŠน์ˆ˜๋ฌธ์ž๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค

๋ชจ๋ฐ”์ผ์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ๊ทœ์น™ ์ œ๊ณตํ•˜๊ธฐ TL;DR: ์‚ฌ์šฉ์ž๊ฐ€ ์‹ค์ˆ˜ํ•˜๊ฒŒ ๋งŒ๋“ค์ง€ ๋งˆ๋ผ, ํ•„์š”์—†๋Š” ๋‚ด์šฉ์€ ๋ชจ๋‘ ์ œ๊ฑฐํ•˜๋ผ.์˜จ๋ผ์ธ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•˜๋ ค๊ณ  ๋ณด๋ฉด ๋Œ€๋ถ€๋ถ„ ์ผ์ • ๊ทœ์น™์„ ๋งŒ์กฑํ•˜๋„๋ก ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•ด๋‹ฌ๋ผ๊ณ  ์š”๊ตฌํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ƒ๋…„์›”์ผ์€ ๋น„๋ฐ€๋ฒˆํ˜ธ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋˜๊ฐ€, 10์ž ์ด์ƒ 16์ž ๋ฏธ๋งŒ์˜ ๊ธธ์ด ์ œํ•œ์„ ๋‘๋Š” ๋“ฑ์˜ ๋ฐฉ์‹์ด๋‹ค. ๊ทธ ์ค‘ ์˜ค๋Š˜ ๋‹ค๋ค„๋ณผ ๋‚ด์šฉ์€
โ€” 8 min read

์‹œ์ฆŒ 399429ํ˜ธ ๋ธ”๋กœ๊ทธ ์—”์ง„ ๋งŒ๋“ค๊ธฐ ๊ฒฐ์‹ฌ

ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ๋Š” ํ•œ์–‘๋Œ€ํ•™๊ต ์ •๋ณด์‹œ์Šคํ…œํ•™๊ณผ 2021ํ•™๋…„๋„ 2ํ•™๊ธฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์‹œ์Šคํ…œ ์ˆ˜์—… ๋ฐ ์‹œํ—˜ ๋Œ€์ฒด ๊ณผ์ œ๋กœ ๊ธฐํš๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ก  ์›๋ž˜ ๋‘ ๋‹ฌ ์ „์— ์ง„์ž‘ ์‹œ์ž‘ํ•ด์•ผํ–ˆ๋˜ ๊ณผ์ œ์ด์ง€๋งŒ, ๋ฐ”์˜๋‹ค๋Š” ํ•‘๊ณ„๋กœ ์ค‘๊ฐ„๊ณ ์‚ฌ๊นŒ์ง€ ๊ทธ๋ƒฅ ๋ณด๋‚ด๋ฒ„๋ฆฌ๊ณ  ๋ง์•˜๋‹ค. ์ด์ œ๋ผ๋„ ๊ธ‰ํ•˜๊ฒŒ ์‹œ์ž‘ํ•˜์ง€๋งŒ, ํ•„์š”ํ•œ ๋‚ด์šฉ์€ ํ™•์‹คํžˆ ์งš์–ด๊ฐ€๋ฉด์„œ ๋‚ด์šฉ์„ ์ง„ํ–‰ํ•  ์ƒ๊ฐ์ด๋‹ค. ์ข…๊ฐ•ํ•˜๋Š” 12์›” ๋ง๊นŒ์ง€ ์•ฝ 6~7์ฃผ๊ฐ„ ์ฃผ 2ํšŒ์”ฉ ์—ฐ์žฌ๋  ์˜ˆ์ •์ด๋‹ค. ๋ฌด์—‡์„ ๋งŒ๋“ค ๊ฒƒ์ธ๊ฐ€
โ€” 2 min read

[C์–ธ์–ด ๊ธฐ์ดˆ CURSE] Hello, World ์ถœ๋ ฅํ•˜๊ธฐ

์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋ฐฐ์šธ ๋•Œ๋Š” C์–ธ์–ด๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ณ , (์š”์ฆ˜์€ python๋ถ€ํ„ฐ๋ผ์ง€๋งŒ) C์–ธ์–ด๋ฅผ ์ œ์ผ ์ฒ˜์Œ ๋ฐฐ์šธ ๋•Œ ์ ‘ํ•˜๋Š” ์ฝ”๋“œ๋Š” ๋ฐ”๋กœ ๊ทธ ์œ ๋ช…ํ•œ 'Hello, world!'๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ๋‹ค. ์˜ค๋Š˜์€ ๊ทธ ์ฝ”๋“œ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•๋“ค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. 1๋ฒˆ : ๊ทผ๋ณธ#include <stdio.h> main() { printf("hello, world\n"); } ํ•ด์„คK&R์˜ <The C Programming Language&
โ€” 6 min read

์Šคํƒ€๋ฒ…์Šค ๋ฆฌ์œ ์ €๋ธ”์ปต์€ ๋ฆฌ์œ ์ €๋ธ”ํ•œ๊ฐ€

์ตœ๊ทผ ์Šคํƒ€๋ฒ…์Šค๊ฐ€ "๋ฆฌ์œ ์ €๋ธ”์ปต"์ด๋ผ๊ณ  ์ด๋ฆ„ ๋ถ™์ธ ํ”Œ๋ผ์Šคํ‹ฑ ์ปต์„ ์ผํšŒ์šฉ ํ”Œ๋ผ์Šคํ‹ฑ ์ปต ๋Œ€์‹  ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค๋Š” ์†Œ์‹์ด ์žˆ์—ˆ๋‹ค. ์„œ์šธ ๋ฐ ์ œ์ฃผ์—์„œ๋Š” ์•„์˜ˆ ์ผํšŒ์šฉํ’ˆ ์‚ฌ์šฉ์„ ํ•˜์ง€ ์•Š๊ณ  ๋ฆฌ์œ ์ €๋ธ”์ปต๋งŒ ์ œ๊ณตํ•˜๊ฒ ๋‹ค๋Š” ๊ณ„ํš๊นŒ์ง€ ๋ฐœํ‘œํ–ˆ๋‹ค. ๋ฆฌ์œ ์ €๋ธ”์ปต์— ๋Œ€ํ•œ ๋ณด์ฆ๊ธˆ์„ ์Œ๋ฃŒ๊ฐ’์— ํฌํ•จํ•ด์„œ ๋ฐ›๊ณ  ์ปต์„ ๋‹ค์‹œ ๋Œ๋ ค์คฌ์„ ๋•Œ ๋ณด์ฆ๊ธˆ์„ ๋Œ๋ ค์ฃผ๋Š” ์ œ๋„๋ฅผ ์šด์˜ํ•˜๊ฒ ๋‹ค๊ณ  ํ•œ ๊ฒƒ์ธ๋ฐ, ์‹ค์ œ๋กœ ์–ผ๋งˆ๋‚˜ ํšจ์šฉ์„ฑ์ด ์žˆ์„ ์ง€์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์ž.
โ€” 6 min read

Subscribe to jiwon.me

Donโ€™t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe