๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก2024/11/05 (3)

JiYoung Dev ๐Ÿ–ฅ

[๋ฐฑ์ค€ 1874] ์Šคํƒ์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ˆ˜์—ด ๋งŒ๋“ค๊ธฐ : Stack

๐Ÿ”Ž ๋ฌธ์ œ๋ฌธ์ œ ์„ค๋ช…์Šคํƒ (stack)์€ ๊ธฐ๋ณธ์ ์ธ ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋กœ, ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ๋•Œ ์ž์ฃผ ์ด์šฉ๋˜๋Š” ๊ฐœ๋…์ด๋‹ค. ์Šคํƒ์€ ์ž๋ฃŒ๋ฅผ ๋„ฃ๋Š” (push) ์ž…๊ตฌ์™€ ์ž๋ฃŒ๋ฅผ ๋ฝ‘๋Š” (pop) ์ž…๊ตฌ๊ฐ€ ๊ฐ™์•„ ์ œ์ผ ๋‚˜์ค‘์— ๋“ค์–ด๊ฐ„ ์ž๋ฃŒ๊ฐ€ ์ œ์ผ ๋จผ์ € ๋‚˜์˜ค๋Š” (LIFO, Last in First out) ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.1๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ์ˆ˜๋ฅผ ์Šคํƒ์— ๋„ฃ์—ˆ๋‹ค๊ฐ€ ๋ฝ‘์•„ ๋Š˜์–ด๋†“์Œ์œผ๋กœ์จ, ํ•˜๋‚˜์˜ ์ˆ˜์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ, ์Šคํƒ์— pushํ•˜๋Š” ์ˆœ์„œ๋Š” ๋ฐ˜๋“œ์‹œ ์˜ค๋ฆ„์ฐจ์ˆœ์„ ์ง€ํ‚ค๋„๋ก ํ•œ๋‹ค๊ณ  ํ•˜์ž. ์ž„์˜์˜ ์ˆ˜์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ์Šคํƒ์„ ์ด์šฉํ•ด ๊ทธ ์ˆ˜์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€, ์žˆ๋‹ค๋ฉด ์–ด๋–ค ์ˆœ์„œ๋กœ push์™€ pop ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ.์ž…๋ ฅ์ฒซ ์ค„์— n (1 ≤ n ≤ 100,000)..

Base64 Encoding vs Base64UrlSafe vs FormData

์šด์˜ํ™˜๊ฒฝ์— ์ ์šฉ๋œ ์†”๋ฃจ์…˜ ์ค‘ Rest API๋ฅผ ํ†ตํ•ด ๋“ฑ๋ก๊ณผ ์กฐํšŒ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๋กœ์ง์—์„œ ๋“ฑ๋ก์€ ์ •์ƒ์ ์œผ๋กœ ์ง„ํ–‰๋˜์ง€๋งŒ, ๋“ฑ๋ก๋œ ์ •๋ณด๋กœ ์กฐํšŒ ์‹œ ์กฐํšŒ๊ฐ€ ์•ˆ๋˜๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜์˜€๋‹ค. ํ™•์ธ ๊ฒฐ๊ณผ, ์—ฐ๊ณ„ ์„œ๋น„์Šค์—์„œ ์šฐ๋ฆฌ ์†”๋ฃจ์…˜์˜ RestAPI ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ URL์— ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์•„์„œ ๋ณด๋‚ด๊ฒŒ ๋˜๋Š”๋ฐ ์ด ๋•Œ user์˜ id๋ฅผ Base64 ์ธ์ฝ”๋”ฉํ•˜์—ฌ ๋ณด๋‚ด๋Š” ๊ฒฐ๊ณผ, Base64 ์ธ์ฝ”๋”ฉ์— ํฌํ•จ๋˜๋Š” ๋ฌธ์ž์—ด ์ค‘ + ๋ฌธ์ž์—ด์ด URL์—์„œ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ Space๋กœ ์ธ์‹๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ •์ƒ์ ์ธ ์กฐํšŒ๊ฐ€ ์ง„ํ–‰๋˜์ง€ ์•Š์•˜๋‹ค.  ํ•ด๋‹น ๋ฌธ์ œ์™€ ๊ด€๋ จํ•˜์—ฌ ์ด๋ฒˆ์—๋Š” Base64์™€ ๊ด€๋ จ๋œ ํฌ์ŠคํŒ…์„ ์ง„ํ–‰ํ•ด ๋ณด์•˜๋‹ค. ๐Ÿ”Ž Base64 Encoding Base64 ์ธ์ฝ”๋”ฉ์ด๋ž€ ์ด์ง„(binary) ๋ฐ์ดํ„ฐ๋ฅผ 6bit์”ฉ ์ž˜๋ผ์„œ 64๊ฐœ์˜ ๋ฌธ์ž(์•„์Šคํ‚ค์ฝ”๋“œ)๋กœ ๋งค..

Study/Java 2024. 11. 5. 21:12
[React] ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ํŒŒ์ผ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

์˜ค๋Š˜์€ ๋ฆฌ์•กํŠธ๋ฅผ ์ด์šฉํ•ด ๋กœ์ปฌ์— ์กด์žฌํ•˜๋Š” ์ฒจ๋ถ€ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜์—ฌ API๋กœ ์ „์†กํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด ๋ณด์•˜๋‹ค.   ํƒœ๊ทธ๋จผ์ €, ๋ฆฌ์•กํŠธ์—์„œ ์ฒจ๋ถ€ํŒŒ์ผ์„ ์—…๋กœ๋“œ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•ด๋‹น ํƒœ๊ทธ๋Š” HTML ๊ธฐ๋ณธ ํƒœ๊ทธ๋กœ ๋กœ์ปฌ ์ปดํ“จํ„ฐ์— ์กด์žฌํ•˜๋Š” ํŒŒ์ผ์„ ๊ฐ€์ ธ ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ํƒœ๊ทธ์ด๋‹ค. ๋งŒ์•ฝ ์•„๋ฌด ์„ค์ • ์—†์ด ํ•ด๋‹น ํƒœ๊ทธ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋ณด์—ฌ์ค€๋‹ค.  ํŒŒ์ผ ์„ ํƒ์ด๋ผ๋Š” ๋ฒ„ํŠผ๊ณผ ํ…์ŠคํŠธ๊ฐ€ ๋œจ๊ณ , 'ํŒŒ์ผ ์„ ํƒ' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์ž˜ ์•Œ๊ณ  ์žˆ๋Š” ํŒŒ์ผ์„ ์—…๋กœ๋“œ ํ•˜๋Š” ์ฐฝ์ด ๋œฌ๋‹ค.   ์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•˜๊ฒŒ input ํƒœ๊ทธ์˜ file ์†์„ฑ๋งŒ์œผ๋กœ๋„ ํŒŒ์ผ ์—…๋กœ๋“œ๋ฅผ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์กฐ๊ธˆ ๋” ์‚ฌ์šฉ์ž๊ฐ€ ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก drag & drop ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.  ์„ ์‚ฌ์šฉํ•œ drag & drop ๊ธฐ๋Šฅ ์ถ”๊ฐ€๋“ค์–ด๊ฐ€๊ธฐ์—..

full stack/React 2024. 11. 5. 20:19