Search

AI3 - 11์ผ์ฐจ ์˜ค์ „

๋น ๋ฅธ ์š”์•ฝ
์ด ํšŒ์˜๋Š” Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ Selenium๊ณผ Lombok์˜ ์‚ฌ์šฉ์— ์ค‘์ ์„ ๋‘์—ˆ์œผ๋ฉฐ, ๋ธŒ๋ผ์šฐ์ € ๋™์ž‘ ์ž๋™ํ™”, ํด๋ž˜์Šค ๊ตฌ์„ฑ ๋ฐ Lombok ์ฃผ์„์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ํ† ๋ก ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํŒ€์€ ๋˜ํ•œ ์›น ์ž๋™ํ™”๋ฅผ ์œ„ํ•œ ๋นŒ๋” ํŒจํ„ด๊ณผ DOM(Document Object Model)์˜ ์‚ฌ์šฉ์„ ํƒ๊ตฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ IT ์ธ์ฆ, Lombok Library, ๊ทธ๋ฆฌ๊ณ  Naver์— ์ž๋™ ๋กœ๊ทธ์ธํ•˜๊ธฐ ์œ„ํ•œ Java ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ํ† ๋ก ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‹ค์Œ ๋‹จ๊ณ„
ํŒ€: ์ฝ”๋“œ ์ž๋™ํ™”๋ฅผ ์œ„ํ•ด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— Lombok ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
ํŒ€: ์›น ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™” ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ์— Selenium ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
ํŒ€: Chrome ๋“œ๋ผ์ด๋ฒ„์™€ ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™”์— ํ•„์š”ํ•œ ์˜์กด์„ฑ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
ํŒ€: 3์›”๊นŒ์ง€ Selenium์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™ ๋กœ๊ทธ์ธ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฒ€ํ† ํ•˜๊ณ  ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
ํŒ€: Selenium๊ณผ Lombok์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธ ์ž๋™ํ™” ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
ํŒ€: ๋‹ค์Œ ๋‹ฌ ์ดˆ์— ํ›„์† ํšŒ์˜๋ฅผ ์˜ˆ์•ฝํ•˜์—ฌ ์ง„ํ–‰ ์ƒํ™ฉ๊ณผ ๊ตฌํ˜„ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๋…ผ์˜ํ•˜์‹ญ์‹œ์˜ค.
์š”์•ฝ
์…€๋ ˆ๋Š„๊ณผ ๋กฌ๋ณต ์‚ฌ์šฉ์— ๋Œ€ํ•œ ํ† ๋ก 
ํšŒ์˜์—์„œ ALOHA๋Š” ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Selenium๊ณผ ์ฝ”๋“œ ์ƒ์„ฑ์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Lombok์˜ ์‚ฌ์šฉ์— ๋Œ€ํ•ด ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ALOHA๋Š” Selenium์„ ์‚ฌ์šฉํ•˜์—ฌ Java ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ง์ ‘ ์ œ์–ดํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์›น ํŽ˜์ด์ง€๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‹œ์—ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒ€์€ ๋˜ํ•œ ํด๋ž˜์Šค๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๊ตฌ์„ฑํ•˜๊ณ  ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ•„์š”์„ฑ์— ๋Œ€ํ•ด ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ALOHA๋Š” ๋‹‰๋„ค์ž„์„ ๋‹‰๋„ค์ž„์œผ๋กœ ๋ฐ”๊พธ๊ณ , ๊ฒŒํ„ฐ์™€ ์„ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒ€์€ ๋˜ํ•œ ์ฝ”๋“œ์—์„œ ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ALOHA๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ณ‘ํ•ฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ํ•„์š”์„ฑ์„ ์–ธ๊ธ‰ํ•˜๋ฉฐ ๋Œ€ํ™”๋ฅผ ๋๋ƒˆ์Šต๋‹ˆ๋‹ค.
Lombok ์„ค์น˜ ๋ฐ Eclipse ์„ค์ •
ํ† ๋ก ์€ Java ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Lombok์˜ ์„ค์น˜ ๋ฐ ์„ค์ •์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ๋ฐœํ‘œ์ž๋Š” ์ฐธ๊ฐ€์ž๋“ค์—๊ฒŒ ํ”„๋กœ์ ํŠธ ์›น์‚ฌ์ดํŠธ์—์„œ Lombok๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ , ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํด๋”๋กœ ์ด๋™ํ•˜์—ฌ Eclipse์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ์—์„œ๋Š” Lombok์„ Eclipse์˜ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ๊ฒฝ๋กœ์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์™ธ๋ถ€ ๋˜๋Š” ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ Lombok๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์€ Eclipse.ini ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜์—ฌ Lombok๋ฅผ Java ์—์ด์ „ํŠธ๋กœ ํฌํ•จํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฐ์‚ฌ๋Š” Eclipse์—์„œ Lombok์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ์ด๋Ÿฌํ•œ ๋‹จ๊ณ„์˜ ์ค‘์š”์„ฑ์„ ๊ฐ•์กฐํ•˜๊ณ  VS Code์˜ ๊ฒฝ์šฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•ฝ๊ฐ„ ๋‹ค๋ฅด๋‹ค๊ณ  ์–ธ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.
Lombok๋Š” Java ์ฝ”๋“œ ์ƒ์„ฑ์„ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.
ํšŒ์˜์—์„œ Aloha๋Š” Boilerplate ์ฝ”๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜์—ฌ Java ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๋„๊ตฌ์ธ Lombok์˜ ์‚ฌ์šฉ์— ๋Œ€ํ•ด ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” Lombok์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ์ž, ๊ฒŒํ„ฐ ๋ฐ ์„ธํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ์„์„ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‹œ์—ฐํ–ˆ์Šต๋‹ˆ๋‹ค. Aloha๋Š” ๋˜ํ•œ ๋นŒ๋” ํŒจํ„ด์˜ ์‚ฌ์šฉ๊ณผ ์ถœ๋ ฅ์„ ํŒŒ์ผ๋กœ ๋กœ๊ทธ๋ง ํ•  ์ˆ˜์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ํŒ€์ด ๋กฌ๋ณต์„ ์‚ฌ์šฉํ•ด ๋ณด๋„๋ก ๊ถŒ์žฅํ•˜๊ณ  ์—ฐ์Šต์„์œ„ํ•œ ์˜ˆ์ œ๋ฅผ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.
IT ์ธ์ฆ ๋ฐ ๊ฒฝ๋ ฅ ๊ฐœ๋ฐœ
์ด ๊ทธ๋ฃน์€ AWS, CKA ๋ฐ SQLD๋ฅผ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ IT ์ธ์ฆ๊ณผ ๊ทธ ๋น„์šฉ์— ๋Œ€ํ•ด ํ† ๋ก ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์–ด๋–ค ์ธ์ฆ์„ ์ถ”๊ตฌํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ณ ๋ คํ•˜๋ฉฐ ์ผ๋ถ€๋Š” ํ–ฅํ›„ 6 ๊ฐœ์›” ๋™์•ˆ AWS ๋ฐ SQLD์— ์ง‘์ค‘ํ•  ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ™”๋Š” IT ์—…๊ณ„์˜ ๊ฒฝ๋ ฅ ์ง„์ „์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•˜๋ฉฐ ์ •๋ณด ๊ด€๋ฆฌ์ž ๋ฐ ์‚ฌ๋ฌด์ด์žฅ๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ์–ธ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ฝ”๋”ฉ ์ธ์ฆ์˜ ๊ด€๋ จ์„ฑ์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ๋…ผ์˜ํ•˜๊ณ  ์—…๊ณ„ ์ธ์ • ์ธก๋ฉด์—์„œ TOEIC์™€ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.
Lombok Library๋Š” Java ์ฝ”๋“œ๋ฅผ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.
์—ฐ์‚ฌ๋Š” ์ฃผ์„์„ ํ†ตํ•ด getter, setter ๋ฐ constructor์™€ ๊ฐ™์€ ๋ฐ˜๋ณต ์ฝ”๋“œ ์š”์†Œ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜์—ฌ Java ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๋„๊ตฌ ์ธ Lombok Library๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ๊ฒฝ๋กœ์— Lombok์„ ์ถ”๊ฐ€ํ•˜๊ณ  @Data์™€ ๊ฐ™์€ ์ฃผ์„์„ ํด๋ž˜์Šค์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•˜์—ฌ Java ํ”„๋กœ์ ํŠธ์—์„œ Lombok๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๋ฐœํ‘œ์ž๋Š” ๋˜ํ•œ ํŒจํ‚ค์ง€ ์ด๋ฆ„ ์ถฉ๋Œ ๋ฐ ๋ชจ๋“ˆ ์ธ์‹ ๋ฌธ์ œ์™€ ๊ฐ™์€ ์„ค์น˜ ์ค‘์— ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃจ๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ @RequiredArgsConstructor ๋ฐ @NoArgsConstructor์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ Lombok ์ฃผ์„๊ณผ ๊ทธ ๊ธฐ๋Šฅ์„ ์‹œ์—ฐํ•˜๊ณ  ์ด๋Ÿฌํ•œ ์ฃผ์„์ด ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ ์œ ํ˜•์˜ ์ƒ์„ฑ์ž์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
Java ์ƒ์„ฑ์ž ๋ฐ ๋นŒ๋” ํŒจํ„ด
ํ† ๋ก ์€ Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋…, ํŠนํžˆ ์ƒ์„ฑ์ž์™€ ๋นŒ๋” ํŒจํ„ด์˜ ์‚ฌ์šฉ์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ๋ฐœํ‘œ์ž๋Š” ํ•„์š”ํ•œ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ณ  ์ฝ”๋“œ์—์„œ ๋…ธ๋ž€์ƒ‰ ๋ฐ‘์ค„์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋นŒ๋” ํŒจํ„ด์„ ๋ณต์žกํ•œ ๊ฐ์ฒด๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋””์ž์ธ ํŒจํ„ด์œผ๋กœ ์†Œ๊ฐœํ•˜๋ฉฐ, ์ค‘์ฒฉ๋œ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๋Œ€ํ™”๋Š” Lombok ์ฃผ์„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋” ํŒจํ„ด์— ๋Œ€ํ•œ ์ฝ”๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ ๋๋‚˜๋ฉฐ ์œ ์—ฐํ•œ ๊ฐ์ฒด ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค.
๋„ค์ด๋ฒ„ ๋กœ๊ทธ์ธ์„ ์œ„ํ•œ Java ํ”„๋กœ๊ทธ๋žจ
์ด ํšŒ์˜๋Š” Naver์— ์ž๋™ ๋กœ๊ทธ์ธ์„ ์œ„ํ•œ Java ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ๊ฐ•์‚ฌ๋Š” Eclipse์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ค์ •ํ•˜๊ณ , Selenium๊ณผ Lombok์™€ ๊ฐ™์€ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉฐ ๋ฉ”์ธ ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์›น ์ž๋™ํ™” ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ Selenium์˜ ๋ชฉ์ ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ•์‚ฌ๋Š” ๋ชจ๋“ˆ ๊ฐ€์ ธ์˜ค๊ธฐ์™€ ์ข…์†์„ฑ ํ•ด๊ฒฐ์— ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ๊ฒช์Šต๋‹ˆ๋‹ค. Chrome ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‹คํ–‰ํ•˜๊ณ  Naver ์›น์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ, "ํด๋ž˜์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ" ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์ผ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ˆ„๋ฝ๋˜๊ฑฐ๋‚˜ ํ˜ธํ™˜๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ด€๋ จ ์—†๋Š” ์ฃผ์ œ์— ๋Œ€ํ•œ ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ๋Œ€ํ™”
์Œ์„ฑ ์ธ์‹ ์˜ค๋ฅ˜๋กœ ์ธํ•ด ๋…น์Œ ๋‚ด์šฉ์ด ๋‹จ์ ˆ๋œ ๋Œ€ํ™”๋‚˜ ๋…์ฐฝ์ ์ธ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ๋ฐœํ‘œ์ž๋Š” ๋‚จ์„ฑ ๊ฐ€์ •๋ถ€, Chrome Drama, ๊ทธ๋ฆฌ๊ณ  ์ƒˆ๋กœ์šด API ๋“ฑ ๋‹ค์–‘ํ•œ ๊ด€๋ จ ์—†๋Š” ์ฃผ์ œ๋ฅผ ์–ธ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ผ์ • ๋ฐ ์ž‘์—… ์™„๋ฃŒ์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜์ง€๋งŒ ๋งฅ๋ฝ์ด ๋ถˆ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ผ๊ด€๋œ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ธฐ๋ก์—์„œ ๊ฒฐ์ •, ์กฐ์ • ๋˜๋Š” ํ–‰๋™ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์˜๋ฏธ ์žˆ๋Š” ์š”์•ฝ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ต์Šต๋‹ˆ๋‹ค.
JavaScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ € ์ž‘์—…์„ ์ž๋™ํ™”ํ•ฉ๋‹ˆ๋‹ค.
ํšŒ์˜์—์„œ ALOHA๋Š” JavaScript์™€ DOM(Document Object Model)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ € ๋™์ž‘์„ ์ž๋™ํ™”ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น์‚ฌ์ดํŠธ์— ๋กœ๊ทธ์ธํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์›นํŽ˜์ด์ง€์˜ ์š”์†Œ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ALOHA๋Š” ๋˜ํ•œ DOM์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์š”์†Œ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๊ฐœ๋…๊ณผ JavaScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒ€์€ ๋˜ํ•œ ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰ ๋ฐ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ์™€ ๊ฐ™์€ ๋” ๋ณต์žกํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ๊ฐ€๋Šฅ์„ฑ์„ ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ALOHA๋Š” ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์ˆ ์„ ๊ณ„์† ๋ฐฐ์šฐ๊ณ  ์—…๊ทธ๋ ˆ์ด๋“œ ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ฝ˜์„œํŠธ ํ‹ฐ์ผ“ ๋ฐ ๊ธฐ์ˆ  ํ† ๋ก 
ํšŒ์˜์—์„œ๋Š” ๋ช…ํ™•ํ•œ ์ดˆ์  ์—†์ด ๋‹ค์–‘ํ•œ ์ฃผ์ œ๋ฅผ ๋…ผ์˜ํ•ฉ๋‹ˆ๋‹ค. ์ฐธ๊ฐ€์ž๋“ค์€ ์ฝ˜์„œํŠธ ํ‹ฐ์ผ“ ํ™•๋ณด์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๋ฉฐ, ๋ˆ„๊ตฐ๊ฐ€๋Š” 100๊ฐœ์˜ ํ‹ฐ์ผ“์„ ํ™•๋ณดํ•˜๋ผ๊ณ  ์ œ์•ˆํ•˜๊ณ  ์ˆ˜์ฒœ ๋ช…์ด ์ฝ˜์„œํŠธ์— ์ฐธ์„ํ•œ๋‹ค๊ณ  ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ‹ฐ์ผ“ ๋น„์šฉ๋„ ๋…ผ์˜ํ•˜๋ฉฐ, ํ•œ ์‚ฌ๋žŒ์ด 30๋งŒ์›์ด๋ผ๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ํ›„ ๋Œ€ํ™”๋Š” ์‹œ์Šคํ…œ์ด๋‚˜ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ์ˆ ์ ์ธ ์ธก๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉฐ ์ž๋™ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์„ค์ • ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์— ๋ชจ์–‘๊ณผ ๊ทธ๋ฆผ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ํ† ๋ก ์ด ์žˆ์œผ๋ฉฐ, ํŒŒ๋ž€์ƒ‰๊ณผ ๊ฒ€์ •์ƒ‰ ์‚ฌ์ด์˜ ์ƒ‰์ƒ ์„ ํƒ์— ๋Œ€ํ•œ ๋ถˆํ™•์‹ค์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.