목차 C 언어 Codelite에 opencv 라이브러리 링크 및 개발 환경 구성 예제 이전 포스팅 참고 학습 C 언어 opencv 라이브러리 활용 사각형, 원형 그리기 예제 이전 포스팅 참고 학습 C 언어 memcpy 메모리 복사 예제 이전 포스팅 참고 학습 C++ Opencv 활용 마우스 드래그시 선 그리기 예제 C++ Opencv 활용 마우스 클릭시 원형 그리기 예제 C 언어 Codelite에 opencv 라이브러리 링크 및 개발 환경 구성 예제 이전 포스팅 참고 학습 이전 포스팅을 참고하여 Codelite에서 OpenCV 라이브러리를 링크하고 개발 환경을 구성하는 방법을 학습합니다. OpenCV는 컴퓨터 비전 및 이미지 처리 작업을 위한 라이브러리로, 프로젝트에 라이브러리를 링크시켜 이미지 처리 및..
목차 C++ 언어 Codelite에 opencv 라이브러리 링크 및 개발 환경 구성 예제 이전 포스팅 참고 학습 C 언어 fopen 파일 생성 및 스트림 열기 예제 이전 포스팅 참고 학습 C 언어 fclose 파일 스트림 닫기 예제 이전 포스팅 참고 학습 C++ 언어 opencv 활용 사각형 그리기 예제 C++ 언어 opencv 활용 원형 그리기 예제 C++ 언어 Codelite에 opencv 라이브러리 링크 및 개발 환경 구성 예제 이전 포스팅 참고 학습 오늘 예제는 opencv 라이브러리를 활용하여 리눅스 환경에서 C++ 언어로 사각형, 원형을 그리는 것입니다. opencv 라이브러리를 활용하기 위해서는 라이브러리 패키지도 설치되어있어야 하지만, 실질적으로 C++ 코딩이 가능토록 Codelite 개발..
목차 리눅스 우분투 C 언어 개발도구 Codelite 설치 및 환경구성 예제 이전 포스팅 참고 학습 리눅스 우분투 C 언어 opencv 라이브러리 패키지 설치 예제 이전 포스팅 참고 학습 C 언어 네트워크 소켓 프로그래밍 예제 이전 포스팅 참고 학습 C 언어 설치된 opencv 헤더 및 라이브러리 경로 확인 예제 C 언어 Codelite 프로젝트에 opencv 헤더 및 라이브러리 링크 예제 리눅스 우분투 C 언어 개발도구 Codelite 설치 및 환경구성 예제 이전 포스팅 참고 학습 Codelite는 C 및 C++ 프로그래밍을 수행할 수 있도록 도와주는 개발 도구 중에 하나입니다. 일반적으로 Visual Code 등 다양한 개발도구가 존재하지만 리눅스 환경에서 자주 사용되는 도구가 Codelite 입니다..
목차 C 언어 함수 포인터 변수 활용 예제 이전 포스팅 참고 학습 C 언어 문자열 Hex 값 출력 및 16진수 변환 예제 이전 포스팅 참고 학습 C 언어 Hex 문자열을 바이트로 변환 예제 이전 포스팅 참고 학습 C 언어 더블 포인터 변수 선언 및 주소 저장, 값 수정 예제 C 언어 더블 포인터 간단한 활용 예제(2차원 배열) C 언어 함수 포인터 변수 활용 예제 이전 포스팅 참고 학습 함수 포인터는 C 언어에서 메모리를 직접 접근하고 활요할 수 있는 중요한 타입 변수입니다. 함수 포인터를 사용하면 런타임에 함수를 선택하고 호출할 수 있습니다. 예를 들어, 다른 함수를 가리키는 함수 포인터를 만들고 그 포인터를 사용하여 실행할 함수를 동적으로 결정할 수 있습니다. 함수 포인터의 사용법과 예제는 이전 포스..
목차 리눅스 우분투 MariaDB 라이브러리 패키지 설치 예제 이전 포스팅 참고 학습 리눅스 우분투 Openssl 라이브러리 소스코드 다운 및 빌드 예제 이전 포스팅 참고 학습 리눅스 C 언어 개발도구 Codelite 설치 예제 이전 포스팅 참고 학습 리눅스 우분투 opencv 패키지 설치 예제 리눅스 우분투 opencv 정상 설치 확인을 위해 헤더 경로와 라이브러리 경로 확인 예제 리눅스 우분투 MariaDB 라이브러리 패키지 설치 예제 이전 포스팅 참고 학습 이전 포스팅에서는 MariaDB 라이브러리를 사용하기 위해 우분투 리눅스에서 라이브러리 패키지를 설치하는 방법에 대한 예제를 알아보았습니다. MariaDB는 데이터베이스 시스템이며, C 언어 프로그램에서 MariaDB를 사용하려면 해당 라이브러리..
목차 리눅스 우분투 MariaDB 서버 설치 예제 이전 포스팅 참고 학습 리눅스 우분투 C 언어 MariaDB 테이블 생성 예제 이전 포스팅 참고 학습 리눅스 우분투 C 언어 MariaDB Insert 쿼리 예제 이전 포스팅 참고 학습 리눅스 우분투 C 언어 MariaDB 데이터베이스 연결 및 Update 쿼리 실행 예제 리눅스 우분투 C 언어 MariaDB Select 쿼리로 결과 확인 예제 리눅스 우분투 MariaDB 서버 설치 예제 이전 포스팅 참고 학습 이전 포스팅에서 우분투 환경에서 MariaDB 서버를 설치하는 과정에 대해 알아보았습니다. 윈도우 환경에서도 설치할 수 있지만 우리는 예제들을 리눅스 우분투 환경에서 실행하기 때문에 우분투에서 MariaDB 패키지를 다운로드받아 설치해야합니다. 우..
목차 리눅스 우분투 C 언어 MariaDB 테이블 생성 예제 이전 포스팅 참고 학습 리눅스 우분투 C 언어 MariaDB Insert 쿼리 예제 이전 포스팅 참고 학습 리눅스 우분투 C 언어 MariaDB Update 쿼리 예제 이전 포스팅 참고 학습 리눅스 우분투 C 언어 MariaDB Delete 쿼리로 기존 값 삭제 예제 리눅스 우분투 C 언어 MariaDB Select 쿼리로 결과 확인 예제 리눅스 우분투 C 언어 MariaDB 테이블 생성 예제 이전 포스팅 참고 학습 C 언어를 사용하여 리눅스 우분투에서 MariaDB 데이터베이스에 연결하고 테이블을 생성하는 예제에 대해 이전 포스팅에서 알아보았습니다. 데이터베이스 연결 및 테이블 생성 쿼리와 삭제 쿼리 실행 코드에 대해 포스팅에서 자세히 다루고..
목차 리눅스 우분투 C 개발환경 Codelite 설치 예제 이전 포스팅 참고 학습 리눅스 우분투 MariaDB 서버 설치 및 데이터베이스 생성 예제 이전 포스팅 참고 학습 리눅스 우분투 MariaDB 라이브러리 설치 및 헤더, 라이브러리 경로 확인 예제 이전 포스팅 참고 학습 C 언어 Codelite MariaDB 헤더 및 라이브러리 경로 및 설정 예제 C 언어 MariaDB 데이터베이스 연결 및 예외처리 예제 리눅스 우분투 C 개발환경 Codelite 설치 예제 이전 포스팅 참고 학습 이전 포스팅에서는 리눅스 우분투 환경에서 C/C++ 개발을 위한 CodeLite 개발 환경을 설치하는 방법에 대해 알아보았습니다. CodeLite는 C/C++ 프로그래밍을 위한 무료 통합 개발 환경(IDE)입니다. Ope..
목차 리눅스 우분투 C 언어 MariaDB 개발환경 구성 예제 이전 포스팅 참고 학습 리눅스 우분투 MariaDB 서버 설치 예제 이전 포스팅 참고 학습 리눅스 우분투 C 언어 MariaDB 테이블 생성 예제 이전 포스팅 참고 학습 리눅스 우분투 C 언어 MariaDB 데이터베이스 연결 및 Insert 쿼리 실행 예제 리눅스 우분투 C 언어 MariaDB Select 쿼리로 결과 확인 예제 리눅스 우분투 C 언어 MariaDB 개발환경 구성 예제 이전 포스팅 참고 학습 이전 포스팅에서는 C 언어를 사용하여 MariaDB 데이터베이스와 연동하기 위한 개발 환경을 구성하는 방법에 대해 알아보았습니다. 일반적으로 우분투의 Mariadb-dev 패키지를 설치하여 개발에 필요한 헤더파일과 라이브러리를 다운로드 및..
목차 C 언어 TCP 클라이언트 소켓 예제 이전 포스팅 fseek 파일 총 크기 가져오기 예제 이전 포스팅 TCP 서버 소켓 파일 데이터 수신 및 저장하기 이전 포스팅 서버에 보낼 파일의 크기 전송하기 예제 파일 크기만큼 데이터 전송하기 예제 C 언어 TCP 클라이언트 소켓 예제 이전 포스팅 오늘 다루는 포스팅은 이전 포스팅에서 다뤘던 파일 데이터를 수신하여 로컬에 저장하는 서버 소켓 포스팅의 클라이언트 버전입니다. 우선 C 언어로 클라이언트 소켓을 생성하여 서버에 연결하고 메세지를 전송하는 방법에 대해 잘 알아야합니다. 아래는 C언어 TCP 클라이언트 소켓 생성 및 메세지 전송 관련 예제 포스팅 링크입니다. 2023.08.13 - [Python/os] - [Python] socket TCP 클라이언트 ..
목차 파일 열기 관련 예제 이전 포스팅 fopen으로 크기를 확인할 파일 열기 예제 fseek로 파일 끝까지 이동 예제 ftell로 파일 크기 구하기 예제 파일 열기 관련 예제 이전 포스팅 C언어에서 파일 크기를 구하려면 여러가지 방법이 있습니다. 하지만 오늘 예제에서는 fseek, ftell 두개의 함수로 크기를 구하는 방법에 대해 알아보도록 하겠습니다. 파일 크기를 구하기 위해서는 파일을 열고 닫는 방법에 대해 알아야합니다. 따라서 이전 포스팅에서 다뤘던 파일 다루기 예제를 학습해주세요. 아래는 C 언어에서 파일을 다루는 포스팅 링크입니다. 2021.12.01 - [C/stdio] - C 파일 생성 및 스트림 열기 예제(stdio/fopen) C 파일 생성 및 스트림 열기 예제(stdio/fopen)..
목차 C 언어 TCP 서버 소켓 예제 이전 포스팅 malloc 동적 메모리 할당 관련 예제 이전 포스팅 파일의 크기를 읽고 버퍼 할당하기 예제 할당한 버퍼에 파일 데이터 저장 예제 저장된 파일 확인 C 언어 TCP 서버 소켓 예제 이전 포스팅 오늘 포스팅은 TCP 서버가 클라이언트로부터 파일 데이터를 받아 로컬에 저장하는 예제입니다. 따라서 본 포스팅 예제 수행을 하기 위해서는 서버 소켓을 생성하여 클라이언트 연결을 받고 메세지를 수신하는 방법에 대해 잘 알아야합니다. 이전 포스팅에서 다뤘던 C언어 서버 소켓 생성 예제 포스팅을 참고하여주세요. 아래는 해당 포스팅 링크입니다. 2023.08.12 - [Python/os] - [Python] socket TCP 서버 구성하기 예제(TCP, SO_REUSEA..
목차 메모리동적 할당이란 malloc 함수 원형 설명 사용자가 입력한 크기만큼 메모리 동적할당 예제 동적할당 포인터 변수에 문자열 입력 예제 free 함수로 리소스해제 예제 메모리동적 할당이란 메모리 동적 할당이란 말 그대로 C 코딩중에 내가 원하는 크기를 가진 변수 공간을 만들겠다는 의미입니다. 우리가 흔히 int형 변수의 메모리 공간 크기는 4 byte 인 것을 잘 알 고 있습니다. 그리고 char 형 변수 공간은 1 byte입니다. 자 그런데, 나는 지금부터 변수를 선언할 것인데 이 변수의 크기는 133 byte 공간을 차지하고 싶다. 지금 까지 우리가 알고있는 변수 타입중에 133 byte를 가진 변수가 있을까요? 없습니다. 다만 방법은 있습니다. char[133] 배열 변수를 선언하면 133 b..
목차 TCP 개념에 대한 이전 포스팅 C 언어 TCP 서버 소켓 예제 이전 포스팅 TCP 서버 소켓 생성 및 accept 수행 예제 TCP 클라이언트 소켓 생성 및 서버에 연결 예제 클라이언트 소켓 서버에 메세지 전송 예제 클라이언트 소켓 서버로부터 메세지 수신 예제 TCP 개념에 대한 이전 포스팅 우선 이전 포스팅과 더불어 서버, 클라이언트 소켓을 생성하여 요청에 응답하는 과정 모두 TCP 프로토콜을 사용하고 있습니다. TCP 프로토콜은 연결지향형 프로토콜로서 메세지의 신뢰성이 우수하고 오류제어, 흐름제어 등의 유용한 기능을 가지고 있습니다. 따라서 이전 포스팅에서 다룬 OSI 7계층 중 TCP 개념에 대해 알아보고 아래의 예제를 학습하는 것이 도움이됩니다. 아래는 OSI 7 계층 관련 포스팅 링크입니..
목차 C openssl 라이브러리 활용 개발 환경 구성 이전 포스팅 sha256 해시 관련 예제 이전 포스팅 opendir 특정 디렉토리 내의 모든 파일 출력 예제 이전 포스팅 특정 디렉토리 내의 모든 파일 구하기 예제 모든 파일의 SHA256 해시 값 구하기 예제 C openssl 라이브러리 활용 개발 환경 구성 이전 포스팅 오늘 포스팅에서는 특정 디렉토리 안에 있는 모든 파일의 SHA 256 해시 값을 출력하는 예제를 진행해보겠습니다. 이를 위해서는 openssl 라이브러리 연동이 반드시 필요합니다. C 언어로 openssl 라이브러리를 사용할 수 있도록 개발 환경을 구성해주세요. 아래 링크를 참고하면 구성이 가능합니다. 2023.07.28 - [C] - [C/C++] Openssl 정적 라이브러리 ..
목차 디렉토리명 출력을 위한 printf 이전 포스팅 파일 출력을 위한 특정 디렉토리 경로 입력받기 예제 특정 디렉토리 열기 예제(opendir) 디렉토리 내에 모든 파일 경로 출력 예제(readdir) 디렉토리 닫기 및 결과 확인 디렉토리명 출력을 위한 printf 이전 포스팅 오늘 포스팅에서 주로 다루는 내용은 특정 디렉토리 내의 모든 파일들의 경로를 출력하는 것입니다. 여기서 C에서 문자열을 출력하는 방법에 대해 잘 알아야 이해가 쉽습니다. 특히 C는 문자열 출력을 하기위해서는 반드시 배열, 포인터에 대한 개념을 파악해야합니다. 이전 포스팅에서 C 포멧 문자열 출력 함수인 printf에 대해 자세히 다뤘습니다. 여러가지의 포멧을 이해하고 출력하는 방법을 이해해보세요. 아래는 관련 포스팅 링크입니다...
목차 fopen 등의 파일 관련 API 이전 포스팅 strstr 문자열 찾기 API 이전 포스팅 사용자에게 파일 경로와 특정 문자열 입력받기 예제 파일 열기 예제(fopen) 파일을 한 줄씩 읽고 특정 문자열 검사 예제(strstr) 결과 확인 fopen 등의 파일 관련 API 이전 포스팅 오늘 포스팅에서는 내 컴퓨터 로컬에 있는 특정 파일을 열고 내용을 읽어야합니다. 따라서 파일 처리 관련 API를 사용할 줄 알아아합니다. 이전에 C에서 파일을 처리하는 fopen, fwrite, fread등의 함수들에 대해 포스팅을 하였습니다. 해당 포스팅에서는 각 예제와 함께 파일 처리 하는 방법에 대한 내용이 포함되어있습니다. 아래 링크를 확인하여 파일 처리하는 방법에 대해 학습해주세요. 2021.12.01 - [..
목차 무결성이란? C openssl 라이브러리 활용 개발 환경 구성 이전 포스팅 SHA256 해시 관련 이전 포스팅 원본 파일 SHA256 해시 값 구하기 예제 복제본 파일 무결성 검사 예제 결과확인 무결성이란? 무결성은 데이터나 정보가 변조되거나 손상되지 않은 상태를 나타냅니다. 데이터의 무결성은 데이터가 원래의 형태나 값 그대로 보존되고, 무단으로 변경되거나 손상되지 않음을 의미합니다. C openssl 라이브러리 활용 개발 환경 구성 이전 포스팅 오늘 파일 무결성 검증 코드를 구현하기에 앞서 반드시 C 언어로 openssl 라이브러리를 활용하는 개발 환경을 구성해야 아래 예제를 수행할 수 있습니다. 따라서 만약 개발환경을 구성하지 않았다면 아래 링크를 통해 구성해주세요. 2023.07.28 - [C..
목차 hmac이란 C openssl 라이브러리 활용 개발 환경 구성 이전 포스팅 C openssl hmac 관련 헤더 인클루드 예제 HMAC 암호화를 위한 비밀키 입력 예제 SHA256 알고리즘 활용 HMAC 암호화 예제 결과확인 1. hmac이란 HMAC (Hash-based Message Authentication Code)은 메시지 무결성을 보장하기 위해 사용되는 암호학적 해시 함수입니다. HMAC은 주어진 메시지와 비밀 키를 사용하여 메시지에 대한 인증 코드를 생성하며, 이를 통해 메시지가 변조되지 않았는지 확인할 수 있습니다. 사용 목적 HMAC은 주로 데이터 무결성 검증과 메시지 인증에 사용됩니다. 예를 들어, 네트워크 통신에서 데이터가 변조되지 않았는지 확인하거나, 사용자의 인증을 검증하는 ..
목차 이전 빌드 환경 구성 포스팅 이전 공개키, 개인키 생성 포스팅 C Openssl RSA 암복호화 예제 RSA 키 비트 수가 커질 수록 장점 RSA 취약점 1. 이전 빌드 환경 구성 포스팅 이전에 C에서 OpenSSL 라이브러리를 활용하기 위한 빌드 환경 구성 방법에 대한 포스팅입니다. 2023.07.28 - [C] - [C/C++] Openssl 정적 라이브러리 빌드 및 Codelite 설치, 개발 환경 구성(ubuntu, codelite) 2. 이전 공개키, 개인키 생성 포스팅 이전에 C에서 OpenSSL 라이브러리를 사용하여 RSA 공개키와 개인키를 생성하는 방법에 대한 포스팅입니다. 2023.07.31 - [C] - [C/C++] Openssl 활용 RSA 공개키 및 개인키 생성 예제 3. C..
목차 RSA란? 이전 빌드 환경 구성 포스팅 C Openssl RSA 공개키 생성 예제 C Openssl RSA 개인키 생성 예제 공개키 파일로 저장하기 개인키 파일로 저장하기 1. RSA란? RSA는 Rivest-Shamir-Adleman의 약자로, 공개키 암호 시스템의 대표적인 알고리즘입니다. RSA 암호화 알고리즘은 공개키와 개인키를 사용하여 데이터를 암호화하고 복호화하는데 사용됩니다. 2. 이전 빌드 환경 구성 포스팅 이전에 C에서 OpenSSL 라이브러리를 활용하기 위한 빌드 환경 구성 방법에 대한 포스팅입니다. 2023.07.28 - [C] - [C/C++] Openssl 정적 라이브러리 빌드 및 Codelite 설치, 개발 환경 구성(ubuntu, codelite) 3. C Openssl R..
목차 이전 빌드 환경 구성 포스팅 이전 AES 암호화 포스팅 C Openssl AES 256 CBC 암복호화 예제 AES에서 IV 설정 예제 1. 이전 빌드 환경 구성 포스팅 이전에 OpenSSL 라이브러리를 정적 또는 동적으로 빌드하는 방법과 개발 환경을 구성하는 방법에 대한 포스팅입니다. 2023.07.28 - [C] - [C/C++] Openssl 정적 라이브러리 빌드 및 Codelite 설치, 개발 환경 구성(ubuntu, codelite) 2. 이전 AES 암호화 포스팅 이전에 C에서 OpenSSL 라이브러리를 활용하여 AES 암호화를 수행하는 방법에 대한 포스팅입니다. 2023.07.28 - [C] - [C/C++] Openssl 활용 AES256 암호화 및 복호화 예제 - 1(컨텍스트 생성 ..
목차 이전 AES256 암복호화 및 복호화 예제 포스팅 C Openssl 문자열 AES 256 ECB 암호화 예제 C Openssl 파일 AES 256 ECB 예제 AES 암호화 체인 종류 1. 이전 AES256 암복호화 및 복호화 예제 포스팅 이전에 C에서 OpenSSL 라이브러리를 활용하여 AES256 암호화와 복호화를 수행하는 방법에 대한 포스팅입니다. 2023.07.28 - [C] - [C/C++] Openssl 활용 AES256 암호화 및 복호화 예제 - 1(컨텍스트 생성 및 키 설정 및 ECB 암복호화) 2. C Openssl 문자열 AES 256 ECB 암호화 예제 이 예제에서는 C 프로그램에서 OpenSSL 라이브러리를 사용하여 문자열을 AES 256 ECB 모드로 암호화하는 방법을 설명합..
목차 이전 빌드 환경 구성 포스팅 이전 AES 대칭키 생성 및 설정하기 포스팅 C Openssl AES 컨텍스트 생성 예제 C Openssl AES256 ECB 암복호화 예제 1. 이전 빌드 환경 구성 포스팅 이전에 OpenSSL 라이브러리를 정적 또는 동적으로 빌드하는 방법과 개발 환경을 구성하는 방법에 대한 포스팅입니다. 2023.07.28 - [C] - [C/C++] Openssl 정적 라이브러리 빌드 및 Codelite 설치, 개발 환경 구성(ubuntu, codelite) 2. 이전 AES 대칭키 생성 및 설정하기 포스팅 이전에 C에서 OpenSSL 라이브러리를 활용하여 AES 256 대칭키를 생성하고 설정하는 방법에 대한 포스팅입니다. 2023.07.28 - [C] - [C/C++] Opens..
목차 AES256이란? 이전 빌드 환경 구성 포스팅 이전 SHA256 해시 예제 포스팅 SHA256 해시로 32bit AES 대칭키 만들기 예제 C Openssl AES 256 컨텍스트 생성하여 키 설정 예제 1. AES256이란? AES256(Advanced Encryption Standard 256-bit)은 대칭키 암호화 알고리즘으로, 256비트의 키를 사용하여 데이터를 암호화하고 복호화하는 데 사용되는 알고리즘입니다. 안전한 데이터 보호를 위해 사용됩니다. 2. 이전 빌드 환경 구성 포스팅 이전에 OpenSSL 라이브러리를 정적 또는 동적으로 빌드하는 방법과 개발 환경을 구성하는 방법에 대한 포스팅입니다. 2023.07.28 - [C] - [C/C++] Openssl 정적 라이브러리 빌드 및 Co..