soy blog

soy.me - 이것저것 기록하는 공간  
  • 오라클 / MySQL 쿼리 결과 랜덤으로 가져오기
    06 December 2014
    조회된 쿼리 결과 중 랜덤으로 N건만 출력하는 방법.
  • Git 기본 명령어
    13 October 2014
    파일의 상태 untracked : Git의 관리 대상이 아닌 파일. (tracked) unstaged : Git의 관리 대상임. 그런데 stage area에 아직 반영되지 않은 변경사항이 존재한다. (tracked) staged : Git의 관리 대상임. 변경사항이 stage area에 반영되었다. 그러나 아직 커밋된 것은 아니다. sta...
  • Git 기본
    13 October 2014
    Git의 기본 특성 분산 버전 컨트롤 시스템 (DVCS) 클라이언트가 파일의 마지막 스냅샷을 checkout 하는 것이 아니라, 저장소를 전부 복제한다. 서버에 문제가 생기면 클라이언트 중 하나 가져다가 서버를 복원할 수 있음. 델타가 아니라 스냅샷을 통한 버전 관리 각 버전이 각 파일에 대한 변화(델타)를 저장하는 일반적인 VCS...
  • 객체지향 / 절차지향 / 정보은닉 / 캡슐화 / 모듈화
    07 August 2014
    절차지향 : C언어 데이터와, 그들을 조작하는 절차가 구분됨. 데이터를 중심으로, 각 함수들이 데이터를 조작하고 사용함 하나의 데이터 type에 변화가 생기면? 많은 함수를 수정해야 할 것임 객체지향 : C++, Java 등등 객체 : 명백한 한계와 의미를 가지는 사물/개념을 추상화 한 것. 애트리뷰트+메소드 객체(데이터, 기...
  • 템플릿 메소드 패턴
    08 July 2014
    템플릿 메소드 패턴은, 상위 클래스의 템플릿 메소드에서 처리의 흐름을 결정하고 하위 클래스에서 그 구체적인 처리 방법을 결정하는 디자인패턴이다.
  • 팩토리 메소드 패턴
    08 July 2014
    팩토리 메소드 패턴은 템플릿 메소드 패턴을 인스턴스 생성에 적용한 전형적인 예이다. 팩토리(인스턴스를 생성하는 공장)를 템플릿 메소드 패턴으로 구성한 것이 팩토리 메소드 패턴이다. 인스턴스를 만드는 방법을 상위 클래스에서 결정한다. 이름이나 구체적인 방법은 결정하지 않는다. 구체적인 내용은 하위클래스측에서 구현함으로써 인스턴스 생성을 위한 ...
  • Iterator 패턴
    07 July 2014
    무엇인가 많이 모여있는 집합체의 요소들을 통일된 방법으로, 순서대로 접근하는 방법.
  • Adapter 패턴 (Wrapper 패턴)
    07 July 2014
    이미 제공되어 있는 것을 그대로 사용할 수 없을 때, 제공되어 있는 것과 필요한 것 사이의 차이를 없애주는 디자인패턴. 기존에 있는 클래스(Adaptee)를 이용하여, 필요한 기능을 제공해주는 Adaptor 클래스를 만든다.
  • Mock
    28 April 2014
    Mock 객체 모듈의 겉모양이 실제 모듈과 비슷하게 보이도록 만든 가짜 객체. 실제 객체를 만들기엔 비용과 시간이 많이 들거나, 의존성이 길게 걸쳐져 있어 구현이 어려울 경우 이런 가짜 객체를 만들어 사용한다.
  • TDD (Test Driven Development)
    27 April 2014
    TDD Test the program before you write it. Kent Beck 프로그램을 작성하기 전에 테스트를 먼저 작성하는 것. 작성하고자 하는 메소드의 정상 동작 조건을 미리 코드로 표현해놓고, 그 뒤에 실제 코드를 작성한다.