์ ๊ฐ ํ ์ ์๋ ์ด์ผ๊ธฐ๊ฐ ๋ฌด์์ผ๊น ์๊ฐํด๋ณด์๋๋ฐ, 2023๋ ๊ฐ์ “์ค๋์๊ฐ๋ ” ์ด๋ผ๋ ํ๋ก๋ํธ๋ฅผ ๋ฐ์นญ ํด ๋ณธ ๊ฒฝํ์ ๊ธฐ๋ฐ์ผ๋ก ์ฑ ๊ฐ๋ฐ์ ํด๋ณด๋ฉด์ ๋๋ ์น ๊ฐ๋ฐ๊ณผ์ ์ฐจ์ด์ ์ ์ฃผ๋ก ๋ค๋ฃจ๊ณ ๋๋ถ๋ถ์ ์๋น์ค๊ฐ ๋ชจ๋ฐ์ผ ํผ์คํธ๊ฐ ๋ ํ์์ ์์ ์ฑ์ ์น๋ทฐ / ๋ค์ดํฐ๋ธ / ํ์ด๋ธ๋ฆฌ๋๋ก ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ๊ณผ ๊ฐ์์ ์ฅ๋จ์ ์ ์ดํด๋ณด๋ ค๊ณ ํฉ๋๋ค. https://yozm.wishket.com/magazine/detail/1969/ ์ด ๋ธ๋ก๊ทธ์์ ๊ธ์ ๋ณด๊ณ ๋ง์ง๋ง ๋ํ์ ๊ธ์ ํนํด์ ๊ธ์ ์จ์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๊ฒ ๋์์ต๋๋ค. "2023๋ 2์ ๊ธฐ์ค ์ ์ธ๊ณ ์น ์ฌ์ดํธ ํธ๋ํฝ์ 60.06% ๊ฐ ๋ชจ๋ฐ์ผ ๋๋ฐ์ด์ค๋ฅผ ํตํด ์ ์ ๋์์ต๋๋ค." ์ฑ ๊ฐ๋ฐ์ ์น ๊ฐ๋ฐ๊ณผ ๋ญ๊ฐ ๋ค๋ฅผ๊น? ํฌ๊ฒ “๋ฐฐํฌ”์ “๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ” ๊ทธ๋ฆฌ๊ณ “UI ๊ณ์ธต๊ตฌ์กฐ” ์ธ๊ฐ์ง ์ธก..
๋ฑ ํฌ์๋ฌ๋์์ ์ง์ฐ ์๊ฐ ์์ด ์นํฐํธ ์๋นํ๊ธฐ ๊ธ์ ๋ณด๋ค๊ฐ Glyph๋ผ๋ ๊ฐ๋ ์ด ๋์์ ์ฐพ์๋ณด๊ฒ ๋์๋ค. Glyph(๊ธ๋ผํ)๋? Glyph๋ ๊ธ์์ ์ต์ ํํ์ด๋ฉฐ, ๋ป๊ณผ ์๋ฆฌ๋ฅผ ์ง๋์ง ์์ ๋ํ ๊ธฐํธ์ด๋ค. ์๋ฅผ ๋ค์ด, “๊ฐ” ๋ผ๋ ๊ธ์๊ฐ ์๋ค๋ฉด ์ด ๊ธ์๋ฅผ ์ด๋ป๊ฒ ํํํ ๊ฒ์ธ์ง๊ฐ Glyph์ด๋ค. ํท๊ฐ๋ฆฌ๋ ์ฉ์ด ์ ๋ฆฌ ๊ฐ๋ฐ์ ํ๋ฉด์ ๋ง์ฃผ์น๋ ๊ธ์์ ๋ชจ์๊ณผ ๊ด๋ จ๋ ์ฉ์ด๋ค์๋ Character, Font, Glyph (feat. Unicode)๊ฐ ์๋ค. ๊ฐ๊ฐ์ ์ฐจ์ด๋ฅผ ์ ์ ์๊ฒ ์ ์ํด๋ณด์. ์์ฝํ์๋ฉด, Character๋ ์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ ๊ธ์์ด๊ณ , Glyph๋ ํ๋์ Character์ ๋์๋๋ ํํ์ด๋ค. Glyph๋ค์ด ๋ชจ์ฌ Font๋ฅผ ๋ง๋ ๋ค. ์ถ๊ฐ์ ์ผ๋ก Unicode๋ Character ํ๋ ๋น ๋ถ์ฌ๋๋ c..
๐ค ๊ธฐ์กด์ ์๊ณ ์๋ Duck typing๊ณผ Typescript ๊ตฌ์กฐ์ ํ์ดํ์ ์ฐจ์ด๋ฅผ ์ธ์งํ๊ณ ํ๊ณ๋ฅผ ํ์ ํฉ๋๋ค. Duck typing์ด๋ “๋ง์ฝ ์ด๋ค ์๊ฐ ์ค๋ฆฌ์ฒ๋ผ ๊ฑท๊ณ , ํค์์น๊ณ , ๊ฝฅ๊ฝฅ๊ฑฐ๋ฆฌ๋ ์๋ฆฌ๋ฅผ ๋ธ๋ค๋ฉด ๋๋ ๊ทธ ์๋ฅผ ์ค๋ฆฌ๋ผ๊ณ ๋ถ๋ฅผ ๊ฒ์ด๋ค.” ๋ผ๋ ๋ง์์ ํ์ํ์์ผ๋ฉฐ, ๊ฐ์ฒด์ ํ์ ์ ๋ฏธ๋ฆฌ ์ ํ๋ ๊ฒ์ด ์๋๋ผ ๋ฐํ์ ์ ๊ฐ์ฒด์ ํ์์ ๊ธฐ๋ฐํ์ฌ ํ์ ์์ฉ์ฑ์ ์ฒดํฌํ๋๋ก ํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ ์ ๋๋ค. type Person = { name: string, age: number, }; const personA = { name: 'ํฌ์', age: 27, }; const duckA = { name: '์ค๋ฆฌ', age: 2, }; const person: Person = duckA; // it's okay ํ์ ..
๐ก 2022/11/27 ๊ธฐ์ค์ผ๋ก ์์ฑํ ๊ธ์ด๋ฉฐ, ์ดํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๋ฐ์ดํธ๋ก ํน์ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ ์ ์์ต๋๋ค. Virtualized List ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋น๊ต npm trends๋ผ๋ ์ฌ์ดํธ๋ฅผ ์ด์ฉํ์ฌ, 4๊ฐ์ Virtualized List ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋น๊ตํด๋ณด๊ฒ ์ต๋๋ค. react-window์ react-virtualized์ ๊ด๊ณ ๋๋ค ๊ฐ์ ๊ฐ๋ฐ์๊ฐ ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ฉฐ react-virtualized์์ ํ์ํ ๋ถ๋ถ๋ง ๋นผ๋ด์ด ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ react-window์ ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ๋ฉด ๋ฉ๋๋ค. ์ ์ ์จ๋ก ๋ฐ์ง๋ฉด ํ์ฌ ๊ธฐ์ค์ผ๋ก @tanstack/virtual-core ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ early stage ์ธ ๋ฏํฉ๋๋ค. react-virtualized์ react-window๋ ์๋ ์ ๋ช ..
์ด๋ฒ ์ฑํฐ์์๋ ๊ฐ์ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๋ ์๋น์ค์์ ํ์๋ก ํ๋ ๊ธฐ๋ฅ๋ค์ ๋ชจ๋ ๋ฆฌ์คํ ํด๋ณด๊ณ , ๋ช๋ช์ ๊ธฐ๋ฅ์ด ์ด๋ป๊ฒ ๊ตฌํ๋๋์ง ์ ์ด๋ ค์ด ์ง ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.Major ๊ธฐ๋ฅ์๋์ฐ ์คํฌ๋กค์ ๋ฆฌ์คํธ ์คํฌ๋กค์ ์ ์ฉํ์ด์ง ์ฌ๋ฐฉ๋ฌธ ์ ์คํฌ๋กค ์์น ์ ์ง ๐ฅ์์ดํ ์ ๋์ด๊ฐ ์๋์ผ๋ก ์กฐ์ ํ๋ฉด์ ๋ณด์ด๋ ์์ดํ ๋ง ๋ ๋๋ง์ด์ ์๋ฅผ ๋ฐ์ํ ์ผ๋ก ์กฐ์ ์๋ฐฉํฅ ๋ฌดํ ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ๊ณผ ์ฐ๊ฒฐ ๐ฅ๊ตฌํํ๊ธฐ ๊น๋ค๋ก์ด ๋ถ๋ถ์ด ์๋ ๊ธฐ๋ฅ์ ๐ฅ ๋ก ํ์ํ์ต๋๋ค.์๋์ฐ ์คํฌ๋กค์ ๋ฆฌ์คํธ ์คํฌ๋กค์ ์ ์ฉ์๋์ ์์์ ๋ณด๋ฉด ์ํฉ์ ๋ํ ์ดํด๊ฐ ์ฝ์ต๋๋ค. ๋ฆฌ์คํธ ๋ด๋ถ ์คํฌ๋กค์ ๊ฒฝ์ฐ list-container ๋ผ๋ div์ height๊ฐ ์ ํด์ ธ์๊ณ overflow-y๊ฐ scroll์ ๋๋ค. ์ฆ, ํ์ด์ง์ ๊ตฌ์ฑ์ด (ํค๋, ๋ฆฌ์คํธ, ํธํฐ)๋ก ๋์ด์์ ๋..
Virtualized List ๋?Virtualized List(๊ฐ์๋ฆฌ์คํธ)๋ ๋์ด๋ ๋ฆฌ์คํธ์ ์์ดํ ์ค ํ๋ฉด์ ๋ณด์ฌ์ง๋ ์์ดํ ๋ง ๋ ๋๋งํ๋ ๋ฆฌ์คํธ๋ฅผ ์๋ฏธํฉ๋๋ค. ์ ์ ๊ฐ ์คํฌ๋กค์ ๋ด๋ ค ๋ณด์ด๋ ์์ดํ ์ ๋ฒ์๊ฐ ๋ณ๊ฒฝ๋๋ฉด ๋ค์ ๋ณ๊ฒฝ๋ ์์ดํ ๋ง์ ๋ ๋๋ง ํ๋๋ก ๊ตฌํ๋ฉ๋๋ค. ์ฌ์ค ํ๋ฉด์ ๋ฒ์ด๋ ๊ณณ์ ์์ดํ ๋ค์ ํ๋ฉด ์์ ๋ ๋๋ง ๋์ด์์ง ์๊ธฐ ๋๋ฌธ์ ํ์ฌ ์์ ์๋ ์๋ ์์ดํ ์ผ๋ก ์๊ฐํ ์ ์์ง๋ง, ์ ์ ์ ์คํฌ๋กค ์์น์ ๋ฐ๋ผ ํ๋ฉด ์์ ๋ ธ์ถ๋ ์ ์์ผ๋ฏ๋ก ์์ ๊ทธ๋ฆผ์ฒ๋ผ ๊ฐ์์ผ๋ก ๋ฆฌ์คํธ๊ฐ ์ฐจ๋ก๋ก ๊ตฌ์ฑ๋์ด ์๋ค๊ณ ์๊ฐํ๊ฒ ๋ฉ๋๋ค. ์์ดํ ์ ๋ชจ๋ ๋ ๋๋งํ๋ ๊ธฐ๋ณธ List์ ๋น๊ตํ์ ๋, ํ์ํ ์์ดํ ๋ง์ ๋ ๋๋งํ๋ฉด ๋๋ฏ๋ก ๋ ๋๋ง ๋น์ฉ์ด ๊ฐ์ํฉ๋๋ค. ์ด๋ ๊ฒ ๋ ๋๋ง ๋น์ฉ์ ๊ฐ์์ํค๋ ๊ธฐ์ ๋ก๋ ํ์ด์ง ๋ณ๋ก n๊ฐ์ ์์ดํ ๋ง์..
SSO SSO(Single Sign On)๋ ํ ๋ฒ์ ๋ก๊ทธ์ธ์ผ๋ก ์ฌ๋ฌ ์๋น์ค์ ์ ๊ทผํ ์ ์๋ ํตํฉ ์ธ์ฆ ๋ฐฉ์์ ๋๋ค. ์๋น์ค์ ๊ท๋ชจ๊ฐ ์ปค์ง ๋ ์ฌ๋ฌ ์๋น์ค๋ฅผ ํตํฉ ๊ด๋ฆฌํ๊ธฐ ์ํด SSO๋ฅผ ์ฌ์ฉํฉ๋๋ค. SSO๋ฅผ ๊ตฌํํ ๋ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง ํจํด์ด ์กด์ฌํ ์ ์์ต๋๋ค. 1. ์ธ์ฆ gateway ๋ฐฉ์ ๊ฐ ์๋น์ค์ ์ ๊ทผํ ๋ ์ด์ ๋ ์ด์ด์ ํตํฉ ์ธ์ฆ ์๋น์ค๊ฐ ์กด์ฌํ๋ ๋ฐฉ์์ ๋๋ค. User๋ SessionID๋ฅผ ๊ฐ์ง๊ณ ์๊ณ ํตํฉ ์ธ์ฆ ์๋น์ค๋ฅผ ํต๊ณผํ๋ฉด ํด๋น ์๋น์ค๋ฅผ ์ด์ฉํ ์ ์์ต๋๋ค. ์ด ๋ฐฉ์์ ๋จ์ ์ ๊ฐ ์๋น์ค๋ฅผ ์ด์ฉํ ๋๋ง๋ค ์ธ์ฆ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํ๋ฉฐ ์ธ์ฆ ์๋น์ค ์์ฒด๊ฐ bottle neck์ด ๋ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. 2. ์ธ์ฆ ํ ํฐ ๋ฐ๊ธ ๋ฐฉ์ ์ ์ ๋ ์ฐ์ ํตํฉ ์ธ์ฆ ์๋น์ค๋ฅผ ํตํด ํ ํฐ์ด๋ผ๋ ์ธ์ฆ ๋ํ ๋งค์ฒด..
SAML ์ธ์ฆ SAML์ XML ๊ธฐ๋ฐ์ ํ์ค ๋ฐ์ดํฐ ํฌ๋งท์ ๋๋ค. ์ธ์ฆ ์ ๋ณด๋ฅผ XML ํฌ๋งท์ผ๋ก ์์ฑํ๊ณ ์ํธํํ ๊ฒ์ด Assertion์ธ๋ฐ ์ด๋ฅผ ์ด์ฉํฉ๋๋ค. User, IDP(Identity Provider), SP(Service Provider) ๊ฐ ์กด์ฌํ๋ฉฐ ๋ค์๊ณผ ๊ฐ์ด ์ธ์ฆ์ด ์ด๋ฃจ์ด์ง๋๋ค. (๊ทธ๋ฆผ) User๊ฐ SP๋ก ์๋น์ค๋ฅผ ์์ฒญํ๋ฉด SP๋ ์ธ์ฆ๋ User์ธ์ง ์ฒดํฌํฉ๋๋ค. ์ธ์ฆ๋์ง ์์์ผ๋ฉด ์ธ์ฆ ์์ฒญ(SAMLRequest)์ ์์ฑํ์ฌ User์๊ฒ ์ ์กํฉ๋๋ค. SAMLRequest์ ์ํด User๋ IDP๋ก redirect๋๊ณ ๋ก๊ทธ์ธ์ ํตํด ์ธ์ฆ์ ์งํํฉ๋๋ค. ์ธ์ฆ์ ์ฑ๊ณตํ๋ฉด IDP๋ SAMLAssertion์ด ํฌํจ๋ SAMLResponse๋ฅผ User์ ๋ด๋ ค์ค๋๋ค. → ๊ทธ ๊ณผ์ ์์ IDP๊ฐ ์ค์ ํ Ses..
Comment