본문 바로가기
반응형

PROGRAM/JAVA / JSP27

[JAVA] equals 함수 사용 순서, NullPointerException 방지 개발자들끼리 반영 전에 Pull Request나 Merge Request를 통해 동료검토를 진행하고 있다. 예전에도 물론 절차가 있긴 했는데 정말 이슈가 되는 충돌 사항이 있는지랑 신규 로직에 대해 검수하는 정도였는데 요즘은 마이너한 내용까지도 같이 확인하기 시작하면서 습관적으로 사용하는 구문에 대해 고치고 놓치기 쉬운 내용도 크로스 체크를 하게 되니 두 번 반영하는 일이 줄었다. 여튼 오늘 말하고 싶은 내용은 너무나도 자주 사용하는 eqauls 함수에 대한 내용이다. A.equals(B) A와 B의 값이 동일한지를 비교하는 구문으로, 비교하기를 원하는 두 대상을 순차적으로 기술하고 그 결과는 true 혹은 false로 반환된다. 이 값을 이용해서 조건문에 사용하거나 그 외의 절차를 수행하는데 사용법도 .. 2022. 12. 19.
[Spring] @Transactional의 주요 설정 (isolation, propagation, readOnly) 일하다 보면 쓰는 것만 쓰게 되는 경향이 있어서 안다고 생각한 것도 사실 잘 모르는 경우가 더 많다. 좀 더 자세히 들여다보면서 Spring Framework 기능을 제대로 사용할 때까지 공부를 좀 더 해야지 ^_ㅠ 오늘은 Spring @Transactional과 그 주요 설정에 대해 알아보려고 한다. Spring에서는 @Transactional 어노테이션을 통해 트랜잭션을 설정할 수 있다. (선언적 트랜잭션) 트랜잭션을 적용하고자 하는 클래스나 메서드 위에 @Transactional을 선언하면 해당 클래스에 트랜잭션 기능이 적용된 프록시 객체가 생성되고, 이 객체는 @Transactional이 포함된 메소드가 호출되는 경우 PlatformTransactionManager를 사용하여 트랜잭션을 시작하고 .. 2022. 5. 19.
도로명 주소 API 연동방식, 외부 API 연동 시 유의사항 처음에 도로명 주소 쓰라고 했을 때는 이걸 어떻게 쓰나 싶었다. 뭐든 간에 익숙한 것을 새로운 것으로 바꾸는 데는 큰 저항이 있는 법이다. 그게 오랜 시간 사용했을 수록 더더욱. 지번으로 구성되던 기존의 주소 체계를 도로명으로 변경할 때는 외우기도 힘들었고 찾아가기도 힘들다고 생각했는데, 글쓰면서 생각해보니 이제 내가 살고 있는 집 주소를 도로명 주소로만 알고 있어서 원래 지번이 뭔지를 모른다. 아, 길찾기의 경우는 할 말이 없는게 원래 길을 잘 못 찾는 관계로 예나 지금이나 못 찾는건 마찬가지다. 도로명 주소를 언제부터 썼나 싶어서 도로명주소법 시행령을 찾아보니, 시행일이 2017. 7. 26 이다. 생각보다 얼마 안됐는데 너무 익숙해진 도로명 주소. 오늘 이 글을 쓰게 된 이유는 이렇게 익숙해진 도로.. 2020. 12. 14.
for 반복문 중첩 빠져나오기 - break label 다중 데이터 출력에도 사용되고, 여러 건의 데이터 검증 시에도 사용되는 반복문. 다양한 반복문 구문이 있지만 그 중에서도 가장 많이 사용하는 건 아무래도 for 반복문이 아닐까 싶다. 변수를 선언해서 원하는 만큼의 반복을 수행하기도 하고 List 내의 Element를 순차적으로 추출해서 바로 데이터를 사용하는 방식으로도 사용한다. 반복문은 아무래도 중첩해서 사용할 때, 그 진가를 발휘한다고 생각하는데 어쩌면 학부생 시절에 별 찍을 때부터 중첩 반복문을 지겹게 써봐서 그렇게 생각할 수도 있다. (교수님.. 잘 지내시나요. 교수님도 요즘 사이버강의 하시려나 궁금합니다...☆) break와 continue로만 반복문을 제어한다고 생각했는데, 중첩 반복문을 한 번에 빠져나오기 위한 신박한 방법이 있다는 걸 알게.. 2020. 4. 13.
Maven project 제대로 사용하기 : pom.xml Maven project의 핵심이라고 하면 당연히 pom.xml이라고 말할 수 있다. 해당 프로젝트에 import 되는 jar파일 정보 및 버전정보를 담고 있으며 최종적으로 패키징되는 기준값을 담고 있기 때문에 해당 파일만 잘 설정해줘도 프로젝트 실행과 배포를 위한 설정이 다 된거라고 볼 수 있다. 그럼 기본적인 구조에 대해서 확인하고 어떤 용도로 사용되는지 정리해보자. Maven project 제대로 사용하기 : pom.xml pom.xml은 기본적으로 최초 생성되는 기본구문 (필수구문) 과 추가적인 설정으로 생성되는 부분으로 나눠질 수 있다. 다시 말해 기본구문을 기반으로 각 프로젝트 별로 원하는 내용을 추가/보완하여 커스터마이징 할 수 있다. 4.0.0 ojava.blog mavendemo war .. 2019. 5. 23.
QR코드 생성방식 (Google Chart API 대체) Google Chart에서 제공하던 QR 코드 생성기능을 아주 잘 이용하고 있었다. 2017/06/12 - [PROGRAM/JAVA / JSP] - Google Chart API 이용하여 QR코드 생성하기 물론.. 그 때도 서비스 지원은 중단되었지만 기존 그대로도 잘 호출되고 있어서 문제가 없었으나 오늘 오전부터 갑자기 API 호출 시 gateway 502 error가 발생하면서 QR코드 이미지가 생성되지 않는 문제가 발생했다. 아니나 다를까 API 페이지에 접근해보니 아래와 같은 안내가 있었다....^_ㅜ This API is deprecated and is scheduled to be turned off on March 14, 2019. Please user the actively maintained.. 2019. 3. 19.
String에서 PDF로 변환하기 / STRING (or XSTRING) TO PDF 사용자 편의와 업무 간소화를 위해서 문서 다운로드 작업을 많은 부분에서 제공하고 있다. 표 형태의 데이터나 많은 내용이 나오는 데이터는 엑셀로, 공식적인 문서형태의 경우나 변환되면 안되는 계약서의 경우 PDF로 제공한다. 이제 곧 연말정산 기간도 다가오고 하니 PDF 변환 및 다운로드 기능을 많이들 찾을 듯 하여 PDF와 관련된 포스팅을 하나 써보도록 한다. 오늘 포스팅 할 내용은 String 형태로 전달받은 파일 내용을 PDF로 변환하는 내용을 다룬다. String에서 PDF로 변환하기 / STRING (or XSTRING) TO PDF 파일 입출력을 다루는 많은 예제에서 봐왔듯이 Input / Output Stream 등을 사용할 예정이다. 전체적인 구조를 우선 보자. 1. 변환하고자 하는 원본파일인.. 2018. 12. 14.
lombok @Data not working / getter setter 인식 불가 해결 언젠가 돌아오는 환경설정의 시간. 이번에도 환경설정하다가 시간을 많이 날린 관계로 미래의 나와 누군가를 위해 포스팅한다. 이번에 세팅하는 환경에서는 annotation을 통해 기능을 구현한 부분이 많았는데 그 중 lombok을 통해 기능 구현한 부분이 많이 있었다. class compile 중에 계속적으로 에러가 나는 부분이 lombok과 관련이 있었다. lombok을 사용해보지 않았던 관계로 annotation을 기반으로 기능을 추적하는데 @Data 라는 annotation의 편리한 기능을 알게 되었다는 장점이 있었으나, 이게 제대로 작동을 안해서 getter setter 부분이 인식이 안되는 관계로 720 item에서 에러가 발생하는 난감한 상황을 겪었다. 그럼 lombok을 처음 사용하거나 세팅이 .. 2018. 12. 3.
Spring 배치, 스케쥴러 사용하기 : Quartz, @Scheduled Spring 배치, 스케쥴러 사용하기 : Quartz, @Scheduled 이놈들 설정하느라고 황금같은 월요일과 화요일을 썼다. 둘을 사용하는 방법을 아주 잘 알게 된 시간이었으니, 각각을 정리하면서 보람차게 마무리하도록 하자. Quartz 처음에는 Quartz를 쓰려고 했다. 설정하다보니 알게 된 내용들을 정리하기도 했더랬다. 결론적으로는 프로젝트 환경과 맞지않는 단점을 하나 발견해서 세팅만 열심히 해놓고 쓰지않았다. 2018/10/29 - [PROGRAM/JAVA / JSP] - Spring 3.x + Quartz 연동 시 주의사항 1) Quartz 사용을 위한 기본 설정 pom.xml org.quartz-scheduler quartz 1.8.6 Spring 3.x을 사용하는 경우는 1.8.6을 사용.. 2018. 10. 30.
Spring 3.x + Quartz 연동 시 주의사항 Spring 3.x + Quartz 연동 시 주의사항 프로젝트 설정이 개발의 반이라지만 기존 프로젝트 설정을 변경하는 건 그보다 더 큰 작업임을 종종 느낀다. ^_ㅠ 일하면서 중간중간 변경이 필요하므로 일정이 더 쫄리기 때문이지.. 오늘은 Spring 3.x + Quartz 연동 시 주의사항에 대해 알아보자. 1) Quartz version은 1.8.6을 사용해라. 최신 버전의 jar 파일을 다운 받아서 (그마저도 2017년 4월이다) 사용하려 했더니 다 맞게 쓰고 maven update를 하고 프로젝트를 몇 번을 clean을 해도 안된다고 나오더니 그 이유가 있었더랬다. Spring 3.x 버전에서는 Quartz 2.x 이상을 사용할 수 없다. 2.x 이전에 나온 버전 중 가장 최신의 jar 파일인 1.. 2018. 10. 29.
반응형