데이터 중에는 몇 가지로 한정된 값만을 갖는 경우가 흔히 있다. 예를 들어 계절은 봄, 여름, 가을, 겨울 그리고 요일은 월, 화, 수, 목, 금, 토, 일이라는 한정된 값을 가진다. 이렇게 한정된 값만을 가지는 데이터 타입이 열거 타입(Enumeration type)이다. 열거 타입의 장점 문자열과 비교해 IDE의 지원을 받을 수 있다. (자동완성, 오타 검증, 텍스트 리팩토링) 허용 가능한 값들을 제한 리팩토링 시 변경 범위가 최소화 된다. (내용 추가가 필요해도 Enum 코드 외에 수정할 필요가 없다.) 해당 장점은 모든 언어가 Enum에서 얻을 수 있는 장점이다. 더 나아가 Java Enum의 경우 C/C++과 다르게 Enum이 int 값이 아니라 완전한 기능을 가진 클래스이다. 이를 기반한 장점..
Basic
C# async await 예제// 3가지 주의해야할 Signiture가 있음: // - 메소드는 async 수식어가 있어야한다. // - return type은 Task나 Task여야 한다. // 여기서는, integer를 반환하기 때문에 Task를 반환한다. // - 메소드의 이름은 Async로 끝나야한다. async Task AccessTheWebAsync() { using (HttpClient client = new HttpClient()) { // GetStringAsync는 Task을 리턴. // 기다리면 문자열을 얻는다는 뜻이다. (urlContents). Task getStringTask = client.GetStringAsync("https://docs.microsoft.com"); //..
Error 메시지error CS0120: An object reference is required for the non-static field, method, or property 발생 상황class Program { void TestMethod() { // Process } static void Main(string[] args) { TestMethod(); } } TestMethod()를 진행하려고 하는데, 위와 같은 에러 메시지가 떴다. 해결 방법1class Program { static void TestMethod() { // Process } static void Main(string[] args) { TestMethod(); } } 말 그대로 non-static field인 메서드를 실행하려고..
경고!!제가 아는 부분에 대해서 공유드리는 목적의 발표입니다. 이 부분에 대해 빠삭하지 않기 때문에 질문에 대한 답을 당장은 드릴 수 없을 수 있지만, 추후에 공부를 통해서 답을 드리겠습니다. 네트워크 프로그래밍 저희가 목표로 하는 통신 기능이 있는 C# 코드를 구현하기 전에 네트워크 프로그래밍이 무엇인지 감을 잡도록 하겠습니다. 인터넷의 유래 최초의 컴퓨터는 프로그램을 입력받고 실행한 뒤 결과를 출력하는 정도가 전부였습니다. 이 시기의 컴퓨터는 다음 그림처럼 중앙 컴퓨터에 더미 터미널 여러개를 연결했다고 합니다. 더미 터미널은 연산 능력은 없고, 입력(키보드)와 출력(모니터)만 할 수 있었습니다. 이 터미널은 지능은 없었지만 중앙 컴퓨터와 데이터를 주고 받는 기능을 가지고 있었습니다. 냉전이 한창이던 ..
python test assertionTestCase 클래스는 값을 검사하고 실패를 보고하기 위해 몇 개의 assert 메서드를 제공합니다. 다음 표는 보통 많이 사용되는 메서드들입니다(더 많은 assert 메서드는 표 아래를 보십시오):메서드검사하는 내용추가된 버전assertEqual(a, b)a == b assertNotEqual(a, b)a != b assertTrue(x)bool(x) is True assertFalse(x)bool(x) is False assertIs(a, b)a is b3.1assertIsNot(a, b)a is not b3.1assertIsNone(x)x is None3.1assertIsNotNone(x)x is not None3.1assertIn(a, b)a in b3.1a..
2024/01/28 업데이트 되었습니다. 서론 BASE_DIR = os.path.dirname(os.path.abspath(__file__)) 조만간 포스팅할 예정인 파이썬을 이용한 웹 크롤링, 스크래핑 주제를 공부하던 중 막히는 부분이 생겼습니다. 바로 위의 구문입니다. 이를 이해하기 위한 지식을 공부하며 포스트를 작성합니다. 시작 파이썬은 파일 경로 또는 디렉토리와 관련한 코드가 많이 필요합니다. 파일 및 디렉토리 경로에 관한 함수는 모두 os 모듈을 사용하기 때문에 os 모듈의 import가 필요합니다. 직접 쳐보면서 따라하길 권장합니다. (하단 코드에선 import os를 생략합니다.) 현재 작업 폴더 얻기 os.getcwd()를 사용하여 얻습니다. (get current working direc..
Collections - container datatypessource code: Lib/collections/__init__.py 이 모듈은 파이썬의 범용 컨테이너 데이터 타입 내장 컨테이너 (dict, list, set, tuple)을 대신할 특수 컨테이너 데이터 타입을 제공합니다. 데이터 타입들은 아래의 표와 같습니다. namedtuple()factory function for creating tuple subclasses with named fieldsdequelist-like container with fast appends and pops on either endChainMapdict-like class for creating a single view of multiple mappingsCou..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 문제#number.py print("Number 테스트 파일") """저자: Evan HwangData: 몰라"""위와 같은 파이썬 기초 코드를 실행하려고 하니 아래와 같은 에러가 떴습니다. Non-ASCII character '\xed' in file number.py on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 이유 파이썬 코드 내에 한글이 있으면 에러가 뜬다고 하더군요. 인코딩 옵션이 필요해보입니다. 해결#-*- coding: utf-8 -*- 를 코드 상단에 넣으니 해결 완료.#-*- coding: utf-8 -*-#numbe..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 AJAX에 대해서 공부하던 중 StackOverFlow AJAX의 기본을 이해하기 좋은 질문이 있어서 번역합니다. Q. 비동기식 XMLHttpRequest에서 어떻게 결과를 얻을까요? 다음과 같은 코드가 있습니다. ajax 요청에 대한 결과를 담고 result를 리턴하는데 왜 undefined가 나올까요?function foo() { var result; $.ajax({ url: '...', success: function(response) { result = response; // return response; //
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 모든 데코레이터는 그냥 Function이고 그냥 Function의 이름을 가져다 불러 쓰면 됩니다. 1. Class Decorator2. MethodDecorator3. Property Decorator4. Parameter Decorator Class Decoratorfunction hello(constructorFn: Function) { console.log(constructorFn);} @helloclass Person { } 1. 딱히 클래스 인스턴스를 만들지 않아도 접근 가능하다.2. 인자로 constructor Function을 가져가는데(class Decorator의 signature이므로 무조건 넣기) Person의 const..