Skip to Content

๋ฌธ์ œ ํ•ด๊ฒฐ

CSO ์ •์‚ฐ ํฌํ„ธ ์šด์˜ ์ค‘ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์š” ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์—‘์…€ ์—…๋กœ๋“œ ์‹คํŒจ

ํŒŒ์ผ ํ˜•์‹ ์˜ค๋ฅ˜

์ฆ์ƒ: โ€œ์ง€์›ํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ ํ˜•์‹์ž…๋‹ˆ๋‹คโ€ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์›์ธ ๋ฐ ํ•ด๊ฒฐ:

์›์ธํ•ด๊ฒฐ
.csv ํŒŒ์ผ ์—…๋กœ๋“œ.xlsx ๋˜๋Š” .xls ํ˜•์‹์œผ๋กœ ์ €์žฅ ํ›„ ์žฌ์—…๋กœ๋“œ
ํŒŒ์ผ ํฌ๊ธฐ 4MB ์ดˆ๊ณผ๋ถˆํ•„์š”ํ•œ ์‹œํŠธ/ํ–‰ ์‚ญ์ œ ํ›„ ์žฌ์—…๋กœ๋“œ
ํŒŒ์ผ ์†์ƒSIT ์†”๋ฃจ์…˜์—์„œ ์—‘์…€์„ ๋‹ค์‹œ ๋‚ด๋ณด๋‚ด๊ธฐ

์ปฌ๋Ÿผ ๊ตฌ์กฐ ๋ถˆ์ผ์น˜

์ฆ์ƒ: โ€œํ•„์ˆ˜ ์ปฌ๋Ÿผ์ด ๋ˆ„๋ฝ๋˜์—ˆ์Šต๋‹ˆ๋‹คโ€ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ํ•„์ˆ˜ ์ปฌ๋Ÿผ: ์‚ฌ์—…์ž๋ฒˆํ˜ธ, ์ •์‚ฐ์›”

ํ•ด๊ฒฐ ์ ˆ์ฐจ:

  1. โ€œ์ปฌ๋Ÿผ ๋งคํ•‘ ํ™•์ธโ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ๋งคํ•‘ ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ ์—‘์…€ ์ปฌ๋Ÿผ๊ณผ DB ์ปฌ๋Ÿผ์˜ ๋Œ€์‘ ๊ด€๊ณ„๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  3. ์ž๋™ ๋งคํ•‘์ด ์‹คํŒจํ•œ ์ปฌ๋Ÿผ์„ ์ˆ˜๋™์œผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  4. ํ•„์ˆ˜ ์ปฌ๋Ÿผ์ด ๋ชจ๋‘ ๋งคํ•‘๋˜์—ˆ๋Š”์ง€ ํ™•์ธ ํ›„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

์ž๋™ ๋งคํ•‘ ๊ธฐ์ค€: ์ปฌ๋Ÿผ๋ช… ์œ ์‚ฌ๋„ ์ ์ˆ˜ 0.6 ์ด์ƒ์ด๋ฉด ์ž๋™ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค. SIT ์†”๋ฃจ์…˜ ๋ฒ„์ „์— ๋”ฐ๋ผ ์ปฌ๋Ÿผ๋ช…์ด ๋ฏธ์„ธํ•˜๊ฒŒ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ˆ˜๋™ ํ™•์ธ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

์ธ์ฝ”๋”ฉ ๋ฌธ์ œ

์ฆ์ƒ: ์—…๋กœ๋“œ ํ›„ ํ•œ๊ธ€์ด ๊นจ์ ธ์„œ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ:

  • SIT ์†”๋ฃจ์…˜์—์„œ .xlsx ํ˜•์‹์œผ๋กœ ๋‚ด๋ณด๋‚ด๊ธฐํ•ฉ๋‹ˆ๋‹ค (.xls๋ณด๋‹ค ๊ถŒ์žฅ).
  • Excel์—์„œ ํŒŒ์ผ์„ ์—ด๊ณ  โ€œ๋‹ค๋ฅธ ์ด๋ฆ„์œผ๋กœ ์ €์žฅโ€ โ†’ โ€œExcel ํ†ตํ•ฉ ๋ฌธ์„œ(*.xlsx)โ€œ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ํฌํ„ธ์€ xlsx ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ํŒŒ์‹ฑํ•˜๋ฏ€๋กœ UTF-8 ์ธ์ฝ”๋”ฉ๋œ .xlsx ํŒŒ์ผ์ด ๊ฐ€์žฅ ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค.

๊ฐ™์€ ์ •์‚ฐ์›” ์žฌ์—…๋กœ๋“œ

์ฃผ์˜: ๊ฐ™์€ ์ •์‚ฐ์›” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์—…๋กœ๋“œํ•˜๋ฉด ํ•ด๋‹น ์›”์˜ ๊ธฐ์กด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชจ๋‘ ์‚ญ์ œ๋œ ํ›„ ์ƒˆ ๋ฐ์ดํ„ฐ๋กœ ๊ต์ฒด๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ •์ƒ ๋™์ž‘์ด๋ฉฐ, ๋ถ€๋ถ„ ์—…๋ฐ์ดํŠธ๋Š” ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

CSO ๋งค์นญ ์˜ค๋ฅ˜

์—…์ฒด๋ช…๊ณผ ์‚ฌ์—…์ž๋ฒˆํ˜ธ ๋ถˆ์ผ์น˜

์ฆ์ƒ: ํšŒ์›์ด ๋กœ๊ทธ์ธํ–ˆ์ง€๋งŒ ์ •์‚ฐ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์›์ธ: ์ •์‚ฐ์„œ์˜ CSO๊ด€๋ฆฌ์—…์ฒด์™€ ํšŒ์›์˜ ์‚ฌ์—…์ž๋ฒˆํ˜ธ ๊ฐ„ ๋งค์นญ์ด ์—†์Šต๋‹ˆ๋‹ค.

ํ™•์ธ ์ ˆ์ฐจ:

  1. /admin/integrity ํŽ˜์ด์ง€์—์„œ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  2. missing_match ์ƒํƒœ์˜ ์—…์ฒด๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  3. ํ•ด๋‹น ์—…์ฒด์˜ ์‹ค์ œ ์‚ฌ์—…์ž๋ฒˆํ˜ธ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  4. ๋งค์นญ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค (์‚ฌ์—…์ž๋ฒˆํ˜ธ ์ž…๋ ฅ).

๋งค์นญ ์ƒํƒœ๋ณ„ ์กฐ์น˜

์ƒํƒœ์กฐ์น˜
missing_match/admin/integrity์—์„œ ์‚ฌ์—…์ž๋ฒˆํ˜ธ ๋งคํ•‘ ์ถ”๊ฐ€
unregisteredํ•ด๋‹น ์—…์ฒด์— ํšŒ์›๊ฐ€์ž… ์•ˆ๋‚ด. ์‚ฌ์—…์ž๋ฒˆํ˜ธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธ
pending_join/admin/members์—์„œ ํ•ด๋‹น ํšŒ์› ์Šน์ธ ์ฒ˜๋ฆฌ
normal์ •์ƒ โ€” ์กฐ์น˜ ๋ถˆํ•„์š”

์—…์ฒด๋ช… ๋ณ€๊ฒฝ

SIT ์†”๋ฃจ์…˜์—์„œ ์—…์ฒด๋ช…์ด ๋ณ€๊ฒฝ๋œ ๊ฒฝ์šฐ, cso_matching ํ…Œ์ด๋ธ”์˜ cso_company_name๋„ ์ƒˆ ์ด๋ฆ„์œผ๋กœ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ์ด๋ฆ„์˜ ๋งค์นญ์€ ๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ ์กฐํšŒ๋ฅผ ์œ„ํ•ด ์‚ญ์ œํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

ํ•œ ์—…์ฒด์— ์—ฌ๋Ÿฌ ์—…์ฒด๋ช…

ํ•˜๋‚˜์˜ CSO ์—…์ฒด๊ฐ€ ์ •์‚ฐ์„œ์—์„œ ์—ฌ๋Ÿฌ ์ด๋ฆ„์œผ๋กœ ๋“ฑ์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ: โ€œA์ œ์•ฝโ€, โ€œA์ œ์•ฝ(์ฃผ)โ€, โ€œ(์ฃผ)A์ œ์•ฝโ€). ์ด ๊ฒฝ์šฐ cso_matching ํ…Œ์ด๋ธ”์— ๊ฐ ์ด๋ฆ„์„ ๋™์ผํ•œ ์‚ฌ์—…์ž๋ฒˆํ˜ธ๋กœ ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฉ”์ผ ๋ฐœ์†ก ์‹คํŒจ

Resend API ํ•œ๋„ ์ดˆ๊ณผ

์ฆ์ƒ: ์ด๋ฉ”์ผ ๋ฐœ์†ก ์‹œ 429 Too Many Requests ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์›์ธ: Resend ๋ฌด๋ฃŒ ํ”Œ๋žœ ๊ธฐ์ค€ ์ผ์ผ 100๊ฑด, ์ดˆ๋‹น 2๊ฑด ์ œํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ:

์กฐ์น˜์„ค๋ช…
๋ฐœ์†ก ๊ฐ„๊ฒฉ ์ฆ๊ฐ€/admin/email-settings์—์„œ email_send_delay_ms๋ฅผ 6000ms ์ด์ƒ์œผ๋กœ ์„ค์ •
์‹œ๊ฐ„ ๋ถ„์‚ฐ๋Œ€๋Ÿ‰ ๋ฐœ์†ก์„ ์—ฌ๋Ÿฌ ์‹œ๊ฐ„๋Œ€๋กœ ๋ถ„์‚ฐ
ํ”„๋กœ๋ฐ”์ด๋” ์ „ํ™˜SMTP(ํ•˜์ด์›์Šค)๋กœ ์ „ํ™˜ํ•˜์—ฌ Resend ํ•œ๋„ ์šฐํšŒ
ํ”Œ๋žœ ์—…๊ทธ๋ ˆ์ด๋“œResend ์œ ๋ฃŒ ํ”Œ๋žœ์œผ๋กœ ์ผ์ผ ํ•œ๋„ ํ™•๋Œ€

SMTP ์„ค์ • ์˜ค๋ฅ˜

์ฆ์ƒ: SMTP ํ”„๋กœ๋ฐ”์ด๋”๋กœ ์ „ํ™˜ ํ›„ ์ด๋ฉ”์ผ์ด ๋ฐœ์†ก๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ™•์ธ ์‚ฌํ•ญ:

ํ•ญ๋ชฉํ™•์ธ
ํ˜ธ์ŠคํŠธํ•˜์ด์›์Šค: smtp.hiworks.com
ํฌํŠธSSL: 465 (๊ธฐ๋ณธ๊ฐ’)
๋ณด์•ˆ ์—ฐ๊ฒฐtrue (SSL ์‚ฌ์šฉ)
์‚ฌ์šฉ์ž๋ช…ํ•˜์ด์›์Šค ์ด๋ฉ”์ผ ์ฃผ์†Œ ์ „์ฒด
๋น„๋ฐ€๋ฒˆํ˜ธํ•˜์ด์›์Šค ๊ณ„์ • ๋น„๋ฐ€๋ฒˆํ˜ธ (์•ฑ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ)
๋ฐœ์‹  ์ด๋ฉ”์ผํ•˜์ด์›์Šค์— ๋“ฑ๋ก๋œ ์ด๋ฉ”์ผ ์ฃผ์†Œ

์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ: /admin/email-settings์—์„œ โ€œ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธโ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด test_recipient_email๋กœ ํ…Œ์ŠคํŠธ ์ด๋ฉ”์ผ์ด ๋ฐœ์†ก๋ฉ๋‹ˆ๋‹ค. ์‹คํŒจ ์‹œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€์—์„œ ์›์ธ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฉ”์ผ ๋ฏธ์ˆ˜์‹ 

๋ฐœ์†ก ์„ฑ๊ณต(sent)์œผ๋กœ ๊ธฐ๋ก๋˜์—ˆ์œผ๋‚˜ ์ˆ˜์‹ ์ž๊ฐ€ ์ด๋ฉ”์ผ์„ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ:

  1. ์ŠคํŒธํ•จ ํ™•์ธ: ์ˆ˜์‹ ์ž์˜ ์ŠคํŒธ/์ •ํฌ ๋ฉ”์ผํ•จ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  2. ์ˆ˜์‹  ์ฃผ์†Œ ํ™•์ธ: /admin/members์—์„œ ํ•ด๋‹น ํšŒ์›์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๊ฐ€ ์ •ํ™•ํ•œ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ฐœ์‹  ๋„๋ฉ”์ธ: Resend ์‚ฌ์šฉ ์‹œ ๋ฐœ์‹  ๋„๋ฉ”์ธ์˜ SPF/DKIM ์„ค์ •์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋นŒ๋“œ/๋ฐฐํฌ ์‹คํŒจ

Vercel ๋นŒ๋“œ ์—๋Ÿฌ ํ™•์ธ

  1. Vercel ๋Œ€์‹œ๋ณด๋“œ โ†’ csoweb ํ”„๋กœ์ ํŠธ โ†’ Deployments ํƒญ
  2. ์‹คํŒจํ•œ ๋ฐฐํฌ ํด๋ฆญ โ†’ Build Logs ํ™•์ธ
  3. ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์›์ธ ํŒŒ์•…

ํ”ํ•œ ๋นŒ๋“œ ์—๋Ÿฌ

์—๋Ÿฌ์›์ธํ•ด๊ฒฐ
Type errorTypeScript ํƒ€์ž… ๋ถˆ์ผ์น˜๋กœ์ปฌ์—์„œ npx tsc --noEmit ์‹คํ–‰ ํ›„ ์ˆ˜์ •
Module not foundimport ๊ฒฝ๋กœ ์˜ค๋ฅ˜ ๋˜๋Š” ํŒจํ‚ค์ง€ ๋ฏธ์„ค์น˜ํŒŒ์ผ ๊ฒฝ๋กœ ํ™•์ธ ๋ฐ npm install
Build exceeded memory๋นŒ๋“œ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, ๋ฒˆ๋“ค ํฌ๊ธฐ ํ™•์ธ
Environment variable missingํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ฏธ์„ค์ •Vercel ๋Œ€์‹œ๋ณด๋“œ โ†’ Settings โ†’ Environment Variables์—์„œ ์ถ”๊ฐ€

ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ˆ„๋ฝ

๋ฐฐํฌ ํ™˜๊ฒฝ์—์„œ ํ•„์ˆ˜ ํ™˜๊ฒฝ๋ณ€์ˆ˜๊ฐ€ ์—†์œผ๋ฉด ๋นŒ๋“œ ๋˜๋Š” ๋Ÿฐํƒ€์ž„์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ํ•„์ˆ˜ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ชฉ๋ก:

๋ณ€์ˆ˜์šฉ๋„
NEXT_PUBLIC_SUPABASE_URLSupabase ํ”„๋กœ์ ํŠธ URL
NEXT_PUBLIC_SUPABASE_ANON_KEYSupabase ๊ณต๊ฐœ ํ‚ค
SUPABASE_SERVICE_ROLE_KEYSupabase ์„œ๋น„์Šค ์—ญํ•  ํ‚ค
JWT_SECRETJWT ์„œ๋ช… ํ‚ค
RESEND_API_KEYResend ์ด๋ฉ”์ผ API ํ‚ค

Vercel ๋Œ€์‹œ๋ณด๋“œ โ†’ Settings โ†’ Environment Variables์—์„œ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ๋ชจ๋“  ๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐํฌ ๋กค๋ฐฑ

๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๋ฐฐํฌ๋ฅผ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋กค๋ฐฑํ•˜๋ ค๋ฉด:

  1. Vercel ๋Œ€์‹œ๋ณด๋“œ โ†’ Deployments
  2. ์ •์ƒ ์ž‘๋™ํ•˜๋˜ ์ด์ „ ๋ฐฐํฌ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
  3. ํ•ด๋‹น ๋ฐฐํฌ์˜ โ‹ฏ ๋ฉ”๋‰ด โ†’ Promote to Production ํด๋ฆญ
  4. ์ฆ‰์‹œ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ํ”„๋กœ๋•์…˜์ด ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค.

์ธ์ฆ ๋ฌธ์ œ

JWT ๋งŒ๋ฃŒ

์ฆ์ƒ: ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ‘์ž๊ธฐ ๋กœ๊ทธ์•„์›ƒ๋˜๊ฑฐ๋‚˜, API ์š”์ฒญ์ด 401๋กœ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

์›์ธ: JWT ํ† ํฐ์˜ ์œ ํšจ๊ธฐ๊ฐ„(24์‹œ๊ฐ„)์ด ๋งŒ๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ: ๋‹ค์‹œ ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ํ† ํฐ ์ž๋™ ๊ฐฑ์‹ (Refresh Token)์€ ๊ตฌํ˜„๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ, 24์‹œ๊ฐ„๋งˆ๋‹ค ์žฌ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ฟ ํ‚ค ๋ฌธ์ œ

์ฆ์ƒ: ๋กœ๊ทธ์ธ ์„ฑ๊ณต ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜์ง€๋งŒ ํŽ˜์ด์ง€ ์ด๋™ ํ›„ ๋กœ๊ทธ์ธ์ด ํ’€๋ฆฝ๋‹ˆ๋‹ค.

ํ™•์ธ ์‚ฌํ•ญ:

ํ•ญ๋ชฉํ™•์ธ ๋ฐฉ๋ฒ•
์ฟ ํ‚ค ์ฐจ๋‹จ๋ธŒ๋ผ์šฐ์ € ์„ค์ •์—์„œ ์ฟ ํ‚ค ํ—ˆ์šฉ ์—ฌ๋ถ€ ํ™•์ธ
์‹œํฌ๋ฆฟ/ํ”„๋ผ์ด๋น— ๋ชจ๋“œ์ผ๋ฐ˜ ๋ชจ๋“œ์—์„œ ์‹œ๋„
๋ธŒ๋ผ์šฐ์ € ์บ์‹œ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ ๋ฐ ์ฟ ํ‚ค ์‚ญ์ œ ํ›„ ์žฌ์‹œ๋„
HTTPSํ”„๋กœ๋•์…˜์—์„œ secure ์ฟ ํ‚ค๋Š” HTTPS์—์„œ๋งŒ ๋™์ž‘

๊ณ„์ • ์ž ๊ธˆ

์ฆ์ƒ: โ€œ๊ณ„์ •์ด ์ž ๊ฒผ์Šต๋‹ˆ๋‹คโ€ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์›์ธ: ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ 15ํšŒ ์—ฐ์† ํ‹€๋ฆฐ ๊ฒฝ์šฐ ๊ณ„์ •์ด ์ž๋™ ์ž ๊ธˆ๋ฉ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ:

  1. ๋“ฑ๋ก๋œ ์ด๋ฉ”์ผ๋กœ ๋ฐœ์†ก๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ ๋งํฌ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•˜๋ฉด ์ž ๊ธˆ์ด ํ•ด์ œ๋ฉ๋‹ˆ๋‹ค.
  3. ์ด๋ฉ”์ผ์„ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ, ๊ด€๋ฆฌ์ž๊ฐ€ /admin/members์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ฆฌ์ž ๊ถŒํ•œ ์—†์Œ

์ฆ์ƒ: ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํ™•์ธ: ํ•ด๋‹น ๊ณ„์ •์˜ is_admin ํ•„๋“œ๊ฐ€ true์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ด€๋ฆฌ์ž๊ฐ€ /admin/members์—์„œ ํ•ด๋‹น ํšŒ์›์˜ โ€œ๊ด€๋ฆฌ์ž ๊ถŒํ•œโ€์„ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„ฑ๋Šฅ ๋ฌธ์ œ

๋Œ€์‹œ๋ณด๋“œ ๋กœ๋”ฉ ๋А๋ฆผ

์›์ธ: ์ •์‚ฐ ๋ฐ์ดํ„ฐ๊ฐ€ ๋Œ€๋Ÿ‰์ธ ๊ฒฝ์šฐ ์กฐํšŒ ์‹œ๊ฐ„์ด ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์กฐ์น˜:

  • /admin/columns์—์„œ ๋ถˆํ•„์š”ํ•œ ์ปฌ๋Ÿผ์„ ์ˆจ๊ฒจ ์กฐํšŒ ๋ฐ์ดํ„ฐ๋Ÿ‰์„ ์ค„์ž…๋‹ˆ๋‹ค.
  • ํŠน์ • ์ •์‚ฐ์›”๋งŒ ์„ ํƒํ•˜์—ฌ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ฐ˜ํšŒ์›์€ CSO ๋งค์นญ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž๊ธฐ ๋ฐ์ดํ„ฐ๋งŒ ์กฐํšŒํ•˜๋ฏ€๋กœ ์ƒ๋Œ€์ ์œผ๋กœ ๋น ๋ฆ…๋‹ˆ๋‹ค.

๋ฉ”์ผ๋จธ์ง€ ๋ฐœ์†ก ์ง€์—ฐ

๋Œ€๋Ÿ‰ ์ด๋ฉ”์ผ ๋ฐœ์†ก ์‹œ ๋ฐœ์†ก ๊ฐ„๊ฒฉ(๊ธฐ๋ณธ 6์ดˆ) ๋•Œ๋ฌธ์— ์ „์ฒด ์†Œ์š” ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง‘๋‹ˆ๋‹ค.

์˜ˆ์ƒ ์†Œ์š” ์‹œ๊ฐ„: ์—…์ฒด ์ˆ˜ ร— ๋ฐœ์†ก ๊ฐ„๊ฒฉ

์—…์ฒด ์ˆ˜6์ดˆ ๊ฐ„๊ฒฉ3์ดˆ ๊ฐ„๊ฒฉ
10๊ฐœ1๋ถ„30์ดˆ
50๊ฐœ5๋ถ„2๋ถ„ 30์ดˆ
100๊ฐœ10๋ถ„5๋ถ„

๋ฐœ์†ก ๊ฐ„๊ฒฉ์„ ์ค„์ด๋ฉด Resend API Rate Limit์— ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋Œ€๋Ÿ‰ ๋ฐœ์†ก ์‹œ SMTP ํ”„๋กœ๋ฐ”์ด๋” ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.