Home avatar

Deokgon Kim

Trac + SVN 을 사용하여 협업하기

개발업무를 하면, 당연히 소스코드를 관리할 필요가 있습니다. 그래서 일반적으로 CVS SVN GIT … 등의 소스 버전 관리툴을 사용합니다. 하지만 잘못 사용하고 계신 사용자 분도 계십니다. ( ex. 커밋시점 등. 테스트가 완료되지 않은 코드를 커밋하여 테스트. )

저는 trac 이란 툴과 SVN을 사용하여 협업을 하고 있습니다.

SVN에서 소스코드를 관리해 주고, Trac을 통해 타임라인 확인(히스토리), wiki 기능을 통한 문서 및 지침사항 정리, ticket을 통한 이슈 사항 관리를 하고 있습니다.

저는 현재 trac의 레포지토리 관리를 제 업무특성상, 고객사별로 레포지토리를 만들어 사용중입니다. 차후 버전에서는 멀티레포지토리를 지원한다고 하는데, 정확하게 어떻게 되는지는 모릅니다.

Java jarcheck.jsp로 클래스 파일 찾기

Java 웹애플리케이션에서 클래스 파일의 실제 위치를 찾을 때 사용하는 유용한 jsp

    String reqName = null;
    java.net.URL classUrl = null;
    reqName = request.getParameter("reqName");
    if (reqName == null || reqName.trim().length() == 0) {
        reqName = "javax.servlet.http.HttpServlet";
    }
    if (reqName.trim().length() != 0) {
 	reqName = reqName.replace('.', '/').trim();
	reqName = "/" + reqName + ".class";
        classUrl = this.getClass().getResource(reqName);
        if (classUrl == null) {
            out.println(reqName + " not found");
        } else {
            out.println("<b>" + reqName + "</b>: [" + classUrl.getFile() + "]\n" );
        }
        out.println("<br>");
    }

소스의 출처/원본은 javaservice.net 입니다.

JSP 에러 페이지

JSP 페이지에서 errorPage 로 사용할 수 있는 페이지입니다.

<%@ page contentType="text/html;charset=EUC-KR" isErrorPage="true"
    import="java.io.CharArrayWriter, java.io.PrintWriter"%>
<%
if (exception != null) {
  out.println(exception.getMessage());
  CharArrayWriter charArrayWriter = new CharArrayWriter();
  PrintWriter printWriter = new PrintWriter(charArrayWriter, true);
  exception.printStackTrace(printWriter);
  out.println(charArrayWriter.toString());
}
%>

Oracle JDeveloper 10g 에서 기본으로 제공하는 페이지 샘플을 가져옴.

Java 웹 세션타임아웃 설정?

자바 웹애플리케이션에서 세션타임아웃은 web.xml 에서 정의합니다.

<web-app>
    <session-config>
        <session-timeout>35</session-timeout>
    </session-config>
</web-app>

단위는 분(minute)입니다.

Apache DAV를 사용하여 웹폴더 활용

아파치에서 제공되는 mod_dav 모듈을 사용하여 웹폴더를 사용할 수 있습니다.

http://httpd.apache.org/docs/2.2/mod/mod_dav.html

간단한 웹폴더 설정 예제

Alias /dav "/home/www/dav"
<Location /dav>
    Dav On
    <LimitExcept GET OPTIONS>
        Order deny,allow
        Deny from all
        Allow from 10.8.0.0/255.255.255.0
    </LimitExcept>
<Location>

/dav 경로를 웹폴더로 지정하였으며, IP주소가 10.8.0.0/24인 사용자만 사용할 수 있도록 제한한 예입니다.(저는 VPN접속으로 사용하고 있습니다.)

시간동기화

유닉스, 리눅스에서는 ntpdate라는 명령으로 시간을 특정서버(Time Server)의 시간과 동기화 할 수 있습니다.

문법은 아래와 같이 간단합니다.

ntpdate time.bora.net

단, ntpd 혹은 xntpd와 같은 데몬이 구동되어 있을 경우는 명령이 제대로 동작하지 않으며 데몬을 죽이고 명령을 내리면 됩니다.