it + it ops db design ๐ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๊ฐ๋ & ERD ๋ค์ด์ด๊ทธ๋จ ์์ฑ ๐ฏ ์ด์ ๋ฆฌ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์ด๋? ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ด๋ ์ ๋ณด์์คํ ๊ตฌ์ถ์ ๋์์ด ๋๋ ์ ๋ฌด ๋ด์ฉ์ ๋ถ์ํ์ฌ ์ดํดํ๊ณ ์ฝ์๋ ํ๊ธฐ๋ฒ์ ์ํด ํํํ๋๊ฑธ ์๋ฏธํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ๋ถ์๋ ๋ชจ๋ธ์ ๊ฐ์ง๊ณ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ์ฌ ๊ฐ๋ฐ ๋ฐ ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ์ฌ์ฉ๋๋ค. ํนํ ๋ฐ์ดํฐ๋ฅผ ์ถ์ํํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ณจ๊ฒฉ์ ์ดํดํ๊ณ ๊ทธ ์ดํด๋ฅผ ๋ฐํ์ผ๋ก SQL๋ฌธ์ฅ์ ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ์ ์ธ ์ธก๋ฉด์์ ํจ์จ์ ์ผ๋ก ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์, ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ํต์ฌ ๊ณผ์ ์ด๊ธฐ๋ ํ๋ค. ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์์ ์ ์ฐจ 1. ์ ๋ฌด ํ์ (์๊ตฌ์ฌํญ ์์ง ๋ฐ ๋ถ์) ์ ๋ฌด ํ์ ์ ์ด๋ ํ ์ ๋ฌด๋ฅผ ์์ํ๊ธฐ ์ ์ ํด๋นํ๋ ์ ๋ฌด์ ๋ํด์ ํ์ ํ๋ ๋จ๊ณ ์ด๋ค. ๋ชจ๋ธ๋ง์ ์์ ๊ฐ์ฅ ๋จผ์ ํด์ผ ํ ๊ฒ์ ์ด๋ ํ ์ ๋ฌด๋ฅผ ๋ฐ์ดํฐํํ์ฌ ๋ชจ๋ธ๋ง ํ ๊ฒ์ธ์ง์ ๋ํ ์๊ตฌ์ฌ.. wono | discuss | tweet + it ops db design [DB] DB ์ค๊ณ ๊ณผ์ DB ์ค๊ณ ์์1๏ธโฃย ์๊ตฌ์ฌํญ ์์ง ๋ถ์์ค์ ์ธ๊ณ์์ ์ด๋ค ์์คํ ์ ๊ตฌ์ถํ ๊ฒ์ธ์ง์ ๋ํ ์๊ตฌ์ฌํญ ์์ง์๊ตฌ์ฌํญ์ ๋ํด ์ด๋ค ๋ฐ์ดํฐ๋ค์ด ํ์ํ์ง, ์ด๋ค ๊ธฐ๋ฅ๋ค์ด ํ์ํ์ง ๋ถ์2๏ธโฃย ๊ฐ๋ ์ ์ค๊ณํต์ฌ Entity ๋์ถERD ์์ฑ3๏ธโฃย ๋ ผ๋ฆฌ์ ์ค๊ณERD-RDB ๋ชจ๋ธ์ ํตํด ๊ฐ wono | discuss | tweet + it ops db postgresql PostgreSQL ์ฌ์ฉ ์ ๋์ ๋๋ ํจํด๋ค | GeekNewsPostgres๋ฅผ ๋ ์์ฐ์ ์ด๊ณ ์์ ํ๊ฒ ์ฌ์ฉํ๋ ๋ฐ ๋์์ด ๋๋ ์ค์ฉ์ ์ธ ํจํด๋ค์ ์ ๋ฆฌํ ๊ธ๊ฐ ํจํด์ ์์ง๋ง ๋์ ๋๋ฉด ํฐ ์ฐจ์ด๋ฅผ ๋ง๋ค์ด๋UUID ๊ธฐ๋ณธ ํค ์ฌ์ฉUUID๋ ๋ฌด์์์ด๊ธฐ ๋๋ฌธ์ ์ ๋ ฌ์ด๋ ์ธ๋ฑ์ค ์ฑ๋ฅ ๋ฉด์์ ๋จ์ ์ด ์์์ซ์ ID๋ณด๋ค ๊ณต๊ฐ์ ๋ ๋ง์ด ์ฐจ์งํจํ์ง๋ง ๋ค์๊ณผ ๊ฐ์ ์ฅ์ ์ด ์์DB์ ์ฐ๊ฒฐํ์ง ์๊ณ ๋ UUID๋ฅผ ์์ฑํ ์ ์์์ธ๋ถ์ ์์ ํ๊ฒ wono | discuss | tweet + it ops dbeaver postgresql How Can I sort the column names , I am using Postgres and Deaver Enterprise 7.3.0. ยท dbeaver ยท Discussion #10670How Can I sort the column names , I am using Postgres and Deaver Enterprise 7.3.0. wono | discuss | tweet + it ops db design history trigger [PostgreSQL] trigger ์ฌ์ฉํ๊ธฐ (history table ๋ง๋ค๊ธฐ)์ฐธ๊ณ ์ฌ์ดํธ https://www.postgresql.org/docs/current/sql-createtrigger.html ์ผ๋ง ์ ์ ํน์ table์ ๋ํ ๋ณ๊ฒฝ ์ด๋ ฅ์ ์ ์ฅํด์ผ ํ๋ ์์ ์ ์งํํ๋ฉด์ trigger๋ฅผ ์ฒ์ ์ฌ์ฉํ ๋ณด์๋ค. (A table์์ ๋ฐ์ํ๋ insert, update row๋ฅผ B table์ ์ถ๊ฐ) ์ ์ฉํด์ผ ํ๋ ์กฐ๊ฑด์ด ๊ฐ๋จํด์ trigger ์ ์ฉ๋ ๊ฐ๋จํ๊ฒ ํ ์ ์์๋ค. trigger ์์ฑ์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ธํ๋ค. create trigger save_history after insert or update on A for each row execute procedure trigger_upsert_data(); - trigger ์ด๋ฆ์ save_history๋ก ์ ์ธ - ins.. wono | discuss | tweet + it ops db design history trigger ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ด๋ ฅ ๊ธฐ๋ก ๋ฐ ํจ์จ์ ์ธ ํ์คํ ๋ฆฌ ์ถ์ ๊ด๋ฆฌ ์ ๋ต๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ณ๊ฒฝ๋ ์ฌํญ๋ง ํ์ธํ๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ์ผ๋ฐ์ ์ธ RDBMS์์๋ ์ด๋ฌํ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์์ง๋ง, ํน์ ํ ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ๋ฒ์ด ํ์ํ ์๋ ์์ต๋๋ค.ํธ๋ฆฌ๊ฑฐ(Trigger): ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํธ๋ฆฌ๊ฑฐ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ ๋ก๊ทธ ํ ์ด๋ธ์ ๊ธฐ๋ก์ ๋จ๊ธฐ๋๋ก ์ค์ ํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ณ๊ฒฝ ์ฌํญ์ ์ฝ๊ฒ ์ถ์ ํ ์ ์์ต๋๋ค.๋ณ๊ฒฝ ๋ฐ์ดํฐ ์บก์ฒ(Change Data Capture, CDC): ๋ง์ RDBMS๊ฐ CDC ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ํ ์ด๋ธ์ ๋ณ๊ฒฝ ์ฌํญ์ ์บก์ฒํ๊ณ ์ด๋ฅผ ๋ณ๋์ ํ ์ด๋ธ์ด๋ ๋ก๊ทธ๋ก ๊ธฐ๋กํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ง ์ถ์ถํ ์ ์์ต๋๋ค.ํ์์คํฌํ ํ๋ ์ฌ์ฉ: ํ ์ด๋ธ์ 'last_updated'์ ๊ฐ์ ํ์์คํฌํ ํ๋๋ฅผ ์ถ๊ฐํ์ฌ ๋ ์ฝ๋.. wono | discuss | tweet + it ops db design history trigger [ORACLE] ํธ๋ฆฌ๊ฑฐ(Trigger)๋ฅผ ์ด์ฉํ ํ ์ด๋ธ ์์ ์ด๋ ฅ ๊ด๋ฆฌ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ ์ด๋ ฅ์ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋งค์ฐ ์ค์ํ๋ค.์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฑฐ๋ ์ญ์ ํ๋ ๊ฒฝ์ฐ, ๊ทธ ๋ด์ญ์ ์ ์ฅํ์ฌ ์ถํ์ ์ด๋ค ๋ณ๊ฒฝ์ด ์์๋์ง ์ถ์ ํ ์ ์์ด์ผ ํ๋ค.์ด๋ฅผ ์ํด Oracle์์๋ ํธ๋ฆฌ๊ฑฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ์ ์์ ์ด๋ ฅ์ ๊ด๋ฆฌํ ์ ์๋ค.์ด๋ฒ ํฌ์คํ ์์๋ ํธ๋ฆฌ๊ฑฐ๋ฅผ ์ด์ฉํ์ฌ ์์ ์ด๋ ฅ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์.ย 1. ์ฌ์ฉ์ ์์ ํ ์ด๋ธ ์์ฑ๋จผ์ ์ฌ์ฉ์๊ฐ ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ (insert), ์์ (update), ์ญ์ (delete)ํ ์ ์๋ ํ ์ด๋ธ์ ์์ฑํ๋ค.์๋ฅผ ๋ค์ด, users ํ ์ด๋ธ์ด๋ผ๊ณ ๊ฐ์ ํ์ฌ ์์ฑํด ๋ณด์.(์ค์ ์ด์ ํ ์ด๋ธ์ ์์์๋ ๋น๊ต๋ ์๋ ์ ๋๋ก ๋ณต์กํ ํ ๋ฐ, ์์๋๊น^^. ์ฐธ์กฐ๋ง ๋ถํ๋๋ฆฝ๋๋ค)CREATE TABLE users ( id NUMBER PRIMAR.. wono | discuss | tweet + it ops db design history [๋๋น] ์ถ์ ๊ฐ๋ฅํ ํ ์ด๋ธ ์ค๊ณ : ๋ค์ด๋ฒ ๋ธ๋ก๊ทธ wono | discuss | tweet + it ops db design history ๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋ ธํธ : 06 ์ด๋ ฅ ๋ฐ์ดํฐ ์ด์ผ๊ธฐChapter 6 : ์ด๋ ฅ ๋ฐ์ดํฐ ์ด์ผ๊ธฐ wono | discuss | tweet + it ops db design history '์ด๋ ฅ ์ํฐํฐ๋ฅผ ์ค๊ณํ๋ 10๊ฐ์ง ๋ฐฉ๋ฒ'์ ๊ฒ์๊ฒฐ๊ณผ wono | discuss | tweet + it ops db history ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ํ์คํ ๋ฆฌ ํ ์ด๋ธ์ ์ค์์ฑ์ด ๊ธ์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ์ค์์ฑ๊ณผ ํ์คํ ๋ฆฌ ํ ์ด๋ธ์ ํ์์ฑ, ์ค๊ณ ์ ๊ณ ๋ ค์ฌํญ, ๊ตฌํ ์์, ์ฅ๋จ์ ์ ๋ํด ์ค๋ช ํฉ๋๋ค. wono | discuss | tweet + it blog [๋ฒ์ญ] ์ต์ ์ ๊ฐ๋ฐ์Alexander Mikhailian์ ๊ธ "The Worst Kind of Programmer"๋ฅผ ๋ฒ์ญํ ๊ธ์ ๋๋ค.25๋ ๊ฐ์ ๊ฐ๋ฐ์๋ก ์ผํ๋ฉด์ ์ ๊ณ์์ ๋ฐ์ํ๋ ๋ง์ ๋ฌธ์ ๊ฐ ํน์ ๊ฐ๋ฐ์๋ก๋ถํฐ ๋ฐ์ํ๋ค๋ ๊ฒ์ ์๊ฒ ๋๋ค. ์ง๊ธ๋ถํฐ ๋ ๋ช ์ ๊ฐ๋ฐ์๋ก ์ธํด ๋ถ๊ดด๋ ๋ปํ wono | discuss | tweet + it ops aws rds RDS Free Tier ChargeI set up my account this week, and after setting up a VPC I created an RDS instance using free tier specifications. Despite being in free tier it's still saying I will be charged "$0.115 per GB-mo... wono | discuss | tweet + it dev mdn web mime ์ผ๋ฐ MIME ํ์ - HTTP | MDN๋ค์์ ์ผ๋ฐ์ ์ธ ํ์ฅ์๋ก ์ ๋ ฌ๋, ๋ฌธ์ ํ์ ๊ณผ ๊ด๋ จ๋ MIME ํ์ ์ ํฌ๊ด์ ์ธ ๋ชฉ๋ก์ ๋๋ค. wono | discuss | tweet + it dev javascript mime ํ์ผํ์ฅ์ ์ฒดํฌ MINE ํ์ MIME ํ์ (MIME type, Multipurpose Internet Mail Extensions type) ์ ์ฝ์๋ก ์ธํฐ๋ท์์ ์ ์ก๋๋ ํ์ผ์ ํ์์ ์๋ณํ๊ธฐ ์ํ ์๋ณ์์ด๋ค. ํ์ผ ์ ๋ก๋์ ํ์ผ ํ์ฅ์๋ก ์ฒดํฌ ํ๊ธฐ๋ ํ๊ณ MIME ํ์ ์ผ๋ก ํ์ผ ํ์ฅ์๋ฅผ ์ฒดํฌ ํด์ ์ ๋ ฅ ๋ฐ์์ผํ ํ์ผ ํ์ ์ ํ๋ฒ ๋ ๊ฑธ๋ฌ ์ค๋ค. ์๋๋ ํ์ผ ํ์ฅ์์ ๋ํ MIME ํ์ ๊ณผ javascript ์์ ์ฒดํฌ ํ๋ ๋ก์ง์ ์์ ๋ก ๋ณด์ฌ ์ฃผ๊ณ ์๋ค. pdf ํ์ผ 'application/pdf' excel ํ์ผ .xls ํ์ผ 'application/vnd.ms-excel' .xlsx ํ์ผ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' hwp ํ๊ธ ํ์ผ.. wono | discuss | tweet + it dev nextjs swr ๋ฆฌ์กํธ์์ ๋ฐ๋ณต์ ์ธ useEffect ๋์ SWR ์ฌ์ฉํ๊ธฐ | ์์ฆIT์ด๋ฒ ๊ธ์์๋ useEffect ๋ฐฉ์์ ํ๊ณ๋ฅผ ์ดํด๋ณด๊ณ , SWR์ด ์ด๋ค ๋ฐฉ์์ผ๋ก ์ด๋ฅผ ๋ณด์ํ ์ ์๋์ง ์์๋ณด๊ณ ์ ํ๋ค. wono | discuss | tweet + it dev nextjs fullcalendar next_uishadcn_full_schedule_calendar wono | discuss | tweet + it dev nextjs fullcalendar [blocks]: Full calendar ยท shadcn-ui/ui ยท Discussion #3214[blocks]: Full calendar wono | discuss | tweet + it dev nextjs fullcalendar ์๊ฐ ๋ฌ๋ ฅ ์ถ๋ ฅํ๊ธฐ (FullCalendar / Shadcn)FullCalendarFullCalendar: ๋ณต์กํ ์ผ์ ๊ด๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ (์: ํ์ฌ ์ผ์ ๊ด๋ฆฌ, ์์ฝ ์์คํ )์ฅ์ ๋จ์ ์/์ฃผ/์ผ ๋ฑ ๋ค์ํ ๋ทฐ ์ ๊ณต์ด๋ฒคํธ ํ์ ๋ฐ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ด ํ๋ถ์๊ฐ๋๋ณ ์ผ์ ๊ด๋ฆฌ ๊ฐ๋ฅ๋๋๊ทธ ์ค ๋๋กญ์ผ๋ก ์ผ์ ์ด๋ ๊ฐ๋ฅ๋ฒ๋ค ์ฌ์ด์ฆ๊ฐ ํผ์ด๊ธฐ ์ค์ ์ด ๋ณต์กํ ์ ์์์คํ์ผ๋ง ์ปค์คํฐ๋ง์ด์ง์ด ๊น๋ค๋ก์๋ฌด๋ฃ ๋ฒ์ ๊ณผ ํ๋ก ๋ฒ์ ์ ๊ธฐ๋ฅ ์ฐจ์ดย 1. FullCalendar ๊ด๋ จ ์ข ์์ฑ ์ค์น ๋ช ๋ น์ดyarn add @fullcalendar/core @fullcalendar/react @fullcalendar/daygridย @fullcalendar/coreFullCalendar์ ํต์ฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ํจํค์งCalendarย ํด๋์ค์ ๊ฐ์ ํต์ฌ ๊ธฐ๋ฅ์ ํฌํจํ๊ณ ์์ด ์บ๋ฆฐ๋๋ฅผ ์์ฑํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ํ์์ .. wono | discuss | tweet + it dev nextjs Next.js์ ๋ฐ๊ฒฌ๋ ์น๋ช ์ ์ทจ์ฝ์ , ๊ณต๊ฒฉ์ ์ธ์ฆ ์ฐํ ๊ฐ๋ฅ์ฑ ์ ๊ธฐ์คํ์์ค ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ์ธ Next.js์์ ๋ฐ๊ฒฌ๋ ์น๋ช ์ ์ธ ์ทจ์ฝ์ (CVE-2025-29927)์ ์ ์ฉ, ๊ณต๊ฒฉ์๊ฐ ๋ฏธ๋ค์จ์ด ๊ธฐ๋ฐ์ ์ธ์ฆ์ ์ฐํํ๊ณ ์์คํ ์ ์ ๊ทผํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ด ์ ๊ธฐ๋๋ค. wono | discuss | tweetNext
+ it ops db design ๐ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๊ฐ๋ & ERD ๋ค์ด์ด๊ทธ๋จ ์์ฑ ๐ฏ ์ด์ ๋ฆฌ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์ด๋? ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ด๋ ์ ๋ณด์์คํ ๊ตฌ์ถ์ ๋์์ด ๋๋ ์ ๋ฌด ๋ด์ฉ์ ๋ถ์ํ์ฌ ์ดํดํ๊ณ ์ฝ์๋ ํ๊ธฐ๋ฒ์ ์ํด ํํํ๋๊ฑธ ์๋ฏธํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ๋ถ์๋ ๋ชจ๋ธ์ ๊ฐ์ง๊ณ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ์ฌ ๊ฐ๋ฐ ๋ฐ ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ์ฌ์ฉ๋๋ค. ํนํ ๋ฐ์ดํฐ๋ฅผ ์ถ์ํํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ณจ๊ฒฉ์ ์ดํดํ๊ณ ๊ทธ ์ดํด๋ฅผ ๋ฐํ์ผ๋ก SQL๋ฌธ์ฅ์ ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ์ ์ธ ์ธก๋ฉด์์ ํจ์จ์ ์ผ๋ก ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์, ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ํต์ฌ ๊ณผ์ ์ด๊ธฐ๋ ํ๋ค. ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์์ ์ ์ฐจ 1. ์ ๋ฌด ํ์ (์๊ตฌ์ฌํญ ์์ง ๋ฐ ๋ถ์) ์ ๋ฌด ํ์ ์ ์ด๋ ํ ์ ๋ฌด๋ฅผ ์์ํ๊ธฐ ์ ์ ํด๋นํ๋ ์ ๋ฌด์ ๋ํด์ ํ์ ํ๋ ๋จ๊ณ ์ด๋ค. ๋ชจ๋ธ๋ง์ ์์ ๊ฐ์ฅ ๋จผ์ ํด์ผ ํ ๊ฒ์ ์ด๋ ํ ์ ๋ฌด๋ฅผ ๋ฐ์ดํฐํํ์ฌ ๋ชจ๋ธ๋ง ํ ๊ฒ์ธ์ง์ ๋ํ ์๊ตฌ์ฌ.. wono | discuss | tweet
+ it ops db design [DB] DB ์ค๊ณ ๊ณผ์ DB ์ค๊ณ ์์1๏ธโฃย ์๊ตฌ์ฌํญ ์์ง ๋ถ์์ค์ ์ธ๊ณ์์ ์ด๋ค ์์คํ ์ ๊ตฌ์ถํ ๊ฒ์ธ์ง์ ๋ํ ์๊ตฌ์ฌํญ ์์ง์๊ตฌ์ฌํญ์ ๋ํด ์ด๋ค ๋ฐ์ดํฐ๋ค์ด ํ์ํ์ง, ์ด๋ค ๊ธฐ๋ฅ๋ค์ด ํ์ํ์ง ๋ถ์2๏ธโฃย ๊ฐ๋ ์ ์ค๊ณํต์ฌ Entity ๋์ถERD ์์ฑ3๏ธโฃย ๋ ผ๋ฆฌ์ ์ค๊ณERD-RDB ๋ชจ๋ธ์ ํตํด ๊ฐ wono | discuss | tweet
+ it ops db postgresql PostgreSQL ์ฌ์ฉ ์ ๋์ ๋๋ ํจํด๋ค | GeekNewsPostgres๋ฅผ ๋ ์์ฐ์ ์ด๊ณ ์์ ํ๊ฒ ์ฌ์ฉํ๋ ๋ฐ ๋์์ด ๋๋ ์ค์ฉ์ ์ธ ํจํด๋ค์ ์ ๋ฆฌํ ๊ธ๊ฐ ํจํด์ ์์ง๋ง ๋์ ๋๋ฉด ํฐ ์ฐจ์ด๋ฅผ ๋ง๋ค์ด๋UUID ๊ธฐ๋ณธ ํค ์ฌ์ฉUUID๋ ๋ฌด์์์ด๊ธฐ ๋๋ฌธ์ ์ ๋ ฌ์ด๋ ์ธ๋ฑ์ค ์ฑ๋ฅ ๋ฉด์์ ๋จ์ ์ด ์์์ซ์ ID๋ณด๋ค ๊ณต๊ฐ์ ๋ ๋ง์ด ์ฐจ์งํจํ์ง๋ง ๋ค์๊ณผ ๊ฐ์ ์ฅ์ ์ด ์์DB์ ์ฐ๊ฒฐํ์ง ์๊ณ ๋ UUID๋ฅผ ์์ฑํ ์ ์์์ธ๋ถ์ ์์ ํ๊ฒ wono | discuss | tweet
+ it ops dbeaver postgresql How Can I sort the column names , I am using Postgres and Deaver Enterprise 7.3.0. ยท dbeaver ยท Discussion #10670How Can I sort the column names , I am using Postgres and Deaver Enterprise 7.3.0. wono | discuss | tweet
+ it ops db design history trigger [PostgreSQL] trigger ์ฌ์ฉํ๊ธฐ (history table ๋ง๋ค๊ธฐ)์ฐธ๊ณ ์ฌ์ดํธ https://www.postgresql.org/docs/current/sql-createtrigger.html ์ผ๋ง ์ ์ ํน์ table์ ๋ํ ๋ณ๊ฒฝ ์ด๋ ฅ์ ์ ์ฅํด์ผ ํ๋ ์์ ์ ์งํํ๋ฉด์ trigger๋ฅผ ์ฒ์ ์ฌ์ฉํ ๋ณด์๋ค. (A table์์ ๋ฐ์ํ๋ insert, update row๋ฅผ B table์ ์ถ๊ฐ) ์ ์ฉํด์ผ ํ๋ ์กฐ๊ฑด์ด ๊ฐ๋จํด์ trigger ์ ์ฉ๋ ๊ฐ๋จํ๊ฒ ํ ์ ์์๋ค. trigger ์์ฑ์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ธํ๋ค. create trigger save_history after insert or update on A for each row execute procedure trigger_upsert_data(); - trigger ์ด๋ฆ์ save_history๋ก ์ ์ธ - ins.. wono | discuss | tweet
+ it ops db design history trigger ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ด๋ ฅ ๊ธฐ๋ก ๋ฐ ํจ์จ์ ์ธ ํ์คํ ๋ฆฌ ์ถ์ ๊ด๋ฆฌ ์ ๋ต๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ณ๊ฒฝ๋ ์ฌํญ๋ง ํ์ธํ๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ์ผ๋ฐ์ ์ธ RDBMS์์๋ ์ด๋ฌํ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์์ง๋ง, ํน์ ํ ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ๋ฒ์ด ํ์ํ ์๋ ์์ต๋๋ค.ํธ๋ฆฌ๊ฑฐ(Trigger): ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํธ๋ฆฌ๊ฑฐ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ ๋ก๊ทธ ํ ์ด๋ธ์ ๊ธฐ๋ก์ ๋จ๊ธฐ๋๋ก ์ค์ ํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ณ๊ฒฝ ์ฌํญ์ ์ฝ๊ฒ ์ถ์ ํ ์ ์์ต๋๋ค.๋ณ๊ฒฝ ๋ฐ์ดํฐ ์บก์ฒ(Change Data Capture, CDC): ๋ง์ RDBMS๊ฐ CDC ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ํ ์ด๋ธ์ ๋ณ๊ฒฝ ์ฌํญ์ ์บก์ฒํ๊ณ ์ด๋ฅผ ๋ณ๋์ ํ ์ด๋ธ์ด๋ ๋ก๊ทธ๋ก ๊ธฐ๋กํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ง ์ถ์ถํ ์ ์์ต๋๋ค.ํ์์คํฌํ ํ๋ ์ฌ์ฉ: ํ ์ด๋ธ์ 'last_updated'์ ๊ฐ์ ํ์์คํฌํ ํ๋๋ฅผ ์ถ๊ฐํ์ฌ ๋ ์ฝ๋.. wono | discuss | tweet
+ it ops db design history trigger [ORACLE] ํธ๋ฆฌ๊ฑฐ(Trigger)๋ฅผ ์ด์ฉํ ํ ์ด๋ธ ์์ ์ด๋ ฅ ๊ด๋ฆฌ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ ์ด๋ ฅ์ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋งค์ฐ ์ค์ํ๋ค.์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฑฐ๋ ์ญ์ ํ๋ ๊ฒฝ์ฐ, ๊ทธ ๋ด์ญ์ ์ ์ฅํ์ฌ ์ถํ์ ์ด๋ค ๋ณ๊ฒฝ์ด ์์๋์ง ์ถ์ ํ ์ ์์ด์ผ ํ๋ค.์ด๋ฅผ ์ํด Oracle์์๋ ํธ๋ฆฌ๊ฑฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ์ ์์ ์ด๋ ฅ์ ๊ด๋ฆฌํ ์ ์๋ค.์ด๋ฒ ํฌ์คํ ์์๋ ํธ๋ฆฌ๊ฑฐ๋ฅผ ์ด์ฉํ์ฌ ์์ ์ด๋ ฅ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์.ย 1. ์ฌ์ฉ์ ์์ ํ ์ด๋ธ ์์ฑ๋จผ์ ์ฌ์ฉ์๊ฐ ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ (insert), ์์ (update), ์ญ์ (delete)ํ ์ ์๋ ํ ์ด๋ธ์ ์์ฑํ๋ค.์๋ฅผ ๋ค์ด, users ํ ์ด๋ธ์ด๋ผ๊ณ ๊ฐ์ ํ์ฌ ์์ฑํด ๋ณด์.(์ค์ ์ด์ ํ ์ด๋ธ์ ์์์๋ ๋น๊ต๋ ์๋ ์ ๋๋ก ๋ณต์กํ ํ ๋ฐ, ์์๋๊น^^. ์ฐธ์กฐ๋ง ๋ถํ๋๋ฆฝ๋๋ค)CREATE TABLE users ( id NUMBER PRIMAR.. wono | discuss | tweet
+ it ops db design history [๋๋น] ์ถ์ ๊ฐ๋ฅํ ํ ์ด๋ธ ์ค๊ณ : ๋ค์ด๋ฒ ๋ธ๋ก๊ทธ wono | discuss | tweet
+ it ops db design history ๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋ ธํธ : 06 ์ด๋ ฅ ๋ฐ์ดํฐ ์ด์ผ๊ธฐChapter 6 : ์ด๋ ฅ ๋ฐ์ดํฐ ์ด์ผ๊ธฐ wono | discuss | tweet
+ it ops db design history '์ด๋ ฅ ์ํฐํฐ๋ฅผ ์ค๊ณํ๋ 10๊ฐ์ง ๋ฐฉ๋ฒ'์ ๊ฒ์๊ฒฐ๊ณผ wono | discuss | tweet
+ it ops db history ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ํ์คํ ๋ฆฌ ํ ์ด๋ธ์ ์ค์์ฑ์ด ๊ธ์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ์ค์์ฑ๊ณผ ํ์คํ ๋ฆฌ ํ ์ด๋ธ์ ํ์์ฑ, ์ค๊ณ ์ ๊ณ ๋ ค์ฌํญ, ๊ตฌํ ์์, ์ฅ๋จ์ ์ ๋ํด ์ค๋ช ํฉ๋๋ค. wono | discuss | tweet
+ it blog [๋ฒ์ญ] ์ต์ ์ ๊ฐ๋ฐ์Alexander Mikhailian์ ๊ธ "The Worst Kind of Programmer"๋ฅผ ๋ฒ์ญํ ๊ธ์ ๋๋ค.25๋ ๊ฐ์ ๊ฐ๋ฐ์๋ก ์ผํ๋ฉด์ ์ ๊ณ์์ ๋ฐ์ํ๋ ๋ง์ ๋ฌธ์ ๊ฐ ํน์ ๊ฐ๋ฐ์๋ก๋ถํฐ ๋ฐ์ํ๋ค๋ ๊ฒ์ ์๊ฒ ๋๋ค. ์ง๊ธ๋ถํฐ ๋ ๋ช ์ ๊ฐ๋ฐ์๋ก ์ธํด ๋ถ๊ดด๋ ๋ปํ wono | discuss | tweet
+ it ops aws rds RDS Free Tier ChargeI set up my account this week, and after setting up a VPC I created an RDS instance using free tier specifications. Despite being in free tier it's still saying I will be charged "$0.115 per GB-mo... wono | discuss | tweet
+ it dev mdn web mime ์ผ๋ฐ MIME ํ์ - HTTP | MDN๋ค์์ ์ผ๋ฐ์ ์ธ ํ์ฅ์๋ก ์ ๋ ฌ๋, ๋ฌธ์ ํ์ ๊ณผ ๊ด๋ จ๋ MIME ํ์ ์ ํฌ๊ด์ ์ธ ๋ชฉ๋ก์ ๋๋ค. wono | discuss | tweet
+ it dev javascript mime ํ์ผํ์ฅ์ ์ฒดํฌ MINE ํ์ MIME ํ์ (MIME type, Multipurpose Internet Mail Extensions type) ์ ์ฝ์๋ก ์ธํฐ๋ท์์ ์ ์ก๋๋ ํ์ผ์ ํ์์ ์๋ณํ๊ธฐ ์ํ ์๋ณ์์ด๋ค. ํ์ผ ์ ๋ก๋์ ํ์ผ ํ์ฅ์๋ก ์ฒดํฌ ํ๊ธฐ๋ ํ๊ณ MIME ํ์ ์ผ๋ก ํ์ผ ํ์ฅ์๋ฅผ ์ฒดํฌ ํด์ ์ ๋ ฅ ๋ฐ์์ผํ ํ์ผ ํ์ ์ ํ๋ฒ ๋ ๊ฑธ๋ฌ ์ค๋ค. ์๋๋ ํ์ผ ํ์ฅ์์ ๋ํ MIME ํ์ ๊ณผ javascript ์์ ์ฒดํฌ ํ๋ ๋ก์ง์ ์์ ๋ก ๋ณด์ฌ ์ฃผ๊ณ ์๋ค. pdf ํ์ผ 'application/pdf' excel ํ์ผ .xls ํ์ผ 'application/vnd.ms-excel' .xlsx ํ์ผ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' hwp ํ๊ธ ํ์ผ.. wono | discuss | tweet
+ it dev nextjs swr ๋ฆฌ์กํธ์์ ๋ฐ๋ณต์ ์ธ useEffect ๋์ SWR ์ฌ์ฉํ๊ธฐ | ์์ฆIT์ด๋ฒ ๊ธ์์๋ useEffect ๋ฐฉ์์ ํ๊ณ๋ฅผ ์ดํด๋ณด๊ณ , SWR์ด ์ด๋ค ๋ฐฉ์์ผ๋ก ์ด๋ฅผ ๋ณด์ํ ์ ์๋์ง ์์๋ณด๊ณ ์ ํ๋ค. wono | discuss | tweet
+ it dev nextjs fullcalendar [blocks]: Full calendar ยท shadcn-ui/ui ยท Discussion #3214[blocks]: Full calendar wono | discuss | tweet
+ it dev nextjs fullcalendar ์๊ฐ ๋ฌ๋ ฅ ์ถ๋ ฅํ๊ธฐ (FullCalendar / Shadcn)FullCalendarFullCalendar: ๋ณต์กํ ์ผ์ ๊ด๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ (์: ํ์ฌ ์ผ์ ๊ด๋ฆฌ, ์์ฝ ์์คํ )์ฅ์ ๋จ์ ์/์ฃผ/์ผ ๋ฑ ๋ค์ํ ๋ทฐ ์ ๊ณต์ด๋ฒคํธ ํ์ ๋ฐ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ด ํ๋ถ์๊ฐ๋๋ณ ์ผ์ ๊ด๋ฆฌ ๊ฐ๋ฅ๋๋๊ทธ ์ค ๋๋กญ์ผ๋ก ์ผ์ ์ด๋ ๊ฐ๋ฅ๋ฒ๋ค ์ฌ์ด์ฆ๊ฐ ํผ์ด๊ธฐ ์ค์ ์ด ๋ณต์กํ ์ ์์์คํ์ผ๋ง ์ปค์คํฐ๋ง์ด์ง์ด ๊น๋ค๋ก์๋ฌด๋ฃ ๋ฒ์ ๊ณผ ํ๋ก ๋ฒ์ ์ ๊ธฐ๋ฅ ์ฐจ์ดย 1. FullCalendar ๊ด๋ จ ์ข ์์ฑ ์ค์น ๋ช ๋ น์ดyarn add @fullcalendar/core @fullcalendar/react @fullcalendar/daygridย @fullcalendar/coreFullCalendar์ ํต์ฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ํจํค์งCalendarย ํด๋์ค์ ๊ฐ์ ํต์ฌ ๊ธฐ๋ฅ์ ํฌํจํ๊ณ ์์ด ์บ๋ฆฐ๋๋ฅผ ์์ฑํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ํ์์ .. wono | discuss | tweet
+ it dev nextjs Next.js์ ๋ฐ๊ฒฌ๋ ์น๋ช ์ ์ทจ์ฝ์ , ๊ณต๊ฒฉ์ ์ธ์ฆ ์ฐํ ๊ฐ๋ฅ์ฑ ์ ๊ธฐ์คํ์์ค ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ์ธ Next.js์์ ๋ฐ๊ฒฌ๋ ์น๋ช ์ ์ธ ์ทจ์ฝ์ (CVE-2025-29927)์ ์ ์ฉ, ๊ณต๊ฒฉ์๊ฐ ๋ฏธ๋ค์จ์ด ๊ธฐ๋ฐ์ ์ธ์ฆ์ ์ฐํํ๊ณ ์์คํ ์ ์ ๊ทผํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ด ์ ๊ธฐ๋๋ค. wono | discuss | tweet