๊ณต๋ถ..์คํฐ๋.../์์ค๋ณ ํ์ต๋ฐ7 ์์ค๋ณ ํ์ต๋ฐ_๋ฒ ์ด์ง๋ฐ 7ํ์ฐจ ์ธ์ ๋ฒ ์ด์ง๋ฐ์ธ์ฆ์ธ๊ฐ ํ์ฉ(ํ ํฐ์ธ์ฆ๋ฐฉ์: JWT)12/26 11:00 ~ 12:10 (์ฝ 1์๊ฐ 10๋ถ ์งํ) JWThttps://jwt.io/ JWT.IOJSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.jwt.io์ํธํ๊ฐ ์๋๋ค!๊ทธ๋ฅ ๋จ์ง ๊ธฐ์กด ํ ํฐ์ ๋ณ์กฐ๋ฅผ ๋ง๊ธฐ ์ํด์ JWT์ Signature๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. → ๋ณ์กฐ๋ฅผ ๋ง๊ธฐ ์ํด์ ๋ค์ด๊ฐ๋ค.์ฒซ ๋ฒ์งธ ์์ญ์ HEADER๋ผ๋ ๊ณณ์ด๋ค.์๋ช ์ด ์ฌ์ฉ๋ ์๊ณ ๋ฆฌ์ฆ์ด ๋ฌด์์ธ์ง, ํ ํฐ์ ํ์ ์ด ๋ฌด์์ธ์ง ์๋ ค์ฃผ๋ ๊ตฌ์ญ์ด๋ค.์ฐ์ฐํ ๋ ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ปํ๋ค.๋ ๋ฒ์งธ ์์ญ์ PAYLOAD๋ผ๋ ๊ณณ์ด๋ค. → ๊ธฐ์กด.. 2024. 12. 28. ์์ค๋ณ ํ์ต๋ฐ_๋ฒ ์ด์ง๋ฐ 5ํ์ฐจ ์ธ์ ๋ฒ ์ด์ง๋ฐ๋ฐ์ดํฐ๋ชจ๋ธ๋ง๊ณผ ์ฐ๊ด๊ด๊ณ12/19 11:00 ~ 12:00 (์ฝ 1์๊ฐ ์งํ) ์ค์ํค์๋๋จ๋ฐฉํฅ vs ์๋ฐฉํฅ์ฐ๊ด๊ด๊ณ ์ฃผ์ธ๋ถ๋ชจ-์์ ๊ด๊ณcascadeorphanRemoval ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง1. ๋ด์ผ๋ฐฐ์์บ ํ ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ ๋ถ์a. ์๋๋ฆฌ์ค์ ์๋ง์ ๋น์ฆ๋์ค ๊ด์ ์?!b. ๋ด์ผ๋ฐฐ์์บ ํ ์์คํ ์ ______________________์ด๋ค!ํ ๋ช ์ ํ์์ด ํ๋์ ์์ ๋ง ๋ค์ ์ ์๋ ๊ตฌ์กฐํ๋์ ์์ ์ด ์ฌ๋ฌ ๋ช ์ ํ์์ ํฌํจํ ์ ์๋ ๊ตฌ์กฐ2. ํ ์ด๋ธ ์ง์ ๊ทธ๋ ค๋ณด๊ธฐa. case1: Course ํ ์ด๋ธ์ด studentId๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐstudent ํ ์ด๋ธpk (ํ์)name1 gygim 2 Steve Course ํ ์ด๋ธpk (์์ ) student_id name 11 Spring 21Ktor31React.. 2024. 12. 22. ์์ค๋ณ ํ์ต๋ฐ_๋ฒ ์ด์ง๋ฐ 4ํ์ฐจ ์ธ์ ๋ฒ ์ด์ง๋ฐ๋ฐ์ดํฐ ์ ๊ทผ ๋ฐฉ๋ฒ JPA12/17 11:00 ~ 12:40 (์ฝ 1์๊ฐ 40๋ถ ์งํ) ์ค์ ํค์๋JPA์์์ฑ ์ปจํ ์คํธ → ๋ฉด์ ์์ ํญ์ ๋์ค๋ ๋ด์ฉ์์์ฑ ์ปจํ ์คํธ์ ์ฅ์ 1์ฐจ ์บ์ฑ๋๋ฑ์ฑ ๋ณด์ฅ์ฐ๊ธฐ ์ง์ฐ๋ณ๊ฒฝ ๊ฐ์งJPA ๋ ๊ฐ์ง ํ์ฉ ๋ฐฉ๋ฒ์์ JPAJPA ์ธํฐํ์ด์ค → ํ์ ์์ ๋ง์ด ์ฌ์ฉํ๋ค. JPA(Java Persistence API)JPA๋ ์๋ฐ ์ํ๊ณ์์ ORM์ ๊ตฌํํ ์ ์๋ ํ์ค ๋ช ์ธ์ด๋ค.Hibernate๋ JPA ๋ช ์ธ๋ฅผ ๊ตฌํํ ๊ตฌํ์ฒด ์ค ํ๋์ด๋ค.JPA๊ฐ ๋ด๋ถ์ ์ผ๋ก JDBC API๋ฅผ ํ์ฉํ๋ค. ORM(Object-Relational Mapping)๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฒด์ฒ๋ผ ์ฌ์ฉํ๋ ๊ธฐ๋ฒ์ด๋ค.ORM์ ํ๊ณ๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ SQL์ ์ ์๊ณ ์์ด์ผ ํ๋ค.๋ ๋ค ์๊ณ ์์ด์ผ ํ๋ค. ํ์ชฝ๋ง ์๊ณ ์์ผ๋ฉด .. 2024. 12. 21. ์์ค๋ณ ํ์ต๋ฐ_๋ฒ ์ด์ง๋ฐ 3ํ์ฐจ ์ธ์ ๋ฒ ์ด์ง๋ฐ์ธ์ฆ์ธ๊ฐ12/13 14:00 ~ 15:40 (์ฝ 1์๊ฐ 40๋ถ ์งํ) ์ค์ ํค์๋์ฟ ํค์ฟ ํค ์ธ์ฆ ๋ฐฉ์์ธ์ ์ธ์ ์ธ์ฆ ๋ฐฉ์ํ ํฐํ ํฐ ์ธ์ฆ ๋ฐฉ์ํํฐ์ฟ ํค, ์ธ์ , ํ ํฐ ์ธ์ฆ ๋ฐฉ์์ ๊ฐ๋ฐ์ ํ๋ ค๋ฉด ๋ฌด์กฐ๊ฑด ์๊ณ ์์ด์ผ ํ๋ ๋ด์ฉ์ด๋ค!์ธ์ฆ ๋ฐฉ์์ ๋น๊ตํด๋ณด๋ ๊ฒ์ด ์ข ๋ ์ดํด๊ฐ ์ฝ๋ค. ์ฟ ํค ์ธ์ฆ ๋ฐฉ์์ฟ ํค๋ธ๋ผ์ฐ์ ๋ฅผ ์ ์ํ์ ๋, ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํด์๋ ์ฌ์ฉ๋๋ค.์ฌ์ฉ์์ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ธ๋ผ์ฐ์ ์ ์์ ๊ณต๊ฐ์ด๋ค.๊ทธ๋ ๋ค๋ฉด ์ ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ ๊ณต๊ฐ์ด ํ์ํ ๊น?!์ฌ์ฉ์ฑ๊ฐ์ธํ๋ ๊ฒฝํ ์ ๊ณต → ๋ง์ถคํ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์๋ค.์ฑ๋ฅ ์ต์ ํ → ๋ธ๋ผ์ฐ์ , ์ฟ ํค์์ ๋ฐ๋ก ๊บผ๋ด์ ๋ณด์ฌ์ค ์ ์๋ค.์คํ๋ผ์ธ ์ง์์ฟ ํค๋ฅผ ํ์ฉํ ๊ธฐ๋ฅ๋ธ๋ผ์ฐ์ ์์ ์์ฒญ์ด ๊ฐ ๋๋ง๋ค ์๋์ผ๋ก Request Header์ ๊ทธ ๊ฐ๋ค์ด ํฌํจ๋์ด์ ์๋ฒ.. 2024. 12. 16. ์์ค๋ณ ํ์ต๋ฐ_๋ฒ ์ด์ง๋ฐ 2ํ์ฐจ ์ธ์ ๋ฒ ์ด์ง๋ฐAPI์ ์น ์๋ฒ(MVC)12/10 20:00 ~ 21:20 (์ฝ 1์๊ฐ 20๋ถ ์งํ) API (Application Programming Interface)ํ๋ก๊ทธ๋จ๊ณผ ๋ํํ๋ ๋ฐฉ๋ฒ : ํด๋ผ์ด์ธํธ(์ฌ์ฉ์ ๋๋ ์ธ๋ถ ์์คํ )์ด ์๋ฒ์ ์์ฒญํ ์ ์๋ ๊ธฐ๋ฅ ๋จ์์ด๋ค.ํ ์ผ๊ณผ ๊ด๋ จ๋ 4๊ฐ์ง API ์์๋๋ณด๊ธฐ /** * ํ ์ผ ์์ฑ API */ @PostMapping public String createTodoAPI() { return "created"; } /** * ํ ์ผ ์กฐํ API */ @GetMapping public String getTodoAPI() { return "retrieve todo"; } .. 2024. 12. 11. ์์ค๋ณ ํ์ต๋ฐ_๋ฒ ์ด์ง๋ฐ 1ํ์ฐจ ์ธ์ ๋ฒ ์ด์ง๋ฐ์คํ๋ง ์ปจํ ์ด๋, ์ปดํฌ๋ํธ ์ค์บ, ์คํ๋ง ๋น ์ค์ ํค์๋โญ๏ธโญ๏ธโญ๏ธโญ๏ธโญ๏ธ - ๋ฉด์ ์ ๋์ค๋ ๋ด์ฉ๋ค์คํ๋ง ์ปจํ ์ด๋์์กด์ฑ ์ฃผ์ ์ ์ด์ ์ญ์ ์ปดํฌ๋ํธ ์ค์บ์คํ๋ง ๋น๋น์ ์์ ์ฃผ๊ธฐ๋น ์ค์ฝํ์ฑ๊ธํค ์คํ๋ง ์์ฒญ ํ๋ฆ๋ @RestController@RequestMapping("/hello")public class HelloController { @GetMapping() public String sayHello() { return "hello"; }}์๋ ์์ ์ ๋๊ฐ ํ์๊น?!์ ๋ถ ์คํ๋ง ์ปจํ ์ด๋๊ฐ ํด์ค๋ค!!HelloController helloController = new HelloController();helloController.sayHello(); ์คํ๋ง ์ปจํ ์ด๋์คํ๋ง ์ปจํ ์ด๋๋ฅผ.. 2024. 12. 7. ์ด์ 1 2 ๋ค์