[ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค H2 ์„ค์น˜ ๋ฐ ์—ฐ๋™, JPA ์—ฐ๋™ํ•˜๊ธฐ  ]

 

Spring - [intelliJ,Thymeleaf] MAC, H2๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ๋Œ“๊ธ€์ฐฝ ๋งŒ๋“ค๊ธฐ(2)

[ ๊ฐ„๋‹จํ•œ ๋Œ“๊ธ€์ฐฝ ๋งŒ๋“ค๊ธฐ (1) ] Spring - [intelliJ,Thymeleaf] ๊ฐ„๋‹จํ•œ ๋Œ“๊ธ€์ฐฝ ๋งŒ๋“ค๊ธฐ(1)[ @PostMapping์œผ๋กœ ๋žœ๋คํ•œ ์ˆซ์ž 6๊ฐœ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ] Spring - [intelliJ,Thymeleaf] @PostMapping์œผ๋กœ ๋žœ๋ค ์ˆซ์ž 6๊ฐœ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ[

post-this.tistory.com

 

 

 

[ @PostMapping์œผ๋กœ ๋กœ๋˜ ์ˆซ์ž ์ถœ๋ ฅํ•˜๊ธฐ.  ]

 

Spring - [intelliJ,Thymeleaf] @PostMapping์œผ๋กœ ๋žœ๋ค ์ˆซ์ž 6๊ฐœ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ

[ ๋กœ๋˜, ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ ๋žœ๋คํ•œ ์ˆซ์ž 6๊ฐœ ์ถœ๋ ฅํ•˜๊ธฐ(2) ] Spring - [intelliJ,Thymeleaf] ๋กœ๋˜, ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ ๋žœ๋ค ์ˆซ์ž 6๊ฐœ ์ถœ๋ ฅํ•˜๊ธฐ(2)[ ๋กœ๋˜, ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ ๋žœ๋คํ•œ ์ˆซ์ž 6๊ฐœ ์ถœ๋ ฅํ•˜๊ธฐ ] Spring - [intelliJ,Thymeleaf] ๋กœ๋˜, ๋ฒ„

post-this.tistory.com

 

 

 


 

 

๋žœ๋ค ์ˆซ์ž 6๊ฐœ๋ฅผ
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ด์šฉํ•˜์—ฌ ๋ณต์‚ฌํ•˜๊ธฐ.

 

 

 

 

 

1. ๋™์ž‘ํ™”๋ฉด๊ณผ ์ „์ฒด์ฝ”๋“œ

 

 

 

๋™์ž‘ํ™”๋ฉด

 

 

 


์ „์ฒด์ฝ”๋“œ

 

GitHub - hyeong-ing/LuckyLotto: ๋กœ๋˜ ๋ฒˆํ˜ธ๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ์›น์‚ฌ์ดํŠธ์ž…๋‹ˆ๋‹ค.

๋กœ๋˜ ๋ฒˆํ˜ธ๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ์›น์‚ฌ์ดํŠธ์ž…๋‹ˆ๋‹ค. Contribute to hyeong-ing/LuckyLotto development by creating an account on GitHub.

github.com

 

 

 

 

 


 

 

 

 

 

2. ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์ง€ ์ƒ๊ฐํ•˜๊ธฐ.

 

 

๊ฐ€์žฅ ๋‚œํ•ญ์„ ๊ฒช์—ˆ๋˜ ๋ถ€๋ถ„์ด๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ตœ๋Œ€ํ•œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋งŒํผ ํ•ด๋ณด๋ คํ–ˆ์ง€๋งŒ ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ์—†์—ˆ๋‹ค. ๊ฒฐ๊ตญ Chat-GPT์˜ ๋„์›€๊นŒ์ง€ ๊ตฌํ•ด๋ดค์ง€๋งŒ... Chat-GPT๋„ ๊ทธ๋ƒฅ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์“ฐ๋ผ๊ณ  ํ–ˆ๋‹ค. ์ผ๋‹จ ๋ชฉํ‘œํ•œ ๊ธฐ๋Šฅ๊นŒ์ง€ ํ”„๋กœ์ ํŠธ๋ฅผ ์™„์ˆ˜ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ–ˆ๊ณ , ์–ด์ฐจํ”ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ณต๋ถ€ํ•˜๋ ค๊ณ  ํ–ˆ๊ธฐ์— ๊ธฐํšŒ๋กœ ์‚ผ์•„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์–ด๋ณด๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ๋ฌธ์ œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ ์ง€์‹์ด ์ „๋ฌดํ•˜๋‹ค๋Š” ๊ฒƒ. ๊ณต๋ถ€๋ฅผ ํ•˜๋ ค๊ณ  ํ•ด๋„ ๋ฌด์Šจ ๊ตฌ์กฐ์ธ์ง€ ๋ชจ๋ฅด๊ฒ ๊ณ  ๋ฌด์—‡๋ณด๋‹ค ๋ณต์‚ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ์€ ๋Œ€์ฒด์ ์œผ๋กœ ํ…์ŠคํŠธ์— ํ•ด๋‹นํ•˜๋Š” ์ •๋ณด ๋ฟ์ด์—ˆ๋‹ค. ๋‚˜๋Š” List์— ์žˆ๋Š” 6๊ฐ€์ง€ ์š”์†Œ๋ฅผ ๋ฐ›์•„ ๋ณต์‚ฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๊ณ  ์‹ถ์€๊ฑด๋ฐ, ๋ฌธ๋ฒ•์„ ์•„์˜ˆ ๋ชจ๋ฅด๋‹ˆ ์–ด๋–ป๊ฒŒ ์ฐพ์•„๋ณด๊ณ  ์‘์šฉํ•ด์•ผํ• ์ง€ ๋ง‰๋ง‰ํ–ˆ๋‹ค.

 

์„œ๋ก ์ด ๊ธธ์—ˆ๋‹ค. ๋ณ€๋ช…์˜ ์‹œ๊ฐ„์„ ๊ฐ€์ ธ์•ผํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ฒฐ๋ก ์„ ๋งํ•˜์ž๋ฉด ์ด ๊ธฐ๋Šฅ์€ GPT๊ฐ€ ๋งŒ๋“ค์—ˆ๋‹ค. ์•„์˜ˆ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•œ ํ›„ ๋‹ค์‹œ ํ”Œ์ ์„ ์‹œ๋„ํ• ๊นŒ๋ผ๋Š” ๊ณ ๋ฏผ๋„ ์žˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‚ด๋ฉด์„œ ์ž์‹ ์— ๋Œ€ํ•œ ๋น ๋ฅธ ๊ฐ๊ด€ํ™”๋Š” ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค ์ƒ๊ฐํ•œ๋‹ค. ํ˜„์žฌ ๋‚˜๋Š” ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค ๋Šฅ๋ ฅ์ด ์—†๊ณ , ์–ธ์ œ๋‚˜ ๋ˆ„๊ตฐ๊ฐ€์˜ ์ฝ”๋“œ๋ฅผ ๋”ฐ์™€ ๊ณต๋ถ€ํ–ˆ์„๋•Œ ๊ฐ€์žฅ ํฐ ๊ฑธ์Œ์„ ๋‚˜์•„๊ฐ”์œผ๋‹ˆ GPT๊ฐ€ ๋งŒ๋“ค์–ด์ค€ ์ฝ”๋“œ๋ฅผ ํ† ๋Œ€๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ณต๋ถ€ํ•ด๋ณด๋ ค ํ•œ๋‹ค.(๋๋‚ด๋ฉด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ•์˜๋„ ์ˆ˜๊ฐ•ํ•ด๋ด์•ผ๊ฒ ๋‹ค.)

 

๊ฒฐ๋ก  : ์ด ๊ธฐ๋Šฅ์€ GPT๊ฐ€ ๋งŒ๋“ค์—ˆ๋‹ค.

 

 

 

 

โ–ก ๋ณต์‚ฌํ•˜๊ธฐ ์ด๋ฏธ์ง€ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๊ฐ 6๊ฐœ์˜ ์š”์†Œ๋“ค์ด ๋ณต์‚ฌ๋œ๋‹ค.

 

<img src="css/copy.png" alt="copy" class="image">

 

copy.png๋ฅผ ๋„ฃ์—ˆ๋‹ค. ์ด ์ด๋ฏธ์ง€๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ณต์‚ฌํ•˜๊ธฐ๊ฐ€ ์‹คํ–‰๋˜๋„๋ก ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค.

 

List ํ˜•ํƒœ์ธ 6์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ๋ณต์‚ฌ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 

 

 


 

 

 

 

 

3.  node.js ์„ค์น˜ํ•˜๊ธฐ. (์ด ๊ธฐ๋Šฅ๋งŒ ์ˆ˜ํ–‰ํ• ๊ฑฐ๋ฉด ์„ค์น˜ ์•ˆํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค.)

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ „ํ˜€ ๋ชจ๋ฅด๋Š” ๋‚˜๋Š” ๋ฌด์ž‘์ • node.js๋ฅผ ์„ค์น˜ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ธฐ๋Šฅ๋งŒ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๋ฉด ์ด ๋ถ€๋ถ„์€ ์ดํ–‰ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

 

์Šคํ”„๋งMVC๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ JavaScript ํŒŒ์ผ์˜ ์ •์ ํŒŒ์ผ์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ๊ฑฐ๊ธฐ๋‹ค ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์—๋Š” ThymeLeaf๋ฅผ ์„ค์น˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— node.js๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๊ฐ„๋‹จํ•œ ๊ธฐ๋Šฅ๋งŒ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ๋„ node.js ์„ค์น˜๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.

 

 

 

โ–ก ๋งํฌ ๋“ค์–ด๊ฐ€๊ธฐ.

 

https://nodejs.org/en

 

Node.js — Run JavaScript Everywhere

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

 

 

โ–ก ๋ฉ”์ธ ํ™”๋ฉด ์† Download(LTS) ๋ˆ„๋ฅด๊ธฐ

LTS ๋ฒ„์ „์ด Long Temp Support๋กœ ์žฅ๊ธฐ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฒ„์ „์ด๊ธฐ ๋•Œ๋ฌธ์— LTS ๋ฒ„์ „์œผ๋กœ ๋‹ค์šด๋ฐ›์„ ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค.

 

 

 

 

โ–ก ์„ค์น˜ํ•˜๊ธฐ (ํ•˜๋˜๋Œ€๋กœ ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.)

 

 

 

โ–ก ํ„ฐ๋ฏธ๋„์— ๊ฐ€์„œ ์„ค์น˜ ํ™•์ธํ•˜๊ธฐ.

    node -v ์ž…๋ ฅ

 

 

 

โ–ก node.js๋Š” ๋ฌด์—‡์ธ๊ฐ€?

 

node.js๋ž€ Chrome V8 JavaScript ์—”์ง„์œผ๋กœ ๋นŒ๋“œ๋œ JavaScript ๋Ÿฐํƒ€์ž„์ด๋‹ค. ์—ฌ๊ธฐ์„œ ๋Ÿฐํƒ€์ž„์€ ํŠน์ • ์–ธ์–ด๋กœ ๋งŒ๋“  ํ”„๋กœ๊ทธ๋žจ๋“ค์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๋œปํ•œ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” HTML์— ์ข…์†๋˜์–ด ์žˆ๋Š” ์–ธ์–ด๋กœ HTML ์กฐ์ž‘๊ณผ ๋ณ€๊ฒฝ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ•ด์„์€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์›๋ž˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ๊ฑด๋ฐ, node.js๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ๋˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•„๋‹Œ ๊ณณ์—์„œ๋„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

 

node.js๋Š” ๋งŽ์€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ ์ฑ„ํŒ…์„œ๋น„์Šค์™€ ๊ฐ™์ด ์š”์ฒญ์ด ํ•œ๋ฒˆ์— ๋งŽ์ด ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ณณ์— ์šฉ์ดํ•˜๋‹ค. ์š”์ฒญ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์€ ์ฐจ๊ทผ์ฐจ๊ทผ ํ•˜๋‚˜์”ฉ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์š”์ฒญ์„ ํ•œ๋ฒˆ์— ๋ฐ›์•„ ์ˆœ์„œ๋ฅผ ์ƒ๊ด€ํ•˜์ง€ ์•Š๊ณ  ์†๋„๊ฐ€ ๋น ๋ฅธ ๊ฒƒ๋ถ€ํ„ฐ ์ฒ˜๋ฆฌํ•œ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๊ณ ๊ฐ์ด ์ž์‹ ์˜ ์ˆœ์„œ๊ฐ€ ์˜ฌ ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

 

 

 

 


 

 

 

 

 

4.  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ถ„์„ํ•˜๊ธฐ.

 

document.addEventListener("DOMContentLoaded", () => {

 

document๋Š” ์›นํŽ˜์ด์ง€ ์ž์ฒด๋ฅผ ์˜๋ฏธํ•œ๋‹ค. HTML ์š”์†Œ์— ์ ‘๊ทผํ•˜๊ณ ์ž ํ•  ๋•Œ ๋ฌด์กฐ๊ฑด ์จ์•ผํ•œ๋‹ค. addEventListener๋Š” ์–ด๋–ค ํŠน์ • ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ธ๋ฐ, document.์— ๋ถ™์–ด์žˆ์œผ๋‹ˆ ๋”์— ์–ด๋–ค ํŠน์ • ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋ ค๊ณ  ํ•œ๋‹ค๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ด์ œ "DOMContentLoaded"๋ฅผ ๋ณด๋ฉด ๋”์— ์–ด๋–ค ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค. "DOMCotentLoaded"๋Š” ๋”ํŠธ๋ฆฌ ๊ตฌ์„ฑ์ด ์™„์ „ํžˆ ๋๋‚œ ํ›„ ๋”์— ์ ‘๊ทผํ•˜๋„๋ก ํ•œ๋‹ค. ๊ทธ๋กœ ์ธํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์˜ค๋ฅ˜ ๋ฐœ์ƒ์„ ๋ฐฉ์ง€ํ•ด์ค€๋‹ค.

 

ํ•ฉ์ณ์„œ ์œ„์˜ ์ฝ”๋“œ๋ฅผ ์„ค๋ช…ํ•˜์ž๋ฉด, HTML์— ์ ‘๊ทผํ• ๊ฑด๋ฐ(document) ๋”ํŠธ๋ฆฌ ๊ตฌ์„ฑ์ด ์™„์ „ํžˆ ๋๋‚œ ํ›„ ๋”์— ์ ‘๊ทผํ•˜๋Š”("DOMContentLoaded") ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ฒ ๋‹ค(addEventListener)

 

์—ฌ๊ธฐ์„œ ๋”ํŠธ๋ฆฌ๋Š” HTML์˜ ๊ณ„์ธต๊ตฌ์กฐ๋ฅผ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์œผ๋กœ, ๋”ํŠธ๋ฆฌ ๊ตฌ์„ฑ์ด ์™„์ „ํžˆ ๋๋‚œ ํ›„๋ผ๋Š” ๊ฒƒ์€ HTML์— ์žˆ๋Š” ๋…ธ๋“œ๋“ค์ธ <body> <h1> ๋“ฑ์ด ๋ชจ๋“  ๊ตฌ์„ฑ์„ ์™„๋ฃŒํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋”์€ HTML ํ˜น์€ XML ๋ฌธ์„œ์˜ ๊ตฌ์กฐ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ ์œผ๋กœ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋‹ค. ์›นํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” HTML ๋ฌธ์„œ๋ฅผ ๋ธŒ๋ผ์šฐ์ €๋กœ ์ฝ์–ด๋“ค์—ฌ ๊ฐ์ฒด ๋ชจ๋ธ๋กœ ๋ณ€ํ™˜ํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด JavaScript ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๋ฌธ์„œ๋ฅผ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝ, ์ถ”๊ฐ€, ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋”ํŠธ๋ฆฌ ๊ตฌ์„ฑ์ด ๋๋‚œ ํ›„ ๋”์— ์ ‘๊ทผํ•˜์ž๋Š” ๋ง์€ HTML์˜ ๋ชจ๋“  ๋…ธ๋“œ๋“ค์„ ํŠธ๋ฆฌ๋กœ ๋งŒ๋“  ํ›„์— JavaScript๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ผ ์ •๋„๋กœ ํ•ด์„ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

 

 

 

function copyNumbers()

 

function์€ ํ•จ์ˆ˜๋กœ ์ž๋ฐ”์—์„  ๋ฉ”์„œ๋“œ์™€ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. ํ•จ์ˆ˜๋กœ copyNumbers๋ฅผ ์ •์˜ํ–ˆ๋Š”๋ฐ, copyNumbers๋Š” ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ด์ง€๋ฉฐ ๋™์ž‘์„ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

const numbers = Array.from(document.querySelectorAll(".second h1")).map(el => el.textContent.trim());
const numbersString = numbers.join(" ");

 

const์™€ ํ•จ๊ป˜ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ๊ฐ’์ด ํ•ด๋‹น ๋ฒ”์œ„ ๋‚ด์—์„œ ๋™์ผํ•˜๊ฒŒ ์œ ์ง€๋œ๋‹ค. ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ๋‹ค์‹œ ์„ ์–ธํ•  ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„ ์–ธ๋œ ๋ธ”๋ก ๋‚ด์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค. ์›๋ž˜๋Š” var๋กœ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ–ˆ๋‹ค. var์˜ ๊ฒฝ์šฐ ์„ ์–ธ๋œ ๊ฐ’์ด ๋™์ผํ•˜๊ฒŒ ์œ ์ง€๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ฒจ ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณค ํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ let(์—…๋ฐ์ดํŠธ ๊ฐ€๋Šฅ, ์„ ์–ธ ๋ถˆ๊ฐ€๋Šฅ) ํ˜น์€ const(์—…๋ฐ์ดํŠธ, ์„ ์–ธ ๋ถˆ๊ฐ€๋Šฅ)๊ฐ€ ํ•„์š”ํ•ด์ง„ ์ด์œ ๊ฐ€ ๋๋‹ค. 

 

document.querySelectorAll(".second h1")์€ HTML์— ์žˆ๋Š” second ๋ถ€๋ถ„์˜ h1์˜ ์ฟผ๋ฆฌ๋ฅผ ๋ชจ๋‘ ์„ ํƒํ•œ ํ›„, Array.from์„ ํ†ตํ•ด NodeList๋ฅผ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ ํ›„ map์€ ๊ฐ ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ์ฒ˜๋ฆฌํ•œ ํ›„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“œ๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด el์€ map์— ์˜ํ•ด ์˜ฎ๊ฒจ์ง„ ๊ฐ ๋”์˜ ์š”์†Œ๊ฐ€ ๋˜๋ฉฐ, second์— ์žˆ๋Š” ๋ชจ๋“  h1์„ ์„ ํƒํ•œ๋‹คํ–ˆ์œผ๋‹ˆ ๊ทธ ์š”์†Œ๋“ค์ด map์— ์˜ํ•ด el๋กœ ์˜ฎ๊ฒจ์ง„ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ด์ œ el์€ textContent.trim์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.

 

textContent๋Š” <h1> </h1> ํƒœ๊ทธ ์† ํ…์ŠคํŠธ ์ปจํ…์ธ ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. HTML์„ ์‚ดํŽด๋ณด๋ฉด <h1 th:text="${Number1}"> RandomNumber</h1>์œผ๋กœ ๋˜์–ด์žˆ๋‹ค. ์ด ํ…์ŠคํŠธ ์†์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์€ Number1์— ๋“ค์–ด๊ฐ„ ์ˆซ์ž์ผํ…Œ๋‹ˆ ์ˆซ์ž๋ฅผ ๊ฐ€์ ธ์˜ค๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. .trim์€ ๋ฌธ์ž์—ด ์ขŒ์šฐ์— ์žˆ๋Š” ๊ณต๋ฐฑ์„ ์—†์• ์ค€๋‹ค. 

 

๋งŒ์•ฝ 1,2,3,4,5,6์ด๋ž€ ์ˆซ์ž๊ฐ€ ๋กœ๋˜ ๋ฒˆํ˜ธ๋กœ ๋‚˜์™”๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ๊ทธ๋Ÿฌ๋ฉด ํ˜„์žฌ "1" , "2" , "3" , "4" , "5" , "6" ์ด๋Ÿฐ ํ˜•ํƒœ๋ฅผ ๋„๊ณ  ์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

Array ์ธ์Šคํ„ด์Šค์˜ join( ) ๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์‰ผํ‘œ๋‚˜ ์ง€์ •๋œ ๊ตฌ๋ถ„ ๋ฌธ์ž์—ด๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์—ฐ๊ฒฐํ•œ ์ƒˆ ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค์–ด ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด์ œ "1 2 3 4 5 6"์œผ๋กœ numberString์— ์˜ฎ๊ฒจ์ง€๊ฒŒ ๋œ๋‹ค. ๋งŒ์•ฝ (" ") ๋„์–ด์“ฐ๊ธฐ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ๊ตฌ๋ถ„ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๊ณ , ("")๋ผ๊ณ  ์ง€์ •ํ•˜๋ฉด "123456" ํ˜•์‹์œผ๋กœ ๋„์–ด์“ฐ๊ธฐ ์—†์ด ๋‚˜์—ด๋  ๊ฒƒ์ด๋‹ค.

 

 

 

navigator.clipboard.writeText(numbersString).then(() => {
        alert("๋Ÿญํ‚ค ๋กœ๋˜ ์ˆซ์ž ๋ณต์‚ฌ ์™„๋ฃŒ!");
    }).catch(err => {
        console.error("๋ณต์‚ฌ ์‹คํŒจ:", err);
        alert("๋ณต์‚ฌ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.");
    });
}

 

navigator.clipboard.writeText๋Š” Clipboard API๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒƒ์ด๋‹ค. Clipboard API๋Š” Promise ๊ธฐ๋ฐ˜์œผ๋กœ ํด๋ฆฝ ๋ณด๋“œ ๋‚ด์šฉ์„ ๋น„๋™๊ธฐ์‹์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด API๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์‹œ์ ์— ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ writeText ๋ฉ”์„œ๋“œ๊ฐ€ ๋น„๋™๊ธฐ ํ•จ์ˆ˜๋กœ Promise๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ๋‹จ, ๊ถŒํ•œ์ด ์žˆ๊ณ  ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ™œ์„ฑํ™” ๋˜์–ด์žˆ๋Š” ์ƒํƒœ์—์„œ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. 

 

numberString์˜ write๋ฅผ ์ž˜ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด ๊ทธ ๋‹ค์Œ์„  then ๋ฉ”์„œ๋“œ ์ธ์ž๋กœ ๋„˜๊ฒจ์ค€๋‹ค. ์—ฌ๊ธฐ์„  alert์ธ ๊ฒฝ๊ณ  ๋Œ€ํ™” ์ƒ์ž์— ํ‘œ์‹œํ•  ๋ฉ”์„ธ์ง€๋ฅผ ์ถœ๋ ฅํ•˜๋„๋ก ์„ค์ •ํ–ˆ๋‹ค. ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋ฉด "๋Ÿญํ‚ค ๋กœ๋˜ ์ˆซ์ž ๋ณต์‚ฌ ์™„๋ฃŒ!" ๋ผ๋Š” ๋ฉ”์„ธ์ง€๊ฐ€ ์ถœ๋ ฅ๋  ๊ฒƒ์ด๋‹ค.

 

 catch๋ฅผ ํ†ตํ•ด ์˜ˆ์™ธ๋ฐœ์ƒ์ง€์ ์—์„œ alert๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ํ–ˆ๋‹ค. ์˜ค๋ฅ˜๋Š” console.error๋กœ ์ถœ๋ ฅํ•˜๋„๋ก ํ•˜๋Š”๋ฐ, "๋ณต์‚ฌ ์‹คํŒจ"๋ผ๋Š” ๋ฉ”์‹œ์ง€๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณด๊ฒŒ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  err์— ์‹ค์ œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ๊ฐ์ฒด๋ฅผ ๋‹ด๋Š”๋‹ค. alert์— ๋‹ด๊ธด "๋ณต์‚ฌ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค." ๋ฉ”์‹œ์ง€๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๊ฒŒ๋œ๋‹ค. 

 

 

 

const copyImage = document.querySelector("img[alt='copy']");
if (copyImage) {
    copyImage.addEventListener("click", copyNumbers);
}

 

const๋Š” ์ž๋ฐ”์—์„œ final๊ณผ ๋น„์Šทํ•˜์—ฌ ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋‹ค.(์ฐธ์กฐํ˜•์€ ์ˆ˜์ •๊ฐ€๋Šฅ) ์ด๋ฏธ์ง€ ํƒœ๊ทธ ์ค‘ alt ์†์„ฑ์ด copy๋ผ๊ณ  ์ง€์ •๋œ ์ฟผ๋ฆฌ๋ฅผ ์„ ํƒํ•˜์—ฌ copyImage๋ผ๊ณ  ๋ณ€์ˆ˜๋ช…์„ ๋ถ™์—ฌ์คฌ๋‹ค. ๋งŒ์•ฝ copyImage ๊ฐ์ฒด๊ฐ€ click์ด๋ผ๋Š” ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์œ„์—์„œ ์ •์˜ํ•œ function์ธ copyNumbers๋ฅผ ์‹œํ–‰ํ•˜๋ผ๋Š” ์˜๋ฏธ๊ฐ€ ๋œ๋‹ค.

 

์‰ฝ๊ฒŒ ๊ฐ„์ถ”๋ฆฌ๋ฉด copyImage๋Š” alt๋ฅผ copy๋ผ๊ณ  ์ง€์ •ํ•œ ๊ฒƒ์ด๊ณ  ์ด๊ฒŒ ๋ˆŒ๋ฆฌ๋ฉด copyNumbers ๋ฉ”์„œ๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ผ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

 

 

Q. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด์„œ ์ž๋ฐ”๋ž‘์€ ๋‹ค๋ฅด๊ฒŒ ์˜จ์ ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉํ–ฅ์ด ์กฐ๊ธˆ ๋‹ค๋ฅธ ๊ฒƒ ๊ฐ™๋‹ค.

 

A. ๋ณดํ†ต ์ž๋ฐ”์—์„œ ์˜จ์ ์€ ๊ฐ์ฒด์˜ ํ•„๋“œ๋‚˜ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋„ ๊ทธ์— ํ•ด๋‹นํ•˜๋Š”๋ฐ ์ฒด์ด๋‹์ด๋ผ๋Š” ์˜๋ฏธ๊ฐ€ ๋” ์ถ”๊ฐ€๋œ๋‹ค. ์ฒด์ด๋‹์€ ๋ฉ”์„œ๋“œ๊ฐ€ ์–ด๋–ค ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๊ทธ ๋ฐ˜ํ™˜๋œ ๊ฐ’์„ ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ์— ๋ฐ”๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด์–ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

 

์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด๋ฉด chocolate.sell(2); chocolate.buy(1); ๋ผ๊ณ  ๊ฐ€์ •ํ•œ ๊ฒฝ์šฐ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” chocolate.sell(2).buy(1);์œผ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

 

 


 

 

 

 

5.  HTML์— ๋งŒ๋“  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—ฐ๊ฒฐํ•˜๊ธฐ.

 

 

โ–ก ๊ฒฝ๋กœ ํ™•์ธํ•˜๊ธฐ.

 

static๊ณผ css๊ฐ€ ๋”ฐ๋กœ ๋ถ„๋ฆฌ๋˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ, ์ผ๋‹จ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ๋Š” ์ €์ ˆ๋กœ ํ•ฉํ•ด์กŒ๋‹ค. js ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋”ฐ๋กœ ์•ˆ๋งŒ๋“ค๊ณ  css์™€ ๊ฐ™์ด ๋„ฃ์–ด์„œ ๊ทธ๋Ÿฐ๊ฑด์ง€ ์ดˆ๋ฐ˜์— ๊ฒฝ๋กœ ์ธ์‹์„ ์ž˜ ๋ชปํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ js ๋””๋ ‰ํ† ๋ฆฌ ํ•˜์œ„์— copy.js๋ฅผ ๋„ฃ์—ˆ๋‹ค.

 

 

โ–ก ๊ฒฝ๋กœ ์—ฐ๊ฒฐํ•˜๊ธฐ.

<head>
    <meta charset="UTF-8">
    <title>๋Ÿญํ‚ค๋น„ํ‚ค ๋กœ๋˜</title>
    <link rel="stylesheet" href="css/style.css" type="text/css">
    <script src="css/js/copy.js" defer></script>
</head>

 

 

 

 


 

 

 

 

6.  ๋งˆ๋ฌด๋ฆฌํ•˜๊ธฐ

 


โ–ก
 ์ดˆ๊ธฐ ๊ตฌ์ƒ

 

  ์ดˆ๋ฐ˜ ๊ตฌ์ƒ์—์„œ๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•  ์˜ˆ์ •์œผ๋กœ ๋Œ“๊ธ€์ฐฝ์€ ์—†์—ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‹ค๋ณด๋‹ˆ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์ดํ•ด๋„๋ฅผ ํ‚ค์šฐ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„ ์ค‘๊ฐ„์— ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๋‹ค. ๋น„์Šทํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์ตœ๋Œ€ํ•œ ๋…ธ๋ ฅํ–ˆ๋‹ค. ์ž˜ ์•ˆ๋ ์ง€๋„ ๋ชจ๋ฅธ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ, ์ดˆ๋ฐ˜์— ๊ธฐ๋Œ€ํ–ˆ๋˜ ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ์ข‹์€ ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“  ๊ฒƒ ๊ฐ™๋‹ค.

 

 

 

 

โ–ก ๋ณ€ํ™”

 


(1)

 

 

(2)

 

 

(3)

 

 

 

 

โ–ก ๋งˆ๋ฌด๋ฆฌํ•˜๋Š” ๋ง

 

 ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ๋งŒ ์•„๋‹ˆ์—ˆ๋‹ค๋ฉด ๋” ๋นจ๋ฆฌ ๋๋ƒˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ๋ธ”๋กœ๊ทธ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๋ณด๋ฉด ์ •๋ง ๋งŽ์€ ๊ฐœ๋…์„ ๋ฐฐ์šฐ๊ณ  ์–ด๋–ค ๊ตฌ์กฐ์ธ์ง€ ์ •ํ™•ํ•˜๊ฒŒ ์•Œ๊ฒŒ๋˜๋Š” ์ด์ ์€ ํ™•์‹คํ•˜๋‹ค. ํ•˜๋‚˜ ์ž‘์„ฑํ•˜๋Š”๋ฐ ๋ช‡์‹œ๊ฐ„์”ฉ ๊ฑธ๋ฆฌ๊ฑฐ๋‹ค ๊ฐ€๋” ์ดํ•ด๊ฐ€ ๊ฐ€์ง€ ์•Š๋Š” ๊ฐœ๋…์— ๋ง‰ํžˆ๋ฉด... ์ •๋ง 2-3์ผ ์ •๋„ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๊ต‰์žฅํžˆ ์‰ฌ์šด ํ”„๋กœ์ ํŠธ์˜€์ง€๋งŒ ๊ทธ๋งŒํผ ์–ด๋–ค์‹์œผ๋กœ ์ด๋ค„์ง€๋Š”์ง€ ํ™•์‹คํ•˜๊ฒŒ ์•Œ๊ฒŒ ๋œ ๊ฑฐ ๊ฐ™๋‹ค.

 ์Šคํ”„๋งMVC ๊ฐ•์˜๋ฅผ ๋“ฃ๊ธฐ ์ „ ๊ฐ„๋‹จํ•˜๊ณ  ์งง์€ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•ด๋ณด๋ฉด ์ข‹๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์ •๋ง ์ž˜ํ•œ ์„ ํƒ์ธ ๊ฒƒ ๊ฐ™๋‹ค. ์ด์ œ ์Šคํ”„๋งMVC ๊ฐ•์˜๋„ ๋“ฃ๊ณ , ์ž๋ฐ”์™„์ „์ •๋ณต ๋ธ”๋กœ๊ทธ๋„ ์—ด์‹ฌํžˆ ์ž‘์„ฑํ•˜๊ณ , ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋„ ์ˆ˜๊ฐ•ํ•ด๋ด์•ผ๊ฒ ๋‹ค.




 

 

๐Ÿชฝ

"ํ‹€๋ฆฐ ๋‚ด์šฉ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."

 

 

 

[ ๋ธ”๋กœ๊ทธ์— ์“ด ๋‚ด์šฉ๋“ค์˜ ์ถœ์ฒ˜๋Š” ์•„๋ž˜์— ์ ์–ด๋‘˜ํ…Œ๋‹ˆ

๋“ค์–ด๊ฐ€์„œ ์ฝ์–ด๋ณด์‹œ๋ฉด ๋”์šฑ ๋„์›€์ด ๋˜์‹ค ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค ]

 

 

 

- node.js ์„ค์น˜

 

[mac OS] node.js ์„ค์น˜ํ•˜๊ธฐ

๐Ÿ“Node.js๋ž€? - Node.js๋Š” Chrome V8 JavaScript ์—”์ง„์œผ๋กœ ๋นŒ๋“œ๋œ JavaScript ๋Ÿฐํƒ€์ž„์ž…๋‹ˆ๋‹ค. ๐Ÿ“macOS์—์„œ Node.js ์„ค์น˜ ๋ฐฉ๋ฒ• 1. ์‚ฌ์ดํŠธ (https://nodejs.org/en ) ์ ‘์† Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaSc

favonius.tistory.com

 

 

- Node.js

 

[๊ฐœ๋ฐœ ๊ธฐ๋ณธ ์ง€์‹] Node.js๋ž€?

"Node.js๋Š” Chrome V8 JavaScript ์—”์ง„์œผ๋กœ ๋นŒ๋“œ๋œ JavaScript ๋Ÿฐํƒ€์ž„์ž…๋‹ˆ๋‹ค" ?? ๐Ÿค”๊ทธ๋ž˜์„œ ๋ญ”๋ฐ์š”?

velog.io

 

 

- documet

 

์ฝ”๋”ฉ๊ต์œก ํ‹ฐ์”จํ”ผ์Šค์ฟจ

4์ฐจ์‚ฐ์—…ํ˜๋ช…, ์ฝ”๋”ฉ๊ต์œก, ์†Œํ”„ํŠธ์›จ์–ด๊ต์œก, ์ฝ”๋”ฉ๊ธฐ์ดˆ, SW์ฝ”๋”ฉ, ๊ธฐ์ดˆ์ฝ”๋”ฉ๋ถ€ํ„ฐ ์ž๋ฐ” ํŒŒ์ด์ฌ ๋“ฑ

tcpschool.com

 

 

- addEventListener

 

[JAVASCRIPT] addEventListener()

addEventListener()๋Š” documnet ์š”์†Œ์— event๋ฅผ ๋ถ€์—ฌํ•  ๋•Œ ์‚ฌ์šฉ. addEventListener(event, ์‹คํ–‰ํ•  ํ•จ์ˆ˜) ๋กœ ์ •์˜ํ•œ๋‹ค. ์ด 3๊ฐ€์ง€์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. button.addEventListener('์ด๋ฒคํŠธ', ํ•จ์ˆ˜๋ช…) button.addEventListener('

ghrnwjd.tistory.com

 

 

- dom

 

[JavaScript] DOM์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

JavaScript๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค๋ณด๋ฉด ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜์˜ ์—ฌ๋Ÿฌ ๊ฐ์ฒด๋“ค์— ๋Œ€ํ•ด์„œ ๋“ฃ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ์ด ๊ฐ์ฒด๋“ค์ด ...

blog.naver.com

 

 

- DomContentLoaded

 

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] DOMContentLoaded ์ด๋ฒคํŠธ

์•ˆ๋…•ํ•˜์„ธ์š”! ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ DOMContentLoaded ์ด๋ฒคํŠธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๋”ํŠธ๋ฆฌ ๋ถ„์„์ด ๋๋‚˜๋ฉด ๋ฐœ์ƒ์ฆ‰, ๋”ํŠธ๋ฆฌ๊ฐ€ ๋‹ค ๋งŒ๋“ค์–ด์ง„ ํ›„์— ๋”์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ๋•Œ๋ฌธ์—, ๋”์ด ์ƒ์„ฑ๋˜๊ธฐ

velog.io

 

 

- event

 

Javascript event ๋‹ค๋ฃจ๊ธฐ(eventListener๋ฅผ ์“ฐ๋Š” ์ด์œ )

event๋ž€?? event๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์€?? event listener vs event handler??

velog.io

 

 

- eventListener

 

JavaScript ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ(eventListener)

๋‚˜.. ์ด๋ฒคํŠธ๋ฆฌ์Šค๋„ˆ ๋ชจ๋ฅด๋„ค โœ addEventListener EventTarget ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ฉ”์„œ๋“œ. ์ง€์ •ํ•œ ์œ ํ˜•์˜ ์ด๋ฒคํŠธ๋ฅผ ์ˆ˜์‹ ํ•  ๋•Œ๋งˆ๋‹ค ํ˜ธ์ถœํ•  ํ•จ์ˆ˜๋ฅผ ์„ค์ •ํ•œ๋‹ค. = ํ˜ธ์ถœ ์‹œ ์ธ์ž๋ฅผ ์ „๋‹ฌ๋ฐ›๋Š”๋‹ค. ์ผ๋ฐ˜์ ์ธ ๋Œ€์ƒ Element, Do

pottatt0.tistory.com

 

 

- ๋”ํŠธ๋ฆฌ

 

DOM ํŠธ๋ฆฌ

 

ko.javascript.info

 

 

- ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋… ๋ชจ์Œ

 

JavaScript | MDN

JavaScript (JS)๋Š” ๊ฐ€๋ฒผ์šด, ์ธํ„ฐํ”„๋ฆฌํ„ฐ ํ˜น์€ just-in-time ์ปดํŒŒ์ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ, ์ผ๊ธ‰ ํ•จ์ˆ˜๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์›น ํŽ˜์ด์ง€๋ฅผ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋กœ ์ž˜ ์•Œ๋ ค์ ธ ์žˆ์ง€๋งŒ, Node.js, Apache CouchDB, Adobe Acrobat์ฒ˜๋Ÿผ

developer.mozilla.org

 

 

- trim

 

[ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ] trim()

trim() : ๋ฌธ์žฅ(๋ฌธ์ž์—ด, string)์—์„œ, ์–‘๋์— ์žˆ๋Š” ๊ณต๋ฐฑ๋ฌธ์ž๋ฅผ ๋ชจ๋‘ ์‚ญ์ œํ•œ๋‹ค. ์ต์Šคํ”Œ๋กœ๋Ÿฌ(ie) 9 ์ด์ƒ & ๊ทธ์™ธ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. "trim()"์œผ๋กœ, " "๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด, "textContent"๋‚˜

tonks.tistory.com

 

 

- map

 

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] javascript map() ์‚ฌ์šฉํ•˜๊ธฐ

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] javascript map() ์‚ฌ์šฉํ•˜๊ธฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ for๋ฌธ์˜ ๋‚จ์šฉ์„ ๋ง‰๊ธฐ์œ„ํ•ด ๋งŒ๋“ค์–ด๋‚ธ ๋ฐฐ์—ดํ•จ์ˆ˜! ๋ฐฐ์—ด ์š”์†Œ๋ฅผ ์ˆœํ™˜ํ•˜๋ฉฐ ์–ด๋– ํ•œ ๊ฐ€๊ณต์„ ๊ฐ€ํ•˜๊ฑฐ๋‚˜, ๋ฐฐ์—ด์š”์†Œ ์•ˆ์˜ ์š”์†Œ๋ฅผ ์ถ”์ถœํ•˜๊ฑฐ๋‚˜ ํ•  ๋•Œ

devinserengeti.tistory.com

 

 

- clipboard API

 

Clipboard API ์‚ฌ์šฉํ•˜๊ธฐ

๊ธฐ์กด์— ์›จ์ด๋ธŒ์˜จ์—์„œ ์—˜๋ฆฌ๋จผํŠธ์˜ ๋ณต์‚ฌ/๋ถ™์—ฌ๋„ฃ๊ธฐ๋Š” ๊ฐ™์€ ํƒญ ๋‚ด์—์„œ๋งŒ ๊ฐ€๋Šฅํ–ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ๊ธฐ์กด์—๋Š” ํด๋ฆฝ๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ์ธ Vuex๋ฅผ ํ™œ์šฉํ•ด ๋ณต์‚ฌ๊ฐ€ ๋œ ์—˜๋ฆฌ๋จผํŠธ์˜ ์ •๋ณด๋ฅผ ๊ด€๋ฆฌ ํ–ˆ

velog.io

 

 

- ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

 

๐Ÿ“š ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ(Exception)

์˜ˆ์™ธ (exception) ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์˜ˆ์™ธ(exception)๋ž€ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜์—ฌ ๋” ์ด์ƒ ์ง„ํ–‰ํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฌธ๋ฒ•์ ์ธ ์˜ค๋ฅ˜์ด๊ฑฐ๋‚˜ ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†

inpa.tistory.com

 

 

- ์ฒด์ด๋‹

 

[JavaScript] Method Chaining (๋ฉ”์„œ๋“œ ์ฒด์ด๋‹)

๊ณผ์ œ๋ฅผ ํ•˜๋˜ ์ค‘ ํ•จ์ˆ˜์˜ return๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ๋ถ€๋ถ„์ด ์—†๋Š”๋ฐ๋„ this๋ฅผ returnํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ํ™•์žฅ์„ฑ์„ ์œ„ํ•ด return์„ ํ•ด๋‘” ๊ฒƒ์ธ๊ฐ€? ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋Š”๋ฐ ๊ฒ€์ƒ‰ํ•ด๋ณด์•„๋„ ๋ช…ํ™•ํ•œ ํ•ด๋‹ต์„ ์ฐพ์ง€ ๋ชปํ–ˆ

developerntraveler.tistory.com

 

+ Recent posts