๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ(10)
-
[๋ฆฌ์กํธ] ํ์๊ฐ์ ๊ธฐ๋ฅ ๊ตฌํ (๊ณตํต ์ปดํฌ๋ํธ ๋ถ๋ฆฌ. CheckBox)
์ด๋ฒ ์์ ์์๋ ํ์๊ฐ์ ๋ฐ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ ๊ณผ์ ์์ ๋ฐ์ํ ์ฌ๋ฌ ๋ฌธ์ ๋ฅผ ์ ๋ฆฌํ๊ณ , ํด๊ฒฐ ๋ฐฉ๋ฒ ๋ฐ ์ฝ๋ ๋ฆฌํฉํ ๋ง ์งํํ์์ต๋๋ค. 1. ํ์๊ฐ์ ๊ธฐ๋ฅ ๊ตฌํโ ์ฃผ์ ๊ตฌํ ๋ด์ฉ๋น๋ฐ๋ฒํธ ์ ํจ์ฑ ๊ฒ์ฌ๋น๋ฐ๋ฒํธ ์ ๋ ฅ๊ฐ์ด ๋น์ด ์์ผ๋ฉด “๊ฐ์ ์ ๋ ฅํ์ธ์” ์๋ฌ ์ถ๋ ฅ์ ๋ ฅ์ด ๋์ด ์๋ ์ํ๋ผ๋ฉด “ํ์ ์ค๋ฅ” ์๋ฌ ์ถ๋ ฅ์์ด๋ ์ค๋ณต ํ์ธ“์ค๋ณต ํ์ธ” ๋ฒํผ ํด๋ฆญ ์, ์๋ฒ์์ ํด๋น ์์ด๋์ ์กด์ฌ ์ฌ๋ถ ํ์ธ์ด๋ฏธ ์กด์ฌํ๋ฉด “์ด๋ฏธ ์กด์ฌํ๋ ์์ด๋์ ๋๋ค” ๋ฉ์์ง ํ์์กด์ฌํ์ง ์์ผ๋ฉด “์ฌ์ฉ ๊ฐ๋ฅํ ์์ด๋์ ๋๋ค” ๋ฉ์์ง ํ์๋น๋ฐ๋ฒํธ ์ํธํ ์ฒ๋ฆฌ๋น๋ฐ๋ฒํธ ์ ๋ ฅ ํ๋๋ฅผ ๋จ์ผํํ๊ณ , ๋ด๋ถ์ ์ผ๋ก ๋น๋ฐ๋ฒํธ์ ๋น๋ฐ๋ฒํธ ํ์ธ ํ๋ ๋ชจ๋ ์ํธํ ์ฒ๋ฆฌํ์๊ฐ์ ๊ฒฝ๋ก๋ณ Role ๊ตฌ๋ถ์์ฌ์ฉ/์ผ๋ฐ ์ฌ์ฉ์์ฉ ํ์๊ฐ์ ํ์ด์ง๊ฐ ๋ถ๋ฆฌ๋์ด ์์ผ๋ฏ๋กlocation.pa..
2025.10.20 -
[Docker] Docker์ ๊ธฐ๋ณธ ๊ฐ๋ (feat.Docker๋ฅผ ์ ์ธ๊น?)
๋์ปค์ ๋ํ ํ์ต ๋ฐ ๊ฐ๋ ์ ๋ฆฌ๋ ์๋ ๊ฐ์๋ฅผ ํตํด ์งํํ์์ต๋๋ค. ๋น์ ๊ณต์๋ ์ดํดํ ์ ์๋ Docker ์ ๋ฌธ/์ค์ | JSCODE ๋ฐ์ฌ์ฑ - ์ธํ๋ฐ ๊ฐ์ํ์ฌ ํ์ 4.9์ ์๊ฐ์ 13,976๋ช ์ธ ๊ฐ์๋ฅผ ๋ง๋๋ณด์ธ์. ๋น์ ๊ณต์ ์ ์ฅ์์๋ ์ฝ๊ฒ ์ดํดํ ์ ์๊ณ , ์ค์ ์์ ๋ฐ๋ก ์ ์ฉ ๊ฐ๋ฅํ Docker ์ ๋ฌธ/์ค์ ๊ฐ์๋ฅผ ๋ง๋ค์ด๋ดค์ต๋๋ค! Docker ๊ธฐ๋ณธ ๊ฐ๋ , Spring Boot๋ฅผwww.inflearn.com ๋์ปค(Docker)๋? – ๋ก์ปฌ ํ๊ฒฝ ๋ฌธ์ ํด๊ฒฐ๊ณผ ์ด์์ฑ ํ๋ณดํ๋ก์ ํธ๋ฅผ ์งํํ๋ค ๋ณด๋ฉด ๊ฐ์ ์ฝ๋๋ผ๋ ๋ก์ปฌ ํ๊ฒฝ์ ๋ฐ๋ผ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์์ต๋๋ค.ํ์ง๋ง ๋์ปค๋ฅผ ์ฌ์ฉํ๋ฉด, ํ ๋ฒ์ ๋ช ๋ น์ด๋ก ์ผ๊ด๋ ํ๊ฒฝ์ ๊ตฌ์ฑํ๊ณ ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์์ต๋๋ค.๋ํ ๋์ปค๋ ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋์ด ์ถฉ๋ ์ํ์ด ์ ๊ธฐ ..
2025.10.18 -
[์๋ฃ๊ตฌ์กฐ] ๋ฐฐ์ด(Array) vs ์ฐ๊ฒฐ ๋ฆฌ์คํธ(LinkedList) ํต์ฌ ๋น๊ต
๋ฐฐ์ด (Array)์ฐ์ ๊ณต๊ฐ์ ๊ฐ์ด ์ฑ์์ ธ ์๋ ํํ์ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. ์ธ๋ฑ์ค๋ฅผ ํตํด ์ฐธ์กฐํ ์ ์์ผ๋ฉฐ, ์ ์ธํ ์๋ฃ ๊ฐ๋ง ์ ์ฅ ๊ฐ๋ฅํฉ๋๋ค.๋ฐฐ์ด ์ ์ธ ์ ํฌ๊ธฐ๋ฅผ ์ง์ ํ๊ณ ์ดํ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค. ์กฐํ ๋ฐ ์์ ์๋ O(1), ์ฝ์ ๋ฐ ์ญ์ ์๋ O(n)์ผ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋๋ค. ๋ฆฌ์คํธ (Lincked List)๊ฐ๊ณผ ํฌ์ธํฐ๋ค์ ๋ฌถ์ ๋ ธ๋๋ผ๋ ๊ฒ์ ํฌ์ธํฐ๋ก ์ฐ๊ฒฐํ ๊ตฌ์กฐ์ ๋๋ค. ์ ์ธ ์ ํฌ๊ธฐ๋ฅผ ๋ณ๋๋ก ์ง์ ํ์ง ์์๋ ๋ฉ๋๋ค. (๊ฐ๋ณ์ ) ํฌ์ธํฐ๋ฅผ ์ ์ฅํ ๊ณต๊ฐ์ด ํ์ํ๋ฏ๋ก ๋ฐฐ์ด๋ณด๋ค ๊ตฌ์กฐ๊ฐ ๋ณต์กํฉ๋๋ค. ๊ฐ์ ์ ๊ทผ์ ์ํด์๋ Head(์ฒ์)๋ถํฐ ์์๋๋ก ์ ๊ทผํด์ผ ํ๋ฏ๋ก O(n) ๋ณต์ก๋๊ฐ ๊ฑธ๋ฆฝ๋๋ค.ํฌ์ธํฐ๋ก ์ฐ๊ฒฐ์ด ๋์ด ์์ด ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๊ฑฐ๋ ์ญ์ ํ๋ ๋ฐ์๋ O(1) ๋ณต์ก๋๊ฐ ๊ฑธ๋ฆฝ๋๋ค. ๋ฐฐ์ด๊ณผ ๋ฆฌ์คํธ๋ฅผ ๋ค..
2025.09.18 -
useInfiniteQuery โ useInView๋ก ๋ฌดํ ์คํฌ๋กค ๊ตฌํํ๊ธฐ
์ต์ข UI๋ณ์ ํ์ด์ง์ ๋ฆฌ๋ทฐ ๋ฌดํ ์คํฌ๋กค ์ด๋ฒคํธ ๋์ ์ ์ํ๊ธฐ๋ฆฌ๋ทฐ ๋ฐ์ดํฐ๋ ํ ํ์ด์ง์ 20๊ฐ์ฉ ํ์๋๋ฉฐ, ์ฌ์ฉ์๊ฐ ํ๋ฉด์ ๋ง์ง๋ง ๋ฐ์ดํฐ์ ๋๋ฌํ๋ฉด ์๋์ผ๋ก ๋ค์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ ์ด์ด์ ํ์๋๋๋ก ๊ตฌํํ์ต๋๋ค. ์ด๋ฒคํธ ๋์ ๊ตฌํํ๊ธฐ ๐ ์ฐธ๊ณ ์๋ฃ useInfiniteQuery๋ก ๋ฌดํ์คํฌ๋กค ๊ตฌํํ๊ธฐ | ์ฌ๋ฆฌ๋ธ์ ํ ํฌ๋ธ๋ก๊ทธ๋ฌดํ์คํฌ๋กค ๊ตฌํ ๋ฐฉ๋ฒ๊ณผ ๋ค๋ก๊ฐ๊ธฐ ์ ์คํฌ๋กค ์ ์งํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค.oliveyoung.tech useInfiniteQuery | TanStack Query React Docstsx const { fetchNextPage, fetchPreviousPage, hasNextPage, hasPreviousPage, isFetchingNextPage, isFetchingPreviousPage..
2025.08.26 -
[๋ฆฌ์กํธ] ๋ด๋น๊ฒ์ด์ ๋ฐ ๊ฒ์ ๊ตฌํ (feat. <form> ํ๊ทธ , ํ์ํ ์๊ฐ์?)
๋ด๋น๊ฒ์ด์ ๋ฐ์์ ํน์ ํค์๋๋ก ๊ฒ์์ ์๋ํ๋ฉด, ๊ฒ์ ํ์ด์ง๋ก ์ด๋ํ ๋ค ํด๋น ํค์๋์ ๋ง๋ ๋ฐ์ดํฐ๋ฅผ ํ๋ฉด์ ํ์ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.์ด๋ฒ ํฌ์คํธ์์๋ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฒ์์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก API ์์ฒญ์ ๋ณด๋ด๊ณ , ์๋ต ๋ฐ์ดํฐ๋ฅผ ํ๋ฉด์ ์ถ๋ ฅํ๋ ๊ณผ์ ์์ ๋ง์ฃผ์ณค๋ ๋ฌธ์ ๋ค๊ณผ ์ด๋ฅผ ํตํด ์ป์ ์ธ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ๊ฒ ์ต๋๋ค. ์ต์ข UI๊ฒ์ ๊ณผ์ ์ด๋ฒคํธ ๋์ ์ ์ํ๊ธฐ์ ๋ ฅ ๊ฐ์ ๋ฐ๋ฅธ ๋ณ์ ์ ๋ณด ์ถ๋ ฅ์ฌ์ฉ์๊ฐ input ํ๊ทธ์ ๊ฐ์ ์ ๋ ฅํ ๋ค ๊ฒ์ ๋ฒํผ์ ํด๋ฆญํ๊ฑฐ๋ Enter ํค๋ฅผ ๋๋ฅด๋ฉด, ํด๋น ์ด๋ฒคํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์ด์ง๊ฐ ์ด๋ํ๊ณ ์ ๋ ฅํ ํค์๋๋ฅผ ์ด์ฉํด API ์์ฒญ์ด ์ํ๋์ด ํน์ ๋ณ์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํฉ๋๋ค. ์ด๋ฒคํธ ์ฒ๋ฆฌ ๊ตฌํํ๊ธฐ ๋ฐ์ดํฐ ์ ๋ ฅํ๊ธฐ ๐ ์ฐธ๊ณ ์๋ฃ input ํ๊ทธ ์ฌ์ฉ ์ form ํ๊ทธ ์ฌ์ฉ ์ฌ๋ถ - ์ธํ๋ฐ |..
2025.08.19 -
[๋ฆฌ์กํธ] ๋ก๊ทธ์ธ ์ด๋ฒคํธ ์ฒ๋ฆฌํ๊ธฐ (API ์ฐ๋, ์๋ฌ ์ฒ๋ฆฌ, ๋น๋ฐ๋ฒํธ ์ํธํ, ํ์ด์ง ์ด๋)
์ต์ข UI์ด๋ฒคํธ ๋์ ์ ์ํ๊ธฐ ํ๋์: start / end๋ ธ๋์: ์กฐ๊ฑด ์ด๋ก์: ์กฐ๊ฑด ์ฑ๊ณต ์ ์ํ๋๋ ์์ ๋นจ๊ฐ์: ์กฐ๊ฑด ์คํจ ์ ์ํ๋๋ ์์ ๋น๋ฐ๋ฒํธ ์ํธํ ๋น๋ฐ๋ฒํธ ์ ๋ ฅ ์ ์๋์ผ๋ก ์ํธํ๊ฐ ์งํ๋๊ณ ์์ ์ฒดํฌ๋ฐ์ค ํด๋ฆญ ์ ์ ๋ ฅํ ๋น๋ฐ๋ฒํธ๊ฐ ๋ณด์ด๋๋ก ํฉ๋๋ค. ํด๋ผ์ด์ธํธ ์๋ฌ ์ถ๋ ฅ1. ์์ด๋ ๋ฐ ๋น๋ฐ๋ฒํธ ๋ฏธ์ ๋ ฅ๋ฏธ์ ๋ ฅ ํ ๋ก๊ทธ์ธ ์๋ ์ ์๋์ ๊ฐ์ด ๋นจ๊ฐ ๊ฒฝ๊ณ ๋ฌธ์ด ์ถ๋ ฅ๋๋๋ก ๊ตฌํํ ์์ ์ ๋๋ค. 2. ์กด์ฌํ์ง ์์ ์์ด๋ & ๋น๋ฐ๋ฒํธ ๋ถ์ผ์น ์กด์ฌํ์ง ์์ ์์ด๋์ด๊ฑฐ๋ ์ฌ๋ฐ๋ฅด์ง ์์ ๋น๋ฐ๋ฒํธ๋ก ๋ก๊ทธ์ธ ์๋ ์ ์๋์ ๊ฐ์ด ๋นจ๊ฐ ๊ฒฝ๊ณ ๋ฌธ์ด ์ถ๋ ฅ๋๋ฉฐ, ๋น๋ฐ๋ฒํธ ์ ๋ ฅ๋์ ์๋ ๋ฐ์ดํฐ๊ฐ ์ด๊ธฐํ๋ฉ๋๋ค. ๐ก ๊ฒฝ๊ณ ๋ฌธ์ด “์์ด๋ ๋๋ ๋น๋ฐ๋ฒํธ ๋ถ์ผ์น”์ธ ์ด์ ์์ด๋ ์กด์ฌ ์ฌ๋ถ๋ฅผ ๊ณต๊ฒฉ์์๊ฒ ๋ ธ์ถํ์ง ์..
2025.08.13