ALL
[ํ๋ฆฌ์จ๋ณด๋ฉ ์ฑ๋ฆฐ์ง ์ฌ์ ๊ณผ์ ] CSR ์ฅ๋จ์ / SPA, SSR ๊ฐ๋ with Next.js
CSR๊ณผ SSR์ ๊ฐ๋จํ๊ฒ ์ค๋ช ํ์๋ฉด ์น์ ๋ณด์ฌ์ง๋ ๋ฐฉ์์ ๋งํ๋ค. ๋ ๋ฐฉ์ ์ ๋ถ ์ฅ๋จ์ ์ด ์กด์ฌํ๊ณ ๊ฐ ๊ธฐ์ ๋ง๋ค ์ด๋ฅผ ํ์ฉํ์ฌ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ์๋ค. ์ด ๋์ ์์๋ณด๊ธฐ ์ ์ ์ง๊ธ๊น์ง ์น์ ์ญ์ฌ๋ฅผ ๊ฐ๋จํ๊ฒ ์ดํด๋ณด์. 1์ธ๋ ์น : ์ ๋ณด์ ๋ฌ, ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์น์๋ฒ๋ก HTMLํ์ผ ๋ฐ์์ด - ์ ์ ์ธ ์น์ฌ์ดํธ (HTML,CSS) 2์ธ๋ ์น : JS๋ฑ์ฅ์ผ๋ก User Interaction ์ฆ๊ฐ(์ ๋ณด ์ฃผ๊ณ ๋ฐ์) - ๋์ ์ธ ์น์ฌ์ดํธ (JS,SSR) 3์ธ๋ ์น : SPA๋ฑ์ฅ์ผ๋ก Frontend, Backend ๊ตฌ๋ถ - ๋์ ์ธ ์น์ฌ์ดํธ (CSR,AJAX,์ค์๊ฐ ๋ฐ์ดํฐ ์ ์ก) ์น์ด ์๊ฐ์ด ์ง๋ ์ ์ฐจ ๋ฐ์ ํ๋ฉด์ SPA๊ฐ ํธ๋ ๋๊ฐ ๋๊ณ PC ์ฑ๋ฅ๋ค์ด ์ข์์ง๋ฉด์ ์น์์์ ๋ง์ ๊ฒ๋ค์ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋์๋ค. ํ์คํ๋ก ์ ๋ฆฌ๊ฐ ๋..
[์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ณธ] ์๋ฐ์คํฌ๋ฆฝํธ ๋ณ์ ์ ์ธ var/let/const (var๋ฅผ ์ฌ์ฉํด์ ์๋๋์ด์ )
๋๋ค์ ์๋ฐ์คํฌ๋ฆฝํธ ์ดํ๋ฆฌ์ผ์ด์ (Application)์ ์ฌ์ฉ์ ๋๋ ์๋ฒ๋ก๋ถํฐ ๋ฐ์ ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ผ๋ก ๋์ํ๋ค. ์์) ์จ๋ผ์ธ ์ผํ๋ชฐ - ํ๋งค์ค์ธ ์ํ์ด๋ ์ฅ๋ฐ๊ตฌ๋ ๋ฑ์ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด์ ๊ฒฐ์ ์ฐฝ์ผ๋ก ๋์ด๊ฐ ์ฑํ ์ดํ - ์ฌ์ฉ์, ๋ฉ์์ง ๋ฑ์ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด์ ์๋ก ๋ํํ ์ ์๋ ์ฑํ ์ฅ์ ๋์ํจ ์ด๋ฌํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ฉ๋๋ก ์ฌ์ฉ๋๋ ๊ฒ์ด '๋ณ์(Variables)'์ด๋ค. ๋ค์ํ๊ณ ์์๋ก ๋ฐ๋๋ ๋ฐ์ดํฐ๋ค์ ์ ์ฅ๋ ์์ด ๋ง ๋ณด๋ด๊ฒ ๋๋ฉด ์ง์ ๋ถํด์ง๊ณ ๊ด๋ฆฌ๊ฐ ์ด๋ ค์์ง ๊ฒ์ด๋ค. ๋ณ์(Variables) ๋ณ์(variables) : ๋ฐ์ดํฐ(data)๋ฅผ ์ ์ฅํ ๋ ์ฐ๋ ์ด๋ฆ์ด ๋ถ์ ์ ์ฅ์ 1. let ์ ์ด์ฉํ ๋ณ์์ ์ธ let message; // let์ ๋ณ์๋ฅผ ์์ฑํ ๋ ์ฌ์ฉ, ํ์ฌ message๋ผ๋ ..
๊ฒ์ผ๋ฅธ ์๋ฒฝ์ฃผ์๋ฅผ ๋ฒ์ด๋๋ ๋ฒ - ๋๋ ์ฒ์ฌ๊ฐ ์๋๊ณ ์กฐํ์ด๋ค
(์ด ๊ธ์ ์ฃผ๊ด์ ์ธ ๊ฒฌํด์ ํด๊ฒฐ๋ฐฉ๋ฒ์ด ๋ค์ด๊ฐ ์์ต๋๋ค. ๋ค์ํ ์ฌ๋์ด ์ด์๊ฐ๋ ์ง๊ตฌ์ด์์ ์ด ๋ฐฉ๋ฒ๊ณผ ๊ฒฌํด๊ฐ ๋ง์ง ์์ ์๋ ์๋ค๋ ์ ์ ๊ณ ์งํฉ๋๋ค.) ๊ฐ๋ฐ ๊ณต๋ถ๋ฅผ ํ๋ค ๋ณด๋ฉด ๊ทธ๋ฅ ์ถ์ ์ด๋ค ๋ณด๋ฉด ๋๋ ๋ง์ ๋น ์ง๋ ์๊ฐ์ด ์๋ค. ์ํด์ผ ํ๋๋ฐ ํ๊ธฐ๋ ์ซ๊ณ ๊ทธ๋ ์ง๋ง ์ํ๊ณ ๋ ์ถ๊ณ ... ๊ทธ๋ฐ๋ฐ ์๋ฌด๊ฒ๋ ์ ํ๊ณ ์๋!!! ๊ฒ์ผ๋ฅธ ์๋ฒฝ์ฃผ์! ๊ฒ์ผ๋ฅธ ์๋ฒฝ์ฃผ์๋ ์ ์๊ฒจ๋ ๊ฑฐ๊ณ ์ ๋ด ๋ง์์์ ์๋ฆฌ ์ก์ ๋๋ฅผ ์ด๋ค์ง๋ ๊ณ ์์ํค๋ ๊ฑธ๊น? ๊ธฐ๊ฐ ๋งํ. ~ ๋ชฉ์ฐจ(Index) ~ ๊ฒ์ผ๋ฅธ ์๋ฒฝ์ฃผ์์ ์น๋ช ์ ์ธ ๋ถ์์ฉ ๊ฒ์ผ๋ฅธ ์๋ฒฝ์ฃผ์๋ฅผ ๋ฒ์ด๋๋ ๋ฐฉ๋ฒ ๋ง์ฝ์ ์ด๋ฏธ ๊ฒ์ผ๋ฅธ ์๋ฒฝ์ฃผ์์ ํจ๋ชฐ๋ ์ํ๋ผ๋ฉด? ๊ฒ์ผ๋ฅธ ์๋ฒฝ์ฃผ์์ ์น๋ช ์ ์ธ ๋ถ์์ฉ ํํผ, ๋จ์ด์ง๋ ์๋์ง, ๊ฐ์ค๋ ๋ถ๋ด๊ฐ 1. ํํผ ์ด ๊ฒ์ผ๋ฅธ ์๋ฒฝ์ฃผ์์ ์ญ์ฌ๋ ๋์ ๊ณ ๋ฑํ๊ต ์์ ๋ก..
[INFCON2022] ์ธํ์ฝ ํ๊ธฐ
๋๋ฉด ๊ฐ์ผ์ง ์๊ฐํ๋ ์ธํ์ฝ์ ์ฐธ๊ฐ์๋ก ์ ์ ๋์๋ค๐ ์ธํ์ฝ์ ๊ฐ๋ ์ฌ๋ ๋๊ตฌ์์? ๋์ผ ๋์ผ ๋~ ๊ฒฝ์๋ฅ ์ด ๋์๋ค๊ณ ํ๋๋ฐ..... ์ด๋ฐ ์ ๊ฐ ๊ฐ๋ ๋ ๋ฐ์ง? ๊ฐ ์ ์๋ ๊ธฐํ๊ฐ ์๊ฒจ์ ๋๋ฌด ๊ฐ์ฌํ๊ณ ์์ฐจ๊ฒ ์ธ์ ์ ๋ฃ๊ณ ์์ผ๊ฒ ๋ค๊ณ ๋ง์๋จน์๋ค. ์ด๋๋ ๋ชฐ๋๋ค. ๋ด๊ฐ ๊ทธ๋ ๊ฒ ๊น์ง ์ฒด๋ ฅ์ด ์์ ์ค์ ๊ฐ๋ฐ์๊ฐ ๋๊ธฐ ์ํด์ ์ฒด๋ ฅ๊ณผ ๊ทผ๋ ฅ์ ํ์๋ค. ํฌ์ค์ฅ ์ถ์ ์ดํ๋ก ๊ฐ๋ค...... ํฐ๋ฏธ๋์์ ์ผ๋ฌด์ง๊ฒ ์์ ๋น ํ ๊ทธ๋ฆ ๋จน์ด์ฃผ๊ณ 9ํธ์ ์ ํ๊ณ ๋ด์์ฌ์ญ์ผ๋ก ํฅํ๋ค. ์ฝ์์ค ์คํํ๋... ํญ์ ๊ฐ๋ฉด ๊ธธ ์์๋ ๊ณณ ๊ณผ์ฐ ์ ์ฐพ์๊ฐ ์ ์์๊น ๋น์ฐํ ๊ฑฑ์ ๊ณผ ํจ๊ป ๋น์ฐจ๊ฒ ๊ฐ๋ค. ๋๋ ์๋์ค๋ฌ์ด ๊ธธ์น ๋ฐฉํฅ์น์๋ค. ๐์ธ์ ํ๊ธฐ๐ 1. ์ง์ ๋ฆผ - ๋ง๋ค๋ฉด์ ๋ฐฐ์ฐ๋ ๋ฆฌ์กํธ ๊ธฐ์ด (ํธ์ฆ์จ ์ธ์ ) ๐ ๋ฃ๊ณ ์ถ์๋ ์ด์ ํธ์ฆ์จ ์ธ์ ์ ์ฒญ์ด ์ ..
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ํฐ์ผ๋ชฌ
Question ์ ํ์ฌํญ nums๋ ํฐ์ผ๋ชฌ์ ์ข ๋ฅ ๋ฒํธ๊ฐ ๋ด๊ธด 1์ฐจ์ ๋ฐฐ์ด์ ๋๋ค. nums์ ๊ธธ์ด(N)๋ 1 ์ด์ 10,000 ์ดํ์ ์์ฐ์์ด๋ฉฐ, ํญ์ ์ง์๋ก ์ฃผ์ด์ง๋๋ค. ํฐ์ผ๋ชฌ์ ์ข ๋ฅ ๋ฒํธ๋ 1 ์ด์ 200,000 ์ดํ์ ์์ฐ์๋ก ๋ํ๋ ๋๋ค. ๊ฐ์ฅ ๋ง์ ์ข ๋ฅ์ ํฐ์ผ๋ชฌ์ ์ ํํ๋ ๋ฐฉ๋ฒ์ด ์ฌ๋ฌ ๊ฐ์ง์ธ ๊ฒฝ์ฐ์๋, ์ ํํ ์ ์๋ ํฐ์ผ๋ชฌ ์ข ๋ฅ ๊ฐ์์ ์ต๋๊ฐ ํ๋๋ง return ํ๋ฉด ๋ฉ๋๋ค. ์ ์ถ๋ ฅ ์์ My Code function solution(nums) { let n = nums.length/2; let set = new Set(nums); return set.size > n ? n : set.size; } ์ ๋ ๊ฒ ๊ธด ๋ฌธ์ ๋ฅผ ๋ณด๋ฉด ์๊ฐ ๋ฉ์นซํ๊ฒ ๋๋ค. ์์ง ๋ ๋ฒจ1์ด๋ฉด์ ์ ์ด๋ ๊ฒ ๊ธฐ์์ฃ ? ์์ฝํด์ ์ค์ํ..
[JS] ํ๋ก๊ทธ๋๋จธ์ค : x๋งํผ ๊ฐ๊ฒฉ์ด ์๋ n๊ฐ์ ์ซ์
Question ํจ์ solution์ ์ ์ x์ ์์ฐ์ n์ ์ ๋ ฅ๋ฐ์, x๋ถํฐ ์์ํด x์ฉ ์ฆ๊ฐํ๋ ์ซ์๋ฅผ n๊ฐ ์ง๋๋ ๋ฆฌ์คํธ๋ฅผ ๋ฆฌํดํด์ผ ํฉ๋๋ค. ๋ค์ ์ ํ ์กฐ๊ฑด์ ๋ณด๊ณ , ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์. https://school.programmers.co.kr/learn/courses/30/lessons/12954 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ์ ํ์กฐ๊ฑด x๋ -10000000 ์ด์, 10000000 ์ดํ์ธ ์ ์์ ๋๋ค. n์ 1000 ์ดํ์ธ ์์ฐ์์ ๋๋ค. ์ ์ถ๋ ฅ ์์ My Code function solution(..
[CSS] IE(์ธํฐ๋ท ์ต์คํ๋ก๋ฌ)์์ position absolute๊ฐ ์๋๋์ง ์์๋
์ธํฐ๋ท ์ต์คํ๋ก๋ฌ๋ RIP ํ์ง๋ง ์ฃฝ์ด์ ๊ตฌ์ฒ์ ๋ ๋๋ ๋ง๋ น ์ง์ ์ฌ์ ํ ํ๊ณ ์๋ค. ํฌ๋กฌ, ํ์ด์ดํญ์ค, ์ฌํ๋ฆฌ์ ๊ฐ์ ์ฌํ์ ๋ธ๋ผ์ฐ์ ์์ position absolute๊ฐ ๊ทธ๋๋ก ์ ์ฉ๋ผ์ ๋์์ง๋ง IE์์๋ ์ ์ฉ์ด ์๋ ๋๊ฐ ์๋ค. width์ height๋ฅผ 100% ๊ฐ๋์ผ๋ก ์ฑ์์ฃผ๊ณ top, bottom๋ 0์ผ๋ก ๋์ฌ ์ ์๊ฒ ์ค์ ํ๋ค. ๊ฒ๋ค๊ฐ ๋ถ๋ชจ์ position ๋ relative์๋ค. ํ์ง๋ง ์ฝํ ์ธ ์ด๋ฏธ์ง ํฌ๊ธฐ๊ฐ ์ข์๋ง ํ๊ฒ ๋์ค๊ณ transform์ rotate๊น์ง ์คฌ๋๋ ์์ญ ๋ฐ์ ๋ฒ์ด๋ฌ๋ค. ์์ด๋ก ๊ตฌ๊ธ๋ง์ ํ๋ ์ค ์น์ ํ๊ฒ ํ๊ธ๋ก ์๋ ค์ค ๋ธ๋ก๊ทธ๊ฐ ์์๋ค. ๋ถ๋ชจ ์์์ ํ๊ทธ๊ฐ td์ธ์ง ํ์ธํด์ผ ํ๋ค. tdํ๊ทธ (display:table-cell) ์ผ ๊ฒฝ์ฐ์๋ ์ผ๋ถ ๋ธ๋ผ์ฐ์ ์์๋ positi..
[๋ฆฌ์กํธ TIL] ์ํ์ฝ๋ฉ ๋ฆฌ์กํธ 2022 - ์์ค์ฝ๋ ์์ ๋ฐฉ๋ฒ(์์ )
์ด ํฌ์คํ ์ ๊ณต์ React ์์ต์๋ฅผ ๋ณด๊ณ ์ํ์ฝ๋ฉ ๋ฆฌ์กํธ ๊ฐ์๋ฅผ ๋ฃ๊ณ ์ป์ ์ง์๊ณผ ๊ฒฐ๊ณผ๋ฌผ์ ์ ๋ฆฌํ ๋ด์ฉ์ด๋ฏ๋ก ์์ธํ๊ณ ํ์คํ ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํด์๋ ๊ณต์ ์ฌ์ดํธ๋ฅผ ํ์ธ ๋ฐ๋๋๋ค. (๐ ๊ณต์ ์ฌ์ดํธ ์ต๊ณ ) ๋ฆฌ์กํธ ์์ค์ฝ๋ ์์ ๋ฐฉ๋ฒ ๋ฆฌ์กํธ๋ ์ฌ์ฉ์ ์ ์ ํ๊ทธ๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค. ์ค๋ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ๋๋ ์ a to z ๊ฐ ์๋๋ผ a ๋ z๋ฅผ ์๋ ค์ค์ ์ ๊ธฐํ๋ค. ์ค์นํด์ ๋ฐฐํฌํ๋ ๊ณผ์ ๊น์ง๊ฐ ์๋๋ผ ์ค์น! ์์ ! ๋ฐฐํฌ! ๋ ์ด๊ฑฐ๋ค! ๋๋์ด์๋ค. โ ์ค์น - ๐ฉ ์์ - ๐ฉ ๋ฐฐํฌ ๊ณผ์ ์ค์ ์ค์น๊น์ง๋ ๋๋๋ค. ์ด์ ๋ ์์ ์ ๋ํด์ ์์๋ณผ ์ฐจ๋ก๋ค. ์์ ์ ์ํ๊ธฐ๋ ์ด๋ ต๋ค ์ธ์์ ๋ฐ์ณ์ผ ํ๋ ์ผ์ด๋ค. < ์? ํ์ง๋ง ์์ ํ๋ ๋ฐฉ๋ฒ์ 5๋ถ์ด๋ฉด ์ ์ ์๋ค. src - index.js npm ์ ์ด์ฉํด์ creative..