본문 바로가기

전체보기

StringUtils 문자열 관련 클래스 매소드 정리 StringUtils □ 정의- org.apache.commons.lang.StringUtils.- 자바의 String 클래스가 제공하는 문자열 관련 기능을 강화한 클래스. □ 특징- StringUtils 클래스만으로 거의 대부분의 문자열 처리를 수행.- 파라미터 값으로 null을 주더라도 절대 NullPointException을 발생시키지 않음. (null이 입력되는 경우, 메소드에 따라 알맞은 결과를 리턴.) □ API- http://commons.apache.org/proper/commons-lang/javadocs/api-release/index.html □ 예제- 주요 method 테스트. /* StringUtilsTest.java */ package com.chocolleto.board.use.. 더보기
JAXBContext로 xml을 오브젝트로, 오브젝트를 xml로 변환하기 xml을 보다 편리하게 컨트롤할수 있는 방법을 엊그제 알았습니다. ㅜㅜJava6부터(?? )기본 기능으로 들어가 있더군요.요즘 xml을 사용하게 되어서 이것저것 알아보다 찾았습니다. JAXBContext을 사용하면 정말 편하더군요.xml을 읽어서 오브젝트로 바로 변환해주고 또한, 오브젝트에 있는 내용을 그대로 xml로 변환도 됩니다.xml파서로 읽어서 오브젝트에 설정하는(set메소드에 일일이 저장하는)작업이 없어집니다. 여기저기 샘플을 찾아보면 많은데.... 대부분 단순한 샘플들 밖에 없더군요.솔직히 복잡해지면 설명두 어렵구 소스도 늘어나서 그런것 같습니다.저두 해보니 xml이 복잡해지면 소스가 막 늘어납니다.설명하기도 힘들구요.이걸 올릴까 말까 망설이기도 했습니다.왜냐면 설명하기가 힘들어서요.^^;; .. 더보기
Spring xml bean property 정리 Spring xml bean property 정리펌 : http://jwlee1728.egloos.com/1805102일반적인 bean 선언 id : spring container 에서 유일하게 실별할수 있는 이름 class : 해당 bean의 full path id 대신 name 속성을 사용할수 있음 facotry 클래스의 getInstace 를 통한 bean 설정 factory-method : 해당 클래스의 객체를 반환해주는 메소드(singleton에서) 생성자를 통한 bean 설정 ref : reference, 즉 testDao id(혹은 name)를 갖는 bean을 생성자의 인자로 넘겨주겠다는 의미 이것 역시 위와 같은 의미 생성자에 특정 값을 넣우줄 때 10 혹은 다음과 같이 작성가능 3000 .. 더보기
[spring] spring4 어노테이션과 빈 등록 및 애플리케이션컨텍스트 설명 스프링 프로젝트를 진행하면 여러가지 어노테이션들을 볼 수 있다. @Component, @Controller, @Service, @Repository 등. 어느 상황에 위 어노테이션들이 쓰이고 각각 어떤 특징이 있는지 찾아봤다. 1. @Component 어노테이션은 자바 클래스를 스프링 빈이라고 표시하는 역할을 한다. 이 어노테이션을 사용함으로써 스프링의 component-scanning 기술이 이 클래스를 어플리케이션 컨텍스트에 빈으로 등록하게 된다. 2. @Repository 어노테이션은 DAO에 특화된 어노테이션이다. @Component 어노테이션을 써도 상관없지만, DAO 클래스들에 @Repository 어노테이션을 사용함으로써 @Component 어노테션이 가진 특성과 함께, DAO의 메소드에서 .. 더보기
DB 튜닝 - INDEX 제대로 사용하기 DB에서 INDEX 제대로 사용하기 작성자 : 김문규 최초 작성일 : 2009.5.18 데브피아에서 기가 막히게 좋은 전문가 글을 찾았습니다. 간단하게 정리해 봅니다. 인덱스를 사용하기를 기대하지만 그렇지 않은 기본적이고 대표적인 예입니다. 1. 인덱스 컬럼을 변형하여 비교할 때 BAD WHERE TO_CHAR(HIREDATE,'YYYYMMDD') = '19980518'; GOOD WHERE HIREDATE = TO_DATE('19980518') BAD WHERE SALARY + 1000 > 100000; GOOD WHERE SALARY > 100000 - 1000; 비교하는 인덱스 컬럼의 형이나 값을 변경하면 발생합니다. 이 경우에는 비교값을 변경해 주어야 인덱스를 사용하게 됩니다. 2. 비교 대상의 .. 더보기
Template Method 패턴 템플릿이란 무엇인가?템플릿이란 문자 모양으로 구멍이 뚫려있는 얇은 플라스틱 판을 말합니다.그 구멍을 따라 펜으로 그리면 손으로도 반듯한 문자를 쓸 수 있습니다.템플릿의 구멍을 보면 어떤 모양의 문자인지는 알 수 있지만, 실제로 어떤 문자가 될지는 필기구에 의해 결정됩니다.펜을 사용하면 펜으로 쓴 문자가 되고, 연필을 사용하면 연필로 쓴 문자가 됩니다.그러나 어떤 필기구를 사용해도 쓰여진 문자는 템플릿 구멍의 형태와 동일합니다. Template Method 패턴이란이번 장에서 배울 Template Method 패턴은 템플릿의 기능을 가진 패턴입니다.상위 클래스쪽에 템플릿에 해당하는 메소드가 정의되어 있고, 그 메소드의 정의 안에는 추상 메소드가 사용되고 있습니다.따라서 상위 클래스의 프로그램만 보면 추상 .. 더보기
[Linux] 파일 관리 - rm 파일/디렉토리 삭제 파일 삭제rm [option] [삭제할 파일 위치/이름] remove : 파일을 삭제한다.option :-r 디렉토리와 그 하부 파일까지 삭제 (하부파일이 있는 디렉토리는 한번에 삭제불가)-f 삭제 여부를 묻지 않고 바로 삭제-rf 삭제 여부를 묻지 않으며 하부 파일이 있는 디렉토리까지 삭제rm 명령어파일 및 디렉토리 삭제한다. rm은 remove의 약자이다.사용법rm (옵션) [삭제할 파일 명 및 디렉토리 명] option :-r : 일반 파일은 그냥 지우고 디렉토리면 디렉토리를 포함한 하위 경로와 파일 모두를 지운다.-i : 지울 것인지 확인을 한다 (y,n)-f : 물어보지 않고 지운다.-rf : 삭제 여부를 묻지 않으며 하부 파일이 있는 디렉토리까지 삭제NOTE주로 rm -rf 옵션을 쓴다.rm .. 더보기
[Ubuntu] 리눅스 프로세스 확인하기 (검색하기) 1. ps -ef | grep 프로세스 이름 사진상에서 프로세스 목록을 보면 ts3server가 존재하는것을 알 수 있다. BASHps -ef | grep 프로세스이름즉,BASH ps -ef | grep ts3 명령어를 실행하면 아래와 같이 프로세스가 표시가 된다. 만약 존재하지 않는 프로세스라면 아래와같이 표시가 되지 않는다. 2. pgrep 프로세스 이름 다른방법으로는 프로세스의 pid를 찾아주는 pgrep를 이용할 수 있겠다. 사진과 같이 pid가 뜬다면 존재하는 것이다. 3. pidof 프로세스 이름 다음으로는 pidof이다. pidof는 아쉽게도 프로세스의 이름을 모두 입력하여야 한다. 4. htoptop과 다른 htop으로 확인하는 방법이다. htop은 PageDown/Up 버튼이 유효하다.먼.. 더보기
Hyperledger 설치 사전 준비사항 Prerequisiteshttp://hyperledger-fabric.readthedocs.io/en/release-1.1/prereqs.html useradd -m -s /bin/bash hyperledgerecho "hyperledger ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/90-cloud-init-users sudo apt updatesudo apt dist-upgradeDocker install sudo apt install -y apt-transport-https ca-certificates software-properties-common curl python unzip curl -fsSL https://download.docker.com/linux/ubun.. 더보기
Hyperledger Fabric Tutorial(2) - Writing Your First Application Writing Your First Applicationhttp://hyperledger-fabric.readthedocs.io/en/latest/writefirstapp.htmlSetting up your Dev Environmentcd ~/workspace/fabric-samples cd fabcar ls docker rm -f $(docker ps -aq) docker network prune Install the clients & launch the networkunset HTTP_PROXY HTTPS_PROXY npm install ./startFabric.sh docker ps Start by installing required packages run 'npm install' Then run '.. 더보기