Codemunk ๐Ÿฟ๏ธ

๐Ÿฅœ [Spring] AOP (+annotation) & Spring-Boot

AOP JoinPoint ์€ Adivce ์˜ Cross Cutting Concern์ด Target ํด๋ž˜์Šค์˜ ์–ด๋Š ๋ฉ”์†Œ๋“œ, ์–ด๋Š ์œ„์น˜์— ๊ฝ‚ํžˆ๋Š” ๊ณณ์ด๋‹ค. JoinPoint ์ŠคํŽ™๋ฅผ ์ƒ์„ธํ•˜๊ฒŒ ์ ์–ด๋†“์€ ๊ฒƒ์€ PointCut ์ด๋‹ค. ์ €๋ฒˆ ํฌ์ŠคํŠธ์˜ AOP advice class ๋ฅผ ์ฐธ๊ณ ํ•˜์ž public class LoggingAdvice { private...

๐Ÿฅœ [Spring] File ์—…๋กœ๋“œ, ์ €์žฅ & AOP

Component๋Š” ์ธํ„ฐํŽ˜์ด์Šค ๊ธฐ๋ฐ˜์˜ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ๋“ค์ด ์žˆ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. DI ์ปจํ…Œ์ด๋„ˆ๋Š” Component(bean)์„ Singletone ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ ๋‹ค. ํšŒ์›๊ฐ€์ž…์„ ํ• ๋•Œ ์ค‘๋ณต๋œ ์•„์ด๋””๊ฑฐ๋‚˜ 4~8 ์ž ๊ฐ€ ์•„๋‹ˆ๋ฉด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ๋„ฃ์–ด์ฃผ๋ ค๋ฉด ๋จผ์ € pom.xml ์— Ajax๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” <dependency&g...

๐Ÿฅœ [Spring] MyBatis & Bean

Backend ์—์„œ DB ์— ์ ‘๊ทผํ•  ๋–„ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ ์ธ MyBatis ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž MyBatis ๋ž€? ๋นจ๊ฐ„์ƒ‰ ๋„ค๋ชจ ๋ถ€๋ถ„์ด MyBatis ๋™์ž‘ ์œ„์น˜ Component๋Š” Business Logic์„ ํ˜ธ์ถœ Business Logic์„ Resources Factory์—์„œ Connection์„ ๋ฐ›์•„์„œ ์ˆ˜ํ–‰ํ•œ๋‹ค. DAOImpl์˜ ์—ญํ• ์€ ...

๐Ÿฅœ [Spring] FactoryMethod ํŒจํ„ด & Spring DI

MVC vs Front-Controller MVC ์™€ FrontController ์˜ ์ฐจ์ด๋ฅผ ์•Œ์•„๋ณด์ž MVC Pattern ์žฅ์  ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ๊ฐ๊ฐ ๋ชจ๋“ˆํ™” ๋˜์–ด ํ˜ธ์ถœ์ด ๋˜์–ด์ง ์š”๊ตฌ์‚ฌํ•ญ์ด ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ์— ๋ผ์ง€์น˜์ง€ ์•Š์Œ ํ™•์žฅ์„ฑ์ด ์žˆ๋‹ค ๋‹จ์  ํ•˜๋‚˜์˜ ์š”๊ตฌ์‚ฌํ•ญ (Business Logic)์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ...

๐Ÿฅœ [Spring] Filter ์™€ ์ „๋ฐ˜์ ์ธ ํ†ต์‹  ํ๋ฆ„

Preview Cookie ๋Š” Session ์ด ๋งŒ๋“ค์–ด์งˆ ๋•Œ ์ž๋™์œผ๋กœ ์ƒ์„ฑ์ด ๋œ๋‹ค. Session ์€ Client ๊ฐ€ ์š”์ฒญํ•  ๋•Œ ๋งŒ๋“ค์–ด์ง„๋‹ค. Cookie ๋Š” ๋งต ๋ฐฉ์‹์œผ๋กœ ์ €์žฅ์ด ๋˜๋ฉฐ value ๋Š” String ์œผ๋กœ ๋งŒ๋“ค์–ด์ง€๊ฒŒ ๋˜์–ด์žˆ๋‹ค. ์ด๋•Œ ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด์ง€๋Š” Cookie ์—๋Š” JSESSIONID ๋ผ๋Š”๊ฒŒ ์กด์žฌํ•˜๋Š”๋ฐ ๋ฐ์ด...

๐Ÿฅœ [Spring] Pooling ๊ธฐ๋ฒ• & Cookie, Session, MVC

Pooling ๊ธฐ๋ฒ• Apache Tomcat HOME ํ•˜๋‹จ lib ์— driver ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ์„œ๋ฒ„์˜ ๋ชจ๋“  ๊ณณ์—์„œ DB ๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ด ์ง„๋‹ค. factory ๋ผ๋Š” ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘” ์ œํ’ˆ์„ ๋ณด๊ด€ํ•˜๋Š” ๊ฐœ๋…์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, Resource Factory ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ Connection ์„ ๋ฏธ๋ฆฌ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํ•ด๋‹นํ•˜๋Š” Connection ๋“ค์„ ๋ฏธ๋ฆฌ W...

๐Ÿฅœ [Spring] ํŽ˜์ด์ง€ ์ด๋™๊ณผ Attribute, ResourceFactory

Servlet-API init(config) ์— ์˜ํ•ด Servlet๊ณผ ServletConfig์™€ ๊ด€๊ณ„๊ฐ€ ์ด๋ค„์ง„๋‹ค.(has a Relation) Servlet์€ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋งŒ ์กด์žฌํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋‹Œ Container์— ์˜ํ•ด ์ƒ์„ฑ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ Servlet์„ ์ดˆ๊ธฐํ™” ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ServletConfig๋Š” ํ•œ๊ฐœ์˜ Servlet์„ ...

๐Ÿฅœ [Jekyll] ๋กœ์ปฌํ™˜๊ฒฝ์—์„œ ํฌ์ŠคํŒ… ํ…Œ์ŠคํŠธํ•˜๊ธฐ

ํ•ญ์ƒ ํ…Œ์ŠคํŠธ ํ•  ๋•Œ๋งˆ๋‹ค commit ํ•ด์„œ ํ•˜๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ๋ถ€๋‹ด์Šค๋Ÿฌ์› ๋‹ค. ๋กœ์ปฌํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‚˜ ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฐพ์•„๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ํฌ์ŠคํŒ… ํ™˜๊ฒฝ์—์„œ ๋กœ์ปฌ ํ™˜๊ฒฝ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ–ˆ๋‹ค ํ„ฐ๋ฏธ๋„์—์„œ bundle exec jekyll serve ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋์ด์—ˆ๋‹ค.

๐Ÿฅœ [Spring] Servlet-API ์™€ ์ƒ๋ช…์ฃผ๊ธฐ

Servlet-API (Servlet-API) GenericServlet ์€ Servlet ์ธํ„ฐํŽ˜์ด์Šค์™€ ServletConfig ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›์€ ๊ฒƒ์ด๋ฉฐ Servlet ์ธํ„ฐํŽ˜์ด์Šค์™€ ServletConfig ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์„œ๋กœ has a relation ๊ด€๊ณ„์ด๋‹ค // Compiled from Servlet.java (version 1.8 : ...