%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4

2018-12-07
프로젝트 수행 중에 시도해 본 내용 중 프로세스 품질 향상으로 진행한 내용을 정리해 보았습니다. 기술 이야기는 아니고, 프로젝트 운영과 협업을 효과적으로 이끌어 내 보려던 내용입니다. 간단하지만 효율적이였던 본 사례를 응원해 준 동료가 있어서 내용을 정리해 봅니다. 그 동료는 작고 시맨틱한 리소스 [1] 로 효율적이고 효과적으로 작업하기를 좋아합니다. 프로젝트 현황판이란? 프로젝트를 오픈시킬 때까지는 여러 단계를 거치게 되죠. 다양한 요구사항들을 분석해서 설계하고 개발하고 테스트한 후 서비스를 오픈시키기 위해서는 각 단계별 담당자들 사이에 유기적이고도 효율적인 업무 진행 상황 파악이 필요합니다. 이러한 진행 상황 파악은 결국 서비스 품질을 향상시키는 위한 방향이 되고, 서비스 품질은 프로세스 품질을 기본적으로 가지고 있어야 합니다. 프로젝트 관리 도구에서 다양한 형태로 제공 받거나 일반 문서로 작성되기도 합니다. 기본적으로 프로젝트 진행 상황 파악이 필요한 이유는 각 단계별 담당자들이 업무 진행 현황을 시각적으로 공유 받고 이것을 바탕으로 개인 업무를 조율할 수 있게 하는 것이고, 프로젝트 이해 관계자들은 프로젝트 진행 상황을 한 눈에 보기를 원하기 때문입...
2018-12-05
그간 간헐적으로 설계에 대한 이야기를 써왔는데 , 최근 8년정도 몸담고 있는 유통(리테일 혹은 커머스) 업무에 대해서 비즈니스 해석과 개념 설계 활동을 프로그램 구현과 연결하는 실제 현장 이야기 써볼까 합니다. 실제 현장이야기인지라 정제해서 쓰기 어려워 독자분들에게 어떤 가치가 있을지는 의문입니다. 그럼에도 불구하고 노하우 추출을 위한 첫발 정도의 의미로 연재를 시도합니다. 그 시작은 '상품'이란 주제에 대한 고민을 푸는 과정입니다. 시작하죠. 어느날...
2018-12-04
같은 코드의 반복은 중복을 낳는다. 그리고 중복은 유지 보수를 어렵게 만든다. 따라서 반복을 최소화해야 한다. 이 글은 엑셀 파일 데이터를 가공하여 데이터베이스로 옮기거나 혹은 다른 파일 포맷으로 변경하려 할 때 나타날 수 있는 반복 코드와 템플릿/콜백 Template/Callback 패턴을 사용하여 반복 코드를 줄여가는 과정을 소개한다. 반복 코드 엑셀 파일을 읽어 오는 코드를 작성한다고 가정해 보자. Java로 엑셀 파일을 다룰 때 Apache POI (이하 POI)를 많이 사용한다. POI는 마이크로소프트 오피스 포맷(Word, PowerPoint, Excel) 문서를 읽고 쓸 수 있는 Java 라이브러리이다....
2018-11-27
해당 코드는 Github 에 공개되어 있습니다. Lombok은 자바 컴파일 시점에서 특정 어노테이션으로 해당 코드를 추가할 수 있는 라이브러리입니디. 이는 코드의 다이어트? 가독 성 및 유지 보수에 많은 도움이 됩니다. 하지만 편리한 만큼 잘못 사용하기 쉬운 것이 Lombok 입니다. 거창하게 실무에서 사용하는 Lombok이라고 표현했지만 어디까지 저의 주관적인 생각이기 때문에 각자 환경과 상황에 알맞게 사용하는 것이 바람직합니다. 지금 부터 제가 Lombok을 사용하는 방법에 대해서 소개해드리겠습니다. 간단한 예제를 위해서 JPA Entity 객체를 기반으로 설명드리겠습니다....
2018-11-20
2019년 부터 자바 라이센스에 대한 변화가 있다고 여기저기 말이 많습니다. 오라클 홈페이지나 여러 기사 등에서는 아주 복잡하게 설명되어 있어 저 같이 복잡한거 싫어하는 개발자 입장에서는 그냥 open jdk나 아마존에서 공개한 것 사용할까 하는 마음이 많습니다. 이번 글에서 초 간단 요약 정리해 보았습니다. 조금 더 상세한 설명은 다음 글을 참고하세요. http://taewan.kim/post/oracle_java_subscription/ JDK7 오라클 JDK7 중 공개버전 사용시에는 문제 없음 공개 버전이 아닌 경우 JDK8로 업그레이드 또는 JDK7 공개 버전으로 교체 사용...
2018-11-19
* 이 글은 11월 22일 있을 JetBrains Day 서울 2018 행사 에서 발표할 내용 준비과정에서 쓴 글로 필자가 발표할 내용과 연관이 있습니다. 필자는 4차 산업 혁명 시대가 무슨 말인지 잘 모릅니다. 사실 알고 싶지도 않은 표현인데, 명색이 신문인데 삼성, 4차 산업혁명시대 '일하는 방식' 바꾼다 라고 제목을 붙여놓고, 내용은 고작 독일산 솔루션 업그레이드 과정에서 데이터베이스 교체를 대서특필하는 기사 때문입니다. 수천억의 엄청난 투자가 이뤄지는데 기사 내용은 순전히 외산 솔루션 도입에 대한 이야기를 하면서 뭐가 4차산업이라고 주장하는 걸까요? 기울어진 언론환경에서 제 글 하나가 개선을 불러오지는 못하겠지만, 균형을 잡는 작은 행동이라도 하나 하려고 글을 씁니다....
2018-11-17
JPA Java Persistence API 는 엔티티에 변경이 일어나면 이를 감지하여 자동으로 데이터베이스에 반영한다. 이런 특징에 익숙지 않은 상태에서 스프링 데이터 Spring Data JPA 를 사용하다 보면 예상치 못한 지점에서 SQL update 구문을 보는 경우가 있다. 이 글은 JPA 변경 감지가 무엇이고 스프링 데이터 JPA와는 어떤 관계가 있는지 설명한다. JPA 변경 감지 Dirty Checking JPA는 엔티티 매니저 Entity Manager 가 엔티티를 조회/저장/삭제/수정한다. 엔티티 매니저의 API 를 살펴보면 조회(find), 저장(persist), 삭제(remove)는 제공하지만 이상하게도 수정 API는 찾아볼 수 없다. 그 이유는 엔티티 매니저가 엔티티가 변경이 일어나면 이를 자동 감지하여 데이터베이스에 반영하기 때문인데 이것을 변경 감지라고 한다. 간단한 JPA 코드로 확인해 보자....
2018-11-16
* 이 글은 11월 22일 있을 JetBrains Day 서울 2018 행사 에서 기조연설로 준비과정에서 쓴 글로 필자가 발표할 내용과 연관이 있습니다. 2년전인 2016년에 The Future of Web Apps 란 기사를 읽고 동료들에게 우리 상황을 대입해서 의견을 공유한 일이 있다. 무려 2년이 지났는데 기사 내용은 여전히 유효하고, 오히려 직업 일상과 더욱 가까워진 느낌이라 놀랐다. 그래서, 해당 내용을 재탕해서 더 많은 사람들과 공유하기로 했다. 당시는 기사 저자가 누군지 관심을 갖지 않았는데, 다시 보며...
2018-11-15
* 이 글은 11월 22일 있을 JetBrains Day 서울 2018 행사 에서 기조연설로 필자가 발표할 내용과 연관이 있습니다. 모처럼 내용이 있는 [1] IT 기사가 올라왔다. 오라클의 자바 유료화? 그 진실과 거짓 이라는 ZDNet의 기사인데, 눈에 띄는 내용은 아래 문장이다. 한 버전을 오랜 기간 유지해야 하는 수요를 위해 ‘롱텀서포트( LTS )’란 버전이 3년마다 오라클에서 출시된다. 지난 9월 출시된 오라클 JDK 11이 LTS 버전이다. <중략> 오라클은 JDK 11 버전부터 공식 바이너리 코드를 제공하고 있다. 이는 오픈...
2018-11-14
본 글은 테스트 자동화 도구로 잘 알려진 Selenium (셀레니움)을 이용하여 Java + Spring 환경에서 Web Scraping 을 구현해 본 경험에 대한 이야기 입니다....
더보기