์.์์.๋ด.๋ดํํ .์.์ด๋ฌ๋.๋ฐ. ์~^^ ๊ทธ๋ด ์ค ์์์ต๋๋ค~^^ ๋ผ๊ณ ๋งํ ์ ์์ ์ ๋๋ก ์ ๋ง ์ ๋ง ๋ง์ด ๋ณด๋ ์๋ฌ์ด๋ค. ๊ทธ๋ฐ๋ฐ ์ด ์๋ฌ ๋๋์ฒด ์ ๋ฐ์ํ๋๊ฑธ๊น?! GROUP BY GROUP BY๋ ๊ฐ์ ๊ฐ์ ๊ฐ์ง ํ๋ผ๋ฆฌ ํ๋์ ๊ทธ๋ฃน์ผ๋ก ๋ญ์ถฐ์ฃผ๋ ์ญํ ์ ํ๋ค. ์๋์ ์์๋ฅผ ๋ณด๋ฉด ๋ ๋น ๋ฅด๊ฒ ์ดํด๊ฐ ๊ฐ ๊ฒ์ด๋ค. group by ์ด๋ Employee๋ผโฆ
node-schedule์ ํ์์ ๊ธฐ๋ฐ์ผ๋ก rule์ ์ค์ ํด์, ํด๋นํ๋ ์๊ฐ์ ํจ์๋ฅผ ์คํํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌ๋๋๋ค. Cron์ด๋? ์ปดํจํฐ ์ด์์ฒด์ ์์ ์๊ฐ ๊ธฐ๋ฐ์ผ๋ก job-scheule์ ์ค์ ํ ์ ์๋ ํ๋ก์ธ์ค๋ฅผ ๋งํ๋ค. ์ฌ๊ธฐ์ ์ค์ผ์ค๋ง ํ๋ผ๋ฏธํฐ๋ก ์ฌ์ฉ๋๋ ํํ์์ ์ด๋ผ๊ณ ํ๋ค. ์ฌ์ฉํ๊ธฐ์ ์ ์ ๊น! [๊ณต์๋ฌธ์] Node Schedule์ ์คํฌ๋ฆฝํธ๊ฐ ๋์โฆ
macOS๊ธฐ๋ฐ์์ PostgreSQL์ ์ค์นํ๊ณ , db๊ด๋ฆฌํด์ธ dbeaver๊ณผ ์ฐ๋๊น์ง ํด๋ณด์! ์ฒ์์ผ๋ก ๋งฅ์์ postgrSQL ์ธํ ํ๋ฉด์ ์์๋ ์ฐ๋นํํ์ผ๋ ๋ฒ๋ ์ด ์ ์๋ผ???? ๋๋ฒ์ ๊ฒช๊ธฐ ์ซ์ด์ ์ ๋ฆฌํ๊ธฐ 1. postgreSQL ์ค์น ์ค์น ์๋น์ค ์์ ๋ฒ์ ํ์ธ ์ด๋ฐ์์ผ๋ก ๋ฒ์ ์ด ์ ํ์ธ๋๋ฉด ์ค์น๋ ๋๋ฌ๋ค! 2. postgreSQL ์ค์ ๋๋๊ฒ๋โฆ
์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ฒ๋จ์๋ง๋ค ์ฝค๋ง๋ฅผ ์ฐ๋ ์ธ๊ฐ์ง ๋ฐฉ๋ฒ! 1. ์ ๊ท์์ผ๋ก ์ฌ์ฉํ๊ธฐ 2. .toLocaleString() ์ฌ์ฉํ๊ธฐ Number์ด์ธ์๋ ๊ฐ์ฑ๋ ๋ ์ง, ๋ฐฐ์ด์๋ ์ ์ฉ๊ฐ๋ฅํ๋ค. ์ด๋ ํน์ ์๋ฃ๊ฐ ๋ค์ด์์ ๋ ์ค์ ํด๋์ ์ง์ญ์์ ์ฝ๋ ํํ๋ก ๋ฐ๊ฟ์ฃผ๋ ํจ์์ด๋ค. ๋ด๊ฐ currency type์ ์ผ๋ณธ์ผ๋ก ์ค์ ํ๋ฉด ํ๊ธฐ๊ฐ ์ํ๋ก ์๋์ ์ผ๋ก ๋ฐ๋๋ ์์ด๋ค. โฆ
๋ฌธ๋ฒ COALESCE(์ปฌ๋ผ, ๋์ฒด๊ฐ1โฆ๋์ฒด๊ฐn) ๐ ์ปฌ๋ผ์ด null์ธ ๊ฒฝ์ฐ์ ๋์ฒด๊ฐ์ผ๋ก ๋ฐํ ๋์ฒด๊ฐ์ด null์ด ์๋ ๊ฐ์ด ๋์ฌ ๋๊น์ง ๋์ฒด๊ฐ์ ๋ถ๋ฌ์จ๋ค. ํ์ฉ price seat 100000 50 55000 null 80000 279 ์ฌ๊ธฐ์ ์ ๋ฅผ ๊ณฑํ ๊ฐ์ ์ด๋ผ๊ณ ํ ๋, null์ด ์์ผ๋ฉด ๊ฐ๋ null์ด ๋์ค๊ธฐ ๋๋ฌธ์ ์ ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ์นํํด์ผํโฆ
๐ฑ ๋ฌธ์ ๋งํฌ ๊ณ ์์ด๋ฅผ ์ถ๋ ฅํ๋ค ํ์ด ๊ณ ์์ด ๊ท์ฌ์. ์ ๋ชจ์๋๋ก ์ฝ์๋ก ์ฐ์ด์ฃผ๋ฉด ๋๋ค. ๊ทธ๋์ ์ ์์ ์ญ์ฌ๋์๋ฅผ ํ๋ฒ ๋ ์ถ๊ฐํด์ผํ๋ค!
๐ฎ ๋ฌธ์ ๋งํฌ ๋ก๋ 6/45(์ดํ โ๋ก๋โ๋ก ํ๊ธฐ)๋ 1๋ถํฐ 45๊น์ง์ ์ซ์ ์ค 6๊ฐ๋ฅผ ์ฐ์ด์ ๋งํ๋ ๋ํ์ ์ธ ๋ณต๊ถ์ ๋๋ค. ์๋๋ ๋ก๋์ ์์๋ฅผ ์ ํ๋ ๋ฐฉ์์ ๋๋ค. ์์ ๋น์ฒจ ๋ด์ฉ 1 6๊ฐ ๋ฒํธ๊ฐ ๋ชจ๋ ์ผ์น 2 5๊ฐ ๋ฒํธ๊ฐ ์ผ์น 3 4๊ฐ ๋ฒํธ๊ฐ ์ผ์น 4 3๊ฐ ๋ฒํธ๊ฐ ์ผ์น 5 2๊ฐ ๋ฒํธ๊ฐ ์ผ์น 6(๋์ฒจ) ๊ทธ ์ธ ๋ก๋๋ฅผ ๊ตฌ๋งคํ ๋ฏผ์ฐ๋ ๋น์ฒจ ๋ฒํธ ๋ฐํ์ผ์ ํ์โฆ
๐ซ ๋ฌธ์ ๋งํฌ ์๋ก ์๊ธด ๋์ด๊ธฐ๊ตฌ๋ ์ธ๊ธฐ๊ฐ ๋งค์ฐ ๋ง์ ์ค์ด ๋์ด์ง ์์ต๋๋ค. ์ด ๋์ด๊ธฐ๊ตฌ์ ์๋ ์ด์ฉ๋ฃ๋ price์ ์ธ๋ฐ, ๋์ด๊ธฐ๊ตฌ๋ฅผ N ๋ฒ ์งธ ์ด์ฉํ๋ค๋ฉด ์๋ ์ด์ฉ๋ฃ์ N๋ฐฐ๋ฅผ ๋ฐ๊ธฐ๋ก ํ์์ต๋๋ค. ์ฆ, ์ฒ์ ์ด์ฉ๋ฃ๊ฐ 100์ด์๋ค๋ฉด 2๋ฒ์งธ์๋ 200, 3๋ฒ์งธ์๋ 300์ผ๋ก ์๊ธ์ด ์ธ์๋ฉ๋๋ค. ๋์ด๊ธฐ๊ตฌ๋ฅผ count๋ฒ ํ๊ฒ ๋๋ฉด ํ์ฌ ์์ ์ด ๊ฐ์ง๊ณ ์๋ ๊ธ์กโฆ
GitHub Actions ๋ธ๋ก๊ทธ๋ฅผ ์๋ก ํ์ ๊ธ์ ์์ฑ์ ํ๋ฉด์ ์์ฃผ ์น๋ช ์ ์ผ๋ก ๊ท์ฐฎ์ ๋ฌธ์ ๊ฐ ํ๋ ์๊ฒผ๋ค. ๋ฐ๋ก !! ํฌ์คํ ์ ํ๋ ์ธ ๋๋ง๋ค ์ผ์ผํ ๋ฐฐํฌ๋ฅผ ํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์น๋ ๊ฒ์ด ๋๋ฌด ๊ท์ฐฎ์๋ ๋๋ ์๋ํ์ ๊ฐ์ ํจ์ ๋๋๋ค. ๊ตฌ๊ธ์์ ์ด์ฌํ ์์น๋ฅผ ํ ๊ฒฐ๊ณผ ์ ์ด๋ผ๋ ํด์ ๋ฐ๊ฒฌํ๊ณ โฆ ๊ทธ๋ฌ๋ค๊ฐ ๊ฒฐ๊ตญ ๋ผ๋ ๋ฐฉ๋ฒ์ ์ฑํํ๊ธฐ๋ก ๊ฒฐ์ฌ์ ํ๋๋ฐ โฆ๋๋ณด๊ธฐ โฆ
์ด์ ์ ํ๋ BASENOTE ํ๋ก์ ํธ์์ ๊ตฌํํ์ง ๋ชปํ๋ ํํฐ๋ง ๊ธฐ๋ฅ์ ์๊ฐ์ด ๋๋ ๊น์ ํ๋ฒ ๊ตฌํ์ ํด๋ณด์๊ณ ๊ฒฐ์ฌ์ ํ๋ค. (์ฐธ๊ณ ๋ก ์ด๊ฑด BASENOTE ํ๋ก์ ํธ ์ดํ์ ์์ฑํ ํ๊ณ ๋ก><) โก๏ธ GITHUB โ๏ธ์ด๋ฒ์ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด์ ๊ณ ๋ คํ ๊ฒ ์ด์ ์ ์์ฑํ ์ฝ๋๋ฅผ ๊ฐ์์๋ ๊ฒ์ ์ต๋ํ ์ค์ด๊ธฐ. ์ค๋ณต๋๋ ์ฝ๋๋ฅผ ์ค์ด๊ธฐ โ ๊ฒฐ๋ก ์ ์ผ๋ก ๋งํ์๋ฉด..๋ฐ ์ฑ๊ณต โฆ