๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€67

[TIL] 221202 - A to Z ํ”„๋กœ์ ํŠธ ๊ณผ์ œ A to Z ํ”„๋กœ์ ํŠธ ๊ณผ์ œ https://github.com/youngjijang/react-springboot-rest-api GitHub - youngjijang/react-springboot-rest-api: ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ REST API ๊ตฌํ˜„ ๊ณผ์ œ์˜ ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค. ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ REST API ๊ตฌํ˜„ ๊ณผ์ œ์˜ ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค. Contribute to youngjijang/react-springboot-rest-api development by creating an account on GitHub. github.com 2022. 12. 7.
[Spring] Request ์–ด๋…ธํ…Œ์ด์…˜ (parameter mapping) Request๊ฐ€ ๋“ค์–ด์˜ค๋Š” ํƒ€์ž…์— ๋”ฐ๋ผ ๋ฐ›๋Š” ๋ฐฉ์‹์ด ๋‚˜๋‰œ๋‹ค. URI Query String body form @PathVariable @GetMapping( "/api/v1/customers/{customerId}") @ResponseBody public ResponseEntity findCustomer(@PathVariable("customerId") UUID customerId){ var customer = customerService.getCustomer(customerId); return customer.map(v -> ResponseEntity.ok(v)).orElse(ResponseEntity.notFound().build()); } URI ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด Request๊ฐ€ ๋“ค์–ด์˜ค๋Š” ํƒ€์ž… http:/.. 2022. 12. 1.
[Java] List ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฆฌ๋ทฐ ๋ฐ›์•˜๋‹ค๐Ÿคฃ https://jihyehwang09.github.io/2020/04/13/java-list-null-check/ List.size() == 0 ๋ณด๋‹ค๋Š” List.isEmpty() ํ”ผ๋“œ๋ฐฑ ๋ฐ›์€ ๊ฒƒ๊ณผ ๊ฐ™์ด isEmpty๊ฐ€ ๊ฐ€๋…์„ฑ๋ฉด์— ์ง๊ด€์ ์ด๋‹ค. ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, list์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ 0์ด ์•„๋‹๊ฒฝ์šฐ size() ๋ฉ”์†Œ๋“œ๋Š” O(n)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— isEmpty() ๋ณด๋‹ค ๋น„์šฉ์ด ๋งŽ์ด ๋“ ๋‹ค. (isEmpty()๋Š” O(1)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„) List null ์ฒดํฌ Java Spring ์‚ฌ์šฉ์‹œ์—๋Š” ์•„ํŒŒ์น˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ CollectionUtils.isEmpty()๋ฅผ ์‚ฌ์šฉํ•˜์ž. import org.springframework.util.CollectionUtils; public class Main { pu.. 2022. 12. 1.
[Java] a.equlas(b)๋ณด๋‹ค๋Š” Object.equlas(a,b) ์‚ฌ์šฉํ•˜๊ธฐ ๊ณผ์ œ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•˜๋‹ค~ Objects.equals(a, b)์„ ๊ถŒ์žฅํ•˜๋Š” ์ด์œ  1. ์–ด๋–ค ์ปฌ๋Ÿฝ๋“ค์„ ๋น„๊ตํ•˜๋Š”์ง€ ๋ณด๊ธฐ ์ข‹๋‹ค. a.equlas(b) ๋ณด๋‹ค Objects.equals(a,b)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด a ์ปฌ๋Ÿผ๊ณผ b ์ปฌ๋Ÿผ์„ ๋น„๊ตํ•œ๋‹ค๋Š” ๊ฒƒ์„ ํ•œ๋ˆˆ์— ํ™•์ธํ•˜๊ธฐ ์ข‹๋‹ค. 2. NPE์— ์ทจ์•ฝํ•˜์ง€ ์•Š๋‹ค. Objects.equals ๋ฉ”์†Œ๋“œ๋ฅผ ๋ณด๋ฉด ๋น„๊ต ๋Œ€์ƒ ๊ฐ์ฒด a์˜ null ์ฒดํฌ๋ฅผ ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธ ํ›„ equals ๋น„๊ต๋ฅผ ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. equals๊ณผ hashcode๋ฅผ ํ•จ๊ป˜ ์žฌ ์ •์˜ํ•ด์•ผํ•˜๋Š” ์ด์œ  equals๋งŒ ์žฌ์ •์˜ํ•˜์˜€์„ ๊ฒฝ์šฐ public static void main(String[] args) { var email1 = new Email("gg"); var email2 = new Email("gg"); Sy.. 2022. 12. 1.
[TIL] 221124 - SpringBoot Part2 ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ (๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ DB ์„ค๊ณ„) SpringBoot Part2 ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ :๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ DB ์„ค๊ณ„ํ•˜๊ธฐ โ€ป ์ฃผ๊ด€์ ์ธ ๊ธ€์ž…๋‹ˆ๋‹ค! ์‹ฌํ™”๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ, ๋‹จ์ง€ ๊ณผ์ œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑ์‹œํ‚ค๋ฉฐ ๊ฐœ๋ฐœ๊ณต์ˆ˜๋ฅผ ๋‚ฎ์ถ”๋ ค๋Š” ๋ฐฉ์‹ ๊ฐ™๋‹ค๋Š” ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์•˜๋‹ค. ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์€ ๊ธฐ์กด ํ…Œ์ด๋ธ” ๊ตฌ์กฐ ๋ฐ”์šฐ์ฒ˜์™€ ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์˜ ๊ด€๊ณ„๊ฐ€ 1 : N ์ด๊ธฐ๋•Œ๋ฌธ์— ๊ตณ์ด ์ค‘๊ฐ„ ๋งคํ•‘ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๋ฉ˜ํ† ๋‹˜ ๋ง์”€๋Œ€๋กœ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ชจ๋‘ ์ถฉ์กฑํ• ์ˆ˜ ์žˆ๋Š”๋Œ€ ๊ตณ์ด ๋ณต์žกํ•œ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค ํ•„์š”์—†๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ํ•ด๋‹น ๊ตฌํ˜„ ๋ฐฉ์‹์ด ์šฐ๋ฆฌ๊ฐ€ ๊ทธํ† ๋ก ๋งํ•˜๋˜ ๊ฒฐํ•ฉ๋„์™€ ์‘์ง‘๋„๋ฅผ ๋†’์ด๋Š” ์ฝ”๋“œ์ธ๊ฐ€ ๋‹ค์‹œ ๊ณ ๋ฏผํ•ด๋ณผ ํ•„์š”๊ฐ€ ์žˆ์„ ๊ฒƒ๊ฐ™๋‹ค. ๋˜ํ•œ ์˜ค๋ฒ„์—”์ง€๋‹ˆ์–ด๋ง๊ณผ ํ™•์žฅ์„ฑ์„ ๊ฐ€์ ธ๊ฐ€๋Š” ๊ฒƒ์˜ ์ฐจ์ด๋ฅผ ์ƒ๊ฐํ•ด๋ด์•ผํ•œ๋‹ค. ํ™•์žฅ์„ฑ์— ๊ฐ€์ด๋“œ๋ผ์ธ์ด ์žˆ์„ ๊ฒฝ์šฐ ํ™•์žฅ์„ฑ์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ๋งž๊ณ  ํ™•์žฅ์„ฑ์ด ์ „ํ˜€ ์—†๋Š” ๊ตฌ์กฐ๋ผ๋ฉด ์˜ค๋ฒ„์—”์ง€๋‹ˆ์–ด๋ง.. 2022. 11. 26.
[TIL] 221123 - ํด๋ก  ์ฝ”๋”ฉ : ์ปคํ”ผ๋นˆ ์ฃผ๋ฌธ ๊ด€๋ฆฌ ์„œ๋น„์Šค [ํด๋ก  ์ฝ”๋”ฉ] ์ปคํ”ผ๋นˆ ์ฃผ๋ฌธ ๊ด€๋ฆฌ ์„œ๋น„์Šค 0. ์š”๊ตฌ์‚ฌํ•ญ ๋งค์ผ ์ „๋‚  ์˜คํ›„ 2์‹œ๋ถ€ํ„ฐ ์˜ค๋Š˜ ์˜ค๋ฃจ 2์‹œ๊นŒ์ง€์˜ ์ฃผ๋ฌธ์„ ๋ชจ์•„์„œ ์ฒ˜๋ฆฌ ํ˜„์žฌ ์ด 4๊ฐœ์˜ ์ƒํ’ˆ ์กด์žฌ ๋ณ„๋„์˜ ํšŒ์›์„ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๊ณ , email๋กœ ๊ตฌ๋ถ„ ํ•˜๋ฃจ์— ๊ฐ™์€ email๋กœ ์—ฌ๋Ÿฌ๋ฒˆ ์ฃผ๋ฌธ์ด ๋“ค์–ด์˜ฌ ๊ฒฝ์šฐ ํ•˜๋‚˜๋กœ ํ•ฉ์ณ์„œ ๋‹ค์Œ๋‚  ๋ฐฐ์†ก ๊ณ ๊ฐ์—๊ฐœ “๋‹น์ผ ์˜คํ›„ 2์‹œ ์ดํ›„์˜ ์ฃผ๋ฌธ์€ ๋‹ค์Œ๋‚  ๋ฐฐ์†ก์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.”๋ผ๊ณ  ์•Œ๋ ค์ค๋‹ˆ๋‹ค. 1. ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ 2. domain ๋ชจ๋ธ ์ •์˜ → ์ƒํ’ˆ ๋„๋ฉ”์ธ → ์ฃผ๋ฌธ ๋„๋ฉ”์ธ validation Object ๋งŒ๋“ค๊ธฐ public class Email { private final String address; public Email(String address) { Assert.notNull(address); Assert.isTrue(address.l.. 2022. 11. 26.