728x90
๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€ 46

ESLint: Expected an assignment or function call and instead saw an expression

์—๋Ÿฌ ๋ฐœ์ƒ ์ฝ”๋“œ type ? (ref.current.style.marginTop = '0vh') : (ref.current.style.marginTop = '4vh'); type ๋”ฐ๋ผ์„œ marginTop์„ ์ปจํŠธ๋กคํ•˜๊ฒŒ ํ–ˆ๋Š”๋ฐ, ESLint: Expected an assignment or function call and instead saw an expression ํ•ด๋‹น ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ ์ฝ”๋“œ if (type) ref.current.style.marginTop = '0vh'; else ref.current.style.marginTop = '4vh'; ์‚ผํ•ญ์—ฐ์‚ฐ์ž๊ฐ€ ์•„๋‹Œ if๋ฌธ์œผ๋กœ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์›๋ž˜ ์œ„์— if๋ฌธ์œผ๋กœ ์กฐ๊ฑด์ด ์ถ”๊ฐ€๋กœ ์žˆ์—ˆ๋Š”๋ฐ, ์•„๋งˆ ๊ทธ๊ฑฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ ์—๋Ÿฌ์ด์ง€ ์•Š์„๊นŒ ์‹ถ์Šต๋‹ˆ๋‹ค.

Next.js] ํ”„๋กœ์ ํŠธ ํด๋” ๊ตฌ์กฐ

๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๋ฉด ์‚ฌ์ง„๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์˜ต์…˜์œผ๋กœ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์„ค์ •ํ•ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. Next 13 ๋ฒ„์ „๋ถ€ํ„ฐ ์ƒ๊ธด app router๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. (์ด์ „ ๋ฒ„์ „ ๊นŒ์ง€๋Š” ๋ณดํ†ต pages๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ผ์šฐํŒ…์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.) npx create-next-app@latest ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ํด๋” ๊ตฌ์กฐ์—์„œ ์ƒ์„ฑ๋œ ํŒŒ์ผ์„ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Layout.tsx ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋กœ ์„ค์น˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— tsxํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ํŒŒ์ผ์€ ๊ธฐ๋ณธ์ ์ด ํ”„๋กœ์ ํŠธ, ์›นํŽ˜์ด์ง€์˜ ๊ณจ๊ฒฉ์ด๋ผ๊ณ  ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. _app์ด๋ž‘ ๋น„์Šทํ•œ๊ฐ€? ์‹ถ์Šต๋‹ˆ๋‹ค. import './globals.css' import type { Metadata } from 'next' import { Inter } from 'next/font/goo..

Front-End/Next.js 2023.08.15

Next.js] Next.js ์„ค์น˜ ๋ฐ ์‹œ์ž‘, ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ (Insallation)

๊ณตํ™ˆ์„ ๋ณด๋ฉด์„œ ํ•˜๋‚˜์”ฉ ์ •๋ฆฌํ•ด ๋‚˜๊ฐ€๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์‹œ์ž‘์ธ Next.js ์„ค์น˜๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. https://nextjs.org/ ์ผ๋‹จ ์ œ์ผ ๋จผ์ € Node.js๊ฐ€ ์„ค์น˜ ๋˜์–ด์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. React๊ฐœ๋ฐœ์ž๋ฉด ๋‹น์—ฐํžˆ ์„ค์น˜ ๋ผ์žˆ์„ ๊ฒƒ์œผ๋กœ ์ƒ๊ฐ ๋“ญ๋‹ˆ๋‹ค.(16.8 ๋ฒ„์ „ ์ด์ƒ์ด๋ผ๊ณ  ์•ˆ๋‚ด๋˜์–ด ์žˆ๋„ค์š”) ์ž๋™์„ค์น˜ npx create-next-app@latest ์œ„ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ œ์ผ ์ตœ์‹  ๋ฒ„์ „์˜ Next.js๊ฐ€ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. What is your project named? my-app Would you like to use TypeScript? No / Yes Would you like to use ESLint? No / Yes Would you like to use Tailwind CSS? No / Yes W..

Front-End/Next.js 2023.08.09

Next.js] Next.js๋ž€?

next.js๋Š” React ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๋ฐ˜๋“œ์‹œ ์•Œ์•„์•ผ ํ•˜๋Š” ํ”„๋ ˆ์ž„ ์›Œํฌ์ž…๋‹ˆ๋‹ค. ์ˆœ์ˆ˜ React๋Š” ์˜คํžˆ๋ ค ์•ˆ ์“ฐ๊ณ , React์— Next.js๋ฅผ ์–น์–ด์„œ ์ฃผ๋กœ ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•œ๋‹ค๊ณ  ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด Next.js๋ž€ ๋ฌด์—‡์ธ์ง€๋ถ€ํ„ฐ ํ•ด์„œ ๊ฐ™์ด ๊ณต๋ถ€๋ฅผ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ํ•  ๋•Œ ๊ณ„์†ํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ ๋Š” ์žˆ์ง€๋งŒ, ๋”ฑํžˆ ๊ณต๋ถ€๋ฅผ ํ•ด์„œ ์•Œ๊ณ ์„œ ์‚ฌ์šฉํ•˜๊ธฐ๋ณด๋‹ค๋Š” ๊ทธ๋•Œ๊ทธ๋•Œ ๋งž์ถฐ์„œ ์ฐพ์•„๋ณด๊ณ  ํ–ˆ๋˜ ํ„ฐ๋ผ ์ด๋ฒˆ๊ธฐํšŒ์— ์ •๋ฆฌํ•  ๊ฒธ ๊ณต๋ถ€ํ•  ๊ฒธ ๊ฒธ์‚ฌ๊ฒธ์‚ฌ ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. Next.js๋ž€? React๋กœ ๋งŒ๋“  ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR) ํ”„๋ ˆ์ž„ ์›Œํฌ์ž…๋‹ˆ๋‹ค. ์ •ํ™•ํžˆ๋Š” SSG์— ๊ตฌ๋ถ„๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. CSR์ธ Reactํ™˜๊ฒฝ์—์„œ SSR๊ธฐ๋Šฅ์„ ๊ตฌ์‚ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ค๋‹ˆ๋‹ค. SSR์˜ ํŠน์ƒ‰์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋งŒ์•ฝ ๋ฆฌ์†Œ์Šค๊ฐ€ ํฐ ํŽ˜์ด์ง€๊ฐ€ ์žˆ๊ฑฐ๋‚˜,..

Front-End/Next.js 2023.08.06

CSR vs SSR vs SSG (+SEO)

CSR (Client Side Rendering) ๋ง ๊ทธ๋ž˜๋„ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ Œ๋”๋ง์ด ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ํ•˜๊ณ , ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต์„ HTML๊ณผ JS๋ฅผ ๋ณด๋‚ด๊ฒŒ ๋˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ์ด์ œ ๋ Œ๋”๋ง์„ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. dev-tool์—์„œ ๋„คํŠธ์›Œํฌ๋ฅผ ๋ณด๋ฉด ์‚ฌ์ง„๊ณผ ๊ฐ™์ด HTML์ด๋‚˜ JS ์ด๋ฏธ์ง€ ๋“ฑ์„ ๋ฐ›์•„์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SSR (Sever Side Rendering) CSR๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ด๋ฆ„์—์„œ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋“ฏ์ด ์„œ๋ฒ„์—์„œ ๋ Œ๋”๋ง ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ํ•˜๊ณ , CSR๊ณผ ๋‹ค๋ฅด๊ฒŒ ์„œ๋ฒ„ ์ชฝ์—์„œ ์ด๋ฏธ HTML, JS ๋“ฑ์„ ๋งŒ๋“ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์™„๋ฃŒํ•˜๊ฒŒ ๋˜๋ฉด ํด๋ผ์ด์–ธํŠธ์— ์ „๋‹ฌํ•˜๊ฒŒ ๋˜๊ณ , ํด๋ผ์ด์–ธํŠธ๋Š” ํ™”๋ฉด์„ ๊ทธ๋ฆด ํ•„์š” ์—†์ด ๋ฐ”๋กœ ๋ฟŒ๋ ค์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ Œ๋”๋ง์„ ์„œ๋ฒ„์—์„œ ํ•œ๋‹ค๊ธฐ๋ณด๋‹ค..

Web 2023.08.06

Token] JWT (JSON Web Token)

์ธ์ฆํ† ํฐ์˜ ๋Œ€ํ‘œ์ธ JWT์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. (๋‹ค๋ฅธ ํ† ํฐ์ด ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ...) JWT(JSON Web Token)๋Š” ์ธ์ฆ์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์•”ํ˜ธํ™”์‹œํ‚จ JSONํ˜•ํƒœ์˜ ์„œ๋ช…๋œ ํ† ํฐ์ž…๋‹ˆ๋‹ค. ์ €๋ฒˆ ๊ธ€์—์„œ ๋ฐฐ์› ๋˜ ํ† ํฐ์ธ์ฆ์„ ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹?์ž…๋‹ˆ๋‹ค. https://jwt.io/ ํŠน์ง• JWTํ† ํฐ์€ ๋ฐœ๊ธ‰ํ•˜๋ฉด ๋ณ„๋„๋กœ ์‚ญ์ œ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ ์œ ํšจ์‹œ๊ฐ„์„ ํ†ตํ•ด ๊ด€๋ฆฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. JWTํ† ํฐ์„ ์‚ฌ์šฉํ•˜๋ฉด DB์กฐํšŒ๋ฅผ ํ•˜์ง€ ์•Š๊ณ , ์ธ์ฆ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ์˜ ๋ณ€์กฐ๋ฅผ ๋ง‰์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ธก์—์„œ ๋ณ„๋„์˜ ์ €์žฅ์†Œ๊ฐ€ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค. (ํด๋ผ์ด์–ธํŠธ์—์„œ ์ฃผ๋กœ ์ฟ ํ‚ค๋‚˜ ์›น์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅํ•ด์„œ ๊ด€๋ฆฌ) ์œ ํšจ๊ธฐ๊ฐ„์œผ๋กœ Auth๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๊ฐ„์„ ์งง๊ฒŒ ํ•˜๋ฉด ์ž์ฃผ ๋กœ๊ทธ์ธ ํ•ด์•ผ ๋˜๊ณ , ๊ธธ๊ฒŒ ํ•˜๋ฉด ๋ณด์•ˆ์— ์ทจ์•ฝํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ† ํฐ์˜ ๊ธธ์ด๊ฐ€..

Web 2023.07.27

ESLint: Expected to return a value at the end of arrow function.(consistent-return)

ESLint์— ์˜ํ•ด ๋ฐœ์ƒํ•œ ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ useEffect(() => { if (!response) { return setLoading(false); } api(); ... } useEffect ํ›…์—์„œ return setState๋ฅผ ์คฌ๋”๋‹ˆ ํ•จ์ˆ˜ ์ž์ฒด์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ณต์‹ ๋ฌธ์„œ ์ฐพ์•„๋ณด๋‹ˆ, ํ•ด๋‹น ๋ฌธ์ œ์˜ ๋ฐœ์ƒ์›์ธ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค return ๋ฌธ์€ ์ข…๋ฃŒํ•˜๊ธฐ ์ „์— ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (it does not execute a return statement before it exits) ๊ฐ’์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์€ return๋ฌธ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. (it executes return which does not specify a value explicitly) ์ •์˜๋˜์ง€ ์•Š์€ return์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. (it ..

TS2367: This comparison appears to be unintentional because the types '"A"' and '"B"' have no overlap.

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ {(response === 'A' && response !== 'B' ? !show : loading) && ( Thinking )} &&์—ฐ์‚ฌ์ž๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋‘ ๊ฐœ์˜ ์กฐ๊ฑด์„ ๊ฑธ์—ˆ๋Š”๋ฐ ์ œ๋ชฉ๊ณผ ๊ฐ™์€ ํƒ€์ž…์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ๋ฐฉ์•ˆ {(response !== 'B' && response === 'A' ? !show : loading) && ( Thinking )} ๋‹จ์ˆœํžˆ ์ˆœ์„œ์˜ ์ฐจ์ด๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ์ €๋Š” ์›น์Šคํ†ฐ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ๊ฑฐ๊ธฐ์„œ ๋‚˜์˜ค๋Š” ํ•ด๊ฒฐ๋ฐฉ์•ˆ์œผ๋กœ ์œ„์™€ ๊ฐ™์ด ์ˆœ์„œ๋ฅผ ๋ฐ”๊พธ๋‹ˆ๊น ์—๋Ÿฌ๊ฐ€ ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค. (vscode๋„ ๋˜‘๊ฐ™์„ ๊บผ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.) TypeScript์—๋Ÿฌ๋ผ ์‚ฌ์‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐ๋Š” ์ƒ๊ด€์—†์ง€๋งŒ, build ํ•  ๋•Œ ์—๋Ÿฌ๋„ ๋‚  ํ…Œ๊ณ , TS์‚ฌ์šฉํ•˜๋Š”๋ฐ ๊ทœ์น™์„ ์ง€ํ‚ค..

Token] Token๋ž€? ์ •์˜

Cookie, Session์— ์ด์–ด ํ† ํฐ๊ณผ ๊ด€๋ จ๋œ Token์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ํ† ํฐ(Token)์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์ ‘์†ํ•˜๋ฉด ์„œ๋ฒ„์—์„œ ํ•ด๋‹น ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ธ์ฆ๋˜์—ˆ๋‹ค๋Š” ์œ ์ผํ•œ ๊ฐ’์œผ๋กœ ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’์„ ์ด์ œ ํ† ํฐ์ด๋ผ๊ณ  ์นญํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆํ•˜๋Š” ํ† ํฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ, ํ—ค๋”์— ํ† ํฐ์„ ์‹ฌ์–ด์„œ ๋ณด๋‚ด๊ฒŒ ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ œ ํ† ํฐ ๊ฐ’์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋ฒ„๊ฐ€ ํ•ด๋‹นํ•˜๋Š” ๊ถŒํ•œ์— ๋งž์ถฐ ๋™์ž‘ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ—ค๋”์— ํ† ํฐ์„ ํ•จ๊ป˜ ๋ณด๋‚ด ์ธ์ฆ๋ฐ›์€ ์‚ฌ์šฉ์ž์ธ์ง€ ํ™•์ธํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. (Cookie์™€ Session์—์„œ ์„ค๋ช…ํ–ˆ๋˜ ๊ฒƒ๋“ค๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.) ํ† ํฐ์—๋Š” ์š”์ฒญํ•œ ์‚ฌ๋žŒ์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— DB๋ฅผ ์กฐํšŒํ•˜์ง€ ์•Š์•„๋„ ๋˜๋Š” ํฐ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์ž‘ ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธ์„ ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ์—..

Web 2023.07.23

Session์ด๋ž€?

Cookie์— ์ด์–ด Session์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜(Session)์€ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ธŒ๋ผ์šฐ์ €๋ผ๊ณ  ๋ณด๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ •์˜๋ฅผ ์ข€ ์ฐพ์•„๋ณด๋‹ˆ, ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ๊ฐ™์€ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋“ค์–ด์˜ค๋Š” ์š”๊ตฌ๋ฅผ ํ•˜๋‚˜์˜ ์ƒํƒœ๋กœ ๋ณด๊ณ  ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ผฐ๋‹ค๊ฐ€ ๋„๋Š” ๋™์•ˆ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—์„œ ํŠน์ • ๋„๋ฉ”์ธ์— ์ ‘์†์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘์†ํ•œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์‚ฌ์šฉ์ž์—๊ฒŒ session-id๋ผ๋Š” ๊ฒƒ์„ ๋ถ€์—ฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด session-id๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์šฉ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ฐ๊ฐ ์‚ฌ์šฉ์ž๋ฅผ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ๋™์ž‘์ˆœ์„œ ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„์—์„œ๋Š” ์‘๋‹ต์— session-id๋กœ ์‚ฌ์šฉํ•  ๊ฐ’์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋งŒ๋“  ๊ฐ’์„ cookie์— ๋‹ด์•„..

Web 2023.07.20
728x90
๋ฐ˜์‘ํ˜•