본문 바로가기

개인 개발 서버 설치 및 설정 (Ubuntu) 1. Ubuntu 설치 환경VMWare 설치Ubuntu 64-bit, CPU 1 core, RAM 1GB, 20GBUbuntu Version : Desktop 14.04.3 LTS (AMD, 64bit) 2. Ubuntu 설치 소프트웨어Apache + PHP + mysql + phpMyAdmin 설치http://luckyyowu.tistory.com/105Apache + phpMyAdmin 연동 필요http://www.kalcapt.net/blog/ubuntu-phpmyadmin-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0/redishttp://idroot.net/tutorials/how-to-install-redis-on-ubuntu-14-04/내용 중 service on/off시.. 더보기
개인용 Java 기반 프로젝트 환경 설치 - (6) Oracle 1. 개요 오라클은 다른 설명이 필요없을 정도로 가장 널리 사용되는 데이터베이스 중 하나이다. 이 포스팅에서는 개인용 개발환경에 오라클을 설치하는 과정을 기록한다. 단, 설치 과정에 대해서는 많은 곳에 포스팅 되어 있으므로, 별도의 설명은 생략하고, 주로 설치 후 설정 과정을 설명한다. 설치 기준 오라클의 버전은 11g를 기준으로 한다. 2. 메모리 설정 메모리가 충분한 환경이라면 상관없겠지만, 일반적인 32bit 운영체제의 PC는 4기가의 메모리를 지원하며, 이마저도 전체를 사용할 수 없는 경우가 일반적이다. 따라서, 오라클 기본 설치시 설정된 메모리 그대로를 사용하면 다른 프로그램을 운영하기 힘든 상황이 되어 버린다. Enterprise Manager를 사용하면 오라클의 각종 설정을 비교적 간편하게 .. 더보기
[서적 핵심 정리 - 토비의 스프링 3] Ch5. 서비스 추상화 Enum자바 5 이상에서 제공숫자 형식으로 정의된 상수를 정의하는 것보다 Enum으로 필요한 값을 정의하는 것이 예외 상황을 피하기 좋음 트랜잭션 (Transaction)데이터베이스에서 최소 작업 단위 (더 이상 나눌수 없음)데이터베이스 트랜잭션의 ACID 특성원자성(Atomicity)트랜잭션은 더 이상 나눌수 없는 작업 단위트랜잭션은 모두 실행되거나, 모두 실패해야 함 일관성 (Consistency)트랜잭션은 데이터 무결성 조건을 만족해야 함트랜잭션이 성공하면, 데이터베이스는 언제나 일관성 있는 상태로 유지되어야 함고립성 (Isolation)트랜잭션은 다른 트랜잭션과 독립적으로 수행되어야 함 (서로 영향을 주어서는 안됨)지속성 (Durability)성공적으로 수행된 트랜잭션에 대해 그 결과가 물리적으로.. 더보기
[서적 핵심 정리 - 토비의 스프링 3] Ch4. 예외 대표적인 잘못된 예외처리예외 블랙홀try-catch 구문으로 감싼 코드 중, 예외에 대한 어떤 처리도 하지 않는 코드를 지칭모든 예외는 적절하게 복구되거나, 작업을 중단하고 운영자/개발자에게 통보되어야 함무의미하고 무책임한 throws특별한 사유 없이 throws Exception을 붙여 예외를 넘겨버리는 코드이렇게 처리한 메소드를 사용하는 메소드에서는 Exception에 대해 try-catch하거나, throws Exception으로 넘겨버릴 수 밖에 없음 예외의 종류와 특징Errorjava.lang.Error 클래스의 서브 클래스VM에서 발생시키고, 애플리케이션에서 해결할 수 없는 에러이므로, 특별한 상황 외에 처리할 필요 없음e.g. OutOfMemoryError, ThreadDeath체크 예외 (.. 더보기
[서적 핵심 정리 - 토비의 스프링 3] Ch3. 템플릿 템플릿-콜백 패턴전략 패턴의 구조를 가지나, 익명 내부 클래스로 전략을 생성하여, 이를 넘겨주는 형태의 패턴템플릿전략 패턴의 컨텍스트즉, 전략을 수행하기 전/후의 작업이나 전략 수행 과정을 정의한 클래스콜백Functional Object전략의 실행 과정을 기술한 오브젝트로, 다른 오브젝트의 메소드에 전달되는 오브젝트 스프링에는 다양한 자바 엔터프라이즈 기술에서 사용할 수 있도록 미리 만들어져 제공되는 수십가지 템플릿/콜백 클래스와 API가 존재 JdbcTemplete스프링에서 제공하는 템플릿-콜백 형태의 JdbcTemplete 더보기
[Maven] Dependency의 JavaDoc, Source를 이클립스에 다운로드하는 방법 1. pom.xml에 다음을 추가하여 maven-eclipse-plugin 플러그인을 추가 (굵은 글씨체 부분이 중요) maven-eclipse-plugin2.82.0/truetrue 2. pom.xml 파일을 우클릭한 후, Run As > Maven Build...를 수행 3. Goal에 eclipse:eclipse를 추가한 후, 실행 출처: 자바 세상의 빌드를 이끄는 메이븐 (박재성 저) 더보기
[서적 핵심 정리 - 토비의 스프링 3] Ch2. 테스트 단위 테스트 (Unit Test)주로 클래스/메소드 단위로 수행하는 작은 단위의 테스트주로 프로그래머에 의해 만들어지므로, 프로그래머 테스트라고 하기도 함 JUnit자바 단위 테스트 프레임워크사용 방법@Test메소드에 @Test 어노테이션을 부여하고 JUnit을 실행하면 테스트를 수행assertThat2개의 매개변수를 (조건에 의해) 비교하여, 올바르지 않을 경우 예외를 발생@Test(expect=[Exception 종류].class)특정 Exception이 발생함을 검증하기 위해 사용하는 어노테이션@Before, @After매 JUnit 테스트 케이스를 실행하기 전후에 수행할 메소드에 사용하는 어노테이션이 어노테이션은 매 테스트 케이스마다 실행되므로, 모든 테스트에 공통으로 사용하는 정보나 오브젝트(F.. 더보기
MySQL 외부 접속을 위한 점검 사항 이 포스팅에서는 MySQL을 외부 PC에서 접속하기 위한 설정을 정리한다. 1. my.ini 설정 변경bind-address설치시 초기에 이 항목은 127.0.0.1로 설정되어 있다.MySQL이 설치된 PC의 외부 IP로 변경해준다. (또는 0.0.0.0으로 설정하면, 내/외부 IP를 포함하여, PC의 모든 IP를 매핑해준다.)참고 사이트 : http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html 2. 3306 포트/또는 MySQL 프로세스에 대한 방화벽 해제 여부 확인 3. root 또는 액세스하기 위한 계정의 외부 접속 가능 여부 확인User의 Host 항목에 %가 추가되어야 한다. 4. PHPM.. 더보기
개인용 Java 기반 프로젝트 환경 설치 - (5) 표준 프레임워크 - 서버용 개발환경 1. 개요 전자정부 프레임워크는 공공 사업에서의 프레임워크 일원화, 컴포넌트 표준화 등의 목적으로 정부 주도하에 개발된 프레임워크이며, 더 자세한 내용은 하기의 홈페이지에서 확인할 수 있다. 표준프레임워크 : http://www.egovframe.go.kr/ 표준 프레임워크의 서버 환경은 아래와 같은 환경을 제공하며, 설치시 별도의 연동이나 설정을 최소화함으로써 효율적인 서버 환경을 구축할 수 있도록 해준다. 현재 설치할 서버 버전은 2.0.0이며, 표준 프레임워크 홈페이지의 "다운로드 > 개발환경"에서 "서버용 개발환경"을 다운로드 받으면 된다. 2. 설치 과정 표준 프레임워크 서버용 개발환경은 아래와 같이 구성되어있다. TomcatSubversionMavenHudsonNexus 설치는, 원하는 컴포넌.. 더보기
개인용 Java 기반 프로젝트 환경 설치 - (4) Redmine 과 Mercurial, MyLyn, Email 연동 1. 개요 레드마인은 서브버전, 머큐리얼 등 소스 버전 관리 툴과 연동할 수 있는 기능을 제공한다. 현재 BitNami Redmine은 다음과 같은 저장소와의 연계를 기본적으로 지원한다. SubversionDarcsMercurialCVSBazzarGit 또한, 레드마인은 이클립스 플러그인인 MyLyn과 연동이 가능하고, 메일을 연동하여 매 변동사항을 관련자에게 메일로 전달할 수 있다. 이번 포스팅에서는 Redmine에 아래와 같은 설정을 하는 절차를 알아본다.Mercurial 저장소를 연동하여 Redmine에서 소스 관리가 가능하도록 한다. Eclipse MyLyn Plug-in 과 연동하여, Redmine의 일감을 MyLyn과 동기화한다. Redmine에 메일을 연동하여, 일감이 변경될 때마다 관련자에.. 더보기