์ ์ฒด ๊ธ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. ์ด์ 1 2 3 4 5 6 7 ยทยทยท 12 ๋ค์