728x90
๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€ 1364

[DB][Oracle] ALTER TABLE ... ADD ์•ˆ์—์„œ ์ปฌ๋Ÿผ ์ •์˜์™€ ๋™์‹œ์— COMMENT ๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฌธ๋ฒ•

Oracle์€ ADD + COMMENT ์›์ƒท ๋ฌธ๋ฒ• ์—†์Œ๋ฌด์กฐ๊ฑด ๋ณ„๋„ COMMENT ๊ตฌ๋ฌธ ํ•„์š”-- 1) ์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ ์ถ”๊ฐ€ (ADD)ALTER TABLE EMP_TEST ADD EMP_TYPE VARCHAR2(10) DEFAULT 'N' NOT NULL;-- 2) ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•œ ์ปฌ๋Ÿผ์— COMMENT ๋‹ฌ๊ธฐ (๋ณ„๋„ ์‹คํ–‰ ํ•„์š”)COMMENT ON COLUMN EMP_TEST.EMP_TYPE IS '์‚ฌ์›๊ตฌ๋ถ„';๐Ÿ“Œ ์„ค๋ช…:์œ„ 1๋ฒˆ ALTER TABLE ... ADD ์—์„œ๋Š” COMMENT ๋ฅผ ๋ฐ”๋กœ ๋ถ™์ผ ์ˆ˜ ์—†์Œ๋ฐ˜๋“œ์‹œ 2๋ฒˆ์ฒ˜๋Ÿผ COMMENT ON COLUMN ๊ตฌ๋ฌธ์„ ๋ณ„๋„๋กœ ์‹คํ–‰ํ•ด์•ผ ํ•จ๋”ฐ๋ผ์„œ Oracle ์—์„œ๋Š” “ADD + COMMENT ํ•œ ๋ฌธ์žฅ ์ฒ˜๋ฆฌ”๋Š” ๋ถˆ๊ฐ€๋Šฅ๐Ÿ‘‰ ๋งŒ์•ฝ “ํ•œ ๋ฒˆ์— ์‹คํ–‰ํ•˜๊ณ  ์‹ถ๋‹ค”๋ฉด, PL/SQL ๋ธ”๋ก์œผ๋กœ..

DB 2025.09.19

[DB][Oracle] ๊ณ„์‚ฐ์‹ ์ ์„ ๋•Œ Alias ์‚ฌ์šฉํ•˜๊ธฐ

Oracle ๊ธฐ์ค€โŒ ์•ˆ ๋˜๋Š” ๊ฒฝ์šฐ SELECT COALESCE(SUM(DTL.REAL_AMT), 0) AS REAL_AMT, COALESCE(SUM(DTL.REAL_AMT), 0) * 0.1 AS REAL_AMT_10P, REAL_AMT + REAL_AMT_10P AS REAL_AMT_TOTAL -- โŒ alias ์ง์ ‘ ์‚ฌ์šฉ ๋ถˆ๊ฐ€→ SELECT ์ ˆ ์•ˆ์—์„œ๋Š” ๊ฐ™์€ ๋ ˆ๋ฒจ์˜ alias ๋ฅผ ๋ฐ”๋กœ ์ฐธ์กฐํ•  ์ˆ˜ ์—†์–ด์š”.๊ทธ๋ž˜์„œ REAL_AMT ์™€ REAL_AMT_10P ๋ฅผ ์—ฌ๊ธฐ์„œ ๊ทธ๋Œ€๋กœ ์“ฐ๋ฉด ์—๋Ÿฌ ๋‚ฉ๋‹ˆ๋‹ค. โœ… ๋˜๋Š” ๋ฐฉ๋ฒ• 2: ์„œ๋ธŒ์ฟผ๋ฆฌ ๊ฐ์‹ธ๊ธฐ SELECT REAL_AMT, REAL_AMT_10P, REAL_AMT + REAL_AMT_10P AS REAL_AMT_TOTALFROM ( ..

DB 2025.09.18

[js]for (const [typeTp, items] of Object.entries(grouped))

1. Object.entries(grouped)Object.entries() ๋Š” ๊ฐ์ฒด๋ฅผ [key, value] ์Œ์˜ ๋ฐฐ์—ด๋กœ ๋ฐ”๊ฟ”์ค๋‹ˆ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด:const grouped = { "1": [{ id: 1 }, { id: 2 }], "2": [{ id: 3 }]};console.log(Object.entries(grouped));์ถœ๋ ฅ:[ ["1", [{ id: 1 }, { id: 2 }]], ["2", [{ id: 3 }]]]์ฆ‰, grouped ๊ฐ์ฒด๊ฐ€ { key: value } ๊ตฌ์กฐ๋ผ๋ฉดObject.entries(grouped) → [ [key1, value1], [key2, value2], ... ]2. for (const [typeTp, items] of ...)for...of ๊ตฌ๋ฌธ์€ ๋ฐฐ์—ด์„ ์ˆœํšŒํ• ..

Front/JS & jQuery 2025.09.17

[js] toLocaleString

1๏ธโƒฃ ๊ธฐ๋ณธ ๊ฐœ๋…toLocaleString()์€ ์ˆซ์ž(Number)๋‚˜ ๋‚ ์งœ(Date)๋ฅผ ์‚ฌ์šฉ์ž ์ง€์—ญ(locale)์— ๋งž๋Š” ํ˜•์‹์œผ๋กœ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค.์ˆซ์ž → ์ฒœ ๋‹จ์œ„ ๊ตฌ๋ถ„, ์†Œ์ˆ˜์  ์ž๋ฆฌ์ˆ˜, ํ†ตํ™” ๊ธฐํ˜ธ ๋“ฑ๋‚ ์งœ → ์ง€์—ญ๋ณ„ ๋‚ ์งœ/์‹œ๊ฐ„ ํ˜•์‹ 2๏ธโƒฃ ์ˆซ์ž ์˜ˆ์‹œconst num = 1234567.89;console.log(num.toLocaleString()); // ์ถœ๋ ฅ: "1,234,567.89" (๊ธฐ๋ณธ ๋ธŒ๋ผ์šฐ์ € ๋กœ์ผ€์ผ ๊ธฐ์ค€),๋กœ ์ฒœ ๋‹จ์œ„ ๊ตฌ๋ถ„์†Œ์ˆ˜์  ์œ ์ง€console.log(num.toLocaleString('de-DE')); // ๋…์ผ์‹ ์ถœ๋ ฅ: "1.234.567,89"๋…์ผ์€ .๋กœ ์ฒœ ๋‹จ์œ„, ,๋กœ ์†Œ์ˆ˜์  ํ‘œ์‹œconsole.log(num.toLocaleString('ko-KR')); /..

Front/JS & jQuery 2025.09.15

[jQuery] insertBefore

insertBefore๋Š” jQuery ๋ฉ”์„œ๋“œ๋กœ,์„ ํƒํ•œ ์š”์†Œ ์•ž์— ์ƒˆ๋กœ์šด ์š”์†Œ(๋…ธ๋“œ)๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. $(์ƒˆ๋กœ์šด์š”์†Œ).insertBefore(ํƒ€๊ฒŸ์š”์†Œ); ์ƒˆ๋กœ์šด์š”์†Œ : ๋ฌธ์ž์—ด(HTML) ๋˜๋Š” jQuery ๊ฐ์ฒดํƒ€๊ฒŸ์š”์†Œ : ๊ธฐ์ค€์ด ๋˜๋Š” ์š”์†Œ. ์ด ์•ž์— ์ƒˆ๋กœ์šด ์š”์†Œ๊ฐ€ ์‚ฝ์ž…๋จ

Front/JS & jQuery 2025.09.11

[Error][js]Uncaught TypeError: Cannot read properties of null (reading 'replace')

๋ณ€ํ™˜ํ•  ๋ฐ์ดํ„ฐ๊ฐ€ null(๋˜๋Š” undefined) ์ƒํƒœ๋ผ์„œ replace ํ•จ์ˆ˜๋ฅผ ์“ธ ์ˆ˜ ์—†๋Š” ๊ฑฐ์˜ˆ์š”. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•null/undefined ์ฒดํฌ ํ›„ ์‹คํ–‰const hpNo = this.detail.hpNo || "";const formattedHpNo = hpNo.replace(/^(\d{3})(\d{3,4})(\d{4})$/, '$1-$2-$3'); Optional chaining ์‚ฌ์šฉ (ES2020+)const formattedHpNo = this.detail.hpNo?.replace(/^(\d{3})(\d{3,4})(\d{4})$/, '$1-$2-$3') || ""; ์กฐ๊ฑด๋ฌธ์œผ๋กœ ์ง์ ‘ ์ฒ˜๋ฆฌlet formattedHpNo = "";if (this.detail.hpNo) { formattedHpNo =..

Error 2025.09.10

[CSS] grid-template-columns, grid-template-rows

grid-column, grid-row์—์„œ ๋ช‡ ์นธ๊นŒ์ง€ ์„ค์ • ๊ฐ€๋Šฅํ•œ์ง€๋Š” ๊ฒฐ๊ตญ **๊ทธ๋ฆฌ๋“œ๋ฅผ ๋ช‡ ์นธ์œผ๋กœ ๋‚˜๋ˆด๋А๋ƒ (grid-template-columns, grid-template-rows)**์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ ธ์š”.1. ์นธ(์…€)์˜ ๊ธฐ์ค€ = grid line (๊ฒฉ์ž์„ )์นธ ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ **์นธ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ์„ (line)**์„ ๊ธฐ์ค€์œผ๋กœ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ง‘๋‹ˆ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด grid-template-columns: repeat(3, 100px); → 3๊ฐœ์˜ ์—ด์ด ์ƒ๊ธฐ๋ฉด, ์„ ์€ 4๊ฐœ๊ฐ€ ์ƒ๊ฒจ์š”. ์ฆ‰, grid-column์€ ์„  ๋ฒˆํ˜ธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ "์–ด๋””์„œ ์‹œ์ž‘ํ•ด์„œ ์–ด๋””๊นŒ์ง€"๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฑฐ์˜ˆ์š”.2. ์‚ฌ์šฉ์ž๊ฐ€ ์นธ ๊ฐœ์ˆ˜ ์„ค์ •๋ช‡ ์นธ์œผ๋กœ ๋‚˜๋ˆŒ์ง€๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ grid-template-columns(๊ฐ€๋กœ), grid-template-rows(์„ธ๋กœ)๋กœ ..

Front/CSS 2025.09.09

[CSS] grid-column, grid-row

grid-column๊ณผ grid-row๋Š” CSS Grid Layout์—์„œ ์•„์ดํ…œ์ด ์–ด๋А ์—ด(column), ์–ด๋А ํ–‰(row)์— ์œ„์น˜ํ• ์ง€ ์ œ์–ดํ•˜๋Š” ์†์„ฑ์ด์—์š”.1. ๊ธฐ๋ณธ ๊ฐœ๋…CSS Grid๋Š” ํ–‰(row)๊ณผ ์—ด(column)๋กœ ๋‚˜๋‰œ 2์ฐจ์› ๋ ˆ์ด์•„์›ƒ ์‹œ์Šคํ…œ.๊ฐ ์…€์€ **๊ฒฉ์ž์„ (Grid line)**์œผ๋กœ ๊ตฌ๋ถ„๋ผ์š”.grid-column๊ณผ grid-row๋Š” ์•„์ดํ…œ์ด ์–ด๋А ์„ ๋ถ€ํ„ฐ ์–ด๋А ์„ ๊นŒ์ง€ ์ฐจ์ง€ํ• ์ง€ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์ด์—์š”.2. grid-column .item { grid-column: 1 / 3; }โžก๏ธ 1๋ฒˆ ์„ ๋ถ€ํ„ฐ 3๋ฒˆ ์„  ์ง์ „๊นŒ์ง€ ์ฐจ์ง€ → ์ฆ‰, 2์นธ์„ ๊ฐ€๋กœ๋กœ ์ ์œ .์„ธ๋ถ€ ์†์„ฑgrid-column-start: ์‹œ์ž‘ํ•˜๋Š” ์„  ๋ฒˆํ˜ธgrid-column-end: ๋๋‚˜๋Š” ์„  ๋ฒˆํ˜ธ๋‹จ์ถ•ํ˜•: grid-column: start / en..

Front/CSS 2025.09.08
728x90
๋ฐ˜์‘ํ˜•