일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Kotlin
- 스타트업
- 스프링부트배치
- 백엔드
- batch framework
- 멀티모듈
- react
- springrestdocs
- 프론트엔드
- submodule
- multimodule
- spring
- springbootbatch
- 회고
- API
- 문서화
- batchframework
- 성장
- 스프링배치
- batch
- 서브모듈
- springboot
- 스프링
- 스프링부트
- Today
- Total
목록전체 글 (17)
노트북을 열고.
입사하시게 되면 프론트엔드 개발도 가능하실까요? 가능합니다. 저희는 리액트를 사용하고 있어요. 혹시 리액트에 대해선 좀 알고 계실까요? (하아. 예전에 문득 들어보긴 한거 같은데.. 먹는 거 아니었나?) 글쎄... 잘은 모르지만 해보면 할 수 있어요. 이전 직장에서 줄곧 PHP기반 레거시 시스템 고도화 업무를 다뤄왔습니다. 사용자 페이지를 작성하는 일이든 그 뒤에 비즈니스 로직을 구현하는 일이든 뭐든 가리지 않고 뚝딱뚝딱 해치어 왔으니 그때까진 두 영역 간에 차이는 없다고 봐도 무방했죠. 늘 그래왔듯 프론트엔드영역이란 결국 HTML로 정적인 요소를 배치하고 자바스크립트를 통해 동적인 조작이나 데이터패치를 해오는 정도로 활용해 왔기에 프론트엔드란 마치 제 아이폰 케이스처럼 우리의 비즈니스를 사용자관점에서 ..
얼마 전 앞서 퇴사하는 타 부서 동료와 작별인사 겸 커피 한잔을 했습니다. 물어보길 그동안 제가 정확히 어떤 업무를 해오고 있는지 궁금했다는 겁니다. 회사에 꽤 오래 계신걸로 아는데 그동안 정확히 어떤 일을 하고 계신지가 궁금했어요. 여러 동료들과 오가며 으레 주고 받는 인사치례 정도로 여겨왔지만 그때만큼은 조금 다르게 와닿았습니다. 나 정말 그동안 이곳에서 무엇을 해왔지? 분주했던 시간들로 기억됩니다. 다양한 개발 일감들을 마주해오며 그 업무 안에 제가 녹아들어 간 기억은 있지만 그간에 제가 해 온 경험들을 온전한 제 이야기로 담아내진 못해왔던 것 같습니다. 퇴사를 앞두고 이곳에서 오늘에 이르기까지 이야기를 차근히 회고해보고 싶었습니다. 넷플릭스사의 퇴사관문으로 알려진 퇴사부검 형식을 빌려 자유롭게 풀..
주말 오전에 기어이 최소 2층 창가 자리가 있는 별다방(이하 스벅)을 가야만 하는데 다 이유가 있다. - 금쪽같은 주말에 집에만 있을 순 없다. - 어쨌든 커피는 마셔야 하겠고 - 적당한 채광과 풍경이 있고 잔잔히 브금이 깔린 마천루에서 뭐라도 해야한다. 이 3가지 여건을 갖춘 장소라 하면 목 좋은 어딘가에 자리한 프랜차이즈 카페일 텐데 사실 스벅만큼이나 어느 하나 모나지 않게 평탄하게 갖춘 곳이 찾기가 사실 쉽지 않다. 커피맛은 좋은데 점포마다 인터넷 환경이 들쑥날쑥하거나 노트북 콘센트가 부족하거나 아예 없거나 그것도 아니면 사람이 너무 많거나 또는 사람이 너무 휑하거나. 이 어렵고도 까탈스러운 조건에서 살아남은 스벅에 가서 혼자 시간을 보낸다 해도 극복할 수 없는 불편은 - 화장실을 가야 할 때 자리..
'주앙 페레로'와의 조우 초등학생땐 집에 컴퓨터가 있는 친구가 드물었다. 그때의 동심으로 돌아가보면 한번은 사촌 형집에 놀러가 너구리라는 횡스크롤액션게임을 하고 있는걸 구경하는 것만으로도 그렇게 재미졌는데, 한번은 그 형이 컴퓨터 본체 뒤에 보이는 팬구멍에다가 소원을 크게 말하고 게임을 해서 끝판왕까지 가면 컴퓨터가 그 소원을 들어준다하니. 그도 그럴게 당시엔 그와 비슷한 풍의 영화들도 본 기억이 난다. 그 시절에 놀이동산 오락기계에 돈을 넣고 소원을 빌고보니 다음날 아침 그 소원이 이루어 졌다라든지하는 그런 류의 영화가 분명 있었단 말이다. 반신반의하다가 이내 본체뒤로 가 뜨거운 바람이 슝슝 나오는 동그란 팬구멍에 입을 대고 소원(컴퓨터가 가지고 싶어요.)을 말하고 있는 내 굴욕적인 모습을 보며 깔깔대..
※ 모든 코드는 저의 Github 에서 확인하실 수 있습니다. 0. 코드로 말합니다. 개발업무에 있어 형상관리업무만큼은 지극히 최소한으로 유지하는 게 좋다고 생각합니다. 과거엔 코드를 유지보수할 때에 Doc주석을 추가하거나 별도에 수기문서로 기록하며 관리를 하였지만 지금은 GitHub와 같은 소스 관리 도구를 통해 그 역할을 대신할 수 있습니다. 우리가 작성한 코드를 가리켜 참고해야 할 기록이 우후죽순 늘어날수록 우리가 신경 써야 할 것들도 함께 늘어나게 됩니다. 서비스를 유지 보수하면서 이러한 관리 포인트를 최소화하기 위한 노력이 무엇이 있는지 생각해보았습니다. 1. 코드를 최대한 간결하고 우아하게 구현하는데 관심이 있어야 합니다. 2. 코드의 무결성을 검증하는것에도 중요하죠. 3. 이러한 과정을 거친..
서론 시간이 흐른다고 미래가 되는 건 아니다. 최근 이란 프로그램을 보면 과거엔 파리만 날리다 어렵사리 백종원의 솔루션을 전수받아 문전성시를 이룬 가게들의 최근 근황을 방영해주고 있는데 몇몇 가게를 제외하곤 대개 그 시점을 기준으로 서비스나 품질이 그 이전의 과거로 회귀해 버렸다. 저기 나오고 있는 사장님들은 그때 백종원이 가고난 뒤 무슨 풍파를 맞았길래 저래 과거의 모습으로 다시 퇴행해 버린 걸까? 중소 SI기업에서 4년 그리고 2018년 3월 지금의 회사에 합류한 시점을 기준으로 전과 후 그리고 지금까지. 내가 하고 있는 본업에 대해 퇴행이 아닌 앞으로 조금씩 전진해 나아가고 있다고 생각하는 건 내 삶에 있어 분명한 긍정적 기류이다. 어느덧 2년이란 시간이 지나간 이 시점, 지금 이 회사에서 사내 백..
1. Scope 그리고 스프링의 기본 Scope, Singleton 앞선 장에서 설명드리지 않았으나 무척이나 중요한 역할을 하던 컴포넌트가 있습니다. 바로 배치가 실행될 때 Spring Bean을 생성하는 시점을 명시하는 @JobScope와 @StepScope 입니다. @Bean @StepScope public ListItemReader unPaidMemberReader() { log.info("********** This is unPaidMemberReader"); List activeMembers = memberRepository.findByStatusEquals(MemberStatus.ACTIVE); log.info(" - activeMember SIZE : " + activeMembers.size..
1. 메타(Meta)테이블, 존재의 이유. 이전 장에서 우리는 배치를 실행시키기 위한 총 9개의 테이블을 생성하였습니다. 사실 아주 간편하게 코드로만 배치프로세서를 구현할 줄 알았지 Batch프로세스만을 위한 테이블을 무려 9개씩이나 만들어야 한다면, 마치 배보다 배꼽이 더 큰 것 마냥 느껴지기도 합니다. 이 9개의 테이블은 메타테이블이라고 불리웁니다. meta라는 어원('~에 관하여, About)에서 알 수 있 듯 이들은 우리가 구현한 BatchJob이 실행될 때마다 그 BatchJob에 관련한 모든 것를 꼼꼼하고 세세하게 기록됩니다. 정확히는, 우리가 구현한 'BatchJob을 실행시키기 위한 목적을 가진 테이블은 아닙니다'. 필요에 따라 이 테이블 없이도 스프링부트 배치프레임워크로 실행가능한 배치잡..