본문 바로가기
반응형
[C++ 네트워크 프로그래밍 ] Day 1: 네트워크 프로그래밍 소개와 개발 환경 설정 네트워크 프로그래밍 소개네트워크 프로그래밍은 컴퓨터 네트워크를 통해 데이터를 송수신하는 소프트웨어를 작성하는 기술입니다. 이를 통해 두 개 이상의 컴퓨터가 데이터를 주고받을 수 있습니다. 네트워크 프로그래밍의 기본 단위는 소켓(socket)입니다. 네트워크 프로그래밍의 주요 개념클라이언트-서버 모델클라이언트: 네트워크에서 서비스를 요청하는 역할입니다. 예를 들어, 웹 브라우저가 웹 서버에 페이지를 요청합니다.서버: 네트워크에서 서비스를 제공하는 역할입니다. 웹 서버는 클라이언트의 요청에 따라 웹 페이지를 제공합니다.프로토콜프로토콜은 데이터를 어떻게 형식화하고 송수신할지 정의하는 규칙입니다. 대표적인 프로토콜에는 TCP/IP, HTTP, FTP 등이 있습니다.TCP (Transmission Control .. 2024. 8. 1.
[C++ 성능 최적화 및 고급 테크닉] Day 1: 성능 최적화의 중요성 및 기본 원칙 성능 최적화의 중요성성능 최적화는 소프트웨어의 효율성을 극대화하여 더 빠르고, 자원 소모가 적으며, 반응성이 높은 프로그램을 만드는 과정입니다. C++에서는 시스템 자원에 대한 세밀한 제어가 가능하므로, 성능 최적화의 여지가 큽니다. 왜 성능 최적화가 중요한가?사용자 경험: 반응성이 빠른 애플리케이션은 사용자 경험을 향상시킵니다.자원 효율성: 최적화된 코드는 CPU, 메모리, 네트워크 대역폭 등을 효율적으로 사용합니다.비용 절감: 자원을 적게 사용하면 비용을 줄일 수 있습니다.확장성: 성능이 향상되면 애플리케이션의 확장성이 좋아집니다. 성능 최적화의 기본 원칙1. 정확한 프로파일링프로파일링을 통해 성능 병목 지점을 식별하는 것이 최적화의 첫 단계입니다. 프로파일링 도구를 사용하여 코드의 어느 부분이 가장.. 2024. 8. 1.
[C++로 배우는 알고리즘과 자료구조 심화] Day 1: 트라이(Trie) 자료구조와 문자열 검색 트라이(Trie) 자료구조 소개트라이(Trie)는 문자열 또는 단어의 집합을 저장하고 효율적으로 검색하기 위한 트리 기반의 자료구조입니다. 주로 문자열 검색, 자동 완성, 사전 구현 등에 사용됩니다. 트라이는 각 노드가 문자 하나를 나타내며, 루트 노드에서 시작하여 각 문자를 따라가면서 단어를 구성합니다.트라이의 주요 특징빠른 검색: 문자열의 길이에 비례하는 시간 복잡도 (O(L))에서 검색이 가능합니다. 여기서 (L)은 문자열의 길이입니다.공유 구조: 공통 접두사를 가지는 문자열을 공유하여 공간을 절약합니다.삽입과 검색의 단순함: 삽입과 검색 연산이 단순하고 직관적입니다.트라이의 기본 연산삽입 (Insert): 문자열을 트라이에 삽입합니다.검색 (Search): 문자열이 트라이에 존재하는지 확인합니다... 2024. 8. 1.
[C++ 게임 개발 시리즈] Day 1: 게임 개발 개요와 역사 게임 개발 개요게임 개발은 인터랙티브한 디지털 게임을 설계하고 제작하는 과정입니다. 게임 개발은 기획, 디자인, 프로그래밍, 그래픽 디자인, 사운드 디자인, 테스트 등 다양한 분야가 결합된 복잡한 작업입니다. 주요 구성 요소는 다음과 같습니다:기획: 게임의 컨셉과 스토리를 정의하고, 게임 플레이 메커니즘을 설계합니다.디자인: 게임의 시각적 스타일, 인터페이스, 레벨 디자인을 포함한 전체적인 게임 디자인을 만듭니다.프로그래밍: 게임 엔진을 사용하여 게임 로직, 물리 엔진, 그래픽 렌더링, 네트워킹 등을 구현합니다.그래픽 디자인: 캐릭터, 배경, 애니메이션 등 게임의 시각적 요소를 제작합니다.사운드 디자인: 배경 음악, 효과음, 음성 등 게임의 음향 요소를 제작합니다.테스트: 게임의 버그를 찾고 수정하며, .. 2024. 8. 1.
[참고자료] 문서 PowerPoint- [강의] 카드뉴스 디자인 만들기- [강의] 이지쌤: 파워포인트 강의 목록Excel- [강의] 엑셀 기초에서 실무까지- [강의] 엑셀 핵심 기능 30개 총정리Word- [강의] 쉽게 배워 바로 써먹는 워드Git/GitHub Notion WordPress  - 이메일 양식: 메일쓰기 팁- 이력서 양식: resume 2024. 7. 27.
[TOEIC Speaking] Question 11: 의견 제시하기 1. 소개Express an opinion(의견 제시하기) 문제 번호답변 준비 시간답변 시간평가 기준Q 11(1문제)30초45초발음, 억양, 강세, 문법, 어휘, 일관성, 완성도2. 전략- 답변에 자주 사용하는 표혁 익히기- 주제별로 자주 사용되는 표현 익히기 +) 채점 기준- 의견이 명확. 결론부터 이야기하기(두괄식)- 이유와 예시가 주장을 뒷받침하고 아이디어가 일관적이고 논리적이여야 함- 같은 패턴의 문장 구조 피하기(part3, part5)3. 유형1) 찬성/반대를 묻는 질문2) 선택 사항을 묻는 질문3) 장단점을 묻는 질문4. 기초 쌓기1) 답변에 자주 사용하는 표현- 의견을 말하기    - I think/believe/feel that ~    - In my opinion    - I agree.. 2024. 7. 24.
[알고리즘] 11. 심화 자료구조 Index 1. 우선순위 큐와 힙 2. 트리 3. 바이너리 인덱스 트리 4. 참고자료1.  우선 순위 큐와 힙우선순위 큐- 우선순위가 가장 높은 데이터를 가장 먼저 삭제하는 자료구조- 데이터를 우선 순위에 따라 처리하고 싶을 때 사용- 삽입/삭제시 O(logN)- heap 정렬은 O(NlogN) 구현 종류1) 리스트 이용해 구현2) heap을 이용해 구현 Heap- 완전 이진 트리 자료구조: root 노드부터 시작하여 왼쪽 자식 노드, 오른쪽 자식 노드 순서대로 데이터가 삽입되는 tree- Heap에서는 항상 root 노드를 제거- Min Heap / Max Heap 힙 정렬def heap_sort(iterable): h = [] result = [] for val in iterable: he.. 2024. 7. 20.
[알고리즘] 10. 기타 알고리즘 Index 1. 소수 판별 2. 에라토스테네스의 체 3. 투 포인터 4. 구간 합 5. 최소 공통 조상 5. 참고자료 1. 소수 판별소수(Prime Number)- 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 자연수로는 나누어 떨어지지 않는 자연수 # 시간 복잡도: O(N)def is_prime(x): for i in range(2, x): if x % i == 0: return False return True # 시간 복잡도: O(sqrt(N))import mathdef is_prime(x): for i in range(2, int(math.sqrt(x)) + 1): if x % i == 0: return False return True 2. 에라토스테네스.. 2024. 7. 20.
[알고리즘] 9. 기타 그래프 이론 Index 1. 서로소 집합 자료구조 2. 서로소 집합을 활용한 사이클 판별법 3. 최소 신장 트리(크루스칼 알고리즘) 4. 위상 정렬 5. 추천 문제  6. 참고자료1. 서로소 집합 자료구조Disjoint Sets- 공통 원소가 없는 두 집합 서로소 집합 자료구조(= Union Find)- 서로소 부분 집합들로 나누어진 원소들의 데이터를 처리하기 위한 자료구조- 두 종류의 연산을 지원- - Union: 두 개의 원소가 포함된 집합을 하나의 집합으로 합치는 연산- - Find: 특정한 원소가 속한 집합이 어떤 집합인지- 연결성을 통해 집합의 형태를 확인 (동작 과정)1) Union 연산을 확인하여, 서로 연결된 두 노드 A, B를 확인  - A와 B의 루크 노드 A', B'를 각각 찾기  - A'를 B'.. 2024. 7. 20.
[알고리즘] 8. 최단 경로 알고리즘 Index 1. 최단 경로 문제 2. 다익스트라 최단 경로 3. 플로이드 워셜 4. 벨만 포드 5. 추천 문제  6. 참고자료1. 최단 경로 문제최단 경로 문제- 가장 짧은  경로를 찾는 알고리즘- 각 지점은 그래프에서 node로 표현, 지점 간 연결된 도로는 edge로 표현 (최단 경로 유형)- 한 지점에서 다른 한 지점까지의 최단 경로- 한 지점에서 다른 모든 지점까지의 최단 경로- 모든 지점에서 다른 모든 지점까지의 최단 경로 2.  다익스트라 최단 경로Djikstra- 특정한 노드에서 출발하여 다른 모든 노드로 가는 최단 경로를 계산- 음의 간선이 없을 때 정상적으로 동작- 매 상황에서 방문하지 않은 가장 적은 비용이 드는 노드를 선택(그리디)- 한 단계당 하나의 노드에 대한 최단 거리를 확실히 .. 2024. 7. 20.
반응형