STUDY ๐Ÿ“š

์—ด๊ณตํ•˜๊ธฐ!
์ž๋ฐ” ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์ด๋ž€? : ์ž๋ฐ” ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์€ ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ๊ฐ€๋…์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋”ฐ๋ฅด๋Š” ์ผ๋ จ์˜ ๊ทœ์น™ ์ด๋Ÿฌํ•œ ๊ทœ์น™์€ ํ”„๋กœ์ ํŠธ ํŒ€์ด๋‚˜ ์กฐ์ง์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ ์šฉ๋˜์ง€๋งŒ, ์ผ๋ฐ˜์ ์œผ๋กœ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ธฐ๋ณธ์ ์ธ ์ž๋ฐ” ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ! ๋ช…๋ช… ๊ทœ์น™ (Naming Conventions) - ํด๋ž˜์Šค ์ด๋ฆ„: ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๊ณ  ๋ช…์‚ฌ๋กœ ์ž‘์„ฑ. ์˜ˆ: MyClass, Customer. - ๋ฉ”์„œ๋“œ ์ด๋ฆ„: ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๊ณ  ๋™์‚ฌ๋กœ ์ž‘์„ฑ. ์˜ˆ: getData, setAge. - ๋ณ€์ˆ˜ ์ด๋ฆ„: ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ ๋‹จ์–ด๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ camelCase๋ฅผ ์‚ฌ์šฉ. ์˜ˆ: firstName, customerList. - ์ƒ์ˆ˜ ์ด๋ฆ„: ๋ชจ๋‘ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑํ•˜๋ฉฐ, ๋‹จ์–ด ๊ฐ„์—๋Š” ๋ฐ‘์ค„(_)๋กœ ๊ตฌ..
Spring Data JPA : JPA๋ฅผ ์ด์šฉํ•œ ๊ตฌํ˜„์ฒด๋ฅผ ๋” ์ถ”์ƒํ™”์‹œ์ผœ์„œ ์‰ฝ๊ณ  ๊ฐ„ํŽธํ•˜๊ฒŒ JPA๋ฅผ ์ด์šฉํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ชจ๋“ˆ *JPA = Java Persitence API์˜ ์•ฝ์ž, ์ž๋ฐ”์˜ ORM(์ž๋ฐ”์˜ ๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜• DB๋ฅผ ๋งตํ•‘)์„ ์œ„ํ•œ ํ‘œ์ค€ ๊ธฐ์ˆ  Spring Data JPA → JPA(=๊ทœ์•ฝ)→ Hibernate(JPA ๊ตฌํ˜„์ฒด) → JDBC Driver → MariaDB Driver(JDBC ๋“œ๋ผ์ด๋ฒ„ ๊ตฌํ˜„์ฒด) → MariaDB ์ฐธ๊ณ ) https://suhwan.dev/2019/02/24/jpa-vs-hibernate-vs-spring-data-jpa/ JPA, Hibernate, ๊ทธ๋ฆฌ๊ณ  Spring Data JPA์˜ ์ฐจ์ด์  ๊ฐœ์š” Spring ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ ํ•„์š”..
์ฟ ํ‚ค : ํด๋ผ์ด์–ธํŠธ ๋กœ์ปฌ์— ์ €์žฅ๋˜๋Š”Key-Value์Œ์˜ ์ž‘์€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์—์„œ ๊ฐ’์„ ์ƒ์„ฑ/์ˆ˜์ •/์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์—์„œ ๊ฐ’์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ณด์•ˆ์— ์ทจ์•ฝํ•˜๋‹ค. ๊ฐ ๋ธŒ๋ผ์šฐ์ € ๋ณ„๋กœ ์œ ์ง€ํ•ด์•ผํ•˜๋Š” ๋ณ„๋กœ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ์ •๋ณด๋Š” ์ฟ ํ‚ค์— ์ €์žฅํ•ด๋„ ๋œ๋‹ค. JSESSIONID ๋Š” ์ค‘์š”ํ•œ ์ •๋ณด์ด์ง€๋งŒ ๊ตฌ์กฐ์ƒ ์–ด์ฉ” ์ˆ˜ ์—†์ด ์ฟ ํ‚ค์— ์ €์žฅ๋˜์–ด์•ผ ํ•œ๋‹ค. JSESSIONID ๋Š” ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)๊ฐ€ ์กฐ์ž‘์„ ํ•˜๋”๋ผ๋„ ๋ณธ์ธ๋งŒ ์†ํ•ด์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋ณดํ†ต์€ ์กฐ์ž‘์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์„ธ์…˜ : ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋˜๊ธฐ ์ „๊นŒ์ง€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์œ ์ง€ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ์ˆ  ์„œ๋ฒ„์—์„œ๋งŒ ๊ฐ’์„ ์ƒ์„ฑ/์ˆ˜์ •/์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์—์„œ ๊ฐ’์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ๋ณด์•ˆ์„ฑ์ด ์ข‹๋‹ค. ๊ฐ ๋ธŒ๋ผ์šฐ์ € ๋ณ„๋กœ ์œ ์ง€ํ•ด์•ผํ•˜๋Š” ์ค‘์š”ํ•œ ์ •๋ณด๋Š” ์„ธ์…˜์— ์ €..
Flex ์ปจํ…Œ์ด๋„ˆ์— ์ ์šฉํ•˜๋Š” ์†์„ฑ justify-content → ๋ฉ”์ธ์ถ•(๊ฐ€๋กœ) ๋ฐฉํ–ฅ์œผ๋กœ ์•„์ดํ…œ๋“ค์„ ์ •๋ ฌ flex-start : ์‹œ์ž‘์  ์ •๋ ฌ flex-end : ๋์  ์ •๋ ฌ center : ๊ฐ€์šด๋ฐ ์ •๋ ฌ space-between : ์•„์ดํ…œ๋“ค ์‚ฌ์ด์— ๊ท ์ผํ•œ ๊ฐ„๊ฒฉ์„ ๋งŒ๋“ค์–ด ์ •๋ ฌ space-evenly : ์•„์ดํ…œ๋“ค์˜ ์‚ฌ์ด์™€ ์–‘ ๋์— ๊ท ์ผํ•œ ๊ฐ„๊ฒฉ์„ ๋งŒ๋“ค์–ด ์ •๋ ฌ space-around : ์•„์ดํ…œ๋“ค์˜ ๋‘˜๋ ˆ์— ๊ท ์ผํ•œ ๊ฐ„๊ฒฉ์„ ๋งŒ๋“ค์–ด ์ •๋ ฌ align-items → ์ˆ˜์ง์ถ•(์„ธ๋กœ) ๋ฐฉํ–ฅ์œผ๋กœ ์•„์ดํ…œ๋“ค์„ ์ •๋ ฌ flex-start : ์‹œ์ž‘์  ์ •๋ ฌ flex-end : ๋์  ์ •๋ ฌ center : ๊ฐ€์šด๋ฐ ์ •๋ ฌ stretch : ์ˆ˜์ง์ถ• ๋ฐฉํ–ฅ์œผ๋กœ ๋๊นŒ์ง€ ๋Š˜์–ด๋‚จ flex-direction → ๋ฐฐ์น˜๋˜๋Š” ์ถ•์˜ ๋ฐฉํ–ฅ์„ ๊ฒฐ์ • row : ๊ฐ€๋กœ ๋ฐฉํ–ฅ์œผ๋กœ..
1. HomeController ์ถ”๊ฐ€ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ResponseBody; // @Controller ์˜ ์˜๋ฏธ // ๊ฐœ๋ฐœ์ž -> ์Šคํ”„๋ง๋ถ€ํŠธ // ์•„๋ž˜ ์žˆ๋Š” HomeController ๋Š” ์ปจํŠธ๋กค๋Ÿฌ์ž„ @Controller public class HomeController { // @GetMapping("/home/main") ์˜ ์˜๋ฏธ // ๊ฐœ๋ฐœ์ž -> ์Šคํ”„๋ง๋ถ€ํŠธ // ๋งŒ์•ฝ์— /home/main ์ด๋Ÿฐ ์š”์ฒญ์ด ์˜ค๋ฉด ์•„๋ž˜ ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•จ @GetMap..
1. start.spring.io ์ƒ์„ฑ https://start.spring.io 1) ์œ„ ๋งํฌ์—์„œ ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑ 2) GENERATE๋ฅผ ๋ˆ„๋ฅด๊ณ  zip ํŒŒ์ผ์„ ๋‹ค์šด 3) ๋‹ค์šด๋ฐ›์€ zip ํŒŒ์ผ์„ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ €์žฅ๋˜๋Š” ํŒŒ์ผ์— ํ’€๊ธฐ 2. IntelliJ ์„ค์ • 1) ํŒŒ์ผ ์—ด๊ธฐ๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ์••์ถ•ํ•ด์ œ ํ–ˆ๋˜ ํŒŒ์ผ์„ ์—ด๊ธฐ 2) ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์„ค์ • (๋ฉ”๋‰ด -> ํŒŒ์ผ -> settings(์„ค์ •)) 3) ๋กฌ๋ณต ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€ ํ›„ ์ฒซ ๋นŒ๋“œ์—์„œ ์ฐฝ์ด ๋œจ๋ฉด enable annotaion processing์„ ํด๋ฆญํ•˜์—ฌ ํ™œ์„ฑํ™” 4) ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์„ค์ • (๋ฉ”๋‰ด -> ํŒŒ์ผ -> Project Structure(ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ)) 3. Application ์‹คํ–‰
CHAR ๊ณ ์ •ํ˜• : ex) CHAR(8) -> ๋ฌธ์ž ๋ช‡ ๊ฐœ๋ฅผ ๋„ฃ๋“  8๋ฐ”์ดํŠธ์”ฉ ์ฐจ์ง€ CHAR๋Š” ์ถ”ํ›„ ์—ฐ์‚ฐ์ด ํ•„์š” ์—†๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๊ฐ€ ๋น ๋ฅด์ง€๋งŒ ์‹ค์ œ ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ ์–‘์— ์ƒ๊ด€์—†์ด ์ €์žฅ์šฉ๋Ÿ‰์ด ์†Œ๋ชจ๋จ ๊ธ€์ž ์ˆ˜๊ฐ€ ๊ณ ์ •๋˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ VARCHAR ๊ฐ€๋ณ€ํ˜• : ex) VARCHAR(8) -> ๋ฌธ์ž ํ•œ ๊ฐœ๋‹น 1๋ฐ”์ดํŠธ์”ฉ ์ฐจ์ง€ ๋ฐ์ดํ„ฐ ๊ธธ์ด์˜ ๋”ฐ๋ผ์„œ ๊ฐ€๋ณ€์ ์œผ๋กœ ๊ธธ์ด๊ฐ€ ์ •ํ•ด์ง VARCHAR๋Š” ์†๋„๊ฐ€ ๋Š๋ฆฌ์ง€๋งŒ ์‹ค์ œ ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ ์–‘์— ๋”ฐ๋ผ์„œ ์ €์žฅ์šฉ๋Ÿ‰์„ ์ ˆ์•ฝํ•จ
daxx0ne
'STUDY ๐Ÿ“š' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)