728x90
반응형

G91 개발일지

총 381개의 포스트

G91 개발일지(381)

  1. Win32_API - 아이콘 버튼 (버튼에 이미지를 설정하기)

    서론 Windows 응용 프로그래밍 과정에서 대표적인 컨트롤 중 하나인 버튼을 기본적인 양식대로 만들면 기능은 구현할 수 있으나 시각적으로는 부적합한 경우가 상당히 많습니다. 본문에서는 버튼 컨트롤을 마치 아이콘의 형태처럼 이미지를 씌우는 방법에 대해서 알아보고 사용해보도록 합시다. 버튼을 생성하는 과정이 이해가 안 되면 아래 글을 참조해주세요 Win32_API - 버튼 만들기 서론 수많은 Windows 프로그램들의 Window를 보면 다양한 기능들을 제공하는 버튼들을 많이 보았을 것입니다. 첨부된 그림처럼 Window 프로그램에는 프로그램을 제어할 수 있는 다양한 기능이 존재합 blog-of-gon.tistory.com 우선 이미를 준비합시다. 당연히 버튼에 사용할 이미지를 준비해야 됩니다. 이미지를 ..

    2022.04.08

    컴퓨터/Win32-API

    Commnet

  2. Python - Web 크롤링/스크래핑/파싱(Crawling / Scraping / Parsing)

    서론 앞으로 본격적으로 Python을 통해서 다양한 Web을 통해서 다양한 데이터를 크롤링, 스크래핑, 파싱을 할 것입니다. 결국은 Python을 통해 Web에서 정보를 취득하여 원하는 형태를 만들기 위한 과정입니다. 이를 다양한 언어로 표현하는데 차이와 특징에 대해서 알아보도록 합시다. 크롤링(Crawling) 수영 영법 등을 표현할 때 Crawl이라는 표현을 씁니다. 우리가 이야기하고자 하는 Webcrawling은 의역하자면, 정보의 바다인 웹을 가로지르는 영법이라는 의미를 가질 수 있습니다. 이 처럼 크롤링은 Web상에서 정보를 탐색하는 모든 행위를 의미합니다. 웹 크롤링을 한다 = 웹에서 정보를 탐색한다 추가로 웹 크롤러(crawler)라는 말은 이런 정보를 탐색하기 위한 다양한 프로그램을 의미합..

    2022.04.06

    컴퓨터/Python

    Commnet

  3. Python - Beautiful Soup ? (HTML / XML 데이터를 가공하기)

    서론 HTML이나 XML 등의 데이터 덩어리를 Python으로 가지고 온다면 이것을 어떻게 써야 할까요? 예를 들어 가지고 온 HTML 문서에서 태그만을 가지고 오고 싶다면 데이터 덩어리에서 추출하는 것은 상당히 손이 많이 가는 작업일 것입니다. Beauiful Soup 패키지는 이런 데이터 덩어리를 손쉽게 유용한 정보로 가공할 수 있게 해주는 유용한 라이브러리입니다. Beauiful Soup4 beauiful soup는 계속 새로운 버전이 릴리즈 되면서 현제 Beauiful Soup4를 이용하여 개발하고 있습니다. 따라서 최신 버전의 사용법을 숙지하는 것을 권장드립니다. 그럼 간단한 예제들을 통해 해당 라이브러리를 설치해보고 간단한 실습을 해보도록 하겠습니다. 패키지 설치하기 with pip 우선 pi..

    2022.04.02

    컴퓨터/Python

    Commnet

  4. Python - request 패키지의 한계(활용하기 위한 방법)

    서론 웹 브라우저를 통하지 않고 Python에서 request패키지를 통해 특정 서버에 http 프로토콜 요청이 가능합니다. 쉽게 말해 URL 요청을 통해 데이터를 취득할 수 있습니다. 아주아주 쉽게 말이죠. 이게 바로 Request 패키지의 목적이자, 한계입니다. 본문에서는 request패키지를 통해 python에서 응답받은 이 결과물을 어떻게 사용할지 생각해 보도록 합시다. request로부터 응답받은 객체 우선 request 메서드를 통해 응답받은 객체를 보면 다양한 속성 값들이 존재합니다. class Response(object): """The :class:`Response ` object, which contains a server's response to an HTTP request. """ ..

    2022.04.01

    컴퓨터/Python

    Commnet

  5. C언어 - switch 문과 지역변수 (중괄호의 필요성)

    서론 C언어 문법에서 switch문을 사용하여 코딩을 하는 경우 지역변수를 선언하여 사용하고 싶은데 원하지 않는 동작을 하는 경우가 종종 생기고는 합니다. 본문에서는 원인을 파악하고 효율적으로 코딩을 하는 방법을 알아보도록 합시다. 우선 비교해 봅시다. switch문을 사용해서 특정 case에서만 지역변수를 생성하고 사용하고 싶다고 가정해 보도록 합시다. 하나의 예제 코드를 보도록 합시다. #include int main() { //지역변수를 사용하지 못하는 코드 intnumber = 1; switch (number) { case 1: break; case 2: int a = 1; //Error 발생!! break; default: break; } //지역변수를 사용할 수 있는 코드 int number2..

    2022.04.01

    컴퓨터/C

    Commnet

  6. Win32_API - GDI로 자유곡선 그리기3 (비트맵을 저장해서 쓰자)

    서론 지난 글들을 통해서 마우스를 통해 자유롭게 그리고 지우는 과정을 배워봤습니다. 이때 그림을 그린 좌표를 기억해서 계속 다시 그려주는 방식을 채택해서 사용했었습니다. 본문에서는 비트맵을 기억하는 방식을 채택해서 조금 더 쉽게 구현을 하는 방법에 대해서 알아보도록 합시다. 개요 구현 방식은 생각보다 간단합니다. 더블 버퍼링의 개념을 응용해서 사용하면 됩니다. WM_CREATE 과정에서 비트맵을 생성한다. 마우스 클릭 과정들에 대한 처리 전 글들과 유사함 마우스 움직이는 과정의 처리 WM_MOUSEMOVE 이 과정에서 생성한 비트맵에 그림을 그리고 고속 복사의 과정을 한다. WM_PAINT 처리 이 과정또한 이미 기억하고 있는 비트맵을 고속 복사한다. 여러 처리 변수 목록 마우스 상태를 알기 위한 변수 ..

    2022.04.01

    컴퓨터/Win32-API

    Commnet

  7. Win32_API_GDI로 자유곡선 그리기2(지우기/지우개 기능 추가)

    서론 지난 글에서 MS사에서 제공하는 그림판처럼 일종의 Pen을 구현해서 자유롭게 선을 그려봤습니다. 그렇다면 사용자의 의도대로 자유롭게 그려진 선을 지우려면 어떻게 해야 될까요? 크게 두 가지 방법이 있습니다. 특정 동작이 이루어졌을 때 선택된 곳을 배경색으로 칠한다. 특정 동작이 이루어졌을 때 선택된 곳의 선정보를 제거한다. 1번의 경우 간단하게 DC를 얻어 처리할 수 있지만, 무효화 영역이 발생했을 때 원하는 의도와 다르게 동작할 수 있습니다. 2번은 1번보다는 조금 복잡하지만 실제 기록된 그릴 정보를 제거함으로써 조금 더 원하는 의도대로 작동할 수 있습니다. 본문에서는 2번을 이용하여 지우기 기능을 추가해 보도록 하겠습니다. 지난 글의 소스코드를 이용하여 추가하도록 하겠습니다. Win32_API ..

    2022.03.30

    컴퓨터/Win32-API

    Commnet

  8. C++ - 배열 vector와 2차원 vector

    서론 C++ STL에서 제공하는 vector 클래스를 조금 더 풍부하게 사용하는 방법에 대해서 알아보도록 합시다. 이 vector 클래스 자체를 배열의 형태로 사용하는 방법과 2차원 vector를 사용하는 예제를 통해 조금 더 vector와 C++ 문법에 익숙해져 보도록 합시다. vector클래스가 뭔지 모른다면 이전 글을 참고 바랍니다. C++ - STL vector 클래스 (손쉬운 동적배열) 서론 C++ STL 라이브러리에서 제공하는 vector클래스는 쉽게 원소를 추가 및 제거할 수 있는 가변 배열의 형태를 가진 컨테이너입니다. 즉 쉽게 동적으로 메모리를 할당하여 데이터를 관리할 수 있 blog-of-gon.tistory.com 배열 vector vector를 선언하여 vector를 배열로 사용하는..

    2022.03.29

    컴퓨터/C++

    Commnet

  9. Win32_API - GDI로 자유 곡선 그리기 (마우스로 글씨 쓰기)

    서론 지난 글들을 통해서 마우스 동작에 대한 Window 운영체제에서의 메시지들을 이해하고, 간단하게 선을 그리는 방법에 대해 알아보았습니다. 본문에서는 몇 가지 추가적인 내용들을 알아보고, 자유곡선 즉 마우스 클릭을 통해 글씨를 써보도록 합시다. 어떻게 연속된 곡선을 그릴까? 지난 글들에서 우리는 GDI API를 통해 직선을 그릴 수 있었습니다. 직선을 어떻게 그렸을까요? 두 가지 함수를 통해 그렸습니다. MoveToEx(memdc, start_pos.x, start_pos.y, NULL); LineTo(memdc, end_pos.x, end_pos.y); 이 방법을 응용하면 간단합니다. 연속적으로 시작점과 끝점을 다시 그려준다면 자유롭게 곡선을 그릴 수 있게 됩니다. 어떻게 구현할지 생각해 봅시다. ..

    2022.03.28

    컴퓨터/Win32-API

    Commnet 1

  10. Bitmap(비트맵) - 이미지를 처리하는 방식

    서론 이미지를 다루는 가장 작은 단위는 Pixel입니다. 이 Pixel들 하나하나의 정보를 알고 있으면 하나의 전체의 이미지를 구할 수 있게 됩니다. 이런 형식의 그래픽 표현을 컴퓨터에서는 비트맵(Bitmap)이라고 합니다. 왜 비트맵이라고 불리는가? 말 그대로 전체 이미지의 각각의 픽셀(Pixel)의 비트 데이터가 들어있는 형식입니다. 하나의 픽셀을 비트 값의 형태로 저장을 하여 이미지를 표현할 수 있습니다. 예를 들어 16bit , 24bit, 32bit의 형태로 설정하면 한 화소에 표현할 수 있는 색상이 증가하게 됩니다. 즉 각각의 픽셀에 비트의 정보를 가지고 있는 포맷이 바로 비트맵입니다. 래스터(점) 방식의 이미지 포맷이라고 부르며 레스터 방식의 가장 대표주자가 바로 이 비트맵입니다. 정밀하고 ..

    2022.03.28

    컴퓨터/컴퓨터 공학 기초

    Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :

1 ··· 9 10 11 12 13 14 15 ··· 39
728x90
반응형