JPA를 사용하여 개인 프로젝트 진행하던 중 게시판 글 수정 기능을 구현하는 과정에서 제목이나 내용을 수정하고 저장을 하면 등록일자 항목의 값이 비어지는 현상이 나타났다. 우선, 글을 처음 등록할 때 로직을 다시 확인하였다. 등록일자 값은 Entity 내에 @PrePersist 어노테이션을 이용하여 Date 객체를 대입하여 값을 등록하였다. @PrePersist 어노테이션은 해당 테이블이 insert를 할 때 동작하는 것으로 수정을 할 때는 해당 어노테이션이 동작하지 않기 때문이다. 수정 기능은 입력받은 값을 Entity에 저장하고 JPA save() 메소드를 호출하는 방식이다. 해당 로직에서 동작하는 쿼리를 확인하기 위해 로그를 확인해 보았는데 수정화면에서는 제목과 내용의 값만 존재하는데 로그상에 찍힌..
프로그래밍을 하다 보면 거의 대부분 사용하게 되는 조건문 if 명령어가 있는데 해당 명령어를 사용하기 위해서 중요한 부분 중 하나인 조건에 대해서 정리를 해보았다. 어떠한 작업, 환경, 데이터 형태 인지에 따라서 사용할 수 있는 조건은 다양하다 조건비교방법 -일치여부 -대소 비교 -참/거짓 조건비교 값 -상태 -문자 -숫자 -데이터 개수 -시간 상태 API 및 특정 서버에 요청을 하였을 때 비정상적인 연결 또는 요청한 서버의 상태에 문제가 있는 경우 결과값을 받아 다른 로직을 진행할지에 대하여 처리를 할 수 있음. 문자 및 숫자 비교할 수 있는 데이터의 값이 확실하게 정해져 있거나 특정 범위를 정해놓을 수 있는 경우 사용 가능. 데이터의 개수 숫자와 비슷하지만 조회 및 수신 데이터의 개수를 먼저 확인 후..
VScode IDE에서 작업 시 터미널에서 git 이용 시보다 원활한 작업을 하기 위해 정리. 프로젝트 생성 후 git 원격저장소 연동까지 필요한 최소 명령어 우선 정리. 설명에 경로라는 단어는 VScode 터미널에서 작업을 진행하는 경로까지 이동함을 뜻함. --현재 경로를 로컬 저장소로 설정 git init --현재 경로의 로컬 저장소와 원격저장소를 연결 git remote add origin [브랜치 master 생략가능] 원격저장소주소 --현재 경로에 원격저장소 origin에서 master 브랜치를 가져오기 git pull origin master --현재 경로의 로컬 저장소에 스테이징 된 항목들을 origin 원격 저장소의 master 브랜치에 올리기 git push origin master --..
[관련 시리즈] API 운영 중 SSLException 조치하기 1편 API 운영 중 SSLException 조치하기 2편 API 운영 중 SSLException 조치하기 3편 발단 이전에 앞서 작성하였던 루트 인증서 관련 SSLHandshakeException을 조치하였음에도 불구하고 관리하는 API 기관 중 어떤 기관은 앞선 작업으로 인하여 정상적으로 호출하는 것을 확인하였고 일부 기관은 앞선 작업을 하였지만 이전과 다른 새로운 에러 로그*가 나타나는 것을 확인하였음. 하지만 서버에서 curl 및 wget 명령어로 API URL을 호출할 때는 정상적인 값을 가져오는 것을 확인. 따라서 WAS단에서 문제가 있는 것으로 판단. 원인 아래는 *새로운 에러 로그 1 2 3 4 5 6 7 8 9 10 11 1..
[관련 시리즈] API 운영 중 SSLException 조치하기 1편 API 운영 중 SSLException 조치하기 2편 API 운영 중 SSLException 조치하기 3편 발단 API를 통하여 타 기관의 데이터를 가져오는 서비스를 관리하는 중 상대 기관에서 기존에 제공하던 API url 변경 및 https 적용 작업이 있다하여 작업을 준비 하였음. 해당 기관 말고도 다른 API에서도 https로 변경하였기 때문에 비슷한 작업이라고 추정하였음. 이전에 SSL 관련하여 비슷한 작업 (이하 이전 ssl 작업) (https://jckim-dev.tistory.com/14) 하지만 작업 후 신규 url 호출 시 아래와 같은 에러문구가 확인됨. javax.net.ssl.SSLHandshakeException ..
발단 oracle DB 환경을 관리하던 중 DB서버 이동을 하게 되었음. 신규 서버에 oracle DB가 다시 세팅되고 며칠간 모니터링 수행 중 Tablespace 중 UNDOTBS 사용량이 아주 빠른 속도로 증가되는 것을 발견. 원인 파악을 하여 바로 조치하는 것이 제일 베스트이지만 당장의 서비스 운영을 위해서 임시조치로 해당 테이블스페이스를 증설한 상태에서 원인 파악에 들어갔음. 사전조사 및 참고자료 UNDOTBS(Undo Tablespace)란? 읽기 일관성을 유지하기 위해 사용되는 Tablespace로 데이터베이스 운영 중 많은 사용자들에게서 DML 작업이 이루어지는데 이때 Rollback하게 되는 경우를 대비하여 DML 작업이 발생했을 때 삭제 및 수정 이전의 값에 대한 정보를 UNDO Segm..
*발단 특정 기관의 api를 호출한 결과 데이터를 DB에 삽입하여 관리하고 있으나 특정 시점부터 데이터가 들어오지 않는 현상이 발생. *원인 파악 exception을 제대로 걸지 않은 것인지 log레벨에 맞지 않은 것인지 log 파일에서는 관련된 부분을 확인할 수 없었음. 아래 소스와 같이 로컬상에 api 끌어오는 부분을 구현하여 결과값을 output 하는 것으로 결정. [호출 테스트] //예시용도 호출 api url String fullUrl = "http://jckim-dev.tistory.com/apiTest"; HttpURLConnection conn = (HttpURLConnection)url.openConnection(); BufferedReader tempBufferedReader = nul..
발단 Spring Data JPA 학습을 하는 도중 메서드명으로 쿼리를 생성하는 부분에 궁금증이 생김. 필요한 Entitiy를 선언하고 메소드를 작성하던 중 동일한 키워드가 하나의 메소드에 여러 개가 선언되었는데 해당 경우에도 정상적으로 원하는 쿼리가 동작을 하는 것을 확인하였음. 내가 작성하였을 때만 어색하게 보일 뿐이지 내부적으로 어떠한 원리로 메소드명에서 정보를 추출하여 쿼리를 생성하는지 찾아봄. 학습환경 (발단의 원인) 회원정보인 Usr Entity에 권한을 뜻하는 Role Entity가 존재(OneToOne Join). Entitiy 정보는 아래와 같음. 1 2 3 4 5 6 7 8 9 10 11 //회원정보 엔티티 public class UsrEntity { @OneToOne @JoinColu..
- Total
- Today
- Yesterday
- web
- SpringBoot
- jQuery
- jaxen
- SQL
- html
- IMAGE
- Windows
- mybatis
- Git
- docker
- Eclipse
- 깨짐
- btye
- JPA
- JSON
- SSL
- Oracle
- vscode
- parse
- Linux
- 날짜
- Java
- spring
- WAS
- gradle
- React
- 이벤트발생
- 컨테이너
- TLS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |