인기글
-
[C++ 게임 개발 시리즈] Day 3: 개발 환경 설정 (Visual Studio, CMake, SFML/SDL 설치)
개발 환경 설정게임 개발을 시작하기 위해서는 먼저 개발 환경을 설정해야 합니다. 오늘은 Visual Studio와 CMake를 사용하여 SFML과 SDL을 설치하고 설정하는 방법을 학습하겠습니다.1. Visual Studio 설치 및 설정Visual Studio 설치:Visual Studio는 강력한 C++ 개발 환경을 제공합니다. Visual Studio 다운로드 페이지에서 설치 파일을 다운로드하고 설치합니다.설치 중 "Desktop development with C++" 워크로드를 선택합니다.새 프로젝트 생성:Visual Studio를 실행하고, "Create a new project"를 선택합니다."Empty Project"를 선택하고, 프로젝트 이름과 위치를 지정한 후 "Create"를 클릭합니다..
2024.08.01
-
[C++ 고급 프로그래밍과 응용 프로젝트 시리즈] Day 24: gRPC를 이용한 분산 시스템
gRPC 소개gRPC는 Google에서 개발한 고성능, 범용 RPC(Remote Procedure Call) 프레임워크입니다. 이를 통해 서로 다른 시스템 간의 통신을 쉽게 구현할 수 있습니다. gRPC는 HTTP/2를 기반으로 하며, 프로토콜 버퍼(Protocol Buffers)를 사용하여 효율적인 직렬화 및 역직렬화를 제공합니다. gRPC 설치gRPC와 Protocol Buffers를 설치하려면 다음 명령어를 사용합니다.sudo apt-get install -y build-essential autoconf libtool pkg-configgit clone -b v1.39.1 https://github.com/grpc/grpccd grpcgit submodule update --initmakesudo ..
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 28: C++로 게임 개발 (SFML, SDL)
SFML 소개SFML(Simple and Fast Multimedia Library)은 멀티미디어 애플리케이션 개발을 위한 크로스 플랫폼 C++ 라이브러리입니다. 주로 2D 게임 개발에 사용되며, 그래픽, 오디오, 네트워크, 입출력 등의 기능을 제공합니다. SFML 설치 및 설정SFML 설치리눅스 환경에서 SFML을 설치하려면 다음 명령어를 사용합니다.sudo apt-get install libsfml-dev SFML 프로젝트 설정SFML을 사용하여 간단한 게임을 개발하는 프로젝트를 설정합니다. CMakeLists.txtcmake_minimum_required(VERSION 3.10)project(SFMLGame)set(CMAKE_CXX_STANDARD 17)find_package(SFML 2.5 COM..
2024.08.01
-
[C++ 네트워크 프로그래밍] Day 3: 소켓 프로그래밍 기초 (UDP)
UDP 소켓 프로그래밍UDP(User Datagram Protocol)는 비연결형 프로토콜로, 신뢰성보다는 빠른 데이터 전송을 목적으로 합니다. UDP는 데이터의 순서나 무결성을 보장하지 않기 때문에, 주로 실시간 스트리밍, 게임 네트워크, 간단한 요청-응답 등의 용도로 사용됩니다. UDP 소켓 프로그래밍의 주요 함수소켓 생성socket() 함수: 소켓을 생성합니다.domain: 주소 체계 (예: AF_INET - IPv4)type: 소켓 타입 (예: SOCK_DGRAM - UDP)protocol: 프로토콜 (일반적으로 0으로 설정)int socket(int domain, int type, int protocol);서버 측 소켓 프로그래밍bind() 함수: 소켓에 IP 주소와 포트 번호를 바인딩합니다.i..
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.08.07
-
[문제모음] 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