에디터플러스 sql/plsql 템플릿 추가하기



일을 하다보면 수 많은 쿼리를 접하게 되는데 하염없이 몇 페이지나 되는 긴 쿼리들을 보고 있노라면..
그냥 일반 토드나 오라클 등의 편집기로 수정하거나 작성하는 데는 여러가지 불편함을 느낄 것이다.(완전 토나와..ㅡㅜ)
이럴 때는 에디터플러스의 편집기로 편집을 하는 것이 훨씬 수월하다.
아래에는 에디터플러스로 sql 템플릿 추가하는 방법이다.

1. 메뉴는 도구 > 기본설정 > 파일 > 설정 및 구문강조  또는
   프로젝트 > 프로젝트 관리 > 프로젝트편집 > 파일 > 설정 및 구문강조 에 있음.

2. 파일종류를 추가하고 설명에 PLSQL이라 등록한다.
   파일확장자는 추가옵션을 클릭하고 sql;prc;pks;trg;vw;fnc 이렇게 추가한다.

3. 설정 및 구문강조에서 구문파일을 선택한다. 이 때 선택되는 파일의 확장자는 .stx임
   sql/plsql이 등록된 stx를 미리 다운 받아놓는다.
   (에디트플러스 홈페이지 참조 바로가기 http://www.editplus.co.kr/javacpp.html )

4. 탭/들여쓰기를 설정한다. 기본 8로 잡혀있으므로 4로 수정

5. 확인을 누르고 확장자가 sql, prc 등등의 파일을 열어본다.

6. 이 때 구문강조 색상이 마음에 들지 않을 때에는 다시 설정 및 구문강조로 들어가서 구문강조 색상 탭에서 수정한다.

-끝-


where 1=1 은 항상 참인 조건

 

사용하는 이유는?

 - 편의성을 위해서

 - where 절은 고정적으로 넣어두고, 상황에 따라 and 절만을 추가하기 위해

   의미없는 조건절(항상 참인)을 맨 앞에 넣어주는 것.

 

예를 들어,

성별, 나이, 국적으로 사용자를 검색해야 한다면.

아래와 같은 여러가지 케이스가 나온다.

 

String sql = "select * from 사용자" ;

 if(조건)        sql = sql + " where 성별='남성' " ;

 else if(조건) sql = sql + " where 나이='20살' " ;

 else if(조건) sql = sql + " where 국적='한국' " ;

 else if(조건) sql = sql + " where 성별='남성' and 나이='20살' " ;

 else if(조건) sql = sql + " where 성별='남성' and 국적='한국' " ;

 else if(조건) sql = sql + " where 국적='한국' and 나이='20살' " ;

 else if(조건) sql = sql + " where 성별='남성' and 나이='20' and 국적='한국' " ;

 else            sql = sql + "" ;

 

 

이 때, where 1=1을 쿼리에 추가하면

조건문이 한결 간결해진다.

String sql = "select * from 사용자 where 1=1" ;

 if(조건) sql = sql + " and 성별='남성' " ;

 if(조건) sql = sql + " and 나이='20살' " ;

 if(조건) sql = sql + " and 국적='한국' " ;

[출처] [Oracle] where 1=1|작성자 치치포포

출처 : http://blog.naver.com/winter6120/220256057301

1   SSO (Single Sign On)

1.1        SSO 개요

1.1.1   SSO 정의

하나의 아이디로 여러 사이트를 이용할 수 있는 시스템으로 'single sign on'의 첫글자를 따서 SSO라고도 한다.여러 개의 사이트를 운영하는 대기업이나 인터넷 관련 기업이 각각의 회원을 통합 관리할 필요성이 생김에 따라 개발된 방식으로, 1997 IBM이 개발하였으며 우리나라에는 2000년 코리아닷컴이 처음 도입하였다이후 삼성전자() SK 등이 도입하며 활성화되어애니패스와 오케이캐쉬백·롯데타운 등 다양한 사이트와 네티그리티·다우기술 등 솔루션 공급업체도 많이 설립되었다.

개인의 경우사이트에 접속하기 위하여 아이디와 패스워드는 물론 이름·전화번호 등 개인정보를 각 사이트마다 일일이 기록해야 하던 것을 한 번의 작업으로 끝나므로 불편함이 해소되며기업에서는 회원에 대한 통합관리가 가능해 마케팅을 극대화시킬 수 있다는 장점이 있다특히 권한관리시스템(EAM)과 함께 사용할 경우 보안성과 효율성을 함께 갖춘 통합인증시스템으로 활용할 수 있어 향후 더욱 인기를 끌 것으로 전망된다

 

1.2        SSO 도입 목적

기하급수적인 인터넷 사용자의 증가와 발전으로 우리는 업무나 일상생활에서 수많은 인터넷 서비스를 접하게 되었고,이제 인터넷은 우리 생활의 필수 불가결적인 요소가 되었다.그런데 이러한 여러 인터넷 서비스들은 사용자들의 개인정보를 요구하고사용자가 이를제공해주는 경우에만 아이디를 발급하여 필요한 정보들을 얻을  있게끔 하고 있다.이와같은 이유 때문에 사용자들은  수많은 서비스들 각각에 해당하는 자신의 인증 정보를 기억해야만 하는불편함을 가지고 있다그래서 어떤 사람은 아이디와 패스워드를 따로 관리하는 목록을 만들거나 아이디와패스워드를 관리하는 소프트웨어를 사용하거나 모든 아이디와 패스워드를 하나로 통일에서 사용하는 사람도 있다.그러나 이런 현상은 보안의 관점에서 보면 상당한 취약성을 가지고 있다서비스 업체들에 제공된 개인 정보들이유출되어악용되는 문제점을 가지고 있는 것이다만일 아이디와 패스워드의 목록이 다른 사람에게노출된다면 사람이 사용하고 있는 모든 아이디와 패스워드를 변경해야 한다시스템의아이디와 패스워드의 잦은 변경은 기업의생산력을 떨어뜨리는 원인들이 되며 또한 보안상의 상당한 취약성을 가지고 있다이러한 보안상의 취약성과 생산력저하를 극복하기 위해서 싱글사인온(Single Sign On, 이하 SSO)이란 개념이 나오게 되었다.

 

예를들어 A라는 게임 포탈사이트는 게임 흥행의 성공으로 User가 폭발적으로 추가 되었고그에 따라UserDB(사용자데이터베이스)는 증가 되어야만 했습니다.기타 관리 서버등의 증설도 불가피하게 되었지요.거기에 사업 확장에 따른 B포털사이트와의 전략적 제휴까지 맺게 되어 AB라는 포탈은 성격은 다르지만 A,B어느쪽의 유저라도 A B의 서비스를 부분적으로 이용가능 하게 되었습니다
이렇듯 시스템의 규모가 커질 수록 시스템의 구조는 더욱 복잡해지고 관리하기는 더욱 힘들게 될 것입니다전문가가 아니라면 그 복잡한 구조를 이해하는 데더 어려움이 생길뿐만 아니라문제가 발생했을때 그 문제를 처리하는 과정에서도 더 많은 시간과 노력을 초래하게 만듭니다
그래서 SSO이란 하나의 솔루션이 등장한 것입니다
이러한 이슈를 중심으로
 SSO은 상품에 따라 방식에 차이가 있습니다마치 DataBase가 여러 종류 인것 처럼요.
인터넷 뱅킹하실때 
XecureWeb이란 보안 프로그램이 설치되는 걸 보신적이 있을겁니다
자물쇠모양의 프로그램이 설치 되어 오른쪽 하단 트레이에 설치 되는데 이것은 
PKI(Public key Infrastructure)란 인증 형태를 가지는 SSO이라고 볼 수 있습니다엄밀하게는 EAM(Extranet Access Management)라고 말해야 할지 모르겠지만사실상 SSO->EAM->IAM(Identify Access Management)과 같은 형태가 됩니다어떤 관점에서 바라보느냐 또는 어떤 대상을 주로 하는가가 차이랄까요
SoftForum XecureWeb의 주된 이슈는 '지금 이 계좌에 접근 할 수 있는 권한이 있는 사람은 오직 '나뿐그리고PKI방식을 통해 인증 받는다' 라는 것에 있는 것 같습니다.
보통 우리가 생각하는 session cookie의 개념으로 보면여기서는 xecureWeb이란 프로그램을 통해 Client측에 그 고유의 정보를 보관한다정도가 되겠습니다
반면 
Netegrity Siteminder의 경우는위의 XecureWeb이 하는 방식과 달리 서버측에서 Siteminder Policy Server란 정책 서버를 통해 통합 관리를 하게 됩니다.User의 인증인가정책, UserDB의 통합 등의 모든 컨트롤 역시 이 Policy Server에서 제어 합니다. Siteminder는 다양한 인증 방식을 제공하며(일반 ID/PW방식부터 지문인식에 이르기까지), 다양한 인증스키마를 웹 프로그래밍언어등과 연동해서 구현 할 수 있는 API를 제공하기도 합니다
성격과 구현 방식의 차이로 인해, XecureWeb은 주로 은행권에서 , 그리고 Siteminder Korea.com을 비롯한 대기업이나 통합포털 사이트에서 많이 적용되어 왔습니다.

 

 

1.3        SSO 구성

1.3.1 SSO 개념도


 

1.3.2  SSO 구성요소

강력한 인증 기법을 이용한 SSO 시스템에는 인증서에 의한 인증 메커니즘, LDAP 의한 접근제어  내부사용자정보관리클라이언트와 서버 간의 데이터 암호화를 위한 통신보안 기술등이 필요하다.

2  EAM (Extranet Access Management)

2.1        EAM 정의

EAM - 엑스트라넷 접근 관리 [ EAM, Extranet Access Management, -接近管理 ]

인트라넷엑스트라넷 및 일반 클라이언트/서버 환경에서 자원의 접근 인증과 이를 기반으로 자원에 대한 접근 권한을 부여관리하는 통합 인증 관리 솔루션하나의 ID와 암호 입력으로 다양한 시스템에 접근할 수 있고 각 ID에 따라 사용 권한을 차등 부여하는 통합 인증과 권한 관리 시스템이다.



 

2.2        EAM 도입 배경

사내 어플리케이션이 다양해지면서 기업의 Portal구축 증가 → 시스템별 권한 제어 필요
기업의 “정보공유마인드 확산에 따라 공개된 정보의 접근통제 요구
B2C, E-Commerce
활성화로 사용자별 접근제어

 

2.3        EAM 구조

2.3.1 구성도

 

 

 

 

2.3.2 구성요소

구성요소

설 명

Policy Manager

-사용자 인증 정책 관리

-보안 및 접근통제 정책 관리

권한관리 저장소

-사용자 정보 및 권한 정보 통합 저장 및 관리

-DB, LDAP

Agent

-EAM Server인가여부 검사접근 처리

Client

-사용자 인증 인터페이스

-EAM Server에 응용 서버 접근 권한 요청

-접근정보를 이용한 응용 서버접근

EAM Server

-보안 및 접근통제 정책 적합 여부 검증(권한 인증)

-사용자 인증

-응용서버 접근 정보 제공(token )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.4        EAM 특징 및 기능

기능

설 명

인증방식

-사용자ID와 비밀번호 인증시 암호화 기능(표준SSL지원)

-인증기관에서 발행한 인증서 사용가능

SSO

-한번의 인증으로 상이한 시스템에 접근가능

인가기능

(Authentication)

-사용자 권한에 따라 웹페이지의 개인화

-디렉토리서버의 사용자정보를 통해 응용서버 접근

모니터링 기능

-Tool에 의한 로그감사 및 리포팅 기능 제공

성능

-로그인/로그아웃인증/인가 등의 신속한 과정 수행

 

 

 

 

 

 

 

 

 


 

3  IM, IdM (Identity Management)

3.1        IM 정의

IM - 계정 관리 [ identity management, 計定管理 ]

한번의 로그인으로 다양한 시스템 혹은 인터넷 서비스를 사용할 수 있게 해주는 통합 인증(SSO)과 애플리케이션의 접근 권한 중심의 솔루션인 엑스트라넷 접근 관리(EAM)를 보다 포괄적으로 확장한 보안 솔루션이다.

3.2        IM 구조

EAM이 통합인증(SSO)과 애플리케이션의 접근권한 중심의 솔루션이라면여기에 보다 포괄적으로 확장된 개념이 계정관리다.
계정관리 솔루션은 고객의 요구를 반영한 기능 조합 및 확장이 가능한 솔루션으로 단순한 보안 솔루션이라기보다는 업무 프로세스를 정의하고 관리하는 인프라로써 업무효율성생산성보안성의 극대화를 통해 확실한 이익창출을 보장하는 비즈니스 툴로 정의할 수 있다.

3.3        IM 특징

3.3.1 통합 저장소
사용자 계정 정보는 애플리케이션시스템별로 흩어져 있다하지만 계정관리는 통합 저장소를 제공해 모든 애플리케이션 및 시스템 사용자의 이름아이디이메일전화번호부서 등과 함께 접근할 수 있는 애플리케이션,시스템에 대한 접근 권한 정보가 저장된다통합 저장소 정보를 통해 사용자의 인증인가가 행해진다.

3.3.2 프로비져닝
조직내에 인사 이동이나 직무 변경이 발생해 사용자가 접근하는 자원의 범주가 변경됐을 경우 프로비져닝(Provisioning)이 발생한다일반적으로 신입 사원이 입사했을 때 인사팀은 이메일그룹웨어, ERP 등 다양한 애플리케이션과 시스템 업무 담당자에게 직접 연락해 필요한 계정을 만들게 한다.

하지만 계정관리 솔루션은 각 담당자가 시스템에 접근할 필요없이 자동으로 계정을 만들어 준다벤더들은 필요한 시스템에 에이전트를 설치하고 이 기능들을 제공하고 있으며 OS부터 저장소, SAP, 로터스 노츠 등 상용 애플리케이션까지 폭넓게 적용된다.

프로비져닝 - 권한 설정 [ provisioning, 
權限設定 ]
이용자에게 계정계정 접근 권한계정 관련 권한계정 관리에 필요한 제반 자원을 제공하는 서비스 설정 과정.특히 이용자 측면에서 볼 때 하나의 서비스 형태로서통신 사업자가 이용자 회선을 적절한 네트워크에 연결하기 위해 프로그램에 의해 자동 설정하는 것과이용자가 웹 기반 인터페이스나 다른 클라이언트 인터페이스로부터 자기가 원하는 서비스를 설정하는 것이 있다

3.3.3  워크플로우
계정관리에서 워크플로우는 계정을 만들기 위한 일련의 프로세스를 정의하고 이에 따라 계정 요청이 수행되도록 하는 과정이다프로비져닝을 통해 계정을 만들 때 워크플로우에 따라 사용자에게 통보하고 담당자의 승인을 받도록 한다대부분의 벤더들은 워크플로우 프로세스 생성을 위해 GUI 형태의 디자인 프로그램을 제공한다.

3.3.4  정책 관리
누가 어느 시스템과 애플리케이션에 접근할 수 있는가하는 문제는 계정관리에서 우선 고려해야할 과제다사용자가 접근할 수 있는 서비스가 다양하고 사용자의 직무와 역할에 따라 이런 서비스가 제대로 제공되어야 한다이런 관점에서 정책관리는 각 조직의 특성에 맞는 애플리케이션과 시스템의 계정과 접근권한을 부여한다사전에 정의된 정책에 따라 프로비져닝이 발생하고 통합 저장소에 저장된 사용자의 계정과 권한을 통해 사용자에 대한 인가와 거부를 결정한다.

3.3.5  액세스 컨트롤
액세스 컨트롤은 기존의 EAM 솔루션과 동일한 기능을 수행한다고 볼 수 있다즉 프로비져닝과 워크플로우,정책관리에 의해 수립된 정보를 통해 사용자가 특정 애플리케이션이나 시스템의 자원 요청을 확인하고 조절한다.

3.3.6  감사·리포트
계정관리 솔루션은 계정의 요청승인수정 및 삭제된 감사기록을 저장한다이 과정에서 잘못된 요청중복된 인증,인가 취소 등에 대해 담당자가 필요로 할 경우 언제든 가시화된 보고서로 제공한다이 같은 감사기록을 통해 현재 진행되고 있는 정책과 향후 계획에 대해 대처할 수 있다.

3.3.7  패스워드 관리
헬프데스크 업무중 가장 많은 비중을 차지하고 있는 것은 패스워드와 관련된 부분이다패스워드 관리는 사용자 자신이 패스워드를 관리하고 여러 시스템의 패스워드를 동기화할 수 있도록 한다.

 


 

4  IAM (Identity and Access Management)

4.1        IAM 개요

4.1.1   IAM 정의
IAM - 
식별/접근 관리 [ IAM, Identity and Access Management]

ID와 패스워드를 종합적으로 관리해 주는 역할 기반의 사용자 계정 관리 솔루션. ID 도용이나 분실로 인한 보안 사고에 대비하여 보안 관리자에게는 사용자 역할에 따른 계정 관리를사용자에게는 자신의 패스워드에 대한 자체 관리 기능을 제공한다또한 시스템과 각종 자원에 대해 고객ㆍ기업 내 사용자ㆍ관리자 등의 접근을 제어할 수 있어한 번의 ID와 패스워드 입력으로 다양한 시스템에 접속할 수 있도록 싱글 사인온(SSO)이나 ID에 따라 사용 권한을 차등적으로 부여하는 엑스트라넷 접근 관리(EAM)를 확장 또는 보완한 것이다

4.1.2   IAM 성장

IAM을 이루는 구성 요소인 IdM EAM 가운데 먼저 주목받은 것은 EAM 분야다. SSO(Single Sign-On)를 중심으로 한 EAM은 보안 강화의 효과도 있지만사용자 편의성을 향상시키고생산성 향상을 가져오는 이점이 있어 빠르게 시장에서 받아들여진 것이다. SSO는 편의성과 효율성을 높이는 EAM의 이점을 극명하게 보여주는 부분이다한 번의 로그인으로 업무수행을 위해 필요한 다수의 시스템애플리케이션에 접근할 수 있게 하는SSO는 통일화되지 않은 계정관리로 각 시스템과 애플리케이션에 접근할 때마다 별개의 ID와 패스워드를 설정해야 했던 불편을 해소할 수 있는 장점으로 빠르게 시장에 받아들여졌다.

이와 달리 IdM 시장은 더딘 발걸음을 보였던 것이 사실이다. ID 라이프사이클 관리와 권한 프로필의 통합분배,동기화를 지원하는 IdM은 필요성에는 공감을 얻고 있지만이러한 공감이 실질적 수요로 연결되지는 못했으며,이에 IdM EAM을 기반으로 한 IAM의 확산을 어렵게 하는 요소가 됐다.

IdM
의 확산나아가 IAM의 확산의 걸림돌 중 하나로 꼽히는 요인은 바로 SI(System Integration) 형태로 진행돼야 한다는 점이다사용자와 사용자 인증시스템, DB, 애플리케이션기기 등을 아우르는 프레임워크인IAM SI성으로 전개돼야만 하며이러한 특성은 도입비용을 높이는 결과를 낳아 쉽게 IdM을 구축, EAM과 연계한 IAM으로의 진화를 어렵게 하고 있는 것이다

프로젝트 비용이 높다는 이러한 단점은 기초적인 계정 관리의 경우수작업으로도 가능하다는 점과 연계되면서 중소중견 기업군에서 IdM 도입을 통한 IAM 구축을 외면하는 결과로 연결되고 있다. IAM을 구축자동화된 관리를 구현함으로써 투자회수 효과를 얻을 수 있지만높은 구축 비용에 대한 부담으로 인해 쉽게 투자를 결정하지 못하고 있는 것이다.

2010
 IAM 시장의 어려움은 이를 방증한다전세계적인 금융위기의 여파로 전반적으로 IT 투자는 위축됐지만 보안 시장의 경우위협증가에 따라 고성장을 기록했다한국인터넷진흥원(KISA)이 지식정보산업협회(KISIA)와 공동으로 조사한 2010년 정보보안산업 실태조사에 따르면국내 IT 보안 시장은 2009년 대비 21.6%의 급성장을 이뤘다그러나 통합계정관리(IM/IAM) 분야는 전년 대비 2.6% 성장에 그쳤다이는 경기 위축 상황에서 높은 투자가 요구될 뿐만 아니라 기존과 같이 수작업으로 가능하다는 점에서 IdM  IAM에 대한 투자가 지연된 것이 원인으로 분석할 수 있다.

그렇지만 2011년에는 IdM, 나아가 IAM의 성장이 기대되고 있다일본 대지진리비아 사태란 변수가 존재하지만,몇 년간 미뤄졌던 투자를 더 이상 미룰 수 없는 시점이 다가오고 있을 뿐 아니라 비용효율성 향상을 위한 클라우드 컴퓨팅 환경으로의 전환이 점차 대두되고 있기 때문이다가상화를 기반으로 한 클라우드 컴퓨팅 환경에서 정교한 계정 및 접근권한 관리는 필수다다시 말해 클라우드 컴퓨팅 이슈를 발판으로 IAM의 성장을 기대할 수 있는 상황이다.

 

4.2        IAM 접근 방식

개별 시스템들이 늘어 나고 시스템의 Identity 관리 비용도 비례해서 늘어나는 상황에 직면 하면서개별 시스템들에 대한 Identity를 공동 으로 사용 하고자 하는 통합론이 대두 되었다이러한 환경은 개별 시스템이 늘어 나더라도 개별 서비스에서 Identity를 따로 관리 하지 않기 때문에 개별 시스템의 Identity 관리 비용을 혁신적으로 줄일 수 있다또한사용자가 늘어 난다고 하더라도 중앙 디렉토리에 사용자만 추가 하면 모든 시스템이 해당 사용자 정보를 참조할 수 있기 때문에 개별 시스템 별로 사용자를 추가 해야 하던 기존 관리 시스템보다 관리 비용을 혁신적으로 줄일 수 있게 된다
실제로 대부분의 유닉스OS 들은 LDAP 디렉토리에서 사용자 ID/PWD를 확인할 수 있는 서비스를 제공하고 있으며윈도우OS 는 액티브 디렉토리에서 관리 되는 사용자를 지원 한다
  
또한, SAP/Domino Notes 과 같은 ERP, 그룹 웨어들도 LDAP 디렉토리를 통해 사용자를 인증하고 사용자 정보를 얻을 수 있다
  
그러나계정 통합 만으로 모든 것이 해결 되는 것은 아니다디렉 토리에 사용자 Identity를 추가 한다는 것 만으로 개별 시스템들을 바로 사용할 수 있는 준비 작업이 완료된 것은 아니다준비 작업에 필요한 개별 시스템 관리자의 관리 비용은 여전히 그대로 유지 된다또한계정 통합을 하기 위해서 기존 시스템들을 업그레이드 해야 하고개별 시스템의 Identity를 같게 하기 위한 초기 비용도 상당 하다
  
개별 시스템을 Identity가 사용할 수 있도록 하는 일련의 작업을 프로비저닝(Provisioning)이라 한다.프로비저닝 시스템은 개별 시스템 관리자가 수행 하던 프로비저닝 관리 업무를 소프트웨어를 통해 수행 하도록 함으로써 관리 비용을 혁신적으로 줄여 준다예를 들어, Unix Shell에서 새로운 사용자를 추가할 때 관리자가adduser 라는 shell 명령을 통해 사용자 디렉토리를 만들 거나관리자가 직접 사용자 디렉토리를 만들고 권한을 부여 해야 했지만프로 비저닝 시스템을 통해서 이제 관리자는 더 이상 유닉스 명령어를 알아야 할 필요 없이 익숙한 인터페이스를 이용하여 관리 업무를 수행할 수 있다여기에 계정 통합까지 같이 이루어 진다면새로운 사용자가 계정을 가지고 해당 업무를 수행하는 환경을 제공하는데 까지 기존에 비해서 매우 큰 비용 절감이 이루어 진다.
  
이제 프로비저닝의 개념을 좀더 확장해서 아이덴티티 프로비저닝 (Identity Provisioning) Identity에게 사용이 허가된 모든 서비스를 사용 가능 하게 하는 일련의 작업들로 보자아이덴티티 프로비저닝은 개별 시스템별 단위 Provisioning 작업 들을 하나로 묶는다예를 들어홍길동이라는 사용자가 회사에 고용 되는 경우 회사는 홍길동에게 메일 계정과 그룹 웨어 계정을 제공할 수 있다홍길동이라는 사용자를 중앙 관리 툴을 이용 해서 사용자 등록을 하면이후 Identity Provisioning Process 에 의해서 자동으로 메일 계정을 만드는 프로비저닝 작업과 그룹 웨어 계정을 만드는 프로비저닝 작업이 수행될 수 있다또한홍길동에게 개발자 역할(role)을 부여하면 개발자에게 허용 되는 유닉스윈도우서버 시스템의 계정 및 홈 디렉토리를 자동으로 생성하는 프로비저닝 작업이 수행될 수 있다이와 같은 경우 아이덴티티 프로비저닝은 최초 사용자 등록 시 와 개발자 역할(role) 부여시에 대한 두 개의 프로세스가 정의 될 수 있으며개별 프로세스는 각각 메일 계정 프로비저닝그룹 웨어 계정 프로비저닝(Provisioning)과 유닉스윈도우 시스템 계정 프로비저닝 작업 으로 구성 된다
개별 프로비저닝 작업들은 동시에 혹은 순서대로 이루어 질 수 있다개별 프로비저닝 작업 들 간에 아무런 연관이 없으면 동시에 이루어 질 수 있으며종속 관계가 있다면 반드시 순서대로 이루어 져야 한다예를 들어그룹웨어 계정을 만들기 전에 반드시 메일 계정이 있어야 한다는 종속 관계가 있다면 이 두 작업은 동시에 수행될 수 없고 메일 계정 작업이 먼저 선행 되어야 한다또한개별 작업들은 개별 서비스 관리자 혹은 Identity의 상급자 등에 의해 인가를 받아야만 진행이 되어야 할 수 도 있다예를 들어개발자 역할(role)을 할당했을 경우 유닉스 계정을 발급 받기 위해서는 반드시 해당 유닉스 시스템 관리자의 인가가 필요 하도록 사내 규칙이 정해져 있을 수 있다.또는개별 작업 수행에 대한 Identity 상급자에게 사후 결과 통보가 필요할 수 도 있다아이덴티티의 프로세스 워크 플로우(Workflow)는 프로비저닝 작업들의 수행 순서승인거부통보 등의 절차를 정의하고정의된 플로우에 따라 프로세스가 진행될 수 있도록 하는 시스템이다아이덴티티 프로비저닝의 프로세스 워크플로우 시스템은 개별 프로비저닝 작업들이 순서대로 수행될 수 있도록 해주며승인 절차를 통해 시스템 관리의 권한과 책임을 부여하면서도 관리 비용은 최소화 하도록 해준다.


 

5 SSO, EAM, IM, IAM 의 차이

최근 보안시장에서 인증(Authentication), 권한(Authorization), 관리(Administration)  3A 소프트웨어의 중요성이 점점 커지고 있다이와 관련해 올해 가장 이슈가 될 것으로 전망되는 솔루션은 계정(Identity)이다이 같은 분위기를 증명하듯 이미 해외에서는 계정관리 솔루션 강화를 위해 인수합병이 활발하게 진행되고 있으며 국내에서도 계정관리에 대한 다양한 세미나들이 개최되고 있고 몇몇 프로젝트들이 이미 성공적으로 끝마치기도 했다.
기존 직원의 아이디와 패스워드 관리 및 통합권한관리를 위한 솔루션으로 싱글 사인 온(Single Sign-On) EAM (Extranet Access Management) 등이 있었다.

 

5.1        SSO
싱글 사인 온은 한번의 로그인으로 다양한 시스템 혹은 인터넷 서비스를 사용할 수 있게 해주는 보안 솔루션이다싱글 사인 온을 사용할 경우 인증 절차를 거치지 않고도 1개의 계정만으로 다양한 시스템 및 서비스에 접속할 수 있어 사용자 편의성과 관리비용을 절감할 수 있다

5.2        EAM
EAM
은 가트너 그룹에서 정의한 용어로써 싱글 사인 온과 사용자의 인증을 관리하고 애플리케이션이나 데이터에 대한 사용자 접근을 결정하는 기업 내 정책을 구현하는 단일화된 메카니즘을 제공하는 솔루션을 말한다.
EAM
이 통합인증(SSO)과 애플리케이션의 접근권한 중심의 솔루션이라면여기에 보다 포괄적으로 확장된 개념이 계정관리다.

5.3        IM
계정관리 솔루션(IM)은 고객의 요구를 반영한 기능 조합 및 확장이 가능한 솔루션으로 단순한 보안 솔루션이라기보다는 업무 프로세스를 정의하고 관리하는 인프라로써 업무효율성생산성보안성의 극대화를 통해 확실한 이익창출을 보장하는 비즈니스 툴로 정의할 수 있다

5.4        IAM
IAM(Identity Access Management)
은 글자 그대로 계정과 접근권한을 관리한다는 개념의 솔루션이다. IAM은 크게 계정관리(IdM : Identity Management)와 접근관리(EAM : Enterprise Access Management)로 나눌 수 있으며최근에는 컴플라이언스 이슈의 대두로 감사/보고서가 중시되면서 누가언제어떤 데이터를 활용할 수 있는지를 알게 하는 기반이 되는 IAM의 중요성이 보다 높아지고 있다


 

6  EP (Enterprise Portal)

6.1        EP 개요

6.1.1  EP 정의
경영자종업원공급사파트너고객등이 유무선방식의 Web 인터페이스를 통하여, SSO (Single Sign-On)방식으로 기업내·외의 정보와 가치사슬내의 프로세스 및 Transaction에 접근함으로써 목적에 맞는 업무를 처리하도록 해주는 정보시스템

단일화 된 창구를 통하여 기업 내/외부의 정보를 개인화 된 정보로 활용할 수 있는 포털시스템

6.1.2  EP 도입 목적

기업 내에 다양하게 도입된 정보시스템들의 통합 View를 제공하여 정보활용 극대화를 꾀함
철저한 사용자 편의성 위주로 구축함으로써 정보시스템 활용성을 높임

 

 

6.2        EP 구성

6.2.1  EP 개념도

 

6.2.2 EP 기능 구성도



 

6.2.3   EP 주요기능

구분

내용

요구기술

통합

/외부Application들간의수직/수평적유연한통합제공

단일화면에서모든정보의조회가가능

EAI,데이터통합기술

보안

SSO지원침입차단및탐지보안과 인증권한기반Application 접속

단일ID, Password 를통한편리한접근

접근 SSO, PKI

개인화

개인및조직에종속적인 Personalization 지원

다양한정보를개인화된View를통해 얻을수있는기능

 Publishing을 통해모두가공유할 수 있는정보를자유롭게 제공

Widget, X-Internet, RIA

검색

문서컨텐츠및정형비정형정보의 효율적검색기능지원

Full-text 검색엔진에의한정보의 수집과카테고리분류

검색엔진, Agent, ECM

협업

개인의경험지식을다른사람과 공유할수있는작업공간제공

P2P, 메신저

 

6.2.4   EP 유형

구 분

  

EIP

Enterprise Information Portal

기업내.외부정보를기업구성원이 접근할수있는단일창구기능제공

ECP

Enterprise Collaboration Portal

기업구성원간협업컴퓨팅지원

EEP

Enterprise Expert Portal

관심사및전문성에기반한사람과 사람을연결

EKP

Enterprise Knowledge Portal (EIP+ECP+EEP)

업무특성에따른개인화된지식제공

6.3        EP 도입절차

 

  

  

주 요 사 항

환경분석

경영환경분석

/외부경영환경분석

핵심성공요소및정보요구사항을 도출

정보기술분석

정보기술의향후발전방향 파악

정보기술의활용가능성정의

현황분석

업무프로세스분석

지식의생성축적활용등의 지식 프로세스 분석

포탈과연계할대상업무의처리 흐름 분석

Application 통합범위를 고려

정보시스템분석

기술기반구조분석

- Application, 데이터베이스 보안네트워크 등

포탈구축을위한정보시스템 문제점 및 개선방향 도출

요구사항정의및

선진사벤치마킹

사용자의요구사항과개선과제 도출

포탈도입한선진사례연구 및 분석

비전수립

포탈도입목적및 목표

기업의EP 도입목적역할 및 임무를 설정

핵심성공요소및정보요구사항을 도출

구축원칙설정

포탈구축및 설계기본원칙 정의

포탈에적용할기술요건정보관리 전략 수립

솔루션선정

솔루션선정과정

솔루션선정절차(Prototyping 여부 등), 선정기준,솔루션평가솔루션결과등

포탈주요대상솔루션

통합검색, CMS(컨텐츠관리시스템),EAM(통합인증권한관리솔루션), PKI(공개키기반구조

도입효과분석

정성적효과분석

임직원비즈니스파트너고객의효과:임직원계층별분석(CEO, CIO, 관리자등)

정량적효과분석

정보기술자산에대한 활용과시스템에대한투자대비효과분석(ROI분석)

BSC에근거한효과분석

실행계획

단계별실행계획

EP 단계별추진일정및 소요자원계획구현의우선순위설정

단계별투자예산변화관리(홍보교육등일정계획

 

 

 

 

 

 

6.4        EP 구축시 고려사항

6.4.1  전략과비전

조직의장기적인IT 비전과전략을고려

조직의요구사항에대한면밀한파악

6.4.2  컨텐츠와서비스
제공할컨텐츠와서비스를누구에게어떻게 제공할것 인지에대한고려

6.4.3  보안측면
연계방법권한관리수행여부, SSO 연계방식에대해보안과사용자편의성모두고려

6.4.4  변화관리 
변화에대한저항을최소화하기위한방법준비

6.4.5  접근방법
- EP 
구축은유연성을가지고단계별로적용을추진하는방법이바람직함
- EP 
구축은패키지제품이아닌각기업의경영환경에적합한요구사항을도출하고최적해야함
최신의정보와기술방향을적용하여정보수집과분석/활용에대한유연성확보필요
다양한사용자(고객파트너내부직원등)를고려한보안측면의이슈에대응
기업의비전과전략을공유하고다양한경영환경의극복과문제해결을위한도구로인식
- EP 
도입을위한전문적인서비스지원팀선정필요
기업에EP 적용을위해벤더를선정시벤더와제품을면밀히파악하여선정하여야함

 

6.5        EP 도입 효과

구분

 추진 목 표

기대효과

CEO

OLAP 기능을통한신속한의사결정

e-Biz 촉진으로경영혁신가속화

사내/외통합된포탈로임원정보시스템 활용극대화

EP를통한전략적통합으로경영목표달성

CIO

전략적목표와정보기술의일치화

e-Biz 정책의리더로서EP에의한IT 통합추진

대내외정보채널확보

변화하는고객니즈에신속한서비스제공

시스템확장에따른안정성보장

포탈에대한체계적평가및관리용이

관리자

기간시스템과의연계로임직원의정보활용극대화

프로세스혁신및통합을통한업무생산성향상

시스템확장에따른안정성보장

e-Business에 맞는 선진업무프로세스확립

End-User

개인화된정보서비스

업무표준화및 합리화를 통한효율성 증대

커뮤니티를통한동호회운영

포탈Workplace의제공으로업무생산성향상

Collaboration

One-Stop 작업을 통해 고부가가치 업무에 집중

비즈니스

업무처리에따른리드타임감소

EP를통한비즈니스파트너간긴밀한관계구축

파트너

EC (B2B, B2C) 지원

포탈을 통한 신속한 업무처리 수행



7 TIM (Tivoli Identity Management)

7.1        TIM 소개
보안 관리를 위한 Tivoli의 핵심 보안관리 어플리케이션인 IBM Tivoli Identity Manager는 하나의 자동화 된 안전한 방법을 제공하여 이질적인 분산 통신망에서 사용자 및 시스템을 관리하게 됩니다.

시스템 관리자에게 중앙 제어기능을 부여하도록 설계된 IBM Tivoli Identity Manager(TIM)는 정책 기반의 관리, TIM 컴포넌트 간의 암호화된 통신안전한 권한 위임과 플랫폼에 독립적인 사용자 인터페이스 등 필적할 수 없는 수준의 보안과 제어를 제공합니다계정을 사용하고 있는 기업 내 IT 자산들을 서비스로 등록하여미리 정의된Provisioning Policy 를 따라 대상 시스템의 계정을 관리하게 됩니다.
IBM TIM
의 핵심 기능이라고 할 수 있는 Provisioning policy에는 다음과 같은 기능들이 정의되어 있어 허가된 서비스에만 변경사항을 적용하고변경사항 적용 전 필요한 사전 승인 등의 작업을 통제하게 됩니다.


7.2        TIM 특징

7.2.1  Role Based Access Control (RBAC)
계층적으로 구성된 Organization 안에 Organization Role을 정의합니다. Organization Role IBM TIM 관리대상 시스템 별로 접근할 수 있는 사용자/그룹을 정의하고 있습니다 Organization Role Provisioning Policy에 적용 함으로서 Provisioning Policy를 통해 사용자 계정 생성 대상이 되는 시스템을 선택할 수 있습니다이때 IBM TIM서비스에 사용자 계정이 생성/변경되는 과정에서 필요한 관리자 승인 등의 작업을 workflow 엔진을 통해 IBM TIM서비스에 정의 함으로서 자동으로 적용하게 됩니다.

7.2.2  Provisioning Policy
Provision 
서비스는 IBM TIM의 핵심 서비스로서 IBM TIM 서비스로 정의된 계정관리 대상 시스템에 대해 어떤 사용자/그룹이 접근권한을 가지고 계정이 생성되어야 하는지에 대한 정책과실제 계정이 만들어 지는 프로세스를 정의하고 있습니다이를 위해 Organization Role, ITIM Service(계정 관리대상 서버), Workflow가 우선적으로 정의되어야 합니다. Organization Role Provisioning Policy에 적용함으로서 사용자 계정 생성 대상이 되는membership을 정의할 수 있고, Workflow 엔진을 통해 계정생성/변경에 따른 관리자 승인등의 작업을 자동으로 적용하게 됩니다.

7.2.3  Workflow
Workflow
란 사용자 계정 생성/변경 등의 요청이 발생했을 때 이를 처리하기 위한 승인/거부/시스템 반영 등의 작업을 정의한 프로세스입니다사용자 계정관리를 승인해야 하는 관리자는 e-mail을 통해 승인요청을 통보 받을 수 있으며 관리자는 IBM TIM 서버에 로긴 하여 계정관리 요청을 승인/거부할 수 있습니다이후 프로세스는 Workflow에 정의된 흐름을 따라가게 됩니다.

7.2.4  User Self-Service
사용자는 IBM TIM 콘솔을 통해 자신의 정보를 수정할 수 있으며 시스템 별 패스워드 변경패스워드 분실 시 질문/답에 대한 항목 작성 등의 작업을 할 수 있습니다이러한 기능을 통해 사용자의 정보관리 기능을 강화시킬 수 있고 계정관리자의 업무로드가 격감됩니다.

7.2.5  Reconciliation
IBM TIM 
서버에서 요청된 사용자 계정관련 변경사항을 IBM TIM 서비스(관리대상 시스템)에 반영하고역으로 관리대상 시스템에 직접적인 변경이 이루어진 경우 이를 IBM TIM 디렉터리에 반영하는 작업을 합니다. Reconciliation 작업 후 사용자 계정 정보가 일치하지 않는 경우 orphan 계정으로 정의합니다.

7.2.6  보고서 기능
IBM TIM 
서버는 시간대 별로 사용자 계정 생성/삭제 작업사용자 계정 관리작업 요청현황승인 및 반송 현황, reconciliation 작업현황 등에 대한 보고서를 제공합니다

 

7.3        TIM 데이터 객체 관계


 

8 LDAP (Lightweight Directory Access Protocol)

8.1        LDAP 개요

8.1.1   기존 사용자 인증의 문제점
개별 시스템별로 개별 애플리케이션별로 사용자 정보를 관리합니다그래서 제대로 계정 관리도 안되고 패스워드 관리도 안됩니다.
DBMS
를 이용하는 경우 replcation 을 별도로 설정해야 하는 문제가 있습니다.

8.1.2  LDAP의 장점
LDAP
은 표준프로토콜이며 다양한 프로그램 및 장비에서 지원합니다.
그래서 사용자 인증 또는 사용자 정보가 필요한 프로그램에서 손쉽게 연동할 수 있습니다.
replication 
 DBMS에 비해서 상대적으로 쉽습니다. multi master도 지원을 합니다.

8.1.3  LDAP을 지원하는 다양한 프로그램
일단 LDAP쪽에 사용자 아이디와 비밀번호 및 기타 정보가 있으면 다양한 프로그램에서 연동을 하여 사용을 할 수 있습니다.
다양한 프로그램이란 : OS 계정각종 이메일 프로그램의 주소록, apache, svn, VPN, 네트워크 장비(네트워크 장비의 경우 RADIUS 같은 것을 통하여 연결되는 것으로 알고 있습니다), 원격접속콘솔(Drac), 메신저게시판, DNS서버의 백엔드, /etc/hosts, 기타
사용자 인증이 필요한 프로그램이나 장비의 경우는 거의 대부분 LDAP을 지원합니다하다못해 해외에서 개발되는 오픈소스 게시판을 보면 ldap을 지원합니다.

8.1.4  LDAP과 리눅스 OS 계정 관리
리눅스 OS LDAP과 연동하여 일반 사용자 계정 관리
이 부분은 NIS를 이용하되 사용자 정보는 LDAP을 이용하는 것입니다제가 위에 글을 적었던 것도 이 방식이구요. openldap에서 특정 호스트나 사용자를 지정하여 시스템 접속 계정을 관리할 수 있습니다그렇지만 이 방식의 경우는 ldap을 통한 호스트사용자별 접근 제한하는 것이 편리하지 않습니다.
또한 LDAP 서버가 죽으면 LDAP에 있는 계정으로는 로그인을 하지 못하는 문제가 있습니다.

사용자 정보는 LDAP을 이용하되 각 시스템 계정은 별도로 관리 (각 시스템에 접속하기 위한 게이트웨이 서버 구축시 유용)
이 부분은 실제 LDAP과 연관이 된다기 보다는 게이트웨이 서버 구축과 연관된 부분인데요.
사용자 계정은 LDAP에 넣습니다그렇지만 보안을 위해서 각 서버에 직접 접속하는 것이 아니라 게이트웨이 서버를 통해서 접속하도록 합니다.
게이트웨이 서버는 jail, chroot 기능을 위해서 보안을 강화를 하구요.
ldap
에서 업데이트가 있는 경우 스크립트 등을 통하여 게이트웨이 서버에 해당 계정 정보를 변경합니다.
http://linux.die.net/man/5/slapd-perl 이런 것을 쓰면 ldap 에서 특정 작업이 있을 경우 perl 스크립트를 실행하여 원하는 작업을 할 수 있습니다
게이트웨이를 제외한 다른 시스템은 모든 사용자 계정이 있을 필요가 없습니다.
그래서 각 시스템은 admin1, admin2, admin3 등으로 사용자 계정을 만들고(puppet 으로 관리각 사용자별로sudo를 통하여 실행할 수 있는 명령을 제한합니다각 시스템도 용도별로 또는 접근권한별로 구분을 합니다.
그러면 예를 들어 웹서버 호스트 그룹에 taejoon 이라는 사용자는 admin3 권한을 가진다고 지정합니다이 정보도ldap에 넣을 수 있고 별도 db에 넣고 관리를 합니다.
이 경우 ldap 서버가 문제가 생겨도 사용자는 게이트웨이 서버에 ssh로 접속할 수 있고 각 시스템별로 접근하는 것은 호스트 그룹별사용자별로 제어가 가능합니다.
글로벌을 고려하는 경우 ldap replication 을 이용하면 되므로 필요한 경우 ldap slave 역할을 하는 게이트웨이 서버만 계속 추가하면 됩니다.
리눅스에서 NIS기능을 이용하여 처리하려고 하는 경우는 여러가지 면에서 막히는 것이 많은데 지금 방식대로 하면 보안도 강화하고 사용자별로호스트그룹별로 좀 더 상세한 접근제어가 가능합니다.

8.1.5  OpenLDAP, Active Directory
기존에 이미 AD로 사내 인프라 구축이 된 경우가 많을 것입니다일반적인 LDAP 연동이라면 AD를 이용하여 모두 처리할 수 있습니다그렇지만 위의 게이트웨이 서버구축의 경우처럼 스키마를 수정하고 부가기능을 사용하려면AD를 사용하기가 쉽지는 않을 것입니다.
이런 경우는 AD와 다른 LDAP서버와의 동기화를 생각해 볼 수 있을 듯 합니다.
질의가 많지 않으면 openldap 서버의 multi-master, replication 으로도 모두 처리가 가능한데 질의가 많은 경우openldap 서버는 문제가 생긴다고 합니다.
저는 아직 이런 경우가 없었지만 그 경우에는 다른 오픈소스로 된 ldap 서버 이용하시면 됩니다.

 정책
모든 사용자 정보는 ldap에 저장한다
인증이 필요한 애플리케이션의 경우는 ldap에서 사용자 계정비밀번호그룹 등의 질의를 한다각 애플리케이션에서 개별적으로 사용자 인증 정보를 구축하지 않는다. (단 사용자나 그룹별 상세한 acl 설정 등은 각 app에서 처리해야 함. LDAP 스키마를 확장해서 특정 필드를 추가하여 사용할 수는 있음)
- LDAP 
사용여부와 관계없이 전체 시스템의 uid, gid는 통일해서 사용한다. (puppet 같은 툴 이용)


출처 : http://androphil.tistory.com/593



※ 잘못된 지식이 있을 수도 있겠지만, 얼마전에 동기에게 도움을 줘서 에러를 해결한 기억이 있어 관련내용까지 정리하여 한번 남겨봅니다. 내용은 수시로 수정/보완 됩니다. 참고로 저의 경우엔 이클립스 내에서 간단하게 서버를 돌려서 간단하게 학습합니다... 그니까... 그게, 서버관련 아는 것이 없어서 그렇게 합니다;;; 추가로 제가 잘 사용하는 이클립스 단축키도 포스팅 합니다. (관련 조언이나.. 피드백 있으면 저는 잘 받아 먹습니다 ^^ 개인 블로그에 남겨 주셔도 찾아가서 잘 먹습니다. ㅎㅎ)


ps. 현 포스팅은 웹 영역에 편중되어 있는 포스팅 입니다.




** 제가 자주 사용하는 단축키 입니다.

ctrl + alt + h 메소드에 커서를 위치시키고 사용하면 해당 메소드를 호출한 곳을 알려줍니다. (얼마전에 회사 대리님 말씀 몰래 듣고 알았는데 아주 유용해요)

* ctrl + shift + i 디버깅시에 커서를 위치시키고 사용하면 인자값을 알려줍니다. (얼마전에 회사 과장님께서 쓰시길래.. 여쭤봐서 알았는데.. 역시 유용할 듯!)

ctrl + alt + a 여러 행에 같은 문자나 코드를 삽입하거나 뺄때 아주 유용합니다.

alt + ← ctrl + click으로 editor 탭을 이동하였을때, 본래 위치로 돌아오기 위해 사용합니다.

ctrl + shift + r 파일의 이름을 입력하여 파일을 찾기 위해 사용합니다.

ctrl + e 열려 있는 탭이 많을 때, 한번에 원하는 탭을 찾기 위해 씁니다. shift를 추가하면 팝업으로 목록이 뜹니다.

ctrl + w 열려있는 탭을 닫을 때 씁니다. shift를 추가하면 전체 탭이 닫힙니다. (저장을 한 후에 사용하는 버릇이 있어야 실수 없겠죠?)

shift + enter 행에서 커서의 위치가 어디든 다음 행을 추가하고 다음 행으로 커서를 이동시킵니다.

ctrl + shift + f 외부 코드를 붙여넣기 한 후에, 탭을 자동으로 맞추기 위해 씁니다. (다른 코드들도 흐트러질 수 있으니 짧거나 간단한 코드에 사용하곤 합니다.

ctrl + ←/→ 다들 아시다시피 기본 단축키 입니다. 하지만 이클립스에서(만?) 쓰면 정말 유용하더라구요. 변수명을 쓸때, 첫 스펠링은 소문자로 쓰고 이어쓴 다음 단어는 대문자로 쓰는 변수의 규칙들이 있죠? 이 단축키를 쓰면 각각의 단어 단위로 커서를 이동할 수 있습니다.

자동 완성 기능이나 ctrl+k/f, ctlr+L, ctrl+/ 등과 같은 기본 단축키는 유용하게 쓰지만 다들 아실 것 같아서 포스팅 하지 않았습니다.

이클립스 설정에 보면 이 외에 많은 단축키들이 있으니 본인에게 유용하다 생각되시는 것을 쓰시면 되겠습니다. ^^

( Window > Preferences > General > Keys )



** 워크스페이스 만든 후, 설정 (프로젝트 파일 등을 새로 생성할 때 편해서 개인적으로 쓰고 있는 방식입니다. 회사 세팅 방식과 다소 차이가 있을 수 있어요.)

1. 개발자를 위한 폰트 설정 (i, l, 1의 구분이 쉬운 폰트로 설정하는 것이 좋으며, 인터넷에서 검색하여 알아볼 것을 추천합니다.) : 전 그냥 consolas

 


2. General > Content Types 에서 UTF-8 로 변경

이하 다섯개 항목의 Default encoding에 UTF-8을 입력하고 입력할 때마다 Update를 누른다. 다른 항목은 건드리지 않습니다. (대문자!)

다섯개 항목 : CSS, HTML, JAVA Source File, JSP, JavaScript Source File

(가끔 Java Properties File도 변경하는 사람이 있는데... 우선은 그대로 둡니다. - 예로, PropEdit를 사용한다면 그대로..)

 

 


3. 코드의 라인번호를 확인하기 위하여 Show line numbers를 체크해줍니다. (이건, Editor에서 오른쪽 버튼을 누르고 바로 표시를 설정해도 됩니다.)

ps. Insert spaces for tabs은  탭을 스페이스로 삽입하는 건데... 아마도, 환경마다 탭간격이 다름을 극복하기 위해 사용되는 것 같습니다.



4. Use external Web browser를 선택하면 웹브라우져 창이 이클립스 내부가 아닌 외부에서 바로 띄워서 테스트할 수 있으므로 Use external Web browser를 선택합니다. (웹에 대한 아는게 없지만... 이클립스 내에서 띄우면 오차가 많다는건 압니다. ^^)



5. Workspace 설정의 Text file encoding에선 Other:UTF-8로 설정합니다.



ps. 아래처럼 SQL Development (Execution Plan View)에서도 UTF-8 등으로 설정 가능하지만... SQL Developer 등 툴을 사용하면 설정할 필요 없습니다.




6. Java Compiler는 레벨을 설정합니다. (자바 버전마다 맞는걸 선택해주셔야 합니다.)



7. Installed JREs에서는 JDK를 추가합니다. 체크박스에 체크되어 있는 것은 디폴드 값입니다.



8-1. Server의 Runtime Environments에선 서버환경설정을 합니다. 우선 아래와 같이 사용하려는 Apache Tomcat을 선택하여 Next를 클릭했습니다. (자바 버전에 맞게 선택하는 것이 중요합니다.) 여기선 Apache Tomcat v6.0을 우선 선택했습니다.



8-2. Next를 클릭한 후에 Apache Tomcat v6.0에 맞는 jdk를 선택해주어야 합니다. 우선 Apache Tomcat v6.0이 설치되어 있는 폴더를 Brower를 클릭하여 지정해주고 Installed JREs..를 클릭하여, jdk를 선택했습니다.



ps. 아래 표를 보시고 서로 매칭되는 버전을 잘 선택하여 환경설정 하셔야 합니다. (아파치 카탈리나 페이지에 가시면 확인 가능해요)



9. web에서 CSS, HTML, JSP 의 Encoding을 모두 UTF-8로 바꿔줍니다. (아래 그림은 CSS만 첨부한 것이구요..)




10. properties 파일을 편집하기 위한 Editor를 설치하여야 합니다. 이클립스에서는 .properties편집을 위한 Plug-In을 제공합니다. (PropEdit Plug-In : properties파일을 한글로 보게 해줍니다.) => XML 사용을 가깝게 해야합니다. 그러므로 "10"은 글 내용에서 지웁니다.


- Help -> Install New software... 에서 Add..를 클릭한 후, 아래 정보를 입력하고 OK를 누른다.

- Name : Arbitary Input

- Location : http://propedit.sourceforge.jp/eclipse/updates/


잠시후, 아래와 같은 설치 항목이 나오는데 Properties Editor를 클릭하고 Next를 눌러 설치합니다.

(Properties Editor는 영문 Properties 수정을 위한 기능이며, PropertiesEditor_Asian_NLS는 한글과 같은 아시아계 어권의 Properties 수정을 위한 기능입니다. 모두 체크합니다.)



설치 후, 아래와 같이 .Properties 파일에서 오른쪽버튼을 클릭하여 Open With에서 PropertiesEditor를 선택하면 오른쪽과 같이 한글로 표현된 것을 볼 수 있습니다.



11. Subversive SVN Team Provider 플러그인을 받습니다.


Subversive SVN Team Provider : SVN을 사용하기 위한, 팀기능 연동을 위한 플러그인 (SVN : 형상관리 도구)


어떤 이유인지 위와 같이 Collaboration에 있는 것을 설치하였으나, 오류가 나서 (9와 같은 방법으로) 아래 Location을 써서 플러그인을 받았습니다. 주소는 변경될 수 있으니, 잘 확인하세요.

Location : http://download.eclipse.org/technology/subversive/0.7/update-site/


PS. Subversive SVN Team Provider 는 Collaboration에서 받고나서 이클립스를 재부팅 하면 Subversive SVN Connectors를 선택하는 팝업이 나옵니다. 아마 SVNKit , JAVAHL 두 종류가 여러버전으로 나올텐데 각각 하나씩만 설치합니다. 버전을 타는거 같으니 낮은 버전으로 하나씩 선택하면 됩니다.



12. 10와 같은 방법으로 Subversive SVN Connectors를 받습니다.

Subversive SVN Connectors : SVN 연동 라이브러리에 해당하며 UI를 제외한 SVN연동 부분에 해당하는 플로그인


어떤 이유인지 Collaboration에 없어서, (9와 같은 방법으로) 아래 Location을 써서 플러그인을 받았습니다. 주소는 변경될 수 있으니, 잘 확인하세요.

Location : http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/


13. 프로젝트를 생성하고 SVN의 프로젝트를 공유한 후에는 Synch를 맞춘 다음 web.xml파일은 Override and update를 해줍니다.




ps. 프로퍼티스 파일 한글사용 가능 플러그인

주소 : http://propedit.sourceforge.jp/eclipse/updates

- PropertiesEditor

설정 : Preferences > General > Editors > File Association (File types : *.properties / Associated editors : PropertiesEditor(default) 선택)




[추가 : 2013.06.24]

properties와 .xml 모두 어플리케이션에서 필요한 설정을 위한 데이터를 담고 있는 파일입니다.

properties의 경우 key와 value를 이용하고

xml은 도큐먼트 타입이나 스키마에 정의된 형식에 의해 데이터를 정의 합니다. properties보다 다양한 데이터를 표시할 수 있습니다.


** dbConnectionInfo.properties

id = test

pw = test

url = localhost

 

** dbConnectionInfo.xml

<databasesInfo>

<databasesInfo name="oracle">

<id>test</id>

<pw>test</pw>

<url>localhost</url>

</databasesInfo>

<databasesInfo name="mysql">

<id>test_ko</id>

<pw>test</pw>

<url>localhost</url>

</databasesInfo>

</databasesInfo>

//xml파일 같은 경우는 dom 등을 사용해 파싱하는 부분을 만들어 객체로 변환해야 합니다.

 

이하 예시 (출처 : http://k.daum.net/qna/openknowledge/view.html?qid=40E32 )

 

 

 

 

 

[추가 : 2013.06.25]

실무 코드 찾아 보기 ::: Tag here


[추가 : 2013.07.03]

제가 사용하는 이클립스 단축키를 더 추가합니다.

alt + ↑/↓ 블록지정한 부분을 라인단위로 쉽게 이동할 수 있습니다.

ctrl + 1 에러 라인에서 누르면 여러 추천 방법들이 팝업됩니다. (연수 때 사장님께서 알려주셨는데.. 아주 유용하게 쓰고 있습니다.)

ctrl+alt + ↑/↓ 커서가 위치한 라인의 코드가 복사됩니다.


출처 : http://javafactory.tistory.com/entry/%EC%9D%B4%ED%81%B4%EB%A6%BD%EC%8A%A4-%EC%9B%8C%ED%81%AC%EC%8A%A4%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%A5%BC-%EB%A7%8C%EB%93%A0-%ED%9B%84-%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95-%EB%82%B4%EA%B0%80-%EC%9E%90%EC%A3%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%8B%A8%EC%B6%95%ED%82%A4



이렇게 설정할 경우 더이상 단일 FAT 파티션으로 포맷하십시오 라는 문구를 안들어도 된다

+ Recent posts