'Works/IT'에 해당되는 글 60건
- 2011.02.13 MacBookPro용 간지 노트북 쿨러..... JustMoble Cooling-Bar
- 2011.02.12 초보자의 CentOS에서 Tomcat 설치기...
- 2011.01.31 VMware for OS X 에서 한영키 셋팅
- 2010.12.02 안드로이드 에뮬레이터에 apk 파일 설치
- 2010.12.02 안드로이드 에뮬레이터에서 AVD 런치시 에러뜰 때....
- 2010.12.02 MAC OS X 최신 입문서
- 2010.12.01 단 한권으로 정리되는 모바일 산업 이야기
- 2010.11.25 무료로 개발자 교육 받으세요..
- 2010.11.12 모바일 관련 좋은 책이 나왔네요....
- 2010.11.11 최적의 네임서버를 찾아라, NameBench
회사 업무로 인해 Tomcat를 설치할 일이 생겼습니다.
설치 환경은 CentOS인데 yum을 이용하여 설치하기로 마음을 먹었습니다.
이유는 패키지를 이용하면 이후 보안 문제 등으로 버전업을 해야 할 경우 이후 관리가 용이하고,
표준화된 디렉토리 구조로 인해 후임자가 설치 환경을 파악히기 쉽다는 점 때문입니다.
그러나 톰캣 설치를 해 본적이 없는 저는 이번 일로..고생 좀 했습니다..
아래는 CentOS 설치시 개발 관련된 선택 설치는 한 상태에서 Tomcat 관련에서 추가로 설치한 패키지들입니다.
## Tomcat Package ##
tomcat5 ; Tomcat
tomcat5-webapps ; Tomcat Webapps ( /usr/share/tomcat5/webapps/ROOT 설치 화일 )
tomcat5-admin-webapps : Tomcat Admin Webapps ( http://HOST/admin 설치화일 )
tomcat5-servlet-2.4-api : Servlet API
tomcat5-jsp-2.0-api.i386 : JSP API
struts-webapps-tomcat5.i386 : Struts
## JDK ##
java-1.6.0-openjdk-devel
## MySQL ##
mysql-server.i386
mysql-server.i386
mysql-connector-odbc.i386
mysql-devel
설정 환경
- localhost를 사용하지 않고 추가 host를 이용하고 기본 ROOT ( /usr/share/tomcat5/webapps/ROOT )를 변경하는 설정
[ 설정 방법 ]
1. /etc/tomcat5/web.xml
아래 두 부분이 기본적으로 보안으로 인해 주석처리 되어 있는데 주석을 지워준다.
<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
2. /etc/tomcat5/server.xml
설정 화일 맨 끝부분 </Engine>이 닫히기 전에 아래 부분을 삽입한다.
<Host name="hostname" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Alias>10.0.0.1</Alias>
<Alias>test.domain.co.kr</Alias>
</Host>
3. /etc/tomcat5/Catalina/hostname/ROOT.xml
기본적으로 설정 디렉토리 밑에 있는 Catalina 디렉토리를 이동하면 localhost 디렉토리가 있다.
그러나 server.xml에서 설정한 <Host> name과 동일한 디렉토리를 만들고 거기에 ROOT.xml을 생성하여 아래 내용을 넣는다.
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/App/wcms/dist/webapp"
privileged="true" antiResourceLocking="false" antiJARLocking="false"
reloadable="false" >
</Context>
4. /etc/profile
패키지로 설치할 때 가장 고민하는 부분이죠... 패키지의 디렉토리 구조를 정확하게 파악해야 한다는...
제가 몇 차례 시행 착오 끝에 얻어낸 설정 내용입니다.. ( CentOS 5.5에서 패키지로만 설치했을 때 설정내용입니다. )
export JAVA_HOME="/usr/lib/jvm/java"
export CLASSPATH=.:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/common/lib:/usr/share/java/tomcat5- servlet-2.4-api.jar:/usr/share/java/tomcat5-jsp-2.0-api.jar
export PATH=$PATH:$CATALINA_HOME/bin:/usr/bin
5. $ROOT/WEB-INF/lib/mysql-connector-java-5.1.15-bin.jar
http://www.mysql.com/downloads/connector/j 에서 mysql-connect를 다운 받아... WEB-INF/lib 밑에 복사해 넣는다.
[ 설정 관련된 정보 ]
설정에 관해서 인터넷 검색을 통해서 찾아본 자료들이 많이 틀리더군요..
나중에 안 것인데.... 버전 별로 설정들이 조금씩 다르더군요....
최근 Tomcat 5.5를 기준으로 설정 관련해서..제가 정리한 자료들입니다.....
1. servlet-api
인터넷 검색을 통해서 보니.. servlet-api.jar 설정 관련된 부분이 나옵니다..
그런데 yum을 설치한 시스템에서는
tomcat5-servlet-2.4-api.jar
servletapi5.jar
있더군요..뭐가 틀린지 궁금했었는데...http://blog.naver.com/webpro000/60035380483 에 아래와 같은 내용이 있더군요..
servlet-api.jar 와 servlet.jar 파일은 tomcat에서 servlet 엔진 역할을 하는 모듈로서
servlet.jar 는 톰켓 4.x 이전 버젼,
servlet-api.jar는 톰켓 5.x 버전 부터 사용된다.
Tomcat 버젼별 지원하는 Servlet 버젼
3.x 대.. Java Servlet 2.2 and JSP 1.1
4.x 대.. Java Servlet 2.3 and JSP 1.2
자세한 내용은 다음 사이트를 참고 하세요
http://java.sun.com/products/servlet/download.html
서블릿을 개발하려면 이런 설정이 필요하다.
tomcat 4.x
tomcat_4.x_home/common/lib에 있는 servlet.jar -> java_home/jre/lib/ext에 copy
tomcat_5.x_home/common/lib에 있는 servlet-api.jar, jsp-api.jar -> java_home/jre/lib/ext에 copy
5.0 부터는 servlet-api.jar 와 jsp-api.jar 로 나뉘어서 같은 디렉토리에 존재합니다.
2. Context 설정
톰캣 초기에는 server.xml에서 context를 설정했으나...
지금은 조금은 바뀌어 context.xml 또는 $TOMCAT_CONFIG/Catalina/HOST/ROOT.xml 에서 설정한다.
물론 server.xml / context.xml에서 설정해도 된다.
3. Tomcat Admin 설정 ( /etc/tomcat5/tomcat-users.xml )
tomcat5-admin-webapps 패키지를 설치하면 웹 상에서 톰캣의 설정을 할 수 있다. Host나 Context 추가도 웹으로도 가능하다.
그러나 실제로 해 보니...부분적으로 에러 나는 부분이 있고, 설정을 한 후에는 설정 내용으 바로 반영이 안되는 단점이 있어 "다시 읽기"를 해야 한다.
http://hostname/admin 로 접속하면 아이디와 암호를 물어보는데 관리자 권한이 있는 아이디를 입력해야 한다.
예를 들어 tomcat이란 계정에 그 권한을 부여하려면 roles에 admin,manager를 추가시켜준다.
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomca,admin,manager"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
4. 각종 다운로드 위치
[Apache] http://httpd.apache.org/download.cgi
[MySQL] http://dev.mysql.com/downloads
[MySQL-Connector] http://www.mysql.com
[PHP] http://www.php.net/
[JDK ] http://java.sun.com/
[Tomcat] http://jakarta.apache.org/
[Tomcat-connector] http://jakarta.apache.org/site/downloads/downloads_tomcat.html
5. Apache와 Tomcat을 같이 쓰는 이유
Web 컨테이너는 웹 서버 기능이 있다. 톰캣도 마찬가지로 웹 서버기능이 있으나...아파치를 연동해서 쓴다.
이는 정적인 페이지는 아파치가 빠르기 때문에, JSP나 Servlet 부분을 제외한 페이지는 아파치를 이용한다.
6. WEB-INF/lib
라이브러리를 쓰기 위해서는 환경변수 $CLASSPATH에 넣어야 하는데 WEB-INF/lib에 밑에 복사해 넣으면 동일한 효과가 있다.
Tomcat을 전혀 모르는 상황에서 설치한 것이기 때문에 전체적인 이해가 부족하더라도 조금이나마 도움이 되시길 바랍니다.
작년에 맥북프로를 사면서...
기존에 있는 PC와 맥북프로를 병행해서 사용했었다...
그러다 보니... 맥북프로에서 윈도우는 거의 사용할 일이 없었다..
그러나....컴 활용도가 분산되면서...데이타 관리가 번거로워져서
결국 맥북프로에서 모든 업무를 집중화하기로 했다...
그러다 보니...기존에 못 느꼈던.. 불편함이..크게 부각되었다...
그중 하나가 VMware에서 한영 전환...
인터넷을 찾다 보니...비교적 쉽운 해결방안이 있어 소개한다...
나는 맥에서 VMware를 이용해 윈도우를 이용하기 때문에 그것만 소개하고
그외 경우는 다음 URL를 참고하기 바랍니다.
결론부터 말하면
맥에서 한영 전환은 Command + Space
VMWare 한영 전환는 우측 Command 입니다..
또 하나..본 포스팅은 신형 맥북을 기준으로 합니다. 구형은 위 URL을 참조하세요
먼저 VMware의 설정판을 선택합니다.
안드로이드 에뮬레이터를 처음 실행시키면 초기화된 전화기가 나타난다.
여기에 apk 파일을 설치하려면 adb라는 프로그램을 이용하면 된다.
일단 준비 과정으로 설치하고자 하는 apk 파일을 adb가 들어있는 $android_Home\tools 밑에 복사해 넣는다.
물론 $android_Home\tools가 환경변수 PATH에 설정되어 있으면 안해도 된다.
( apk화일이 들어있는 절대 경로를 넣기 귀찮아서 하는 작업이므로.. )
1. 안드로이드 에뮬레이터를 실행시킨다.
로 확인 가능하다.
위 그림과 같이 디바이스 목록이 나와야 한다.
2. 파일 설치는 도스창에서 adb install <패키지명>을 입력하면 된다.
c:\> adb install <패키지명> ;; 설치
c:\> adb install -r <패키지명> ;; 재설치
c:\> adb uninstall <패키지명> ;; 삭제
위 그림과 같이 Seccess 가 보이면 잘 설치가 된 것이다.
안드로이드 애뮬레이터를 실행시켰을 때 위와 같은 에러가 발생한다면
AVD가 생셩된 디렉토리가 "한글"이 포함되어 있어서 그럴 가능성이 크다.
보통 사용자명을 한글로 만들기 때문에 생기는데
이를 해결하기 위해서는 AVD를 한글이 포함되지 않은 디렉토리로 옮기면 해결된다.
도스창에서
c:\$android_home\tools\android.bat move avd -n
을 실행해 주면 됩니다.
자세한 옵션은 http://www.monstercode.net/tc 을 참고하시기 바랍니다.
우연히 쑤머님의 블로그( http://blog.naver.com/ssumer )를 구독하다가 OS X 입문서를 집필하신 것을 알게 되었다.
책 소개에 아래 부분이 눈에 띄어 쑤머님께 질문을 하다 보니..
읽어보라고...책을 한권 보내주셨다...
Mac을 올해 처음 써본지라..낯설었던 내가 처음 찾은 한글 입문서는
작년에 나온 "Macintosh Guide Book"
그나마 그 이전에 씌어진 책이 작년에 개정판으로 나온 것이라
하루가 다르게 바뀌는 맥에 대해서는 조금은 아쉬운 점이 많은 책이였다.
"Macintosh Guide Book"은 OS X부터 iLife와 iWork는 물론 응용프로그램까지
폭 넓게 다루고 있어 정작 OS X는 약간 소홀한 편이였는데
이번에 나온 "Mac OS X 실무 테크닉"은 OS X에 충실한 편이였다.
맥에 대한 소개, OS X, 시스템 설정, 가상머신에 대해서만 중점적으로 다루고 있어
입문서로는 "Mac OS X 실무 테크닉"이 조금 더 낫지 않나 싶다.
Windows에 익숙해져 있던 내가 Mac을 처음 접하면서 겪었던
많은 문제점들이 비교적 많이 소개되고 있었다.
저와 비슷하게 윈도우만 쓰던 분들이 맥을 입문하신다면
이 책이 많은 도움이 되리라 생각이 든다.
한 2주전 쯤에..."모바일 이노베이션"이란 좋은 책 하나를 선물 받았습니다.
김지현님(@oojoo)께서 지으신 책인데 제가 근 일년간...아니..최근 몇년간을
보아왔던...모바일 산업을..한권으로....깔끔하게 정리한 책이였다.
저도 모바일은 사용자 입장에서 많이 접하는 편이라
포털에서 보는 모바일 산업 분석에 대해 참 많이 궁금했었는데, 이 책으로 많은 궁금증이 해소되었다.
간혹 모바일 산업 관련 세미나에서 포털에서 내놓는 분석 자료를 보면서
기존 유선 인터넷과 다른 양상을 보이는 무선 인터넷 사용자의 패턴을 보고
그럴수도 있겠구나..했었는데...관련 이야기와 근본적인 원인을 잘 정리해 주고 있었다.
이 책은 최근 불어오는 플랫폼의 변화, 한국 모바일 현황,
모바일 산업 분석, 모바일의 미래로 4개 장으로 나누어
국내의 모바일 업계의 현황을 정확하게 진단하고 있었다.
이 책은 편집에서도 다른 책과는 조금 차별점을 둔 것이 눈에 띄었다.
본문 간간이 Insight라는 항목으로 이해를 돕고
책에는 실리기 힘든 콘텐츠는 QR코드를 이용,
스마트폰으로 관련 자료를 볼 수 있게 해 준 점이 좋았다.
다만 본문 중간에 실린 그림 자료가 어두운 바탕으로 되어 있었서
가독성이 조금은 떨어지는 것이 조금은 아쉬웠다.
모바일 산업에 대해 궁금하시거나 정리가 필요하신 분은 이 책을 한번쯤 읽어보시면 많은 도움이 되리라 생각한다.
Device Driver Programming 과정등을
기대되는 책이 하나 나왔네요...
개인적으로는 잘 모르지만...세미나 장에서 자주 뵈서..
아는 것 처럼..착각을 일으키는 다음의 "김지현"님이 새 책을 내셨네요..
블로그 보니...43번째인가 책인라고 되어 있던데..대단하시네요...
스마트폰으로 인해 갑자기 새로운 모바일 바람이 불고 있는데...
그에 대한 비전을 잘 제시해 줄 것이라 생각되는 책입니다.
아직 실물을 보지 못해서 내용은 뭐라 말할 수는 없지만
평상시 저자의 강연을 수차례 들어본 경험으로 미루어 보아
괜찮을 것이라 생각이 드네요..
시간 나면.. 서점 가서..읽어봐야겠어요... ( 안 사겠다는 얘기는 아님..ㅋㅋ )
트위터를 하는 이유 중 하나가..괜찮은 어플을 가끔 소개 받기 때문입니다...
이번에도 괜찮은 어플 하나를 찾은 것 같습니다..
우리는 현재 네임 서버 정보를 ISP로 부터 자동으로 받거나
네트워크 관리자가 알려준 것을 이용하곤 하는데..
이는 성능과는 대개 무관합니다.
왜냐면...네트워크마다 각 DNS 서버의 도달 시간이 달라지기 때문에
서비스 체감 속도가 달라지기 때문입니다.
그러나 그것은 체감속도일 뿐 정확한 측정하는 툴을 찾기가 그리 쉽지 않았을 것입니다.
내가 현재 사용하고 있는 DNS 서버에 대한 성능을 측정해 주는 툴을 한번 사용해 보시기 바랍니다.
http://code.google.com/p/namebench/
다운 받아 실행해 보면...한 5분정도 시간은 걸립니다.
여러가지로 테스트를 하더군요..
저의 경우 KT 네임서버를 쓰고 있었는데...
하나넷을 쓰면...17.8%의 성능이 향상될 수 있다네요..
여러분들도 한번 해 보세요...