์ ์ฒด ๊ธ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. ์ด์ 1 2 3 4 5 6 ๋ค์