javascript 9

[IDE] intellij์—์„œ javascript ์‚ฌ์šฉํ•˜๊ธฐ

์ด๋ฒˆ์— leetcode์—์„œ javascript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์ œ๊ฐ€ local์—์„œ javascript ์‹คํ–‰์„ ํ•ด๋ณธ์ ์ด ์—†๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ์— local์—์„œ test๋ฅผ ์œ„ํ•œ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•ด ๋ณผ๊นŒ ํ•ฉ๋‹ˆ๋‹ค. intellij์—์„œ nodejs๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ์ ์ธ ์„ค์น˜๋ฒ•๊ณผ ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์„ค์น˜ 1. nodejs ์„ค์น˜ https://nodejs.org/ko/download LTS(Long Term Support) ๋ฒ„์ „์„ ์„ค์น˜ํ•ด ์ค๋‹ˆ๋‹ค. ์–ด๋–ค ๋ฒ„์ „์ด๋“  ์ƒ๊ด€์—†์ง€๋งŒ ์ด์™• ์•ˆ์ •์ ์ด๋ฉด์„œ ์˜ค๋ž˜๋™์•ˆ ์ง€์›ํ•ด ์ฃผ๋Š” LTS ๋ฒ„์ „์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ค์น˜ ํ™•์ธ node๋ฅผ ์‹คํ–‰ํ•ด ๋ด…๋‹ˆ๋‹ค. ์ €๋Š” ์˜ˆ์ „์— ์„ค์น˜ํ•ด์„œ ๋ฒ„์ „์ด ํ•œ๋‹จ๊ณ„ ๋‚ฎ๋„ค์š”. npm(node package m..

Tools 2023.04.14

[javascript]Serialize์‹œํ‚ฌ ์‹œ ์ฃผ์˜ํ•  ์ 

์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด serialize๋ฅผ ํ•˜๋Š” ๊ณผ์ •์—์„œ ํŠน์ •ํ•œ ๊ฐ’๋“ค์ด ์ž๊พธ ๋น ์ ธ์„œ ๋„˜์–ด๊ฐ€๊ธธ๋ž˜ ์˜ค๋žœ์‹œ๊ฐ„ ์‚ฝ์งˆ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๋ถ€ํ„ฐ๋Š” ์‚ฝ์งˆ์„ ํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์˜ค๋Š˜ ํ•œ ์‚ฝ์งˆ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Serialize ์‹œ disabled๋Š” ์ ์šฉ์ด ๋˜์ง€ ์•Š์Œ. ์ œ๋ชฉ ๊ทธ๋Œ€๋กœ .serializeObject()ํ˜น์€serializeArray() ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ์ง๋ ฌํ™” ์‹œํ‚ฌ ๊ฒฝ์šฐ ํ•ด๋‹น ํƒœ๊ทธ์— disabled ์†์„ฑ์ด ์กด์žฌํ•˜๋ฉด serialize์— ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ client์ชฝ์—์„œ ๊ฐ’ ์ถœ๋ ฅ์ด ์ž˜ ๋˜๋Š”๋ฐ server์ชฝ์—์„œ ๊ฐ’์ด ๋„˜์–ด์˜ค์ง€ ์•Š๋Š”๋‹ค๋ฉด serialize ์‹œ ๊ฐ’์ด ๋ˆ„๋ฝ๋œ ๊ฒƒ์„ ์˜์‹ฌํ•ด ๋ณด์‹œ๋Š”๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค. ๋ง‰์ƒ ์ž‘์„ฑํ•˜๋‹ˆ ๊ธ€์ด ์ƒ๋‹นํžˆ ์งง๋„ค์š”. ์ €์ฒ˜๋Ÿผ ์ด๋ ‡๊ฒŒ ์‰ฌ์šด ๊ฒฝ์šฐ์— ๋ฐ˜๋‚˜์ ˆ์„ ํ—ˆ๋น„ํ•˜์‹œ์ง€ ์•Š์œผ์‹œ๋ฉด ์ข‹๊ฒ ..

[jQuery]< 1.6 or + prop() vs attr()

Before we go ์˜ˆ์ „์— prop()์™€ attr()์„ ์‚ฌ์šฉํ•จ์— ์žˆ์–ด ์กด์žฌํ•˜๋Š” ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ ์ฐพ์•„๋ณธ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด๋ฒˆ์— ๋‹ค์‹œ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜๋‹ˆ ๊ธฐ์–ต์ด ์•ˆ๋‚˜๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ ํ›„์— ๋˜๋‹ค์‹œ ๊ธฐ์–ต์ด ๋‚˜์ง€ ์•Š์„ ๋•Œ ๋‹ค์‹œ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋ฒ„์ „์— ๋”ฐ๋ฅธ ์‚ฌ์šฉ๋ฒ• ์ฐจ์ด jquery 1.6 ์ด์ „ โ€‹ 1.6๋ฒ„์ „ ์ด์ „์—๋Š” attr()์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ์—๋Š” property์™€ attribute๊ฐ€ ๊ตฌ๋ถ„๋˜์ง€ ์•Š๋Š” ํ˜•ํƒœ๋กœ ๊ฒฐ๊ณผ๊ฐ’์ด ์ œ๊ณต๋˜์—ˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. jquery 1.6 ์ดํ›„ โ€‹ 1.6๋ฒ„์ „ ์ดํ›„๋ถ€ํ„ฐ๋Š” attr()์€ ์†์„ฑ ๊ทธ ์ž์ฒด์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, prop()๋Š” ์†์„ฑ๊ฐ’์„ ๋ช…์‹œ์ ์œผ๋กœ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. https://api.jquery.com/attr/ As of jQuery..

[javascript] Uncaught TypeError: Cannot read properties of undefined (reading 'classList') modal.js:313

๋ฒ„์ „ Bootstrap 5.13 Error modal์— ๊ฐ’์„ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด script๋กœ .modal("show")๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. modal.js:313 Uncaught TypeError: Cannot read properties of undefined (reading 'classList') at he._isAnimated (modal.js:313) at he._initializeBackDrop (modal.js:195) at new he (modal.js:83) at Function.getOrCreateInstance (base-component.js:55) at HTMLButtonElement. (modal.js:421) at HTMLDocument.s..

[javaScript]Element.innerHTML๋Š”<script>๋ฅผ ์‹คํ–‰์‹œํ‚ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

innerHTML innerHTML์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ํƒœ๊ทธ๋ฅผ ์ผ๋ฐ˜ text ๋ฌธ์ž๋กœ ์ธ์‹ํ•˜๊ฒŒ๋” ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” https://www.w3.org/TR/2008/WD-html5-20080610/dom.html#innerhtml0 ํ•ด๋‹น ๋งํฌ์—์„œ ๋‚˜์™€ ์žˆ๋“ฏ์ด script elements inserted using innerHTML do not execute when they are inserted. code injection๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋ผ๋Š”๊ตฐ์š”. ๋”ฐ๋ผ์„œ ajax๋กœ ํŽ˜์ด์ง€๋ฅผ ๋ถ™์ผ ๋•Œ innerHTML์„ ์ œ์™ธํ•˜๊ณ  ๋ฅผ ์ ์šฉ ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์€ ์ด 2๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. elemental.innerHTML=string ๋Œ€์‹  jQuery์˜ $(elemental).html(string)์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ..

[javaScript] ๊ธฐ์กด jQuery์˜ ajax๋ฅผ fetch๋กœ ๋ฐ”๊ฟ” ์‚ฌ์šฉํ•˜๊ธฐ(๊ธฐ์ดˆ)

Before ํ•ญ์ƒ jQuery์˜ ajax๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋™๊ธฐ ์š”์ฒญ์„ ์ฃผ๊ณ  ๋ฐ›์•˜๋Š”๋ฐ ์š”์ฆ˜์—๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ fetch()๋ฅผ ์ง€์›ํ•œ๋‹ค๋Š” ๊ธ€์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ €๋„ ๊ธฐ๋ณธ์— ์‚ฌ์šฉํ•˜๋˜ $.ajax()๋ฅผ fetch๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ”๊ฟ” ๋ณด๊ธฐ๋กœ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. $.ajax | GET ๊ธฐ์กด ์ฝ”๋“œ $.ajax({ url: getContextPath() +"/restapi/member/memberList" , type: 'get', success: function(res) { console.log("์„ฑ๊ณต"); console.log(res); }, error: function(xhr, error, msg) { console.log(xhr); console.log(error); console.log(msg); ..

2021_06_25) ํ†ตํ•ฉ๊ฒ€์ƒ‰(ElasticSearch) ๋ฐ์ดํ„ฐ ๋ฐ›์•„์™€์„œ ๊ฐ€๊ณตํ•œ ํ›„ ์ถœ๋ ฅํ•˜๊ธฐ(java)

Preview ElasticSearch๋กœ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๊ธฐ public List totalSearch( Map query , Map sort , Integer size ){ /* * search API ์ฐธ๊ณ  ์ฃผ์†Œ * https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/java-rest-high-search.html */ // search์— index ์กฐ๊ฑด ๊ฑธ๊ธฐ SearchRequest searchRequest = new SearchRequest(); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); // query์— ์žˆ๋Š” ์…‹ ์ฟผ๋ฆฌ ์กฐ๊ฑด์œผ๋กœ ๊ฑธ๊ธฐ searchSou..

TIL 2021.06.26

[api] (javascript) Sweetalert2

Alert ์ฐฝ ์ค‘์— ๋ฌด๋ฃŒ๋กœ ์“ธ๋งŒํ•œ alter api๋ฅผ ์ฐพ๋‹ค๊ฐ€ sweetalert๋ฅผ ์ ‘ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. sweetalert์—๋Š” 1, 2๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ, 1์€ ์•ฝ 3๋…„ ์ „๋ถ€ํ„ฐ upload๊ฐ€ ๋˜์–ด์žˆ์งˆ ์•Š๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ 2๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Sweetalert2 ์‚ฌ์ดํŠธ ์ฃผ์†Œ https://sweetalert2.github.io/ Sweetalert2 git ์ฃผ์†Œ https://github.com/sweetalert2/sweetalert2 Sweetalert2 cdn ์ฃผ์†Œ https://www.jsdelivr.com/package/npm/sweetalert2 cdn์œผ๋กœ ์ „์ฒด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• Swal.fire('Hello world!'); Swal.fire('Oops...', 'Something went ..

Project2021/PMS 2021.06.07

[JSP](javascript)popover(bootstrap) ๋น„๋™๊ธฐ์š”์ฒญ(ajax)๋กœ title, content ๊ฐ€์ ธ์˜ค๊ธฐ

https://getbootstrap.com/docs/5.0/components/popovers/ html ํƒœ๊ทธ ์˜ˆ์‹œ Dismissible popover javaScript ์˜ˆ์‹œ var popover = new bootstrap.Popover(document.querySelector('.popover-dismiss'), { trigger: 'focus' }) ํŽ˜์ด์ง€ ์•„๋ž˜์ชฝ content ์˜ˆ์‹œ ์‹ค์ œ ์ž‘์„ฑ ์ฝ”๋“œ html ๋ถ€๋ถ„ $ javaScript $(function () { $("#listBody a").hover(function(){ // ์ดˆ๊ธฐํ™” ํ›„ ํ† ๊ธ€ let url = this.href; let retValue = null; $.ajax({ url : url, dataType: "json", succ..

CS 2021.04.18
728x90
๋ฐ˜์‘ํ˜•