์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ์ฐ
- stream
- ์ฟ ํกERD
- ๋
- ๋ฐ์ดํฐํ์
- ์ฐ์ฐ์
- java
- ์คํ์์ด
- ๋ฐฑ์ค11053 #ํ์ด์ฌ #python
- ๋ฐฑ์ค1874
- ์ฟ ํกDB
- ์๋ฐ
- ๋ฐฐ์ด
- ์คํธ๋ฆผ
- ๋ฐฑ์ค9093
- ์
- ๋ฐฑ์ค9012
- StringBuffer
- StringBuilder
- ๋ฌธ์์ด
- ํ๋ฐฉ์ฟผ๋ฆฌ
- ์คํ
- Today
- Total
๋ชฉ๋ก๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (142)
Tech Log ๐ ๏ธ
๊ด๊ณํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค ๊ด๊ณํ DB๋ ํ ์ด๋ธ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ , ํ ์ด๋ธ์ ํค์ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ํ๋ธ๋ค. ์ด์ฒ๋ผ ๊ด๊ณํ DB๋ ์ข ์์ฑ์ ๊ด๊ณ๋ก ํํํ๋ค. ์ฌ๊ธฐ์ ๋งํ๋ ํค(key)๋ ํ์ ์๋ณ์๋ก ์ด์ฉ๋๋ ์ด์ ๋งํ๋ค ex) ID ๊ด๊ณํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ํ์ฉ ๋ง์ฝ ์ฌ๋ฌ ์ ํ๋ฒ๋ค์ ์์์ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ํํํ๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํด๋ณด์ ์์ ํ์ฒ๋ผ ๋ค๋ฅธ ์์์์๋ ๊ฐ์ ์ ํ๋ฒ์ ์ฐฝ์๋ฌผ์ธ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋ป๊ฒ ํ๋ฉด ํจ๊ณผ์ ์ผ๋ก DB๋ฅผ ์ค๊ณํ ์ ์์๊น ? ์ด๋ฐ ์์ผ๋ก ์ ํ๋ฒ์ ์ฝ๋๋ง์ ๋ฐ๋ก ํ ์ด๋ธ๋ก ๋ง๋ค์ด์ DB๋ฅผ ๊ด๋ฆฌํ๋ ์ค์ต์ ํด๋ณผ ๊ฒ์ด๋ค. ๋จผ์ video๋ผ๋ DB๋ฅผ ์๋ก ์์ฑํด์ฃผ์๋ค. ๋ ๊ฐ์ ํ ์ด๋ธ์ ์์ฑํด์ค ํ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ค๋ค. ์ด์ ๋ join์ผ๋ก ํ ์ด๋ธ์ ํฉ์น ์ฐจ๋ก๋ค. ๊ธฐ๋ณธ์ ์ธ LEFT JOIN ๋ช ๋ น์ด๋ฅผ ..
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ , ๊ตฌ์กฐํ๋ ์ ๋ณด ๋๋ ๋ฐ์ดํฐ์ ์กฐ์งํ๋ ๋ชจ์์ผ๋ก์จ ์ผ๋ฐ์ ์ผ๋ก ์ปดํจํฐ ์์คํ ๋ด์ ์ ์์ ์ผ๋ก ์ ์ฅ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ๊ตฌ์กฐ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ ํ๋ค๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ์ด ๋ฐ์ดํฐ๋ค์ ์ฐ๊ด ๋ ํญ๋ชฉ์ ๋ง๊ฒ ๊ทธ๋ฃนํ ์ํค๋ ๋ฐ ์ด๊ฒ์ ๋ฐ์ดํฐ ๋ฒ ์ด์ค ํน์ ์คํค๋ง ๋ผ๊ณ ํ๋ค. ๋ ์คํค๋ง๋ค์ด ๋ชจ์ธ ๊ฒ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ๊ฐ ๋๋ค. SQL(strutured query language) ์ด๋ ๊ฒ ๋ง๋ค์ด์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ป์ผ๋ ค๋ฉด SQL ์ด๋๊ฒ์ ์ฌ์ฉํด์ผํ๋ค. Sql์ ์ฌ์ฉํจ์ผ๋ก์จ ๋ฐ์ดํฐ๋ฅผ ์ฟผ๋ฆฌ , ์กฐ์ ์ ์ํ๊ณ ์ก์ธ์ค๋ฅผ ์ ์ดํ ์ ์๋ค. ์คํ๋ ๋ ์ํธ vs ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์์ ์ ์คํ๋ ๋ ์ํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋๋ฐ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ์ป๋ ์ด์ ์ ๋ญ๊น ? - ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ์กฐ์ ๋ฐฉ๋ฒ - ๋ฐ์ดํฐ์ ์ก์ธ..
๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.
@RequestParam ์์ @ModelAttribute๋ฅผ ์ฌ์ฉํ๊ธฐ ๊น์ง์ ๋ณํ๋ฅผ ์์๋ณด์ 1.@RequestParam ์ ํตํด ํ๋ผ๋ฏธํฐ ์ง์ ๋ฐ๊ธฐ @PostMapping("/add") public String addItemV1(@RequestParam String itemName, @RequestParam int price, @RequestParam Integer quantity, Model model) { Item item = new Item(); item.setItemName(itemName); item.setPrice(price); item.setQuantity(quantity); itemRepository.save(item); model.addAttribute("item", item); ret..
๊ฐ์ ์์ค์ฝ๋๋ฅผ ์ฐธ๊ณ ํด๋ณด๋ ค๋๋ฐ ์ด๋ฐ ์ค๋ฅ๋ค์ด ๋ํ๋ฌ๋ค. "Cannot resolve symbol" ์ฌ๋ฌ๋ฒ์ ๊ตฌ๊ธ๋ง ๋์ ์ฐพ์๋ธ ํด๊ฒฐ ๋ฐฉ๋ฒ ํด๋น ์์ค์ฝ๋ ํ์ผ ๊ฒฝ๋ก์ .idea ํด๋๋ฅผ ์ญ์ ํ๋ค. ๊ทธ ๋ค์ ์ธํ ๋ฆฌ์ ์ด๋ก ๋ค์ build.gradle์ ์ด์ด์ค๋ค. ๋น๋๊ฐ ๋๋ ํ, file -> Project Structure ๋ก ์ด๋ํด์ค๋ค. SDK ๋ฒ์ ํ์ธ ํ , Project ํญ์์ SDK ๋ฒ์ ์ ์ ํํด์ค๋ค. ๊ทธ ๋ค์ ํ์ธ์ ํด์ฃผ๋ฉด...! ๋ ์ด์ ์ค๋ฅ๊ฐ ๋จ์ง ์๋๋ค !!
"Redirect๋ฅผ ์ ํ์ํ ๊น?" PRG๋ฅผ ์์๋ณด๊ธฐ ์ ์ ๋จผ์ Rediect์ ํ์์ฑ์ ์ ํ์๊ฐ ์๋ค. ๋ง์ฝ ์ํ์ ์์ , ๊ฐ๋ฐํ๋ ๋ฉ์๋๋ฅผ ๊ฐ๋ฐํ๋ค๊ณ ์๊ฐํด๋ณด์ @PostMapping("/addForm") public String addCafe(@ModelAttribute Cafe cafe){ cafeRepository.save(cafe); return "basicCafe/cafe"; } ์นดํ ์ ๋ณด๋ฅผ ์ถ๊ฐํ๋ ๋ฉ์๋๋ฅผ ๋ง๋ค์๋ค. ํ์ง๋ง ์ถ๊ฐ๋ฅผ ์๋ฃํ ๋ค ์๋ก ๊ณ ์นจ์ ๋๋ฅด๊ฒ ๋๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น? ๋๊ฐ์ ์ ๋ณด๋ค์ด ๊ณ์ํด์ ์ ๋ ฅ๋ ๊ฒ์ด๋ค. ์ด๋ Redirect๋ฅผ ์ค์ ํ์ง ์์๊ธฐ ๋๋ฌธ์ธ๋ฐ, ์ด๋ ๊ฒ๋๋ฉด ๋ง์ง๋ง์ผ๋ก ์๋ฒ์ ์ ์กํ ๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ ๋ฉ์๋๋ฅผ ๊ณ์ ์คํ์ํจ๋ค. POST, Redirect Get PRG..
ํ์๋ฆฌํ ์ฌ์ฉ๋ฒ th:href="@{/css/bootstrap.min.css}" ํ์๋ฆฌํ ์ ์ธ์ ํด์ฃผ์ด์ผ ๋น๋ก์ ํ์๋ฆฌํ ๋ฌธ๋ฒ์ ์ดํดํ ์ ์๋ค. ํ์๋ฆฌํ๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด, th:xx ์์ฑ์ด ๋ถ์ ๋ถ๋ถ์ ์๋ฒ์ฌ์ด๋์์ ๋ ๋๋ง ๋๋ฉฐ , ๊ธฐ์กด html ์์ฑ์ด ๋์ฒด๋๋ค.(th ์์ฑ์ด ์์ผ๋ฉด html ๊ทธ๋๋ก ์ฌ์ฉ) ํ์ง๋ง html ์ ํ์ผ๋ก ์ง์ ์ด์์๋ th ์์ฑ์ ๋ฌด์๋๋ค. 1.URL ๋งํฌ ํํ์ th:onclick="|location.href='@{/basicCafe/items/edit/{cafeId}(cafeId=${cafe.id})}'|" ํ์๋ฆฌํ๋ url๋งํฌ๋ฅผ @{...}๋ก ํํํ๋ค. ์ด ๊ฒฝ์ฐ ์๋ธ๋ฆฟ ์ปจํ ์คํธ๋ฅผ ์๋์ผ๋ก ํฌํจํ๋ค. 2.๋ฆฌํฐ๋ด ๋์ฒด ๋ฌธ๋ฒ location.href='/basic/items..
์ค๋ฌด์์๋ printLn ์ด ์๋ ๋ก๊น ์ ํตํ์ฌ ์ ๋ณด๋ฅผ ์ถ๋ ฅํด์ผํ๋ค. @RestController public class LogTestController { private final Logger log = LoggerFactory.getLogger(getClass()); @RequestMapping("/log-test") public String logTest(){ String name = "spring"; log.trace("trace log = {}", name); log.debug("debug log = {}", name); log.info("info log = {}", name); log.warn("warn log = {}", name); log.error("error log = {}", name..
application.properties ์ ์์ ๊ฐ์ ์ฝ๋๋ฅผ ์ ๋ ฅํด์ค๋ค. logging.level.org.apache.coyote.http11=debug ์ด์ ์๋ฒ์์ ๋ชจ๋ ์์ฒญ ์ ๋ณด๋ฅผ ๋จ๊ธฐ๋ฉด ์ฑ๋ฅ ์ ํ๊ฐ ๋ ์ ์์ผ๋ฏ๋ก ๊ฐ๋ฐ ๋จ๊ณ์์๋ง ํ์ฉํ๋๋ก ํ์!