๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€47

SSE ์ ์šฉ (1) - SSE๋ฅผ ์ ์šฉํ•ด๋ณด์ž ๊ฐœ๋… ๋ฐฐ์น˜ ๋™์ž‘ ์™„๋ฃŒ ์‹œ์ ๋งˆ๋‹ค ํ™”๋ฉด์— update๋ฅผ ํ•ด์ค˜์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ตœ์‹  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ์œ„ํ•ด ์ ์ ˆํ•œ ๊ธฐ์ˆ  ๊ฒ€ํ† ์ค‘์— SSE ์ถ”์ฒœ์„ ๋ฐ›์•„ ๋ถ„์„ ํ›„ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ด€๋ จ ๋‚ด์šฉ์„ ์ •๋ฆฌ SSE๋ž€, Server Sent Event ์›น ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„ ๊ฐ„ ๋‹จ๋ฐฉํ–ฅ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์›น ๊ธฐ์ˆ  ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)๋กœ ์‹ค์‹œ๊ฐ„ ์ด๋ฒคํŠธ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์„œ๋ฒ„๋กœ์˜ ์—ฐ๊ฒฐ์„ ์—ด์–ด๋‘๊ณ  ์„œ๋ฒ„์—์„œ ์ด๋ฒคํŠธ๋ฅผ ํ‘ธ์‰ฌํ•˜๋Š” ๋ฐฉ์‹ ์„œ๋ฒ„๋Š” ์ด๋ฒคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ด๋ฒคํŠธ์— ํ•„์š”ํ•œ Data๋ฅผ ํฌํ•จํ•˜์—ฌ Client์—๊ฒŒ ์ „๋‹ฌํ•œ๋‹ค. Client๋Š” ์ด๋ฒคํŠธ ์ˆ˜์‹  ํ›„ ํ•„์š”ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉ SSE ํŠน์ง• - ๋‹จ๋ฐฉํ–ฅ ํ†ต์‹  ์„œ๋ฒ„ -> ํด๋ผ์ด์–ธํŠธ๋กœ๋งŒ Data ์ „์†ก - ๊ธฐ๋ณธ HTTP ํ”„๋กœํ† ์ฝœ ์‚ฌ.. 2024. 4. 12.
ํฌ๋ก  ์ผ๋ถ€ ์Šคํ…Œ์ด์ง€ ๋น„ํ™œ์„ฑํ™” ์ฒ˜๋ฆฌ ์—ฌ๋Ÿฌ ์Šคํ…Œ์ด์ง€๊ฐ€ ์žˆ์„ ๋•Œ ํŠน์ • ์Šคํ…Œ์ด์ง€๋Š” ์Šค์ผ€์ค„ ์‹คํ–‰ ์•ˆ๋˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ถ€ํŠธ 2.1๋ถ€ํ„ฐ ์ ์šฉ @Scheduled(cron = "${spring.scheduled.cron.test.job:-}") public void testBatchExecute() { testBatch.execute(); } ScheduleConfig.java ํฌ๋ก  ์„ค์ • ๊ฐ’ ์˜†์— :- ์ถ”๊ฐ€ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์ด ์—†์„ ๋•Œ๋Š” - ์ฒ˜๋ฆฌ๊ฐ€ ๋จ cron์—์„œ - ์ฒ˜๋ฆฌ๋Š” disable์„ ์˜๋ฏธ ํ”„๋กœํผํ‹ฐ ๊ฐ’์„ ์ฐธ์กฐํ•˜๋˜, ๋งŒ์•ฝ ํŠน์ • ์Šคํ…Œ์ด์ง€์— ํ•ด๋‹น ํ”„๋กœํผํ‹ฐ๊ฐ€ ์ •์˜๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ -๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šค์ผ€์ค„๋ง์„ ๋น„ํ™œ์„ฑํ™” ์Šค์ผ€์ค„ ์›ํ•˜์ง€ ์•Š๋Š” ์Šคํ…Œ์ด์ง€๋Š” ํ”„๋กœํผํ‹ฐ๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์Œ์œผ๋กœ์จ disable ์ฒ˜๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋จ. example application-local... 2024. 4. 4.
์„ค๊ณ„ ๊ต์‹ค ์„ค๊ณ„ํ•  ์ผ์ด ์ƒ๊ฒผ๋Š”๋ฐ ๋‚ด๋ฉ‹๋Œ€๋กœ ๋ง๊ณ  ์ œ๋Œ€๋กœ ํ•˜๊ณ  ์‹ถ์–ด์„œ ์งˆ๋ฌธํ•˜๊ณ  ์ •๋ฆฌํ•œ ๊ฒƒ ์ž‘์—… ์ˆœ์„œ - ์ •๋ง ์ „์ฒด์— ๋Œ€ํ•œ ์„ค๊ณ„๋ฅผ ์ง„ํ–‰ํ•ด์•ผํ•จ (ํ•œ ๋ถ€๋ถ„๋งŒ์ด ์•„๋‹Œ) - ์ฒจ๋ถ€ํ„ฐ ํด๋ž˜์Šค ๋‹จ์œ„, ๋‚ด๋ถ€, ์งœ๊ฐœ๋Š”๊ฑฐ ์ƒ๊ฐ X (๋‚˜์ค‘์— ๊ณ ๋ฏผํ•  ๊ฒƒ) - ๊ธฐ๋Šฅ ๋ช…์„ธ ์ •์˜ (์–ด๋–ค ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ ์ง€→ ํ”„๋กœ์„ธ์Šค ํ๋ฆ„๋„→ ์ธํ„ฐํŽ˜์ด์Šค ์„ค๊ณ„, ๊ด€๊ณ„์ •์˜) ex) ํ†ต์„ ๋‚˜๋ˆ„๋ฉด ํ•„์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๋งŒ๋“ค๊ธฐ → ํ•„์ˆ˜ ์ •๋ณด ์กฐํšŒ → ์‹ค์ œ ๋ฐ์ดํ„ฐ ์กฐํšŒ → ๊ฐ€๊ณต → Response ๋ชจ์–‘ ๋งŒ๋“ค๊ธฐ ๋‹จ์ˆœํ•˜์ง€๋งŒ ์ด๋Ÿฐ ํ”Œ๋กœ์šฐ => ๊ฐœ๋ฐœ ์ •์ฑ… → ๊ธฐ๋Šฅ ์ •์˜ → ์ „์ฒด Flow → ๊ฐ Flow๋ณ„ ๊ธฐ๋Šฅ ์ž‘์„ฑ → ๋ฏธ์ฒ˜ ๋†“์นœ ๋ถ€๋ถ„๋“ค ์ฒ˜๋ฆฌ → (DB์„ค๊ณ„, ํด๋ž˜์Šค ์„ค๊ณ„, ๊ฐœ๋ฐœ ์‹œ์ž‘) ๊ฐ ์ˆœ์„œ ๋ณ„ ํ•„์š” ์ž‘์—… ๊ฐœ๋ฐœ ์ •์ฑ… - ํ•ต์‹ฌ ๊ฐœ๋ฐœ ์ •์ฑ… ์ •ํ•˜๊ธฐ ๊ธฐ๋Šฅ ์ •์˜ - ์–ด๋–ค ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ์ง€ ์ „์ฒด Flo.. 2024. 4. 2.
ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ ์‹œ์ž‘ํ•˜๊ธฐ ๋…์„œ ๊ธฐ๊ฐ„ ์žฌ์‹œ์ž‘ 2024.01.08~2024.03.25 ์ฑ… ์ฝ์€ ์†Œ๊ฐ ์ •๋ฆฌ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ด€๋ จ ๊ณต๋ถ€๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค. ์—ญ์‰ฌ๋‚˜ ์‹œ์ž‘์„ ํ•˜๊ณ  ์ด์ œ์•ผ ์ข…๋ฃŒํ•œ ์ฑ…. TDD๋ฅผ ๊ฐ€๋ณ๊ฒŒ ๋ง›๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ค‘๊ฐ„์— UnitTest ์ธ๊ฐ•์„ ํ•˜๋‚˜ ๋ง›๋ณด๊ธฐํ•˜๊ณ  ์ด์–ด์„œ ํ–ˆ๋”๋‹ˆ ์ดํ•ด๊ฐ€ ๋” ์‰ฌ์› ๋‹ค. ํ…Œ์ŠคํŠธ์— ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ์ž…์žฅ์—์„œ ๋ณผ ๋•Œ ๊ฐ€๋ณ๊ฒŒ ํ•ต์‹ฌ๋งŒ ๊ฐ„๋‹จํžˆ ์ง‘๊ณ  ๊ฐˆ ์ˆ˜ ์ด์จ์„œ ์ข‹์•˜๊ณ , ๋Œ€์—ญ, ๋ชฉ์ด๋‚˜ given-when-then๋“ฑ ์˜์–ด๋กœ ์ต์ˆ™ํ•œ์• ๋“ค์ด ํ•œ๊ธ€๋กœ ์ž‘์„ฑ๋˜์–ด์žˆ์–ด ์–ด์ƒ‰ํ•˜๊ธด ํ–ˆ์ง€๋งŒ ๋งคํ•‘ ํ‘œํ˜„์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์Šฅ์Šฅ ๋”ฐ๋ผํ•˜๊ฑฐ๋‚˜ ๊ฐœ๋…์€ ํ›„๋ฃจ๋ฃฉ ์ฝ์œผ๋ฉด์„œ ์ž…๋ฌธ ๊ธฐ๋ณธ์„œ๋กœ ๋น ๋ฅด๊ณ  ํŒํ•˜๊ฒŒ ๋ณด๊ธฐ ์ข‹์€ ์ฑ…์ด๋‹ค. ๊ฐ์žํ•จ๋‹ˆ๋‹ค. ๊ทธ์น˜๋งŒ ๋ณด๋ฉด์„œ ๋“ค์—ˆ๋˜ ์˜๋ฌธ์  ํ•œ๊ฐ€์ง€ ๊ณผ์—ฐ ์—…๋ฌด๋ฅผ ํ•˜๋Š”๋ฐ ์žˆ์–ด์จ TDD ํŒจํ„ด์˜ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์€ ์ •๋ง ์ด์ƒ์ ์ด๊ธด ํ•˜์ง€๋งŒ ์‹คํ–‰์ด ๊ฐ€๋Šฅ.. 2024. 3. 27.
[AWS]Resource Explorer Research Resource Excplerer ๋ฆฌ์†Œ์Šค ๊ฒ€์ƒ‰ ์„œ๋น„์Šค AWS ๋ฆฌ์†Œ์Šค ์ •๋ณด๋ฅผ ์กฐํšŒํ•ด์•ผํ•˜๋Š”๋ฐ ๊ฐ API ๊ฐœ๋ณ„ ํ˜ธ์ถœ์ด ์•„๋‹Œ Explorer๋กœ ๋Œ€์ฒด๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€ ์กฐ์‚ฌ ํ•„์š” ํ•ญ๋ชฉ์€ ๋‹จ์ˆœ ์‹๋ณ„ ์ •๋ณด ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฐ ๋ฆฌ์†Œ์Šค๋ณ„ ํŠน์ง•๋„ ํ•„์š”ํ•จ ์กฐํšŒ API ListSupportedResourceType - Resource Explorer ์ง€์› ๋ฆฌ์†Œ์Šค ํƒ€์ž… ListIndexes - ํ˜„์žฌ AWS Resource Explorer์— ๋Œ€ํ•œ ๋ฆฌ์†Œ์Šค ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์žˆ๋Š” AWS ๋ฆฌ์ „์˜ ๋ชจ๋“  ์ธ๋ฑ์Šค ๋ชฉ๋ก - ์ˆ˜์ง‘ ๋ฆฌ์ „๋“ค์„ ์ œ๊ณตํ•˜๋Š” API๋กœ ๋ณด์ž„ ListViews - ์ด ์ž‘์—…์„ ํ˜ธ์ถœํ•˜๋Š” AWS ๋ฆฌ์ „์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ณด๊ธฐ์˜ Amazon ๋ฆฌ์†Œ์Šค ์ด๋ฆ„(ARN) - ํ˜ธ์ถœ ๋ฆฌ์ „์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ list ๋ทฐ - AWS ๊ธฐ๋ณธ ๋ทฐ๊ฐ€ all-resou.. 2024. 3. 14.
2023 ํšŒ๊ณ  ์•ผ์•ผ์•ผ ์ž‘์„ฑ์ „ ๋ฐ˜์„ฑ ์˜ฎ๊ฒจ์ ์–ด์•ผ์ง€ ํ•˜๋ฉด์„œ ๋ฏธ๋ฃจ๋‹ค๋ฏธ๋ฃจ๋‹ค ์˜ค๋Š˜์—์„œ์•ผ ๋‹ค์‹œ ์ž‘์„ฑ์ค‘ 1์›”1์ผ์— ๊ตฟ๋…ธํŠธ์— ์ดˆ์•ˆ ์ž‘์„ฑํ•œ ๋ถ€๋ถ„ ์˜ฎ๊ธด ๊ฒƒ ํ™”์ดํŒ… ์•ผ์•ผ์•ผ Intro ํšŒ๊ณ ๋ฅผ ๋†“์€์ง€๊ฐ€ ์ข€ ๋˜์„œ ํ•œ ํ•ด๋ฅผ ๋งˆ๋ฌด๋ฆฌ ํ•˜๋Š”๊น€์— ๋‹ค์‹œ ํšŒ๊ณ  ์Šต๊ด€๋„ ๊ธฐ๋ฅผ ๊ฒธ ์ž‘์„ฑ ๋…„ ํšŒ๊ณ ๋ฅผ ์˜ฌ๋ ธ์ง€๋งŒ ๋”ฐ๋กœ ๋…ธ์…˜์— 2024๋ถ€ํ„ฐ๋Š” ์ผ,์›”,๋ถ„๊ธฐํšŒ๊ณ ๋„ ์ง„ํ–‰์„ ํ•ด๋ณผ๊นŒ ํ•˜๋Š”์ค‘ 2023 ํšŒ๊ณ ๋Š” 2023์˜ ๋ชจ๋“ ๊ฒƒ์„ ๋˜๋Œ์•„ ๋ณด์ž๊ฐ€ ๋ชฉํ‘œ ํ•œ ๊ฒƒ - ์—…๋ฌด ๋ถ€๋ฌธ ์„œ๋น„์Šค ๊ฐœ์„  ๊ธฐ์กด ๊ฐœ์„ ํ–ˆ๋˜ ๋ฐฐ์น˜์— ๋Œ€ํ•ด์„œ ์šด์˜ ๋ฐฐํฌ ํ›„ ์ด์Šˆ๊ฐ€ ์žˆ์–ด ์™„๋ฒฝํ•˜๊ฒŒ ๋งˆ๋ฌด๋ฆฌ๋ฅผ ๋ชปํ•œ ์ƒํ™ฉ์ด์—ˆ๋‹ค. ์–ด๋–ป๊ฒŒํ•˜๋‚˜ ์–ด๋–ป๊ฒŒํ•˜๋‚˜ ๋ฆฌ์„œ์น˜ ๋์— ์ƒˆ๋กœ์šด ์‹œ๋„๋กœ ๊ฐœ์„ ์„ ํ•ด์„œ ํ˜„์žฌ๋Š” ์ž˜ ๋งˆ๋ฌด๋ฆฌ ๋˜์—ˆ๊ณ  ๊ธฐ์กด์— ๊ฐ„ํ—์ ์œผ๋กœ ๋ฐœ์ƒํ–ˆ๋˜ ์ด์Šˆ๋“ค์ด ์ง€๊ธˆ์€ ์ „ํ˜€ ๋‚˜์ง€ ์•Š๊ณ ์žˆ๋‹ค. ๋™์‹œ์— ์ฝœ์ˆ˜๋ฅผ ๋Œ€ํญ ์ค„์ด๋Š” ๊ฐœ์„ ๋„ ๋˜์—ˆ๋‹ค. ๊ฒฐ๊ตญ ์“ฐ๋กœํ‹€ ๊ฐœ์„ ์„ ์–ด๋–ป๊ฒŒ ํ•˜๋Š.. 2024. 1. 20.
GitHub ๋ช…์‹ฌ! ๋งจ๋‚  ํ•˜๋„ ๊นŒ๋จธ๊ฑฐ์„œ github ์“ธ ๋•Œ ๋ช…์‹ฌํ•  ๊ฒƒ๋“ค ์ •๋ฆฌ 1. ๊ฐœ์ธ ํ”ผ์”จ๊ฐ€ ์•„๋‹ˆ๋ฉด ํ”„๋กœ์ ํŠธ ์„ค์ • ํ›„์— git ์ •๋ณด๋ฅผ ๋จผ์ € ๋ด๋ผ git config user.email / git config user.name 2. ๊ฐ„ํ˜น user.name ๋งž์ถฐ๋†จ๋Š”๋ฐ ์™œ push ์ด๋ ฅ์— github profile์ด ์•ˆ๋ณด์ด๊ณ  ์ž”๋””๊ฐ€ ์•ˆ์‹ฌ์–ด์ง€๋Š”๊ฐ€? email์„ ์˜์‹ฌํ•ด๋ผ email์„ ๋‹ค์‹œ ๋ฐ”๊ฟ”์ฃผ๋˜๊ฐ€ ์•„๋‹˜ ์ด๋ฉ”์ผ ์„ค์ •์—์„œ ์ถ”๊ฐ€ ๋ฉ”์ผ๋กœ ๋“ฑ๋ก์„ ํ•ด๋†”๋ผ ์ถ”๊ฐ€๋ฉ”์ผ ๋“ฑ๋กํ•˜๋ฉด ๋กœ๊ทธ์— ํ”„๋กœํ•„ ์ด๋ฏธ์ง€๋Š” ์•ˆ๋ณด์—ฌ๋„ ์ž”๋””๋Š” ์‹ฌ์–ด์ง„๋‹ค 3. github access token์„ ์ž˜ ๊ฐ–๊ณ ์žˆ๊ณ  ๋ฐ›์•„๋‘ฌ๋ผ push ํ• ๋•Œ ์ธ์ฆ์ •๋ณด ์ž…๋ ฅ ์‹œ id pw๋ฅผ ์ง€์›์„ ์•ˆํ•œ๋‹ค ์ธ์ฆ์ •๋ณด ๋งž๊ฒŒ ์ž…๋ ฅํ–ˆ๋Š”๋ฐ๋„ pw๊ฐ€ ํ‹€๋ ธ๋‹ค๊ณ  ๋œฌ๋‹ค github setting ๋“ค์–ด๊ฐ€์„œ develope.. 2023. 12. 14.
๋‚ด ์ฝ”๋“œ๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์ด์ƒํ•œ๊ฐ€์š” ๋…์„œ ๊ธฐ๊ฐ„ 2023.08.12~2023.09.25 ๋…์„œ ๋ชจ์ž„ 2023.09.26 ๊ฐ„๋งŒ์— ์ฑ…์„ ์ฝ์—ˆ๋‹ค. ํšŒ์‚ฌ ํฐ ์นญ๊ตฌ์™€ ๋‹ค๋ฅธ ์นญ๊ตฌ์™€ ๊ฐ™์ด ์ฝ๊ณ  ๋…์„œ๋ชจ์ž„ ํ•˜๊ธฐ๋กœ ํ•ด์„œ ๋‹ค ์ฝ๊ณ  ๊ฐ™์€ ์ฑ…์„ ์ฝ์€ ์นญ๊ตฌ์™€ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆด๋Š”๋ฐ ์ •๋ง ์ž˜ํ•œ๋‹ค. ์–ด๋ฆฐ์ด ๋•Œ ๋…์„œ ํ† ๋ก ์„ ๋‹ค๋…”๋‹ค๊ณ  ํ•œ๋‹ค. ๋‚˜๋„ ๋…์„œ ํ† ๋ก  ํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์›Œ์•ผ๊ฒ ๋‹ค. ๋…์„œ ๋ชจ์ž„ ์†Œ๊ฐ ์ •๋ฆฌ ์–ดํœด ๋ฆฌํŒฉํ† ๋ง ํŒŒํŠธ๋Š” ์šฐํ˜„ํ•˜๊ฒŒ๋„ ํ˜„์žฌ ๋ฆฌํŒฉํ† ๋ง ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ๋‚˜์˜ ์—…๋ฌด์™€ ์—ฐ๊ด€์ด ๋งŽ๊ตฌ๋‚˜ ๋•๋ถ„์— ๊ฐ€์ด๋“œ๋„ ๋ช‡๊ฐ€์ง€ ์–ป์—‡๋‹ค. 1. ๋…ผ๋ฆฌ ๋ถ€์ • ์—ฐ์‚ฐ์ž๋„ !๋„ ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ์ง€๋งŒ ๊ตณ์ด ๋ฉ”์„œ๋“œ๋กœ ํ•œ๋ฒˆ ๋ถ„๋ฆฌํ•ด์„œ ๋” ๊ฐ€๋…์„ฑ์ž‡๊ฒŒ ๋” ์นœ์ ˆํ•˜๊ฒŒ !customer.isEnabled -> customer.isDisabled().. 2. ๋ฆฌํŒฉํ„ฐ๋ง ์ž‘์€๋‹จ์œ„๋กœ ์‹ค์‹œํ•˜๊ธฐ. ์ปค๋ฐ‹์€ ์–ด๋–ป๊ฒŒ ๋ฆฌํŒฉํ† ๋ง ํ–ˆ๋Š”์ง€.. 2023. 12. 9.
[JS] ๋ธŒ๋ผ์šฐ์ € ํƒ€์ž„์กด -> utc ๋ณ€ํ™˜ ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„ ํ˜„์žฌ ๋ธŒ๋ผ์šฐ์ € ํƒ€์ž„์กด์— ๋งž๊ฒŒ ์‹œ๊ฐ„์„ ๋ณ€ํ™˜ํ•œ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ํƒ€์ž„์กด์— ๋งž๋Š” ํ˜„์žฌ ์‹œ๊ฐ„์„ UTC๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. // ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด (์˜ˆ: '2023-11-01 00:00:00') const inputString = '2023-11-01 00:00:00'; // ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด์„ JavaScript์˜ Date ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ const inputDate = new Date(inputString); // ๋ธŒ๋ผ์šฐ์ €์˜ ํƒ€์ž„์กด์— ๋งž๊ฒŒ ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ ํ‘œ์‹œ const userTimeZoneDate = inputDate.toLocaleString('en-US', { timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone }); // ๋ธŒ๋ผ์šฐ์ €์˜ ํƒ€์ž„์กด์— ๋งž๋Š” ํ˜„์žฌ .. 2023. 11. 30.