2010년 1월 28일 목요일

HTML에서 자바스크립트를 이용한 파라메터 주고받기

HTML에서 자바스크립트를 이용한 파라메터 주고받기

 

tmp = window.location;
tmp = String(tmp).split('?'); //현재창의 주소에서 ?이후의 값을 배열에 담는다.
tmp = tmp[1].split('&'); //담긴 값에서 변수별로 분리한다.
 

//확인 및 출력
for(k in tmp){
  tmp2 = tmp[k].split('=')
  eval('var ' + tmp2[0] + '=tmp2[1]');
  alert(tmp2[0] + ' ' + tmp2[1]);
}

 

다른방법은 아래와 같다.

 

 

url prameter 를 javascript 의 json (object)형태로 리턴한다. 간혹 url의 ?로 표시된 prameter를 파싱해서 사용해야할때가 있는데, 이경우 이 function을 이용하면된다. 아래 코드를 살펴보면 알겠지만, url파싱은 처음 호출시에만 하며 이후는 파싱된 object 만을 리턴한다. 이는 개발시 개발되어 테스트된 버전은 아니고, 그냥 생각나서 만들어 본 것으로 이후 버그 발견시 수정될수 있다.

  1. <script type="text/javascript">   
  2. //<![CDATA[      
  3.     /**  
  4.     * getUrlParameter  
  5.     *  
  6.     * @description : 현재 url의 ?로 표기된 parameter 리턴  
  7.     * @author      : blog.byuli.com  
  8.     * @version     : 20081115  
  9.     * @return      : parameter의 object 형태로 리턴  
  10.     */ 
  11.     var getUrlParameter = function (){  
  12.  
  13.         var ParameterObject = new Object();  
  14.         var locate = location.href;  
  15.  
  16.         if(locate.indexOf("?")==-1){  
  17.             return ParameterObject;  
  18.         }  
  19.  
  20.         var parameter = locate.split("?")[1];  
  21.         var paramAreay = parameter.split("&");  
  22.         for ( var i=0; i<paramAreay.length; i++ )  
  23.         {  
  24.             var tem = paramAreay[i].split("=");  
  25.             ParameterObject[tem[0]] = tem[1];  
  26.         }  
  27.         getUrlParameter = function () { return ParameterObject; }  
  28.         return ParameterObject;  
  29.     };  
  30.  
  31. //>]]     
  32. </script>  


사용방법은 아래와 같다. 존재하지 않는 파라메터를 콜 할경우엔 당연히 undifined를 리턴한다. 적절히 붙여 사용하면 유용하겠다.

  1. <script type="text/javascript">   
  2. //<![CDATA[    
  3.     for(var ele in getUrlParameter())  
  4.     {  
  5.         document.write(ele + " : '" + getUrlParameter()[ele] + "'<br/>");  
  6.     }  
  7.     
  8.     document.write(getUrlParameter().id + "<br/>");  
  9.  
  10. //>]]     
  11. </script>  

2010년 1월 21일 목요일

Vi 팁

vi 고급 ====

:set nu 각 행마다 행 번호를 붙여서 보여준다.
:set nonu 각 행마다 표시했던 행 번호 보이지 않게 한다.
:set all set 명령에 의해 설정된 모든 내용을 보여준다.
:map y dd y키가 dd(한줄삭제)로 동작하도록 한다.
:ab 축양형 전체문자열
:s/old/new/ 현재 행의 첫 번째 old를 new로 치환한다.
:s/old/new/g 현재 행의 모든 old를 new로 치환한다.
:s/old/new/gc 현재 행의 모든 old를 new로 치환하되 치환하기 전에 사용자의 확인을 받는다.
:%s/unix// 파일의 전체에서 unix를 삭제한다.(%s는 붙여써야 한다.)
:10 s/old/new/g 10번째 행에 있는 모든 old를 new로 치환한다.
:1, 10 s/old/new/ 파일의 첫 번째 행에서 10번째 행에서 첫 번째 나타나는 old를 new로 치환한다.
:1, 10 s/old/new/g 파일의 첫 번째 행에서 10번째 행까지의 모든 old를 new로 치환한다.
:1, $ s/old/new/g 파일의 첫 번째 행부터 마지막 행까지의 모든 old를 new로 치환한다.
:1, $ s/old/new/gc 파일의 첫 번째 행부터 마지막 행까지의 모든 old를 new로 치환하되 치환하기 전 사용자의 확인을 받는다.
:.-5,.+10 s/unix/UNIX/g 현재 행으로부터 위 5줄(.-5)에서 현재 행으로부터 아래 10줄(.+10)사이에 있는 모든 unix를 UNIX로 치환한다.
:%s/^/unix:/g 파일전체의 각 행의 첫 번째 칸에 unix:를 넣는다.
:r 파일명 현재 커서가 있는 위치에 지정된 파일을 추가시킨다.(붙인다.)
:!sh 잠시 shell로 빠져나간다.(다시 vi로 들어오려면 shell상에서 exit를 입력한다.)
:!ls -l shell명령어인 ls -l을 실행한다.
:r !ls -l shell명령어인 ls -l의 실행결과를 현재 커서가 있는 위치에 추가시킨다.
:g/old/s/old/new/g 파일의 모든 행에서 old를 찾아서 new로 치환한다.
:g/old/s//new/g
:%s/old/new/g
vi -r 파일명 vi작업도중 정전 등으로 작업내용을 잃어버렸을 경우 그 파일을 복구한다.
vi -R 파일명 파일을 읽기 모드로 연다.
vi file1 file2 file3 file1, file2, file3을 동시에 연다.
(파일간의 이동은 n, n!, e#을 사용한다.)
vi +n 파일명 파일의 n번째 행에 커서가 위치한다.
vi + 파일명 파일의 마지막 행에 커서가 위치한다.
vi +/unix 파일명 파일에서 처음 나오는 unix를 찾아 커서가 위치한다.



-------------------------------

vi 고급명령어 I

perl -pi -e 's/http(.*)html/blank.html/g' filename
vi내에서 공백으로 시작되거나, 공백 문자로 끝나는 줄에서
요런 공백들을 없애려면 다음과 같이 하세요.

:%s/^(\s*)//g -- 공백문자(\s)가 0개이상(*)으로 시작(^)되는 놈들을 없앤당~~

:%s/(\s*)$//g -- 공백문자(\s)가 0개이상(*)으로 끝나는($) 놈들을 없앤당~~
==================================================
#grep -r test /usr/local/
# grep -r test .

하시면 /usr/local 아래에 있는 파일,디렉토리 모두에서 test 가 있는 파일을 나타내 줌다.

회사명이나 도메인, 메일주소 등이 바뀌었을 때
수많은 문서파일에 적힌 내용을 모두 고치기란 쉬운 일이 아니다.
하지만 Perl을 이용하면 너무도 간단히 변경내용을 반영할 수 있다.
아래 명령은 html 확장자를 지닌 문서파일에서 "우정"이라는 문자열을 찾아 "사랑"이라는 문자열로 모두 치환하는 명령(Perl 명령행 옵션)이다.

$ perl -pi -e "s/우정/사랑/g" *.html
ex: perl -pi -e "s/211.34.60.5/suncheonedu.or.kr/g" *.html

find 명령을 이용하면 하위 경로의 문서도 일괄적으로 치환할 수 있다.
$ find . -type f -name "*.html" -exec perl -pi -e "s/우정/사랑/g" {} \;
ex: find . -type f -name "*.htm" -exec perl -pi -e "s/shift_jis/utf-8/g" {} \;

특정 문자열 찾기
find . -type f -name "*.html" -exec grep okgokms.bogo.net {} \; -print
======================================================
파일 안에 모든
http://www.yahoo.co.kr/dfdf.html
과 같은 문자열을
http://www.yahoo.co.kr/blank.html
로 바꾸시려는 것인지? 그렇다면..
:%s/\(.*\)\/\(.*\.html\)/\1\/blank.html/g
요렇게 하시면 됩니다
======================================================
: 예를 들면 파일 속에 있는 모든
: <a href=http://www.yahoo.com/test.html>test</a> 와 같은 문자열을
: <a href=http://www.yahoo.com/blank.html>test</a>
: 로 바꾼 다는 것이지요?
: 문제 없이 잘되거든요.
: 잠시 설명을 해보면...
: % s / \(.*\) \/ \(.*\.html\) / \1 \/blank.html / g
: 1 2 3 4 5 6 7 8 9 10 11
:
: 1 - 범위 (모든줄)
: 2 - substitute (변환)
: 3 - 구분자
: 4 - (.*) 모든 문자열을 그룹 1로
: 5 - URL 의 / 를 표시
: 6 - (.*.html) .html 로 끝나는 모든 문자열을 그룹 2로.
: 7 - 구분자
: 8 - 그룹 1
: 9 - /blank.html
: 10 - 구분자
: 11 - 모두 바꿈.
:
: http://www.yahoo.com/foo/bar.html
:
: 은 http://www.yahoo.com/foo 까지가 그룹1이 되고
: bar.html 이 그룹 2가 되죠.
: 위의 정규표현식에 맞춰보면... (\는 제외)
:
: s / (http://www.yahoo.com/foo) / (bar.html) /
: 2 3 4 5 6 7
: (http://www.yahoo.com/foo) /blank.html / g
: 8 9 10 11
: http://www.yahoo.com/test.html 이란걸 몽땅 blank.html 로??
: %s/http.*\.html/blank.html/g



---------------------------------------------

vi 에서 내용치환법

:1,$s/golyak/okgokms/g


/치환될내용/치환될대상/

VIM (Vi iMproved) 초보자들을 위한 절대적 지침서

 

Vim


  Vim 은 Emacs 와 더불어 리눅스 최고의 편집기라 일컫어지는 텍스트 편집기이다. Vim 에는 입력모드와 명령모드 두 가지가 있다. 입력모드는 말 그대로 입력모드로 텍스트를 입력할 수 있다. 한편 명령모드는 저장, 복사, 치환 등과 같이 여러 가지 '명령' 을 수행하는 모드 이다. Vim 을 쓰는 방법은 매우 간단하다. 그냥 터미널에서 'vi 파일명' 을 치면 된다. 예를 들어 문서 hello.c 를 편집하고 싶다면 vi hello.c 를 치면 된다. 보통 vi 는 어떠한 리눅스 배포판이여도 기본적으로 깔려 있으므로 뭐 설치는 걱정 안해도 된다.



  Vim 에는 자동 완성기능, 파일의 비교 및 병햡기능과 통합된 도움말 시스템, 확장된 정규식 표현, 스크립트 언어 (Perl, Python, Ruby, Tcl 등) 인터프리팅, gzip, bzip2, zip 등으로 압축된 파일 편집기술과 철자 체크, 창 분할, 구문강조, 유니코드 및 다국어 지원, 검색, 커서 위치기록 등과 같이 수 많은 기능을 가지고 있다. 또한 그 외에도 여러가지 플러그인 들이 상당히 유용하다. 예를 들자면 ctags, cscope, 그리고 대표적으로 taglist 까지 상당히 유용하다. 이 들은 모두 소스코드를 분석할 때 용이하게 쓰일 수 있으며 많이 애용된다. 이 들의 사용방법은 그다지 어렵지 않으므로 인터넷에 쳐 보면 쉽게 알 수 있다. 하지만 Vim 이 절대적으로 편리한 이유는 바로 마우스를 사용하지 않기 때문이다. Vim 에서는 모든 명령을 키보드로 처리하기 때문에 키보드에서 손을 떼어 마우스를 잡은 후 다시 키보드에 손을 대는 이런 귀찮은 행동을 할 필요가 사라진다.

  보통 많은 사람들이 Vim 을 그대로 사용하지 않고 여러가지 설정을 해준다. root 계정을 사용하고 있다면 vi /root/.vimrc 를 쳐서 다음과 같은 내용을 입력해준다. (물론 원하는 것만) 여기서 " 는 주석으로 꼭 입력할 필요는 없습니다.

set tabstop=2  "탭 간격을 2 칸 으로 지정한다
set shiftwidth=2 " >>나 << 사용시 들여쓰기 간격을 지정한다
set expandtab " 탭 문자를 공백문자로 변환한다.
set softtabstop=2 "탭 간격을 공백문자로 변환하면 두 칸 단위로 삭제한다
set visualbell " 사용자 실수 경고시 비프음 대산 화면을 한 번 반짝인다.
set nobackup "백업 파일을 생성하지 않는다
set cindent "C 언어 스타일의 들여쓰기를 사용합니다.
set autoindent "자동 들여쓰기를 사용합니다.
set smartindent "좀 더 지능적인 들여쓰기를 사용합니다.
set enc=euc-kr "인코딩을 한글로 지정합니다.
set incsearch
"키워드 입력시 검색하는 점진 검색을 사용합니다.  (파이어폭스서 사용)

syntax on "구문 강조기능을 사용합니다
filetype on "파일 종류에 따라 구문을 강조합니다.
set background=dark "배경색을 어두운 색으로 설정합니다.
colorscheme evening "VI 색상 테마를 evening  으로 설정합니다
set backspace=eol,start,indent
"줄의 끝, 시작, 들여쓰기서 백스페이스 사용시 이전 줄과 연결
set history=1000 " VI  편집 기록을 1000개 까지 저장합니다.
set hlsearch "검색어 강조 기능을 사용합니다.
set ignorecase "검색, 편집, 치환시 대소문자를 구분하지 않습니다.
set showmatch "() 과 {} 에서 한 괄호만 입력해도 일치하는 괄호를 보여줍니다

  Vim 을 시작하면 i 를 눌러서 편집모드로 들어갈 수 있고 Esc 나 Ctrl + [ 를 누르면 명령모드로 들어갈 수 있습니다. 명령모드에서는 앞서 말했듯이 저장, 복사, 치환 등의 행동을 할 수 있습니다. 예를들어서 명령모드서 :w 라 치면 이 파일이 저장됩니다. :q 라 치면 종료가 되며 (저장이 되어 있다면), :q! 라 치면 저장의 여부와는 상관 없이 강제 종료됩니다. 아래는 Vim 의 명령어들을 모은 표 입니다. (대부분의 명령어로 모두는 아니다. )

파일 작업시 명령어
Vim 명령어
결과
:e 파일명
새로운 파일을 연다. 커맨드 프롬프트 처럼 Tab 키를 통해 파일이름의 자동 완성 기능을 사용할 수 있다.
:w 파일명
파일을 저장한다. 만약 파일 이름을 지정하지 않는다면 그냥 원래 파일 이름으로 저장이 되고 파일 이름을 지정해 준다면 새로운 파일 이름으로 저장이 된다
:q Vim 을 종료한다. 파일을 저장하지 않았자면 종료되지 않는다.
:q! 파일의 저장에 상관없이 종료한다.
:wq 파일을 저장한 후 종료한다.
:x 위의 :wq 와 거의 같지만 여기서 파일이 저장된 이후 기록된 사항이 있으면 저장하지 않고 파일이 저장된 이후 기록된 사항이 있으면 저장하고 종료한다.
아래의 Vim 명령어는 Visual 모드, 터미널 모드 모두에서 사용 가능합니다.
Vim 명령어
결과
j or 방향키 ↑
커서를 한 칸 위로 이동
k or 방향키↓
커서를 한 칸 아래로 이동
l or 방향키 →
커서를 한 칸 오른쪽으로 이동
h or 방향키 ←
커서를 한 칸 왼쪽으로 이동
e 단어의 끝으로 이동
E 단어의 끝으로 이동
b 단어의 첫 부분으로 이동
B 단어의 첫 부분으로 이동
0 문장의 첫 부분으로 이동
^ 공백문자가 아닌 문장의 첫 부분으로 이동
$ 문장의 끝 으로 이동
H 화면의 첫번째 라인으로
M 화면의 중간 라인으로 이동
L 화면의 마지막 라인으로 이동
:n n 번째 라인으로 이동. 예를들어 :10 이면 10 번째 줄로 이동한다.
텍스트의 삽입 몇 편집
Vim 명령어
결과
i 커서 앞에 쓴다.
I 커서가 가리키는 라인의 앞에 쓴다
a 커서 뒤에 추가한다.
A 커서가 가리키는 라인의 맨 뒤에 추가한다.
o 커서가 가리키는 라인 아래에 새 라인을 추가한다.
O 커서가 가리키는 라인 위에 새 줄을 추가한다.
r 한 글자를 바꿔쓴 후 다시 명령모드로 들어간다.
R 삽입모드에 들어가지만 글자를 덧쓰면서 이미 쓰여진 글자를 지운다
ESC
삽입/수정 모드에서 빠져나온다.
텍스트 지우기
Vim 명령어
Action
x 커서가 가리키는 글자를 지운다
X 커서 앞의 글자를 지운다.
dd or :d 현재 커서가 가리키는 라인의 글자를 지운다
비주얼 모드 들어가기
Vim 명령어 결과
v 단어를 하이라이팅(Highlighting, 블록 설정) 한다. 텍스트를 하이라이팅 하기 위해서 보통의 이동 키를 사용한다.
V 현재 커서가 가리키는 라인을 하이라이팅 한다.
The ESC key 비주얼 모드에서 빠져나와 명령모드로 들어간다.
블록 텍스트 편집하기
아래의 명령어는 비주얼 모드에서 텍스트를 블록 설저한 후 명령모드로 들어와 사용할 수 있다. 물론 명령모드에서도 사용할 수 있긴 하다.
Vim 명령어 결과
~ 글자의 대소문자를 바꾼다 예를들어서 mOvL 은 MoVl 로 바뀐다. 비주얼 모드와 명령모드 둘다 사용할 수 있으며 비주얼 모드에서 블록 처리한 뒤 명령모드로 들어와 ~ 를 누르면 그 블록 설정된 부분의 대소관계가 바뀐다.
> (V) 한 칸 오른쪽으로 민다
< (V) 한 칸 왼쪽으로 민다.
c (V) 블록처리된 텍스트를 바꾼다.
y (V) 블록처리된 텍스트를 복사(yank)한다.
d (V) 블록처리된 텍스트를 잘라내기한다.
yy or :y or Y 커서가 가리키는 라인을 복사한다. 블록 처리할 필요는 엎다.
dd or :d 커서가 가리키는 라인을 삭제한다. 블록 처리할 필요는 없다.
p 복사나 잘라내기 했던 텍스트를 붙여넣기(put) 한다.
P 커서 앞에 잘라내기 했던 텍스트를 붙여 넣는다.
실행 취소 및 다시 실행
Vim 명령어 결과
u 실행 취소한다.
U 커서가 가리키고 있던 라인에서 했던 모든 실행들을 취소한다.
Ctrl + r 다시 실행한다.
Vim 명령어 결과
/pattern pattern 이란 단어를 검색한다.
n 다음 글자를 찾지만 아래방향으로 찾는다.
N 다음 글자를 찾지만 윗 방향으로 찾는다.
치환  (바꾸기)
Vim 명령어
결과
:rs/foo/bar/a foo 를 bar 로 치환환한다. r 은 치환하는 범위를 지정하고 a 는 인자를 지정한다. 아래에 r 과 a 의 종류에 대해 설명되어 있다.

범위 (r) 의 종류에는
아무것도 쓰지 않을 때
범위를 주지 않을 경우 현재 라인에서 치환한다.
숫자를 쓸 때
치환할 라인의 숫자를 쓴다.
% 전체 파일의 모든 라인에 대해 치환한다.
인자 (a)의 종류에는
g 한 라인의 모든 경우를 치환한다. 이 인자를 주지 않을 경우 처음 발견되는 것만을 치환한다.
(이 말은 g 인자를 주지 않고 Hello Hi Hello 에서 Hello bye 로 치환한다면 bye Hi bye  가 아닌 bye Hi Hello 가 된다)
i 검색된 문자들의 대소문자를 무시하고 치환한다.
(즉, hello 를 hi 로 치환시 Hello, hEllo, HELLO 등과 같은 것들도 치환된다. )
I 위 경우를 무시하지 않는다. ( 위 경우서 hello 만 치환된다 )
c 모든 치환에 대해 확인한다. 만약 치환할 것이라면 y 를, 치환하지 않을 것이라면 n 을, 이하 모든 부분을 치환할 것이라면 a 를, 치환을 종료하겠다면 q 를 누르면 된다.
예를들자면...
:452s/foo/bar/  452 번째 라인의 첫 번째 foo 를 bar 로 치환한다.
:s/foo/bar/g 현재 라인에 나타나는 모든 foo 를 bar 로 치환한다.
:%s/foo/bar/g 전체 파일의 모든 foo 를 bar 로 치환한다.
:%s/foo/bar/gi 위와 같지만 Foo, FOO, FOo, foO 와 같은 것들도 모두 치환된다.
:%s/foo/bar/gc 위위와 같지만 각 치환에 대해 모두 검사를 수행한다.
:%s/foo/bar/c 파일의 모든 라인에 대해 각 라인의 첫 번째 foo 만 bar 로 치환하며 각 치환에 대해 검사를 한다.

  Vim 에 한 번 맛들리면 영원히 손에서 뗄래야 뗄 수 없는 편집기이다. 여러분도 Vim 의 세계에 풍덩 빠졌으면 한다.
------------------------------------------------------------------------------------
명령어 표 출처 : http://www.tuxfiles.org/linuxhelp/vimcheat.html

Vi에서 ^M 지우기

vi 편집기 내에서 ^M 문자를 지우는 방법

 

:$s/^M//g

 

$ => 파일전체에서

s/ => 파일전체에서 /다음의 문자를 바꿔라

^M/ => 파일전체에서 /다음의 문자 ^M을 /다음의 문자로 바꿔라

/ => 파일전체에서 /다음의 문자 ^M을 /다음의 문자 [문자없음]으로 바꿔라

g => 옵션(각 라인의 모든 문자 대상)

 

 

이때, ^M을 입력하는 방법은

<ctrl+v><Enter>

 

^M은 CR을 의미하는 것으로 보임

단순히 "^M"으로 입력시 인식하지 못함

2010년 1월 18일 월요일

IIS 7.0 에서 GAUCE .NET 버전 셋팅하기

1. IIS 7.0 부터 PipeLine 기능이 추가되어 관리된다.

 그러므로 IIS 6.0 에서 돌아가던것을은 전부 파이프 라인을 클래식으로 바꿔 사용하여야 한다.

 

 

2. 기존 IIS 6.0 에서는 가상 디렉토리를 생성하였지만 IIS 7.0 에서는 응용프로그램으로 추가하여야 한다.

 

위와같이 설정하고 샘플을 확인해보면 동작한다.

[TUXEDO] 미들웨어 개념 및 종류

[들어가기 전에]

TUXEDO는 결혼 식때 입는 예복으로서 유명(?) 하지만, IT 업계에서는 미들웨어 제품으로서 유명하지요^^. TUXEDO는 미들웨어 제품 중에서도 TP-Monitor 계열에 속하는 시스템 소프트웨어입니다. 그러므로 TUXEDO를 이해하기 위해서는 미들웨어 개념과 미들웨어 종류에 대해서 먼저 이해를 하셔야 합니다.

 

[1] 미들웨어 개념 및 종류

 

ㅇ 개 념

: 일반적으로 미들웨어란 개념은 의미상 뿐만 아니라, 기능, 제품 등을 고려할때, 광범위하다. 굳이 개념상 정리를 하자고 하면, 미들웨어란 “클라이언트와 서버 간의 통신을 담당하는 시스템 소프트웨어 또는 컴퓨터와 컴퓨터의 연결을 담당하는 시스템 소프트웨어”. 용어로서의 의미는 “Middle(중간)과 Ware(소프트웨어)”의 합성어이다.

 

ㅇ 종 류

(1) 데이터베이스 미들웨어

: 데이터 베이스 벤더에서 제공하는 소프트웨어로서 클라이언트에서 원격의 데이터 베이스와 연결하기 위한 미들웨어이다. 실제 광범위한 의미에서 미들웨어라고 하지만, 단순히 원격에 있는 데이터베이스를 접근할 수 있도록 중계해주는 제품이라고 할 수 있고, 이 제품을 사용하여 시스템을 구축하는 경우에 보통 2-티어 아키텍쳐라고 한다.

[예] 오라클의 Sql*Net, IBM 인포믹스의 I*Net, ODBC 드라이버 등

 

(2) RPC(Remote Procedure Call) 미들웨어

: 원격 프로시져를 마치 로컬 프로시져처럼 호출하는 방식의 미들웨어이다.

[예] DCE RPC, 엔테라(RPC 기반에서 발전된 형태임) 등

[참고] 가트너 자료에 의하면, 시장에서 점유율이 거의 없는 미들웨어 임. 엔테라 제품은 외국에서는 End-Of-Life  되었고, 국내 공급회사에서 소스 판권을 사서 새로운 운영체제에 포팅만 하는 상태이다.(기능 보강은 거의 되고 있지 않음)

 

(3) MOM(Message Oriented Middleware) 미들웨어

: 주로 비동기형 메시지 처리를 전달하는 방식의 미들웨어이다. 온라인 업무에 사용되기 보다는 이 기종 분산 데이터 시스템의 데이터 동기를 위해 많이 사용되고 있다.

[예] IBM MQ시리즈, BEA Message Q, J2EE의 JMS 기반 제품 등

[참고] 현재 IBM MQ 제품이 시장 점유율에서 가장 높고, 향후 시장에서는 J2EE의 JMS 기반의 제품 들과 경쟁관계가 될 것 같다.

 

(4) TP-모니터 미들웨어

: 온-라인 트랜잭션 업무(은행 계정, 항공기/버스 예약 업무 등)에서 트랜잭션을 처리, 감시하는 미들웨어이다. 사용자 수가 증가하여도 빠른 응답 속도를 유지해야 하는 OLTP 성의 업무에 적합하다.

[예] BEA TUXEDO, BEA TOPEND, IBM TxSeries, 대만 CS Talk 등

[참고] 현재 BEA Tuxedo가 전세계 시장 점유율이 가장 높고, 향후에는 TP 기능을 가지고 있는 J2EE 기반의 WAS 제품들과 경쟁관계가 예상 됨

 

(5) ORB(Object Request Broker) 미들웨어

: 객체 지향 미들웨어. 코바(CORBA) 표준 스펙을 구현한 미들웨어이다. 최근에는 TP-모니터가 가지고 있는 장점(트랜잭션 처리, 모니터링 등)을 추가로 구현하고 있다.

[예] IONA Orbix, Borland VisiBroker, BEA TUXEDO 8.0 이상 CORBA 엔진 등

[참고] 현재 IONA Orbix제품의 시장 점유율이 가장 높음. 객체 지향 미들웨어로서 J2EE기반의 WAS 제품에 경쟁에서 밀리고 있고, WAS 미들웨어에서 CORBA를 지원함으로써 점유율이 낮아지고 있는 상태이다

 

(6) WAS(Web Application Server) 미들웨어

: 클라이언트/서버 환경 보다는 웹 환경을 구현하기 위한 미들웨어이다. Web Application Server는 HTTP 세션 처리를 위한 웹서버 기능 뿐만 아니라, TP 기능을 보강하여, 미션-크리티컬한 기업 업무까지 자바, EJB 컴포넌트 기반으로 구현 가능하게 해주는 미들웨어이다.

[예] BEA WebLogic, IBM WebSphere, Oracle 9iAS, SUN iPlanet 등

[참고] 미들웨어에서 가장 각광받고 있는 제품들이고, 향후 지속적인 성장이 예상되고 있고, 기존에 기업의 소규모 업무에서 향후에는 대규모, 미션 크리티컬한 업무 까지도 적용되고 있는 추세이다.

[출처블로그] 선물=Present=현재 / 푸른하늘(whiteyikim)

[출처카페] http://cafe.naver.com/itpeople.cafe

2010년 1월 13일 수요일

[Bind/Tip] 바인딩 처리시 데이터셋속성과 연동시 readOnly/Disable 설정법

데이터셋과 각 HTML/Gauce 오브젝트 바인딩시에 데이터셋의 컬럼 프로퍼티가 KeyValue 타입일때
 
바인딩시에 Edit가 안되도록 하는 방법은 아래와 같다. (readonly설정)
 
EmEdit의 경우 Disable=readOnly로 주면 되고,
   <C>Col=Partno  Ctrl=sMxEm Param=text   Disable=readonly</C>
 
Input type=text타입인 경우에도 Disable=readonly로 주면 된다.
   <C>Col=Partno     Ctrl=oInput        Param=value   Disable=readonly</C>
 
 
바인딩시에 Disable로 설정하는 경우는 아래와 같다.
 
EmEdit의 경우에는 Enable=Enable로 주면 되고,
   <C>Col=Partno  Ctrl=sMxEm Param=text   Enable=Enable</C>
 
Input type=text타입인 경우에는 Disable=disabled로 주면 된다.
   <C>Col=Partno     Ctrl=oInput        Param=value   Disable=disabled</C>
 
 
이상~~~ 끝~~~~~~~~~~



출저 : http://rogerrb.textcube.com/32

IE8에서 디버깅 안될시의 처리

Visual Studio 2005에서 ActiveX Band Objet 등을 디버깅하기 위해 IE8 프로세스를 디버깅하려고 하면 IE8 LCIE(Loosely-Coupled Internet Explorer) 때문에 디버깅하려는 프로세스에 디버거가 연결되지 않고 아래와 같은 메시지를 출력하고 실행한 프로세스가 종료되어 버린다.
'[2344] iexplore.exe: 네이티브' 프로그램이 0 (0x0) 코드에서 끝났습니다.

이 현상을 회피하려면 LCIE의 프로세스 추가 할당 기능을 비활성화해주면 된다.
방법은 아래 레지스트리에
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main
TabProcGrowth값을 DWORD값으로 생성하고 0으로 설정해주면 된다.

 

 

사실, IE8 LCIE때문이 아니라, 비스타에서는 보호모드로 동작되는 Internet Explorer (버전 7이상)를 디버깅할 때 나타나는 일반적인 현상이죠. 마이크로소프트는 이런 문제를 Visual Studio 2008에서는 "Web Browser Debugger" 방식의 디버깅 유형을 추가해서 해결하고 있고. (그러고 보니, Visual Studio 2005에서도 다음 SP에서는 지원해 주어야 할 기능이 아닐까 싶네요. ^^)

 

 

출저 : 안규현 선배의 메일.. ㅋㅋㅋ