목록WEB (53)
hello world
스프링에서 mysql 디비서버1 과 oracle 디비서버2에 접속할수있도록 해야할때 어노테이션을 활용하여 디비접속을 구분할 수 있다. 1. 아래 인터페이스를 만들어 OracleMapper 어노테이션을 생성 package com.base.component; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.springframework.stereotype.Component; @Targ..
세팅에 하루종일 허비한부분정리..;; package com import java.sql.Connection; import java.sql.DriverManager; import org.junit.Test; public class MYSQLConnecetionTest { private static final String DRIVER = "com.mysql.jdbc.Driver"; //Connection을 구현한 클래스의 이름 private static final String URL = "jdbc:mysql://localhost:3306/sys"; //mysql 서버 주소 private static final String USER = "root"; //계정 private static final String ..
마인크래프트게임회사에서 보안취약점을 이용한 해킹을 시도하면서 보안이슈가 밝혀졌다고 한다. log4j 2.0- ~ 2.14.1 모든 버전에서 해당 취약점이 발생했다고한다. 과학기술정보통신부(장관 임혜숙, 이하 ‘과기정통부’)는 Apache Log4j 2 서비스에 대한 보안취약점('로그4셸'로 명명)이 발견됨에 따라 긴급 보안업데이트를 권고했다. 출처 : 데일리시큐(https://www.dailysecu.com) 해결방법 1. log4j 를 버전 2.15버전 이상으로 업데이트한다. (라이브러리교체) 웹서버 pom.xml 에 2.10.0 해당부분을 2.15.0으로 변경한다, 2.15.0 그리고 maven clear -> maven update 해서 log4j파일이 2.15로 업데이트되었는지 확인한다. 1.2...
수정후 개발서버에 배포를 할라했는데 permission denined 오류가 떴다 'rm -rf /app/tomcat/webapps/ROOT/' 정확히는 webapps의 ROOT 폴더에 삭제를 하려고할때 permission denined 가 떴다 확인해보니 ROOT 폴더 소유가 root로 되어있어서 삭제를 못하는것이었다 (응? 근데 root 는 모든권한을 갖는거아닌가??) 운영이랑 비교해보니 운영은 ROOT 폴더의 권한이 root가 아니고 회사에서 만든 계정의 그룹이었다 근ㄷㅔ 왜 개발서버는 root로 되어있는건지 ..;; 그걸 왜 지금 안건지... 그동안은 삭제를 어케한거였는지;; 아무튼 최상위 계정으로 아래의 명령어로 ROOT 폴더와 하위 파일들을 변경해서 해결했다. 접근 권한을 하위 디렉터리까지 모..
시작일로부터 n일이 지났는지 체크해서 조회기간 체크하는 로직 아래는 10일의 경우 예제 시작일자 기준으로 조회기간 최대 10일 넘을경우 true 반환 public static boolean chkAfterThreeMonth(String fromDate, String toDate) throws ParseException { //fromDate 시작일 toDate 종료일 Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, Integer.parseInt(fromDate.substring(0,4))); cal.set(Calendar.MONTH, Integer.parseInt(fromDate.substring(4,6))-1); cal.set(Calenda..
에러 : Unrecognized field "ex1" (class ex.extest.dto.response.exResponseDTO), not marked as ignorable json 데이터를 받아와서 dto 객체로 맵핑할때 dto 클래스에 선언되지 않은 속성(ex1)이 json에 있으면 오류가 발생한다. 알게된 해결 방법 3가지를 정리해보았다.3번째는 첨보는것,,기억해두기.. [ 해결 방법 3가지 ] 1.DTO Class에서 어노테이션 사용 @JsonIgnoreProperties(ignoreUnknown =true) : 선언 필드 외에 모든 요소 제외 dto class 객체에 속성이 없으면 exception 발생하지않고 진행한다. 아래와 같이 사용한다. @JsonIgnoreProperties(ign..
1. VIEW 테이블이란? - 하나의 가상 테이블이라고 생각하면된다. - 실제 데이터가 저장되는것이 아니다, 뷰를 통해 데이터를 관리할 수 있다. - VIEW와 TABLE과의 차이점은 그냥 TABLE은 실질적인 데이터가 있지만 VIEW는 데이터가 없고 SQL만 저장한다. 1-1) 뷰 생성 쿼리 CREATE 생략가능[OR REPLACE] 생략가능[FORCE | NOFORCE] VIEW 뷰명 AS (SELECT문) 생략가능[WITH CHECK OPTION 생략가능[CONSTRAINT 제약조건명]] 생략가능[WITH READ ONLY 생략가능[CONSTRAINT 제약조건명]] - OR REPLACE option : 해당 구문 사용하면 뷰를 수정할 때 DROP 없이 수정 가능 - With Check option..
전에 개발했던부분에서 오류발견.. 토큰값을 암복호화하는데 자꾸 오류가 난다., 찾아보니 https://www.freeism.co.kr/wp/archives/1022 Base64 encode 와 encodeUrlSafe 차이 - ThinkCUBES Base64 인코딩을 사용하고 있는데, java.lang.IllegalArgumentException: Illegal base64 character 2b 오류가 발생하여 디버깅하다가 알게된 내용을 정리한다. 컴퓨터 분야에서 쓰이는 Base 64 (베이스 육십사)란 8비 www.freeism.co.kr 기존의 base64 mapping table을 보면, ‘+’와 ‘/’ 문자가 존재한다. 이런 문자들은 http 통신을 할 때에 각각 공백과 path로 오해할 수 있..