분류 전체보기 (328)
.NET (111)
S/W tip (35)
etc (63)
DB (34)
HOT item~! (48)
Disign pettens (4)
UX (6)
나의 S/W (2)
개발관련 이슈 (16)
Diary (1)
웹플러스 (1)
calendar
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
tags
archive
link
ColorSwitch 00 01 02
▣  c# 시작 - .NET/C# - 2009. 6. 2. 16:27

자료출처 : http://msdn.microsoft.com/ko-kr/library/ms186214.aspx


==> 책에 있을 법한 이야기들이다. 이렇게까지 하는 이유야 중요하니까? 천천히 읽어보자!


Visual C# 시작
C# 언어(C# 작업 절차)

이 항목에서는 일반적으로 사용되는 C# 언어 작업에 대한 도움말의 링크를 제공합니다. 도움말에서 설명하는 일반적인 작업의 다른 범주를 보려면 C# 작업 절차를 참조하십시오.

Visual C#의 새로운 기능

쿼리 식, 컬렉션 이니셜라이저, 람다 식, 익명 형식, 자동으로 구현된 속성, 부분 메서드(Partial Method) 등의 새로운 언어 기능에 대한 정보가 들어 있습니다. Visual C# IDE의 새로운 기능에 대한 정보도 제공합니다.

C# 시작 키트 사용

Visual C# 시작 키트를 로드하고 빌드하는 방법에 대해 설명합니다.

C# 언어 사양

최신 버전의 사양(Microsoft Word 형식)에 대한 링크를 제공합니다.

Main()과 명령줄 인수(C# 프로그래밍 가이드)

개체를 만들고 다른 메서드를 호출할 수 있는 프로그램의 진입점인 Main 메서드에 대해 설명합니다. C# 프로그램에는 진입점이 하나만 있을 수 있습니다.

방법: foreach를 사용하여 명령줄 인수 액세스(C# 프로그래밍 가이드)

명령줄 매개 변수에 액세스하는 방법을 보여 주는 코드 예제를 제공합니다.

방법: 명령줄 인수 표시(C# 프로그래밍 가이드)

args 문자열 배열을 통해 명령줄 인수를 표시하는 방법에 대해 설명합니다.

Main() 반환 값(C# 프로그래밍 가이드)

Main 메서드의 가능한 반환 값에 대해 설명합니다.

방법: 생성자를 호출하지 않고 개체 초기화(C# 프로그래밍 가이드)

개체 이니셜라이저 사용 방법을 보여 줍니다.

base(C# 참조)

파생 클래스의 인스턴스를 만들 때 호출되는 기본 클래스 생성자를 지정하는 방법에 대해 설명합니다.

방법: 메서드에 대한 구조체 전달과 클래스 참조 전달 간의 차이점 이해(C# 프로그래밍 가이드)

구조체를 메서드로 전달할 때는 구조체의 복사본이 전달되지만 클래스 인스턴스를 전달할 때는 참조가 전달된다는 사실을 보여 주는 코드 예제를 제공합니다.

인스턴스 생성자(C# 프로그래밍 가이드)

클래스 생성자 및 상속에 대해 설명합니다.

방법: 복사 생성자 작성(C# 프로그래밍 가이드)

클래스의 생성자에서 다른 개체를 인수로 사용하는 방법을 보여 주는 코드 예제를 제공합니다.

방법: 구조체 간의 사용자 정의 변환 구현(C# 프로그래밍 가이드)

두 개의 구조체를 정의하고 두 구조체 간의 변환을 보여 주는 코드 예제를 제공합니다.

Boxing 변환(C# 프로그래밍 가이드)

값 형식과 boxed 개체에 서로 다른 값을 저장하는 방법을 보여 주는 예제를 제공합니다.

Unboxing 변환(C# 프로그래밍 가이드)

잘못 boxing된 경우 오류 메시지를 표시하는 방법을 보여 주는 코드 예제를 제공합니다.

개체 형식 배열(C# 프로그래밍 가이드)

배열의 차수를 표시하는 코드 예제를 제공합니다.

가변 배열(C# 프로그래밍 가이드)

배열을 요소로 사용하는 배열을 만드는 코드 예제를 제공합니다.

배열을 매개 변수로 전달(C# 프로그래밍 가이드)

문자열 배열을 초기화하여 배열의 요소를 출력하는 PrintArray 메서드에 매개 변수로 전달하는 코드 예제를 제공합니다.

ref 및 out을 사용하여 배열 전달(C# 프로그래밍 가이드)

메서드에 배열을 전달하는 데 사용된 outref 간의 차이점을 보여 주는 코드 예제를 제공합니다.

방법: 쿼리 식에서 암시적으로 형식화된 지역 변수 및 배열 사용(C# 프로그래밍 가이드)

배열과 지역 변수에 대한 암시적 형식 지정을 사용하는 방법을 설명합니다.

방법: 자동으로 구현된 속성을 사용하여 간단한 클래스 구현(C# 프로그래밍 가이드)

속성 집합을 캡슐화하는 작은 클래스를 만드는 방법을 설명합니다.

방법: 읽기/쓰기 속성 선언 및 사용(C# 프로그래밍 가이드)

읽기/쓰기 속성을 선언하고 사용하는 방법을 보여 주는 예제를 제공합니다.

방법: 추상 속성 정의(C# 프로그래밍 가이드)

추상 속성을 정의하는 방법을 보여 주는 코드 예제를 제공합니다.

값 형식 매개 변수 전달(C# 프로그래밍 가이드)

다양한 방법으로 값 형식을 전달하는 방법을 보여 주는 코드 예제를 제공합니다.

참조 형식 매개 변수 전달(C# 프로그래밍 가이드)

다양한 방법으로 참조 형식을 전달하는 방법을 보여 주는 코드 예제를 제공합니다.

방법: 사용자 지정 확장 메서드 구현 및 호출(C# 프로그래밍 가이드)

다른 형식의 인스턴스 메서드인 것처럼 호출되는 정적 메서드를 만드는 방법을 설명합니다.

방법: 이벤트 구독 및 구독 취소(C# 프로그래밍 가이드)

폼, 단추, 목록 상자 등을 포함하여 다른 클래스에서 게시한 이벤트를 구독하는 방법을 보여 줍니다.

방법: .NET Framework 지침을 따르는 이벤트 게시(C# 프로그래밍 가이드)

EventHandlerEventHandler<(Of <(TEventArgs>)>)을 기반으로 이벤트를 만드는 방법을 보여 줍니다.

방법: 인터페이스 이벤트 구현(C# 프로그래밍 가이드)

인터페이스에 선언된 이벤트를 구현하는 방법을 보여 줍니다.

방법: 사전을 사용하여 이벤트 인스턴스 저장(C# 프로그래밍 가이드)

해시 테이블을 사용하여 이벤트 인스턴스를 저장하는 방법에 대해 설명합니다.

방법: 파생 클래스에서 기본 클래스 이벤트 발생(C# 프로그래밍 가이드)

보호된 가상 메서드의 기본 클래스 이벤트를 파생된 클래스에서 호출할 수 있도록 래핑하는 방법을 보여 줍니다.

방법: 인터페이스 멤버를 명시적으로 구현(C# 프로그래밍 가이드)

인터페이스를 명시적으로 구현하는 클래스를 선언하는 방법과 인터페이스 인스턴스를 통해 멤버에 액세스하는 방법을 보여 줍니다.

방법: 상속을 사용하여 인터페이스 멤버를 명시적으로 구현(C# 프로그래밍 가이드)

상자의 크기를 미터와 인치 단위로 표시하는 예제를 제공합니다.

.NET Framework의 제네릭

System.Collections.Generic 네임스페이스에 있는 새로운 제네릭 컬렉션 집합의 기능과 용도에 대해 설명합니다.

제네릭 코드의 default 키워드(C# 프로그래밍 가이드)

형식 매개 변수에 default 키워드를 사용하는 방법을 보여 주는 코드 예제를 제공합니다.

제네릭 메서드(C# 프로그래밍 가이드)

제네릭 메서드를 선언하는 구문에 대해 소개합니다. 응용 프로그램에서 제네릭 메서드를 사용하는 방법을 보여 주는 예제도 제공합니다.

형식 매개 변수에 대한 제약 조건(C# 프로그래밍 가이드)

제네릭 클래스를 인스턴스화하는 데 사용한 형식의 메서드 및 속성에 액세스할 수 있도록 형식 매개 변수를 제한하는 방법을 보여 줍니다.

제네릭 대리자(C# 프로그래밍 가이드)

제네릭 대리자를 선언하는 구문을 제공합니다. 코드 예제를 비롯하여 제네릭 대리자를 인스턴스화하고 사용하는 데 필요한 몇 가지 중요한 정보도 포함되어 있습니다.

방법: 네임스페이스 별칭 한정자 사용(C# 프로그래밍 가이드)

이름이 동일한 다른 엔터티에 의해 멤버가 숨겨질 수 있는 경우에 전역 네임스페이스의 멤버에 액세스하는 기능에 대해 설명합니다.

방법: 제네릭 목록에 대한 반복기 블록 만들기(C# 프로그래밍 가이드)

정수 배열을 사용하여 SampleCollection 목록을 만드는 예제를 제공합니다. for 루프는 컬렉션을 반복하며 각 항목의 값을 생성합니다. 그런 다음 foreach 루프를 사용하여 컬렉션의 항목을 표시합니다.

방법: 제네릭 목록에 대한 반복기 블록 만들기(C# 프로그래밍 가이드)

제네릭 클래스 Stack<T>에서 제네릭 인터페이스 IEnumerator<T>를 구현하는 예제를 제공합니다. T 형식의 배열이 선언되고 Push 메서드를 통해 값이 할당됩니다. GetEnumerator 메서드에서는 yield return 문을 사용하여 배열의 값을 반환합니다.

익명 함수(C# 프로그래밍 가이드)

람다 식과 익명 메서드를 사용하여 대리자 형식을 만드는 방법에 대해 설명합니다.

방법: 대리자 조합(멀티캐스트 대리자)(C# 프로그래밍 가이드)

멀티캐스트 대리자를 구성하는 방법을 보여 주는 예제를 제공합니다.

방법: 대리자 선언, 인스턴스화 및 사용(C# 프로그래밍 가이드)

대리자를 선언, 인스턴스화 및 사용하는 방법을 보여 주는 예제를 제공합니다.

방법: 연산자 오버로딩을 사용하여 복소수 클래스 만들기(C# 프로그래밍 가이드)

연산자 오버로드를 사용하여 복소수 덧셈을 정의하는 복소수 클래스 Complex를 만드는 방법을 보여 줍니다.

방법: 플랫폼 호출을 사용하여 웨이브 파일 재생(C# 프로그래밍 가이드)

플랫폼 호출 서비스를 사용하여 Windows 플랫폼에서 웨이브 사운드 파일을 재생하는 방법을 보여 줍니다.

방법: 포인터를 사용하여 바이트 배열 복사(C# 프로그래밍 가이드)

포인터를 사용하여 배열 간에 바이트를 복사하는 방법을 보여 줍니다.

방법: Windows ReadFile 함수 사용(C# 프로그래밍 가이드)

Windows ReadFile 함수를 호출하는 방법을 보여 줍니다. 읽기 버퍼에 대한 매개 변수로 포인터가 필요하기 때문에 이 함수에서는 안전하지 않은 컨텍스트를 사용해야 합니다.

스레드 및 스레딩 사용

관리되는 스레드를 만들고 관리하는 방법과 의도하지 않은 결과를 방지하는 방법에 대해 설명하는 항목의 목록을 제공합니다.

방법: 스레드 만들기 및 종료(C# 프로그래밍 가이드)

스레드를 만들고 시작하는 방법과 동일한 프로세스에서 동시에 실행되는 두 스레드 간의 상호 작용을 보여 주는 예제를 제공합니다.

방법: 생산자와 소비자 스레드 동기화(C# 프로그래밍 가이드)

C# lock 키워드와 Monitor 개체의 Pulse 메서드를 사용하여 동기화를 수행하는 방법을 보여 주는 예제를 제공합니다.

방법: 스레드 풀 사용(C# 프로그래밍 가이드)

스레드 풀을 사용하는 방법을 보여 주는 예제를 제공합니다.

방법: 정규식을 사용하여 문자열 검색(C# 프로그래밍 가이드)

Regex 클래스를 사용하여 문자열을 검색하는 방법에 대해 설명합니다. 이러한 검색은 매우 간단한 것에서부터 정규식을 사용하는 것에 이르기까지 매우 다양할 수 있습니다.

방법: 여러 문자열 조인(C# 프로그래밍 가이드)

여러 문자열을 조인하는 방법을 보여 주는 코드 예제를 제공합니다.

방법: 문자열 처리 메서드를 사용하여 문자열 검색(C# 프로그래밍 가이드)

String 메서드를 사용하여 문자열을 검색하는 방법을 보여 주는 코드 예제를 제공합니다.

방법: Split 메서드를 사용하여 문자열 구문 분석(C# 프로그래밍 가이드)

Split 메서드를 사용하여 문자열을 구문 분석하는 방법을 보여 주는 코드 예제를 제공합니다.

방법: 문자열 내용 수정(C# 프로그래밍 가이드)

문자열의 내용을 배열로 추출하고 배열의 일부 요소를 수정하는 코드 예제를 제공합니다.

방법: 특성을 사용하여 C/C++ 공용 구조체 만들기(C# 프로그래밍 가이드)

Serializable 특성을 사용하여 클래스에 특정 특성을 적용하는 예제를 제공합니다.

방법: C# DLL 만들기 및 사용(C# 프로그래밍 가이드)

예제 시나리오를 사용하여 DLL을 빌드하고 사용하는 방법을 보여 줍니다.

방법: 파일이 어셈블리인지 확인(C# 프로그래밍 가이드)

DLL이 어셈블리인지 여부를 테스트하는 예제를 제공합니다.

방법: 어셈블리 로드 및 언로드(C# 프로그래밍 가이드)

런타임에 특정 어셈블리를 현재 응용 프로그램 도메인에 로드하는 방법에 대해 설명합니다.

방법: 다른 응용 프로그램과 어셈블리 공유(C# 프로그래밍 가이드)

어셈블리를 다른 응용 프로그램과 공유하는 방법에 대해 설명합니다.

다른 응용 프로그램 도메인의 코드 실행(C# 프로그래밍 가이드)

다른 응용 프로그램 도메인으로 로드한 어셈블리를 실행하는 방법을 보여 줍니다.

방법: 응용 프로그램 도메인 만들기 및 사용(C# 프로그래밍 가이드)

연산자 오버로드를 사용하여 3중값 논리 형식을 구현하는 방법을 보여 줍니다.

Visual C# 샘플

Hello World 샘플에서 제네릭 샘플(C#)에 이르는 다양한 샘플 파일을 열거나 복사할 수 있는 링크를 제공합니다.


▣  개발자 속담 - etc - 2009. 5. 29. 10:23
http://depository.tistory.com/entry/DEV-개발자-속담


001. 가는 소스가 고와야 오는 파일에 바이러스 없다.

002. 잦은 Warning 에 Error 날줄 모른다.

003. 영업은 상사 편이다.

004. 디자이너는 프로그래머 편이다.

005. 프린터 밑에 누워 소스 떨어지기만을 기다린다.

006. printf 도 디버깅에 쓸려면 에러난다.

007. 에러 무서워서 코딩 못 할까

008. 소스가 한 박스라도 코딩을 해야 프로그램이다.

009. 코더도 타이핑하는 재주는 있다!!

010. 길고 짧은 것은 strlen을 써봐야 안다.

011. 소스도 먼저 코딩하는 놈이 낫다.

012. 믿는 팀장에 발등 찍힌다.

013. 개발실 청소 아줌마 삼 년에 디버깅 한다.

014. 보기 좋은 코드가 디버깅 하기 좋다.

015. 소스 잃고 백업장치 구입한다.

016. 아니 코딩한 소스에 버그 날까?

017. 안 되는 코더는 엔터를 쳐도 PC가 다운된다.

018. 잘되면 프로그래머 탓, 못되면 시스템 탓.

019. 야한 화일도 위아래가 있다.

020. 하룻 프로그래머 정품단속반 무서울줄 모른다.

021. 백업을 안하면 삼대가 내리 흉하다.

022. 잘 키운 개발자 한명 열 코더 안부럽다...

023. 멀쩡한 프로그램에 날 세그먼트폴트...

024. 바늘 버그가 치명적 버그된다..

025. 안에서 새는 메모리 밖에서도 샌다...

026. 프로그램은 개발자가 짜고, 보너스는 영업이 받는다...

027. 늦게 배운 코딩 날새는줄 모른다...

028. 디버깅한번 으로 천버그 잡는다...

029. 돌(완벽한) 코드도 생각해보고 컴파일하자...

030. 경영다툼에 개발자등 터진다...

031. 제 코드가 석자...

032. KLDP서 윈도우 찾기....

033. 개발일정 시계는 거꾸로 매달아도 간다...

034. 버그보고 놀란가슴 오타보고 놀란다.

035. 코딩 전 마음 다르고, 코딩 후 마음 다르다.

036. 제 코드 구린줄 모른다..

037. 코드가 죽끓듯 하다..

038. 환경이 좋아야 개발자가 모인다..

039. 소스 놓고 main도 모른다..

040. 악습코드 구제는 팀장도 못한다..

041. goto에 소스꼬인줄 모른다..

042. 프로그래머 많으면 프로젝트 완성될날 없다.

043. 개 같이 코딩해서 정승처럼 사표쓴다.

044. 숙제밭에 굴러도 학교가 좋다.

045. 코딩도 전에 컴파일한다..

046. 컴파일 하자 컴 다운된다..

047. VC 대신 Vi..

048. 개발자 간 빼먹기..

049. 리펙토링도 단숨에 하랬다..

050. 아는 코드도 다시봐라..

051. 개발자 망신은 Copy&Paste가 시킨다..

052. 짧은 코드가 더 아름답다..

053. 천줄코드도 #include부터...

054. 한 프로그램에 개발자 되랴..

055. 사장도 버그날땐 온다..

056. 꽃보다 코딩!

057. 선옵티마이징이 개발자 잡는다.

058. 개발자 키워서 대기업 준다.

059. 버그잡자고 빌드다 뽀갠다.

060. 될성부른 코드는 들여쓰기부터 안다.

061. 빌드 뽀갠 넘이 성낸다.

062. 다된 프로젝트에 코 빠트리기.

063. 개발자살이는 코딩 3년, 프로그래밍 3년, 파워포인트 3년

064. 사표쓴다 사표쓴다 하면서 프로젝트 세개 한다.

065. 같은 값이면 대기업 파견살이.

066. 고와도 내 코드 미워도 내 코드.

067. 코드 주고 뺨 맞는다.

068. 코드 가는 데 버그 간다.

069. 코드를 봐야 디버깅을 하지...

070. 빌드 뽀갠 날 데모 하랜다.

071. 발 없는 소스가 천리간다.

072. 손은 삐뚤어 졌어도 코딩은 바로 해야한다.

073. 소스 한줄로 천냥빚도 생긴다.

074. 개발자 목에 usb 메모리 목걸이.

075. 스파게티 코드 소스가 주석 안달린 소스 나무란다.

076. 기능 많은 프로그램 버그잘날 없다.

077. 3일에 짠 코드 80개월 간다.

078. 원수는 메신저에서도 만난다.

079. 모니터도 때리면 꿈틀거린다.

080. 비트 모아 테라.

081. 내일 정전이 된다해도 나는 오늘 한 줄의 코드를 쓰겠다. - 스피노자

082. 스스로 돌아봐서 에러가 없다면 천만인이 가로막아도 나는 컴파일하리라. - 맹자

083. 나는 하루라도 코드를 쓰지 않으면 입안에 가시가 돋는다. - 안중근 의사

084. 가장 커다란 에러는 컴파일의 순간에 도사린다. - 나폴레옹

085. 나는 코딩한다, 고로 나는 존재한다. - 데카르트

086. 대박 프로그램은 1%의 영감과 99%의 노가다로 이루어진다. - 에디슨

087. 네 코드를 알라. - 소크라테스


▣  [DEV] 리팩토링(Refactoring) - .NET/OOP - 2009. 5. 29. 10:21
리팩토링이란?
 - 외부 동작을 바꾸지 않으면서 내부 구조를 개선하는 방법.
 - 소프트웨어 시스템을 변경하는 프로세스.
 - 버그가 끼어들 가능성을 최소화하면서 코드를 정리하는 정형화된 방법.

왜?
 - 소프트웨어의 디자인 개선.
 - 소프트웨어에 대한 이해력 향상.
 - 버그 탐색.
 - 빠른 프로그램 작성.

언제?
 - 삼진규칙 : 세번째 중복 코드 발견 시.
 - 기능 추가 시.
 - 버그 수정 시.
 - 코드 리뷰 시.

무엇보다... 테스트가 중요하다. !!!


articles
recent replies
recent trackbacks
notice
Admin : New post