YOONJI
article thumbnail
[OT] ๊นƒ๊ณผ ๊นƒํ—ˆ๋ธŒ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž! ๊นƒ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
๐Ÿ–‹๏ธ study/git 2023. 4. 25. 00:26

๋…ธ์…˜์—์„œ ํ™•์ธํ•˜๊ธฐ! [OT] ๊นƒ๊ณผ ๊นƒํ—ˆ๋ธŒ๋ฅผ ์•Œ์•„๋ณด์ž! 01. Git? GitHub? www.notion.so

article thumbnail
[Spring Intro] Section 08. ๋‹ค์Œ์œผ๋กœ

์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์› ๋˜ ๊ฒƒ๋“ค ๋‹ค์Œ์œผ๋กœ! ์ง€๊ธˆ๊นŒ์ง€ ์Šคํ”„๋ง์œผ๋กœ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์–‡๊ณ  ๋„“๊ฒŒ ํ•™์Šตํ–ˆ๋‹ค. ์ด์ œ๋ถ€ํ„ฐ๋Š” ๊ฐ๊ฐ์˜ ๊ธฐ์ˆ ๋“ค์„ ๊นŠ์ด์žˆ๊ฒŒ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค. ๊ฑฐ๋Œ€ํ•œ ์Šคํ”„๋ง์˜ ๋ชจ๋“  ๊ฒƒ์„ ์„ธ์„ธํ•˜๊ฒŒ ์•Œ ํ•„์š”๋Š” ์—†๋‹ค. ์šฐ๋ฆฌ๋Š” ์Šคํ”„๋ง์„ ๋งŒ๋“œ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹ˆ๋‹ค. ์Šคํ”„๋ง์„ ํ™œ์šฉํ•ด์„œ ์‹ค๋ฌด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋“ค์„ ์ž˜ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์ค‘์š”ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ํ•ต์‹ฌ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๊ณ , ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ, ๋Œ€๋žต ์–ด๋””์ฏค ๋ถ€ํ„ฐ ์ฐพ์•„๋“ค์–ด๊ฐ€๋ฉด ๋ ์ง€, ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ์ฐพ์•„์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์ด ๋” ์ค‘์š”ํ•˜๋‹ค. ์•ž์œผ๋กœ์˜ ๋กœ๋“œ๋งต [ ์šฐ์•„ํ•œํ˜•์ œ๋“ค ์ตœ์—ฐ์†Œ ๊ธฐ์ˆ ์ด์‚ฌ ๊น€์˜ํ•œ์˜ ์Šคํ”„๋ง ์™„์ „ ์ •๋ณต ] ์Šคํ”„๋ง ํ•ต์‹ฌ ์›๋ฆฌ - ๊ธฐ๋ณธํŽธ ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹ ์Šคํ”„๋ง MVC 1ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ•ต์‹ฌ ๊ธฐ์ˆ  ์Šคํ”„๋ง MVC 2ํŽธ - ..

article thumbnail
[Spring Intro] Section 07. AOP_AOP๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ, AOP ์ ์šฉ

AOP๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ ๊ฐ‘์ž๊ธฐ ์•…๋• ์ƒ์‚ฌ๊ฐ€ ๋‚˜ํƒ€๋‚˜ ์š”์ƒˆ ์šฐ๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค๋ฉฐ ๋ชจ๋“  ๋ฉ”์†Œ๋“œ์˜ ํ˜ธ์ถœ ์‹œ๊ฐ„์„ ์ธก์ •ํ•ด ๋ณด๋ผ๊ณ  ํ•œ๋‹ค. ๋‚œ ๋ฉ”์†Œ๋“œ 1000๊ฐœ์˜ ์‹œ์ž‘๊ณผ ๋์— ์‹œ๊ฐ„ ์ธก์ • ๋กœ์ง์„ ๋ชจ๋‘ ์‹ฌ์–ด์•ผ ํ•œ๋‹ค. ๋จธ๋ฆฌ์— ํฐ์ผ๋‚ฌ๋‹ค๋Š” ์ƒ๊ฐ ๋ฟ์ด๋‹ค. ๊ทธ๋ ‡๊ฒŒ ์—ด์‹ฌํžˆ ์ˆ˜์ •ํ•ด๋’€๋”๋‹ˆ, ์ƒ์‚ฌ๊ฐ€ ๋‹ค์‹œ ์™€์„œ ์ดˆ ๋‹จ์œ„๋กœ ์ธก์ •ํ•˜๋‹ˆ ์ž˜ ์•ˆ ๋‚˜์˜ค๋„ค..๋ผ๋ฉฐ ๋ฐ€๋ฆฌ์„ธ์ปจ๋“œ ๋‹จ์œ„๋กœ ๋ฐ”๊พธ๋ผ๊ณ  ํ•œ๋‹ค. . . . ๋ชจ๋“  ๋ฉ”์†Œ๋“œ์˜ ํ˜ธ์ถœ ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด? ๊ณตํ†ต ๊ด€์‹ฌ ์‚ฌํ•ญ(cross-cutting concern) vs ํ•ต์‹ฌ ๊ด€์‹ฌ ์‚ฌํ•ญ(core concern) ํšŒ์› ๊ฐ€์ž… ์‹œ๊ฐ„, ํšŒ์› ์กฐํšŒ ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด? MemberService ํšŒ์› ์กฐํšŒ ์‹œ๊ฐ„ ์ธก์ • ์ถ”๊ฐ€ src/main/java/hello.hellospring/service/Memb..

article thumbnail
[Spring Intro] Section 06. ์Šคํ”„๋ง DB ์ ‘๊ทผ ๊ธฐ์ˆ _JPA, ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA

JPA JPA๋Š” ๊ธฐ์กด์˜ ๋ฐ˜๋ณต ์ฝ”๋“œ๋Š” ๋ฌผ๋ก ์ด๊ณ , ๊ธฐ๋ณธ์ ์ธ SQL๋„ JPA๊ฐ€ ์ง์ ‘ ๋งŒ๋“ค์–ด์„œ ์‹คํ–‰ํ•ด์ค€๋‹ค. JPA๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, SQL๊ณผ ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ์˜ ์„ค๊ณ„์—์„œ ๊ฐ์ฒด ์ค‘์‹ฌ์˜ ์„ค๊ณ„๋กœ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์ „ํ™˜์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. JPA๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ํฌ๊ฒŒ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค. build.gradle ํŒŒ์ผ์— JPA, h2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€ dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' //implementation 'org.springframework.boot:spring-boot-st..

article thumbnail
[Spring Intro] Section 06. ์Šคํ”„๋ง DB ์ ‘๊ทผ ๊ธฐ์ˆ _์ˆœ์ˆ˜ JDBC, ์Šคํ”„๋ง ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ, ์Šคํ”„๋ง JDBC Template

์ˆœ์ˆ˜ JDBC ํ™˜๊ฒฝ ์„ค์ • # build.gradle ํŒŒ์ผ์— jdbc, h2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€ // DB์™€ ์—ฐ๋™ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋“œ๋ผ์ด๋ฒ„ implementation 'org.springframework.boot:spring-boot-starter-jdbc' // DB์™€ ๋ถ™์„ ๋•Œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ runtimeOnly 'com.h2database:h2' # ์Šคํ”„๋ง ๋ถ€ํŠธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์„ค์ • ์ถ”๊ฐ€ resources/application.properties spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.datasource...

article thumbnail
[Spring Intro] Section 06. ์Šคํ”„๋ง DB ์ ‘๊ทผ ๊ธฐ์ˆ _H2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์น˜

๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ์šฐ๋ฆฌ๋Š” ์ด์ „ ํฌ์ŠคํŒ…์—์„œ ํšŒ์› ์ •๋ณด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„๋ฅผ ๊ป๋‹ค ์ผœ๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ชจ๋‘ ์‚ฌ๋ผ์กŒ๋‹ค. ์‹ค๋ฌด์—์„œ๋Š” ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•˜๋ฉด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ†ตํ•ด ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์šฐ์„  ๊ฐ€๋ณ๊ณ  ๊ฐ„๋‹จํ•œ H2 ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ์„ค์น˜ํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค SQL์„ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„์™€ DB๋ฅผ ์—ฐ๊ฒฐํ•ด ๋ณด์ž. ์—ฐ๊ฒฐํ•  ๋•Œ ํ•„์š”ํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ Jdbc๋ผ๋Š” ๊ธฐ์ˆ ์ด๋ฉฐ, ๋จผ์ € ์˜ค๋ž˜ ์ „์˜ ๊ฐœ๋ฐœ์ž๋“ค์ด ์–ด๋–ป๊ฒŒ ๊ฐœ๋ฐœํ–ˆ๋Š”์ง€ ์ˆœ์ˆ˜ํ•œ Jdbc๋กœ ๊ฒฝํ—˜์„ ํ•ด ๋ณด๊ณ  ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ DB๋กœ SQL์„ ํŽธํ•˜๊ฒŒ ๋‚ ๋ฆด ์ˆ˜ ์žˆ๋Š” ์Šคํ”„๋ง Jdbc Template์„ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋” ๋‚˜์•„๊ฐ€์„œ SQL์กฐ์ฐจ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ง์ ‘ ์งœ์ง€ ์•Š๊ณ  JPA๋ผ๋Š” ๊ธฐ์ˆ ์„ ํ†ตํ•ด ๋“ฑ๋ก/์ˆ˜์ •/์‚ญ์ œ ์ฟผ๋ฆฌ๋ฅผ ๋‚ ๋ฆด ์ˆ˜..