본문 바로가기

Define Java

익스트림 프로그래밍 (XP, eXtreme Programming) 익스트림 프로그래밍(XP) 익스트림 프로그래밍(XP, eXtreme Programming)은 최근의 소프트웨어 개발 방법론 분야에 새로 등장한 개발 방법론이다. XP의 큰 장점은 막판에 스펙이 변경되는 일이 있어도 고객이 원하는 것을 고객이 원하는 기한에 맞춰서 제공할 할 수 있다는 점이다. 1. 조금씩, 하지만 자주발표한다. 2. 사이클을 반복해서 돌리면서 개발한다. 3. 스펙에 없는 것은 절대 집어넣지 않는다. (아무리 그 기능이 나중에 쓰일 것 같은 느낌이 들어도 그러지 않는 것이 좋다.) 4. 테스트코드를 먼저 만든다. 5. 야근은 하지마라. 항상 정규 일과 시간에만 작업한다. 6. 기회가 생기는 족족 언제 어디서든 코드를 개선하라. 7. 모든 테스트를 통과하기 전에는 어떤 것도 발표하지 마라. .. 더보기
Spring Framework Spring Framework Spring Framework는 2002년에 발간된 Rod Johnson의 저서 "Expert One-on-One J2EE Design and Development"에서 소개된 소스코드와 디자인 패턴들을 다시 정리하면서 2003년 초에 오픈소스로 시작된 프로젝트이다. 스프링의 목적은 J2EE 기반의 Web Applicaion을 쉽게 제작하는 것을 목적으로 하고 있으면서 J2EE 서비스에 종속되지 않고 계층화, 모듈화가 잘 되어 있는 유연한 프레임워크이다. 스프링은 각종 Bean의 생성 하고 관리를 하는 Light Weight 컨테이너로써 다른 프레임워크와 결합에 매우 중요한 역활을 한다. Core 패키지는 프레임워크의 가장 기본적인 부분이고 당신에게 bean컨테이너를 기능적.. 더보기
MVC 패턴 Model, View, Controller MVC 패턴 Model, View, Controller 1. Model MVC 패턴중 MODEL 영역은 비즈니스 로직을 구현하는 부분이다. 대부분의 Application의 데이터는 데이터베이스에 의해 관리되고 Java에서는 JDBC API를 이용하여 접근하고 사용한다. JDBC API를 이용하여 쿼리문을 날려 그 결과를 전달받는 형태의 모델이 가장 기본적이고 가장 많이 사용되고 있다. Model이란 실질적으로 일을 처리하고 그 데이터를 가공하는 역활을 하는 영역을 뜻한다. 데이터 베이스 접근, 데이터 추가, 데이터 수정, 데이터 삭제 등 사용자가 어떠한 일을 처리하는것을 뜻한다. 2. View 뷰 영역은 개발자 보다는 디자이너와 밀접한 연관이있다. 이 부분은 프리젠테이션 로직으로써 실질적인 End-Use.. 더보기
PreparedStatement와 Statement PreparedStatement와 Statement JDBC를 사용한다면 PreparedStatement(이하 pstmt)와 Statement(stmt)를 사용하게 될것이다. 과연 이둘의 차이점은 무엇일까? 필자도 JDBC쪽을 처음 공부할 때 도대체 "째 둘은 이름은 비슷하고 하는일도 비슷한데 왜 나누어져 있을까?" 이런 의문이 들었었다. 우선 두 객체를 사용하여 Result를 가져오는 방법이다. Connection conn = getConnection(); String query = null; String userId = "admin"; query = "SELECT * FROM USER WHERE USERID=?"; PreparedStatement pStmt = conn.prepareStatement(.. 더보기
for문에 날개를 달아 더 빠르게 만들기 For문을 더욱더 빠르게~ 1. 임시로 데이터를 저장한다. for(int i=0; i 더보기
Strategy Pattern #1 Strategy Pattern 스트래티지 패턴이란 각각의 기능을 하는 클래스를 캡슐화하여 이것을 교환하여 사용할 수 있도록 만드는 역활을 한다. 즉 현재 사용하고 있는 기능(클래스)를 동적으로 변경하여 적용 시킬 수 있다. 간단하게 예를 들자면 로봇 게임이 있다고 하자. (갑자기 http://www.defineyou.net/ 에서 본 로롯코드가 생각나서....) 이 로봇게임에는 여러가지 종류의 로봇이 나온다. 이 여러 종류의 로봇을 제작하기 위해서는 Robot 이라는 클래스를 상속 받아서 제작한다. Robot Class에는 다음과 같은 기능이 있다. turn(); 돌고 도는 메소드 move(); 이동을 하는 메소드 attack(); 공격을 하는 메소드 각 로봇에는 display(); 라는 모양을 뿌려주는.. 더보기
자바 소스파일 분석 자바 소스파일 분석 더보기
자바코드의 구성 자바코드의 구성 더보기
Model1개발 방식과 Model2 개발 방식 Model1개발 방식과 Model2 개발 방식 모델1 방식 모델1 개발방식은 웹 개발자라면 누구나 다 아는 개발 방식이다. 디자인코드(뷰)와 프로그램코드(비지니스 로직)를 따로 구분하지 않고 하나의 파일 또는 여러개의 파일에 넣어 사용하여 제작하는 방식이 모델1 방식이다. 모델 1방식은 비즈니스 로직 즉 프로그램처리 결과에 따라 보여지는 View 페이지를 바꿔주는 것이 쉽지가 않다. 즉 처리 결과에 따라 페이지를 바꿔야 할 경우 처리가 애매하다는 이야기다. (If 문으로 처리한다는 이야기는 스탑. 그런 간단한 이야기가 아니다) 즉 모델1방식은 비지니스로직과 뷰의 구분선이 명확하지 않기 떄문에 구분이 어려우며 재활용성이 떨어진다. 모델1방식은 배우기도 쉬우며 빠르게 개발도 가능하다. 하지만 유지보수시 비지.. 더보기
프레임 워크란? 프레임 워크란? 사전적 의미로는 "어떠한 것을 이루는 뼈대, 기본 구조"를 뜻한다. 소프트웨어에서의 프레임워크란 "소프트웨어의 특정 문제" 또는 "소프트웨어 제작을 편리하게 할수 있도록 "미리 뼈대를 이루는 클래스와 인터페이스를 제작하여 이것들을 모아둔 것" 이라고 할 수있다. 지금 프레임워크에 대해서 글을 쓰고 있는 필자도 프레임워크를 처음 접할 때 도대채 이것을 왜 사용할까? 이것을 사용하면 더 편하게 작업할 수 있을까? 프레임워크가 과연 무엇이길레... 이런생각을 자주 하곤 했다. 필자의 생각으로는 프레임워크를 알기 위해서는 프레임워크를 사용 해 보는것이 가장 빠른 길인거 같다. 몇년동안 프레임워크 프레임워크 하는 소리를 듣고 인터넷을 찾아보고 하였지만 역시나 한번 사용해 보니 이런게 프레임 워크다.. 더보기