본문 바로가기
반응형

전체글643

Spring Camp 2017 - 1부 (토요일) 참석 후기! 스프링캠프 2017 행사에 다녀왔습니다! 이번 행사는 토/일 이틀간 진행되는 아주 큰 행사였습니다. KSUG (한국스프링사용자모임)이 10주년이 되는 해이기도 해서 정말 행사에 많은 준비를 쏟으셨다는게 느껴지는 날이였습니다. 해마다 이렇게 행사 준비해주시는 KSUG 일꾼 분들 정말 감사합니다!행사장은 잠실 삼성 SDS 서관 지하 1층이였습니다.행사장으로 내려가는 에스컬레이터에서 벌써 많은 사람들이 있는 것을 확인할 수 있었습니다.참가자 등록을 하고,오늘 세미나 순서를 확인하였습니다. 리액티브가 당췌 뭔가 하는 생각으로 왔기 때문에 오늘은 A트랙만 들을 계획이였습니다. (주제가 다 좋아서 트랙 둘다 들을 수 있었으면 정말 좋을텐데 하는 생각만 가득했습니다. ㅠ)운이 좋게도 앞 줄에 앉을 수 있었습니다. 본.. 2017. 4. 23.
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.

728x90
반응형