본문 바로가기
반응형

전체글588

IntelliJ 디버깅 해보기 안녕하세요? 이번 시간엔 intellij의 debugging 을 간단하게 진행해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 굉장히 기초적인 수준이지만, System.out.println으로 디버깅 하셨던 분들에게 도움이 될것 같아 정리하였습니다.주요 단축키꼭 디버깅이 아니더라도 아래 단축키 정도는 익혀두면 여러모로 쓸 곳이 많다.shift + shift : 전체 검색 (file, action 모두 검색)command + shift + a : action 검색 (설정, Refactor 등)command + shift + .. 2017. 4. 17.
Spring Batch에서 영속성 컨텍스트 문제 (processor에서 lazyException 발생할때) 안녕하세요? 이번 시간엔 springboot-batch에서 reader로 읽은 데이터를 processor로 넘길때 영속성 컨텍스트가 문제가 되는 상황을 해결해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 문제 상황주문 시스템을 구축한다고 가정하겠습니다. 주문을 받은 뒤, 배치를 돌면서 주문의 내용을 History 테이블에 저장하는 기능입니다. 주문(PurchageOrder) 테이블에는 상품(Product)이 OneToMany로 잡혀있습니다. 도메인 코드는 아래와 같습니다.그리고 이를 사용한 배치 코드는 아래와 같습니다.(.. 2017. 4. 14.
Spring Batch ItemWriter에 List 전달하기 안녕하세요? 이번 시간엔 springboot-batch에서 writer에 List를 전달하는 예제를 진행해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 문제상황정산과 관련된 프로젝트를 진행 중, Sales 데이터를 파싱하여 Tax 데이터를 저장하는 spring batch를 만들어야 한다고 가정하겠습니다. 예를 들어 A Sales가 조회되면 이를 파싱하여 Tax1,Tax2,Tax3으로 저장되어야 합니다. 그럼 간단하게 batch configuration을 작성하겠습니다.특별할것이 없는 코드입니다. 저 같은 경우엔 ItemW.. 2017. 4. 10.
docker를 이용한 CI 구축 연습하기 (젠킨스, 슬랙) 안녕하세요? 이번 시간엔 도커로 CI 구축 연습하기 (젠킨스, slack) 예제를 진행해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 팀내에서 젠킨스로 빌드/배포를 관리하고 있습니다. 여태 CI를 경험해본적이 없어 연습을 해봐야겠다고 생각을 하였습니다. 개인 서버가 별도로 없어서 어디에 구축을 해야하나 고민하던 중, 도커가 생각나서 도커에 구축하여 같이 연습을 하게 되었습니다. 도커와 젠킨스 초보이다보니 잘못된 내용이 있을 수 있습니다. 발견하시면 언제든 댓글 혹은 풀리퀘스트 부탁드리겠습니다.젠킨스 & Github 연동젠.. 2017. 4. 9.
Java + Gradle 프로젝트 생성하기 (+junit) 1. IntelliJ 프로젝트 생성Junit 라이브러리를 사용해야하므로 직접 jar를 받아 추가하기 보다는 빌드도구를 사용해서 의존성을 쉽게 사용하는것이 좋다. Maven, Gradle 중 원하는 빌드 도구로 생성한다. (팀내 빌드도구를 선택하면 되지만, 박재성님의 강의는 Maven으로 진행할 예정)GroupId와 artifactId는 원하는 값을 입력하면 된다. (정식 프로젝트라면 룰에 맞춰서 가야하지만 테스트이니 그냥 한다.)생성이 완료되면 위와 같은 프로젝트 구조가 생성된다. main 코드와 test 코드를 생성하기 위해 source root를 생성해야한다. (없으면 패키지 및 클래스가 생성되지 않는다.) main 코드의 source root를 생성하기 위해 프로젝트를 선택 -> command+n을.. 2017. 4. 9.
Enum 활용사례 3가지 안녕하세요? 이번 시간엔 enum 활용사례를 3가지정도 소개하려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 최근에 레거시 프로젝트를 개편하면서 enum을 적극 사용하였습니다. 혹시나 비슷한 고민이 있으신분들에게 참고가 될까 싶어 포스팅하게 되었습니다. 이런식으로 해결할 수도 있네? 정도로 봐주시면 될것 같습니다. 그럼 시작하겠습니다!사례1 - code 관리용 테이블 대체하기프로젝트를 진행하다보면 code 들을 관리하기 위한 테이블을 별도로 만드는 경우가 빈번합니다.(출처 : 실천하는삶님의 블로그)이 경우가 무조건 나쁜것은 .. 2017. 4. 9.

728x90
반응형