IT/development205 [ํฐ์คํ ๋ฆฌ] ์ฝ๋๋ธ๋ญ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ ์ถ๊ฐํ๊ธฐ(feat. clipboard.js) ๋ชฉ์ฐจ ๊ฐ๋ฐ ๊ด๋ จ ํฌ์คํ ์ ์์ฑํ๋ค ๋ณด๋ฉด ์ฝ๋๋ธ๋ญ์ ์ถ๊ฐํ๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ github์ฒ๋ผ ๋ณต์ฌ๋ฒํผ์ ์ถ๊ฐํ ์ ์์๊นํ๋ค๊ฐ ๊ตฌ๊ธ๋ง ํ๋ ์ด๋ฏธ ์๋ฃ๊ฐ ๋ง์๋ค. ์ด๋ฅผ ์ ์ฉํ ๋ค์ ๊ธฐ๋กํ๋ค. clipboard ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ค์ด๋ก๋ ๋จผ์ clipboard.min.jsํ์ผ์ ๋ค์ด๋ก๋ ํ ์์ถ์ ํด์ ํ๋ค. ์๋ github์ ์๋ ์คํ์์ค๋ค. GitHub - zenorocha/clipboard.js: Modern copy to clipboard. No Flash. Just 3kb gzipped :scissors: Modern copy to clipboard. No Flash. Just 3kb gzipped :clipboard: - GitHub - zenorocha/clipboard.js: Modern copy .. IT/development 2022. 12. 17. [mybatis] mybatis multi update(๋ค์ค ์ ๋ฐ์ดํธ) ๋ชฉ์ฐจ ๋ค์ค ์ ๋ฐ์ดํธ๋ฅผ ํ๋ ๋ฐฉ๋ฒ ์ค mybatis์์ ์ง์ํ๋ multi update๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ์ ๊ธฐ๋กํ๋ค. application.properteis #allowMultiQueries=true mybatis multi update ์ฌ์ฉํ๊ธฐ ์ํด์ ์ด๊ฑธ ๊ผญ ๋ฃ์ด์ผ ํ๋ค. spring.datasource.url=jdbc:log4jdbc:mariadb://localhost:3307/test?characterEncoding=UTF-8&allowMultiQueries=true spring.datasource.username=test spring.datasource.password=1234 mapper xml UPDATE tb_common_code SET code_id = #{item.codeId} ,code_.. IT/development 2022. 12. 16. [thymeleaf/javascript]thymeleaf๊ฐ์ javascript์์ ์ฌ์ฉ ๋ฏธ๋์ ๋ด๊ฐ ๋ณด๊ธฐ ์ํด javascript์์ thymeleaf๊ฐ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ๋กํ๋ค. ์ฝ๋๋ก ๋์ฒดํ๋ค. javascript(thymeleaf์์ script) // script์ th:inline ๋ถ์ฌ์ผ ํจ controller @GetMapping("/list") public String list(Model model) { List list = userService.selectUserList(); model.addAttribute("list", list); return "view ํ์ด์ง"; } reference: https://stackoverflow.com/questions/25687816/setting-up-a-javascript-variable-from-spring-model-by-usin.. IT/development 2022. 12. 8. [IntelliJ] camelCase <-> snake_case ๋ณํ(feat. CamelCase plugin) ๋ชฉ์ฐจ camelCase snake_case ๐ ๊ฐ๋ฐ์์ ๋์ฒด์ ์ผ๋ก java์์๋ ์นด๋ฉ์ผ์ด์ค(userName)๋ฅผ ์ฌ์ฉํ๊ณ DB ํ๋๋ ์ค์ผ์ดํฌ์ผ์ด์ค(user_name)์ ์ฌ์ฉํ๋๋ฐ ์์์ ์ผ๋ก ํ๋ ๊ฒ๋ณด๋ค ๋ ๊ด์ฐฎ์ ํ๋ฌ๊ทธ์ธ์ ๋ฐ๊ฒฌํด์ ๊ธฐ๋กํ๋ค. ํ๋ฌ๊ทธ์ธ์์ CamelCase๋ฅผ ๊ฒ์ํด์ ์ค์น ํ IntellJ๋ฅผ ์ฌ์์ํ ๋ค์ ์๋์ฒ๋ผ ๊ฒ์ํ๋ค. ์ฌ๋ฌ๊ฐ์ง ์ผ์ด์ค๊ฐ ์๋๋ฐ ์ด ์ค์ ์ ๊ทธ๋ฆผ์ฒ๋ผ ์ฒดํฌ ํ ok๋ฅผ ๋๋ฅธ๋ค. (์นด๋ฉ์ผ์ด์ค ์ฐ๊ฒฐ๋ฌธ์ ์๊ธ์๋ง ๋๋ฌธ์๋ก ํ๊ณ ์ค๋ค์ดํฌ ์ผ์ด์ค๋ ์๋ฌธ์) ๊ทธ ๋ค ์ผ์ด์ค ๋ณํํ ๋จ์ด์ ์ปค์๋ฅผ ๋๊ณ shirt + alt + u๋ฅผ ๋๋ฅด๋ฉด ๋ณํ์ด ๋๋ค. ์ฌ๋งํ๋ฉด ์ด ๋จ์ถํค๊ฐ ๋จนํ์ง๋ง ํน์ ์ ๋จนํ ๊ฒฝ์ฐ ๋จ์ถํค ๋ชฉ๋ก์์ ์ค๋ณต๋๋๊ฒ ์๋์ง ํ์ธํ ๊ฒ ํ ์คํธ๋ฅผ ํ ์ด๋ธ ํ๋๋ ์๋์ ๊ฐ๋ค. .. IT/development 2022. 12. 8. [bootstrap] bootstrap modal์ฐฝ ๋์ฐ๊ธฐ ๋ชฉ์ฐจ bootstrap modal ๐ ์ญ์ ๋ฏธ๋์ ๋ด๊ฐ ๋ณด๊ธฐ ์ํด ๋ถํธ์คํธ๋ฉ์ ์ด์ฉํด์ ๋ชจ๋ฌ์ฐฝ์ ๋์ฐ๋ ๋ฐฉ๋ฒ์ ๊ธฐ๋กํ๋ค. html ์ฝ๋์ js๋ก modal์ ๋์ฐ๋ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋๋ฐ ์ฌ๊ธฐ์๋ ๊ฐ๋จํ๊ฒ html๋ง์ผ๋ก ๋์ด๋ค. js๋ก ํ๋ ๋ฐฉ๋ฒ์ ์๋์ฒ๋ผ ์ฝ๋๋ฅผ ์์ ํ๋ฉด ๋๋ค. button์ id๊ฐ ์ฃผ๊ณ ํด๋น ๋ฒํผ ํด๋ฆญ ์ $("#๋ชจ๋ฌ์์ด๋").modal("show"); ์ด๋ ๊ฒ ์ด๋ฒคํธ๋ฅผ ์ค๋ค. ์์ ํ ์คํธ ํ๊ฒฝ: ๋ถํธ์คํธ๋ฉ 5.2.3๋ฒ์ ์์ ๋ฒํผ์ ๋๋ฅด๋ฉด id๊ฐ "userModal"์ธ ๋ชจ๋ฌ์ฐฝ์ ๋์ฐ๋ ์์ ์ด๋ค. bootstrap.min.css, bootstrap.bundle.min.css 2๊ฐ์ ํ์ผ์ด ํ์ํ๋ ์ง์ ๋ค์ด๋ก๋ ํ๊ฑฐ๋ CDN์ผ๋ก ๋ถ๋ฌ์ค๊ฑฐ๋ ํ๋ฉด ๋๋ค. ์๋ ๋งํฌ์์ ๋ค์ด๋ก๋ or CDN Do.. IT/development 2022. 12. 8. [spring] @ControllerAdvice, @ExceptionHandler๋ฅผ ์ด์ฉํ ์์ธ์ฒ๋ฆฌ ๋ชฉ์ฐจ ์ญ์๋ ๋ฏธ๋์ ๋ด๊ฐ ๋ณด๊ธฐ ์ํด ๊ธฐ๋กํ๋ค. ๊ธฐ์กด์๋ try catch๋ฌธ์ผ๋ก ์์ธ๋ฅผ ์ฒ๋ฆฌํ์๋๋ฐ ์์ธ์ฒ๋ฆฌ๊ฐ ํ์ํ ์ฌ๋ฌ๊ตฐ๋ฐ ์ฝ๋์ ์ ์ฉ์ ํด์ผ ๋๋.. ํด๋ฆฐํ์ง๊ฐ ์์ ๊ตฌ๊ธ๋ง ํด๋ณด๋ ์คํ๋ง์์ ์ ๊ณตํ๋ @ControllerAdvice, @ExceptionHandler์ด ์์๋ค. ์ ์ด๊ฑธ ์ด์ ์ผ ์๊ฒ ๋์๋์ง.. ๐ฅ ํ ์คํธ ๊ฐ๋ฐํ๊ฒฝ์ ์๋์ ๊ฐ๋ค. @ExceptionHandler ๐ @Controller๋ @RestController๊ฐ ์ ์ธ๋ Bean์์ ๋ฐ์ํ ์์ธ๋ง ์ฒ๋ฆฌํ ์ ์๋ค. @Service๋ @Repository์ ๊ฐ์ ๊ณณ์์์ ์์ธ๋ ์ฒ๋ฆฌํ ์ ์์์ ์ ์ํ ๊ฒ ์ฌ์ฉ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๋ค. ์ปจํธ๋กค๋ฌ ๋ด์ ๋ฉ์๋๋ฅผ ๋ง๋ค๊ณ @ExceptionHandler๋ฅผ ์ ์ธํ๊ณ value๊ฐ์ผ๋ก ์์ธ์ฒ๋ฆฌ ํด๋์ค๋ฅผ .. IT/development 2022. 12. 4. [JavaScript] javascript ๋์ ์๋ฆฌ๋จผํธ์ feather ์์ด์ฝ ์ถ๊ฐ ๋ชฉ์ฐจ ์ค๋๋ ์ญ์ ๋ฏธ๋์ ๋ด๊ฐ ๋ณด๊ธฐ ์ํด ๊ธฐ๋ก์ ๋จ๊ธด๋ค. ๋์ ์๋ฆฌ๋จผํธ์ feather ์์ด์ฝ ์ถ๊ฐ ๐ feather ์์ด์ฝ์ ์ฒ์ ์ฌ์ฉํด๋ด์ ์ฝ์งํ ๊ฒ ์ ํ ์๋์๋๋ฐ.. ์ฝ์ง์ ์ข ํ๋ค. ์ฐ์ ์๋์ฒ๋ผ feather.js๋ฅผ ๋ถ๋ฌ์จ ๋ค์ ๋ง๋ ์๋ฆฌ๋จผํธ์ data-feather๋ฅผ ๋ถ์ฌ ํ script์์ feather.replace()๋ฅผ ํธ์ถํ๋ฉด ์์ด์ฝ์ด ์ด์๊ฒ ์๊ธด๋ค. ๋ฌผ๋ก ์์ด์ฝ์ data-feather์ ํฌํจ๋ ๊ฒ๋ง ๋๋ค. home ๋์ ์๋ฆฌ๋จผํธ์ feather๋ฅผ ์ถ๊ฐํ ๊ฒฝ์ฐ์ ์๋์ฒ๋ผ ํ๋ฉด ๋๋ค. ๋ด ๊ฒฝ์ฐ๋ ์๋์ฒ๋ผ ํด์ ์์ด์ฝ์ผ๋ก ๋ณํ๋์ง ์์์๋ค. ๋น์ฐํ ์๋ฆฌ๋จผํธ๋ฅผ ๊ทธ๋ ค์ฃผ๋ ์คํฌ๋ฆฝํธ ๋ฒ์์์์ feather.replace()๋ฅผ ํด์ผ ํ๋ค. reference: https://github.com/f.. IT/development 2022. 12. 2. [WAS] apache tomcat 8.0 ์ด์ ver ๋ค์ด๋ก๋... ๋ชฉ์ฐจ ์๋ URL์์ ๋ค์ด๋ก๋ Index of /dist/tomcat/tomcat-8/v8.0.32/bin archive.apache.org IT/development 2022. 11. 30. [Spring]RequestMapping์ ๋ณํ ๋ชฉ์ฐจ RequestMapping์ ๋ณํ @Controller ์ด๋ ธํ ์ด์ ์ ์ถ๊ฐ์ ์ธ ์์ฑ์ ์ง์ ํ ์ ์์ง๋ง @RequestMapping์ ๋ช ๊ฐ์ง์ ์์ฑ์ ์ถ๊ฐํ ์ ์๋๋ฐ ๊ทธ์ค ๋ง์ด ์ฌ์ฉํ๋ ์์ฑ์ด method ์์ฑ์ด๊ณ ํํ GET๋ฐฉ์, POST ๋ฐฉ์์ ๊ตฌ๋ถํด์ ์ฌ์ฉํ ๋ ์ด์ฉ๋๋ฉฐ ์คํ๋ง 4.3๋ฒ์ ์์๋ @RequestMapping์ ์ค์ฌ์ ์ฌ์ฉํ ์ ์๋ @GetMapping, @PostMapping์ด ๋ฑ์ฅํ๋๋ฐ ์ถ์ฝํ์ ํํ์ด๋ฏ๋ก ๊ธฐ์กด์ @RequestMapping๊ณผ ๋น๊ตํด์ ํ์ตํ๋ ๊ฑธ ๊ถ์ฅ @RequestMapping์ POST, GET ๋ฐฉ์ ๋๋ค ์ง์ํด์ผ ํ๋ ๊ฒฝ์ฐ๋ค๋ ๋ฐฐ์ด๋ก ์ฒ๋ฆฌํด์ ์ง์ ํ ์ ์๊ณ ์ผ๋ฐ์ ์ผ๋ก๋ GET, POST๋ฐฉ์๋ง์ ์ฌ์ฉํ์ง๋ง ์ต๊ทผ์๋ PUT, DELETE ๋ฐฉ์ ๋ฑ๋ ์ ์ .. IT/development 2022. 11. 30. [Spring]@ModelAttribute ์ด๋ ธํ ์ด์ ๋ชฉ์ฐจ ์คํ๋ง @ModelAttribute ์คํ๋งMVC์ Controller๋ ๊ธฐ๋ณธ์ ์ผ๋ก Java Beans ๊ท์น์ ๋ง๋ ๊ฐ์ฒด๋ ๋ค์ ํ๋ฉด์ผ๋ก ๊ฐ์ฒด๋ฅผ ์ ๋ฌํจ ์ข์ ์๋ฏธ์์ Java Beans ๊ท์น์ ๋จ์ํ ์์ฑ์๊ฐ ์๊ฑฐ๋ ๋น ์์ฑ์๋ฅผ ๊ฐ์ ธ์ผ ํ๋ฉฐ, getter/setter๋ฅผ ๊ฐ์ง ํด๋์ค์ ๊ฐ์ฒด๋ค์ ์๋ฏธํจ ์์ ์์ ์์ parameter๋ก ์ฌ์ฉ๋์๋ SampleDTO์ ๊ฒฝ์ฐ๋ Java Beans ๊ท์น์ ๋ง๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ๋ค์ ํ๋ฉด๊น์ง ๊ฐ์ฒด๊ฐ ์ ๋ฌ๋์์(์ ๋ฌ ๋ ๋๋ ํด๋์ค๋ช ์ ์๊ธ์๋ ์๋ฌธ์๋ก ์ฒ๋ฆฌ๋จ) ๋ฐ๋ฉด ๊ธฐ๋ณธ ์๋ฃํ์ ๊ฒฝ์ฐ๋ parameter๋ก ์ ์ธํ๋๋ผ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ฉด๊น์ง ์ ๋ฌ๋์ง๋ ์์ ์๋ ์ด๋ฏธ์ง์ฒ๋ผ SampleController์์ method๋ฅผ ์์ฑํ ๋ค ๋ธ๋ผ์ฐ์ ์์ parameter์ ๊ฐ.. IT/development 2022. 11. 30. ์ด์ 1 ยทยทยท 10 11 12 13 14 15 16 ยทยทยท 21 ๋ค์