Git http://backlogtool.com/git-guide/kr/

Git-Branch http://learnbranch.urigit.com/


Python https://www.codecademy.com/learn/python


Go https://go-tour-kr.appspot.com


Vim http://vim-adventures.com/

'개발' 카테고리의 다른 글

디자인 패턴의 종류와 간략한 설명  (0) 2011.11.17
Turbo.h or Turboc.h 헤더파일  (0) 2011.09.29
ASCII Code List (아스키 코드 표)  (0) 2011.09.29
Unicast, Broadcast, Multicast, MAC Adress  (0) 2011.08.25
UTP Cable 제작법  (0) 2011.08.20


1. 생성

 패턴명  개요
 Abstract Factory  구체적인 클래스를 지정하지 않고, 관련성을 갖는 객체들의 집합을 생성하거나 서로 독립적인 객체들의 집합을 생성할 수 있는 인터페이스를 제공한다.

 Builder

 복합 객체의 생성 과정과 표현 방법을 분리함으로써 동일한 생산 공정이 서로 다른 표현을 만들 수 있게 한다.
 Factory Method  객체를 생성하는 인터페이스를 정의하지만, 인스턴스를 만들 클래스의 결정은 서브 클래스가 한다. Factory Method 패턴에서는 클래스의 인스턴스를 만드는 시점을 서브 클래스로 미룬다.
 Prototype  프로토타입의 인스턴스를 이용해서 생성할 객체의 종류를 명세하고 이 프로토타입을 복사해서 새로운 객체를 생성한다.
 Singleton  클래스의 인스턴스는 오직 하나임을 보장하며 이 인스턴스에 접근할 수 있는 방법을 제공한다.




2. 구조

 패턴명  개요
 Adapter  클래스의 인터페이스를 클라이언트가 기대하는 다른 인터페이스로 변환한다. 어댑터 패턴은 호환성이 없는 인터페이스 때문에 함께 사용할 수 없는 클래스를 개조하여 함께 작동하도록 해준다.
 Bridge  추상화와 구현을 분리하여 각각을 독립적으로 변형할 수 있게 한다.
 Composite  부분-전체 계층을 나타내기 위해 복합 객체를 트리 구조로 만든다. 컴포지트 패턴은 클라이언트가 개별적 객체와 복합 객체 모두를 동일하게 다루도록 한다.
 Decorator  객체에 동적으로 책임을 추가할 수 있게 한다. 데코레이터 패턴은 기능의 유연한 확장을 위해 상속 대신 사용할 수 있는 방법이다.
 Facade  서브시스템에 있는 인터페이스 집합에 대해서 하나의 통합된 인터페이스를 제공한다. Facade 패턴은 서브시스템을 좀더 사용하기 편하게 하기 위해서 높은 수준의 인터페이스를 정의한다.
 Flyweight  작은 객체들이 여러 개 있는 경우, 객체를 효과적으로 사용하는 방법으로 객체를 공유하게 한다.
 Proxy  다른 객체로의 접근을 통제하기 위해서 다른 객체의 대리자 또는 다른 객체로의 정보보유자를 제공한다.




3. 행위

 패턴명  개요
 Chain of Responsibility  요청을 처리할 수 있는 기회를 하나 이상의 객체에게 부여함으로써 요청하는 객체와 처리하는 객체 사이의 결합도를 없애려는 것이다. 요청을 해결할 객체를 만날 때까지 객체 고리를 따라서 요청을 전달한다.
 Command  요청을 객체로 캡슐화함으로써 서로 다른 요청으로 클라이언트를 파라미터화하고, 요청을 저장하거나 기록을 남겨서 오퍼레이션의 취소도 가능하게 한다.
 Interpreter  언어에 따라서 문법에 대한 표현을 정의한다. 또 언어의 문장을 해석하기 위해 정의한 표현에 기반하여 분석기를 정의한다.
 Iterator  내부 표현 방법을 노출하지 않고 복합 객체의 원소를 순차적으로 접근할 수 있는 방법을 제공한다.
 Mediator  객체들 간의 상호작용을 객체로 캡슐화한다. 미디에이터 패턴은 객체들 간의 참조 관게를 객체에서 분리함으로써 상호작용만을 독립적으로 다양하게 확대할 수 있다.
 Memento  캡슐화를 위배하지 않고 객체 내부 상태를 객체화하여, 나중에 객체가 이 상태로 복구 가능하게 한다.
 Observer  객체 사이에 일 대 다의 종속성을 정의하고 한 객체의 상태가 변하면 종속된 다른 객체에게 통보가 가고 자동으로 수정이 일어나게 한다.
 State  객체의 내부 상태에 따라 행위를 변경할 수 있게 한다. 이렇게 하면 객체는 마치 클래스를 바꾸는 것처럼 보인다.
 Strategy  알고리즘군이 존재할 경우 각각의 알고리즘을 별도의 클래스로 캡슐화하고 이들을 상호 교환 가능한 것으로 정의한다. 이 패턴은 클라이언트에 영향을 주지 않고 독립적으로 알고리즘을 다양하게 변경할 수 있게 한다.
 Template Method  오퍼레이션에는 알고리즘의 처리 과정만을 정의하고 각 단게에서 수행할 구체적 처리는 서브 클래스에 정의한다. 템플릿 메서드 패턴은 알고리즘의 처리 과정은 변경하지 않고 알고리즘 각 단계의 처리를 서브클래스에서 재정의할 수 있게 한다.
 Visitor  객체 구조의 요소들에 수행할 오퍼레이션들을 표현한 패턴이다. 비지터 패턴은 오퍼레이션이 처리할 요소의 클래스를 변경하지 않고도 새로운 오퍼레이션을 정의할 수 있게 한다.



출처는 GOF의 디자인패턴 인듯..
원본을 찾아 볼래야 찾아 볼 수가 없음. 

'개발' 카테고리의 다른 글

배워보자  (0) 2016.02.03
Turbo.h or Turboc.h 헤더파일  (0) 2011.09.29
ASCII Code List (아스키 코드 표)  (0) 2011.09.29
Unicast, Broadcast, Multicast, MAC Adress  (0) 2011.08.25
UTP Cable 제작법  (0) 2011.08.20
// 혼자 연구하는 C/C++의 도우미 헤더 파일
// 비주얼 C++ 환경에서 터보 C 스타일의 함수를 정의한다.
#ifndef TURBOC_HEADER
#define TURBOC_HEADER

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <windows.h>

typedef enum { NOCURSOR, SOLIDCURSOR, NORMALCURSOR } CURSOR_TYPE;
void clrscr();
void gotoxy(int x, int y);
int wherex();
int wherey();
void setcursortype(CURSOR_TYPE c);

#define delay(n) Sleep(n) // n/1000초만큼 시간 지연
#define randomize() srand((unsigned)time(NULL)) // 난수 발생기 초기화
#define random(n) (rand() % (n)) //0~n까지의 난수 발생

// 이 매크로가 정의되어 있으면 함수의 원형만 선언하고 정의는 하지 않는다.
#ifndef TURBOC_PROTOTYPE_ONLY

// 화면을 모두 지운다.
void clrscr()
{
system("cls");
}

// 커서를 x,y좌표로 이동시킨다.
void gotoxy(int x, int y)
{
COORD Cur;
Cur.X=x;
Cur.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Cur);
}

// 커서의 x 좌표를 조사한다.
int wherex()
{
CONSOLE_SCREEN_BUFFER_INFO BufInfo;

GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),&BufInfo);
return BufInfo.dwCursorPosition.X;
}

// 커서의 y좌표를 조사한다.
int wherey()
{
CONSOLE_SCREEN_BUFFER_INFO BufInfo;

GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),&BufInfo);
return BufInfo.dwCursorPosition.Y;
}

// 커서를 숨기거나 다시 표시한다.
void setcursortype(CURSOR_TYPE c)
{
CONSOLE_CURSOR_INFO CurInfo;

switch (c) {
case NOCURSOR:
CurInfo.dwSize=1;
CurInfo.bVisible=FALSE;
break;
case SOLIDCURSOR:
CurInfo.dwSize=100;
CurInfo.bVisible=TRUE;
break;
case NORMALCURSOR:
CurInfo.dwSize=20;
CurInfo.bVisible=TRUE;
break;
}
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&CurInfo);
}

#endif // TURBOC_PROTOTYPE_ONLY
#endif // TURBOC_HEADER


출처: Winapi (http://www.winapi.co.kr)

'개발' 카테고리의 다른 글

배워보자  (0) 2016.02.03
디자인 패턴의 종류와 간략한 설명  (0) 2011.11.17
ASCII Code List (아스키 코드 표)  (0) 2011.09.29
Unicast, Broadcast, Multicast, MAC Adress  (0) 2011.08.25
UTP Cable 제작법  (0) 2011.08.20

'개발' 카테고리의 다른 글

디자인 패턴의 종류와 간략한 설명  (0) 2011.11.17
Turbo.h or Turboc.h 헤더파일  (0) 2011.09.29
Unicast, Broadcast, Multicast, MAC Adress  (0) 2011.08.25
UTP Cable 제작법  (0) 2011.08.20
케이블의 종류  (0) 2011.08.20

출처 :: http://cafe.naver.com/04data/29



'개발' 카테고리의 다른 글

ASCII Code List (아스키 코드 표)  (0) 2011.09.29
Unicast, Broadcast, Multicast, MAC Adress  (0) 2011.08.25
케이블의 종류  (0) 2011.08.20
네트워크.. 겉만 살짝 봐볼까  (0) 2011.08.20
뇌 크기 측정하기 App.  (2) 2011.03.31

저희 팀(AGK)가 처음으로 만든 어플입니다. ㅎㅎ
학교에서 열심히 한다고는 하는데 결과물이 안나오는 팀이에요 ㅋ.

그나마 이것도 완성이 아니랍니다 하하.

어플에 대해 간단하게 소개하겠습니다.



저희 어플의 메인입니다.
무게를 측정하는게 아닌데 저울위에있네요 ㅋㅋㅋ
(지금알아쳄;)



이름을 입력하고 측정하기 버튼을 누르면!


;;
제 뇌는 고릴라레요. (고릴라 귀엽죠 ㅋ)


자세한건 직접 해보세요!ㅋ


































Market!

마켓가서 다운로드하기!


 





 

Blog

제작팀 블로그가기!


'개발' 카테고리의 다른 글

케이블의 종류  (0) 2011.08.20
네트워크.. 겉만 살짝 봐볼까  (0) 2011.08.20
이놈(enum)! 넌 무얼하는 놈이냐!  (0) 2010.10.10
?: 삼항연산자... 뭐였더라?  (0) 2010.10.10
goto! 좋은놈? 나쁜놈? 이상한놈?  (0) 2010.10.10

나열형 상수 이넘(enum).

예전부터 한두번씩 봐왔던놈입니다.

이놈의 특징은
enum Days = {Mon, Tue, ... , Sun};
이렇게 선언하고 맴버들을 초기화하지 않았다면 Mon=0이고 차례대로 증가합니다.
즉 Mon이 1이고 중간에 초기화가 없다면 Sun은 6이되겠죠.

union과 같이 쓰임세를 잘 모르는 놈중 하나입니다..

union은 더더욱 감이 안잡힙니다..
누수가 빈번히 일어나는 이상한 예약어죠.

뭐.. 그냥 간단히 상수에대해 말해보겠습니다. 뜬금없지만

상수를 선언하는 방법은 2가지가 있다고 대충 볼수 있습니다.
#define에 의한 상수화 와
const에 의한 상수화 죠.

#define은 옛날부터 많이 써왔지만 이제는 상수화를 위해 사용하는 것은 적어졌습니다.
#define문은 상수화라기보다는 대체에 가깝기 떄문이라고 생각됩니다.

#define ABC 123 이라고 있다면
그 코드에 ABC라는 모든 문자는 123으로 대체됩니다.
// a= 1 + ABC 이것은 1 + 123과 같은 의미가 됩니다.

const는 변수를 선언과 동시에 상수화시켜버리는것입니다.
int ABC=0; 이라고 한다면 ABC는 변수죠. 하지만 선언시 앞에 const를 붙여준다면
const int ABC = 0; ABC는 평생 123이되어야만하죠.
 

+ Recent posts