본문 바로가기

전체 글

(116)
분석 업무라는 것이 별도로 있더라. 개발, 설계 외에도 AS-IS의 로직 흐름을 파악하는 분석이라는 업무가 별도로 있다는 것을 알았다. 규모가 있는 프로젝트에서는 분석을 담당하는 개발자가 별도로 있다고 한다. 하지만, 소규모거나 망한(?) 프로젝트에는 그런 것은 없고 개발자가 분석 및 개발을 모두 담당한다고 한다. 그러려니 했는데, 이게 의외로 분쟁의 영역이 되기도 한다고 한다. 개발 외에도 분석까지 같이 진행하면 추가적인 비용을 요구하거나, 업무 자체를 거부하는 경우도 심심찮게 있다고 한다. 이 파트는 신규 프로젝트를 개발하는 단계에는 없는 단계였다. 현실적으로 차세대 프로젝트에서 기존에 사용되는 업무가 왜 그렇게 사용되는지 정확히 알 수가 없으니 추가된 단계라고 보인다. 작업을 하다보니, 이렇게 실질적인 업무 별로 추가되는 절차가 존재..
기존 업무 외 추가 업무 요청이 들어오면 어떻게 해야하는가? 기존 업무를 진행 중, 일정에는 안 잡혀있고 소요되는 시간은 상당히 길 것으로 예상되는 업무에 대한 협조 요청이 들어온다면 어떻게 대처해야할까? 이미 작성한 서비스에 대한 수정 요구사항이 들어왔다. 단순하게 조금만 손 보면 되는 것이 아니라, 참조하는 테이블을 수정하고 업무구분에 따른 별도의 쿼리를 작성해달라는 요구였다. 그런데 문제는 해당 서비스는 이것저것 총괄하여 보여주는 통합형 서비스라서 들어있는 쿼리가 상당히 많았다. 대략 서비스 개발에만 2주일이 넘게 걸렸다. 해당 서비스 쿼리 수정은 작성에 비하면 규모는 적으나 최소한 일주일 이상은 잡아야 할 문제였다. 서비스 뿐 아니라 화면에 요구하는 전문또한 변경해야 했기 때문에 화면 - 서비스 - DB를 모두 변경해야 하는 작업이다. 문제는 해당 업무는 ..
NullPointerException은 언제 발동하는가? Null 값을 잡기 위해서 catch(NullPointerException) {} 메서드를 이용해봤지만, null 값을 제대로 잡질 못했다. 값이 null이면 발동하는 게 아니었나? 정확한 발동 조건을 찾아봤다. 실제로 try 내부 연산으로 null이 변수에 할당될 때 발동하는 것이 아니었다. null이 할당된 변수를 참조할 때 그 때 NPE가 발생하는 것이었다...! try catch를 사용할 때는 다음을 조심하자. 1. null 값을 캐치하려면 if 문을 사용하여 null 값 자체에 대한 예외를 잡자. 2. NPE는 해당 변수를 try 내부에서 할당받아서 연산하는 추가적인 문장이 있을 경우에만 발생한다!