728x90
๋ฐ˜์‘ํ˜•

2024/04 29

[Error][php] index3.php:1098 Uncaught TypeError: Cannot set properties of null (setting 'onclick')

"Uncaught TypeError: Null ์†์„ฑ์„ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค('onclick' ์„ค์ •)" ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ null์ธ ๋ณ€์ˆ˜์— ์†์„ฑ(์ด ๊ฒฝ์šฐ 'onclick')์„ ์„ค์ •ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ค๋ฅ˜๋Š” JavaScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DOM(๋ฌธ์„œ ๊ฐœ์ฒด ๋ชจ๋ธ)์˜ ์š”์†Œ๋ฅผ ์กฐ์ž‘ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์ž์ฃผ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ๋””๋ฒ„๊น…ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ทจํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ๋‹จ๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. index3.php:1098์—์„œ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”. index3.php ํŒŒ์ผ์˜ 1098ํ–‰์œผ๋กœ ์ด๋™ํ•˜์—ฌ 'onclick' ์†์„ฑ์„ ์„ค์ •ํ•˜๋ ค๋Š” ์ฝ”๋“œ๋ฅผ ๊ฒ€์‚ฌํ•˜์„ธ์š”. ์˜ฌ๋ฐ”๋ฅธ ์š”์†Œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๊ณ  ์žˆ๋Š”์ง€, ํ•ด๋‹น ์š”์†Œ๊ฐ€ ์‹ค์ œ๋กœ DOM์— ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ์š”์†Œ ์กด์žฌ ํ™•์ธ: 'onclick' ์ด๋ฒคํŠธ๋ฅผ ์„ค์ •ํ•˜๋ ค๋Š” ์š”์†Œ๊ฐ€ J..

Error 2024.04.10

[DB][DBeaver] ์ผ๊ด„์‹คํ–‰ ๋‹จ์ถ•ํ‚ค

Alt + x - ์‹คํ–‰ํ•  ์ฟผ๋ฆฌ๋“ค์„ ๋“œ๋ž˜๊ทธํ•˜๊ณ  ๋‹จ์ถ•ํ‚ค ๋ˆ„๋ฅด๋ฉด ์•„๋ž˜์™€๊ฐ™์€ ํ™•์ธ์ฐฝ์ด ๋œฌ๋‹ค. ๊ฐ ๋ช…๋ น๋ฌธ์˜ ๊ฒฐ๊ณผ๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๋™์•ˆ ๋Œ€๊ทœ๋ชจ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์ด ํฌ๊ฒŒ ๋Š๋ ค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์„ ์œ„ํ•œ ๊ฒฐ๊ณผ ์„ธํŠธ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋ผ๋Š” ๋ฉ”์‹œ์ง€ ์ด๋‹ค. Yes ๋ˆŒ๋Ÿฌ์ฃผ์—ˆ๋‹ค.

DB 2024.04.08

[js] some()

if(!this.checkList.some(item => item.crCd === crCd && item.itemCd === itemCd && item.seq === seq)) { this.checkList.push({ crCd : crCd, itemCd : itemCd, seq : seq}); } some() ๋ฉ”์„œ๋“œ๋Š” ์ฃผ์–ด์ง„ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์š”์†Œ๊ฐ€ ๋ฐฐ์—ด์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. => boolean ๊ฐ’ ๋ฐ˜ํ™˜ ์—ฌ๊ธฐ์„œ๋Š” ๋ฐฐ์—ด this.checkList ์•ˆ์— ๋™์ผํ•œ crCd, itemCd, seq๋ฅผ ๊ฐ€์ง„ ๊ฐ์ฒด๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ํ•ด๋‹นํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์—†๋‹ค๋ฉด push()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

Front/JS & jQuery 2024.04.07

[js] json ๋ฐฐ์—ด ํŠน์ • ๊ฐ’ ํฌํ•จ์—ฌ๋ถ€ ํ™•์ธํ•˜๊ธฐ / includes() ๋Œ€์‹ 

์ฒ˜์Œ ์ž‘์„ฑํ•œ ์ฝ”๋“œ if(!this.checkList.includes({ crCd : crCd, itemCd : itemCd, seq : seq})){ this.checkList.push({ crCd : crCd, itemCd : itemCd, seq : seq}); } JavaScript์˜ includes() ๋ฉ”์„œ๋“œ๋Š” ์ฃผ์–ด์ง„ ์š”์†Œ๊ฐ€ ๋ฐฐ์—ด์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ด์œ ๋Š” includes() ๋ฉ”์„œ๋“œ๊ฐ€ ๊ฐ์ฒด์˜ ๋น„๊ต๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ ์ฐธ์กฐ์— ๋”ฐ๋ผ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ฐ์ฒด๊ฐ€ ๋™์ผํ•œ ์ฐธ์กฐ๋ฅผ ๊ฐ€์งˆ ๋•Œ์—๋งŒ includes()๋Š” ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ { crCd : crCd, itemCd : itemCd, seq : seq}์™€ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ includes()๋กœ ..

Front/JS & jQuery 2024.04.06

[jquery][datatables] ํŽ˜์ด์ง€ ์ด๋™ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ

$(document).ready(function() { var table = $('#example').DataTable(); table.on('page.dt', function() { // ํŽ˜์ด์ง€๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์„ ์—ฌ๊ธฐ์— ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. console.log('ํŽ˜์ด์ง€๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.'); }); });

Front/JS & jQuery 2024.04.05

[js] json ๋ฐฐ์—ด ๋น„๊ตํ•˜๊ธฐ

๋ฐฐ์—ด ์š”์†Œ๋ฅผ ์ •๋ ฌํ•˜์—ฌ ์ˆœ์„œ๋ฅผ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ฐฐ์—ด์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. function compareJSONArrays(arr1, arr2) { // ๋ฐฐ์—ด์„ ์ •๋ ฌํ•˜์—ฌ ์ˆœ์„œ๋ฅผ ๋ฌด์‹œ arr1.sort(); arr2.sort(); // JSON ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ var json1 = JSON.stringify(arr1); var json2 = JSON.stringify(arr2); // ๋น„๊ต return json1 === json2; } // ์˜ˆ์‹œ var array1 = [1, 2, 3]; var array2 = [3, 2, 1]; if (compareJSONArrays(array1, array2)) { console.log("๋‘ ๋ฐฐ์—ด์€ ๊ฐ™์Šต๋‹ˆ๋‹ค."); } else { console.log("๋‘ ๋ฐฐ์—ด์€..

Front/JS & jQuery 2024.04.04

[JAVA] ForkJoinPool

https://kkang-joo.tistory.com/63 [Java] ForkJoinPool์ด๋ž€ (ParellelStream) ForkJoinPool java 7๋ถ€ํ„ฐ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ Java Concurrency Framework ๋ถ„ํ•  ์ •๋ณต(Divide and Conquer) ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์œ ์‚ฌํ•œ ๊ตฌ์กฐ ๋™์ผํ•œ ์ž‘์—…์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ Sub Task๋กœ ๋ถ„๋ฆฌ(Fork)ํ•˜์—ฌ ๊ฐ๊ฐ ์ฒ˜๋ฆฌํ•˜๊ณ , ์ด๋ฅผ ์ตœ์ข…์ ์œผ๋กœ ํ•ฉ์ณ์„œ( kkang-joo.tistory.com https://velog.io/@amoeba25/ForkJoinPool ForkJoinPool ์ผ์ „์— CompletableFuture์™€ Spring @Async ์–ด๋…ธํ…Œ์ด์…˜ ํ™œ์šฉํ•ด์„œ ๋น„๋™๊ธฐ ๋ฉ”์„œ๋“œ ๋กœ์ง์„ ๊ตฌํ˜„ํ–ˆ๋‹ค. ๊ทธ๋•Œ @Async ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œํ’€์„ ์ง์ ‘ ํ˜•์„ฑํ•ด..

JAVA 2024.04.03

[jquery][datatavles] $.fn.dataTable.render.number()

$.fn.dataTable.render.number() DataTables jQuery ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์†Œ๋“œ์ž…๋‹ˆ๋‹ค. DataTable ๋‚ด์—์„œ ํ˜•์‹ํ™”๋œ ๋ฐฉ์‹์œผ๋กœ ์ˆซ์ž ๋ฐ์ดํ„ฐ๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. $.fn.dataTable.render.number( thousands, decimal, precision, prefix, postfix ) thousands: ์‰ผํ‘œ( )์™€ ๊ฐ™์ด ์ฒœ ๋‹จ์œ„๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ฌธ์ž์ž…๋‹ˆ๋‹ค ,. ์„ ํƒ์‚ฌํ•ญ์ด๋ฉฐ ๊ธฐ๋ณธ๊ฐ’์€ ๋นˆ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. decimal: ๋งˆ์นจํ‘œ( .) ๋“ฑ ์†Œ์ˆ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฌธ์ž์ž…๋‹ˆ๋‹ค. ์„ ํƒ์‚ฌํ•ญ์ด๋ฉฐ ๊ธฐ๋ณธ๊ฐ’์€ ๋งˆ์นจํ‘œ์ž…๋‹ˆ๋‹ค. precision: ํ‘œ์‹œํ•  ์†Œ์ˆ˜์  ์ดํ•˜ ์ž๋ฆฟ์ˆ˜์ž…๋‹ˆ๋‹ค. ์„ ํƒ ์‚ฌํ•ญ์ด๋ฉฐ ๊ธฐ๋ณธ๊ฐ’์€ 0์ž…๋‹ˆ๋‹ค. prefix: ํ˜•์‹์ด ์ง€์ •๋œ ์ˆซ์ž ์•ž์— ์ถ”๊ฐ€๋˜๋Š” ..

Front/JS & jQuery 2024.04.01
728x90
๋ฐ˜์‘ํ˜•