C# Task async/await, Task.Wait()/Result() 차이 및 테스트

.NET Framework 또는 Core 프로젝트에서 async 와 await 키워드를 이용하여 비동기 처리를 할 수 있다고 해서 몇 가지 실험을 해봤습니다. 😎 C++ 에서는 스레드풀에 일들(Jobs)을 넣어 백그라운드에서 작업을 진행 시켰는데, 단 두 개의 키워드로 이런 일들이 가능하다고 하니 신기하고 편해 보이기도 합니다. 👍 테스트 💡 Information C# 콘솔 프로젝트에서 진행했습니다. Program.cs 파일만 만들어지는 기본 프로젝트 1. async 키워드를 붙이면? 일단 async 키워드를 붙이면 내장된 스레드풀에서 돌아가는지 궁금했습니다. 코드는 아래와 같고, 예상 결과는 Main 0과 Main 1이 거의 동시에 출력되고 2초 후에 Async 가 출력될 것이라고 생각했습니다. ...

2024년 12월 26일 · 4 min · 737 words · JongBin

웹 소켓 개념 및 사용 방법 ASP.NET Core 프로젝트

서버 - 클라이언트 간 통신 프로토콜 중 HTTP 는 비연결성으로 항상 연결되어 있는 상태가 아닙니다. 아주 간단히 설명하자면, 웹 서버(apache 또는 nginx 등)는 클라이언트로부터 요청이 들어오면 연결을 수립하고 요청한 자료를 만들어 클라이언트에 전송하고 연결을 종료시킵니다. 그렇다면 실시간으로 보여지는 👍 좋아요 라던지, 조회수 등 실시간 알람 처리는 어떤 방법으로 처리를 하게 되는 것일까요? 💡 Quotation 웹 소켓은 사용자의 브라우저와 서버 사이의 인터액티브 통신 세션을 설정할 수 있게 하는 고급 기술입니다. 개발자는 웹 소켓 API를 통해 서버로 메시지를 보내고 서버의 응답을 위해 서버를 폴링하지 않고도 이벤트 중심 응답을 받는 것이 가능합니다. ...

2024년 12월 22일 · 3 min · 570 words · JongBin

워드프레스 설치 및 초기 설정하기

⚠️ Warning 이 글은 워드프레스 설치 관련 대략적인 내용만 있습니다. 저처럼 다시 설치하고 싶으신 분들 참고하세요. Hugo 를 이용하여 블로그를 작성하다가 다시 워드프레스로 갈아타기로 마음먹었고 다시 설치하는 과정을 대충이라도 적어서 공유하려고 합니다. 😄 바퀴를 다시 발명하지 말라는 어느 유저의 말이.. 설치 공식 홈페이지에서 바로 다운로드 가능하며 바로 서버에 넣고 압축을 풀면 됩니다. 의존성 패키지 설치 및 설정 MariaDB apt install mariadb-server wordpress가 사용할 ID 및 데이터베이스 생성 mysql -u -p create user wordpress identified by '[PASSWORD]'; create database wordpress; grant all on wordpress.* to wordpress; ...

2024년 12월 22일 · 2 min · 283 words · JongBin

AVX 명령어 세트 및 개발 방법

💡 Quotation 고급 벡터 확장(Advanced Vector Extensions,약어:AVX)은 2008년 4월 춘계 인텔 개발자 포럼에서 발표된 x86 명령어 집합의 확장으로 SIMD명령어 집합중의 하나이다. Wikipedia 💡 TIps 단일 데이터 복수 데이터 단일 명령어 SISD SIMD 복수 명령어 MISD MIMD 해당 글에서 설명할 AVX 명령어 셋은 SIMD에 속합니다! CPU-Z 에서 본인이 사용하는 프로세서가 사용할 수 있는 명령어 집합을 볼 수 있는데, 그 중 AVX는 큰 데이터 덩어리를 처리할 수 있는 기술로 적은 연산으로 빠르게 처리가 가능하게 합니다. ...

2024년 04월 17일 · 2 min · 384 words · JongBin

Rust 함수 생성 및 사용

생김새 1 2 3 fn main() { } 💡 Tips 프로그램의 시작은 fn main() 함수에서 시작한다는 것을 이전 포스팅에서 알 수 있었습니다. C/C++ 및 Java에서 흔히 함수명 앞에 반환하는 데이터 타입, 뒤에는 함수에서 사용할 Parameter를 정의했는데 Rsut 에서는 반환 데이터 타입 대신 fn 이라는 키워드가 옵니다. 그렇다면 함수가 반환할 때는 어떻게 해야할까요? 새로운 함수를 만들어 보겠습니다. 😊 함수 생성 및 사용 1 2 3 4 5 6 7 8 9 10 fn main() { println!("{} + {} = {}", 2, 3, add(2, 3)); } fn add(a:i32, b:i32) -> i32 { return a + b; } // 실행결과 // 2 + 3 = 5 fn add(a:i32, b:i32) -> i32 에서 볼 수 있듯 fn 키워드를 이용하여 함수임을 선언한 후 함수 이름과 사용할 Parameter를 정의했고, 처음 보는 기호 ->를 통해 반환형이 i32라고 정의하는 것을 볼 수 있습니다! ...

2024년 04월 13일 · 1 min · 195 words · JongBin