현재 내가 사용하고 있는 구글의 서비스

docs.google.com

- 워드,스프레트쉬트등의 문서를 웹상에서 편집하고 공유할수 있는기능.


http://www.scribd.com/my_docs
문서자료를 다양의 포멧으로 변환할 수 있고 공유가능
- OpenID 계정
http://starple.com  서비스에 사용된 내용에 대한 자료


인건비 보수 봉급,상여,정액수당
  기타직보수 계약직등의인건비
  일용임금 임시직보수
운영비 일반수용비 사무용품구입비
    인쇄비및유인비
    안내물등제작비
    소모품구입비
    간행물구입비
    비품수선비
    각종수수료
    업무위탁사례금
    공고료및광고료
    기타용역대가
  재료비 소모성재료비
    재료비매입대
    광물구입비
    종자구입비
    사료구입비
  복리후생비 법정부담금
    재해보상금
    동호회지원경비
    선택적복지제도
  시험연구비 시험연구경비
  기타운영비  
여비 국내여비  
  해외여비  
특수활동비 특정업무수행비  
직무수행경비 사업추진비 접대비
    연회비
    행사경비
  관서업무비 업무협의경비
연구개발비 연구개발비 연구용역비
    시스템개발경비
    연구위탁경비

어제저녁 회사의 자문교수님과 이야기 중 요즘 농촌의 결혼문화가 외국인과 많이 이루어지다 보니
흔히 혼혈자녀들을 볼수 있다고 했다.

대부분의 아이들이 영어이름을 가지고 있을 정도의 시대가 되었는데, 뭐 영어권하고는 별로 교류해본적이 없는
나는 영문이름에 대해서 고민해보게 되었다.

어떻게 촌스럽지 않고 어울리는 영어이름을 지어야 하는것일까??

우리나라의 이름이라는 것데 대해서 잠깐 생각해보면
앞으로 어떠한 사람이 되어라는 바램으로 뜻을담은 한자어로 구성되는 경우가 대부분이라고 생각된다.
(나의 경우에는 한자로 밝을 형, 캘 채)

한글이름을 그대로 짓는다면 hyeong chae 가 되는데.. 외국인이 부르기에는 발음에 무리가 있는 이름이다.
이름이란 아무래도 부르기쉽고, 그 사람의 이미지를 담고 있는것이 적절한 법
어떤 이름이 어울릴까 고민하다가 구글링을 해보니.. 미국에서 인기있는 이름의 순위를 제공하는
미국 사회보장국의 자료가 있다.
(여기를 통하면 자신이 생각하는 이름이 보편적인 이름에 속하는지는 살펴볼수 있다.)

http://www.ssa.gov/OACT/babynames/

원래 한국이름의 의미와 나의 성향과 총체적인 이미지를 고려해 볼 때.
적합한 이름은 Bright Kim 으로 결정했다.

언제 써먹을지는 모르지만 세상에 삽질은 없는 법
언젠가는 도움이 될것이다. ㅎㅎ



JEUS 운영 및 관리

JEUS 5.0을 버전을 기준으로 하고 설치시 입력한 JEUS 관리자의 비밀번호는 jeusadmin이라고 전제한다.

JEUS 구동

주로 jboot, jdown이란 이름으로 스크립트를 작성하여 실행한다. 이 파일들의 실제 명령행은 다음과 같다.

  • jboot: jeus -Uadministrator -Pjeusadmin
  • jdown: jeusadmin -Uadministrator -Pjeusadmin jeusexit

jeusadmin console

jeusadmin 콘솔툴을 이용하여 JEUS 컨테이너기동/종료, 엔진리스트확인 등 JEUS 엔진의 상태를 제어 및 점검한다.

  • 콘솔 실행: jeusadmin 'hostname' -Uadministrator -Pjeusadmin
  • 명령 목록
    • allenglist: jeusadmin의 allenglist 명령은 현재 각 컨테이너의 엔진기동 상태를 보여준다.
    • downcon <container-name>: 지정된 컨테이너를 종료시킨다.
    • startcon <container-name>: 지정된 컨테이너를 기동시킨다.
    • pidlist: JEUS의 엔진 프로세스를 확인한다.

webadmin console

webadmin 콘솔은 JEUS의 컨테이너 내부에 기동된 서블릿 엔진의 상태를 모니터링하기 위한 명령프롬프트이다.

  • 콘솔 실행: webadmin <container-name> -Uadministrator -Pjeusadmin
  • 명령 목록
    • ti: ti는 Thread Information의 약자로 JEUS 서블릿 엔진의 컨텍스트그룹 내부의 Worker Thread의 상태를 체크하기 위한 명령어이다.
    • st -m: 현재 Container의 JVM Memory 사용 현황
    • st -r: 설정한 Context로 들어온 요청 count와 평균처리시간
    • st -s: 현재 유지하고 있는 세션 객체의 수

webadmin 반복 모니터링

webadmin 내의 모니터링 명령어를 주기적으로 자동실행하게 하려면 다음과 같은 형식으로 명령어를 실행한다.

  • <command> -i 주기(초) -k 횟수
  • 예) ti -i 2 -k 10 : ti 명령어를 2초 간격으로 10번 수행

dbpooladmin console

dbpooladmin 콘솔은 컨테이너별로 할당된 Database Pool의 상태를 모니터링하기 위한 명령프롬프트이다.

  • 콘솔 실행: dbpooladmin<container-name> -Uadministrator -Pjeusadmin
  • 명령 목록
    • Info: 해당 컨테이너에서 관리되고 있는 Database Pool의 정보가 표시된다.
    • min, max 값은 JEUSMain.xml에 설정한 Pool의 최소/최대값이며 current는 현재 풀에 보관되고 있는 실제 커넥션의 수, idle의 풀에 보관되고 있는 커넥션중, 사용가능한 개수를 의미한다.

JEUS 웹 관리자

http://hostname:9744/webadmin 로 접속하여 administrator/jeusadmin 계정으로 로그인한다.

사용자 삽입 이미지

JEUS 웹 관리자

JEUS 장애 처리

JEUS 프로세스ID (PID) 확인

JEUS의 엔진 프로세스는 다음과 같이 2가지 방법으로 확인할 수 있다.

  • ps -ef | grep java
    • -Xmx512m 이후 부분을 확인하여 JEUS Manager 프로세스임을 확인한다.
    • [-D컨테이너이름]을 이용하여 컨테이너 프로세스임을 확인한다.
  • jeusadmin 콘솔툴을 이용한 PID 확인
    • pidlist: pidlist 명령을 사용하여 PID를 확인한다.

JAVA Dump

  • 덤프 생성: kill -3 [JEUS-PID]
  • 덤프 확인: JEUS JAVA프로세스에서 생성한 덤프는 JeusServerLog에서 확인한다.
    • 예) vi $JEUS_HOME/logs/`hostname`/JeusServer_20070201.log
WebtoB 운영 및 관리

WebtoB 구동

  • wsboot
  • wsdown-I : ps -ef을 이용하여 wsm, hth, htl, html 등의 프로세스가 나타나지 않으면 정상 종료

wsadmin console

WebtoB 시스템을 관리하기 위해서 wsadmin이라는 프로그램이 제공된다. wsadmin 프로그램은 UNIX 환경의 shell과 비슷한 Command Interpreter 이다. 즉, 항상 프롬프트상태로 대기중이다가 입력되는 명령어를 해석하여 이를 실행하게 된다. 여러 Node를 한 Domain으로 사용하는 경우 wsadmin으로 전체를 중앙관리가 가능하며 각 Node 별로 로컬에서만도 관리가 가능하다.

  • wsadmin
  • 명령 목록
    • ci: 요청에 대한 현재 클라이언트 정보를 표시한다. HTH당 접속한 클라이언트의 KeepAlive 되어있는 개수를 보여준다. WebtoB단에 요청을 보내고 HTTP Session의 KeepAliveTimeout 전까지 유지되고 있는 클라이언트의 총 개수 정보이다.
    • ci -s: 현재 클라이언트의 전체 수를 표시한다.
    • si: 웹서버 환경설정 파일에서 *SERVER 절에 선언한 서버들의 수행정보를 보여준다.
    • st -s: 웹서버 환경설정 파일에서 *SERVER, *URI, *EXT 절에 설정한 서비스의 상태가 보인다.
    • st -p: WebtoB 프로세스의 상태를 표시한다. 주로 JEUS-WebtoB간 연동 상태를 확인할 때 사용한다.

wsadmin 명령 연속 보기

ci, st -s, st -p, si 등의 명령어를 다음과 같이 수행하면 주기적으로 WebtoB의 상태를 모니터링할 수 있다.

  • r -i <시간(초)> -k <횟수> <명령>
  • 예) r -i 1 -k 1000 st -s
JEUS alias 설정

.profile 참고

...
export JEUS_HOME=/jeus
...
#### JEUS alias ####
alias ja='jeusadmin `hostname` -Uadministrator -Pjeusadmin'
alias ea='ejbadmin `hostname`_ejb_engine1 -Uadministrator -Pjeusadmin'
alias wa='webadmin `hostname`_container1 -Uadministrator -Pjeusadmin'
alias da='dbpooladmin `hostname`_container1 -Uadministrator -Pjeusadmin'
alias ti='webadmin `hostname`_servlet_engine1 -Uadministrator -Pjeusadmin ti -i 3 -k 100000'
alias ss='webadmin `hostname`_servlet_engine1 -Uadministrator -Pjeusadmin st -s -i 3 -k 100000'
alias sd='webadmin `hostname`_servlet_engine1 -Uadministrator -Pjeusadmin st -d -i 3 -k 100000'
alias di='dbpooladmin `hostname`_container1 -Uadministrator -Pjeusadmin info -i 3 -k 100000'

alias jcfg='cd ${JEUS_HOME}/config/`hostname`'
alias jbin='cd ${JEUS_HOME}/bin'
alias scfg='cd ${JEUS_HOME}/config/`hostname`/`hostname`_servlet_engine1'
alias ecfg='cd ${JEUS_HOME}/config/`hostname`/`hostname`_ejb_engine1'

alias jhome='cd ${JEUS_HOME}'
alias lhome='cd ${JEUS_HOME}/logs'

alias jlog='tail -f ${JEUS_HOME}/logs/`hostname`/JeusServer_`date +%Y%m%d`.log'
alias alog='tail -f ${JEUS_HOME}/logs/`hostname`_servlet_engine1/MyGroup/accesslog/access_`date +%Y%m%d`.log'
alias elog='tail -f ${JEUS_HOME}/logs/`hostname`_servlet_engine1/MyGroup/errorlog/error_`date +%Y%m%d`.log'
alias ulog='tail -f ${JEUS_HOME}/logs/`hostname`_servlet_engine1/MyGroup/userlog/user_`date +%Y%m%d`.log'

...
http://blogfiles.naver.net/data41/2009/4/6/143/case%B5%B5%B1%B8-bookdori81.jpg?type=attachment

상용제품

Open Source

이들 외에도 개발도구인 EclipseNetBeans를 위한 plug-in 형태로 제공되는 UML 툴들이 많이 있다. 예전에 패턴 등을 공부하면서 개인적으로 설치해봤던 JVISION의 경우 2002년 1.2.1 버전에서 판이 멈춘 것 같아 목록에서 제외하였다.

StarUML은 국내의 플라스틱 소프트웨어(Plastic software)사에서 개발한 것으로, 이전에 “플라스틱(Plastic)” 혹은 “아고라 플라스틱(Agora Plastic)“이란 이름으로 더 잘 알려진 도구인데, 이것을 2005년에 오픈소스로 전환한 것이다. UML 2.0을 지원하고 있지만 아쉬운 것은 더이상 버전업이 진행되지 않는다는 것이다.

고가의 상용 제품들에 비해서 다소 부족하지만 StarUML과 함께 오픈소스로서 비교적 강력한 UML 모델링을 지원하는 도구로 언급되는 것으로 ArgoUML이 있다. ArgoUML은 Java 기반으로 다양한 플랫폼을 지원한다.

'오픈소스SW' 카테고리의 다른 글

CentOs 5.2 vsftpd 설치  (0) 2009.08.10
CentOS 5.2 Final + BIND 9.3.4  (0) 2009.08.02
Timeline 소개  (0) 2008.12.26
웹 방화벽을 구축하기 위한 mod_security 설치기  (0) 2008.12.26
웹 기반의 무료 Visio 툴  (0) 2008.12.26
오늘 소개해 드릴 프로그램은 LogMeIn Hamachi란 프로그램입니다. 뭐 하는 프로그램인고 하니 방화벽 환경이나 공유기를 통한 환경에서 가상의 네트워크 망을 구축 해 주는 프로그램 입니다. 집이나 회사에서 프로그램 외 설정 없이 편리하게 내부 네트워크 망을 사용 하는 것처럼 사용하실 수 있습니다. 원격 데스크톱이나 네트워크 드라이브, 공유 프린터 등 포드 제한없이 가상 네트워크 그룹에 속한 사람들끼리 제한 없이 사용할 수 있습니다.

LogMeIn Hamachi는 상업용 라이센스와 비 상업용 라이센스를 제공합니다. 라이센싱 페이지를 참고하시고요. Windows와 Linux, OS X를 지원합니다. 초고수님이 한글로 번역해주셔서 한글로 편하게 사용할 수 있습니다.

LogMeIn Hamachi – 다운로드

Windows 기준으로 설명 드리도록 하겠습니다.

설치 화면


image


image

image

설치 경로와 시작 메뉴 그룹명을 지정합니다. Hamachi를 Wiodows 시작시 자동으로 시작하거나 바탕화면에 바로가기 아이콘을 만들지를 체크 하실 수 있습니다.

image

Hamachi를 사용하게 되면 구성되는 네트워크망 에서는 자신의 네트워크 자원을 모두 개방한다는 의미입니다. 보안에 신경 쓰이는 분들은 “Hamachi를 통해 취약한 Widows 서비스 사용 안 함”을 체크하세요.

image

Hamachi는 무료 버젼인 기본 버전과 유료 버젼인 프리미엄 버젼을 제공합니다. 두번째를 체크하여 프리미엄 버젼을 경험하신 후 기본 버젼을 사용하시거나 땡기시면 돈주고 프리미엄 버젼을 사용하세요. 기본 버젼과 프리미엄 버젼과의 차이점 페이지를 확인하세요.

image

다음을 누르면 Hamachi가 설치됩니다. 음… 이런 설치 진행창도 좋군요.

image

설치가 완료되었습니다!

image

설치가 완료되면 Hamachi에서 제공하는 Quick Guide가 반깁니다. 여기서 하라는대로 따라하면 큰 어려움 없이 Hamachi를 사용하실 수 있습니다!

그래도… 여기까지 적으면 너무 내용이 부실하기에…

image

왼쪽 아래 버튼을 사뿐히 눌러주세요. 그럼 설정 창이 나오고 별명을 지정할 수 있는데 기본값으로 자신의 컴퓨터 이름이 등록됩니다. 확인을 누르시면 위 이미지처럼 녹색 버튼이 생기면서 자신의 IP가 할당됩니다.

자 이제 자신의 네트워크를 구성해봅시다. 오른쪽 하단 첫번째 아이콘을 누르시면 “새 네트워크 만들기”와 “기존 네트워크에 가입” 메뉴가 보입니다. 자신이 네트워크를 구성하려면 새 네트워크 만들기를 클릭하시면 됩니다.

image

네트워크 이름과 암호를 지정합니다 .암호를 입력하지 않으면 아무나 들어오니까 보안에 문제가 되겠죠. 이제 자신이 만든 네트워크 이름과 암호를 같이 공유하고자 하는 분께 알려 드리면 마치 그분과 로컬 네트워크에 있는 것 같은 환경이 됩니다.

image

가상 네트워크 그룹이 활성와 되었습니다.

image

다음은 제 집에 접속해 본 화면입니다. 여기서 spowner-com 네트워크 그룹과 spowner-home 네트워크 그룹은 서로 영향을 주지는 않습니다. 같은 네트워크 그룹에 속한 사람들끼리만 상대방 IP 포트에 접속이 가능합니다.

자! 이제 원격에 있는 사람과 Hamachi를 이용해 UDP로 스타도 할 수 있고요… 방화벽의 답답함과 공유기의 번거로운 설정할 필요 없이 Hamachi만 설치하고 네트워크에 등록만 하면 원격 데스크톱 등 불편 없이 사용할 수 있습니다!



A good gambler knows how to quit winners.
훌륭한 겜블러는 따고서 일어날 줄 안다.

A betters gambler knows how to quit losers.
더 훌륭한 겜블러는 잃고서 일어날 줄 안다.

 

Tim Bray의 Comparing Frameworks 내용 소개

이 글은 Tim Bray의 Comparing Frameworks의 내용을 참고한 글입니다.
여기서 다루는 건 연산 성능 등의 일반적인 이슈를 고려하지 않고 단지 웹 어플리케이션의 개발에 초첨을 맞추어서 작성한 글이라고 하네요.
여기서는 4가지 기준으로 분류를 하여 비교하였네요. 나름대로 의미는 있어 보입니다.

Framework

첫번째 확장성
역시 가용성(서버의 성능, 고객의 수용능력) 관점이 아닌 개발 관점에서 확정성은 PHP에 많은 점수를 줬습니다. 다양한 확장 기능을 개발하기 위해서는 자바보다는 덜 똑똑해도 된다는 입장으로 표현된 듯합니다. 한마디로 쉽게, 문제없이 어떤 개발 기능을 쉽게 확장해 나갈 수 있는 장점이 있다는 이야기로 들립니다.

두번째 개발 속도
Rails 최고의 성공작인 CRUD 지향적 개발에 장점이 있고 quick-and-clean의 의미처럼 빠르고 깨뜻하게 개발할 수 있다는 의미로 들립니다. 이건 누구도 공감하는 바 일것입니다. 뚝딱화면 하나의 웹기능이 쉽게 나온다는 말로 오해할 여지가 있어 보입니다.

세번째 개발 도구
Rails에는 TextMate가 있고 PHP에는 Zend 제품군이 있죠. 그리고 PHP와 Ruby를 지원하려는 Eclipse 기반의 작업도 진행되고 있는걸로 알고 있습니니다만 이 중 어느 것도 Java 개발자가 NetBeans나 Eclipse 또는 Idea로부터 얻는 포괄적이고, 통합되어 있으며, 잘 다듬어져 있으며, 신속히 지원되는 환경과는 거리가 멀다고 합니다. 그래서 자바의 진영에 높은 점수를 준 이유인듯 합니다.

네번째 유지 보수성
여기서 가장 중요한 요소는 객체지향성, MVC 아키텍처, 코드 가독성, 코드 크기(작으면 작을수록 좋다.)라고 생각합니다. 물론 이것은 PHP의 아킬레스건이죠. ^^ 한데 여기서는 Rails의 코드가 Java보다 훨씬 짧기 때문에 Rails가 더 낫다고 보고 있습니다. 코드의 유지보수 비용은 코드의 크기와 매우 연관성이 있다는 단지 그이유라고 하네요. 하지만 개발 기능의 복잡도를 배제한 체 단순 비교한다는 자체로도 문제가 많습니다.

하여튼 어느정도의 당위성은 보이는 대목들입니다. 이런 프레임웍의 추세가 앞으로 개발자들의 밥벌이와도 연관이 있을테니 새로운 언어와 트랜드를 익히는데 소홀하면 안될것 같네요.

+ Recent posts