๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€

(175)
๐Ÿ™ Git * ์•„์ง push ํ•˜์ง€ ์•Š์€ commit ์„ ์ง€์šฐ๋ ค๋ฉด? Reset ์ด๋ผ๋Š” ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์•„์ง push ํ•˜์ง€ ์•Š์€ commit ์„ ์‚ญ์ œ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ํ•ด๋‹น ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋Š” ๋‚˜์ค‘์— ๊ธฐ๋กํ•˜๋„๋กํ•˜๊ณ ,, ์ผ๋‹จ ์‚ฌ์šฉ๋ฐฉ๋ฒ•์„ ์š”์•ฝํ•ด์„œ ์ •๋ฆฌํ•ด๋‘๊ณ ์ž ํ•œ๋‹ค. ๋ฐ”๋กœ ์ง์ „์— ์ปค๋ฐ‹ํ•œ ๊ฒƒ์„ ์ทจ์†Œ git reset --soft HEAD~1 ํ•˜์ง€๋งŒ Git ์ €์žฅ์†Œ์—์„œ ๊ด€๋ฆฌ ํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ๋“ค(Untracked files)์„ ์ถ”๊ฐ€ํ•œ ๊ฒฝ์šฐ reset ์ดํ›„์—๋„ ์œ ์ง€๋˜๋Š”๋ฐ, ์ด๋Ÿด ๋• git clean ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. #์‚ญ์ œ ๋Œ€์ƒ(Untracked files) ๋ชฉ๋ก ํ™•์ธ git clean -n # Untracked files ์‚ญ์ œ git clean -f Thanks for ๐Ÿ™ˆ Git ์ปค๋ฐ‹ ์ทจ์†Œ(reset), ์ปค๋ฐ‹ ๋˜๋Œ๋ฆฌ๊ธฐ(revert), ๋ฎ์–ด์“ฐ๊ธฐ(amend) 7.7 Git..
๐Ÿ™ Git * ๋กœ๊ทธ์— ๋‚จ๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„, ์ด๋ฉ”์ผ ํ™•์ธ ๋ฐ ๋ณ€๊ฒฝ ํ•˜๊ธฐ ์ดˆ๊ธฐ ์„ค์ • ํ•ด๋†“์€ ๊ฐ’์—์„œ ์ด๋ฆ„์ด๋‚˜ ์ด๋ฉ”์ผ์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž. ๋ช…๋ น์–ด๋Š” ํ„ฐ๋ฏธ๋„์ฐฝ์—์„œ ์‹คํ–‰์‹œ์ผœ์ฃผ๋ฉด ๋œ๋‹ค! ์ผ๋‹จ ํ˜„์žฌ ์ด๋ฆ„๊ณผ ์ด๋ฉ”์ผ์ด ์–ด๋–ป๊ฒŒ ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. $ git config --global user.name $ git config --global user.email ๋ง˜์— ๋“ค์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ”๊พธ์–ด์ค€๋‹ค. $ git config --global user.name '์ด๋ฆ„' $ git config --global user.email '์•„์ด๋””@์ด๋ฉ”์ผ์ฃผ์†Œ' ๋งŒ์•ฝ, ์ „์ฒด ํ”„๋กœ์ ํŠธ์— ๊ด€ํ•œ git ๊ณ„์ • ์ •๋ณด๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํŠน์ • ํ”„๋กœ์ ํŠธ์—์„œ๋งŒ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด? $ git config --local user.name '์ด๋ฆ„..
MacOS * MariaDB install mac ์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ์„ค์น˜ํ•  ๋• ํ•ญ์ƒ,, Homebrew ์— ์žˆ๋Š”์ง€๋ถ€ํ„ฐ ํ™•์ธํ•œ๋‹ค. Homebrew ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์„ค์น˜ํ•˜๋ฉด ๊ด€๋ฆฌ๊ฐ€ ์ข€ ํŽธํ•˜๋‹ค๊ณ  ๋Š๊ปด์ง€๊ธฐ ๋•Œ๋ฌธ์—... ๊ทธ๋ฆฌ๊ณ  ๋Œ€๋ถ€๋ถ„์€ Homebrew ๋ฅผ ํ†ตํ•ด ์„ค์น˜ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฒˆ์— ์„ค์น˜ํ•  MariaDB ์—ญ์‹œ Homebrew ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์„ค์น˜ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋‹จ Homebrew ์—…๋ฐ์ดํŠธ๋ฅผ ๋จผ์ €ํ•ด์ค€๋‹ค. ์•„์ง Homebrew ์„ค์น˜๊ฐ€ ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ์œ„ ๋งํฌ(Homebrew)๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์„ค์น˜๋ถ€ํ„ฐ ์ง„ํ–‰ํ•˜์ž! 1. Update Homebrew brew install mariadb 2. Install MariaDB brew install mariadb - ํŠน๋ณ„ํžˆ ์„ค์น˜ํ•˜๊ณ  ์‹ถ์€ ๋ฒ„์ „์ด ์žˆ๋‹ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„์ „ ์ฒดํฌ๋ฅผ ํ•˜๊ณ  mariadb@๋ฒ„์ „ ์œผ๋กœ ์„ค..
UI ์„ค๊ณ„์— ํ•„์š”ํ•œ ์šฉ์–ด๋“ค ์ •๋ฆฌ๊ฐ€ ์ž˜ ๋˜์–ด ์žˆ๋Š” ํฌ์ŠคํŒ…๋“ค์„ ๊ฐ„๊ฐ„ํžˆ ๋ณด๊ฒŒ๋œ๋‹ค. ์„ค๊ณ„ํ•ด์ฃผ์‹œ๋Š” ๋ถ„๊ณผ ์˜์‚ฌ์†Œํ†ต์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋ผ๋„ ์šฉ์–ด์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•  ๋•Œ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฐธ๊ณ  ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ๋งŒ ๊ฐ™์€ ์‚ฌ์ดํŠธ๋ฅผ ์ฐจ๊ณก ์ฐจ๊ณก ๋ชจ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๊ธ€์„ ๋„ˆ๋ฌด ํŽผ์ณ๋‘๋ฉด ์ •์‹ ์ด ์—†์œผ๋‹ˆ,, ๋ช‡๊ฐ€์ง€ ๋ชจ์ด๋ฉด ๋…ธ์…˜ํŽ˜์ด์ง€ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์•ผ์ง“...! UI์„ค๊ณ„์— ํ•„์š”ํ•œ ์šฉ์–ด๋“ค-1 Prologue ์‹ค๋ฌด์ž๋“ค๊ฐ„์˜ ๋น ๋ฅด๊ณ  ์Šค๋ฌด์Šคํ•œ ์†Œํ†ต์„ ์œ„ํ•ด์„œ, ํšŒ์˜ ์‹œ ์˜ค๊ฐ€๋Š” ๋Œ€ํ™”๋ฅผ ํ•œ ๋ฒˆ์— ์•Œ์•„๋“ฃ๊ณ  ์ •๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ, ์•„์ด๋””์–ด ํ–ฅ์ƒ์„ ์œ„ํ•ด์„œ ์›น/์•ฑ UI ์„ค๊ณ„ ์‹œ ์‚ฌ์šฉ๋˜๋Š” ์šฉ์–ด๋“ค์„ (์•„๋Š” ์„ ์—์„œ) ์ด brunch.co.kr
Windows * ํŠน์ • ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค ๊ฒ€์ƒ‰ ๋ฐ ์ข…๋ฃŒ ํ”„๋กœ์„ธ์Šค์˜ PID ์„ ์•Œ๋ฉด ํ•ด๋‹น ๋ฒˆํ˜ธ๋ฅผ ์ด์šฉํ•ด์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ณ , ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ํŠน์ • ํฌํŠธ๋ฅผ ๋†“์•„์ฃผ๊ฒŒ(?)๋ฉ๋‹ˆ๋‹ค. ํ•ด๋ณด๊ธฐ 1. ํ„ฐ๋ฏธ๋„ ์ฐฝ์—์„œ netstat, findstr ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํŠน์ • ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. > netstat -ano | findstr ํŠน์ •ํฌํŠธ_๋ฒˆํ˜ธ ์ด๋•Œ ์ถœ๋ ฅํ™”๋ฉด์—์„œ ๋งจ ๋งˆ์ง€๋ง‰์— ์œ„์น˜์— ์žˆ๋Š” ๋ฒˆํ˜ธ๊ฐ€ ๋ฐ”๋กœ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์˜ PID ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค. 2. ์ž˜๋ชป ์ข…๋ฃŒํ•˜๋ฉด ์œ„ํ—˜ํ•˜๋‹ˆ tasklist ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด ํ•œ ๋ฒˆ ๋” ์ƒ์„ธ ๋‚ด์šฉ์„ ํ™•์ธํ•ด์ค๋‹ˆ๋‹ค. > tasklist /svc /FI "PID eq ์•ž์„œ_ํ™•์ธํ•œ_PID_๋ฒˆํ˜ธ" 3. ๋‚ด์šฉ ํ™•์ธ ํ›„ ์‚ฌ์šฉ์„ ์ข…๋ฃŒํ•˜๋ ค๊ณ  ํ–ˆ๋˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งž๋‹ค๋ฉด taskkill ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ ์ข…๋ฃŒํ•จ์œผ๋กœ์„œ ๋‹ค๋ฅธ ๊ณณ์—์„œ ..
MSSQL * OFFSET - FETCH ํŽ˜์ด์ง• ์ฟผ๋ฆฌ ( ROW_NUMBER() ๋Œ€์ฒด ) ํ•ด๋‹น ๋ฐฉ๋ฒ•์€ MSSQL 2012 ์ดํ›„(=11.X ์ด์ƒ)์˜ ๋ฒ„์ „์—์„œ๋งŒ ์ง€์› ๊ฐ€๋Šฅํ•˜๋‹ค. MSSQL 2012 ์ด์ „(=11.X ๋ฏธ๋งŒ)์˜ ๊ฒฝ์šฐ OFFSET ๊ณผ FETCH ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ROW_NUMBER() ๋กœ ๋ฒˆํ˜ธ ์ •๋ ฌ์„ ๋ถ™์ด๊ณ , ์ค‘์ฒฉ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์‚ฌ์šฉ๋ฐฉ๋ฒ• ORDER BY ์ •๋ ฌ๋Œ€์ƒ_์นผ๋Ÿผ๋ช… OFFSET ํ˜„์žฌ๊นŒ์ง€_ํ–‰์˜_๊ฐฏ์ˆ˜ ROWS FETCH NEXT ๊ฐ€์ ธ์˜ฌ_ํ–‰์˜_์ˆ˜ ROWS ONLY ๋”๋ณด๊ธฐ ์ฒซ๋ฒˆ์งธ ํŽ˜์ด์ง€ 10๊ฐœ ๊ฐ€์ ธ์˜ฌ ์ฟผ๋ฆฌ ORDER BY name OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY ๋‘๋ฒˆ์งธ ํŽ˜์ด์ง€ 10๊ฐœ ๊ฐ€์ ธ์˜ค๋Š” ์ฟผ๋ฆฌ ORDER BY name OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY ์ค‘์ฒฉ ์ฟผ๋ฆฌ๊ฐ€ ๋น ์ง€๊ธฐ ๋•Œ๋ฌธ์— ..
MSSQL * Table, Columns ์ •๋ณด ์กฐํšŒ๋ผ๊ณ  ๋ถ€๋ฅด๊ณ  comment ํ™•์ธ์ด๋ผ๊ณ  ์“ด๋‹ค ๐Ÿ˜ Table Info. SELECT objtype, objname, name, value FROM ::fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', '[ํ…Œ์ด๋ธ”๋ช…]', default, default); Columns Info. SELECT objtype, objname, name, value FROM ::fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', '[ํ…Œ์ด๋ธ”๋ช…]', 'column', default);
JS * ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”์— ๋Œ€ํ•˜์—ฌ... JS ๋ฅผ ์ฐจ๊ทผ์ฐจ๊ทผ ๊ณต๋ถ€ํ•œ ์‚ฌ๋žŒ์—๊ฒŒ๋Š” ์ด ํฌ์ŠคํŒ…์ด ์–ด์ด ์—†์„์ง€๋„ ๋ชจ๋ฅด์ง€๋งŒ... ๋งˆ์Œ์˜ ์ค€๋น„ ์—†์ด ๋ฐ”๋กœ ํˆฌ์ž…๋œ ํ˜„์žฌ์˜ ๋‚˜๋กœ์จ๋Š” ์ถฉ๊ฒฉ์ ์ธ ๋ถ€๋ถ„์„ ๋ฐœ๊ฒฌํ•˜์—ฌ ๊ธฐ๋กํ•œ๋‹ค... ๋‚˜์ค‘์— ๋‚ด๊ฐ€ ์ด ํฌ์ŠคํŒ…์„ ๋‹ค์‹œ ๋ณด๊ฒŒ ๋œ๋‹ค๋ฉด.. ์›ƒ๊ณ ์žˆ์ง€ ์•Š์„๊นŒ.. ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœ ํ–ˆ์„ ๋•Œ, ์ธ์ž์— ๊ฐ’์ด ์žˆ๋‹ค๋ฉด(=์ธ์ž๊ฐ€ ์ดˆ๊ธฐํ™” ๋๋‹ค๋ฉด) ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ๊ฐ™์€ ์ด๋ฆ„์˜ ๋ณ€์ˆ˜๋ฅผ ์„ .์–ธ.๋งŒ ํ–ˆ์„ ๋•Œ๋Š” ์ธ์ž๋กœ ์ „๋‹ฌ ๋œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉ(?)ํ•œ๋‹ค. ์–ด๋–ป๊ฒŒ ์„ค๋ช…ํ•ด์•ผ ํ• ์ง€๋„ ๋ง‰๋ง‰ํ•œ๋ฐ.. ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉด ์•„! ํ• ํ…Œ๋‹ˆ ์˜ˆ์‹œ๋ฌธ์„ ๋ณด์ž ์•„๋ž˜์™€ ๊ฐ™์€ ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋‹ค์Œ์„ ํ˜ธ์ถœํ•ด๋ณด์ž. function test(a, b, c){ var a, b, c = true; console.log(`It's test ${a} / ${b} / ${c}`); } test(1); test(1, 2)..
โœ… solved * Citrix Receiver ์ž๋™ ์„ค์น˜๊ฐ€ ์•ˆ๋  ๋•Œ for Mac Mac ์—์„œ Citrix Receiver ๋ฅผ ์ž๋™ ์„ค์น˜ํ•˜๋Š” ํ™ˆํŽ˜์ด์ง€์— ๊ฐ”๋”๋‹ˆ ์„ค์น˜๊ฐ€ ์•ˆ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ๊ฐ€..? ๊ทผ๋ฐ ๋ญ”๊ฐ€ ์ด์ƒํ•˜๊ฒŒ๋„ 'Mac ์—์„œ ์ € ์•„์ด์ฝ˜์„ ๋ณธ ์  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ..' ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด ์ฐพ์•„๋ดค๋”๋‹ˆ ์—ญ์‹œ๋‚˜ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋ฌผ๋ก  Citrix Receiver ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Citrix Workspace๋ฅผ ์ถ”๊ฐ€๋กœ ์„ค์น˜ํ•ด์ค˜์•ผ ํ–ˆ๊ธดํ–ˆ์ง€๋งŒ.. ์ผ๋ จ์˜ ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด๋‘”๋‹ค! 1. Citrix Receiver ๋ฅผ ์„ค์น˜ํ•œ๋‹ค. Receiver 12.9.1 for Mac - Citrix Receiver 12.9 for Mac product software www.citrix.com 2. Citrix Workspace ๋ฅผ ์„ค์น˜ํ•œ๋‹ค. Citrix Workspace app 2201 for Mac ..
JS * Mapbox ์‚ฌ์šฉํ•˜๊ธฐ ( ๊ธฐ์ดˆ์‚ฌ์šฉ๋ฒ•๋งŒ! ) ์ค‘๊ตญ์—์„œ๋Š” google map ์‚ฌ์šฉ์ด ์ž˜ ์•ˆ๋œ๋‹ค๊ณ  ํ•œ๋‹ค. ๋‚œ ์•ˆ ์จ๋ด์„œ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ.. ์•ˆ๋œ ๋‹จ๋‹ค... ๊ทธ๋ฆฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ Mapbox ! ์‚ฌ์‹ค ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์›Œ๋‚™ ๋ฌธ์„œ๊ฐ€ ์ž˜ ์ •๋ฆฌ๋˜์–ด ์žˆ์–ด์„œ ํ™ˆํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธ ํ•˜๋Š”๊ฒŒ ๋น ๋ฅด๋‹ค. ๊ธฐ๋ณธ ๋ช‡๊ฐ€์ง€์˜ ๋‚ด์šฉ๋งŒ ์ •๋ฆฌํ•ด ๋‘”๋‹ค! Map ๐Ÿ”— Create map object and connect element by id. Clear default bottom-right info button if attributionControl option set false. Marker ๐Ÿ”— Draw marker on the map. const marker = new mapboxgl.Marker({ color: "#FFFFFF" }).setLngLat([-74.5, 40]) .addTo(map..
JS * JSON ๋ฐ์ดํ„ฐ KEY๋งŒ UpperCase ํ•˜๊ธฐ ! ( ์‘์šฉํ•˜๋ฉด LowerCase ๋„ ๊ฐ€๋Šฅ! ) JSON ๋ฐ์ดํ„ฐ์˜ KEY ๋„ค์ด๋ฐ์ด ์ •๋ง.. ๋„ˆ๋ฌด ์˜ˆ์˜๋”๋ผ.. ใ…Ž ์ฐพ์•„๋ณด๋˜ ์ค‘ ์ข‹์€ ์†Œ์Šค๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๊ณ  ์ผ๋ถ€ ์ˆ˜์ •ํ•ด์„œ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์„ค์น˜ํ• ๋งŒํ•œ ๋‚ด์šฉ๋„ ์•„๋‹Œ๊ฑฐ ๊ฐ™๊ตฌ.. ์ฝ”๋“œ์— ๋”ฑ! ํ•˜๊ณ  ๋ชจ๋“  ๋‚ด์šฉ์ด ๋ณด์ด๋‹ˆ ์ƒ์„ธ๋‚ด์šฉ์€ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค :) key๋ฅผ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พธ๊ณ  ์‹ถ์œผ์‹œ๋ฉด toUpperCase() ๋ถ€๋ถ„์„ toLowerCase()๋กœ ๋ฐ”๊พธ๋ฉด ๋˜๊ฒ ์ ธ!! function jsonKeyUpperCase(object){ if(Array.isArray(object)){ // ๋ฆฌ์ŠคํŠธ ํ˜•์‹์œผ๋กœ ๋„˜์–ด์˜ค๋Š” ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ object.forEach((item, index) =>{ object[index] = Object.fromEntries(Object.entries(item).map(([key, value]) => [k..
JQuery * .off() ๊ฐ™์€ ์ด๋ฒคํŠธ ์ค‘์— ํŠน์ • ์ด๋ฒคํŠธ๋งŒ ๋Œ ์ˆ˜๋Š” ์—†์„๊นŒ? ์ •๋‹ต์ด ๊ถ๊ธˆํ•  ํ…Œ๋‹ˆ ๊ฐ€.๋Šฅ.ํ•˜.๋‹ค ๐Ÿฅณ ๐Ÿฅณ ๐Ÿฅณ Don't shout, just clap!! .off()๋Š” ์ด๋ฒคํŠธ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. .off('์ด๋ฒคํŠธ๋ช…')๋Š” ํ•ด๋‹น ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ด๋ฒคํŠธ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. .off('์ด๋ฒคํŠธ๋ช…', ํ•ธ๋“ค๋Ÿฌ)๋Š” ํ•ด๋‹น ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ์— ํ•ด๋‹นํ•˜๋Š” ๋ชจ๋“  ์ด๋ฒคํŠธ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๋“  ์–ด๋–ค ๊ฒƒ์„ ์‚ญ์ œํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ๋ ค์ค˜์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ต๋ช…ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ ํŠน์ • ์ด๋ฒคํŠธ ์ œ๊ฑฐ๋ฅผ ํ•˜๊ธฐ๋Š” ์–ด๋ ต๋‹ค. ์•„๋‹ˆ ์—†๋‹ค๊ณ  ๋ด์•ผํ•˜๋‚˜. ๋Œ€์ถฉ ์„ค๋ช…์€ ์ €๋ ‡๊ฒŒ ๋‚˜์™€์žˆ๊ณ  ๊ทธ๋ ‡๋‹ค๋ฉด ํŠน์ • ์ด๋ฒคํŠธ๋Š” ์–ด๋–ป๊ฒŒ ๋„๋Š” ๊ฑธ๊นŒ? NameSpace ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค! ์ด๋ฒคํŠธ๋ฅผ ์ง€์ •ํ•  ๋•Œ .on('์ด๋ฒคํŠธ๋ช….๋„ค์ž„์ŠคํŽ˜์ด์Šค', ~); ์š”๋ ‡๊ฒŒ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋ฉด! .off('์ด๋ฒคํŠธ๋ช….๋„ค์ž„์ŠคํŽ˜์ด์Šค'); ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์ด๋ฒคํŠธ๋งŒ ๋Œ ์ˆ˜ ์žˆ๋‹ค! ์ฝ”๋“œ๋กœ ๋ฐ”๋กœ ๋ณด๊ธฐ! Se..