인기글
-
[C++ 네트워크 프로그래밍] Day 13: 웹 소켓 클라이언트 개발
웹 소켓(WebSocket) 클라이언트 개발웹 소켓 클라이언트는 서버와의 양방향 실시간 통신을 위해 웹 소켓 연결을 설정하고, 데이터를 송수신하는 프로그램입니다. 웹 소켓 클라이언트는 주로 브라우저 또는 네이티브 애플리케이션에서 사용되며, 서버와의 지속적인 연결을 유지하여 실시간 데이터를 주고받습니다.웹 소켓 클라이언트의 주요 기능연결 설정: 서버와의 웹 소켓 연결을 설정합니다.데이터 송신: 서버로 데이터를 전송합니다.데이터 수신: 서버로부터 데이터를 수신합니다.연결 종료: 서버와의 웹 소켓 연결을 종료합니다.웹 소켓 클라이언트 구현 (Boost.Beast 사용)Boost.Beast는 HTTP 및 웹 소켓 프로토콜을 지원하는 라이브러리로, Boost.Asio를 기반으로 합니다. Boost.Beast를 사..
2024.08.01
-
[리눅스마스터 2급] 2차 - 2023년 12월 9일(2과목) 해설
49. 다음 중 클라우드 서비스에서 이용자의 설정이 많은 순서로 나열된 것은?① SaaS > PaaS > IaaS ② Paas > SaaS > IaaS③ IaaS > PaaS > SaaS ④ IaaS > SaaS > PaaS더보기정답: ③ IaaS > PaaS > SaaS▶ 클라우드 서비스: 인테넷을 통해 컴퓨팅 자원, 데이터 저장, 소프트웨어, 플랫폼 및 기타 IT 관련 서비스를 원격으로 제공하는 것▶ SaaS: 고객에게 제공되는 소프트웨어▶ PaaS: 소프트웨어 개발에 필요한 플랫폼▶ IaaS: 스토리지, GPU 등 물리적인 컴퓨팅 자원 50. 다음 설명에 해당하는 명칭으로 알맞은 것은?빅데이터 환경에서 데이터 분석 기술을 통해 분석된 데이터의 의미와 가치를 시각적으로 표현할 때 유용한 프..
2024.12.12
-
[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 18: CAN 통신
CAN 통신의 개요CAN(Controller Area Network) 통신은 차량 내부의 여러 전자 제어 장치 간의 데이터 통신을 위해 개발된 직렬 통신 프로토콜입니다. CAN은 높은 신뢰성과 빠른 데이터 전송 속도를 제공하여 자동차, 산업 자동화, 의료 기기 등에서 널리 사용됩니다. 오늘은 CAN 통신의 기본 개념과 사용 방법을 학습하겠습니다.1. CAN 통신의 기본 개념CAN 통신은 다음과 같은 특징을 가집니다:멀티마스터/슬레이브 구조: 여러 마스터와 슬레이브 장치가 동시에 통신할 수 있습니다.메시지 기반 프로토콜: 각 메시지는 고유의 식별자(ID)를 가지며, 네트워크 상의 모든 장치가 메시지를 수신할 수 있습니다.고속 데이터 전송: 최대 1Mbps의 데이터 전송 속도를 제공합니다.오류 검출 및 처리..
2024.08.01
-
[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
최신글
-
[자격증] 목차
국가기술자격- 웹디자인개발기능사- 정보처리기사- 빅데이터분석기사- 정보보안기사- 정보통신기사- 무선설비기사 국가공인민간자격- 네트워크관리사 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
-
[SWEA] D1: 큰 놈, 작은 놈, 같은 놈(2070) 해설
문제- 문제 링크: 큰 놈, 작은 놈, 같은 놈 풀이(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 > a >> b; if (a > b) cout " (Java)solution 1)- 시간 복잡도: 더보기더보기import java.util.* (Python)solution 1)- 시간 복잡도: 더보기더보기import sysT = int(input())for test_case in range(1, T + 1): a, b = map..
2025.01.31
-
[SWEA] D1: 최대수 구하기(2068) 해설
문제- 문제 링크: 최대수 구하기 풀이(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 > max_val) max_val = num; } cout (Java)solution 1)- 시간 복잡도: 더보기import java.util.* (Python)solution 1)- 시간 복잡도: 더보기import sysT = int(input())for test_case in range(1, T + ..
2025.01.12
-
[SWEA] D1: 중간값 찾기(2063) 해설
문제- 문제 링크: 중간값 찾기 풀이(C++)solution 1)- 시간 복잡도: 더보기#include#include using namespace std;int main(int argc, char** argv){ int test_case; int T; int n; cin >> n; int arr[n] = {}; for (int i = 0; i > arr[i]; } sort(arr, arr + n); cout (Java)solution 1)- 시간 복잡도: 더보기import java.util.* (Python)solution 1)- 시간 복잡도: 더보기import sysT = int(input())arr = list(map(int, input().split()..
2025.01.12