'분류 전체보기'에 해당되는 글 87건
- 2009.07.17 Mac에서 IPv6 disable하기
- 2009.07.14 Spring Roo 간략 소개
- 2009.07.06 또 다른 EJB 때의 실수를 반복하고 있는 우리들... 2
- 2009.02.18 TDD의 원칙
- 2008.11.28 단아함 1
- 2008.11.28 세상 밖으로
- 2008.11.28 늦가을
- 2008.04.25 jvm option
- 2008.04.23 Ruby Programming Tip
- 2008.04.16 Artifactory 사용하기
Spring Roo 간략 소개 프레임워크2009. 7. 14. 17:34
또 다른 EJB 때의 실수를 반복하고 있는 우리들... 일상2009. 7. 6. 15:57
- 정말로 편한 spring framework의 사용
- up-front가 아니여도 맨땅에 헤딩을 쉽게 해주는 eclipse와 같은 IDE
- 작업자들의 OOAD, Design Pattern, Refactoring 등에 대한 이해 부족(???)
- transaction script를 사용하지 말고 domain model을 사용하라.
- integration test, functional test 없이 unit test만으로도 최대한의 test coverage가 나오도록 노력하라.
- 유지보수 용이성 외의 다른 이슈(예. 성능)는 해당 이슈가 진정으로 필요할 때 까지 결정(고민???)을 최대한 미루라.
2. 두번째 법칙: 실해하는 테스트가 수행되는 만큼만 테스트를 작성한다(컴파일될 만큼만).
3. 세번째 법칙: 현재 실패하는 테스트를 성공시키는 만큼만 프로덕션 코드를 작성할 수 있다. 그 이상은 안된다.
이러한 법칙을 따르면 개발자들은 어쩌면 30초 정도의 주기를 갖는 싸이클 작업을 하게 된다.
참 중요한 법칙 하나 더...
Quick & Dirty로 working 코드를 만드는 것이 끝이 아니다.
시간이 없어서 refactoring을 안하고 dirty 코드를 누적시키면 점점 더 시간이 없어질 것이다...
지금 시간이 없더라도 working 코드를 후에 변경/추가가 용이하도록 refactoring 해야 만 후에 시간이 남게 될 것이다.
Refactoring은 TDD/Agile에서 선택이 아닌 필수이다.
jvm option Java2008. 4. 25. 11:43
jmx 연결을 위한 옵션
java
-Dcom.sun.management.jmxremote.port=portNo
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false MyApp
Ruby Programming Tip Ruby2008. 4. 23. 20:28
TextMate Tip
프로젝트를 열기
mate .
. 현재 열려 있는 루비 프로그램 수행하기
cmd+r
- API Manual 보기
export RI="--format ansi --width 70"
. 클래스에 대한 정보 보기
ri GC
. 메소드에 대한 정보 보기
ri garbage_collect
. 모든 클래스 보기
ri -c
Artifactory 사용하기 프레임워크2008. 4. 16. 10:39
1. 설치하기
http://www.jfrog.org/sites/artifactory/latest에서 최신 버전을 다운로드하고 적절한 디렉토리에서 압축을 푼다.
2. 설정하기
$ARTIFACTORY_HOME/etc에 있는 artifactory.config.xml 파일을 아래과 같이 수정한다.
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://artifactory.jfrog.org/xsd/1.1.0"
xsi:schemaLocation="http://artifactory.jfrog.org/xsd/1.1.0
http://www.jfrog.org/xsd/artifactory-v1_1_0.xsd">
<localRepositories>
<localRepository>
<key>daum-internal-repository</key>
<description>daum internal repository</description>
<handleReleases>true</handleReleases>
<handleSnapshots>true</handleSnapshots>
</localRepository>
<localRepository>
<key>third-party-repository</key>
<description>third party repository</description>
<handleReleases>true</handleReleases>
<handleSnapshots>true</handleSnapshots>
</localRepository>
</localRepositories>
<remoteRepositories>
<remoteRepository>
<key>ibiblio</key>
<handleReleases>true</handleReleases>
<handleSnapshots>false</handleSnapshots>
<excludesPattern>org/artifactory/**,org/jfrog/**</excludesPattern>
<url>http://repo1.maven.org/maven2</url>
</remoteRepository>
<remoteRepository>
<key>codehaus-snapshots</key>
<blackedOut>true</blackedOut>
<handleReleases>false</handleReleases>
<handleSnapshots>true</handleSnapshots>
<excludesPattern>org/artifactory/**,org/jfrog/**</excludesPattern>
<url>http://snapshots.repository.codehaus.org</url>
</remoteRepository>
<remoteRepository>
<key>apache-m2-snapshots</key>
<handleReleases>false</handleReleases>
<handleSnapshots>true</handleSnapshots>
<url>http://people.apache.org/repo/m2-snapshot-repository</url>
</remoteRepository>
<remoteRepository>
<key>apache-snapshots</key>
<handleReleases>false</handleReleases>
<handleSnapshots>true</handleSnapshots>
<url>http://people.apache.org/maven-snapshot-repository</url>
</remoteRepository>
</remoteRepositories>
</config>
3. 실행하기
$ARTIFACTORY_HOME/bin에서 artifactory.sh를 수행한다. 이 스크립트는 jetty를 이용해서 $JAVA_HOME 환경 변수 설정이 필요하다.
8081 포트로 artifactory가 실행된다.
4. settings.xml
~/.m2/settins.xml 파일을 아래와 같이 설정한다.
<settings 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/xsd/settings-1.0.0.xsd">
<profiles>
<profile>
<id>gaia</id>
<repositories>
<repository>
<id>central</id>
<url>
http://media-install:8081/artifactory/repo
</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>snapshots</id>
<url>
http://media-install:8081/artifactory/repo
</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>
http://media-install:8081/artifactory/repo
</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>snapshots</id>
<url>
http://media-install:8081/artifactory/repo
</url>
<releases>
<enabled>false</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>
5. maven에서 artifactory 연결하기
mvn 실행시 settings.xml에서 정의한 프로파일을 정의하기 위해 '-Pgaia'를 지정하면 된다.
6. 정상적으로 동작하는지 확인하기
http://media-install:8081/artifactory로 접속 admin/password로 로긴한다. 왼쪽 메뉴에서 "Browsing/Repositories Tree"를 클릭해서 artifactory들이 보이면 정상 동작하는 것이다.
7. 3rd party artifact나 사내 artifact 등록하기
왼쪽 메뉴에서 "Deploy an Artifacts" 클릭. "찾아보기" 버튼으로 deploy할 artifact 선택하고, "Upload!" 버튼 클릭. 다음에 나오는 화면에서 groupId, artifactId 확인하고 적절하게 설정하고 deploy한다.