🌈 프로그래밍

    [ MFC ] Ontimer와 SetTimer, KillTimer 사용법

    안녕하세요? 수구리입니다. 이전 포스팅에서는 간단한 MFC Thread 예제를 살펴보았었는데요 최근에 간단한 프로젝트로 pc의 작업 관리자에서 리소스 모니터처럼 PC의 자원들 (CPU, RAM, DISK 등..)을 실시간으로 모니터링하는 Win32 app을 만들어보고 있습니다. 그래서 생각한게 CPU 사용량을 가져오기 위한 Thread, RAM의 사용량을 가져오기 위한 Thread 등등을 생각하고 있었는데 Thread 기능과 비슷한? Ontimer와 SetTimer함수가 있더라고요 그래서 제가 진행하고 있는 코드에서 어떤 식으로 활용했는지 기록해보겠습니다. [ Ontimer와 SetTimer? ] 우선 위의 함수들은 WM_TIMER라는 이벤트가 발생할 경우 콜백되어지는 함수입니다. WM_TIME을 설정하..

    [ MFC ] AfxBeginThread를 사용한 Timer 예제

    안녕하세요? 수구리입니다. 오랜만에 MFC를 다루게 되었습니다. 이번 포스팅에서는 Thread와 관련하여 포스팅을 하게 되었습니다. Thread에서 가장 중요한 것은 바로 Sleep 함수입니다. 보통 Thread를 돌린다고 한다면, 거의 대부분 무한루프를 돌리는 경우가 많습니다. 따라서, 만약 Sleep이 없이 여러 Thread를 돌리게 된다면 어떤 특정 Thread가 PC의 리소스(자원)를 독점하여 사용하므로 다른 Thread는 PC의 자원을 할당받지 못해 정상적으로 동작하지 않게 됩니다. 따라서 각 Thread마다 일정 시간 동안의 Sleep을 주어서 모든 Thread에게 골고루 자원을 나누어 주어야 합니다. 이번 예제에서는 현재 날짜와 시간에 대한 정보를 가져오는 Timer Thread에 대한 예제..

    [ Nest JS ] 기본 프로젝트에서 Nest 로직 흐름

    안녕하세요? 수구리입니다. 지난 포스팅에서는 Nest JS가 무엇인지, 어떤 특징을 가지는지, 어떻게 프로젝트를 생성하고 또 Nest가 기본적으로 만들어주는 파일들과 실행까지 알아보았었죠? 지난 포스팅을 안 보셨다면 보고 오시는 것을 추천드립니다. 2021.10.13 - [프로그래밍/Nest JS] - [ Nest JS 소개 ] Nest JS 프로젝트 시작하기 [ Nest JS 소개 ] Nest JS 프로젝트 시작하기 안녕하세요? 수구리입니다. 한창 Nest JS에 대해서 공부를 했었는데 차근차근 복습할 겸 정리를 해보도록 하겠습니다. 아래에는 Nest의 공식문서가 있습니다. 공식문서를 기반으로 정리를 한 내용 tasddc.tistory.com 이번 포스팅에서는 Nest가 무엇인지는 알았으니.. "loc..

    [ Nest JS 소개 ] Nest JS 프로젝트 시작하기

    안녕하세요? 수구리입니다. 한창 Nest JS에 대해서 공부를 했었는데 차근차근 복습할 겸 정리를 해보도록 하겠습니다. 아래에는 Nest의 공식문서가 있습니다. 공식문서를 기반으로 정리를 한 내용입니다. [ Nest JS 공식문서 ] 네스트JS 한국어 매뉴얼 사이트 네스트JS 한국, 네스트JS Korea 한국어 매뉴얼 docs.nestjs.kr [ Nest JS ? ] Nest는 효율적이고 확장 가능한 Node.js 서버 측 애플리케이션을 구축하기 위한 프레임 워크이다. progressive JavaScript를 사용하고 TypeScript로 빌드가 지원된다. 이는 개발자가 순수 JavaScript로 코딩할 수 있다는 의미이다. Nest는 OOP(Object Oriented Programming), FP..

    [C++] 재사용을 고려한 디자인이란?

    안녕하세요? 수구리입니다. 저번 포스팅에서는 vector와 관련되어서 많은 내용들을 알아보았습니다. [C++] vector 컨테이너 부수기 안녕하세요? 수구리입니다. 이번 포스팅에서는 vector에 대한 좀 더 자세히 알아보기 위해서 정리를 해보았습니다. 알고 있었던 부분도 있었지만, 더 나아가 자세한 내용을 살펴보니 제가 모르던 tasddc.tistory.com 이번 포스팅에서는 코드의 재사용과 관련된 철학에 대하여 정리를 해보려고 합니다. 재사용이란 말 그대로 다시 사용하도록 하는 것으로 코드를 재사용하는 것은 한 프로젝트에만 국한되는 것이 아니라 다른 프로젝트에서도 사용할 수 있도록 하는 것입니다. 코드를 간결하게, 자주 반복되어지는 부분은 함수로 따로 빼는 작업을 잘해둔다면 재사용하는데 더 편리해..

    [Git] visual studio 2015와 Git 연동하기

    안녕하세요? 수구리입니다. 이번 포스팅에서는 visual studio 2015에서 작업하고 있는 프로젝트들을 관리하기 위해서 Github과 연동하고, 커밋과 푸시 그리고 필요 없는 파일들은 제외하고 Git에 올려보는 포스팅을 해보려고 합니다. 시작하기 전에.. Git이 기본적으로 설치가 되어 있어야 합니다! 또한, visual studio 2015에서 수행하였으므로 약간 다를 수 있습니다. visual studio 2015와 Github 연동하기 visual studio 상단 메뉴 [도구] - [옵션] 클릭 2. [소스 제어] - [플러그 인 선택] 후, 현재 소스 제어 플러그인을 [Git]으로 바꾸고 [확인] 3. visual studio에 "팀 탐색기"가 만들어졌는지 확인! 4. 만약 없다면 상단에서..

    [ 9/7 삽질 기록 ] MySQL 한글 깨짐?!

    2021.09.06 - [삽질] - [ 9/6 삽질 기록 ] 험난한 typeORM 사용기 [ 9/6 삽질 기록 ] 험난한 typeORM 사용기 config를 인식하지 못하는 문제 우선, typeorm을 간단히 소개하자면 현재 내가 사용하는 DB 툴(mysql)에서 스키마를 만들고, 진행하는 프로젝트로 연결을 하기 위해서 사용하기 위한 툴이다. (그 반대 tasddc.tistory.com 이번 포스팅에서는 지난 포스팅과 이어지는 내용입니다. [ 한글 깨짐 현상 ] 지난 포스팅에서 ormconfig.ts를 통해 config가 인식이 되지 않는 문제를 해결하고 난 뒤, MySQL에서 정상적으로 테이블이 생성되어지고, 임의로 데이터까지 생성해 보았다. 그러나 나는 Channels 라는 테이블에 채널 이름을 "일..

    [C++] vector 컨테이너 부수기

    안녕하세요? 수구리입니다. 이번 포스팅에서는 vector에 대한 좀 더 자세히 알아보기 위해서 정리를 해보았습니다. 알고 있었던 부분도 있었지만, 더 나아가 자세한 내용을 살펴보니 제가 모르던 내용도 있었습니다. vector에 대한 개념이 잡히셨으면 좋겠습니다! 소개 이번 장에서는 표준 라이브러리에서 제공하는 기능에 대해서 알아보자. 17.1 컨테이너 개요 표준 라이브러리 컨테이너를 사용하면 여러 가지 위험에 노출될 가능성을 최대한 줄일 수 있다. 표준 라이브러리에 있는 것들은 모두 std 네임스페이스에 속한다. 17.1.1 원소에 대한 요구사항 표준 라이브러리 컨테이너는 원소를 값으로 처리한다. 즉, 값 전달 방식으로 복제본을 저장하고, 대입 연산자로 대입 후, 소멸자로 원소를 삭제하는 과정이라는 의미..

    [ 9/6 삽질 기록 ] 험난한 typeORM 사용기

    config를 인식하지 못하는 문제 우선, typeorm을 간단히 소개하자면 현재 내가 사용하는 DB 툴(mysql)에서 스키마를 만들고, 진행하는 프로젝트로 연결을 하기 위해서 사용하기 위한 툴이다. (그 반대 작업도 가능하게 해 줌!) 나는 mysql을 사용하였고, typeorm-model-generator를 사용해서 내가 사용할 DB의 스키마들을 nest에서 작성한 뒤, 그 테이블(스키마)들을 mysql로 옮겨주는 작업을 시도했다. 이 작업에서 typeorm과 연결하기 위해 필요한 ormconfig.ts라는 파일을 다음과 같이 만들어주었는데 import { TypeOrmModuleOptions } from '@nestjs/typeorm'; import * as dotenv from 'dotenv';..

    [C++] OOP 디자인의 개념

    안녕하세요? 수구리입니다! 오늘의 포스팅은 오랜만에 다시 C++ 책으로 돌아왔습니다! 이번 포스팅을 읽고 나시면 객체 지향이 뭔지에 대한 감이 잡히실 겁니다! 즉, C++에만 해당되는 내용이 아니라, 객체 지향 관련 언어를 공부하시는 분들도 읽어봐도 좋을 것 같습니다~ 이번 장에서는 객체 개념을 디자인에 적용하는 방법에 대하여 알아보자! 먼저 C 언어에서 따르던 절차형 프로그래밍부터 간략히 살펴본 다음, 객체지향 프로그래밍을 알아볼 예정이다. 이 장에서는 지루하더라도 코드보다는 개념을 중심으로 설명 5.1 절차형 사고방식 프로시저는 일종의 추상화 기법으로 프로그래머를 비롯한 여러 사람이 코드를 읽기 쉽게 한다. 이 프로그램은 무슨 일을 하지?라는 기본 질문을 바탕으로 답을 자연어로 생각한다면, 절차적으로..