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

๊ฐœ์ธ ๊ณต๋ถ€84

JSP ๋ชจ๋ธ 1, 2์™€ MVC ํŒจํ„ด โœ… MVC?- MVC๋Š” Model, View, Controller์˜ ์•ฝ์ž์ด๋‹ค.- JSP์ฒ˜๋Ÿผ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋กœ์ง๋“ค์„ ํ™”๋ฉด์— ๋ชจ์•„๋‘๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ,  ๋ชจ๋ธ, ๋ทฐ, ์ปจํŠธ๋กค๋Ÿฌ ์—ญํ• ์„ ํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ๊ฐ๊ฐ ๋งŒ๋“ค์–ด ๊ฐœ๋ฐœํ•˜๋Š” ๋ชจ๋ธ์ด๋‹ค. ๐Ÿ“Œ ๋ทฐ (View)- ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜, ์š”์ฒญ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด์„ ๋‹ด๋‹นํ•œ๋‹ค.- ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ณ , ์ด๋ฒคํŠธ์˜ ๊ฒฐ๊ณผ๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ค€๋‹ค. ๐Ÿ“Œ ์ปจํŠธ๋กค๋Ÿฌ (Controller)- ๋ทฐ์™€ ๋ชจ๋ธ์˜ ์—ฐ๊ฒฐ์ž ์—ญํ• ์„ ํ•œ๋‹ค.- ๋ทฐ์—์„œ ๋ฐ›์€ ์ด๋ฒคํŠธ๋ฅผ ๋ชจ๋ธ์— ์ „๋‹ฌํ•˜๊ณ , ๋ชจ๋ธ์—์„œ ์ฒ˜๋ฆฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ๋ทฐ๋กœ ์ „๋‹ฌํ•œ๋‹ค. ๐Ÿ“Œ ๋ชจ๋ธ (Model)- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.- ์ฆ‰ ๋ทฐ์—์„œ ๋ฐ›์€ ์ด๋ฒคํŠธ๋ฅผ ์‹ค์งˆ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ, ๊ด€๋ฆฌ, ์ˆ˜์ •ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. โœ… JS.. 2025. 1. 19.
WAS (์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„) โœจ ์›น ๊ธฐ์ˆ ์€ ์–ด๋–ค ํ๋ฆ„์œผ๋กœ ๋ฐœ์ „ํ–ˆ์„๊นŒ โœจ๐Ÿ“„ CGI ํ”„๋กœ๊ทธ๋žจ๐Ÿ“„ Servlet๊ณผ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๐Ÿ“„ WAS (์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„) โœ…  ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(WAS) - ๋™์  ์›น ์ปจํ…์ธ ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ + ์„œ๋ฒ„ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด ๋™์ž‘์‹œํ‚ค๋Š” ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. - DB ์กฐํšŒ๋‚˜ ๋‹ค์–‘ํ•œ ๋กœ์ง ์ฒ˜๋ฆฌ ๋“ฑ์˜ ๊ฒฐ๊ณผ๋กœ ์ƒ์„ฑ๋œ ๋™์  ์ปจํ…์ธ ๋ฅผ ํด๋ผ์ด์–ธํŠธํ•œํ…Œ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด๋‹ค.        (๋™์  ์›น ์ปจํ…์ธ ๋ž€, ๋ฐฉ๋ฌธ ์‹œ๊ฐ„, ๋ฐฉ๋ฌธ ์œ„์น˜, ์‚ฌ์šฉ์ž ๋“ฑ์— ๋”ฐ๋ผ ๋ชจ๋‘ ๋‹ค๋ฅด๊ฒŒ ํ‘œ์‹œ๋˜๋Š” ์ปจํ…์ธ ๋ฅผ ๋งํ•œ๋‹ค.)  - ์ธํ„ฐ๋„ท์ƒ์—์„œ HTTP๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ์ปดํ“จํ„ฐ๋‚˜ ์žฅ์น˜์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ˆ˜ํ–‰ํ•ด์ฃผ๋Š” ๋ฏธ๋“ค์›จ์–ด(์†Œํ”„ํŠธ์›จ์–ด ์—”์ง„)๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. - ์ข…๋ฅ˜: Tomcat, JBoss, JEUS, WebSphere.. 2025. 1. 13.
Servlet๊ณผ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ โœจ ์›น ๊ธฐ์ˆ ์€ ์–ด๋–ค ํ๋ฆ„์œผ๋กœ ๋ฐœ์ „ํ–ˆ์„๊นŒ โœจ๐Ÿ“„ CGI ํ”„๋กœ๊ทธ๋žจ๐Ÿ“„ Servlet๊ณผ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๐Ÿ“„ WAS (์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„)โœ… Servlet (์„œ๋ธ”๋ฆฟ)- Java๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ ์ธ ์›น ์ปจํ…์ธ ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋ฒ„ ์ธก ํ‘œ์ค€(specification)์ด๋‹ค.- ํ•˜๋‚˜์˜ ์š”์ฒญ์€ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ(์ƒˆ๋กœ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜, ์Šค๋ ˆ๋“œํ’€์—์„œ ํ• ๋‹น)์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋œ๋‹ค. ๐Ÿ“Œ ์™œ CGI ํ”„๋กœ๊ทธ๋žจ ๋Œ€์‹ , ์„œ๋ธ”๋ฆฟ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๊ฐ€?- CGI ํ”„๋กœ๊ทธ๋žจ์€ ์š”์ฒญ๋งˆ๋‹ค ํ”„๋กœ์„ธ์Šค๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰์†๋„๊ฐ€ ๋А๋ฆฌ๋‹ค.- ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด FastCGI๊ฐ€ ๋“ฑ์žฅํ•˜๊ธด ํ–ˆ์ง€๋งŒ,    FastCGI๋„ ์—ฌ์ „ํžˆ ์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜๊ณ , ์›น ์„œ๋ฒ„์™€ ์—ฐ๋™ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ณต์žกํ•œ ์„ค์ •๋“ค์ด ํ•„์š”ํ–ˆ๋‹ค. - ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, Java.. 2025. 1. 13.
[Java] ์ŠคํŠธ๋ฆผ โœจ์ž๋ฐ” ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐโœจ๐Ÿ“‹ [Java] Functional Interface (ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค)๐Ÿ“‹ [Java] ๋žŒ๋‹ค์‹, ๋ฉ”์„œ๋“œ์ฐธ์กฐ ๐Ÿ“‹ [Java] ์ŠคํŠธ๋ฆผ  โœ… ์™ธ๋ถ€ ๋ฐ˜๋ณต์ž๋ฅผ ์ด์šฉํ•œ ๋ฐ˜๋ณต ์ž‘์—…Collection์— ๋Œ€ํ•ด ํŠน์ • ๋ฐ˜๋ณต ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ๋•Œ, for๋ฌธ์ด๋‚˜ Iterator๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.์ด for๋ฌธ์ด๋‚˜ Iterator๋ฅผ ์™ธ๋ถ€ ๋ฐ˜๋ณต์ž๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์™ธ๋ถ€ ๋ฐ˜๋ณต์ž๋Š” ์ปฌ๋ ‰์…˜ ์™ธ๋ถ€์— ์กด์žฌํ•˜๋ฉด์„œ, ์ปฌ๋ ‰์…˜ ๋‚ด๋ถ€์— ์žˆ๋Š” ์š”์†Œ๋“ค์„ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด์™€์„œ ๋ฐ˜๋ณต ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์™ธ๋ถ€ ๋ฐ˜๋ณต์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๋ฐ˜๋ณต ์ž‘์—…์„ ์ œ์–ดํ•ด์•ผ ํ•œ๋‹ค. ๋”๋ณด๊ธฐ์™ธ๋ถ€ ๋ฐ˜๋ณต์ž ์‚ฌ์šฉ ์˜ˆ์‹œ import java.util.Arrays;import java.util.Iterator;import java.util.List;publi.. 2025. 1. 10.
[Java] ๋žŒ๋‹ค์‹, ๋ฉ”์„œ๋“œ์ฐธ์กฐ โœจ ์ž๋ฐ” ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ โœจ๐Ÿ“‹ [Java] Functional Interface (ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค)๐Ÿ“‹ [Java] ๋žŒ๋‹ค์‹, ๋ฉ”์„œ๋“œ์ฐธ์กฐ ๐Ÿ“‹ [Java] ์ŠคํŠธ๋ฆผ โœ… ๋žŒ๋‹ค์‹์ด๋ž€?- ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ถ”์ƒ๋ฉ”์„œ๋“œ๋ฅผ ์ต๋ช…์˜ ๊ตฌํ˜„ ๊ฐ์ฒด๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํ‘œํ˜„์‹์ด๋‹ค.- Java8๋ถ€ํ„ฐ ๋„์ž…๋˜์—ˆ๋‹ค.- ๋žŒ๋‹ค์‹์„ ์‚ฌ์šฉํ•˜๋ฉด, ๊ฐ„๊ฒฐํ•˜๊ณ  ์ง๊ด€์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๐Ÿฅ ๋žŒ๋‹ค์‹์˜ ๊ธฐ๋ณธ ํ˜•ํƒœ(ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ 1, ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ 2, ...) -> { ๊ตฌํ˜„๋ถ€ }๊ด„ํ˜ธ ๋‚ด๋ถ€: ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„์„ ๋‚˜์—ดํ•˜๊ณ , ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์—†๋‹ค๋ฉด ์•„๋ฌด ๊ฒƒ๋„ ์ ์ง€ ์•Š๋Š”๋‹ค.์ค‘๊ด„ํ˜ธ ๋‚ด๋ถ€ : ๋ฉ”์„œ๋“œ ๊ตฌํ˜„๋ถ€๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.  - ๊ด„ํ˜ธ ์•ˆ์— ํŒŒ๋ผ๋ฏธํ„ฐ ํƒ€์ž…์„ ์ ๋Š”๋‹ค๊ณ  ํ•ด์„œ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.    ๊ทธ๋Ÿฌ๋‚˜ ํŒŒ๋ผ๋ฏธํ„ฐ ํƒ€์ž… ์ •๋ณด๋Š” ํ•จ.. 2025. 1. 9.
[Java] Functional Interface (ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค) โœจ์ž๋ฐ” ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐโœจ๐Ÿ“‹ [Java] Functional Interface (ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค)๐Ÿ“‹ [Java] ๋žŒ๋‹ค์‹, ๋ฉ”์„œ๋“œ์ฐธ์กฐ ๐Ÿ“‹ [Java] ์ŠคํŠธ๋ฆผ ๐ŸฅJava์—์„œ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•˜๊ณ  ์‹ถ์€๋ฐ, ์–ด๋–ป๊ฒŒ ํ•จ์ˆ˜๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์„๊นŒ?์ž๋ฐ”์—์„œ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ์ฒด๋งŒ์„ ์ „๋‹ฌ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.์ž๋ฐ”์—์„œ ๋ฉ”์„œ๋“œ๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ฉ”์„œ๋“œ ์ž์ฒด๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌํ•  ์ˆ˜๋Š” ์—†๋‹ค.๊ทธ๋ž˜์„œ ์ž๋ฐ”์—์„œ๋Š” ํ•จ์ˆ˜๋ฅผ ๊ฐ์ฒด์ฒ˜๋Ÿผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š”๋ฐ, ๋ฐ”๋กœ “ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค”์ด๋‹ค.โœ… Functional Interface๋ž€?ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค(Functional Interface)๋Š” abstract method๋ฅผ ๋”ฑ ํ•œ ๊ฐœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค.์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด, ๋‹จ ํ•˜๋‚˜์˜ ํ•จ์ˆ˜๋ฅผ ํด๋ž˜์Šค๋กœ ๊ฐ์‹ผ ํ˜•ํƒœ.. 2025. 1. 9.
728x90