본문 바로가기
반응형

전체글587

2018년 상반기 회고 2017년 회고에서 얘기했었지만, 이제부터는 1년 단위가 아닌 분기 혹은 반기 단위로 회고를 남길 계획이다. 원래는 분기 단위로 하려고 했었지만, 3월에 개인 사정으로 1분기가 그냥 지나가버리고 4월부터는 신규 프로젝트로 바빠서 어쩔수 없이 상반기로 회고를 하게 됐다. 상반기인데 7월도 아니고 웬 8월에 상반기 회고냐 라고 생각할수도 있다. 회사 프로젝트가 7월 말에 최종 오픈하고 8월 초에는 오픈 안정화를 하다보니 늦어지게 됐다. 그래도 프로젝트가 잘 끝나서 기분 좋게 회고를 쓴다. 회사 회사의 일은 2개의 챕터로 분리할 수 있을것 같다. 1 ~ 2 월 - 정산 시스템 운영 기억이 가물가물해서 Jira 티켓을 보니 1월까지는 신규 SAP 연동 시스템 연동작업을 계속 했었다. 작년 연말에 정산 파트의 연.. 2018. 8. 26.
6. Spring Batch 가이드 - Chunk 지향 처리 Spring Batch의 큰 장점 중 하나로 Chunk 지향 처리를 얘기합니다. 이번 시간에는 Chunk 지향 처리가 무엇인지 한번 살펴보겠습니다. 6-1. Chunk? Spring Batch에서의 Chunk란 데이터 덩어리로 작업 할 때 각 커밋 사이에 처리되는 row 수를 얘기합니다. 즉, Chunk 지향 처리란 한 번에 하나씩 데이터를 읽어 Chunk라는 덩어리를 만든 뒤, Chunk 단위로 트랜잭션을 다루는 것을 의미합니다. 여기서 트랜잭션이라는게 중요한데요. Chunk 단위로 트랜잭션을 수행하기 때문에 실패할 경우엔 해당 Chunk 만큼만 롤백이 되고, 이전에 커밋된 트랜잭션 범위까지는 반영이 된다는 것입니다. Chunk 지향 처리가 결국 Chunk 단위로 데이터를 처리한다는 의미이기 때문에 그.. 2018. 8. 25.
5. Spring Batch 가이드 - Spring Batch Scope & Job Parameter 이번 시간에는 Spring Batch의 Scope에 대해서 배워보겠습니다. 여기서 말하는 Scope란 @StepScope, @JobScope를 얘기합니다. 무의식적으로 사용하는 이 어노테이션들이 실제로 어떤 일들을 하는지 알아보겠습니다. 그리고 이 둘과 떨어질 수 없는 Job Parameter도 함께 배워보겠습니다. 5-1. JobParameter와 Scope Spring Batch의 경우 외부 혹은 내부에서 파라미터를 받아 여러 Batch 컴포넌트에서 사용할 수 있게 지원하고 있습니다. 이 파라미터를 Job Parameter라고 합니다. Job Parameter를 사용하기 위해선 항상 Spring Batch 전용 Scope를 선언해야만 하는데요. 크게 @StepScope와 @JobScope 2가지가 있.. 2018. 8. 17.
Mac에 Java 여러 버전 설치 & 사용하기 Java9부터 jshell이 등장했습니다. 그러다보니 가끔 간단한 Java 코드 작성이 필요할때 굳이 IDE 실행 없이 마치 Bash를 작성하듯이 간단하게 코드를 작성할 수 있게 되었습니다. 하지만 대부분의 프레임워크와 라이브러리가 Java8에 최적화되어있어 함부로 버전업하기가 쉽지 않은데요. 그런 경우를 대비해 jenv가 있습니다. 이번 시간에는 Mac 환경에서 기존에 사용하는 Java와 Java10을 함께 사용하는 방법을 공유드리겠습니다. 현재 제 PC에는 Java8이 설치되어있어 Java8과 Java10을 함께 사용하는 과정이 됩니다. 1. Homebrew Cask 일단 Homebrew를 최신으로 업데이트 합니다. brew update && brew upgrade brew-cask && brew c.. 2018. 8. 13.
4. Spring Batch 가이드 - Spring Batch Job Flow 자 이번 시간부터 본격적으로 실전에서 사용할 수 있는 Spring Batch 내용들을 배워보겠습니다. 작업한 모든 코드는 Github에 있으니 참고하시면 됩니다. 앞서 Spring Batch의 Job을 구성하는데는 Step이 있다고 말씀드렸습니다. Step은 실제 Batch 작업을 수행하는 역할을 합니다. 이전에 작성한 코드를 보시면 Job은 코드가 거의 없죠? 실제로 Batch 비지니스 로직을 처리하는 (ex: log.info()) 기능은 Step에 구현되어 있습니다. 이처럼 Step에서는 Batch로 실제 처리하고자 하는 기능과 설정을 모두 포함하는 장소라고 생각하시면 됩니다. Batch 처리 내용을 담다보니, Job 내부의 Step들간에 순서 혹은 처리 흐름을 제어할 필요가 있는데요. 이번엔 여러 .. 2018. 8. 12.
오픈소스, 줘도 못 먹나 - 오픈소스로 팀의 개발 생산성 높이기 by kenu 참석후기! 오늘은 OKKY의 창시자이신! kenu 허광남님의 세미나가 있어 다녀왔습니다. 주제는 오픈소스, 줘도 못 먹나 - 오픈소스로 팀의 개발 생산성 높이기입니다. 세미나 주제를 보고 신청하신 분들도 많으시겠지만, kenu님의 발표라 믿고 신청하신 분들도 많지 않았을까 싶습니다. (뇌피셜..) 여튼! 세미나 공지를 보시면 대략적으로 어떤 세미나였을지 아실수 있을것 같습니다. 자 그럼 본격 발표 내용을 시작하겠습니다. 0. Intro (Kenu-허광남님) 개발인생 34년 이야기 14살부터 시작 많은 소프트웨어를 개발했지만 현재까지 남아 있는건 OKKY 현재 나이(48세)에도 개발팀을 이끌고 개발하고 있는, 살아 남기 위한 제 이야기입니다. 발표자료 1. 오픈소스에 대한 사실과 오해 인간 vs 컴퓨터 컴퓨터가 인간.. 2018. 8. 10.

728x90
반응형