본문 바로가기

👷삽질기록11

로드밸런싱 설정 DB가 이중화되어있는데, 사용자 분산처리를 못하고 있다?! 이럴 때는 간단하게 데이터 베이스 connection URL 에 옵션을 주어 로드벨런싱 설정을 할 수 있다. 예를들어 오라클 DB 2개가 다음과 같이 주어져있다.[IP : 123.123.123.123 / port : 1234] [IP : 123.123.123.567 / port : 5678]  이 2개의 서비스를 JDBC 를 통해 로드밸런싱하여 연결하고 싶다면URL 항목을 다음과 같이 작성하면 된다.   jdbc:oracle:thin:@(DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=123.123.123.123)(PORT=1234)) (ADDRESS=(PROTO.. 2024. 10. 17.
java.lang.ClassCastException: oracle.sql.CLOB cannot be cast to java.lang.String CLOB 데이터를 String으로 파싱할 때 나타나는 에러 Mapper에서 CLOB 받아오는 방식 설정을 해야 한다 resultMap을 이용하여 CLOB 임을 명시하고 String으로 변환한다 ... ... resultMap 을 위의 아이디를 이용하여 설정한다. select * from ... 2023. 4. 20.
스프링 스케줄러 중복 작동 주기적으로 데이터 업데이트가 필요한 작업이 있어 스케줄러 컨트롤러를 따로 뽑아내고 작업을 하는 중 문제가 발생했다. @Component @EnableScheduling public class ScheduledApplication { private static int count = 0; //실행 1초뒤 @Scheduled(fixedDelay = 1000) public void testScheduledTask() throws Exception { System.out.print("스케줄러 실행! "+ count++); System.out.println(" "+(System.currentTimeMillis()/1000)); } } 1초마다 실행되어야 할 스케줄러이지만 콘솔창은 다음과 같이 출력되었다. ... 스.. 2023. 3. 21.
XSS 취약점 조치 운영하고 있는 서비스에서 취약점 점검 결과 XSS 공격에 취약점이 발견되었다. 1.XSS 공격 input이나 textarea 같은 곳에 html 태그를 넣고, 자바스크립트 실행코드를 넣어 작동되도록 만든다. 2. 조치 방법 1) 위험한 문자열을 변환하여 저장 - 해당 방법은 이미 서비스에 적용되고 있었다. 꺽쇠표시는 각각 &lt, &gt 와 같이 변환하여 저장함으로서 1차적으로 방어는 가능하도록 하였다. 그러나... 취약점 점검하시는 해커 분이 변환한 파라미터를 다시 꺽쇠로 변환하여 요청을 하니 스크립트가 실행되어버리는 현상이 발생하였다. 2) 이용 - jsp의 경우, 보통 데이터 값을 el로 출력하는 경우가 많은데 이는 스크립트가 포함되면 그대로 실행되기에 취약한 방법이라고 한다. - 이를 해결하는 방.. 2022. 11. 16.
There is no getter for property named 'idx' in 'class java.lang.Integer There is no getter for property named 'idx' in 'class java.lang.Integer mapper에 문제가 있다 #{idx} 로 써야 할 것을 ${idx}로 쓴게 아닌지 확인해보자 2022. 9. 7.
java.sql.SQLSyntaxErrorException: ORA-00911: invalid character 쿼리에 이상한 문자가 들어가있다는 메세지다 mapper에 ; 가 들어가있는지 확인해보자 2022. 8. 31.
Invalid left-hand side in assignment 자바스크립트에서 Invalid left-hand side in assignment 에러가 발생하는 경우 주로 조건문에서 실수 하는 경우가 많다. 비교 연산자 == 을 =으로 적지 않았는지 확인해보자 수정 전 //현재 등록된 자산의 idx 검사 nowAssetIdxList.forEach(function(idx){ //idx가 비어있으면 continue //이곳에서 에러 발생!!! if(idx=''||idx=null){ return true; } //로딩된 자산이 현재 등록된 자산이라면 isOverlap을 true로 체크하고 break if(value.IDX==idx){ isOverlap=true; return false; } }) 수정 후 //현재 등록된 자산의 idx 검사 nowAssetIdxList.f.. 2022. 8. 25.
no matching unique or primary key for this column-list SQL Error [2270] [42000]: ORA-02270: no matching unique or primary key for this column-list 외래키로 사용할 키가 PK, 즉 프리머리 키가 아닌 경우 발생하는 오류이다. 해당 키를 프리머리 키로 변경시켜주자 2022. 8. 17.
반응형