전체 글 474

옵저버 패턴

출판사+구독자=옵저버 패턴 1. 신문사가 사업을 시작하고 신문을 찍어내기 시작합니다. 2. 독자가 특정 신문사/잡지사에 구독 신청을 하면 매번 새로운 신문/잡지가 나올 때마다 배달을 받을 수 있습니다. 계속 구독자로 남아있는 이상 계속해서 신문/잡지를 받을 수 있습니다. 3. 신문을 더 이상 보고 싶지 않으면 구독 해지 신청을 합니다. 그러면 더 이상 신문이 오지 않습니다. 4. 신문사가 계속 영업을 하는 이상 여러 개인 독자, 호텔, 항공사 및 기타 회사 등에서 꾸준히 구독 및 해지를 하게 됩니다. 옵저버 패턴(Observer Pattern)에서는 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다(one-to-many)의존성을 정의합니다...

디자인 원칙

* 1. 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분으로부터 분리 시킨다. "바뀌는 부분은 따로 뽑아서 캡슐화시킨다. 그렇게 하면 나중에 바뀌지 않는 부분에는 영향을 미치지 않은 채로 그 부분만 고치거나 확장할 수 있다" - 모든 패턴은 '시스템의 일부분을 다른 부분과 독립적으로 변화시킬 수 있는 방법' 을 제공하기 위함 2. 구현이 아닌 인터페이스에 맞춰서 프로그래밍 한다. 3. 상속보다는 구성을 활용한다. 4. 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해야 한다. - 느슨하게 결합하는 디자인을 사용하면 변경 사항이 생겨도 무난히 처리할 수 있는 유연한 객체지향 시스템을 구축할 수 있다. 객체 사이의 상호의존성을 최소화할 수 있기 때문이다. * 5...

스트래티지 패턴

변할수 있는 행동(메소드) - 알고리즘군 - 을 캡슐화하고, 캡슐화된 인터페이스를 구현한 각각의 행동클래스를 만든다. 이로인해 , 변할수있는 행동이 따로 분리 되고, 캡슐화하여 구현했기 때문에 , 매우 유연하고 느슨한 결합도(loose coupling)를 갖도록 설계가 가능하다. 슈퍼클래스가 캡슐화된 인터페이스를 포함하고, setter메소드(인터페이스 i)를 만들어 슈퍼클래스의 자손클래스에서 해당 인터페이스를 구현한 클래스라면 언제든지,무엇이든지 행동을 변경할 수 있다. 그리고 만들어놓은 행동클래스를 다른객체에서도 재사용할수있다. 또 기존의 행동클래스를 수정하거나 슈퍼클래스를 수정하지않아도 새로운 행동을 추가 할수있다.

4학년과목인 웹프로그래밍 기말고사를 마지막으로 1학년1학기 기말고사 종료.

휴.. 기말고사가 끝났다 .. 후련하군. B학점 턱걸이로 나올듯하다 .. 어제 외식을 했다 파주에 있는 오리고기 집으로 .. 와 정말 맛나더라 ~ 너무너무 맛있었다 . 엄마 아빠가 계속 드시진 않고 굽기만 하셔서 먹는데 편치 않았다 .. 굽지말고 드시라고 .. 내가 굽는다 라고 말하고 싶었는데 쑥스러워서 말을 못했다.. 일산가기 전날 비트컴퓨터학원에서 SPRING IN ACTION 과 HEAD FIRST : DESIGN PATTERN책을 구입했는데, HEAD FIRST시리즈는 : SERVLET & JSP 를 봤을때 너무 반해서 샀고 SPRING IN ACTION은 SPRING FRAMEWORK WORKBOOK중 무엇을 사야할지 한참 고민하다가 WORKBOOK은 책내용은 좋지만주변에 가진 사람도 둘이나 있..

일기 2007.07.01

이직해야한다는 생각이 강하게 든다..

개발자로 입사해서 허드렛일만 하고있다 문서작업,유지보수,프로그램설치.. 1년 채우고 이직하거나 핸디소프트에 합격 한다면 이직하려 했으나 두경우에 해당하지 않아도 빨리 이직해야할거같다.. 개인적으로 1년은 채우고 싶었는데 도저히 안되겠다 내실력이 점점 쓰레기가 되어간다 이러다가 가비지컬렉터한테 수집당하는거아냐 ?? 최빈.gc(); orz ....... ..

일기 2007.06.29

oracle TABLESPACE 생성

▣ 테이블스페이스의 생성 - 옵션절을 생략할 경우 밑줄친 옵션이 디폴트 값입니다. - tablespace_name : 생성할 테이블 스페이스 명 - DATAFILE : 새로 생성하는 테이블스페이스가 사용할 데이터 파일 - filespec : 디렉토리 경로명을 포함한 파일명 - size : 새로 생성되는 데이터 파일의 크기 - ONLINE/OFFLINE ONLINE : 새로 생성되는 테이블 스페이스를 활성화 시키며, 생성 후 바로 사용할 수 있게 함 OFFLINE : 테이블 스페이스를 비활성화 시키며, 생성 후 바로 사용할 수 없음 - PERMANT/TEMPORARY : TEMPORARY 옵션을 사용하면 생성하는 테이블스페이스는 임시 테이블스페이스가 됩니다. - DEFAULT STORAGE * INITIA..

기말고사..

아침에 8시 20분에 기상해서 미친듯이 놀람.. 새벽 6시에 살짝 선잠에 빠질게 뭐람... 택시타고 9시10분 연신중학교 도착.. 휴 다행..(택시기사분 '92 학번 방송대 선배님) 1교시 국어/비쥬얼프로그래밍.. 국어가 생각보다 어려웠고, 비쥬얼프로그래밍은 시간이 많이 필요했다 .. 정신이 없는 중.. 급작스레 배가 아파서 급기야 화장실을 안가면 안갈정도의 상태에 이름. 그러나 억지로 억지로 시험끝날때까지 참고, 마킹함. 하지만 첫교시 두과목은 망침(과락만 겨우 면함) 나머지 과목은 실수로 놓친 몇문제 빼고 나름대로 만족스러움. 첫시험 좋은 경험했네 .. 다신 이러지 말아야지.

일기 2007.06.27

oracle #1

새로운 USER를 생성하기 위해서는 CREATE USER문을 이용하면 됩니다. USER를 생성하기 위해서는 USER생성 권한이 있는 사용자로 접속해야 합니다. 사용자 생성 문법(Syntax) - user_name : 사용자 이름 - BY password : 사용자가 데이터베이스에 의해 인증되도록 지정하며, 데이터베이스 유저 로그온시 사용하는 비밀번호 입니다. - EXTERNALLY : 사용자가 운영 체제에 의해서 인증되도록 지정합니다. - DEFAULT TABLESPACE는 사용자 스키마를 위한 기본 테이블 스페이스를 지정 합니다. - TEMPORARY TABLESPACE는 사용자의 임시 테이블 스페이스를 지정합니다. - QUOTA절을 사용하여 사용자가 사용할 테이블 스페이스의 영역을 할당합니다. - P..