await

    [C# 11 과 .NET 7] 2. C#

    [C# 11 과 .NET 7] 2. C#

    이번 글에서는 C# programming 언어에 대한 기본적인 사항을 살펴볼 것입니다. 전반적으로 알아야 할 용어와 C#에 대한 기본적인 문법에 대한 것들입니다. 1. C# 언어 C#을 통해 application에 대한 source code를 작성하려면 그에 필요한 문법과 용어를 알고 있어야 할 것입니다. 다행스럽게도 programming 언어자체는 사람이 사용하는 언어(대게는 영어)와 비슷한 면을 가지고 있습니다. 다만 programming에서는 자신만의 단어를 만들어낸다는 차이만 있을 뿐입니다. (1) 언어 version과 기능 ● C# 1 2002년 02월에 발표되었으며 객체지향언어에 대한 모든 중요한 요소를 포함하였습니다. ● C# 1.2 foreach 구문의 끝에서 자동적인 disposal과 같..

    [C#] 멀티태스킹(Multitasking) - 4. async와 await

    [C#] 멀티태스킹(Multitasking) - 4. async와 await

    5. async와 await C# 5에서는 Task Type을 위한 2개의 키워드가 추가되었는데 이 키워드는 특히 아래의 상황에서 유용하게 사용될 수 있습니다. GUI 환경에서의 멀티 태스킹 구현 Web Service의 확장성 향상 (1) Console Application에서의 비동기 구현 await 키워드는 단지 async가 구현된 메서드에서만 사용될 수 있고 C# 7과 그 이전 버전에서 Main() 메서드는 async가 구현되는 걸 허용하지 않았습니다. 이것이 Console Application에서 가질 수 있는 한계점 중 하나였는데 C# 7.1에 들어와서는 main() 메서드에도 async가 적용되는 걸 지원하지 시작했습니다. 새로운 Console Application프로젝트를 생성하고 아래와 같..

    [C#] Thread(스레드)와 Task(태스크)

    [C#] Thread(스레드)와 Task(태스크)

    1. 프로세스와 스레드 프로세스라 함은 실행파일이 실행되어 실행파일과 관련된 모든 데이터가 메모리에 적재되어 실행되는 상태를 말합니다. 프로세스는 자신만의 스레드를 가질 수 있으며 이 스레드로 프로그램에 필요한 동작을 수행합니다. 따라서 프로세스는 반드시 하나이상의 스레드를 가지며 스레드는 CPU가 프로그램 실행을 위해 시간을 할애하는 기본 단위가 됩니다. 프로그램이 내부에 여러작업을 수행해야 하는 경우라면 스레드를 여러 개 사용하는 '멀티스레드'를 구현합니다. 예를 들어 문서편집기 프로그램의 경우 사용자가 문서를 작성하고 있으면 주기적으로 자동 저장을 해야 할 때 문서작성용 스레드와 자동 저장을 수행하는 스레드가 각각 필요할 것입니다. 시간이 오래 걸리는 계산 작업을 수행하는 경우에도 사용자가 중간에 ..

    [javascript] Promise와 async/await

    Promise는 어떠한 처리를 하되 당장 결과를 반환하지 않고 원할 때 결과를 갸져 올 수 있는 객체입니다. var promise = new Promise((resolve, reject) => { if (true) { resolve('true'); } else { reject('false'); } }); //다른코드 promise.then((result) => { console.log(result); }) .catch((result) => { console.log(result); }); Promise를 위와 같이 정의해 두면 Promise 내부 코드는 즉시 실행됩니다. 그런 후 필요에 따라 다른 처리를 하고 이후에 then이나 catch를 붙여서 처리결과를 가져오는 형태인데 비동기 처리와 유사합니다. 만..