2023/12 5

[JavaScript] file drag and drop

๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด HTML ์ž„์˜์˜ ์š”์†Œ์— ๋“œ๋ž˜๊ทธํ•œ ํŒŒ์ผ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. dragenter ๋ฐ•์Šค ์•ˆ์— Drag ๋“ค์–ด์™”์„ ๋•Œ dragover ๋ฐ•์Šค ์•ˆ์— Drag๋ฅผ ํ•˜๊ณ  ์žˆ์„ ๋•Œ dragleave ๋ฐ•์Šค ๋ฐ–์œผ๋กœ Drag๊ฐ€ ๋‚˜๊ฐˆ ๋•Œ drop ๋ฐ•์Šค ์•ˆ์—์„œ Drag๋ฅผ Dropํ–ˆ์„ ๋•Œ $(function(){ // drag and drop test๋ฅผ ์œ„ํ•จ. var uploadBox = document.querySelector('#divID'); // ํŒŒ์ผ ๋‹ด์•„์ค„ input ๊ฐ์ฒด ํ•„์š”์—†์Œ // event.dataTransfer.files ์—ฌ๊ธฐ์— dropํ•œ ํŒŒ์ผ์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊น€ /* ๋ฐ•์Šค ์•ˆ์— Drag ๋“ค์–ด์™”์„ ๋•Œ */ uploadBox.addEventListener('dragenter', function..

js 2023.12.11

for in ๋ฌธ ์‚ฌ์šฉ ์‹œ ์ฃผ์˜ํ•  ์ 

for in : ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋ช…์„ ์—ด๊ฑฐํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ 1. ํ”„๋กœํผํ‹ฐ๋ฅผ ์—ด๊ฑฐํ•˜๋Š” ์ˆœ์„œ ์œ„์˜ ์˜ˆ์ œ ์ฝ”๋“œ ์ค‘ ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด ์‹์— ์“ด ๊ฒƒ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๊ฐ’์ด ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์˜ค๊ธฐ๋Š” ํ•˜์˜€์ง€๋งŒ ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด์— ์“ด ์ˆœ์„œ๋Œ€๋กœ ์—ด๊ฑฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ๋งํ•ด์„œ ์ˆœ์„œ๊ฐ€ ๋ณด์žฅ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์›๋ž˜ ํ”„๋กœํผํ‹ฐ ๊ฐ„์—๋Š” ์ˆœ์„œ๊ฐ€ ์—†๋Š” ๊ฒƒ์œผ๋กœ ์ˆœ์„œ๋ฅผ ์˜์‹ํ•˜๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ ์ž˜๋ชป๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•œํŽธ, ๋ฐฐ์—ด์˜ ๊ฒฝ์šฐ๋Š” ์ˆœ์„œ๋ฅผ ์˜์‹ํ•˜๋Š” ๋ฐ์ดํ„ฐํƒ€์ž…์ž…๋‹ˆ๋‹ค. ์œ„์˜ ๋ฐฐ์—ด ์ฝ”๋“œ์—์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ธฐ๋Œ€ํ•œ ์ˆœ์„œ๋ฅผ ๋ณด์ด๊ณ ๋Š” ์žˆ์ง€๋งŒ for in ๋ฌธ์€ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ฐ™์€ ๋™์ž‘ ๋ฐฉ์‹์— ์ง€๋‚˜์น˜๊ฒŒ ์˜์กดํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค. 2. ์—ด๊ฑฐํ•  ์ˆ˜ ์—†๋Š” ํ”„๋กœํผํ‹ฐ์˜ ์กด์žฌ ๋‘๋ฒˆ์งธ๋กœ ์ฃผ์˜ํ•  ์ ์€ for in ๋ฌธ์— ๋‚˜์—ดํ•  ์ˆ˜ ์—†๋Š” ํ”„๋กœํผํ‹ฐ์˜ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐฐ์—ด ๊ฐ์ฒด์—๋Š” leng..

js 2023.12.08

ํŠธ๋ฆฌ๊ตฌ์กฐ jsTree ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

jstree : jQuery ๊ธฐ๋ฐ˜์œผ๋กœ ํŠธ๋ฆฌํ˜•์‹์˜ ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•ด ์›น์— ์ถœ๋ ฅ์„ ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ jstree, jquery ์Šคํฌ๋ฆฝํŠธ ๋ฐ css 1. node๊ฐ€ loaded ๋˜์—ˆ์„๋•Œ ์‹คํ–‰ - $('#jstree').on('loaded.jstree', function (e, data) { }); 2. node๊ฐ€ change ๋˜์—ˆ์„๋•Œ ์‹คํ–‰ - $('#jstree').on('changed.jstree', function (e, data) { }); 3. node๊ฐ€ select ๋˜์—ˆ์„๋•Œ ์‹คํ–‰ - $('#jstree').on('select_node.jstree', function (e, data) { }); ๋ชจ๋“  node ์—ด๊ธฐ : $('#jstree').jstree('open_all'); select_node : ํŠน..

js 2023.12.07

<optgroup> select box ๊ทธ๋ฃนํ™”

์€ ํƒœ๊ทธ์˜ ์—ฌ๋Ÿฌ ํ•ญ๋ชฉ๋“ค์„ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์–ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. lable ์†์„ฑ์„ ์ด์šฉํ•˜์—ฌ ๊ทธ๋ฃน์˜ ์ œ๋ชฉ์„ ๊ทธ๋ฃน์˜ ์ œ๋ชฉ์„ ๋ถ™์ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์˜ ํ•„์ˆ˜ ์†์„ฑ์ด๋‹ค. ::์„ ํƒํ•˜์„ธ์š”:: ์ž‘์€๊ทธ๋ฃน1-1 ์ž‘์€๊ทธ๋ฃน2-1 ์ž‘์€๊ทธ๋ฃน3-1 ์ž‘์€๊ทธ๋ฃน2-1 ์ž‘์€๊ทธ๋ฃน2-2 ์ž‘์€๊ทธ๋ฃน2-3 ์ž‘์€๊ทธ๋ฃน2-4

js 2023.12.05

[ORACLE] lock ๊ฑธ๋ฆฐ ํ…Œ์ด๋ธ” ํ™•์ธ ๋ฐ kill ํ•˜๊ธฐ

ํ…Œ์ด๋ธ” ๋ฝ LOCK TABLE ํ…Œ์ด๋ธ”๋ช… IN EXCLUSIVE MODE; ๋ฝ์ด ๊ฑธ๋ฆฐ ํ…Œ์ด๋ธ” ํ™•์ธ select * from v$locked_object where oracle_username = '์‚ฌ์šฉ์ž๋ช…'; ๋ฝ์ด ๊ฑธ๋ ค์žˆ๋Š” ํ…Œ์ด๋ธ” ๊ฐฏ์ˆ˜ ํ™•์ธ select count(*) from v$locked_object vo , dba_objects do where vo.object_id = do.object_id; ๋ฝ ๊ฑธ๋ฆฐ ์„ธ์…˜ ํ™•์ธ select a.sid, a.serial# from v$session a, v$lock b, dba_objects c where a.sid=b.sid and b.id1=c.object_id and b.type='TM'; ๋ฝ์ด ๊ฑธ๋ฆฐ ํ…Œ์ด๋ธ”๋ช…์„ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ select a.sid, a.s..

DB 2023.12.04