์ „์ฒด ๊ธ€

ํ”„๋ก์‹œ Team์— ์†ํ•ด์žˆ๋Š” Member ๋ฅผ ์กฐํšŒํ•  ์‹œ Team๊นŒ์ง€ ์กฐํšŒํ•  ํ•„์š”๊ฐ€ ์žˆ์„๊นŒ? ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์—์„œ ํ•„์š”ํ•˜์ง€ ์•Š์„ ๋•Œ๊ฐ€ ์žˆ๋Š”๋ฐ ํ•ญ์ƒ Team์„ ํ•จ๊ป˜ ์กฐํšŒํ•œ๋‹ค๋ฉด ๋‚ญ๋น„๊ฐ€ ๋ฐœ์ƒ๋œ๋‹ค. ์ด ๋‚ญ๋น„๋ฅผ ํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด ํ”„๋ก์‹œ๋ผ๋Š” ๊ฐ ๋ฉฐ์œผ๋กœ ํ•ด๊ฒฐํ•œ๋‹ค. - ์‹ค์ œ ํด๋ž˜์Šค๋ฅผ ์ƒ์† ๋ฐ›์•„์„œ ๋งŒ๋“ค์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ‰ ๋ชจ์–‘์ด ๊ฐ™๋‹ค - ์‚ฌ์šฉํ•˜๋Š” ์ž…์žฅ์—์„œ๋Š” ์ง„์งœ, ๊ฐ€์งœ ๊ฐ์ฒด์ธ์ง€ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. - ํ”„๋ก์‹œ ๊ฐ์ฒด๋Š” ์‹ค์ œ ๊ฐ์ฒด์˜ ์ฐธ์กฐ๋ฅผ ๋ณด๊ด€ -> ํ”„๋ก์‹œ ๊ฐ์ฒด๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ํ”„๋ก์‹œ ๊ฐ์ฒด๋Š” ์‹ค์ œ ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ em.find() : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ†ตํ•ด์„œ ์‹ค์ œ ์—”ํ‹ฐํ‹ฐ ๊ฐ์ฒด ์กฐํšŒ em.getReference() : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์กฐํšŒ๋ฅผ ๋ฏธ๋ฃจ๋Š” ๊ฐ€์งœ(ํ”„๋ก์‹œ) ์—”ํ‹ฐํ‹ฐ ๊ฐ์ฒด ์กฐํšŒ // ํ˜ธ์ถœํ•œ ์ˆœ๊ฐ„ ์ฟผ๋ฆฌ ์‹คํ–‰ Member findMember..
์ƒ์†๊ด€๊ณ„ ๋งคํ•‘ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ƒ์† ๊ด€๊ณ„๊ฐ€ ์—†๋‹ค.(์Šˆํผํƒ€์ž… ์„œ๋ธŒํƒ€์ž… ๊ด€๊ณ„๋ผ๋Š” ๋ชจ๋ธ๋ง ๊ธฐ๋ฒ•์ด ๊ฐ์ฒด ์ƒ์†๊ณผ ์œ ์‚ฌํ•˜๋‹ค) ์Šˆํผํƒ€์ž… ์„œ๋ธŒํƒ€์ž… ๋…ผ๋ฆฌ ๋ชจ๋ธ์„ ์‹ค์ œ ๋ฌผ๋ฆฌ ๋ชจ๋ธ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• 1. ๊ฐ๊ฐ ํ…Œ์ด๋ธ”๋กœ ๋ณ€ํ™˜ -> ์กฐ์ธ ์ „๋žต (์ •์„) - ํ…Œ์ด๋ธ” ์ •๊ทœํ™” - ์™ธ๋ž˜ ํ‚ค ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด ํ™œ์šฉ ๊ฐ€๋Šฅ - ์ €์žฅ๊ณต๊ฐ„ ํšจ์œจํ™” - ์กฐํšŒ์‹œ ์กฐ์ธ์„ ๋งŽ์ด ์‚ฌ์šฉ -> ์„ฑ๋Šฅ ์ €ํ•˜, ์กฐํšŒ ์ฟผ๋ฆฌ๊ฐ€ ๋ณต์žกํ•จ - ๋ฐ์ดํ„ฐ ์ €์žฅ์‹œ INSERT ์ฟผ๋ฆฌ๊ฐ€ 2๋ฒˆ ํ˜ธ์ถœ ๋œ๋‹ค. ๋น„์ง€๋‹ˆ์Šค์ ์œผ๋กœ ์ค‘์š”ํ•˜๊ณ  ๋ณต์žกํ•  ๋•Œ ์„ ํƒ! ๋ถ€๋ชจ ํด๋ž˜์Šค ์„ค์ • @Inheritance(strategy = InheritanceType.JOINED) @DiscriminatorColumn ์ž์‹ ํด๋ž˜์Šค ์„ค์ • -> dtype์— ํ‘œ์‹œ๋  ์ด๋ฆ„์„ ์ •ํ•ด ์ค„ ๊ฒฝ์šฐ @DiscriminatorVa..
์—ฐ๊ด€๊ด€๊ณ„ ๋งคํ•‘์‹œ ๊ณ ๋ ค์‚ฌํ•ญ 3๊ฐ€์ง€ 1. ๋‹ค์ค‘์„ฑ 2. ๋‹จ๋ฐฉํ–ฅ, ์–‘๋ฐฉํ–ฅ 3. ์—ฐ๊ด€๊ด€๊ณ„์˜ ์ฃผ์ธ - ๊ฐ์ฒด ์–‘๋ฐฉํ–ฅ ๊ด€๊ณ„๋Š” ์ฐธ์กฐ๊ฐ€ 2๊ตฐ๋ฐ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‘˜์ค‘ ํ…Œ์ด๋ธ”์˜ ์™ธ๋ž˜ ํ‚ค๋ฅผ ๊ด€๋ฆฌํ•  ๊ณณ์„ ์ง€์ •ํ•ด์•ผํ•จ - ์™ธ๋ž˜ ํ‚ค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ฐธ์กฐ - ์ฃผ์ธ์˜ ๋ฐ˜๋Œ€ํŽธ : ์™ธ๋ž˜ ํ‚ค์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Œ, ๋‹จ์ˆœ ์กฐํšŒ ๋‹ค๋Œ€์ผ[N:1] ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•จ ๋‹จ๋ฐ˜ํ–ฅ ์•„๋ž˜์™€ ๊ฐ™์ด [N]์—์„œ ์™ธ๋ž˜ ํ‚ค๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  Team์„ ์กฐํšŒ ํ•˜๊ณ  ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. Team์— ์„œ๋Š” ์กฐํšŒํ•˜์ง€ ๋ชปํ•จ -> Team์—์„œ Member์„ ์กฐํšŒํ•˜๋Š”์ผ์ด ๋นˆ๋ฒˆํ•˜๋‹ค๊ณ  ํ•˜๋ฉด -> ์–‘๋ฐ˜ํ–ฅ ์œผ๋กœ ๋งคํ•‘ํ•ด์ฃผ๋Š”๊ฒŒ ์ข‹์Œ. ์–‘๋ฐ˜ํ–ฅ ๋‹จ๋ฐ˜ํ–ฅ์—์„œ TEAM์ด MEMBER๋ฅผ mapped by ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ MEMBER๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค. (์ฝ๊ธฐ ์ „์šฉ) ์ผ๋Œ€๋‹ค[1:N] 1์ด ์—ฐ๊ด€๊ด€๊ณ„์˜ ์ฃผ์ธ์ด๋‹ค. ๋‹จ๋ฐฉํ–ฅ TEAM ์—์„œ..
๋ชฉํ‘œ - ๊ฐ์ฒด์™€ ํ…Œ์ด๋ธ” ์—ฐ๊ด€๊ด€๊ณ„์˜ ์ฐจ์ด๋ฅผ ์ดํ•ด - ๊ฐ์ฒด์˜ ์ฐธ์กฐ์™€ ํ…Œ์ด๋ธ”์˜ ์™ธ๋ž˜ ํ‚ค๋ฅผ ๋งคํ•‘ ๊ฐ์ฒด์™€ ํ…Œ์ด๋ธ” ์—ฐ๊ด€๊ด€๊ณ„์˜ ์ฐจ์ด๋ฅผ ์ดํ•ด ๊ฐ์ฒด๋ฅผ ํ…Œ์ด๋ธ”์— ๋งž์ถ”์–ด ๋ชจ๋ธ๋ง ํ–ˆ์„ ๋•Œ ๋ฌธ์ œ์  (์ฐธ์กฐ ๋Œ€์‹ ์— ์™ธ๋ž˜ ํ‚ค๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ) ํ˜‘๋ ฅ ๊ด€๊ณ„๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†๋‹ค. ํ…Œ์ด๋ธ”์€ ์™ธ๋ž˜ ํ‚ค๋กœ ์กฐ์ธ์„ ์‚ฌ์šฉํ•ด์„œ ์—ฐ๊ด€๋œ ํ…Œ์ด๋ธ”์„ ์ฐพ๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฒˆ๊ฑฐ๋กœ์šด ์ฝ”๋“œ๊ฐ€ ๋ฐœ์ƒ๋œ๋‹ค. Team team = new Team(); team.setName("TeamA"); em.persist(team); Member member = new Member(); member.setUsername("member1"); // ์™ธ๋ž˜ํ‚ค ์‹๋ณ„์ž๋ฅผ ์ง์ ‘ ๋‹ค๋ฃฌ๋‹ค. member.setTeamId(team.getId()); em.persist(member); // ๋ฉค๋ฒ„์˜ ..
๊ฐ์ฒด์™€ ํ…Œ์ด๋ธ” ๋งคํ•‘ @Entity - @Entity๊ฐ€ ์ •์˜๋˜์–ด์žˆ๋Š” ํด๋ž˜์Šค๋Š” JPA๊ฐ€ ๊ด€๋ฆฌํ•œ๋‹ค. - ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๊ฐ€ ๊ผญ ์žˆ์–ด์•ผ ํ•œ๋‹ค. - ์†์„ฑ: name ->JPA์— ์‚ฌ์šฉํ•  ์—”ํ‹ฐํ‹ฐ ์ด๋ฆ„์„ ์ง€์ •ํ•œ๋‹ค, ๊ธฐ๋ณธ๊ฐ’ : ํด๋ž˜์Šค ์ด๋ฆ„์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ @Table - name, catalog, schema ๋“ฑ๋“ฑ. . ํ•„๋“œ์™€ ์ปฌ๋Ÿผ ๋งคํ•‘ @Column ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปฌ๋Ÿผ๋ช…์„ ์„ค์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. unique(์‹ค๋ฌด์—์„œ ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค -> ์œ ๋‹ˆํฌ ์ œ์•ฝ์กฐ๊ฑด ์ด๋ฆ„์„ ์„ค์ •ํ•  ์ˆ˜ ์—†๋‹ค ๋Œ€์‹  @Table(uniqueCons.. ์‚ฌ์šฉ), length ๋“ฑ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. @Temporal ๋‚ ์งœ ํƒ€์ž… ๋งคํ•‘ ํ•˜์ง€๋งŒ LocalDate, LocalDateTime์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋‹ค. @Enumerated enum ํƒ€์ž… ๋งคํ•‘ default..
JPA์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ 2๊ฐ€์ง€ - ๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งคํ•‘ํ•˜๊ธฐ - ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ๊ฐ€ ๋ญ˜๊นŒ? JPA๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์šฉ์–ด์ด๋‹ค. "์—”ํ‹ฐํ‹ฐ๋ฅผ ์˜๊ตฌ ์ €์žฅํ•˜๋Š” ํ™˜๊ฒฝ"์ด๋ผ๋Š” ๋œป. -> EntityManager.persist(entity); - persist๋Š” ์‚ฌ์‹ค DB์— ์ €์žฅํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๊ณ  Entity๋ฅผ ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์— ์ €์žฅํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค. - ๋…ผ๋ฆฌ์ ์ธ ๊ฐœ๋…์œผ๋กœ ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค. EntityManager๋ฅผ ํ†ตํ•ด์„œ ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์— ์ ‘๊ทผํ•œ๋‹ค. - ์—ฌ๋Ÿฌ๊ฐœ์˜ EntityManager๊ฐ€ ํ•˜๋‚˜์˜ ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ๋ฅผ ๋ฐ”๋ผ๋ณธ๋‹ค. ์—”ํ‹ฐํ‹ฐ์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋Š” ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? ๋น„์˜์† - ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์™€ ์ „ํ˜€ ๊ด€๊ณ„๊ณผ ์—†๋Š” ์ƒˆ๋กœ์šด ์ƒํƒœ ์˜์† - ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์— ๊ด€๋ฆฌ๋˜๋Š” ์ƒํƒœ ์ค€์˜์† - ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์— ์ €์žฅ๋˜..
์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ–ˆ์„ ๋•Œ ์ €์žฅ์ด ๋ ๊นŒ? ์—๋Ÿฌ๊ฐ€ ์ƒ๊ธด๋‹ค. ์™œ๋ƒํ•˜๋ฉด JPA๋Š” ํŠธ๋ Œ์ ์…˜์ด๋Š” ๋‹จ์œ„๊ฐ€ ๋งค์šฐ ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— JPA์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์€ ํŠธ๋ Œ์ ์…˜ ์•ˆ์—์„œ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•œ๋‹ค. EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); Member member = new Member(); member.setId(1L); member.setName("AE"); em.persist(member); em.close(); emf.close(); ํŠธ๋ Œ์ ์…˜์„ ์ถ”๊ฐ€ํ•œ ์ฝ”๋“œ EntityManagerFactory emf = Persistence.createEntityMa..
www.inflearn.com/course/ORM-JPA-Basic/dashboard ์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ๊ธฐ๋ณธํŽธ - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜ JPA๋ฅผ ์ฒ˜์Œ ์ ‘ํ•˜๊ฑฐ๋‚˜, ์‹ค๋ฌด์—์„œ JPA๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๊ธฐ๋ณธ ์ด๋ก ์ด ๋ถ€์กฑํ•˜์‹  ๋ถ„๋“ค์ด JPA์˜ ๊ธฐ๋ณธ ์ด๋ก ์„ ํƒ„ํƒ„ํ•˜๊ฒŒ ํ•™์Šตํ•ด์„œ ์ดˆ๋ณด์ž๋„ ์‹ค๋ฌด์—์„œ ์ž์‹ ์žˆ๊ฒŒ JPA๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค., ๋ณธ ๊ฐ•์˜๋Š” ์ž๋ฐ” ๋ฐฑ์—” www.inflearn.com ์ธํ”„๋Ÿฐ์— ์žˆ๋Š” ๊ฐ•์˜๋ฅผ ๋ณด๋ฉฐ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค! ๋ชฉํ‘œ : ๊ฐ์ฒด์™€ ํ…Œ์ด๋ธ” ์„ค๊ณ„ ๋งคํ•‘ - ๊ฐ์ฒด์™€ ํ…Œ์ด๋ธ”์„ ์ œ๋Œ€๋กœ ์„ค๊ณ„ํ•˜๊ณ  ๋งคํ•‘ํ•˜๋Š” ๋ฐฉ๋ฒ• - ๊ธฐ๋ณธ ํ‚ค์™€ ์™ธ๋ž˜ ํ‚ค ๋งคํ•‘ - 1:N, N:1, 1:1, N:M ๋งคํ•‘ - ์‹ค๋ฌด ๋…ธํ•˜์šฐ + ์„ฑ๋Šฅ ๊ณ ๋ ค - JPA ๋‚ด๋ถ€ ๋™์ž‘ ๋ฐฉ์‹ ์ดํ•ดํ•˜๊ธฐ - JPA๊ฐ€ ์–ธ์ œ, ์–ด๋–ค SQL์„ ๋งŒ๋“ค์–ด ์‹คํ–‰ํ•˜๋Š”์ง€ ์ดํ•ด J..
์ƒ์† ์ƒ์†์„ ํ†ตํ•œ ๊ธฐ๋Šฅ ์žฌ์‚ฌ์šฉ์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์  1. ์ƒ์œ„ ํด๋ž˜์Šค ๋ณ€๊ฒฝ์ด ์–ด๋ ค์›€ - ์ƒ์œ„ ํด๋ž˜์Šค๋ฅผ ์กฐ๊ธˆ๋งŒ ์ž˜๋ชป ๋ณ€๊ฒฝํ•ด๋„ ๊ทธ ํ•˜์œ„ ํด๋ž˜์Šค๋“ค์ด ๋น„์ •์ƒ์ ์œผ๋กœ ์ž‘๋™๋  ์ˆ˜ ์žˆ์Œ. ( ๊ณ„์ธต๋„๋ฅผ ๋”ฐ๋ผ ์ „ํŒŒ๋จ ) 2. ์ƒˆ๋กœ์šด ์กฐํ•ฉ์ด ์ƒ๊ธธ ๋•Œ ๋งˆ๋‹ค ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ์ฆ๊ฐ€๋œ๋‹ค. ์–ด๋–ค ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š”์ง€๋„ ์• ๋งค 3. ์ƒ์†์„ ์˜ค์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์™€ ๊ฐ™์€ ๋‹จ์  ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์„๊นŒ? - ์—ฌ๋Ÿฌ ๊ฐ์ฒด๋ฅผ ๋ฌถ์–ด์„œ ๋” ๋ณต์žกํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณต - ๋ณดํ†ต ํ•„๋“œ๋กœ ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์กฐ๋ฆฝ, ๊ฐ์ฒด๋ฅผ ํ•„์š” ์‹œ์ ์— ์ƒ์„ฑ/๊ตฌํ•จ ์ƒ์†ํ•˜๊ธฐ์— ์•ž์„œ ์กฐ๋ฆฝ์œผ๋กœ ํ’€ ์ˆ˜ ์—†๋Š”์ง€ ๊ฒ€ํ† ํ•˜๊ณ  ์ง„์งœ ํ•˜์œ„ ํƒ€์ž…์ธ ๊ฒฝ์šฐ์—๋งŒ ์ƒ์†์„ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค! (๊ธฐ๋Šฅ ์žฌ์‚ฌ์šฉ ์‹œ ์“ฐ์ง€ ์•Š๋„๋ก ์ฃผ์˜!) ์กฐ๊ฑด ๋ถ„๊ธฐ์ผ ๊ฒฝ์šฐ ์ถ”์ƒํ™”, ์ƒ์†์ด ์ข‹์Šต๋‹ˆ๋‹ค. -> ์˜๋„๊ฐ€ ์ž˜ ๋“œ๋Ÿฌ๋‚˜๋Š” ์ด๋ฆ„ ์‚ฌ์šฉ ์˜์กด..
๋‹คํ˜•์„ฑ(Polymoriphism) ์—ฌ๋Ÿฌ(poly) ๋ชจ์Šต(morph)์„ ๊ฐ–๋Š” ๊ฒƒ ๊ฐ์ฒด ์ง€ํ–ฅ์—์„œ๋Š” ํ•œ ๊ฐ์ฒด๊ฐ€ ์—ฌ๋Ÿฌ ํƒ€์ž…์„ ๊ฐ–๋Š” ๊ฒƒ ์ถ”์ƒํ™”(Abstraction) ๋ฐ์ดํ„ฐ๋‚˜ ํ”„๋กœ์„ธ์Šค ๋“ฑ์„ ์˜๋ฏธ๊ฐ€ ๋น„์Šทํ•œ ๊ฐœ๋…์ด๋‚˜ ์˜๋ฏธ ์žˆ๋Š” ํ‘œํ˜„์œผ๋กœ ์ •์˜ํ•˜๋Š” ๊ณผ์ • ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์˜ ์ถ”์ƒํ™” - ํŠน์ •ํ•œ ์„ฑ์งˆ ex) ํ†ตํ™”, ๊ธˆ์•ก ์„ 'Money class'๋กœ ์ถ”์ƒํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. - ๊ณตํ†ต ์„ฑ์งˆ(์ผ๋ฐ˜ํ™”) ex) ์‚ผ์„ฑ์˜ SL-M2XX, HP MXX ์„ 'ํ”„๋ฆฐํ„ฐ'๋กœ ์ถ”์ƒํ™” ํ• ์ˆ˜ ์žˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ๊ตฌํ˜„์„ ์ถ”์„ฑํ™” ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด (SCP๋กœ ํŒŒ์ผ ์—…๋กœ๋“œ, HTTP๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก, DB ํ…Œ์ด๋ธ”์— ์‚ฝ์ž…) => ํ‘ธ์‹œ ๋ฐœ์†ก ์š”์ฒญ์œผ๋กœ ์ถ”์ƒํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ํƒ€์ž… ์ถ”์ƒํ™” ์—ฌ๋Ÿฌ ๊ตฌํ˜„ ํด๋ž˜์Šค๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ์ƒ์œ„ ํƒ€์ž… ๋„์ถœ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์˜๋ฏธ๋งŒ ์ œ๊ณตํ•˜๊ณ  ๊ตฌํ˜„์€ ์ œ๊ณตํ•˜์ง€ ์•Š..
www.inflearn.com/course/%EA%B0%9D%EC%B2%B4-%EC%A7%80%ED%96%A5-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EC%9E%85%EB%AC%B8 ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜ ์ž˜ ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์œ ์—ฐํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ค„ ์•Œ์•„์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ์„ ์ด์šฉํ•ด์„œ ๋ณ€๊ฒฝํ•˜๊ธฐ ์ข‹์€ ์œ ์—ฐํ•œ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์„ธ์š”., ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ ์ด๋ฒˆ '๊ฐ www.inflearn.com ํ•ด๋‹น ๊ฐ•์˜๋ฅผ ๋ณด๋ฉฐ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค! ๊ฐ์ฒด์˜ ํ•ต์‹ฌ? ๊ฐ์ฒด๋Š” ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ์ •์˜ํ•œ๋‹ค. ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š”์ง€๋กœ ์ •์˜ํ•˜์ง€ ๋‚ด๋ถ€์ ์œผ๋กœ ๊ฐ€์ง„ ํ•„๋“œ๋กœ ์ •์˜ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ํšŒ์›๊ฐ์ฒด๊ฐ€ ์žˆ๋‹ค๋ฉด ํšŒ์›๊ฐ์ฒด์˜ ๊ธฐ๋Šฅ์€ ํšŒ์›์ˆ˜์ •, ํšŒ..
2021.05.03 - [BASIC] - 01. HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹ - ์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ 2021.05.03 - [BASIC] - 02. HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹ - URI 2021.05.03 - [BASIC] - 03. HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹ - ๋ชจ๋“ ๊ฒƒ์ด HTTP 2021.05.03 - [BASIC] - 04. HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹ - HTTP API 2021.05.04 - [BASIC] - 05. HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹ - ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก 2021.05.04 - [BASIC] - 06. HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹ - HTTP ์ƒํƒœ์ฝ”๋“œ ์†Œ๊ฐœ 2021.05.06 - [BASIC] - 07. HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹ - HTTP ํ—ค๋” ๊ฐœ์š” ์บ์‹œ์™€ ์กฐ๊ฑด๋ถ€ ์š”์ฒญ ์บ์‹œ๊ฐ€ ์—†์„ ๋•Œ - ์ฒซ ๋ฒˆ์งธ ์š”์ฒญ..
์• ์ •์“ฐ
์• ์ •์ฝ”๋”ฉ ๐Ÿ’ป