하루(실제로는 몇 시간 만에 작성했으로 예상되지만)만에 TDD로 개발한 프로젝트 소스를 볼 수 있다니 정말 즐겁습니다.

이 프로젝트는 취지부터가 멋집니다. 사부님이 자신이 하던 일이 반복적이여서 그걸 프로그래밍으로 간편화한 것이 바로 이 프로젝트 입니다. pom.xml 파일을 뒤져가며 엑셀로 그 의존성들을 정리하던 것을 자동화 한 거죠. 멋집니다. +_+ 그러면서도 다른 사람들에게 유용한 정보를 줄 수 있으니... 그저 멋지다는 표현밖엔 안 떠오르네요. 역시 사부님이라고 부를만 합니다.

생각난김에 이쯤에서 왜 자꾸 토비님을 사부님이라고 하는지 언급해야겠네요. 토비님은 제가 '토비님'이라고 부르는걸 달갑지 않게 생각하십니다. 채팅에서도 몇 번이나 지적을 받았고, 실제 업무 중에도 오프라인에서 '토비님'이라고 불렀다가 '이건 아니다.' 싶었습니다. 그래서 회사에서 직책 명칭인 '이사님'이라고 불렀지만 업무 중이 아닐 때에도 자꾸 '이사님'이라고 부르기는 뭐해서 마땅한 표현이 없을까 고민하던 중 떠오른 단어가 '사부님'입니다. 원래는 형이라고 부르라고 했었는데, '형'이라고 하기엔 나이차도 좀 있으시고 '형'같지 않은 포스가 느껴져서 '형님'이라고 하니까 무슨 안 그래도 덩치도 좀 있으신데 '형님' '형님'하면 안 좋은 이미지가 떠오르자나요. 그래서 이것 저것 많이 알려주시기도 하고, 업무 할 때 사수 역할도 해주시니까 '사부님'이라고 부르기로 했습니다.

사설이 엄청 길었는데요. 각설하고, 본론으로 들어가겠습니다. 일단 사부님 코드를 받으시면 에러가 납니다. 의존성 에러죠. 해결하기가 힘들겁니다. 왜냐면, 상위 pom을 사용했는데 그 상위 pom이 여러분 로컬에 있을리 만무하자나요.ㅋㅋ 하지만 그렇다고 해서 pom.xml에 상위 pom이 배포되어 있는 저장소 정보가 있는 것도 아닙니다. 결국 빨간 불이 들어온 소스 코드를 보시면서 테스트도 돌려보지 못하고 눈팅만 해야 할지도 모릅니다.

캬캬캬. 그래서 제가 pom.xml을 조금 수정했습니다. 이걸 쓰시면 테스트를 돌려보실 수 있을 겁니다.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.opensprout</groupId>
    <artifactId>s3matrix</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <dependencies>
        <!-- opensprout's spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>org.springframework.web.servlet</artifactId>
            <version>[3.0.0.BUILD-00000000000000,9.9.9.BUILD]</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>org.springframework.aspects</artifactId>
            <version>[3.0.0.BUILD-00000000000000,9.9.9.BUILD]</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>org.springframework.orm</artifactId>
            <version>[3.0.0.BUILD-00000000000000,9.9.9.BUILD]</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>org.springframework.test</artifactId>
            <version>[3.0.0.BUILD-00000000000000,9.9.9.BUILD]</version>
        </dependency>
        <!-- excel -->
        <dependency>
            <groupId>net.sourceforge.jexcelapi</groupId>
            <artifactId>com.springsource.jxl</artifactId>
            <version>2.6.6</version>
        </dependency>
        <!-- test -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.6</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-library</artifactId>
            <version>1.1</version>
        </dependency>
    </dependencies>

    <repositories>
        <repository>
            <id>spring-latest</id>
            <name>Spring Latest by OpenSprout</name>
            <url>http://www.opensprout.org/nexus/content/repositories/spring-latest</url>
        </repository>
        <repository>
            <id>com.springsource.repository.bundles.external</id>
            <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
            <url>http://repository.springsource.com/maven/bundles/external</url>
        </repository>
        <repository>
            <id>opensprout nexus</id>
            <name>OpenSprout Nexus public</name>
            <url>http://www.opensprout.org/nexus/content/groups/public</url>
        </repository>
    </repositories>
</project>