본문 바로가기

IT&Dev

(8)
[JAVA]HashMap을 사용하여 메뉴정보 가져오기2 지난 [JAVA]HashMap을 사용하여 메뉴정보 가져오기에 이어 수정한 내용과 추가적으로 작업한 내용이 있어 이어서 설명하고자 한다. 먼저 지난번 마지막 작업부분이었던 Vector clsList = new Vector(); for(String key : menuMap.keySet()) { if(menuMap.get(key).getMenuLwprtCnt() < 1 && StringUtil.isEmpty(menuMap.get(key).getAuthProgrmId())) { clsList.add(key); // 삭제할 key정보를 담는다. } } //삭제할 key정보를 담은 Vector를 활용하여 remove 호출 for(int i = 0; i < clsList.size(); i++) { menuMap.re..
[JAVA]HashMap을 사용하여 메뉴정보 가져오기 프로젝트를 진행하면서 기능 별 접근권한과 사용여부에 따라 메뉴 구성이 달라지고 화면에 표출하기 위해서는 지금 구조를 바꿀 필요가 있었다. 메뉴 데이터를 가공할 때 전제 조건으로, 1. 전체 메뉴에서 사용자가 가진 접근 권한이 없을 때는 표출하지 않는다. 2. 접근 권한이 없는 메뉴를 제거했을 때 하위메뉴가 없는 상위메뉴도 표출하지 않는다. 3. 상위메뉴는 하위메뉴의 갯수정보를 가지고 있다. 4. 각각의 메뉴는 자신의 정렬 순서 정보를 가지고 있다. 5. 3, 4번의 정보가 DB에 저장되어 있는데, 접근 권한이 없는 메뉴를 제거할 때마다 숫자가 달라져야 한다. 먼저 Menu 정보를 확인해보면, // 메뉴번호 private Integer menuNo; // 메뉴명 private String menuNm; /..
[jquery]금액 입력 시 콤마(,)와 "원" 표시하는 방법 프로젝트를 진행하는 도중에 사업 금액을 입력하여 관리 및 계산하는 요구사항을 받게 되었다. 간단히 사업 금액과 품목 별 금액을 입력하면 투입 인력 대비 금액을 계산하고 활용하는, 간단한 요구사항이었다. 그래서 문득 '사용자가 금액을 숫자로만 입력하되, 입력 후 3자리마다 콤마(,)와 원을 표시해주면 어떨까'라는 생각이 떠올랐다. 그래서 이번엔 jquery를 활용하여 금액 입력 시 콤마(,)와 "원" 표시하는 방법을 알아보겠다. 수주액 html의 input 영역에서 중점적으로 확인해야 할 부분이 바로 numberOnlyMinComma="true" koreanCurrency="true" 두 가지이다. 이 부분은 아래 설명할 jquery에서 어떤 input 영역에 적용할지 확인하는 부분이다. $(documen..
Hwplib와 꼬꼬마 한글 형태소 분석기를 활용한 문서 분석기 제작 먼저 라이브러리를 만들어주신 hwplib 개발자와 꼬꼬마 한글 형태소 분석 전문가 분들께 감사의 말씀을 드린다. 사내 프로젝트를 진행하다가 많은 산출물을 보거나 만들다 보니 문서 내 데이터를 추출할 수 있는 방법이 없을까 찾아보게 되었다. MS OFFICE에서 제공하는 word, excel, powerpoint 문서를 추출하는 라이브러리는 종종 사용한 적이 있지만 한글문서에 대해서는 라이브러리가 많이 있을까 궁금해서 구글에 검색을 해보았다. 다행히도 어떤 개발자분께서 오랫동안 공들여 작업하신 라이브러리가 존재하여 쉽고 간편하게 이용할 수 있었다. 개발자 분의 이야기에 따르면 한글문서 파일 구조 역시 MS word의 구조와 동일하고, 한글과 컴퓨터에서 파일 형식에 대한 개발자 가이드를 제공하여 참고하여 개..
개발환경 설정에 대한 고민 개발자로 오래 일한 건 아니지만, 경력사원으로 이직도 경험해보고 사업 투입과 여러 개발환경 속에서 다양한 경험을 하게 되니 초기 개발환경 설정에 대한 고민을 많이 하게 되었다. 그중 몇 가지 특별한 경우를 소개해보자 한다. 1. 공공기관 상주 프로젝트 수행 - 첫 직장은 공공기관 위주의 사업을 수행하는 웹개발 회사였다. 공공기관은 특성상 형식적인 보안을 중요하게 생각하기 때문에(예: 상급기관의 보안점검 등) 보안에 대한 지나친 염려를 가지고 있지만 또한 보안에 대한 완벽한 대응체계가 뜻대로 이루어지지 않은 곳이라고 생각된다. 그래서 개발 투입 시 개발 PC의 반입과 반출 절차를 요구하기도 하며 폐쇄망에서의 개발을 위해 미리 개발환경을 준비해서 들어가는 경우가 존재한다. 회사에서는 자체 개발 플랫폼을 보유..
[이클립스]오프라인 환경에서 maven 구성하는 방법 오프라인 환경에서 maven 구성하는 방법이 왜 필요한 지, 어떻게 구성하는 지 알아보자. 개발을 하다보면 종종 보안 등을 이유로 폐쇄망 환경이나 인터넷이 차단된 곳에서 개발을 해야하는 경우가 존재한다. 보통은 인터넷이 되는 곳에서 개발도구와 필요한 소스들을 사용할 PC에 준비한 뒤 개발을 진행하기도 하지만 개발을 하다보면 필요한 라이브러리가 생기기 마련이다. java spring framework + maven을 사용하여 개발을 진행한다면 크나큰 문제에 직면하게 된다. 그럴 때 maven을 오프라인 환경으로 구성하여 해결하는 방법을 소개하고자 한다. 1. 설정방법 - 먼저 이클립스와 메이븐 환경설정이 모두 준비되었다는 가정 하에 설명 위와 같이 설정하고 난 뒤 maven을 사용 중인 프로젝트에서 위와 ..
[이클립스 플러그인] Jmr Code Generator 사용법 및 리뷰 Jmr Code Generator를 활용한 소스코드 자동생성 툴에 대해 알아보자. 개발, 특히 웹개발을 하다보면 정형화된 규칙들이 존재한다. 기본적인 데이터 처리 기능인 CRUD, Create(생성), Read(읽기), Update(갱신), Delete(삭제)과 프론트 템플릿, 기타 공통 모듈 등의 규칙들이 존재하고 짧은 시간 내 많은 모듈을 만들어야 할 때 Jmr Code Generator와 같은 코드 자동생성 툴을 활용한다면 쉽고 빠르게 코드들을 생성할 수 있다. 1. 이클립스 플러그인 설치 2. Jmr파일 생성 3. 설정 내용 3. Jmr Code Generator 사용 후 느낀점 - 테이블 설계 후 기본적은 CRUD 코드 생성까지 걸리는 시간을 2시간에서 5분으로 단축시킬 수 있었다. - 물론 초..
[SPRING ERROR] Ambiguous mapping. Cannot map '***Controller' method org.springframework.beans.factory.BeanCreationException: Error creating bean with name org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping': Invocation of init method failed; nested exception java.lang.IllegalStateException: Ambiguous mapping. Cannot map '***Controller' method 문제점: Controller에 중복된 @RequestMapping이 존재하여 생기는 오류 같은 @RequestMapping이 존재한다면 어노테이션을 컨트롤러 클..