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

๐Ÿ–ฅ๏ธ ํ”„๋ก ํŠธ์—”๋“œ/JavaScript7

[Axios] Axios๋ฅผ ์‚ฌ์šฉํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ Axios๋ž€? Axios๋Š” JavaScript๋กœ ์ž‘์„ฑ๋œ ๊ฐ•๋ ฅํ•˜๊ณ  ์œ ์—ฐํ•œ HTTP ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฃผ๋กœ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ์—์„œ API ํ˜ธ์ถœ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•จ ๋ธŒ๋ผ์šฐ์ €์™€ Node.js ํ™˜๊ฒฝ์—์„œ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, HTTP ์š”์ฒญ์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์คŒ ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ• Axios๋Š” GET, POST, PUT, DELETE ๋“ฑ ๋‹ค์–‘ํ•œ HTTP ๋ฉ”์„œ๋“œ๋ฅผ ์ง€์›ํ•จ // PUT ์š”์ฒญ axios.put('/api/users/1', { username: 'updateduser', password: 'newpassword' }) .then(response => { console.log(response.data); // ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ์˜ ์‘๋‹ต }) .catch(error => { console.error(erro.. 2023. 12. 15.
[๊ณต์œ ] ํ‹ฐ์Šคํ† ๋ฆฌ ์ž๋™ ๋ชฉ์ฐจ ๋งŒ๋“ค๊ธฐ, ๋”ฐ๋ผ๋‹ค๋‹ˆ๋Š” ์ž๋™ ๋ชฉ์ฐจ ์ƒ์„ฑ ๋ฐฉ๋ฒ•, ๋ชฉ์ฐจ ๋„ค๋น„๊ฒŒ์ดํ„ฐ ๋งŒ๋“ค๊ธฐ (์™„์ „ ์‰ฌ์›€ ์ดˆ๋ณด์ž ๊ฐ€๋Šฅ) ํ‹ฐ์Šคํ† ๋ฆฌ ๋ชฉ์ฐจ ๋„ค๋น„๊ฒŒ์ดํ„ฐ ๋งŒ๋“ค๊ธฐ(ver_1) by LabMate ๋งค์šฐ ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค ๊ฐ ํ‹ฐ์Šคํ† ๋ฆฌ์˜ ํ…Œ๋งˆ์— ๋งž๊ฒŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก css์— ์ฃผ์„์„ ๋‹ฌ์•„๋‘์—ˆ์Šต๋‹ˆ๋‹ค ๋„ค๋น„๊ฒŒ์ดํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ๊ธฐ์ค€ ๊ธ€ ์ž‘์„ฑ์—์„œ ์ œ๋ชฉ1(h1), ์ œ๋ชฉ2(h2), ์ œ๋ชฉ3(h3) ์ด๊ฑฐ๋‚˜ blockquote(๊ทธ ์ค‘์—์„œ data-ke-style="style2"์ธ ๊ฒƒ) ์ž…๋‹ˆ๋‹ค ๋„ค๋น„๊ฒŒ์ดํ„ฐ ๊ธฐ์ค€์— ๋”ฐ๋ผ ๊ธ€์„ ์ž‘์„ฑํ•˜๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค ๊ฐ ๋ชฉ์ฐจ๋ณ„ ๋ ˆ๋ฒจ์€ ์„ค์ •ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘ ๋™์ผ ๋ ˆ๋ฒจ์ž…๋‹ˆ๋‹ค ๊ถ๊ธˆํ•œ ์ ์€ ๋Œ“๊ธ€ ๋‹ฌ์•„์ฃผ์„ธ์š” ์ ์šฉ ๊ฒฐ๊ณผ (์šฐ์ธก ๋„ค๋น„๊ฒŒ์ดํ„ฐ) ๊ธ€์ž๋ฅผ ๋ˆ„๋ฅด๋ฉด ํŽ˜์ด์ง€ ๋‚ด์—์„œ ์ด๋™์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค ์Šคํฌ๋กค์„ ๋‚ด๋ ค๋„ ๋”ฐ๋ผ๋‹ค๋‹™๋‹ˆ๋‹ค ์„ค์ • ์ „ ํ‹ฐ์Šคํ† ๋ฆฌ ์Šคํ‚จ ์ •๋ณด Book club ์Šคํ‚จ์„ ์ ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ๊ธ€ ํŽ˜์ด์ง€์—์„œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ปฌ๋Ÿฌ๋‚˜ ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ์•ฝ๊ฐ„ ์ˆ˜์ •ํ•œ ์ƒ.. 2023. 12. 9.
[Script] ์ฒดํฌ๋ฐ•์Šค ๋‚ด๊ฐ€ (์ฒดํฌ)์„ ํƒํ•œ ์ˆœ์„œ๋Œ€๋กœ ์ž…๋ ฅ๋˜๋„๋ก. ์ตœ๊ทผ์— ์„ ํƒํ•œ ๊ฒƒ์ด ๊ฐ€์žฅ ๋‚˜์ค‘์—. ์ฒดํฌ ํ•ด์ œํ•˜๋ฉด ๊ทธ ๋‚ด์šฉ๋งŒ ์‚ญ์ œ ์ฒดํฌํ•˜๋ฉด ์•„๋ž˜์— ์ฒดํฌํ•œ ๋‚ด์šฉ ํ…์ŠคํŠธ ์จ์ฃผ๊ธฐ ์ˆ˜๋™์œผ๋กœ ๊ฐœ๋ณ„์ฒดํฌํ–ˆ์„ ๋•Œ ์ „์ œ๋„ ์ž๋™์œผ๋กœ ์ฒดํฌ๋˜๊ณ , ํ•˜๋‚˜๋งŒ ์ฒดํฌ ํ’€์–ด๋„ ์ฒดํฌํ•ด์ œ๋˜๊ฒŒ ์ฒดํฌ ๊ฐœ์ˆ˜๊ฐ€ 4์ดํ•˜, 9์ผ ๋–„ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์„ฑ๊ณต alert ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๋ฉฐ ์ƒˆ๋กœ ๋ฐฐ์šด ๋‚ด์šฉ $(์„ ํƒ์ž).arrt("์†์„ฑ ์ด๋ฆ„","์†์„ฑ ๊ฐ’")์™€ $(์„ ํƒ์ž). removeAttr("์†์„ฑ ์ด๋ฆ„")์€ jQuery 1.6 ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ๋™์ž‘ํ–ˆ์ง€๋งŒ, ์ตœ์‹  ๋ฒ„์ „์—์„œ๋Š” .prop() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•จ ์†์„ฑ ์ถ”๊ฐ€ ์˜ˆ์‹œ: $("#allChk").prop("checked", true); ์†์„ฑ ์ œ๊ฑฐ ์˜ˆ์‹œ: $("#allChk").prop("checked", false); ์ œ์ด์ฟผ๋ฆฌ์—์„œ ํƒœ๊ทธ๋กœ ์„ .. 2023. 12. 7.
[Script] ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ JavaScript/JQuery๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ ์š”๊ตฌ์‚ฌํ•ญ id : ๋ฌธ์ž(์˜์–ด), ์ˆซ์ž๋งŒ, ์ค‘๋ณต์ฒดํฌ, "test" pw : ๋น„๋ฐ€๋ฒˆํ˜ธํ™•์ธ(๊ฐ€์ž…์‹ ์ฒญ๋ฒ„ํŠผ ํด๋ฆญ์‹œ) ์ด๋ฆ„ : 5๊ธ€์ž(maxlength x)-script ๋ฌธ์ž(ํ•œ๊ธ€,์˜์–ด) 5๊ธ€์ž ๋„˜์–ด๊ฐˆ ์‹œ ๋ฐ”๋กœ ์ฒดํฌ ์ด๋ฉ”์ผ : ์œ ํšจ์„ฑ(๊ฐ€์ž…์‹ ์ฒญ๋ฒ„ํŠผ ํด๋ฆญ์‹œ) ํœด๋Œ€ํฐ : ์ˆซ์ž๋งŒ 4์ž๋ฆฌ -> 3๋ฒˆ์งธ๋กœ 4๊ฐœ ์ž…๋ ฅํ•˜๋ฉด 3๋ฒˆ์งธ ์ฐฝ์œผ๋กœ ์ปค์„œ์ด๋™ ์ฃผ๋ฏผ๋ฒˆํ˜ธ : ์ˆซ์ž๋งŒ ์ฃผ๋ฏผ๋ฒˆํ˜ธ ์œ ํšจ์„ฑ ๋’ท์ž๋ฆฌ ๋งจ์ฒซ์ž๋ฆฌ๋งŒ ์ˆซ์ž 1****** (๊ฐ€์ž… ์‹ ์ฒญํด๋ฆญ์‹œ) ์˜ˆ์‹œ ํ™”๋ฉด ๊ฐ™์€ ๊ธฐ๋Šฅ์„ JavaScript์™€ JQuery ๋‘๊ฐ€์ง€๋กœ ๊ตฌํ˜„ํ•ด๋ด„ JavaScript (์š”๊ตฌ ์‚ฌํ•ญ์„ ์ž˜๋ชป ํ•ด์„ํ•œ ์ฝ”๋“œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Œ. ๋‹ค์Œ์˜ JQuery์—์„œ๋Š” ๋ณด์™„.) /* ======================================================= */ /* *.. 2023. 12. 7.
[JQuery] ์ œ์ด์ฟผ๋ฆฌ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• script - jquery ํ•„๊ธฐ HTMLํƒœ๊ทธ๋“ค์€ ํ™”๋ฉด์— UI์š”์†Œ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์ž…๋ ฅ์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋Š” ์•ˆ๋จ. HTML ํƒœ๊ทธ์™€ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด์„œ๋Š” ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•„์š”ํ•จ. javaScript,jquery jquery๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์„ ์–ธ ํ•„์š”ํ•จ ์ œ์ด์ฟผ๋ฆฌ ๊ธฐ๋ณธ๋ฌธ๋ฒ• $(). //์ œ์ด์ฟผ๋ฆฌ ๊ธฐ๋ณธ ๋ฌธ๋ฒ• $("selector").api(); ์ฝ”๋“œ ์ž‘์„ฑ ์ค€๋น„ ์˜›๋‚  ๋ฐฉ๋ฒ• $(document).ready(function() { // ์—ฌ๊ธฐ์— jQuery ์ฝ”๋“œ ์ž‘์„ฑ }); ๊ฐ„๊ฒฐํ•˜๊ณ  ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ• $(function() { // ์—ฌ๊ธฐ์— jQuery ์ฝ”๋“œ ์ž‘์„ฑ }); ๋ชจ๋“  ํŒŒ์ผ์€ ์œ„์—์„œ ๋ถ€ํ„ฐ ์ฝ๊ธฐ ๋•Œ๋ฌธ์— ํƒœ๊ทธ ์ผ๊ธฐ ์ „์— ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์žˆ๋‹ค๋ฉด ์˜จ์ „ํžˆ ๋กœ๋”ฉ ๋ชป๋จ. ๋Œ€์‹  function์•ˆ์— ๊ฐ€๋‘ฌ๋†“์œผ๋ฉด ๋ฐ”๋กœ ์‹คํ–‰๋˜.. 2023. 12. 5.
[Node.js] Node.js ๋ง›๋ณด๊ธฐ javaScript ๊ณต๋ถ€ํ•˜๋‹ค๊ฐ€ error๋ถ€๋ถ„์—์„œ ๋‚˜์˜จ node.js ์ •๋ฆฌ ํ•จ์ˆ˜๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์‹คํ–‰์„ ์ค‘์ง€ํ•˜๊ณ , ๊ทธ ์˜ค๋ฅ˜๋Š” ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋œ ์žฅ์†Œ๋กœ ์ „๋‹ฌ๋จ express๋Š” ๋ผ์šฐํŠธ ํ•ธ๋“ค๋Ÿฌ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•จ. ๊ทธ๋ฆฌ๊ณ  ๋ผ์šฐํŠธ ํ•ธ๋“ค๋Ÿฌ ์ค‘ ํ•˜๋‚˜์—์„œ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์‹ ํ•˜๋ฉด, (์˜ค๋ฅ˜๊ฐ€ ์žˆ์Œ์„ ํ™•์ธํ•œ ๋‹ค์Œ)๊ธฐ๋ณธ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์‹คํ–‰ํ•จ "ํ•จ์ˆ˜๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์‹คํ–‰์„ ์ค‘์ง€ํ•˜๊ณ , ๊ทธ ์˜ค๋ฅ˜๋Š” ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋œ ์žฅ์†Œ๋กœ ์ „๋‹ฌ๋จ": ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํ•จ์ˆ˜ ๋‚ด์—์„œ ์˜ค๋ฅ˜(์˜ˆ์™ธ)๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ํ•ด๋‹น ํ•จ์ˆ˜์˜ ์‹คํ–‰์ด ์ค‘๋‹จ๋˜๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ์œ„์น˜์—์„œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ธฐ๋กœ ์˜ค๋ฅ˜๊ฐ€ ์ „ํŒŒ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธ. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋Š” try...catch ๋ธ”๋ก์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•  ์ˆ˜ ์žˆ์Œ "express๋Š” ๋ผ์šฐํŠธ ํ•ธ๋“ค๋Ÿฌ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•จ. ๊ทธ๋ฆฌ๊ณ  ๋ผ์šฐํŠธ ํ•ธ๋“ค๋Ÿฌ ์ค‘ ํ•˜๋‚˜์—์„œ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์‹ ํ•˜๋ฉด,.. 2023. 11. 20.
[JS] defer ์†์„ฑ JavaScript์—์„œ defer ์†์„ฑ์€ ํƒœ๊ทธ์— ์‚ฌ์šฉํ•จ defer ์†์„ฑ์ด ์ ์šฉ๋œ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฌธ์„œ๊ฐ€ ์™„์ „ํžˆ ํŒŒ์‹ฑ๋œ ํ›„์—(HTML์ด ๋ชจ๋‘ ๋กœ๋“œ๋œ ํ›„์—) ์‹คํ–‰๋˜๋„๋ก ํ•จ ํŽ˜์ด์ง€์˜ ๋กœ๋”ฉ ์‹œ๊ฐ„์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉด์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• ์™ธ๋ถ€ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ DOM ์š”์†Œ์— ์˜์กดํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ ์œ ์šฉ defer ์†์„ฑ์ด ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ์˜ ํŠน์ง• ๋ฌธ์„œ ํŒŒ์‹ฑ ์ค‘์— ๋‹ค์šด๋กœ๋“œ: defer ์†์„ฑ์ด ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ๋Š” HTML์„ ํŒŒ์‹ฑํ•˜๋Š” ๋™์•ˆ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋‹ค์šด๋กœ๋“œ๋จ. HTML ํŒŒ์‹ฑ์„ ๋ฐฉํ•ดํ•˜์ง€ ์•Š์œผ๋ฉด์„œ๋„ ํ•„์š”ํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฏธ๋ฆฌ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์คŒ ๋ฌธ์„œ ํŒŒ์‹ฑ ํ›„ ์‹คํ–‰: ์Šคํฌ๋ฆฝํŠธ๋Š” HTML ๋ฌธ์„œ์˜ ํŒŒ์‹ฑ์ด ์™„๋ฃŒ๋œ ํ›„, DOMContentLoaded ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์ „์— ์‹คํ–‰๋จ. ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ฌธ์„œ์˜ ๋ชจ๋“  ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Œ์„.. 2023. 11. 12.