[관련 시리즈] API 운영 중 SSLException 조치하기 1편 API 운영 중 SSLException 조치하기 2편 API 운영 중 SSLException 조치하기 3편 현상 운영중인 서버에서 타 기관의 API를 호출하여 데이터를 통신하는 부분이 있음. 여러 기관중 특정 기관에서만 데이터가 들어오지 않는 현상 발생. 원인분석 처음에는 요청하는 기관의 ip 및 port가 열려있는지 여부를 의심하였지만 확인결과 정상적으로 열려있음을 확인. 어떤 LOG가 찍히는지 상세하게 확인하기 위해 LOG 추가 후 모니터링 해 본 결과 아래와 같은 에러 메시지가 확인. javax.net.ssl.SSLException: Received fatal alert: protocol_version 해당 메시지 확인 결과 ss..
HttpURLConnection 란? java 소스 내에서 URL 요청을 통하여 결과 데이터를 스트림 형식으로 제공받아 이용이 가능함. HttpURLConnection 사용 예제 1 2 3 4 5 URL url = new URL("http://www.test.com"); HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); httpConn.getInputstream(); //결과 Stream Data를 Stream객체에 할당하여 이용한다. cs HttpUrlConnection 주요 설정 httpConn.setRequestMethod("GET"); //요청 방식 설정 (GET/POST 등) httpConn.setRequestPrope..
DispatcherServlet 란? Spring MVC 패턴에서 기본적으로 사용하는 Servlet으로, 클라이언트의 요청이 있을 시 가장 앞단에서 요청을 가로채어(Front Controller) 요청에 매핑되는 Controller에 작업을 전달하고 비지니스 로직 처리 후 해당 결과 View를 클라이언트에 전달하는 역할 DispatcherServlet 흐름도 이미지 출처 : https://mangkyu.tistory.com/18 이미지에 잘 설명이 되어있어 스크립팅 하였다. 클라이언트의 요청을 DistpatcjerServler에 전달 요청한 url에 맞는 controller 검색하여 HandlerMapping에 전달 HandlerMapping에서 해당 controller에 처리 요청 controller에..
원인 작업하다가 아래와 같은 쿼리에서 의문점이 생김. 좌측 날짜와 시간을 나타내는 문자형 데이터(실제로는 테이블 데이터 비교하기 쉽게 직접 값 넣음)와 우측 현재 시스템 시간을 YYYYMMDD 형식으로 변환한 문자형을 비교하는데 보자마다 생긴 의문점은 자릿수와 날짜 형식이 다른데 어떻게 비교가 되는가 였고 더욱 의문점은 원하는 결과가 나왔다는 것이다. 문제의 쿼리 1 2 3 4 5 6 7 SELECT * FROM TABLE01 WHERE '20200101000000'
SQL 변수 종류 리터럴 변수 란? sql 구문 중 where절에 column과 비교되는 값이 상수값으로 직접 선언된 경우의 변수 예) SELECT * FROM TABLE01 WHERE COL01 = "TEST"; 바인드 변수 란? sql 구문 중 where절에 column과 비교되는 값이 바인드 변수 형태로 사용하는 경우의 변수 바인드 변수의 자리에는 parameter로 넘겨지는 값들이 대체됨. 예) SELECT * FROM TABLE01 WHERE COL01 :=1; PARSE 종류 HARD PARSE sql 구문을 수행 시 SGA - shared pool - Library Cache 영역에서 해당 구문이 존재 여부를 조회하여 존재하지 않는 경우 해당 구문의 문법 및 권한 검사, 테이블 및 컬럼 존재..
JVM jvm은 OS로부터 java application이 필요로 하는 메모리 영역을 할당 받음. 해당 메모리 영역을 효율적으로 사용하기 위해서 관리하는 역할 수행. 메모리 관리 시 Garbage Collection을 수행. (OS로부터 할당받은 메모리 영역 = Runtime Data Area) Garbage Collection (GC) Runtime Data Area 중 Heap 메모리 영역에 사용하지 않는 자원을 메모리에서 삭제 하는 작업. (자원=객체) Heap 영역 구조 Yong Generation 영역 : 생명주기가 짧은 객체 존재 세부적으로 아래 두 영역으로 구분 Eden : 객체가 최초 생성되면 보관되는 영역 Supervisor(from, to) : MinorGC 시 Eden 영역과 함께 비..
발단현재 사용 중인 DB는 oracle이며, 이미 생성되어 있는 테이블에 중국어 데이터를 insert 할 작업이 잡혔다.전달받은 중국어 데이터를 insert 후 정상적으로 데이터가 적재되었는지 확인하였으나실제 확인된 데이터는 ?(물음표)가 포함되어 있는 비정상적인 형태로 적재가 확인되었다. 직접 결과를 확인하며 진행하기 위해 select 쿼리 실행 후 결과를 보고 비교해보겠다.수행 쿼리 : select '服务' from dual; 결과 : 服? 이와 같이 중국어 데이터의 깨짐 현상이 보였다. 원인 분석참고로 중국어, 일어 등의 유니코드를 지원하지 않는 CharacterSet을 가진 DB에서 유니코드를 지원하기 위해 사용되는 CharacterSet으로 National CharacterSet 이 있다.Nat..
ajax를 사용해야하는 부분이 있어서 평소와 같이 ajax 호출을 하여 반환값로 다음 로직을 진행하는 방식 구현하는 와중에 내가 원하는 값이 반환되지 않는 것을 확인하였다. 작성중이던 소스는 간략하게 아래와 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 function a(){ $.ajax({ url : '/ajax/result', dataType : 'json', data : jsonData, method : 'POST', succecss : function(data){ retrun data.value; }, error : function(e){ alert(e); return; } }) } function b(code){ ...
- Total
- Today
- Yesterday
- vscode
- SSL
- btye
- docker
- spring
- 날짜
- SQL
- mybatis
- Windows
- gradle
- 깨짐
- Git
- SpringBoot
- 이벤트발생
- parse
- TLS
- web
- Eclipse
- jQuery
- Linux
- jaxen
- Java
- 컨테이너
- Oracle
- html
- IMAGE
- JSON
- React
- JPA
- WAS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |