'시스템분석 및 설계 > 디자인패턴' 카테고리의 다른 글
팩토리 패턴 (0) | 2012.10.22 |
---|
팩토리 패턴 (0) | 2012.10.22 |
---|
C# 특징을 나름 정리해 본것입니다. (0) | 2009.10.03 |
---|---|
강의계획서 초안 디자인 (0) | 2009.09.03 |
C# 컴파일은 어디서나 가능하게 환경변수를 지정하는 방법 (0) | 2009.08.21 |
listview를 이용해 보자 (0) | 2009.08.11 |
델리게이트 - 참조 (0) | 2009.08.10 |
c#환경변수 설정
실행--> CMD 상에서 C#컴파일 가능
내컴퓨터 -->속성-->고급-->환경변수-->PATH(편집) 에 CSC.EXE 파일이 있는경로를 설정C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
(보통 알집으로 설정이 되어있지만 상관말고 밀어버리셈..)
해주면 CMD(도스 커맨드창) 어느곳에서든 CSC 컴파일이 가능
출처:// 내 머리 중추신경 어딘가에서..
[출처] C#환경변수 설정 (폴리텍 Microsoft.NET) |작성자 폴길버트
강의계획서 초안 디자인 (0) | 2009.09.03 |
---|---|
C# 어셈블리에 대해서 정리해 보았습니다. (0) | 2009.08.21 |
listview를 이용해 보자 (0) | 2009.08.11 |
델리게이트 - 참조 (0) | 2009.08.10 |
델리게이트 - 익명메소드 예제. (0) | 2009.08.10 |
COM(Component Object Model)은 Visual C++를 비롯한 다양한 언어로 만들어서 배포할 수 있으며,
DLL이나 EXE 파일처럼 이진코드(binary)에서의 표준을 말한다. COM을 만드는 것은 어떤 언어든 관계가 없으며
단지 COM 표준을 잘 지켜서 만들면 된다. COM은 다음과 같이 발전해 왔다.
메인프레임 -> 클라이언트/서버 -> 3 tier 클라이언트/서버(분산 컴퓨팅 환경)
분산 컴퓨팅 환경에서 응용 프로그램을 어떻게 구성하고 묶어나가는가는 중요한 문제로 떠올랐으며,
이를 해결하기 위해 컴포넌트에 기반한 객체 기술이 생겨났다. 컴포넌트 기반 기술은 각 회사별로 다음과 같다.
윈도우:
마이크로소프트 - COM/DCOM, COM+
유닉스:
OMG(object management group) - CORBA
선마이크로시스템즈 - EJB(enterprise java beans)
다음은 COM의 발전사이다.
OLE(object linking and embedding) - 객체(엑셀,워드,비트맵)를 서로 연결하고 포함하는 기술로써
DDE(dynamic data exchange)를 사용하여 구현.
OLE2 - DDE의 문제점을 개선. 이때부터 COM이라 부름.
-------------------------------*^^*-----------------------*^^*----------------------------
COM 용어
COM 인터페이스 - C++에서 볼 수 있는 가상 함수 테이블. 우리는 이 가상함수 테이블의 포인터를 얻는
것을 QueryInterface() 함수를 통해 구현할 수 있다.
메서드 - COM 인터페이스가 제공하는 함수를 메서드(method)라 부른다.
IUnknown 인터페이스 - 모든 COM 프로그램이 반드시 상속 받아야 하는 인터페이스로, QueryInterface(),
AddRef(), Release() 메서드(함수)를 갖고 있다.
CoClass - 하나 이상의 인터페이스와 실제 구현 코드. CoClass는 하나 이상이 모여서 DLL 또는 EXE 파일로
컴파일되어 저장된다.
COM 오브젝트 - CoClass가 메모리에 로드되어 객체화된 상태
COM 서버 - 기능을 제공하는 프로그램(DLL 또는 EXE)
COM 클라이언트 - DLL 또는 EXE를 사용하는 프로그램
GUID - Globally Unique IDentifier. 전세계적으로 유일한 값(ID)으로 16바이트(128bits)로 구성, GUID는
네트워크 카드의 물리적인 주소(48비트), 1582년 이후의 10억분의 1초(60비트), 기타(20비트)로 구성.
CLSID - COM객체마다 유일한 GUID.
IID - CoClass의 인터페이스마다 유일한 GUID.
HRESULT - COM에서 사용되는 함수가 리턴하는 값. S_OK, E_NOTIMPL, E_NOINTERFACE 등.
COM 라이브러리 - COM을 지원하기 위한 운영체제의 함수들. 보통 CoXXX()처럼 호출됨.
ProgID - GUID를 대신해서 사용할 수 있는 문자열로 구성된 ID. (예-Excel.Application.12)
COM 응용 기술
자동화(Automation) - IDispatch 인터페이스를 통해 COM을 제어하는 기술.
OLE 문서 - IOleContainer, IOleObject 등의 인터페이스를 통해 서로 데이터를 공유하는 기술.
클립 보드 - IDataObject 인터페이스를 통해 데이터를 주고 받는 기술.
드래그 앤 드롭 - IDropTarget, IDropSource 등의 인터페이스를 사용하며, 마우스로 데이터를 끌어다
놓고 전송하는 기술.
ActiveX 컨트롤 - 일반적인 컨트롤처럼 사용될 수 있으며, 비주얼 베이직, 웹페이지에 삽입될 수 있음.
다른 말로 OLE 컨트롤이라고도 부름. 확장자가 OCX 임.
퍼온글 : http://cafe.naver.com/pplus.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=140
콤보박스 초기화 부분에서 CString에 안먹는 바람에 애를 먹어서 (0) | 2009.09.28 |
---|---|
메모리에서 데이터 관리 (0) | 2009.08.23 |
윈도우 프로그래밍 작동원리 (0) | 2009.08.10 |
MFC 책 목록 (0) | 2009.08.05 |
Visual C++ 구성 (0) | 2009.07.29 |
-. vi - vi편집기를 호출한다.
-. vivi filename - 기존에 있는 파일이면 그 파일을 열고 없는없는 파일이면 새로 만든다.
-. vi + 10filename - 지정화일의 10번째10번째 행부터 화일열기
-. vi +/"school" filename - 지정화일내의 school이란 단어가 처음나오는처음나오는 시점부터 열기
-. vi -r filename - 손상된 파일을 복구복구
-. view filename - 수정없이 읽기전용으로 열기
▒ 커서의커서의 이동
-. h - 왼쪽으로 이동
-. j - - 아래로 이동
-. k - 위로 이동
-. l - 오른쪽으로 이동
-. w - 한단어 오른쪽으로이동
-. bb - 한단어 왼쪽으로 이동
-. Return - 한행아래로 이동이동
-. Backspace - 한문자 왼쪽으로 이동
-. Spacebar - 한문자 오른쪽으로오른쪽으로 이동
-. H - 화면의 맨위로 이동
-. M - 화면의 중간으로 이동
-. L - 화면의 맨 아래로아래로 이동
-. ^F - 한화면 앞으로 이동
-. ^D - 반화면 앞으로 이동
-. ^B - 한화면 뒤로 이동이동
-. ^U - 반화면 뒤로 이동
▒ 삽입명령어
-.-. a - 커서 오른쪽에 문자삽입
-. A - 커서커서 오른쪽, 행의끝에 문자삽입
-. i - 커서 왼쪽에 문자삽입
-.-. I - 커서왼쪽, 행의 처음에 문자삽입
-. o -- 커서 아래에 행 삽입
-. O - 커서 위에 행행 삽입
-. <Esc> - 작업완료후 반드시 입력
▒ 텍스트 변경변경
-. cw - 단어 변경
-. cc - 행행 변경
-. C - 커서 오른쪽의 행 변경
-. ss - 커서가 위치한 문자열 대체
-. r - 커서커서 위치 문자를 다른 문자로 대체
-. r-Return - 행 분리
-.-. J - 현재 행과 아래 행 결합
-. xp - 커서 위치 문자와 오른쪽 문자교환
-. - - 문자형(대,소문자)문자형(대,소문자) 변경
-. u - 이진 명령 취소
-. U - 행 변경 사항 취소
-. :u - 이전의 최종행최종행 취소
▒ 텍스트 삭제
-. x - 문자삭제
-.-. dw - 단어삭제
-. dd - 행 삭제
-.-. D - 커서 오른쪽 행 삭제
-. :5,10 d - - 5-10째 행 삭제
▒ 행번호 설정
- :set nu - 행번호 표시
- :set nonu - 행번호 숨기기
▒▒ 행 찾기
-. G - 파일의 마지막 행으로 가기
-.-. 12G - 파일의 12번째 행으로 가기
▒ 텍스트의 복사복사 및 이동
-. yy - 행 yank 또는 복사
-.-. Y - 행 yank 또는 복사
-. P - - yank 되거나 삭제된 행을 현재 행 아래에 삽입
-. p - yank되거나 삭제된 행을 현재 행 위에 삽입
-. :1,2 coco 3 - 1-2행을 3행 다음으로 복사
-. :4,5 m 6 - - 4-5행을 6행 다음으로 이동
▒ 탐색 및 대체
-. /string//string/ - string탐색
-. ?string? - string 역 방향 탐색
-. n(N) - string의 다음(이전) 계속 탐색
-. :g/search-string/s//replace-string/gc - 각 발생발생 탐색후 확인하고 대체
-. :s/str/rep/ - 현재현재 행의 str을 rep로 대체
-. :1,.s/str/rep/ - 1부터1부터 현재 행의 str을 rep로 전부 대체
-. :%s/str/rep/g - 파일 전체 str을 rep로 전부 대체
▒ 화면정리
^L^L <Ctrl + L> 불필요한 화면 내용 제거 후 다시 표시
다른다른 파일을 파일내로 삽입
-. :r filename - 커서 다음에 파일파일 삽입
-. :20 r filename - 파일을 20번째 행 다음에 삽입삽입
▒ 파일의 저장 및 종료
-. :w - 변경사항변경사항 저장
-. :w filename - 지정한 파일로 저장
-. :wq - 변경사항 저장후 vi종료
-. ZZ - 변경사항 저장후 vi종료
-. :q! - 변경사항을 저장하지 않고않고 vi종료
-. clear - 화면의 내용을 깨끗이 지운다.
-.-. ls - 현재 디렉토리의 파일목록을 표시한다.
-. cp -- 파일을 복사한다.
-. mv - 파일의 이름을 변경한다.
-. mvmv - 파일을 다른곳으로 옮긴다.
-. rm - 파일을 삭제한다.삭제한다.
-. cat - 파일내용을 표시한다.
-. pwd - 현재현재 위치의 경로를 표시한다.
-. cd - 디렉토리의 경로를 이동한다.
-.-. mkdir - 새로운 디렉토리를 만든다.
-. rmdir - 디렉토리를 삭제한다.
▒ :k,l command m
:1,10 co 50 - - 1 줄 부터 10 줄 까지를 50 줄 이후로 복사
:34,50 d - 34 줄 부터 50 줄 까지 삭제삭제
:100,150 m 10 - 100 줄 부터 150 줄까지를줄까지를 10 줄 이후로 옮김
:.,$ d - 현재줄부터 끝까지끝까지 지우기
:.,+20 co -4 - 현재줄부터 20줄을, 4줄 위에위에 복사하기
:-,+ t 0 - 위, 아래로 한줄(총 3줄)씩을,3줄)씩을, 문서 맨위에 복사하기
:/pattern/ d - pattern 이 들어있는들어있는 줄 지우기
:/pattern/ -nd - pattern 이 들어있는 줄로부터줄로부터 n 번째 윗줄 지우기
:/pattern/ +nd - pattern 이이 들어있는 줄로부터 n 번째 아랫줄 지우기
:/p1/, /p2/ d - p1 이 들어있는 줄부터, p2 가 들어있는 줄까지 지우기
:.,/pa/ m 23 - 현재줄부터 pa 이 들어있는 줄까지, 23번줄23번줄 이후로 옮기기
▒ g 옵션 붙이기
:g/pattern - 파일전체에서 마지막으로 pattern 이 쓰여진 줄로 가기
:g/pattern/ pp - 파일전체에서 pattern 이 있는줄 보여주기
:g/pattern/ nu - 파일전체에서 patterm 이 있는줄을 번호와 함께 보여주기
:60,124 g/pa/ g/pa/ - p 60,124 줄 사이에서 pa 이 들어있는줄 보여주기
▒ 저장 및 종료
:w - 저장하기
:q - 종료하기
:wq - 저장하고 종료하기
:x - 저장하고 종료하기 (:wq 와 동일)
:w! - 강제로 저장하기 (read-only 로 열었을경우)
:q! - 편집한편집한 내용을 저장하지 않고 종료하기
:w - new_filename new_filename으로 저장하기저장하기
:w %.new - 현재파일 이름에 .new 를 붙여서 새로운새로운 파일로 저장
:230,$ w filename ant - 230 줄부터 끝줄까지끝줄까지 filename으로 저장하기
:.,580 w filename - 현재줄부터 580줄까지 filename으로 저장하기저장하기
:1,10 w new_filename - 1줄부터 10줄까지 new_filename으로 저장하기
:340,$:340,$ w >>new_file - 340줄부터 끝줄까지 new_file에 추가하기
▒ 읽기읽기
:r[ead] filename - 현재위치에 filename 읽어들이기
:r /usr/local /data/data - 현재위치에 /usr/local/data 읽어들이기
:185 r /usr/ local/data - 185줄185줄 이후에 /usr/local/data 읽어들이기
:$ r /usr/local/data - 맨끝줄 이후에 /usr/local/data/usr/local/data 읽어들이기
:0 r /usr/local/data - 맨윗줄에 /usr/local/data 읽어들이기
:/pa/:/pa/ r /usr/local/data - pa 이 존재하는 줄에 /usr/local/data 읽어들이기
▒ 다중편집하기
vi file1 file2 file3 :args - 편집중인 파일목록파일목록 보여주기
:n[ext] - 다음 파일로 넘어가기
:prev[ious] - 이전파일로 돌아가기
sc/ESC/g - BX가 있는줄 찾아서 EscEsc 를 ESC 로 바꾸
:% s/editer/editor/g - 처음줄부터 마지막줄까지, editerediter 를 editor 로 바꾸기
:g/editer/ s//editor/g - 위와 동일("s/" 다음에다음에 인자가 없어서 윗줄과 같은효과
출처 - http://cafe.naver.com/iscript.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=122
vim 환경설정 및 bash 설정 방법 (0) | 2010.01.02 |
---|---|
ftp, grep, makefile 설정 기술문서 (0) | 2009.12.20 |
한컴리눅스에 제로보드 설치하기 (0) | 2009.08.05 |
cygwin 다운로드~ (0) | 2009.08.23 |
---|---|
cygwin에서 gcc 컴파일하기. (0) | 2009.08.23 |
Cygwin(시그윈) 메뉴얼 있는 곳은? (0) | 2009.08.20 |
cygwin 다운로드~ (0) | 2009.08.23 |
---|---|
cygwin에서 gcc 컴파일하기. (0) | 2009.08.23 |
Cygwin(시그윈) 다운로드 / 설치법 [윈도우에 리눅스 / 유닉스 환경 만들기] (0) | 2009.08.20 |
1. 네이밍 률
이 문서 전반에 걸쳐 파스칼표기법과 카멜 표기법이 사용된다. 파스칼 표기법 - 모든 단어에서 첫번째 문자가 대문자이며 나머지는 소문자이다. 예: BackColor 카멜 표기법 - 최초에 사용된 단어를 제외한 첫번째 문자가 대문자이며 나머지는 소문자이다. 예: backColor |
1. 클래스 명에는 파스칼 표기법을 사용한다.
ICP 적용 예 :
public class ConnRS232
2. 함수(Method) 명에는 파스칼 표기법을 사용한다.
void OpenRS232(string name)
3. 변수와 함수 파라미터에는 카멜표기법을 사용한다.
string addressData = string.empty
void SayHello(string name)
4. 변수는 풀네임으로 의미를 명확히 한다
ex) addr -> address
txt -> text
5. 루프에서 반복을 의미하는 변수만 I, j, k를 사용한다
ex) for ( int i = 0; i <count; i++ )
6. 지역변수에는 밑줄(_)을 사용하지 않는다.
7. 모든 멤버 변수들은 앞에 밑줄(_)을 사용해야 한다. 그래야 다른 지역변수들과 구분할 수 있다.
8. 키워드와 비슷한 이름을 사용하지 않는다
9. boolean 이 들어가는 변수, 속성, 함수(method)등은 "is" 또는 유사한 접두사를 사용한다.
예: private bool _isFinished
10. 닷넷에서 사용되는 컨트롤의 표준 네임 정의
Control |
prifix |
Control |
prifix |
Label |
lbl |
Checkbox |
chk |
TextBox |
txt |
CheckBoxList |
cbl |
DataGrid |
dtg |
RadioButton |
rdo |
Button |
btn |
RadioButtonList |
rbl |
ImageButton |
imb |
Image |
img |
Hyperlink |
hlk |
Panel |
pnl |
DropDownList |
ddl |
PlaceHolder |
phd |
ListBox |
lst |
Table |
tbl |
DataList |
dtl |
Validators |
val |
Repeater |
rep |
|
|
11. 파일명은 클래스 명과 같아야 한다.(파일명 또한 파스칼 명명법 적용)
ex)클래스명이 RS232면 파일명은 RS232.cs
2. 들여쓰기
1. 들여쓰기에는 TAB 을 사용한다. SPACE를 사용하지 않는다. Tab 사이즈는 4로 정의한다.
2. 주선은 코드와 같은 레벨에 있어야 한다(들여쓰기의 레벨을 같이 사용한다.).
3. 중괄호는 중괄호 밖에 있는 코드와 같은 레벨에 있어야 한다.
4. 중괄호는 다른 라인과 분리되어 있어야하며 라인을 같이 쓰면 안된다.
5. 지시자(operator)와 괄호 앞뒤로는 한 칸의 공간을 남긴다.
좋은 예:
if ( showResult == true )
{
for ( int i = 0; i <10; i++ )
{
//
}
}
6. 연관된 코드를 묶을때는 #region을 사용해라. #region을 사용해서 묶는다면 그 페이지는 훨씬 간략해질 것이다.
아직 미완성 률 이지만 예전에는 이렇게 썼다고 한다. 좀더 보강해서 완벽한 률을 만들어 한눈에 보기 싶게 유지보수가 최대한 잘될수 있도록 정하여 개발의 착수하였으면 좋겠다.