์ ์ฒด ๊ธ(210)
-
Python ๊ธฐ์ด
ํ๋ฉด์์ ๋จ์ถํค ์ฌ์ฉํ ๋ esc ๋๋ฌ์ ์ ๋ ฅ์ฐฝ ๋นํ์ฑํ ๋์ด์ผ ๋จ. Y : code์ธ์ M (๋งํฌ๋ค์ด ์ํ) : ๊ธ์จ ๊ทธ ์์ฒด (ํธํ ์ฃผ์์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋จ) ๋งํฌ๋ค์ด ์ํ #+์คํ์ด์ค๋ฐ : #๊ฐ์์ ๋ฐ๋ผ ์ ๋ชฉ ํฌ๊ธฐ ์๋์ผ๋ก ์ค์ ํด์ค *+์คํ์ด์ค๋ฐ : โ ๋ถ์ฌ์ง ์ซ์.+์คํ์ด์ค๋ฐ : ์ซ์. ๋ฒํธ ๋ถ์ฌ๋จ. ์คํ์ด์ค๋ฐ 2๋ฒ : ํ ์ค ๊ฐํ ๋ง์ด ์ฌ์ฉํ๋ ๋จ์ถํค - a : ํ์ฌ ์ ์์ ์์ค์ ์ ์ถ๊ฐ - b : ํ์ฌ ์ ์์ ์๋ซ์ค์ ์ ์ถ๊ฐ - dd : ํ์ฌ ์ ์ญ์ - ctrl + enter : ํ์ฌ ์ ์คํ - shift + enter : ํ์ฌ ์ ์คํ ํ ๋ค์ ์ ๋ก ์ด๋ - m : ์ฝ๋ ์ฐฝ์ ๋งํฌ๋ค์ด ์ฐฝ์ผ๋ก ๋ณ๊ฒฝ - y : ๋งํฌ๋ค์ด ์ฐฝ์ ์ฝ๋ ์ฐฝ์ผ๋ก ๋ณ๊ฒฝ - c : ํ์ฌ ์ ๋ณต์ฌ - v : ๋ณต์ฌํ ์ ..
2023.04.05 -
์ผํ๋ชฐ ํ๋ก์ ํธ(10) ์ฅ๋ฐ๊ตฌ๋
์ํ ์์ธ ํ๋ฉด์์ ์ฅ๋ฐ๊ตฌ๋ ๋ฒํผ ํด๋ฆญ ์ ์ฅ๋ฐ๊ตฌ๋ ๋ฑ๋ก item_detail.html์์ ์ฅ๋ฐ๊ตฌ๋ ๋ฒํผ์ ํจ์ ์์ฑํ์ฌ js๋ก ์ด๋. ์ฅ๋ฐ๊ตฌ๋ ๊ธฐ๋ฅ์ ๋ก๊ทธ์ธํ ๊ฒฝ์ฐ(ํ์๋ง) ์ฌ์ฉ ๊ฐ๋ฅ. js๋ก ์ด๋ํ ๋ id ์ ๋ณด ํ์ > ๋ก๊ทธ์ธ ์ ๋ณด๋ฅผ ๊ฐ์ ธ๊ฐ๊ธฐ. ๋งค๊ฐ๋ณ์๋ก ๋๊น ๋ฐฉ๋ฒ1. loginInfo ์ ์ฒด ๊ฐ์ ธ๊ฐ๊ธฐ (๋ถํ์ํ ๋ฐ์ดํฐ๋ ๊ฐ์ ธ๊ฐ, memId ๋ฐ๋ก ๋ฝ์์ผ ํจ.) ๋ฐฉ๋ฒ2. memId๋ง ๊ฐ์ ธ๊ฐ๊ธฐ (์ผํญ์ฐ์ฐ์ ์ฌ์ฉ, oginInfo null์ธ์ง ์ฒดํฌํด์ผ ํจ.) item_detail.js ์์ฑ item_detail.html์ js ์ฐ๊ฒฐ ์ฝ๋ ์์ฑ. item_detail.js์ regCart ํจ์ ์์ฑ. ์ฅ๋ฐ๊ตฌ๋ ๋ฒํผ์ ๋๋ ์ ๋ ๋ก๊ทธ์ธ ์ฌ๋ถ ์ฒดํฌ ํ๋ if๋ฌธ ์์ฑ ๋ก๊ทธ์ธ X ๊ฒฝ์ฐ, confirm ์ฐฝ ๋์์ ํ..
2023.04.04 -
์ผํ๋ชฐ ํ๋ก์ ํธ(10) ์ํ ๋ชฉ๋ก ํ๋ฉด
bootstrap ์ฌ์ฉํ์ฌ ์ํ ๋ชฉ๋ก ํ๋ฉด ๊ตฌ์ฑ. Componentsํญ์ card ์์ค ๋ณต์ฌ ์ํ ๋ฉ์ธ ์ด๋ฏธ์ง, ์ํ๋ช , ๊ฐ๊ฒฉ ํ์. ์ํ ๊ฐ๊ฒฉ ํํ ๋จ์๋ก ํ์ํ๋ ํ์๋ฆฌํ ๋ฌธ๋ฒ : [[${#numbers.formatCurrency(10000)}]] ์ํ ๋ชฉ๋ก ์กฐํ ์ฟผ๋ฆฌ ์์ฑ SELECT ITEM.ITEM_CODE , ITEM_NAME , ITEM_PRICE , IMG_CODE , ATTACHED_FILE_NAME FROM SHOP_ITEM ITEM, ITEM_IMG IMG WHERE ITEM.ITEM_CODE = IMG.ITEM_CODE AND IS_MAIN = 'Y' ItemService ๋ฉ์๋ ์์ฑ //์ฌ์ฉ์ ์ํ ๋ชฉ๋ก ์กฐํ List getItemListForUser(); ItemServiceIm..
2023.04.04 -
์ผํ๋ชฐ ํ๋ก์ ํธ(9) - ์ํ ๊ด๋ฆฌ (๊ฒ์ ๊ธฐ๋ฅ)
์ํ ๋ชฉ๋ก ์กฐํ ์ฟผ๋ฆฌ์์ ๊ฒ์ ๊ธฐ๋ฅ ์ถ๊ฐํด์ ๊ธฐ๋ฅ ์ค์ . ๊ฒ์ ๊ธฐ๋ฅ ์ ์ฉ VO ์์ฑ. ๋ฐฉ๋ฒ1. ItemVO์ SearchItemVO ์์ ๋ฐฉ๋ฒ2. ItemVO์ SearchItemVO ๋ณ์ ์ถ๊ฐ. -๋ฐฉ๋ฒ 2 ์ฌ์ฉ private SearchItemVO searchItemVO; //ItemVO ํ๋๋ ๊ฒ์VO ํ๋๋ฅผ ๊ฐ์ง. ๊ฒ์ ์์ญ form๋ฌธ ์์ฑ ์์ฑ ๊ฒ์ input ํ๊ทธ๋ค name ์์ฑ ์์ฑ. name์์ฑ ์์ฑํ ๋ ์ฃผ์ itemVO์์ ์ด๋ค VO๊ฐ ์์ผ๋ฉด ์๋์ฒ๋ผ name ์์ฑ ์ค์ผ ๋ฐ์ดํฐ ๋ฐ์์จ๋ค. AdminController ์์ฑ ์ํ๊ด๋ฆฌ ํ์ด์ง๋ ์๋ธ ๋ฉ๋ด๋ฅผ ํด๋ฆญํด์ get ๋ฐฉ์์ผ๋ก ๋ค์ด์ฌ ์ ์๊ณ , ๊ฒ์ ๊ธฐ๋ฅ ์ฌ์ฉ ์ form ํ๊ทธ๋ฅผ ํ๊ณ post ๋ฐฉ์์ผ๋ก๋ ๋ค์ด์ฌ ์ ์์ด์ผ ๋๋ค. ํ๋์ ํ..
2023.04.03 -
์ผํ๋ชฐ ํ๋ก์ ํธ(9) - ์ํ ๊ด๋ฆฌ (์์ )
์ํ ๊ธฐ๋ณธ(์์ธ) ์ ๋ณด ํ๋ฉด์์ ์์ ๋ฒํผ ํด๋ฆญ ์ ์ํ ์ ๋ณด ์์ ๊ธฐ๋ฅ.(ajax ์ฌ์ฉ x) ์ํ ์์ ์ฟผ๋ฆฌ UPDATE SHOP_ITEM SET CATE_CODE = #{cateCode} , ITEM_NAME = #{itemName} , ITEM_PRICE = #{itemPrice} , ITEM_INTRO = #{itemIntro} , ITEM_STATUS = #{itemStatus} , ITEM_STOCK = #{itemStock} WHERE ITEM_CODE = #{itemCode} AdminService //์ํ ์์ (๊ด๋ฆฌ์ํ์ด์ง) void updateItem(ItemVO itemVO); AdminServiceImpl //์ํ ์์ ( @Override public void updateItem(I..
2023.04.03 -
Map
collection Framework > List, Map Map 'key'์ 'value'๋ผ๋ ํ๋์ ์์ผ๋ก ๋ฐ์ดํฐ ๊ด๋ฆฌ
2023.03.31 -
์ผํ๋ชฐ ํ๋ก์ ํธ(9) ์ํ ๊ด๋ฆฌ
์ํ๊ด๋ฆฌ ํ์ด์ง ์๋์ฒ๋ผ ๊ตฌ์ฑ. item_manage.html์ ํ๋ฉด ๊ตฌ์ฑ. ๊ฒ์์์ญ ํ๋ฉด ๊ตฌ์ฑ ์ ํ ๋ช ์นดํ ๊ณ ๋ฆฌ ์ ์ฒด ์ํ์ํ ์ ์ฒด ์ฌ๊ณ ๋ From To Controller ์์ฑ ์ํ ๊ด๋ฆฌ ํ์ด์ง ์ฌ ๋ ์ฌ์ฉ์ค์ธ ์นดํ ๊ณ ๋ฆฌ ์กฐํํด์ ์์ผ ํจ. ์ด์ ๋ง๋ค์ด๋ ์นดํ ๊ณ ๋ฆฌ ๋ชฉ๋ก ์กฐํ ๋ฉ์๋ ์ฌ์ฉ. ๋ฏธ์ฌ์ฉ ์นดํ ๊ณ ๋ฆฌ ํฌํจํด์ ์กฐํํ๋ ๋ฉ์๋๋ก //์ํ ๊ด๋ฆฌ ํ์ด์ง @GetMapping("/itemManage") public String stockManage(Model model, AdminSubMenuVO adminSubMenuVO) { //์นด๋ฐ๊ณ ๋ฆฌ ๋ชฉ๋ก ์กฐํ(๋ฑ๋ก๋ ์ ์ฒด ์นดํ ๊ณ ๋ฆฌ ๋ชฉ๋ก) model.addAttribute("categoryList", adminService.getCateListForAdmin())..
2023.03.30 -
์ผํ๋ชฐ ํ๋ก์ ํธ(8) ์ํ ๋ฑ๋ก
์๋์ ๋ณด์ฌ์ง๋ ์ํ ๋ฑ๋ก ํ๋ฉด์ CATEGORY select ๋ฐ์ค์๋ ํ์ฌ ์ฌ์ฉ์ค์ธ ์นดํ ๊ณ ๋ฆฌ๋ง ๊ฐ์ง๊ณ ์์ผ ํจ. ์ํ ๋ฑ๋ก ํ์ด์ง๋ก ์ด๋ํ ๋ ์ด์ ์ ์์ฑํ ์ฌ์ฉ์ค์ธ ์นดํ ๊ณ ๋ฆฌ ๋ชฉ๋ก ์กฐํ ๋ฉ์๋ ์ฌ์ฉ ๋ฉ์๋ ์ฌ์ฉ์ ์ํด AdminController์ itmeService ์์กด์ฑ ์ฃผ์ ํ ๋ฉ์๋ ์คํ //์ํ ๋ฑ๋ก ํ์ด์ง @GetMapping("/regItem") public String regItemForm(Model model, AdminSubMenuVO adminSubMenuVO) { //์ฌ์ฉ์ค์ธ ์นดํ ๊ณ ๋ฆฌ ๋ชฉ๋ก ์กฐํ model.addAttribute("categoryList", itemService.getCateListInUse()); return "content/admin/reg_item"; } r..
2023.03.29 -
์์ง๋ ๋์ด๋ Intercepter
์ฝ๋์ ํ๋ฆ์ ์ํด ์๋ ํด๋น Controller์ ์ฃผ๊ธฐ๋ฅ ์ ์ธํ๊ณ ๋ค๋ฅธ ์ผ๋ค์ ํ๊ณ ์๋ ๊ฒฝ์ฐ๊ฐ ์์ ์ ์ฒ๋ฆฌ, ํ์ฒ๋ฆฌ๋ผ ํจ. > ์์ง๋ ๋จ์ด์ง. ๊ณตํต์ ์ธ ์ ์ฒ๋ฆฌ ํ์ฒ๋ฆฌ๋ฅผ ๋ฐ๋ก ๋นผ์ ์ฒ๋ฆฌํด ์์ง๋๋ฅผ ๋์ผ ์ ์๋ค. ๊ทธ๋ AOP, intercepter, filter ๋ฑ์ ์ฌ์ฉํ๋ค. Intercepter ์์ง๋๋ฅผ ๋์ด๊ธฐ ์ํด ์ธํฐ์ ํฐ๋ฅผ ํ์ฉ ํ๋ค. ์ธํฐ์ ํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ๋ณต์ ์ธ ๋ถํ์ํ ์ผ๋ค์ ์ธํฐ์ ํฐ๊ฐ ๋์ ์ฒ๋ฆฌ. ์ด๋ค ์์ ์ ์ธํฐ์ ํฐ๊ฐ ์ํํ ์ง ์ค์ ์ ํ๋ ํด๋์ค๋ฅผ ๋ง๋ค์ด์ผ ํจ. ํน์ ๋ฉ์๋๊ฐ ์คํ๋ ๋ ์์ ํด์ผ ํ๋ ์ธํฐ์ ํฐ์ ํด๋์ค๋ฅผ ๋ง๋ค๊ณ preHandle, postHandle์ ๊ตฌํํ๋ค๋ฉด ๊ตฌํํ ๊ธฐ๋ฅ์ ์คํ์ํค๊ธฐ ์ํด์๋ ์๋์ฒ๋ผ ์ธํฐ์ ํฐ ์ค์ ํด๋์ค๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค. ์ธํฐ์ ํฐ ์ค์ ํด๋์ค๋ ๋ฐ๋..
2023.03.29