분류 전체보기
C# 강좌 22편. 파일 입출력(File Input/Output)
C# 강좌 22편. 파일 입출력(File Input/Output)
2012.10.201. 파일 입출력(File Input/Output) 이번에는 파일(File)을 다루는 클래스와 메소드들을 살펴보려고 합니다. 이 파일의 사전적 의미로는 '하나의 단위로서 처리되는 서로 관련 있는 레코드의 집합'라는 의미를 가지고 있습니다. System.IO 네임스페이스를 살펴보면 파일을 읽고 쓸 수 있는 클래스가 있는데, 오늘 배우게 될 클래스를 아래에 정리해두었습니다. 클래스 설명 File 파일에 대한 생성, 복사, 삭제, 이동 및 열기를 위한 정적 메소드를 제공 FileInfo 파일에 대한 생성, 복사, 삭제, 이동 및 열기를 위한 속성 및 인스턴스 메소드를 제공 FileStream 파일에 대한 스트림을 제공하여 동기 및 비동기 읽기/쓰기 작업을 모두 지원 StreamReader 문자열에서 읽어오는 ..
C# 강좌 21편. 프로퍼티(Property)
C# 강좌 21편. 프로퍼티(Property)
2012.10.201. 프로퍼티(Property) 프로퍼티(Property)는 속성이란 의미를 가지고 있습니다. 이 프로퍼티를 사용하게 되면, 속성 값을 반환하거나 새 값을 할당할 수 있습니다. 우리가 클래스를 하나 만들다가 필드를 public으로 선언할지, private으로 선언할지 고민하시는 분들이 간혹 있습니다. public으로 선언하려 했다가는, 이 필드가 어느순간 잘못된 값으로 지정되어 프로그램이 제대로 동작하지 않을지도 모릅니다. 이번엔 private로 선언하자니, 접근하는 방법이 public보다 까다로워 여간 귀찮은게 아닙니다. 이렇게 은닉성과 편의성을 고려하다, 편의를 버리고 private로 선언했다고 해봅시다. class MyClass { private int Field; public int GetFiel..
C# 강좌 20편. 리플렉션과 애트리뷰트(Reflection and attributes)
C# 강좌 20편. 리플렉션과 애트리뷰트(Reflection and attributes)
2012.10.161. 리플렉션(Reflection) C#에서는 프로그램 실행 도중에 객체의 정보를 조사하거나, 다른 모듈에 선언된 인스턴스를 생성하거나, 기존 개체에서 형식을 가져오고 해당하는 메소드를 호출, 또는 해당 필드와 속성에 접근할 수 있는 기능을 제공하는 '리플렉션(Reflection)'이라는 녀석이 존재합니다. 오늘은 아래와 같은 메소드들을 알아보려고 합니다. 형식 메소드 설명 Type GetType()지정된 형식의 Type 개체를 가져옵니다. MemberInfo[] GetMembers() 해당 형식의 멤버 목록을 가져옵니다. MethodInfo[] GetMethods() 해당 형식의 메소드 목록을 가져옵니다. FieldInfo[] GetFields() 해당 형식의 필드 목록을 가져옵니다. 실은 이말고도 M..
C# 강좌 19편. 델리게이트와 이벤트(Delegates and Events)
C# 강좌 19편. 델리게이트와 이벤트(Delegates and Events)
2012.10.141. 델리게이트(Delegate) 오늘은 델리게이트(Delegate)에 대해서 알아보려고 합니다. 델리게이트는 한마디로 말해서 대리자라고 말할 수 있습니다. 즉, 대신 일을 해주는 녀석이라고 할 수 있겠죠? 다른 말로 해서는 메소드 참조를 포함하고 있는 영역이라고 말할 수 있습니다. 아래는 델리게이트의 선언 형식입니다.delegate 반환형 델리게이트명(매개변수..); 위의 선언 형식을 보아하니, 델리게이트가 메소드같이 생겼죠? 델리게이트는 위에서 말한 대로, 메소드의 참조를 포함합니다. '메소드를 참조한다니, 그럼 메소드를 매개변수로 넘길 수 있다는 말인가요?'라고 생각하시는 분들이 있을지 모르겠는데, 네 맞습니다. 델리게이트를 이용해서 메소드를 넘겨줄 수 있습니다. 델리게이트는 메소드를 참조 하는 것..
C# 강좌 18편. 컬렉션(Collection)
C# 강좌 18편. 컬렉션(Collection)
2012.10.131. 컬렉션(Collection) 우리가 이번 강좌에서 배우게될 '컬렉션(Collection)'이 뭐하는 녀석인지 간단히 알아봅시다. 컬렉션은 데이터의 검색과 저장을 위해 특화된 것이라고 말할 수 있습니다. 자료구조(Data Structure) 라고도 말할 수 있습니다. 컬렉션에서는 배열 리스트(Array List), 해시 테이블(Hash table), 큐(Queue), 스택(Stack) 등을 지원합니다. 하나하나 다 설명하다보면 강좌가 끝도 없이 길어질 것 같아, 간략하게 설명하겠습니다. 2. 배열 리스트(ArrayList) 배열 리스트란 배열과 가장 비슷하면서도 크기가 유연(동적)합니다. 배열 리스트에는 Add, BinarySearch, Clear, Contain, Insert, Remove, Sor..
C# 강좌 17편. 예외 처리(Exception handling)
C# 강좌 17편. 예외 처리(Exception handling)
2012.10.131. 예외 처리(Exception handling) 지금까지 강좌를 진행하면서, 그 예제를 응용하여 프로그램을 만드시면서 예외가 발생하신 적이 있나요? 여기서 예외란, 프로그램을 실행하다 도중에 예기치 않은 일이 벌어져 프로그램이 종료되는 것을 말합니다. 예를 들면 어떠한 수를 0으로 나눈다던가, 음수의 제곱근을 구하는 경우라던가, 어떤 인수의 값이 텅텅 비어있던가 등 논리적으로 어긋난 상황에 마주치면 프로그램은 어김없이 예외를 내보내고 프로그램이 종료되어버릴 것입니다. 이러한 예외 발생으로 프로그램이 종료되는 것을 막기위해 예외를 처리하는 것을 '예외 처리(Exception handling)이라고 합니다. 이제 앞으로 배울 try~catch문을 이용하여 예외를 우리가 받아 처리할 수 있습니다. 2. t..
C# 강좌 16편. 인터페이스(Interface)
C# 강좌 16편. 인터페이스(Interface)
2012.10.121. 인터페이스(Interface) 이번 강좌에서는 '인터페이스(Interface)'에 대해 알아보려고 합니다. 인터페이스라고 하니, 어디서 많이 들어보신것 같죠? 사전적 의미로는 '사용자인 인간과 컴퓨터를 연결하여 주는 장치. 키보드나 디스플레이 따위를 이른다.', '서로 다른 두 시스템, 장치, 소프트웨어 따위를 서로 이어 주는 부분. 또는 그런 접속 장치.'라는 의미를 담고 있습니다. 예를 들어, 키보드나 모니터 등을 사용하기 위해서 USB 포트에 연결시키면 컴퓨터가 이를 자동으로 인식하여 바로 사용이 가능하게끔 만들어줍니다. 그 외에도 프린터, 모뎀, 스캐너 등과 같은 주변기기를 손쉽게 연결하여 컴퓨터 내에서 바로 사용할 수 있습니다. USB 역시도 하나의 인터페이스이며, 두 장치를 이어주어 컴퓨..
비주얼베이직6 움직임에 관한 수학공식 정리
비주얼베이직6 움직임에 관한 수학공식 정리
2012.10.031. 부드러운 움직임( Smooth movement) 폼에 커맨드박스와 타이머를 배치하고, 타이머의 Interval를 1로두시고 코드 편집으로 돌아갑니다. Private Sub Timer1_Timer() Command1.Left = Command1.Left + 0.1 * (4000 - Command1.Left) '개체의 X축 = 개체의 X축 + 속도 * (종착 X축지점 - 개체의 X축) End Sub 코드를 보시면 먼저 괄호 안의 식부터 계산됩니다. 종착 X축지점인 4000에서 0만큼 뺍니다. (Command1.Left의 초기값이 0이라고 가정) 그 후에 4000이란 값이 나와서 10으로 나누어 400이란 값을 가집니다. 그리고 다시 실행되어 4000에서 400을 뺀 3600에다 10을 나누고 그 값에다..
선언문, 상수, 형식을 쉽게 찾아주는 API 뷰어(API Viewer)
선언문, 상수, 형식을 쉽게 찾아주는 API 뷰어(API Viewer)
2012.10.01API 표시기는 API 텍스트 파일이나 Jet 데이터베이스에 들어 있는 선언, 상수 또는 형식을 자세히 탐색할 수 있습니다. 클립보드에 항목이 복사되어 있거나 자동으로 Visual Basic 코드로 복사됩니다. API 로더에는 Win32 인터페이스용 WIN32API.TXT 텍스트 파일이 있습니다. 빠른 속도를 원하면 옵션을 사용하여 텍스트 파일을 Jet 데이터베이스로 변환합니다. .TXT 파일을 열 때보다 데이터베이스를 열 때 목록을 훨씬 빨리 표시합니다. .TXT 파일을 불러와서 [파일] 메뉴에서 [텍스트를 데이터베이스로 변환]을 선택하여 간단히 .TXT 파일을 Jet 데이터베이스로 변환할 수 있습니다. .TXT 파일을 Jet 데이터베이스로 변환한 후 최상의 작업 결과를 얻으려면 항상 데이터베이스를 불..
C# 강좌 15편. 구조체(Structures) [작성 중 2018/02/18]
C# 강좌 15편. 구조체(Structures) [작성 중 2018/02/18]
2012.09.301. 구조체(Structures) C/C++에서 등장했던 구조체가 C#에서 다시 한번 등장합니다. 구조체는, 클래스와 상당히 비슷한 구조를 지니고 있습니다. 구조체는 주로 몇 가지의 항목으로 구성된 간단한 개체를 구조화하기 위해 사용됩니다. 예를 들어서, 우리가 2차원의 좌표를 나타내기 위해 Point 구조체를 만들고자 한다면 아래와 같이 나타낼 수 있습니다. struct Point { public int x, y; public Point(int x, int y) { this.x = x; this.y = y; } } 위 예제를 보면 클래스와 똑같은 구조를 지니고 있습니다. 클래스와 다를게 없는 것 같은데, 어떤 부분에서 차이가 나는 것일까요? 이를 아래의 도표에서 정리해 보았습니다. (자세한 설명은 이곳..
윈도우 8 메트로 UI 비활성화 하는 방법.
윈도우 8 메트로 UI 비활성화 하는 방법.
2012.09.26C로 만들어본 간단한 프로그램입니다. 1을 입력하시면 RPEnabled가 1이 되며, 0을 입력하시면 RPEnabled가 0으로 설정됩니다. [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
압축 파일의 비밀번호를 복구, Advanced ZIP Password Recovery 4.0
압축 파일의 비밀번호를 복구, Advanced ZIP Password Recovery 4.0
2012.09.17압축 파일의 비밀번호를 빠르게 찾아주는 복구 프로그램입니다. 이 프로그램은 브루트 포스 공격, 즉 무차별 대입 공격을 지원하며, 여러가지 옵션을 지원하여 상당히 편리합니다. 대문자, 소문자, 숫자, 특수문자, 공백 등 패스워드의 길이를 지정할 수 있으며 시작 지점과 끝 지점도 지정할 수 있습니다. 시리얼 넘버는 압축 파일에 들어있으니, 압축 파일을 열어 Serial.txt를 참고하시면 됩니다.