Latest Posts

Fresh thoughts and recent updates from the blog

Dev/Frontend

[javascript] ๊ฒ€์ƒ‰์—”์ง„์˜ ํฌ๋กค๋ง ๋ด‡ ํƒ์ง€ ๋ฐฉ๋ฒ•

๋จธ๋ฆฟ๋ง ๊ฐ€๋” ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์šด์˜ํ•  ๋•Œ ์œ ์ž…๋œ ์‚ฌ์šฉ์ž๊ฐ€ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž์ธ์ง€ ํฌ๋กค๋ง ๋ด‡์ธ์ง€ ํ™•์ธํ•ด์•ผํ•  ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿด ๋•Œ๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ„์— ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ javascript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ•˜๋‚˜ ์„ค์น˜ํ•ด์„œ ์†์‰ฝ๊ฒŒ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์— ์†Œ๊ฐœ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” isbot ์ด๋ผ๊ณ  ํ•ด์„œ ํ˜„์žฌ npm package list ๊ธฐ์ค€์œผ๋กœ ๊ฐ€์žฅ ๋‹ค์šด๋กœ๋“œ ์ˆ˜๊ฐ€ ๋งŽ๊ณ  ์—…๋ฐ์ดํŠธ๊ฐ€ ์ตœ๊ทผ์— ์žˆ๋˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๊ฑด ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”. https://www.npmjs.com/package/isbot isbot ๐Ÿค– detect bots/crawlers/spiders via the user agent.. Latest version: 3.4.3, last published: 20 days ago. Sta..

By ์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž ยท 2022. 3. 7.

Dev/Frontend

[Handlebars] View Engine ์œผ๋กœ์„œ์˜ Handlebars ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

๋“ค์–ด๊ฐ€๊ธฐ ์ „ ์ €๋Š” Handlebars ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋Š” ์›น ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ณ ์ž ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ๋ฒ•์„ ์ตํžˆ๊ธฐ ์œ„ํ•ด์„œ ํฌ์ŠคํŒ…์— ์ •๋ฆฌํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. Handlebars ์™€ ๋‹ค๋ฅธ View Engine ๊ฐ„์˜ ์žฅ๋‹จ์  ๋ฐ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค๋ฃจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Handlebars ๋ž€ ๋ฌด์—‡์ธ๊ฐ€? Handlebars ๋Š” ๊ฐ„๋‹จํ•œ ํ…œํ”Œ๋ฆฟ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. Client Side ์—์„œ HTML ํƒœ๊ทธ ๋˜๋Š” ๋‹ค๋ฅธ ๋ฌธ์ž์—ด๋“ค ์‚ฌ์ด์— ํ…œํ”Œ๋ฆฟ ๊ธฐํ˜ธ์™€ ์ž…๋ ฅ๊ฐ’์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. {{firstname}} {{lastname}} ํ‘œํ˜„์‹์€ {{ ๋กœ ์‹œ์ž‘ํ•ด์„œ ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ€๊ณ  }} ๊ธฐํ˜ธ๋กœ ๋๋‚˜๋Š” ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ํ…œํ”Œ๋ฆฟ์ด ์‹คํ–‰๋˜๋ฉด ์ด์™€ ๊ฐ™์€ ํ‘œํ˜„์‹์€ ํŠน์ • ๊ฐ’์œผ๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค. Handlebars ์„ค์น˜๋ฒ• ๊ฐ€์žฅ ๋นจ๋ฆฌ Handlebars ์„ ํ…Œ์ŠคํŠธํ•ด๋ณผ ์ˆ˜ ์žˆ..

By ์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž ยท 2022. 2. 12.

Dev/Frontend

[์˜ค๋ฅ˜ํ•ด๊ฒฐ] Uncaught SyntaxError: Function statements require a function name

Uncaught SyntaxError: Function statements require a function name ์œ„ ์˜ค๋ฅ˜๋Š” ์˜ค๋ฅ˜ ๋‚ด์šฉ ๊ทธ๋Œ€๋กœ ํ•จ์ˆ˜ ์ •์˜ ์ฝ”๋“œ์—์„œ ํ•จ์ˆ˜์˜ ์ด๋ฆ„์ด ์—†์–ด์„œ ์ƒ๊ฒจ๋‚˜๋Š” ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ ํ•จ์ˆ˜๊ฐ€ ์ •์˜๋˜์–ด ์žˆ๋‹ค๋ฉด, ์–ด๋–ป๊ฒŒ ์ •์˜๋˜์–ด ์žˆ๋Š”์ง€, ํ˜น์‹œ ์ด๋ฆ„์ด ์—†๋Š” ์ง€, ์•„๋‹ˆ๋ฉด ์˜คํƒ€๊ฐ€ ๋‚œ ๊ฑด ์•„๋‹Œ์ง€ ํ•œ๋ฒˆ ํ™•์ธํ•ด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. function () { return "Domdom's World"; } // Uncaught SyntaxError: Function statements require a function name ๊ทธ ์ด์œ ๋Š” ํ•จ์ˆ˜์— ์ด๋ฆ„์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ด์ฃ . ํ˜น์‹œ ์ต๋ช… ํ•จ์ˆ˜(anonymous function)๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค๋ฉด..

By ์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž ยท 2021. 12. 3.

Dev/Frontend

[์บ์‹œ๋ฐฉ์ง€] ์›น ๊ฐœ๋ฐœ ์‹œ CSS, JS, Image ์บ์‹œ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฒ•

์›น ์‚ฌ์ดํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ์ค‘์— ์ด๋ฏธ์ง€๋‚˜ css ๋˜๋Š” javascript ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•ด๋„ ๋ฐ˜์˜์ด ์•ˆ๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ๋ฅผ ๊ฐ€๋” ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ฌ์ง€์–ด ์ˆ˜์ •๋ณธ์„ ๋ฐฐํฌํ•˜๊ณ  ๋‚˜์„œ๋„ ์–ด๋–ค ์‚ฌ์šฉ์ž๊ฐ€ ์ด์ „์— ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๊ณ  ๋‚˜์„œ ์ธํ„ฐ๋„ท ์‚ฌ์šฉ ๊ธฐ๋ก ๋ฐ ์บ์‹œ ์ง€์šฐ๊ธฐ๋ฅผ ํ•˜์ง€ ์•Š์€ ์ด์ƒ ๋ฐฐํฌ ์ด์ „์˜ css, js, image ํŒŒ์ผ๋“ค์ด ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์–ด์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๊ฑฐ๋‚˜ ๋ฒ„๊ทธ๊ฐ€ ์ƒ๊ธฐ๋Š” ์ผ€์ด์Šค๊ฐ€ ์ƒ๊ธฐ๊ณค ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ์‚ฌ์šฉ์ž๋ณด๊ณ  ์˜ค๋ž˜๋œ ์บ์‹œ(stale cache) ์ข€ ์ง€์›Œ์ฃผ์„ธ์š” ๋ผ๊ณ  ํ•œ๋‹ค๊ฑฐ๋‚˜ ์ƒˆ๋กœ๊ณ ์นจ ์ข€ ํ•ด์ฃผ์„ธ์š” ๋ผ๊ณ  ํ•œ๋‹ค๊ฑฐ๋‚˜ ์‹œํฌ๋ฆฟ ๋ธŒ๋ผ์šฐ์ €๋กœ ํ•œ๋ฒˆ ํ•ด๋ณด์‹œ๊ฒ ์–ด์š” ๋ผ๊ณ  ํ•˜๋Š” ๊ฑด ์ •๋ง ์–ด๋ ค์šด ์ผ์ด๊ฒ ์ฃ . ๊ธฐ๋ณธ์ ์œผ๋กœ ์บ์‰ฌ์˜ ๋™์ž‘์€ URL์„ ๊ธฐ์ค€์œผ๋กœ ๊ธฐ์กด์— ๋™์ผํ•œURL์— ์š”์ฒญํ•œ ์ ์ด ์žˆ์—ˆ๋Š” ์ง€๋ฅผ ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค. ๊ทธ..

By ์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž ยท 2021. 11. 3.

Dev/Frontend

[์˜ค๋ฅ˜ํ•ด๊ฒฐ] Uncaught SyntaxError: Unexpected token ' in JSON at position 1

Uncaught SyntaxError: Unexpected token ' in JSON at position 1 ๋ผ๋Š” ์˜ค๋ฅ˜๋ฅผ ํ˜น์‹œ ๋ณด์‹ ์  ์žˆ์œผ์‹ ๊ฐ€์š”?? ์ €๋Š” JSON.parse ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ž์ฃผ๋ณด๋Š” ์˜ค๋ฅ˜์ธ ๊ฒƒ ๊ฐ™์•„์š”! ์ฝ”๋“œ๊ฐ€ ํ•œ ์ค„์ด๋ผ๋ฉด ๋ฐ”๋กœ ์–ด๋–ค ์ด์œ ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ ๊ฒƒ์ธ์ง€ ํ•ด๊ฒฐํ•˜๊ธฐ ์‰ฌ์šธํ…๋ฐ, ๊ธด ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌ ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•˜์˜€๊ฑฐ๋‚˜ ํ•œ๋ฒˆ์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๋””๋ฒ„๊น… ํ•ด๋ณด๋ ค๋‹ค๊ฐ€ ์˜ค๋ฅ˜๊ฐ€ ๋‚  ๊ฒฝ์šฐ์—๋Š” ์ •๋ง ์–ด๋–ค ์ด์œ ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋Š” ์ง€ ํŒŒ์•…ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™์•„์š”! ๊ทธ๋ž˜์„œ ํ˜น์‹œ ๋ชฐ๋ผ์„œ ์ด๋ฒˆ์—๋„ ์˜ค๋ฅ˜์— ๊ด€๋ จํ•ด์„œ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ์šฐ์„  ์œ„ ์˜ค๋ฅ˜๋Š” ์•„๋ž˜์˜ ์ฝ”๋“œ์˜ ๊ฒฝ์šฐ์— ์˜ค๋ฅ˜๊ฐ€ ๋‚  ์ˆ˜ ์žˆ์–ด์š”! var num = JSON.parse("{'searchNum':1234}"); console.log(num.searchN..

By ์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž ยท 2021. 9. 2.

Dev/Frontend

[์˜ค๋ฅ˜ํ•ด๊ฒฐ] Uncaught ReferenceError: $ is not defined

Uncaught ReferenceError: $ is not defined ๋ผ๊ณ  ํ•˜๋Š” ์˜ค๋ฅ˜๋ฅผ ํ˜น์‹œ ๋ณด์‹  ์  ์žˆ์œผ์‹ ๊ฐ€์š”? ์‚ฌ์‹ค ์ œ ์ž…์žฅ์—์„œ๋Š” ์ด ์˜ค๋ฅ˜๋ฅผ ์–ธ์ œ ์ž์ฃผ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋˜๋‚˜๋ฉด, Reflected XSS ์ทจ์•ฝ์ ์„ ๋ฐœ๊ตดํ•  ๋•Œ ๋ฐœ๊ฒฌํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์›น ๊ฐœ๋ฐœ ์‹œ์—๋„ ๋ณด๊ณค ํ•˜์ฃ . ์šฐ์„  ์ด ์˜ค๋ฅ˜์˜ ์›์ธ๋ถ€ํ„ฐ ํŒŒ์•…ํ•ด๊ฒ ์Šต๋‹ˆ๋‹ค. hello ๊ฐ€์žฅ ์ฃผ๋œ ์›์ธ์€ script ํƒœ๊ทธ์— $ ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ jquery๋ฅผ ์ƒ๋‹จ์— ์ •์˜ํ•ด์ฃผ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์œ„์˜ jquery ์Šคํฌ๋ฆฝํŠธ ํƒœ๊ทธ์˜ ์ฃผ์„์„ ํ’€๋ฉด ๋™์ž‘ํ•˜๊ฒ ์ง€์š”. ๊ทธ๋ฆฌ๊ณ  ๋ฌผ๋ก  ์•„๋ž˜์™€ ๊ฐ™์ด $ ๊ธฐํ˜ธ๋ฅผ ๋จผ์ € ์‚ฌ์šฉํ•˜๊ณ  jquery ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ•˜๋‹จ์— ์‚ฝ์ž…ํ•˜์—ฌ ์ˆœ์„œ์— ๋”ฐ๋ผ ์•„์ง ์ •์˜๋˜์ง€ ์•Š์€ $ ๋ผ๋Š” jquery ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ ค๋‹ค๊ฐ€ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š” ์ผ€์ด์Šค๋„ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค. hello..

By ์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž ยท 2021. 9. 1.

Dev/Frontend

[echarts] ๋ฌด๋ฃŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฐจํŠธ Echarts ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ

์ด์ „ ํฌ์ŠคํŒ…์—์„œ ์˜ˆ์œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฐจํŠธ๋กœ amcharts๋ฅผ ์†Œ๊ฐœํ–ˆ์—ˆ๋Š”๋ฐ์š”! https://domdom.tistory.com/2?category=970264 [javascript Chart] ์˜ˆ์œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฐจํŠธ (javascript chart) ์‚ฌ์ดํŠธ amcharts! ์ตœ๊ทผ์— ์ž์ฃผ์“ฐ๊ณ ์žˆ๋Š” ์ฐจํŠธ ์‚ฌ์ดํŠธ amcharts ๊ฐœ์ธ์ ์œผ๋กœ ๊ธฐ๋Šฅ์„ฑ, ์‘์šฉ์„ฑ, ๋””์ž์ธ ์„ธ ๊ฐ€์ง€ ๋ชจ๋‘ ๊ดœ์ฐฎ์€ ์ฐจํŠธ๋‹ค. ์‚ฌ์šฉ๋ฒ•๋„ ๋„ˆ๋ฌด ๊ฐ„๋‹จํ•˜๊ณ , ๋””์ž์ธ๋„ ์˜ˆ์˜๊ณ , ๋ฌด์—‡๋ณด๋‹ค ์‘์šฉ๋ ฅ์ด ์ฉŒ๋Š” ์ฐจํŠธ! ํ•œ ์ฐจํŠธ๋ฅผ domdom.tistory.com amcharts๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋ถˆํŽธํ–ˆ๋˜ ์ ์€, ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ amcharts์˜ ๋กœ๊ณ ๊ฐ€ ๊ทธ๋ž˜ํ”„๋งˆ๋‹ค ๊ณ„์† ์ƒ๊ธด๋‹ค๋Š” ์ ์ด์—์š”. ์ด๋ฒˆ์—๋Š” ๋ฌด๋ฃŒ๋กœ, ๋กœ๊ณ ์—†์ด, ๋‹ค์–‘ํ•˜๊ฒŒ ์ปค์Šคํ…€์ด ๊ฐ€๋Šฅํ•œ echarts๋ฅผ ์†Œ๊ฐœํ•ด๋“œ๋ฆฌ๋ ค๊ณ ..

By domdomi ยท 2021. 9. 1.
728x90
๋ฐ˜์‘ํ˜•
728x90
๋ฐ˜์‘ํ˜•

Visitor Trends

Daily blog stats and creator awards

โœฟ DASHBOARD
Today

Yesterday

Total

Posts

0

2023 IT Creator
2024 Food Creator
2025 News Creator
2026 News Creator