cs 12

공공데이터 사용하기

공공데이터포털 (data.go.kr) 공공데이터 포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase www.data.go.kr 우리나라에는 공공데이터 포털이 있다. 이 사이트에서는 여러가지 공공 데이터를 얻을 수 있다. 얻을 수 있는 데이터는 기상청 단기예보, 국민연금 사업장 내역 등 여러가지가 있다. 홈페이지에 개방현황에 따르면 오픈API의 경우 11354건이 있어 개발에 필요한 경우 사용이 가능하다. 물론 파일 데이터를 사용해도 되지만 아무래도 API를 사용하는 것이 편하긴 하다. 먼저 이러한 공공데이터를 사용하고 API를 쓰고싶다면 회원가입이 필수다. ..

코루틴 -> Task (2)

https://seunghus.tistory.com/83 코루틴 -> Task (1) https://learn.microsoft.com/ko-kr/dotnet/csharp/asynchronous-programming/async-scenarios 비동기 프로그래밍 - C# .NET Core에서 제공하는 C# 언어 수준 비동기 프로그래밍 모델에 대해 알아봅니다. learn.microsoft.com Task (awai seunghus.tistory.com 2. 함수 순차 실행 여러 작업을 한 프레임에서 실행하는 경우 프레임 드랍이 일어날 수 있기 때문에 비동기 함수를 사용하며 1번 작업이 끝난 후 2번 작업이 실행되게 하고 싶은 경우가 있을 것이다. 위의 각 작업이 1개의 함수에 작성된 경우 작업별로 중간중간..

C# 2023.08.04

코루틴 -> Task (1)

https://learn.microsoft.com/ko-kr/dotnet/csharp/asynchronous-programming/async-scenarios 비동기 프로그래밍 - C# .NET Core에서 제공하는 C# 언어 수준 비동기 프로그래밍 모델에 대해 알아봅니다. learn.microsoft.com Task (await / async) 는 C# 5.0 문법부터 지원이 되기 시작했다. 유니티 개발 환경에서는 비동기 작업을 위해 코루틴을 많이 사용하기도 하는데 이를 awit/async 사용하는 방법 예제를 몇가지 적어보려 한다. 유니티 환경에서 Task를 쓰는 방법은 C# Task를 사용하는 방법과 UniTask 라이브러리를 사용하는 방법이 있기 때문에 상황에 따라 고르면 된다. 1. 몇초 기다리..

C# 2023.07.24

C# - 인터페이스와 가상함수

마이크로소프트 문서에는 아래와 같이 나와있다. "인터페이스에는 클래스 또는 구조체에서 구현할 수 있는 관련 기능 그룹에 대한 정의가 포함되어 있습니다. 예를 들어 인터페이스를 사용하면 여러 소스의 동작을 클래스에 포함할 수 있습니다. 해당 기능은 언어가 클래스의 여러 상속을 지원하지 않기 때문에 C#에서 중요합니다. 또한 구조체는 다른 구조체나 클래스에서 실제로 상속할 수 없기 때문에 구조체에 대한 상속을 시뮬레이트하려는 경우 인터페이스를 사용해야 합니다." C#에서는 C++과 다르게 다중상속을 지원하지 않고 단일 상속만 지원한다. 그렇기 떄문에 다중상속이 필요한 경우 인터페이스를 이용해 구현해 사용할 수 있다. 인터페이스는 Interface 키워드를 사용하고 이름은 대문자 I로 시작하도록 한다. 인터페..

C# List, LinkedList 기본

List : C++의 Vector에 유사하다 LinkedList : C++의 List에 유사하다 원소 접근 방법 List : 대괄호 인덱스로 원소에 접근이 가능하다( [ index ] ) LinkedList : 대괄호 인덱스로 원소에 접근이 불가능하며 이터레이터를 통해 접근해야 한다 ( 2번째 원소를 찾고 싶다면 LinkedList의 first 노드에서 해당 원소의 인덱스로 next해야한다 ) ​ List의 경우 바로 Value값을 가져오지만 LinkedList의 경우 노드를 가져오기 때문에 Value를 접근해야 값을 볼 수 있다 원소 삽입 방법 List : 2가지 삽입 방법이 존재 1. Add : 값을 리스트의 맨 뒤에 삽입 한다 2. Insert : 리스트의 해당 인덱스 위치에 값을 삽입한다 ​ Li..

C# 2023.03.04

C# 딕셔너리 여러가지

딕셔너리는 Key와 Value로 이루어진 자료구조로 하나의 자료구조에 한개의 key만이 가능하다 C#에서 이런 딕셔너리 관련 여러가지 내용을 정리하였다 ​​ 1. KeyCollection, ValueCollection 이 Collection이 붙은 녀석들은 딕셔너리를 이용한 생성자를 통해 생성이 가능하다 ​ KeyCollection의 경우 생성자에 사용 된 딕셔너리의 Key값을 가지는 자료구조로 만들어진다 딕셔너리는 중복 된 Key 값을 허용하지 않고 KeyCollection은 딕셔너리의 Key값만 모아 만들어진 녀석이므로 안의 내용물들 역시 중복된 값은 없게 된다 ​ 반대로 ValueCollection의 경우 Key값이 아닌 Value값만 모아 만들어진 녀석이다 Value의 경우는 중복이 허용 되므로 ..

C# 2023.03.04

C# - 현재시간 표시하기(DateTime)

C#의 system 네임스페이스에는 DateTime이라는 개체가 존재한다 Date타임안의 Now속성은 프로그램이 실행되는 컴퓨터의 현재 날짜와 시간에 대한 정보를 가지고 있다 먼저 Now라는 속성은 가져오는 것만 가능하다(로컬 컴퓨터의 시간을 가져오기 때문에 속성에서 변경 불가능) 이 DateTime.Now를 Tostring을 통해 문자열로 가져올 수 있는데 년, 월, 일, 요일, 시, 분, 초, 오전-오후를 원하는 방식으로 가져올 수 있다 년은 yy, yyyy 두가지로 yy의 경우 년의 2자리(2018이면 18) yyyy는 4자리 모두를 가져온다 월은 M, MM으로 MM의 경우 1~9월의 앞에 0을 붙여준다(01, 09) 일은 d, dd로 역시 2자리면 1자리 일에 0을 붙여준다 요일은 ddd, ddd..

C# 2023.03.04

C# String

문자열 이스케이프 시퀀스 \" : 문장 내부에 큰따옴표 사용, \' : 문장 내부 작은 따옴표 \\ : 백슬래시, \0 : Null, \a : 경고, \b : 백스페이스 \f : 폼 피드, \n : 줄 바꿈, \r : 캐리지 리턴, \t : 가로 탭 \U : 유니코드 이스케이프 시퀀스, \v : 세로 탭, \x : 가변길이 제외 \u와 유사 WriteLine : 문자열 출력 Replace : 문자열 안의 단어, 문자열을 첫번째 매개변수, 교체할 단어, 문자열을 두번째 매개변수로 입력 Trim : 문자 배열이나 null을 매개변수로 받는다. 문자열 안에서 문자 배열의 항목을 제거하거나 선행 후행 공백을 제거 TrimEnd : 문자 배열이나 null이 매개변수. 후행 항목을 제거 TrimStart : 문자 ..

C# 2023.03.04

STL 차이 - stack, queue

먼저 C++의 STL은 C#에서는 Collection안에 들어있어 각각에 해당하던 헤더를 include하지 않고 using System.Collection로 모두 사용할 수 있다 C++ STL 중 스택과 큐, 덱 등은 push, pop, empty, emplace, swap이라는 공통적인 메서드를 가지고 있다. 먼저 Stack은 아래 그림과 같은 형태에 해당한다 마지막 입력 값이 먼저 나오는 형태인데 이런 형태이기 때문에 pop의 결과는 마지막 원소를 제거하게 된다 pop메서드는 void형이기 때문에 프로그래머는 최상단의 원소의 값을 알고 싶다면 top이라는 함수로 얻을 수 있다 따라서 마지막 원소를 구하고 제거하기 위해서는 C++에서는 top과 pop 2줄로 마지막 원소를 얻고 제거를 하게 된다. 일단..

C# 2023.03.04

C# 추상(abstract) / 인터페이스(interface)

가상 함수는 파생 클래스에서 재정의가 필수가 아니지만 순수 가상 함수는 재정의가 필요하다. C++에서 가상 함수와 순수 가상 함수의 작성법의 차이는 아래처럼 =0; 이 붙느냐의 차이이다. 순수 가상 함수를 포함한 클래스를 추상클래스라고 부르는데 C++에서는 클래스가 추상 클래스인지 확실하게 알려주는 키워드가 없다. 마찬가지로 이를 구분하는 순수 가상 함수와 가상 함수의 차이도 키워드가 따로 없고 함수의 뒤가 =0;인지 아닌지의 차이이다. 이에 C#에서는 추상인지 가상인지 즉 순수 가상 함수와 가상함수를 구분하고 추상클래스를 구분하는 키워드인 abstract키워드가 나오게 되었다. 가상함수를 오버라이드 하게 되면 base라는 녀석이 기본으로 나온다. 이 base 키워드는 오버라이드 이전인 부모클래스의 함수..

C# 2023.03.04
728x90
반응형
LIST