๐Ÿƒ๐ŸปUndefinedP.log

Written by@UndefinedP
๊ธฐ๋ก์„ ์ž˜ ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ  ์‹ถ์–ด์š”

GitHub

[PostgreSQL]column must appear in the GROUP BY clause or be used in an aggregate function

์Š‰.์Šˆ์Š‰.๋‚ด.๋‚ดํ•œํ…Œ.์™œ.์ด๋Ÿฌ๋Š”.๋ฐ. ์Œ~^^ ๊ทธ๋Ÿด ์ค„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค~^^ ๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์„ ์ •๋„๋กœ ์ •๋ง ์ •๋ง ๋งŽ์ด ๋ณด๋Š” ์—๋Ÿฌ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด ์—๋Ÿฌ ๋„๋Œ€์ฒด ์™œ ๋ฐœ์ƒํ•˜๋Š”๊ฑธ๊นŒ?! GROUP BY GROUP BY๋Š” ๊ฐ™์€ ๊ฐ’์„ ๊ฐ€์ง„ ํ–‰๋ผ๋ฆฌ ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์œผ๋กœ ๋ญ‰์ถฐ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์•„๋ž˜์˜ ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉด ๋” ๋น ๋ฅด๊ฒŒ ์ดํ•ด๊ฐ€ ๊ฐˆ ๊ฒƒ์ด๋‹ค. group by ์ด๋Š” Employee๋ผโ€ฆ

node-schedule์„ ์ด์šฉํ•ด์„œ ํŠน์ •์‹œ๊ฐ„์— ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ

node-schedule์€ ํ˜•์‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ rule์„ ์„ค์ •ํ•ด์„œ, ํ•ด๋‹นํ•˜๋Š” ์‹œ๊ฐ„์— ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌ๋™๋œ๋‹ค. Cron์ด๋ž€? ์ปดํ“จํ„ฐ ์šด์˜์ฒด์ œ์—์„œ ์‹œ๊ฐ„ ๊ธฐ๋ฐ˜์œผ๋กœ job-scheule์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๋งํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์Šค์ผ€์ค„๋ง ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์‚ฌ์šฉ๋˜๋Š” ํ‘œํ˜„์‹์„ ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์‚ฌ์šฉํ•˜๊ธฐ์ „์— ์ž ๊น! [๊ณต์‹๋ฌธ์„œ] Node Schedule์€ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋™์ž‘โ€ฆ

[PostgreSQL]MacOS์—์„œ PostgreSQL ์„ค์น˜ / ์œ ์ € & ๋””๋น„์„ค์ • / DBeaver ์—ฐ๋™๊นŒ์ง€ ๊ฐ€๋ณด์ž๊ณ (1)

macOS๊ธฐ๋ฐ˜์—์„œ PostgreSQL์„ ์„ค์น˜ํ•˜๊ณ , db๊ด€๋ฆฌํˆด์ธ dbeaver๊ณผ ์—ฐ๋™๊นŒ์ง€ ํ•ด๋ณด์ž! ์ฒ˜์Œ์œผ๋กœ ๋งฅ์—์„œ postgrSQL ์„ธํŒ…ํ•˜๋ฉด์„œ ์žˆ์—ˆ๋˜ ์šฐ๋‹นํƒ•ํƒ•์–ผ๋ ˆ๋ฒŒ๋ ˆ ์–ด ์™œ ์•ˆ๋ผ???? ๋‘๋ฒˆ์€ ๊ฒช๊ธฐ ์‹ซ์–ด์„œ ์ •๋ฆฌํ•˜๊ธฐ 1. postgreSQL ์„ค์น˜ ์„ค์น˜ ์„œ๋น„์Šค ์‹œ์ž‘ ๋ฒ„์ „ ํ™•์ธ ์ด๋Ÿฐ์‹์œผ๋กœ ๋ฒ„์ „์ด ์ž˜ ํ™•์ธ๋˜๋ฉด ์„ค์น˜๋Š” ๋๋‚ฌ๋‹ค! 2. postgreSQL ์„ค์ • ๋†€๋ž๊ฒŒ๋„โ€ฆ

[Javascript] ๐Ÿ’ต์ˆซ์ž ์ฒœ๋‹จ์œ„๋งˆ๋‹ค ์ฝค๋งˆ์ฐ๊ธฐ(ํ™”ํ๋‹จ์œ„)

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ฒœ๋‹จ์œ„๋งˆ๋‹ค ์ฝค๋งˆ๋ฅผ ์ฐ๋Š” ์„ธ๊ฐ€์ง€ ๋ฐฉ๋ฒ•! 1. ์ •๊ทœ์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ 2. .toLocaleString() ์‚ฌ์šฉํ•˜๊ธฐ Number์ด์™ธ์—๋„ ๊ฐ์ฑ„๋‚˜ ๋‚ ์งœ, ๋ฐฐ์—ด์—๋„ ์ ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋ž€ ํŠน์ • ์ž๋ฃŒ๊ฐ€ ๋“ค์–ด์™”์„ ๋•Œ ์„ค์ •ํ•ด๋†“์€ ์ง€์—ญ์—์„œ ์ฝ๋Š” ํ˜•ํƒœ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค. ๋‚ด๊ฐ€ currency type์„ ์ผ๋ณธ์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ํ‘œ๊ธฐ๊ฐ€ ์—”ํ™”๋กœ ์ž๋™์ ์œผ๋กœ ๋ฐ”๋€Œ๋Š” ์‹์ด๋‹ค. โ€ฆ

[PostgreSQL]COALESCE ํ•จ์ˆ˜

๋ฌธ๋ฒ• COALESCE(์ปฌ๋Ÿผ, ๋Œ€์ฒด๊ฐ’1โ€ฆ๋Œ€์ฒด๊ฐ’n) ๐Ÿ‘‰ ์ปฌ๋Ÿผ์ด null์ธ ๊ฒฝ์šฐ์— ๋Œ€์ฒด๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜ ๋Œ€์ฒด๊ฐ’์ด null์ด ์•„๋‹Œ ๊ฐ’์ด ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ ๋Œ€์ฒด๊ฐ’์„ ๋ถˆ๋Ÿฌ์˜จ๋‹ค. ํ™œ์šฉ price seat 100000 50 55000 null 80000 279 ์—ฌ๊ธฐ์„œ ์™€ ๋ฅผ ๊ณฑํ•œ ๊ฐ’์„ ์ด๋ผ๊ณ  ํ•  ๋•Œ, null์ด ์žˆ์œผ๋ฉด ๊ฐ’๋„ null์ด ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์— ์ € ๊ฐ’์„ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ์น˜ํ™˜ํ•ด์•ผํ•œโ€ฆ

[๋ฐฑ์ค€ 10171]๊ณ ์–‘์ด

๐Ÿฑ ๋ฌธ์ œ ๋งํฌ ๊ณ ์–‘์ด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค ํ’€์ด ๊ณ ์–‘์ด ๊ท€์—ฌ์›Œ. ์ € ๋ชจ์–‘๋Œ€๋กœ ์ฝ˜์†”๋กœ ์ฐ์–ด์ฃผ๋ฉด ๋œ๋‹ค. ๊ทธ๋Œ€์‹ ์— ์•ž์— ์—ญ์Šฌ๋ž˜์‹œ๋ฅผ ํ•œ๋ฒˆ ๋” ์ถ”๊ฐ€ํ•ด์•ผํ•œ๋‹ค!

๋กœ๋˜์˜ ์ตœ๊ณ  ์ˆœ์œ„์™€ ์ตœ์ € ์ˆœ์œ„

๐Ÿ”ฎ ๋ฌธ์ œ ๋งํฌ ๋กœ๋˜ 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๋ฅผ ์ด์šฉํ•ด์„œ CI/CD๋ฅผ ๊ตฌ์ถ•ํ•ด๋ณด์ž!

GitHub Actions ๋ธ”๋กœ๊ทธ๋ฅผ ์ƒˆ๋กœ ํŒŒ์„œ ๊ธ€์„ ์ž‘์„ฑ์„ ํ•˜๋ฉด์„œ ์•„์ฃผ ์น˜๋ช…์ ์œผ๋กœ ๊ท€์ฐฎ์€ ๋ฌธ์ œ๊ฐ€ ํ•˜๋‚˜ ์ƒ๊ฒผ๋‹ค. ๋ฐ”๋กœ !! ํฌ์ŠคํŒ…์„ ํ•˜๋‚˜ ์“ธ ๋•Œ๋งˆ๋‹ค ์ผ์ผํžˆ ๋ฐฐํฌ๋ฅผ ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์น˜๋Š” ๊ฒƒ์ด ๋„ˆ๋ฌด ๊ท€์ฐฎ์•˜๋˜ ๋‚˜๋Š” ์ž๋™ํ™”์˜ ๊ฐ„์ ˆํ•จ์„ ๋Š๋‚€๋‹ค. ๊ตฌ๊ธ€์—์„œ ์—ด์‹ฌํžˆ ์„œ์น˜๋ฅผ ํ•œ ๊ฒฐ๊ณผ ์™€ ์ด๋ผ๋Š” ํˆด์„ ๋ฐœ๊ฒฌํ–ˆ๊ณ  โ€ฆ ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ๊ฒฐ๊ตญ ๋ผ๋Š” ๋ฐฉ๋ฒ•์„ ์ฑ„ํƒํ•˜๊ธฐ๋กœ ๊ฒฐ์‹ฌ์„ ํ•˜๋Š”๋ฐ โ€ฆ๋”๋ณด๊ธฐ โ€ฆ

โœ๏ธBASENOTE ํ”„๋กœ์ ํŠธ ํšŒ๊ณ  ver.2

์ด์ „์— ํ–ˆ๋˜ BASENOTE ํ”„๋กœ์ ํŠธ์—์„œ ๊ตฌํ˜„ํ•˜์ง€ ๋ชปํ–ˆ๋˜ ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ์„ ์‹œ๊ฐ„์ด ๋‚˜๋Š” ๊น€์— ํ•œ๋ฒˆ ๊ตฌํ˜„์„ ํ•ด๋ณด์ž๊ณ  ๊ฒฐ์‹ฌ์„ ํ–ˆ๋‹ค. (์ฐธ๊ณ ๋กœ ์ด๊ฑด BASENOTE ํ”„๋กœ์ ํŠธ ์ดํ›„์— ์ž‘์„ฑํ•œ ํšŒ๊ณ ๋ก><) โšก๏ธ GITHUB โ—๏ธ์ด๋ฒˆ์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ๊ณ ๋ คํ•œ ๊ฒƒ ์ด์ „์— ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ๊ฐˆ์•„์—Ž๋Š” ๊ฒƒ์„ ์ตœ๋Œ€ํ•œ ์ค„์ด๊ธฐ. ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์ค„์ด๊ธฐ โ†’ ๊ฒฐ๋ก ์ ์œผ๋กœ ๋งํ•˜์ž๋ฉด..๋ฐ˜ ์„ฑ๊ณต โ€ฆ