반응형

IT/development 226

[티스토리] 코드블럭 클립보드에 복사 추가하기(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.08

[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.08

[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.08

[spring] @ControllerAdvice, @ExceptionHandler를 이용한 예외처리

목차 역시나 미래의 내가 보기 위해 기록한다. 기존에는 try catch문으로 예외를 처리했었는데 예외처리가 필요한 여러군데 코드에 적용을 해야 되니.. 클린하지가 않아 구글링 해보니 스프링에서 제공하는 @ControllerAdvice, @ExceptionHandler이 있었다. 왜 이걸 이제야 알게 되었는지.. 😥 테스트 개발환경은 아래와 같다. @ExceptionHandler 😄 @Controller나 @RestController가 선언된 Bean에서 발생한 예외만 처리할 수 있다. @Service나 @Repository와 같은 곳에서의 예외는 처리할 수 없음에 유의할 것 사용방법은 간단하다. 컨트롤러 내에 메소드를 만들고 @ExceptionHandler를 선언하고 value값으로 예외처리 클래스를 ..

IT/development 2022.12.04

[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.02

[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
반응형