'campus life -o-v'에 해당되는 글 178건

campus life -o-v

http://ssppmm.tistory.com/1345

1 0
campus life -o-v

맥에서 한영키를 command 키로 설정하기


* OS X Lion 에서 정상 작동됩니다.


최신 KeyRemap4MacBook 을 다운받습니다.

파일명만 보면 마치 맥북에서만 작동하는것 같은데 일반적인 맥에서 잘 작동합니다

Q : 아이맥 or 맥미니 인데 실행되나요?

A : 네, 잘 됩니다.


다운로드 링크는 아래와 같습니다.

http://pqrs.org/macosx/keyremap4macbook/

최근에 나온 Lion도 지원하고 있으니 최신 안정 버전으로 다운을 받으세요.



잘 아시겠지만 굳이 해석해 드리자면...

모든 맥에서 작동한다고 나와있고(아이맥에서도 작동하나요? 등의 질문을 여러번 받은듯 합니다 ㅋㅋ)

더블커맨드 또는 다른 키리맵 프로그램은 사용하지 말라고 되어있고

KeyRemap4MacBook을 설치전에 다른 키리맵 프로그램이 설치되어 있으면 삭제를 먼저 하라고 합니다.




다운받은 파일로 설치가 끝나면 재부팅을 합니다

맥 > 시스템 환경설정 에서 기타 - KeyRemap4 MacBook 을 실행합니다.

맨아래쪽에서 있습니다.


Misc & Uninstall 탭을 선택합니다.

Custom Setting 의 Open private.xml 파일을 본문의 첨부파일로 대치합니다.


 


Change Key 탭으로 이동합니다.

ReloadXML을 눌러주면 방금 대치한 설정파일을 다시 읽어 들이고

맨 윗줄에 Command R to KOR/ENG 란이 생기게 되며 해당 항목을 체크해주면

[오른쪽 command 키]를 [한/영 전환 키]로 사용 가능합니다.

출처 : http://blog.naver.com/dhkimkorea98?Redirect=Log&logNo=70119718579


1 0
campus life -o-v

http://skyfe.tistory.com/92


맥osx에서 안드로이드 셋팅법

0 0
campus life -o-v

http://madpaper.egloos.com/2834984


위 링크에서파일다운받아서 실행시키면 끝... @_@ 하루종일 고생했냉....

0 0
campus life -o-v

 

CentOS 해상도 설정..

http://byeonely.tistory.com/search/해상도

 

APM셋팅

http://linuxforge.tistory.com/22

http://ssppmm.tistory.com/1598

http://www.itevan.com/

0 0
campus life -o-v

출처 : http://blog.naver.com/devplayer?Redirect=Log&logNo=114921184

0 0
campus life -o-v

CentOS 한글 추가



CentOS 언어를 한글로 바꿈.



KDE의 경우 메뉴를 한글로 설정 (필수사항 아님)





SCIM 설정 

(CTRL+SPACE) 키가 한/영으로 설정되어 있어서, 이클립스의 assist 단축키와 충돌하므로,
키보드의 "한/영"키만 사용하도록 수정한다.

사용자 삽입 이미지

 


위처럼 했는데 한글키가 먹지 않는 경우,
아래처럼 만약 한글키가 잘 먹지 않을 경우 오른쪽 alt 키로 대신 설정하여 사용하자. 




0 0
campus life -o-v

[root@localhost ~]# yum -y install kde-i18n-Korean
[root@localhost ~]# yum -y install fonts-korean
[root@localhost ~]# fc-cache  ==> 반드시 해주어야 한다.
[root@localhost ~]# vi /etc/sysconfig/i18n
LANG="ko_KR.eucKR"
SUPPORTED="en_US.iso885915:en_US:en:ko_KR.eucKR:ko_KR:ko"
SYSFONT="latarcyrheb-sun16"
SYSFONTACM="8859-15"
[root@localhost ~]# source /etc/sysconfig/i18n
[root@localhost ~]# chkfontpath --list  ==> 설치 폰트 조회
[root@localhost ~]# locale  ==> 언어 설정 확인
[root@localhost ~]# vi /usr/share/locale/locale.alias
ko_KR ko_KR.eucKR  ==> ko ko_KR.eucKR # 이 라인이 없으면 추가한다.
[root@localhost ~]# cat /etc/fonts/fonts.conf  ==> 시스템 폰트 설정 파일
[root@localhost ~]# export LANG=ko_KR ==> ==> 실제 시스템언어 변경
[root@localhost ~]# export LC_ALL="ko_KR.eucKR"
[root@localhost ~]# echo "export LANG=ko_KR.eucKR" >> /etc/rc.d/rc.local
[root@localhost ~]# echo "export LC_ALL="ko_KR.eucKR"" >> /etc/rc.d/rc.local

1 0
campus life -o-v
1 0
campus life -o-v

흠... 제우스에서는 바로 커넥션풀 설정이 되질않내...

제우스 관리자 창에서는 안되는데...

코드상에서는 되려나..?

일단... 아래 블로그 참고....

 

DB(MYSQL,ORACLE) 커넥션풀 설정 -> http://kschland.tistory.com/5
0 0
campus life -o-v

오라클 서버를 설치한 다음 접속을 해봅시다.

여기서 클라이언트용으로 설치하신 분은 로컬에서 접속이 안됩니다. 반드시 로컬에 오라클 서버를 설치해야 접속이 가능합니다.

클라이언트용에는 데이터베이스가 없기 때문이죠.

 

윈도우키와 R을 눌러봅시다.

 

 

cmd모드로 가볼까요?

 

sqlplus "/as sysdba"로 입력하면 비번이 없어도 무조건 관리자 모드로 들어갈수 있습니다.

 

 

----사용자 생성
SQL>create user {계정명} identified by {비밀번호} default tablespace system;


---- 권한 부여

*RULE 권한 부여-한번에 막강한 권한을 부여해줌
GRANT CONNECT, RESOURCE TO {계정명};

 

*권한을 선택하여 부여함

GRANT 권한/롤 TO {계정명};

  

----권한회수
REVOKE 권한 FROM {계정명};
 

----생성한 계정으로 로그인하기

SQL>conn {계정명}/{비밀번호}

 

----계정(사용자) 삭제
SQL>conn /as sysdba
관리자 계정으로 로그인한후...

SQL>drop user {계정명} cascade;

 
 
0 0
campus life -o-v

제우스WAS와 오라클DB와 연동이 되질않는다.... =_=

이유를 찾고있는중이긴 하지만...

-.. 내 생각으로는... SID, TNS방식의 차이가 아닐까...? 하는 의문을 가져봄...

자바랑 오라클 연결할때도 그것때문에 반나절 보내버렸는데...

이번엔 좀 빨리 찾길바람 ㅠ 아래글 퍼옴...

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

출처 : http://smartweb.tistory.com/162

시작 - 모든프로그램 - oracle 폴더 - 구성 및 이전 툴 - Database Configuration Assistant




오라클 DB 생성 마법사 시작


1. 데이터베이스 생성


2. 오라클 DB 생성 마법사 시작


3. 오라클 DB 생성 마법사 시작
(전역데이터베이스 이름을 넣으면 자동으로 SID가 들어감. 각자 자기 정할 DB이름으로 넣자)

4. 관리 옵션
(잘모르는 부분은 디폴트로 다음 넣아가는 센스)

5. 오라클 암호설정
(역시 모든 계정에 동일한 암호-디폴트로 선택되어 있는 것 그대로하고, 암호를 넣자)


6. 저장 영역 옵션
(파일 시스템 선택)

7. 데이터베이스 파일 위치


8. 저장 영역 옵션
(플래시 복구 영역 지정이 디폴트로 선택 되어 있는데 해지)

9. 샘플스키마 옵션
(130Mb 필요하다는데 하드 용량 충분하니 설치하자)

10. 초기화 매개변수
(디폴트값이 자동인데 수동으로 변경하고 그림과 같이 60Mb, 25, 20, 5, 16으로 변경하였다. 잘몰라서 다른곳에 있는거 그대로 했음.)

11. 데이터베이스 저장영역
(파일들이 어느 위치에 저장 되는지 보여준다. 필자 C:/oracle/product/10.2.0/oradata/oraconn) 여기서 oraconn은 3단계에서 넣은 SID임

12. 데이터베이스 생성 옵션영역



데이터베이스 생성 완료




종료 누르기전 암호 관리를 누르면 그림처럼 나오는데 오라클에서 사용하는 HR, SCOTT는 해제


HTML 파일로 저장 버튼도 눌러서 저장

0 0
campus life -o-v

출처 : http://cafe.naver.com/java2ora.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=518&

1 3
campus life -o-v

출처 : http://blog.naver.com/yruyo?Redirect=Log&logNo=80105185296

0 2
campus life -o-v

링크 : http://blog.naver.com/legendx?Redirect=Log&logNo=40089732453

0 0
campus life -o-v

아침부터 진행이 잘안되서 속상하다... -_-

그나마 매니저 접속되고 하나씩이나마 풀려서 다행이다..

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

@echo off
jeus -xml -Uadministrator -P1234QWER

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

jeusadmin DaddyGom -Uadministrator -P1234QWER jeusexit

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

녹색 : 컴퓨터 이름

빨강 : 아이디

파랑 : 비밀번호

제우스WAS는 많이 무거워서... 관리도구-서비스 항목에서 수동으로 바꿔서

ON/OFF를 컨트롤하는게 좋다고한다... bin 폴더에 위 파일들을 두고 서비스 실행/정지

0 0
campus life -o-v

1. 설치 전 준비사항

시스템에 JDK가 설치되어 있어야 하고, JDK의 디렉토리 위치를 기억해 두어야 합니다.


2. 설치하기

GUI가 지원되는 설치 프로그램을 실행시키고 진행하다보면 다음과 같이 JDK의 경로를 입력하라는 창이 뜹니다. JDK가 설치된 올바른 경로를 입력합니다. 


관리자 패스워드를 넣는 창이 나옵니다. 이 패스워드는 나중에 JEUS를 설정하고 관리할 때 꼭 필요하니 기억해 두어야 합니다. 



3. JEUS 시작하기

3.1. JEUS Manager(노드) 실행하기
JEUS는 콘솔 창에서 <JEUS_HOME>/bin 디렉토리의 실행 파일인 jeus를 실행함으로써 시작합니다. 이 명령은 JEUS 서버를 작동시키고 JEUS Manager를 준비시킵니다.
콘솔의 로깅 메시지가 JEUS Manager is READY로 끝나 있다면 성공한 것입니다.

3.2. JEUS Web Admin 열어보기
JEUS Manager가 실행되고 있다면, JEUS Web Admin을 열어볼 수 있게 됩니다. 웹 브라우저를 통해 다음 주소로 들어갑니다:
http://localhost:9744/webadmin
그러면 로그인 화면이 뜨는데, 아이디는 administrator 이며, 패스워드는 JEUS 설치시 입력했던 패스워드입니다.
로그인에 성공하면 다음과 같은 화면이 나타납니다.


3.3. 노드 살펴보기
일반적인 방법으로 JEUS를 설치했다면, 한 시스템에 노드 하나가 있게 됩니다. 위에서 실행시킨 JEUS Manager 하나가 하나의 노드를 관리하도록 되어 있습니다. 노드라는 개념이 있는 이유는 클러스터링 환경을 고려한 것입니다. 따라서 일반적인 환경에서는 노드를 하나만 사용하도록 합니다. 위 그림에서는 'thendol1' 이라는 이름의 노드가 있습니다. 디폴트 노드 이름은 JEUS가 설치된 머신의 이름을 따릅니다.

3.4. 엔진 컨테이너 살펴보기
노드는 복수 개의 엔진 컨테이너를 가질 수 있습니다. 그러나 엔진 컨테이너 하나에는 수많은 애플리케이션을 배치할 수 있고, 배치된 애플리케이션을 재사용할 수도 있다는 점을 감안하면 특별한 이유가 없는 한 하나의 엔진 컨테이너만 사용해도 충분합니다.
JEUS의 엔진 컨테이너는 Java EE 5 개념잡기에서 설명한 컨테이너와는 설계가 약간 다릅니다. 애플리케이션 및 모듈을 배치하는 대상이 된다는 점에서는 같지만, 엔진이라는 개념이 있어서 어떤 엔진을 탑재시키는가에 따라 어떤 컨테이너의 역할을 하는지 결정되며, 하나의 엔진 컨테이너에 서로 다른 엔진을 중복해서 탑재시킬 수 있다는 점이 다릅니다. 다시 말해, 용도에 따라 다른 컨테이너들이 물리적으로 분리되어 있는 것이 아니라, 엔진 컨테이너 하나로 통합되어 사용된다는 의미입니다. 아래에서 좀 더 자세히 설명합니다.

3.5. 엔진 컨테이너 생성하기
그러면 노드에 엔진 컨테이너를 하나 생성해 보도록 하겠습니다.
노드를 클릭하면 아래 그림과 같이 다섯 개의 하위 항목이 나타납니다. 여기서는 엔진 컨테이너를 추가하고자 하니, 엔진 컨테이너 항목을 클릭해봅니다. 그러면 오른쪽 뷰에 다음과 같이 나타납니다:

위 그림에서는 thendol1_container1이라는 컨테이너가 이미 하나 있는 모양입니다. 컨테이너를 하나도 만들지 않은 상태라면 테이블이 비어 있을 것입니다. 테이블의 오른쪽 아래에 위치한 새 엔진 컨테이너 생성 링크를 클릭합니다:

컨테이너의 이름은 필수 항목이며, 엔진은 적어도 하나는 선택을 해야 합니다. 엔진 없이는 컨테이너가 의미가 없기 때문입니다. 다음은 엔진에 대하여 살펴봅니다.

3.6. 엔진 살펴보기
엔진을 탑재하면, 엔진 컨테이너는 해당 엔진이 제공하는 기능에 따라 Java EE 5에서 지정한 컨테이너의 역할을 할 수 있게 됩니다. 하나의 엔진 컨테이너는 복수 개의 엔진을 탑재할 수 있지만, 동일한 종류의 엔진이 두 개 이상 탑재될 수는 없습니다.
   a) JEUS에서 제공하는 엔진에는 4가지가 있습니다:
      - EJB 엔진
      - 서블릿 엔진
      - JMS 엔진
      - 웹 서버 엔진
엔진 컨테이너로 하여금 아파치 톰캣과 같은 웹 서버 역할만을 하도록 하려면, 이중에서 웹 서버 엔진과 서블릿 엔진을 탑재시키면 됩니다.
주의할 점은, 웹 서버 엔진은 하나의 노드에서 하나의 엔진 컨테이너만이 가질 수 있는데, 위 그림에서는 기존의 엔진 컨테이너에 웹 서버 엔진이 탑재되어 있으므로, 새로 생성하는 엔진 컨테이너의 엔진 추가 테이블에서는 제외된 것입니다.

3.7. 엔진 컨테이너 시작하기
어떤 웹 서버에서는 브라우저로 admin 화면을 볼 수 있으면 곧 애플리케이션을 탑재하여 사용할 수 있다는 의미가 되지만 JEUS에서는 그렇지 않습니다.
JEUS에서는 웹 admin 화면을 볼 수 있다는 것은 단지 JEUS Manager가 실행되고 있다는 의미에 불과하며, 애플리케이션을 배치하여 사용하려면 엔진 컨테이너를 시작해 주어야 합니다.
다시 3.5 섹션에서의 그림을 보면, 오른쪽에 "시작" 버튼과 "다운" 버튼이 있습니다. 여기서 시작 버튼을 눌러 주면 엔진 컨테이너가 시작됩니다.

3.8. One-step Booting 실행하기
JEUS를 사용할 때마다 jeus 명령을 실행한 후에 다시 엔진 컨테이너를 구동하는 방식은 개발 환경이라면 번거로운 일이 아닐 수 없습니다. 다음과 같이 jeus 명령에 사용자 이름과 패스워드를 옵션으로 지정하면 노드가 가지고 있는 모든 엔진 컨테이너를 시작하는 단계까지 한 번에 완료해 줍니다:
jeus -Uadministrator -P<password>
이 명령은 흔히 jboot 라는 배치 파일 혹은 스크립트 파일로 저장하여 사용합니다.

3.9. One-step Down 실행하기
JEUS는 복수 개의 JVM을 사용하므로 애플리케이션 강제 종료 방법(ctrl + C와 같은)을 사용하면 JEUS 재시작시 에러가 발생할 수가 있습니다. 따라서 다음 명령을 사용하여 올바르게 종료해 주어야 합니다:
jeusadmin <node-name> -Uadministrator -P<password> jeusexit
이 명령은 jdown 이라는 배치 파일 혹은 스크립트 파일로 저장하여 사용합니다.

3.10. 엔진 컨테이너 시작 성공 메시지
엔진 컨테이너의 시작에 성공했다면 다음과 같은 메시지를 보게 됩니다:
engine container[thendol1_container1] is READY
engine container[thendol1_container1] initializatioin successfuly done [pid : 3596]

원스텝 부팅을 사용했으면 추가로 다음 메시지를 볼 수 있습니다:
JeusServer one-step booting successful : [thendol1_container1]

 

출처 : http://bankienkate.tistory.com/4

0 0
campus life -o-v

 

아직 이해안되는 부분이 너무 많다...

단추 하나 잘끼우면 잘 풀릴것 같은데...;;;

정보가 너무 부족하다...

 

출처 : http://wesable.blog.me/73672975

0 0
campus life -o-v

http://blackiz.tistory.com/10

*참고

0 0
campus life -o-v

우선 알아야 할게 있는데 운영체제에 관한 것이죠

운영체제에는 -> 윈도우, 리눅스, 유닉스 으로 크게 나누어지죠
(한번쯤은 들어 보셨으리라 생각하구요)
각각의 운영체제에서 돌아가는 서버는 제 각각 입니다.
윈도우에서 돌아가는 서버는 다른 운영체제에서 쓸수가 없다는거죠
물론 그와 반대로 리눅스나 유닉스에서 쓰는 서버 또한 윈도우에서는 어림없죠

결국 제 각각의 길로 개발 하다 보니 사람들은
"윈도우용 서버냥 아님 리눅스용 서버냥" 하고 물어 보게 됩니다.
근데 서버 이름만 들어도 웹개발자들은 운영체제를 아니까
위처럼 물어 보지 않고 아래처럼
"IIS냥 아파치냥" 하고 물어 봅니다.

즉 iis -> 윈도우
아파치 -> 리눅스, 유닉스 에서 사용 된다는 거죠

"난 IIS와 톰캣을 물어 본겨 왠 아파치냥 확 주둥이에
아파치 미사일 한방 쏴버려!"

이렇게 생각 하고 있지요 ㅋㅋ
하지만 위에 정도는 알고 있어야 톰캣도 이해하기 쉽습니다.
(톰캣에 긴 이름은 "아파치 톰캣" 이거든요)

이제 본격적으로 IIS와 톰캣에 대해 알아보죠


그럼 IIS(Internet Information Service)가 무엇인가?

┌─IIS ──────┐
│ │
│ (WEB SERVER) │
│ (FTP SERVER) │
│ . │
│ . │
│ │
└─────────┘
위와 같이 IIS 안에 여러가지 서버가 관리 되어 집니다.
그중 웹서버, FTP서버가 많이 사용,관리 되어 집니다.

서버라고 해서 거창한 것은 아닙니다. 하나의 프로그램 이지요.
웹서버는 우리가 브라우져(익스플러러)로 인터넷(통신)에 들어가서
웹페이지(네이버)를 볼때 네이버화면을 브라우져로 보내주기 위한 프로그램이죠
음 말이 어렵당..

즉 이거죵
브라우져(주소 입력) -> 인터넷(주소를 찾아라 짜라쨘짠~~) -> 웹서버 (찾았다)
브라우져(화면 출력) <- 인터넷(원하는거 보내 줄깨) <- 웹서버 (작업^^!)

사용자가 주소를 치면 웹서버가 사용자에게 화면을 보내 주는 겁니다.
웹서버가 단지 그것만 하는것은 아니죠 바로 "웹프로그램 해석 능력"

음 이것은 영어를 한국어로 번역한다고 말할까요.
즉 프로그램 되어진 소스를 화면에 출력 될수있게 만든다. 뭐 이정도..

이야기가 넘 넘 길어 질거 같으니 앞으로 짧게 애기 할께요 시간두 없구

간단히 말하자면 동적인 웹페이지를 만들기 위해 만든언어를 해석 한다는 거죠
어째든 이것도 운영체제마다 틀리겠죠 하지만 이서버에는 -> 이언어 딱 정해져
있는 거죠

윈도우에서는 asp
리눅스에서는 php, jsp

이렇게 정해져 있답니다. 물론 윈도우에서 php,jsp를 쓸수는 있지만
상용은 위처럼 정해져 있답니다.

리눅스에서는 아파지서버 -> php 이렇죠

근데 자바라는 언어에서 jsp라는 스크립트언어를 만들면서
아파치 톰캣이 만들어졌습니다.
(참 php,asp도 스크립트언어라고 보시면 됩니다.컴파일 언어가 아니구요)

그럼 결과는 이렇죠
IIS 웹서버 -> asp
아파치서버 -> php
아파치톰캣 -> jsp

설명을 무지 더 하구 싶지만 시간이 없네요..
톰캣은 정확히 서버라기 보다는 컨테이너라고 부릅니다.

(웹서버 <-> 톰캣컨테이너) 이렇게 한 묶음 이죠.

우리나라에서 어떤 웹서버를 써야하는지에 대해서
정말 할말 많죠

IIS를 쓰게 된다면 마이크로소프트(마소)에 농락 당할 가능성이 클수있죠
얼마전 신문에도 나왔지만 우리정부에서 쓰는 운영체제가 아직 윈도우98이
많답니다.

그래서 정부는 보안 패치를 요구 했지만 마소에서 "싫어 임마" 이랬죠
그렇다고 만들어서 쓸수도 없고(소스가 있어야 고치든 말든 할텐데)
열라 짜증나는거죠.

하지만 리눅스는 오픈소스 즉, 소스를 열라 딱 까발리고 있다. 이겨죠
맘대로 수정해서 쓸수도 있고 내 입맛에 맛게씀 고쳐 쓸수 있다는거죠
물론 이넘 저넘 , 뛰는넘 나는넘들이 다 보기 때문에 보안에 문제가 생길수
있습니다. 소스를 아니까

하지만 위와 같이 마소에게 또 지배당할 위험이 크기 때문에
정부에서는 리눅스를 우리나라 자체에 맛게끔 만들어서 배포하고 업데이크하고
만들어 가야 하는게 옳지 않나 봅니다.

정부에서 구입하는 소프트 비용을 리눅스개발에 투자한다면 뽕을 뽑지 않을까요
물론 제 개인 적이긴 합니다.

물론 요즘 대형웹사이트들은 클러스터, 즉 여러개의 컴퓨터를 연결 시켜서
사용하고있습니다. 그리고 DB쪽에 많은 투자를 하고 있는걸로 알고 있구요
즉 대,중,소에 따라 웹서버도 바뀌니..

어째든 아파치 쪽에 무게를 더 실어야 한다는 쪽에 만원 겁니다.

 

출처 : http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040201&docId=64694218&qb=7Yaw7Lqj7J2YIOyXre2VoA==&enc=utf8&section=kin&rank=3&search_sort=0&spq=0&pid=gm0m6woi5UNsscevKvwsss--257977&sid=Th0HL0LSHE4AAHST9X4

0 0
campus life -o-v

글 작성중... , 용어정리를 이해하기 쉽게 바꾸고 추가할 꺼 더 추가하기 


공부할 때 두가지 타입이 있는 것 같다.
모르는 것이 있으면 다음 단계로 넘어가지 않는 타입,
모르는 거 있어도 그냥 넘어가도 되는 타입.

나같은 경우는 후자인 편이다.
좋은 점은 공부할때 진도가 빨리빨리 나간다는 점,
그리고 전체로 모르는 것을 대충 추측할 수 있게 된다는 점이 있다.
하지만 하나하나 깊숙하게 공부되지 않는다는 단점은 있다.
 
프로그래밍 언어는 엄청나게 많고, 용어는 더 많다.
게다가 줄여서 쓰는 경우가 많기 때문에 그냥 사용하면서도 그게 뭘 의미하는 건데? 하고
물어보면 대답을 못하는 경우가 많은 거 같다.

내가 쓰고 있고, 대충은 알고 있다고 생각해도
용어정도는 한번 정리하고 가는 것이 좋을 것 같다.

이번에 플렉스 스터디 부분이 7장. 플렉스 데이터 연동 부분인데,
요 부분에서 모르는 용어가 꽤 많이 나왔다.
정확히는 많이 들어본 용어들인데, 설명하라고 하면 설명 못할 용어들..
그런 용어를 정리해 보려고 한다.



* 플렉스가 제공하는 데이터 연동방법은 크게 RPC 서비스방식과 데이터 서비스 방식으로 나뉜다.

연동방법 프로토콜 데이터 형태 서버 사이드 App. BlazeDS 실시간메시징
RPC 서비스 Http
Service
HTTP
HTTPS
XML PHP
ASP
JSP
XML
등 DB연결이 지원되는 모든 웹프로그램
선택적 X
Web
Service
HTTP
HTTPS
XML
SOAP 메시지
Web Service를 제공할 수 있는 시스템 선택적 X
Remote
Service
HTTP
HTTPS
AMF
JAVA객체(List,Map)
자바빈즈 클래스 필수 X
데이터
서비스
메시지 서비스 RTMP AMF
JAVA객체(List,Map)
자바빈즈 클래스 필수 O
데이터 관리
서비스
HTTP
RTMP
AMF
JAVA객체(List,Map)
자바빈즈 클래스 LCDS만
가능
O


* RPC : 원격 함수 호출(Remote Procedure Call)
- 정의 : 어떤 컴퓨터에서 떨어져 있는 다른 컴퓨터에서 작동하는 프로그램의 함수를 호출하여 실행결과를 리턴받는 것을 말한다.
- 방식 : 원격 함수 호출을 위해서는 네트워크를 통해 파라미터를 호출하려는 함수에 전달하고 지정된 포맷으로 결과를 리턴 받아야 한다.
- 종류 : 플렉스에서는 HTTP 방식과  WebService 방식, RemoteObject방식이 여기에 해당한다.


* HTTPService 방식 (RPC 방식_1)
브라우저에서 URL을 호출했을 때 XML 형식으로 데이터가 리턴이 되면 사용할 수 있는 방식이다. 즉, HTTP를 이용하여 데이터를 GET이나 POST 방식으로 웹서버로 전송하고 결과를 XML로 받는 방식을 말한다.

* WebService 방식 (RPC 방식_2)
브라우저에서 WSDL이 기술하는 WebService URL에 있는 WebService함수를 호출하고 그 결과를 SOAP(Simple Object Access Protocol) 메시지로 받는 방식이다.  WebService는 HTTP를 기반으로 하여 결과는 [각주:1]SOAP라는 프로토콜에 맞춘 XML을 리턴하게 된다. WebService를 사용하게 할 수 있도록 서버가 제공하는 WebService의 위치, 메소드명,파라미터,리턴값을 정의한 XML 문서가 있어야 하는데 이것이 WSDL(WebService Definition Language)이다.

* RemoteObject 방식 (RPC방식_3)
WAS(Web Application Server)에 디폴로이된 [각주:2]자바빈즈태그를 이용해 세팅하면, 파라미터들이, 자동으로, 빈즈에 담겨 사용할수 있게 된다. EJB에서는 EJB 스펙을 따르라 빈즈를 만들면 원격으로 빈즈에 담은 데이타를 보내고 받을수 있게 된다. ">자바빈즈로 만들어진 메소드를 호출하여 그 결과를 객체형식으로 리턴받는다. 서버측의 Java Object를 호출하여 그 결과를 AMF(Action Message Format)라는 Binary 형식으로 통신하며 Java Data Type과 ActionScript3 Data Type과 바인딩 해서 사용한다. RemoteObject 은 위 두방식이 XML을 기반으로 데이터를 처리하는 것과 달리 객체 배열의 구조를 갖는 바이너리데이터를 처리한다. 따라서 다른 통신방식에 비해 데이터 처리 속도가 빠르고, 속도가 빠르기 때문에 클라이언트에서 수만 건에 이르는 데이터를 가져와 처리하는 애플리케이션을 만드는 데 적당하다.



데이터서비스 방식
클라이언트에서 서버를 호출해야 데이터를 받을 수 있는 RPC방식과는 달리 서버에서 [각주:3]푸쉬하는 데이터가 클라이언트에 전달될 수 있다. 즉, 클라이언트가 화면을 새로고침하지 않아도 서버에서 특정 이벤트나 지정된 시간마다 데이터를 보내어 화면이 자동으로 업데이트 된다. 클라이언트 호출방식에서 구현하지 못했던 모니터링 서비스나 이벤트 알리미 서비스 등 인터랙티브한 서비스를 구현할 수 있다. 또한 대량의 데이터를 처리함에 있어 사용자가 페이지를 열 때마다 모든 데이터를 가져올 필요 없이 작동하는 아키텍처를 구성할 수 있다. 또한 화면 로직과 데이터 로직, 컨트롤 로직이 분리되어 프로젝트를 좀더 효율적으로 진행할 수가 있다. 
메시지 서비스

데이터 관리 서비스
데이터 관리 서비스는 클라이언트와 서버간에 데이터를 동기화하기 위해서 개발자들이 수작업으로 코딩하던 번거로움을 없애고 클라이언트가 변경한 데이터를 즉시 반영해서 볼 수 있도록 했다. 이를 위해서 DataService라는 클래스를 도입했고 여기에는 데이터를 동기화하기위한 다양한 메소드들이 구현되어있다.





* 서비스들의 차이점들 비교하기

1. RPC 서비스 / 데이터 서비스
RPC 서비스는 서버에 데이터를 요청하지 않더라도 서버로부터 데이터를 푸쉬 받을 수 있는 실시간 메시징이 가능하지 않다.
2. HTTPService / WebService / RemoteService
각각 유저화면에서의 특정이벤트가 각 RPC Components를 통해서 Request가 만들어지고 HTTP Service의 경우에는 HTTP포멧(GET or POST)으로 전송되고 Web Service의 경우 SOAP로 전송되며 RemoteService의 경우에는 바이너리 형식의 AMF로 전송되어 Java Object, XML, TEXT등의 데이터로 Response를 전송 받아 클라이언트에서 처리한다.
3. HTTPService,WebService / RemoteService
앞의 두가지는 XML기반으로 데이터를 처리하지만 RemoteService는 바이너리 데이터를 처리한다. 그렇기 때문에 XML보다는 통신 패킷량이 적고 네트웍 전송 속도가 훨씬 빠르다.





참고한 책, 링크


예제로 배우는 Adobe 플렉스(개정판) 상세보기

BlazeDS의 데이타 연동 방식

http://blog.jidolstar.com/363

Flex Data Services 2 이해와 활용
http://kr.blog.yahoo.com/i056695/1071
  1. 1. SOAP : Simple Object Access Protocol, XML을 웹상에서 전송하기 위한 프로토콜 [본문으로]
  2. 자바빈즈란, 기본적으로 데이타를 저장하기 위한, 멤버변수와, 데이타를 컨트롤하는 setter/getter메소드를 가지고 있는 클래스를 일컫는 말 [본문으로]
  3. 푸쉬와 폴링 : 푸쉬는 서버가 주체가 되어 클라이언트로 데이터를 일정 주기로 전송하는 개념이다. 반대로 폴링은 클라이언트가 주체가 되어 서버에게 일정 주기로 데이터를 요청하는 개념이다. [본문으로]

 

 

출처 : http://muune.tistory.com/12

0 0
campus life -o-v
0 0
campus life -o-v
.... 콜론과 슬러쉬의 차이... 두번다시 안까먹으리라 -_-; 내 반나절 어떡햇!!
0 0
campus life -o-v

[문제] 모든 소수는 분수로 변환이 가능하다. 예를 들어 소수 0.25가 있다면 이는 분수 1/4로 표현이 가능하다. 이제, 입력으로 n이 주어지고 다시 n개의 실수(0.0보다 크고 1.0보다 작은)가 주어진다. 각각의 입력을 기약분수(분모와 분자가 서로소인 분수)로 표시한 후 이중 분자가 가장 작은 수를 분수형태로 출력하시오. 이때, n은 최대 100임을 가정한다.

[입력] 2 0.9 0.8
[출력] 4/5
※ 0.9는 기약분수로 변환하면 9/10이 되며, 0.8은 기약분수로 변환하면 4/5가 된다. 이때 각각의 분자는 9와 4이므로 이중 분자가 작은 수는 4/5가 된다.
※ 분자를 출력할 때는 빈칸없이 모두 이어서 출력한다.

0 0
campus life -o-v

[문제] 하나의 양의 “큰” 정수를 입력받아서 각 숫자(‘0’~‘9’)의 빈도수를 순서대로 출력하시오 (‘0’의 개수, ‘1’의 개수, ..., ‘9’의 개수로 모두 10개의 정수를 출력). 이때 큰 양의정수의 최대자리수는 100임을 가정한다. 단, 주어진 큰 정수가 수가 아닌 경우 (즉, 숫자로만 구성되지 않은 경우) 바른 정수가 입력될 때까지 다시 입력받아야 함.[20]
[입력] 1233
[출력] 0 1 1 2 0 0 0 0 0 0



 

0 0
campus life -o-v
0 0
campus life -o-v
0 0
campus life -o-v


Haar Training Utility from Todd vanderlin on Vimeo.

0 0
campus life -o-v

Apple | iPhone 3GS | Normal program | Average | 1/416sec | F/2.8 | 3.9mm | ISO-64 | No flash function | 2010:11:09 12:30:55



  


Adaboost로 Xml만드는 방법

 

0. 샘플 이미지들을 준비한다.
1. Positive and Negative sample 만들기
2. createsamples를 이용하여 vec 파일 만들기
3. haartraining을 이용하여 classifier 생성 
4. haarconv를 이용하여 최종적인 xml 생성

 

 

인데....모르겠다!!!!!!!!!!!

 

하시는 분들을 위해 준비해써여~~~

 

 

 

*포스팅을 나중에 보신 분들을 위해 추가

 

저는 프로그래밍이라는것에 손뗀지 오래되었기 때문에 쪽지로 물어보셔도 전혀 모릅니다.

쪽지는 사양합니다. ^ㅇ^

 

 



저는...Opencv에 대해 공부하는 학생일 뿐이고...

정말 아무것도 모르기 때문에.... 왜이렇게 되는가...이론적으로 이게 뭔가 같은

설명 그따우 없습니다.

 

그냥 하나하나 질문해가면서 했기 때문에 저도 몰라요 ㅎㅎ

단지 방법만 알뿐...

 

 

 

 

우선 제가 해야 했던 일은 Adaboost로 Xml만드는 방법을 알아내는 것이었습니다.

저희 연구실에서 사람 얼굴을 인식하는데 아래를 향한 얼굴도 알아보도록 하려고

새로운 Xml파일이 필요했거든요.(기존의 것은 거의 정면만...)

 

그럼...xml만드는 방법을 시작합니다.

 

 

 

 

0. 샘플 이미지들을 준비한다.

 

샘플 이미지라는건 훈련 시킬 이미지와 훈련시킬 이미지가 아닌 다른 이미지들을 모은 것을 의미해요.

그러니까 만약 손을 훈련시키고 싶으면 손 이미지 잔뜩, 그리고 손이 아닌 다른 이미지 잔뜩

이렇게 있어야 합니다.

저는 얼굴을 했으니까 그냥 얼굴이라고 할께요.

얼굴사진은 대부분 연예인 이름 쳐서 네이버에서 검색해서 찾았고요

그냥 다른 사진들은...꼼시가 있습니다 ㅋㅋ

 

C:\Documents and Settings\user\Local Settings\Temporary Internet Files

여기로 들어가시면

(여기는 인터넷 익스플로러 - 도구 - 인터넷옵션 - 일반 - 설정 - 파일보기로 가면 됩니다)

 

여기에...온갖 이미지들이 잔뜩 있습니다.

배경화면이나 텍스트 이미지나 이것저것 진짜 많아요.

아무튼 여기까지 알아두세요.

 

 

 

1. Positive and Negative sample 만들기

 

자...위에까지 준비되었으면 Positive and Negative sample을 만들어야 하는데요

Positive sample이라는건 자신이 훈련시키고 싶은 이미지,

Negative sample이라는건 자신이 훈련시키고 싶은것과 1%도 오나전 관계 없는 이미지를 말합니다.

보통은 자연풍경이나 배경화면을 많이 해요.

 

저는 C:/temp에  Positive와 Negative라는 폴더를 생성했습니다.

(꼭 여기 안해도 되요)

그다음에 얼굴 사진은 모두 positive 에 넣고

C:\Documents and Settings\user\Local Settings\Temporary Internet Files에서 복사한 배경사진들은 모두 Negative에 넣었습니다.

positive 파일의 갯수와 Negative 파일의 갯수는 1:3의 비율이 되는것이 좋아요.

대충 100개, 300개 라고 하죠. ^^

 

 

그럼...이미지들이 주어졌죠?

 

그럼  Positive와 Negative라는 폴더에 텍스트 파일 하나씩 생성해주시고...

Positive에 있는 텍스트 파일은 train.txt,  Negative에 있는 파일은 bg.txt(이름 꼭 똑같지 않아도 됨)

이라고 생성했어요.

 

자...그리고 어떻게 적냐 하면요.

train.txt에는...

 

img1.jpg 1 0 0 50 60
img2.jpg 1 0 0 50 60
img3.jpg 1 0 0 50 60
img4.jpg 1 0 0 50 60
img5.jpg 1 0 0 50 60
img6.jpg 1 0 0 50 60
img7.jpg 1 0 0 50 60
img8.jpg 1 0 0 50 60
img9.jpg 1 0 0 50 60

.

.

.

 

라고 적었어요. 무슨 의미인지 해석해드리면

 

img1.jpg는 각각 이미지의 이름입니다.

1은 그 이미지에서 훈련시킬 부분의 갯수고요(예를들어 슈퍼주니어 사진을 올려놓고 얼굴을 훈련시킨다고 하면 1이 아니라 13이 되는겁니다 ㅋ)

0 0 50 60은 훈련시킬 부분의 좌표입니다.

 

이 좌표는 그림판에서 그림을 열어서 마우스를 대면 그 부분의 좌표를 알 수 있어요.

그러니까 왼쪽 위와 오른쪽 아래 좌표를 찍는겁니다.

 

 

 

그리고 bg.txt 에는

img1.jpg 
img2.jpg 
img3.jpg 

img4.jpg 

img5.jpg 

.

.

.

 

이렇게만 하시면 됩니다 ^^

 

 

 

아, 이미지 이름이나 사이즈 바꾸기 힘드시죠? ^^

ACD See가 있으시면 그걸로 한꺼번에 사이즈랑 이름 일괄로 바꿀 수 있고요

제가 여기에 올린 fsresizer24-hlena33.zip  이 프로그램으로도 할 수 있어요.

이 프로그램 사용법은 네이버 검색으로 ㅋㅋㅋㅋ

(그런데 그냥 자동으로 알 수 있을 듯)

 

 

 

 

2. createsamples를 이용하여 vec 파일 만들기

 

여기가 중요합니다.

우선 저는 temp폴더 (그러니까 Positive와 Negative폴더가 있는 폴더) 에 vec폴더와 final이라는 폴더를 생성했어요.(이름 달라도 됩니다.)

지금 위에서 말한 vec 파일을 넣기위해서죠.

 

명령 프롬프트를 엽니다.

그리고 c:/program files/opencv/bin 폴더로 간 후

createsamples를 칩니다.

 

그러면...영어로 뭐라고 쏼라쏼라 나오지만 전 영어가 안되므로 패스하고 하나하나 물어봤습니다.

 

그리고 이렇게쳤지요.

 

createsamples -info c:/temp/positive/train.txt -vec c:/temp/vec/myobject.vec - num 100 -w 24 -h 24

 

여기서 -info 는 train.txt 파일이 있는 폴더를 말하고 -vec 는 생성될 vec 파일이 들어갈 폴더를 쓰면 됩니다. - num 은 positive데이타의 갯수, 그러니까 train.txt 의 라인 수가 되겠네요. 그걸 쓰시면 되고

(전 이미지도 100개, 라인수도 100줄이었으니까요) -w와 -h는 무조건 24에요.

 

 

이게 성공하면...

 

vec 폴더에 myobject.vec 라는 파일이 생성됩니다. ^^

 

만약에....

 

 

 

 

이런 이런 이런 이런 오류가 났다.....라면...

 

 

 

 

오타입니다. 무조건 오타입니다.

아니면 폴더 생성을 잘못했거나요.

암튼 잘못써서 그런겁니다. 다시 확인해주세요 ^^

 

 

 

자~ 그럼 다음단계로...

 

 

 

 

3. haartraining을 이용하여 classifier 생성

 

이것도 위의 것과 같습니다.

단 시간이 좀 오래걸릴수도 있으므로 실행하신후 닌텐도를 준비하시거나 커피한잔 타놓으시는걸 추천합니다.

 

명령프롬프트에서 haartraining를 칩니다.

그럼 또 영어로 쏼라쏼라 나오지만 닥치고 그냥 이렇게쳤습니다.

 

haartraining -data c:/temp/final/test -vec c:/temp/vec/myobject.vec -bg c:/temp/negative/bg.txt -npos 100 -nneg 300 -nstage 14 -nsplits 1 -mem 1400 -w 24 -h 24

 

-data 는 vec 파일을 이용해 텍스트 파일들이 생성될 폴더를 가리킵니다.

-vec 은 아까의 vec파일이 있는 폴더고요

-bg는 네거티브 파일들이 있는 폴더, 그러니까 bg.txt 가 있는 부분

-npos는 포지티브(이젠 귀찮으니 한글로 침 ㅋ)데이터의 갯수

-nneg는 네거티브 데이터의 갯수입니다.

(-npos와 -nneg의 갯수는 1:3 비율이 좋습니다)

-nstage 14 -nsplits 1 -mem 1400 -w 24 -h 24 요거는 디폴트값이니 똑같아야 합니다.

 

이걸 하고 나면...

뭐 이상한 화면이 나옵니다.

쭈르르륵 점이 지나가고 네모칸도 만들고 표도 만들고 연결도 하고...

 

암튼 혼자 뭔일 하고 있으니까 기다리세요~

 

컴퓨터에 따라 빠를수도 느릴수도 있습니다.

 

 

 

4. haarconv를 이용하여 최종적인 xml 생성

 

아...저 과정을 무사히 거치면

final이라는 폴더에 0부터 몇까지 암튼 몇개의 폴더가 쫘르륵 생기고 그 안에 텍스트 파일이 하나씩 있습니다.

그러면 그 텍스트 파일을 xml로 합쳐줘야 하는데요...

그때 쓰여야 하는게 haarconv 파일이에요.^^

여기 위에 첨부했으니까 다운받으시고~~~(야후 그룹에서 받았습니다)

 

암튼 그것을 temp 폴더에 넣고 풉니다.

실행시키면 haarconv.exe라는게 생겨요.

그럼 명령프롬프트 창에서  haarconv.exe를 실행시키고

 

이렇게 쓰라는거 같아서 이렇게 썼습니다.

haarconv fianl test.xml 50 60

여기서 50,60은 제가 이미지를 이 사이즈로 통일시켰기 때문에 그렇게 썼는데요...이부분은 정확치가 않아요.

 

아무튼...이렇게 하니까 temp 폴더에 test.xml이라는게 생성되더군요. ㅎㅇㅎㅇㅎㅇㅎㅇ

 

 

 

암튼 이렇게 생성된 녀석을 xml 파일이 필요한 곳에 넣고 돌리면 됩니다.

 


 




출처 : http://blog.naver.com/hlena33/30025530042

0 0
campus life -o-v

Algorithm

PCA

개요

PCA는 데이터 집합을 분석하는 기법 중 하나로 우리말로 번역하면 주성분 분석이라고 한다. 아래 그림에서 대각선으로 분포되어 있는 2-dimensional 데이터에 대하여 가장 잘 표현하고 있는 주성준 벡터는 대각선 방향의 벡터(우상단 방향의 벡터)임을 알 수 있다.



위 그림에서처럼 주성분 벡터를 구하기 위해서는 주어진 2-dimensional 벡터 데이터를 이용하여 2차원 covariance matrix를 계산하고, 그 행렬(covarian matrix)에 대한 eigen vector를 구하면 된다.

유사한 방법으로 N-dimension 벡터에 대해서도 확장할 수 있으며, 역시나 그 벡터들을 가장 잘 표현하는 주성분을 추출하고 그 주성분 벡터로 원래 데이터들을 표현하면 원래 데이터의 차수(dimension)이 낮아져 데이터간 그룹핑이나 식별이 쉽게 될 수 있다. 이런 기법들을 얼굴 인식에 사용되기도 한다.

참고


출처 : www.gurugail.com

http://www.gurugail.com/pmwiki.php/Algorithm/PCA

0 0
1 2 3 4 ··· 6
블로그 이미지

Software Architect

DaddyGom