본문 바로가기

Programming63

[C#] 프로젝트에 DLL 추가하기 ▶ 주제 : 프로젝트에 DLL 추가하기. C# 프로젝트에서는 DLL 파일을 참조 추가함으로써 다른 사람이 만든 라이브러리를 사용할 수 있다. ▶ 관련 문서 ▷ DLL 추출하기 [C#] DLL 추출하기 ▶ 주제 : DLL 추출하기 DLL은 간단하게 생각해서 라이브러리 파일 같은 것인데 Visual studio는 직접 DLL를 만들어 추출할 수 있는 기능을 제공한다. 기본적으로 프로젝트 단위로 DLL이 추출된다. ▶ 작성 환경.. spiralmoon.tistory.com ▶ 작성 환경 ▷ Visual studio 2017 ▶ DLL 참조 추가 방법 우선 프로젝트에 추가할 DLL 파일을 확보한다. 예시로 저번 포스트에서 추출한 LibraryExample.dll을 사용해서 진행 프로젝트를 열고 참조(Refere.. 2019. 3. 8.
[C#] DLL 추출하기 ▶ 주제 : DLL 추출하기 DLL은 간단하게 생각해서 라이브러리 파일 같은 것인데 Visual studio는 직접 DLL를 만들어 추출할 수 있는 기능을 제공한다. 기본적으로 프로젝트 단위로 DLL이 추출된다. ▶ 작성 환경 ▷ Visual studio 2017 ▷ C# project (project type : Class Library) ▶ 관련 문서 ▷ 프로젝트에 DLL 추가하기 [C#] 프로젝트에 DLL 추가하기 ▶ 주제 : 프로젝트에 DLL 추가하기. C# 프로젝트에서는 DLL 파일을 참조 추가함으로써 다른 사람이 만든 라이브러리를 사용할 수 있다. ▶ 관련 문서 ▷ DLL 추출하기 [C#] DLL 추출하기 ▶ 주제 : DLL 추출하기.. spiralmoon.tistory.com ▶ 예시 우선 .. 2019. 2. 15.
[디자인 패턴] 추상 팩토리 패턴 (Abstract factory pattern) ▶ 주제 : 추상 팩토리 패턴 (Abstract factory pattern). 생성 패턴의 하나. 비슷한 속성의 제품(객체)들을 인터페이스로 규격화된 공정(팩토리)에서 일관된 방식으로 생성하고, 생성된 제품끼리는 쉽게 교체될 수 있도록 고안한 패턴이다. ▶ 구조 추상 팩토리 패턴의 구조는 크게 4가지로 분류된다.▷ 첫 번째, 추상 팩토리 인터페이스(추상클래스도 가능) : 추상 제품을 생산하는 인터페이스 제공▷ 두 번째, 구현 팩토리 클래스 : 구현된 제품을 생산하는 방법 구현▷ 세 번째, 추상 제품 인터페이스(추상클래스도 가능) : 제품에 대한 추상적 인터페이스 제공▷ 네 번째, 구현 제품 클래스 : 팩토리가 생성할 구체적인 제품 ▶ 예시 기타(Guitar) 공장에서 통기타, 일렉기타 등 여러 종류의 .. 2019. 2. 14.
[디자인 패턴] 싱글톤 패턴 (Singleton pattern) 싱글톤 패턴 (Singleton pattern)생성 패턴중 하나인 싱글톤 패턴에 대해 알아보자.시리즈2019.02.14 - [Programming/프로그래밍 이론] - [디자인 패턴] 추상 팩토리 패턴 (Abstract factory pattern)2019.03.09 - [Programming/프로그래밍 이론] - [디자인 패턴] 빌더 패턴 (Builder pattern)2019.03.12 - [Programming/프로그래밍 이론] - [디자인 패턴] 복합체 패턴 (Composite pattern)2019.03.20 - [Programming/프로그래밍 이론] - [디자인 패턴] 팩토리 메소드 패턴 (Factory method pattern)싱글톤 패턴이란?객체지향 언어에서 프로그램 시작 후에 어떤 클.. 2019. 2. 13.
[C#] Task란? ▶ 주제 : Task란?. Task는 "작업" 혹은 "작업의 단위"를 뜻하며, C#에서는 Task 클래스를 이용하여 여러개의 작업을 동시에 관리하거나 비동기식으로 처리가 가능하다. public class Task : IAsyncResult, IDisposable Task는 인스턴스 가능한 클래스이며 IAsyncResult와 IDisposable을 상속한다. ▶ 예시 아래의 예시들은 Task를 이용하는 가장 기초적인 실행 방법들이다. ▷ Task 객체 초기화 시 Action을 파라미터로 넣어주는 방법using System; using System.Threading.Task; class Program { static void Main(string[] args) { var task = new Task(Prin.. 2019. 2. 8.
[C 프로그래밍] 연산자 - 산술 연산자 프로그래밍 언어에는 여러가지 연산자가 종류합니다. +, -, =, >, & 등등... 이번 포스팅에서는 초등학생 때 배운 산술 연산자를 강의하겠습니다. 더하기빼기 곱하기 나누기 나머지 +- * / % ​​ ​ 이 코드로 진행해보겠습니다. +연산은 설명할 필요도 없습니다. A와 B의 값을 더하는 연산자 입니다. 여기서 A는 100 B는 200입니다. 다른 연산자들도 사용 방법은 같습니다만 몇 가지 유의사항이 있습니다. ​ ​나누기 연산은 연산후에 나머지 값을 버립니다. 일반 수학에서 20을 3으로 나누면 6.66666...이 나옵니다만 컴퓨터 연산에서는 최대로 나눌 수 있는 횟수(20 / 3에서는 6)를 구하고 나머지 값(20 / 3에서는 2)를 버립니다. ​​ ​그렇다면 과연 나머지 연산은 무엇일까요? .. 2017. 2. 10.
[C 프로그래밍] scanf()로 값을 입력하자 헤더 파일 : stdio.h함수의 원형 : int scanf(const char *format, … ); 함수의 사용 방법 : scanf("형식 지정자", &변수);함수의 기능 : 콘솔창에서 변수에 값을 입력하는 함수 printf()가 출력 함수라면 scanf()는 입력 함수입니다. 코드 내에서 정해진 값이 아닌프로그램이 진행중인 상태에서 사용자의 입력을 받아 변수에 값을 대입하려고 하는 경우scanf()를 사용합니다. 이 불쌍한 예제를 봅시다. a가 선언되었지만 초기화가 되지 않은 상태에서 출력을 하려고 합니다. 실행해봅시다. 초기화가 되지 않은 변수를 출력을 하려고 하다니 당연히 오류가 뜨거나 쓰레기값이 출력됩니다. 위 소스에 scanf() 함수를 추가해줍니다. scanf("%d", &a)의 뜻은 변.. 2017. 2. 10.
[C 프로그래밍] printf()와 이스케이프 시퀀스 printf()함수는 문자열, 변수의 내용 등을 출력할 수 있었습니다. 위 코드를 적고 실행을 해봅시다.​ Hello World! 가 출력 되었습니다. 그런데 왜 \n는 출력되지 않았을까요?​ 그 이유는 바로 \n는 문자로 인식하는 것이 아니라,어떠한 역할을 수행하는 명령으로 인식하기 때문입니다.​​​​뒤의 \n을 지우고 다시 한번 실행 해봅시다. ​ 처음 실행 화면과 달리Hello World! 를 출력한 후에 줄바꿈이 되지 않았습니다. \n은 줄바꿈을 수행하는 명령어라고 이해하시면 됩니다. 이 처럼 printf()함수의 문자열 내에서어떠한 역할을 수행하는 \으로 시작하는 명령어를 이스케이프 시퀀스라고 합니다. 이스케이프 시퀀스는 \n만 있는 것이 아니라 \t 등 여러가지가 있습니다. (출처 : http.. 2017. 2. 10.
[C 프로그래밍] printf()와 형식 지정자 헤더 파일 : stdio.h​​함수의 원형 : int printf( const char *format, ... ); 함수의 사용 방법 : printf("문자열 또는 형식 지정자", 변수);​​함수의 기능 : 콘솔창에 문자열이나 변수 등을 출력하는 함수 ​​ ​​​변수 시간에도 자주 등장했었던 printf() 함수를 배워봅시다. 위 코드는 문자열 Hello World!를 콘솔창에 출력하는 코드입니다. ​​​성공적으로 실행되었습니다. 이처럼 우리는 printf() 함수를 이용하여 콘솔창에 무언가를 출력할 수 있습니다. ​​printf()함수는 출력할 문자열을 ""에 감싸서 재료로 넣어줍니다. 또한, 변수의 내용을 출력할 수 도 있습니다. ​​​위의 printf() 코드는 a의 내용을 출력하는 코드입니다. 여.. 2017. 2. 10.
[C 프로그래밍] 변수와 자료형 4 변수와 자료형 마지막 시간입니다. 굉장히 기초적인 부분인데도 '변수와 자료형' 포스팅을 4번이나 한 것은 모든 프로그래밍 언어의 기본개념 베이스인 변수를 꼭 이해해야 프로그래밍을 할 때 차질이 없기 때문입니다. 이번 시간에는 변수 선언의 규칙을 알아봅시다. 첫 번째, 변수명은 알파벳을 이용하여 선언한다.(대소문자 구분) 최근에 들어서는 한글도 변수명으로 사용할 수 있는데이러한 경우 타 컴퓨터(외국이라던가)에서 충돌을 일으킬 수 있기 때문에 사용하지 않는 것이 좋습니다. ​ ​​두 번째, 변수명은 C언어에서 정의된 예약어와 동일한 이름으로 선언할 수 없다.​예약어가 무엇인지는 나중에 설명하겠습니다.지금은 '타이핑하면 파란색 글씨가 되는 단어' 라고 생각해주세요. int, double, case, retur.. 2017. 2. 10.
[C 프로그래밍] 변수와 자료형 3 변수와 자료형 세 번째 시간입니다. 오늘은 몇가지 주의점에 대해 알아 보도록 하겠습니다. ​ 위 코드는 char형 변수 c에 123을 대입한 코드입니다. 과연 선언된 변수에 값을 대입하지 않고 출력을 한다면 어떤 결과가 나올까요? 코드를 이렇게 바꾸고 실행을 시켜봅시다. 여기서 두 가지 결과가 나오게 됩니다. ​​​ 첫 번째, 낮은 버젼의 컴파일러를 사용할 경우 쓰레기 값이 출력됩니다. (Visual 기준) 두 번째, 비교적 최근의 컴파일러를 사용할 경우 에러를 출력합니다. (Visual 기준) 이러한 이유로 변수 선언시 항상 변수를 '초기화' 하는 습관을 들여야 합니다. '초기화' 란, 변수를 정해진 값으로 설정해주는 행동입니다. 다시 위 코드를 수정해봅시다. char c = 30; 초기화는 이처럼 변.. 2017. 2. 10.
[C 프로그래밍] 변수와 자료형 2 변수의 정의를 더 자세히 설명해보겠습니다.​ 저번 시간에 배운 내용대로라면 위 코드는"정수 자료형 int인 a라는 변수에 정수 데이터 5를 삽입한다."​라고 해석이 가능합니다. 무작정 책부터 보고 공부할 때,어떤 책은 변수를 "변할 수 있는 수" 라고 서술해 놓았고,어떤 책은 "데이터를 담는 메모리 공간" 이라고 서술해 놓았기 때문에 우리는 정확한 정의를 알아야 합니다. 위의 두가지 개념의 혼동으로 인해 많은 사람들이 시작부터 어려워합니다. (네이버 사전) 수학에서의 변수의 개념은 "변할 수 있는 수" 입니다. 하지만 프로그래밍에서의 변수의 개념은"데이터를 담는 메모리 공간" 에 더 가깝습니다.(어짜피 프로그래밍 하다보면 스스로 깨닫게 됨) 메모리 공간이라... 그렇다면 과연 변수는 크기에 제한이 없을까.. 2017. 2. 10.
반응형