인기글
-
[C++ 고급 프로그래밍과 응용 프로젝트 시리즈] Day 27: C++에서의 데이터베이스 연동 (SQLite, MySQL)
SQLite 소개SQLite는 경량의 자체 포함형 SQL 데이터베이스 엔진입니다. 서버가 필요 없으며, 데이터베이스가 하나의 파일로 저장됩니다. SQLite는 임베디드 시스템 및 소형 애플리케이션에 적합합니다. SQLite 설치 및 설정SQLite 설치리눅스 환경에서 SQLite를 설치하려면 다음 명령어를 사용합니다.sudo apt-get install sqlite3 libsqlite3-dev SQLite와 C++ 연동SQLite와 C++을 연동하여 데이터베이스를 사용하려면 sqlite3.h 헤더 파일과 libsqlite3 라이브러리를 사용해야 합니다. 1. 데이터베이스 연결 및 테이블 생성다음 코드는 SQLite 데이터베이스에 연결하고, 테이블을 생성하는 예제입니다. sqlite_example.cpp#..
2024.08.01
-
[C++로 배우는 게임 엔진 개발] Day 1: 게임 엔진의 기본 개념과 구조
게임 엔진의 기본 개념게임 엔진은 게임 개발을 용이하게 하기 위해 필요한 다양한 기능을 제공하는 소프트웨어 프레임워크입니다. 게임 엔진은 보통 그래픽 렌더링, 물리 엔진, 사운드 관리, 입력 처리, 씬 관리 등의 주요 기능을 포함합니다.그래픽스 렌더링 엔진: 2D 및 3D 그래픽스를 화면에 출력하는 모듈입니다.물리 엔진: 게임 내 물리적인 상호작용을 처리합니다.사운드 엔진: 사운드를 재생하고 관리합니다.입력 시스템: 키보드, 마우스, 게임패드 등의 입력을 처리합니다.엔티티 컴포넌트 시스템 (ECS): 게임 객체를 관리하고 업데이트합니다.스크립팅 시스템: 게임 로직을 작성할 수 있는 스크립팅 언어를 지원합니다.네트워크 시스템: 멀티플레이어 기능을 지원합니다.게임 루프게임 루프는 게임 엔진의 핵심으로, 게임..
2024.08.01
-
[C++ 네트워크 프로그래밍] Day 10: HTTP 서버 개발 (Boost.Beast)
Boost.Beast 소개Boost.Beast는 HTTP와 WebSocket 프로토콜을 지원하는 라이브러리입니다. Boost.Asio를 기반으로 하여 비동기 네트워크 프로그래밍을 쉽게 구현할 수 있습니다. HTTP 서버를 개발하기 위해 Boost.Beast를 사용하면 간단하고 효율적인 코드 작성을 할 수 있습니다.Boost.Beast 설치Boost 라이브러리 설치는 이전 단계에서 다루었으며, Boost.Beast는 Boost 라이브러리의 일부입니다.HTTP 서버 구현HTTP 서버를 구현하기 위해 다음과 같은 단계를 따릅니다:io_context: 비동기 작업을 관리하는 io_context 객체를 생성합니다.tcp::acceptor: 클라이언트 연결을 수락하기 위한 acceptor 객체를 생성합니다.세션 관..
2024.08.01
-
[C++ 네트워크 프로그래밍] Day 14: 웹 소켓 서버 개발
웹 소켓(WebSocket) 서버 개발웹 소켓 서버는 클라이언트와의 양방향 실시간 통신을 위해 웹 소켓 연결을 설정하고, 데이터를 송수신하는 프로그램입니다. 웹 소켓 서버는 주로 실시간 데이터 스트리밍, 채팅 애플리케이션 등에서 사용됩니다.웹 소켓 서버의 주요 기능연결 수락: 클라이언트의 웹 소켓 연결을 수락합니다.데이터 송신: 클라이언트로 데이터를 전송합니다.데이터 수신: 클라이언트로부터 데이터를 수신합니다.연결 종료: 클라이언트와의 웹 소켓 연결을 종료합니다.Boost.Beast를 이용한 웹 소켓 서버 구현Boost.Beast는 HTTP 및 웹 소켓 프로토콜을 지원하는 라이브러리로, Boost.Asio를 기반으로 합니다. Boost.Beast를 사용하여 간단한 웹 소켓 서버를 구현할 수 있습니다.웹 ..
2024.08.01
-
[C++ 네트워크 프로그래밍] Day 13: 웹 소켓 클라이언트 개발
웹 소켓(WebSocket) 클라이언트 개발웹 소켓 클라이언트는 서버와의 양방향 실시간 통신을 위해 웹 소켓 연결을 설정하고, 데이터를 송수신하는 프로그램입니다. 웹 소켓 클라이언트는 주로 브라우저 또는 네이티브 애플리케이션에서 사용되며, 서버와의 지속적인 연결을 유지하여 실시간 데이터를 주고받습니다.웹 소켓 클라이언트의 주요 기능연결 설정: 서버와의 웹 소켓 연결을 설정합니다.데이터 송신: 서버로 데이터를 전송합니다.데이터 수신: 서버로부터 데이터를 수신합니다.연결 종료: 서버와의 웹 소켓 연결을 종료합니다.웹 소켓 클라이언트 구현 (Boost.Beast 사용)Boost.Beast는 HTTP 및 웹 소켓 프로토콜을 지원하는 라이브러리로, Boost.Asio를 기반으로 합니다. Boost.Beast를 사..
2024.08.01
최신글
-
[PCCP] Lv0: 중복된 숫자 개수(120583) 해설
문제- 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/120583 해설- 문제유형: 코드- https://github.com/cogito30/cpp_coding_test/blob/main/programmers/Lv0/120583.cpp
2025.05.24
-
[문제모음] Programmers(C++): Lv5
총 17문제(2025.02.14 기준)1-10번 문제더보기문제(문제번호)문제 링크풀이신비로운 유적 탐험(1834) 풀이스마트한 프로드(1840) 풀이IU와 콘의 보드게임(1841) 풀이네오의 귀걸이(1842) 풀이직사각형의 넓이(12974) 풀이방의 개수(49190) 풀이문자열의 아름다움(68938) 풀이가짜 해밀토니안(70132) 풀이RPG와 쿼리(76504) 풀이중력 작용(77887) 풀이11-17번 문제더보기문제(문제번호)문제 링크풀이시험장 나누기(81305) 풀이쿼리의 모음의 개수(87394) 풀이집합과 쿼리(214291) 풀이재밌는 레이싱 경기장 설계하기(214292) 풀이중요한 도로(214293) 풀이빠른 이동(214294) 풀이미래 주행 테스트(214295) 풀이
2025.04.13
-
[로드맵] 임베디드 - 학습로드맵
1. 프로그래밍 언어- C99 + Coding Convention(Google)- C++20 + Coding Convention(Google)- C# + Coding Convention(Microsoft)- 디자인 패턴 2. 코딩테스트- Programmers- Baekjoon Online Judge(Solved.ac)- SWEA- LeetCode 3. CS 기본- 네트워크: OSI 7 Layer, TCP IP 4계층- 운영체제/컴퓨터구조- 데이터베이스 4. 자격증- 리눅스마스터 2급- 정보처리기사- 정보통신기사+) 리눅스마스터 1급+) 정보보안기사 5. 임베디드- PCB 설계: OrCAD- Arduino- RaspberryPi- Cortex-M- 리눅스 커널 구조 6. 그래픽스- 홍정모 연구소: 그래픽스..
2025.04.13
-
[자격증] 목차
국가기술자격- 웹디자인개발기능사- 정보처리기사- 빅데이터분석기사- 정보보안기사- 정보통신기사- 무선설비기사 국가공인민간자격- 네트워크관리사 2급- 리눅스마스터 2급- 리눅스마스터 1급- ADsP(데이터분석 준전문가)- ADP(데이터분석 전문가)- SQLD(SQL 개발자)- SQLP(SQL 전문가)- ITQ 민간자격- PCCP- PCSQL
2025.02.14
-
[RoadMap] 웹 개발
Frontend: JavaScript + React + Recoil + NextJS + Webpack- JavaScript(LTS기준) + TypeScript + NVM- IDE Tools: VSCode, WebStorm- Browser 개념 및 Chrome 개발자 도구 사용법- 코딩테스트(주요 라이브러리)- React 특징 및 주요 개념, 프로젝트 구조, 주요 클래스 및 메서드, 코딩컨벤션, MVVM 아키텍처- NextJS 특징 및 주요 개념, 프로젝트 구조, 주요 클래스 및 메서드, 코딩컨벤션, MVVM 아키텍처- WebPack Backend: Java + Spring + SpringBoot + Gradle- Java(LTS기준): 17, 21- IDE Tools: Eclipse, IntelliJ- ..
2025.02.07
-
[Roadmap] 컴퓨터 공학
컴퓨터공학 기본기1. C/C++(LTS 기준) 기본 문법- 환경설정(Windows, MacOS, Linux): Visual Studio, GCC- 언어별 특징 및 실행방법: int main(int argc, char** argv)- 코딩컨벤션: camelCase, PascalCase, snake_case, kebap-case, 변수, 함수, 클래스- 변수 및 자료형, 형변환, 상수, primitive type, reference type: char/bool/short/int/long/long long/float/double, const, static- 연산자(산술, 논리, 비교, 비트, 증감, 삼항): +, -, *, /, //, &&, ||, !, ==, !=, , >=, &, |, ~, ++a, a+..
2025.02.07
-
[ITQ] 파워포인트 - 독학 합격 후기
합격 인증샷 2025 이기적 ITQ OA Master 한글 ver2022 + 엑셀/파워포인트 ver2021https://product.kyobobook.co.kr/detail/S000214651806 2025 이기적 ITQ OA Master 한글 ver.2022+엑셀/파워포인트 ver.2021 올인원 | 영진정보연구소 - 교보문고2025 이기적 ITQ OA Master 한글 ver.2022+엑셀/파워포인트 ver.2021 올인원 | 본 도서는 최신 출제기준을 적용한 도서로, ITQ 한글, 엑셀, 파워포인트 시험 경향을 분석하여 수험생들이 혼자서도 학습할 수product.kyobobook.co.kr 내용(시험 준비)(공부 기간)1주동안 매일 1시간씩 반복적으로 교재 읽고 기능별 실습을 진행하였습니다. ..
2025.02.04
-
[SWEA] D1: 연월일 달력(2056) 해설
문제- 문제 링크: 연월일 달력 풀이(C++)solution 1)- 시간 복잡도: 더보기더보기#include#includeusing namespace std;bool is_valid(string month, string day) { int m = stoi(month); int d = stoi(day); if ((m 12)) return false; if (m == 2) { if ((d 28)) return false; } switch(m) { case 1: case 3: case 5: case 7: case 8: case 10: ..
2025.01.31
-
[SWEA] D1: 홀수만 더하기(2072) 해설
문제- 문제 링크: 홀수만 더하기 풀이(C++)solution 1)- 시간 복잡도: 더보기더보기#includeusing namespace std;int main(int argc, char** argv){ int test_case; int T; cin>>T; for(test_case = 1; test_case > num; if (num % 2 == 1) sum += num; } cout (Java)solution 1)- 시간 복잡도: 더보기더보기import java.util.* (Python)solution 1)- 시간 복잡도: 더보기더보기import sysT = int(input())for test_case ..
2025.01.31
-
[SWEA] D1: 평균값 구하기(2071) 해설
문제- 문제 링크: 평균값 구하기 풀이(C++)solution 1)- 시간 복잡도: 더보기더보기#include#include using namespace std;int main(int argc, char** argv){ int test_case; int T; cin>>T; for(test_case = 1; test_case > num; total += num; } cout (Java)solution 1)- 시간 복잡도: 더보기더보기import java.util.* (Python)solution 1)- 시간 복잡도: 더보기더보기import sysT = int(input())for test_case in range(1, T + 1): total = ..
2025.01.31