본문 바로가기

전체 글

[Spring/Tiles] Apache Tiles3, CSS, JS 페이지별 동적로딩 구현하기 Apache Tiles3 는 View 구성시에 템플릿을 통해서 정말 편리하게 View를 관리하게 해준다. 어떤 주소 형식인가에 따라서 반환을 어떻게 할지 등을 정할 수 있다. 이러한 Tiles 를 통해서 layout을 짯을 때 양식별로 페이지는 뿌리면서 css나 js도 동일한 형태로 할 수 없을까라는 의문을 가졌다. 답은 간단했다. 위에 보이는 소스에서 put-attribute의 name includeCSS를 layout에 가져가서 쓰면 된다. layout.jsp라는 파일이 있다고 했을 때 includeCSS의 값을 부르는 방법은 이렇게 기술하면 된다. 당연한 얘기지만 상단에 taglib에 tiles를 포함하고 진행해야한다. tiles가 들어간 한줄의 전체 형태는 아래와 같다. 더보기
[JSTL/JSP] EL 값 로드 후 비교하기 session에 사용자 정보를 담아서 메뉴 출력을 제어하려고 char 타입의 값을 비교대상으로 삼아서 el을 이용한 결과를 확인하려고 했다. char[] arrLevel = { '1', '1'}; 이런 형태로 되어 있는 값을 불러서 비교하도록 jsp에 표현했다. ${arrLevel[0] == '1'} 결과는 false가 나온다. 왜일까? 아래 링크를 보면 답이 나와있었다. EL은 따옴표('', "")로 쌓인 값을 String으로 인식하기 때문이라고 한다. 이를 해결하는 방법은 해당 값에 .charAt(0)을 취해서 반환받는 char값을 이용하면 된다. 그렇다면 떼어내면 어떻게 될까? 떼어내면 상수를 정수로 인식하고 비교대상 값이 정수가 아니라면 다른 값으로 인식한다. 형변환이 필요한 것이다. char[].. 더보기
[Spring/JSP] @Value를 이용한 properties정보 로드 보통 나는 Spring의 context에서 properties파일을 로드하도록 설정한다. 이렇게만 해두고 Controller에서 로드된 데이터를 불러오기 위해 맴버변수를 선언하고, 그위에 @Value를 기술한 뒤, 불러올 Key값을 기술했다. 결과는 안불러와졌다.. 이상하게도 해당 키값이름이 그대로 대입되어 있었다. 이유가 무엇을일까? context, 즉 Spring Framework의 문맥흐름에서 쓰려고 properties를 불러온 것때문에 상당한 문제가 있었다. 이게 좀 심각한 문제였다... 글로 알고 몸으로 못느끼고 그냥되겠거니 하는 안일한 태도가 또 한숨을 일으켰다. 프로젝트의 web.xml에 아래와 같이 기술하였다. context에 대한 xml의 위치, servlet에 대한 xml 위치가 분명히.. 더보기
[MongoDB]입력 데이터의 자료형 지정과 자료형으로 데이터 찾기 가장 크게 와닿았던 부분이 수치데이터 입력시에 자료형은 어떤걸로 들어가는지에서 시작되었다. MongoDB에서 지원하는 수치관련 자료형은 3.4 기준으로 총 4가지이다. int(32-bit integer) long(64-bit integer) double(64-bit floating-point) decimal(128-bit decimal-based floating-point) 기본값은 double로 저장된다. 때문에 어떻게 보면 불필요하게 큰 공간을 잡고 있게 되지 않을까라는 생각이 든다. 추가로 decimal은 간단하게 설명을 이해한 바로는, double보다 더욱 정확하게 표현하기 위함으로 사용된다고 한다. 실제로 자료형을 지정하여 입력해보자. 데이터 타입 생성자에 원하는 수치데이터를 넣으면 입력시에 해.. 더보기
[Java/MongoDB/Spring]데이터(Document) 입력시 _class 제거 인터넷에 떠도는 접속 MongoDB접속 방법 등을 통해서 Java MongoDB Driver 를 사용해 update, insert 등을 이용하면 Document에 내부적으로 _class가 같이 들어가게된다. 이기능을 지원하는 이유는 스키마가 애초에 없기때문에 예를 들어 같은 내용을 각기 다른 클래스의 인스턴스가 입력했을 때 어떤 것을 통해서 입력이 되었는지 분명히 하기위해 이같은 값이 들어가도록 되었다고 한다. 어떤 데이터가 정확한 프로세스로 들어갔는지 검증을 위해 이용할 수도 있지만, 정의가 확실하고 필요가 없다면 낭비되는 필드 하나가 생기는 것이다. 이를 제거하려면 아래와 같이 MongoMappingContext와 DefaultMongoTypeMapper의 설정을 변경하여 Driver에 접근하면 되겠.. 더보기
Mongo --nodb 접속시 dbpath 위치설정 (ShardingTest생성 시 오류때문에 찾게된) 이 설정은 new ShardingTest() 간 발생한 Exception에 의해 비롯된 문제 해결을 위하여 진행하였고, 설정방법에 대해서는 ShardingTest Object의 명세를 보고 알게되었다. https://api.mongodb.com/js/current/symbols/src/src_mongo_shell_shardingtest.js.html config 및 기본 실행 js 없이 접근 하다 보니 dbpath자체가 mongodb의 초기값으로 설정된다. 아래와 같은 명령어로 변경하면 이용가능하다. MongoRunner.dataPath = '자신이 정한 경로' 또안 주의할 것은 Shard 구성이 완료된 후에 mongos 접속시 mongo --nodb로 쉘접속후에 new Mongo()를 수행하여 mong.. 더보기
Acer, HP, Fujitsu BIOS 언락 패스워드 찾기 Acer, HP, Fujitsu BIOS 언락 패스워드 찾기 Acer 윈도우 태블릿을 갖고 있는데 BIOS 마스터 비밀번호를 3번 틀리면 아래 사진처럼 Unlock Password를 묻는 화면이 나타난다. 메뉴얼에서도 본적없는 이런게 나타나서 구글링 우여곡절 끝에 발견한 사이트에서 답을 구했다. http://www.tech-faq.com/how-do-i-reset-an-acer-bios-password.html 페이지 하단에 내려가보면 화면에 출력된 Key를 입력하는 곳이 있다. Unlock Password묻는 화면에서 나온 Key를 넣으면 계산해서 알려준다. 자신이 사용하는 기기의 제조사에서 제공하는 키를 입력하면 진입 성공 더보기
CentOS7 JEUS 설치하기 CentOS7 JEUS 설치하기 버전에 상관없는 지는 확신할 수 없지만, TmaxSoft가 제공하는 메뉴얼을 보고 작업했다. JDK는 설치하고자 하는 JEUS버전에 맞춰서 미리 설치해두거나, 메뉴얼을 참고하면서 설치하면 된다. JDK와 JEUS설치방법이 자세히 나와있다. 메뉴얼 위치 : TmaxTechnet(@http://technet.tmaxsoft.com/ko/front/technology/findTechnologyList.do?cmProductCode=&find_key=all&find_value=&doc_form_cd=&servic_type_cd=100,200,300,500,600&paging.page=1) 이번에도 x-window에서 다운로드 하려고한다. 사이트의 다운로드화면에 이런 내용이 나타났.. 더보기