분류 전체보기 (34) 썸네일형 리스트형 [아무도 알려주지 않은 C++ 코딩의 기술] 소스코드 관리 기술 1회독① 24.07.28,목 : p.47 ~ p.57 ✅ 프로젝트 생성 직후에 할 것1. 메인 함수 외에 다른 코드를 모두 제거한다.2. 메인 함수가 담긴 코드 파일명을 main.cpp로 변경한다.3. [솔루션 탐색기] 창의 [소스파일]과 [헤더파일] 필터를 제거한다. ✅ 공통 헤더파일공통 헤더파일이란?◼ 모든 cpp 파일이 접근하는 헤더 파일◼ 코드 전체적으로 자주 사용되는 구문이나 헤더는 이곳에 모아 중복되는 코드를 정리하는 기술◼ 비주얼 스튜디오에 미리 컴파일된 헤더를 설정하면 새로 만든 cpp 파일 첫 머리에 헤더가 포함된다. 주의사항◼ 헤더파일에서는 공통 헤더파일을 포함하면 안된다.◼ 여러 include가 포함된 공통 헤더파일이 헤더에 포함되는 순간 include 관계가 뒤집히는 등의 .. 240718 VSCODE C++ 개발 환경 설정하기 나의 환경 : Mac M1 Pro 칩 전체 1. C++ 확장 설치VS Code의 확장 마켓플레이스에서 "C++" 확장을 설치합니다. 이는 Microsoft에서 제공하는 C/C++ 확장입니다 2. 컴파일러 설치C++ 컴파일러가 시스템에 설치되어 있어야 합니다. macOS에서는 기본적으로 Xcode Command Line Tools를 사용합니다. 이를 설치하려면 터미널에서 다음 명령어를 실행합니다.xcode-select --install 3. 빌드 및 실행을 위한 설정 파일 만들기◾️ tasks.json : 빌드 명령어를 정의한다.◾️ launch.json : 디버그 설정을 정의한다. 4. 빌드/디버그빌드: 'Terminal' → 'Run Build Task' ('Cmd + Shift + B' 또는 'Ctr.. 240715 Redis 설치 (Windows) 1. redis 설치 여부 확인명령 프롬프트redis-clli ping 설치가 안되어 있는 경우 설치가 되어 있는 경우 버전 확인redis-server --version 240715 C#의 ConcurrentQueue<T> : 스레드 안전한 큐 C#의 ConcurrentQueue는 여러 스레드가 동시에 큐에 접근할 때도 안전하게 작동할 수 있도록 설계된 스레드 안전한 큐입니다.ConcurrentQueue는 Lock을 사용하지 않는 Lock-Free 알고리즘을 사용하여 높은 성능을 유지하면서도 스레드 안정성을 보장합니다. ConcurrentQueue가 스레드 안정성을 보장하는 방법1. Lock-Free 알고리즘:- ConcurrentQueue는 Lock을 사용하지 않고, 대신 CAS(Compare-And-Swap)와 같은 원자적 연산을 사용하여 데이터 일관성을 유지합니다.- CAS 연산은 메모리의 특정 위치 값을 비교하고, 예상한 값과 일치할 경우 새로운 값으로 교체하는 원자적 연산입니다. 이는 하드웨어 수준에서 지원되어 매우 빠르고 효율적입니다.. 240715 회원 관리 서버 HIVE 프로젝트 구조Hive.Server/├── Controllers/│ └── AuthController.cs├── DTO/│ └── UserDto.cs│ └── RegisterDto.cs│ └── LoginDto.cs├── Models/│ └── User.cs├── Properties/├── Repository/│ └── IUserRepository.cs│ └── UserRepository.cs└── Data/ └── ApplicationDbContext.cs └── Migrations/ User 클래스Models/User.csnamespace Hive.Server.Models{ public class User { public int Id { get.. 240714 Reactor의 Schedule 목표Reactor Sequence에서 사용되는 스레드를 관리하는 Scheduler 이해 들어가기 전에Scheduler는 스레드를 관리해 주는 관리자 역할을 수행한다.Scheduler를 이해하려면 스레드를 먼저 이해해야 한다. # Thread란| CPU Core, 물리적 스레드, 논리적 스레드요약 CPU Core물리적 스레드논리적 스레드정의- CPU의 실제 처리 단위- 각 CPU Core가 동시에 처리할 수 있는 실제 작업의 수- 운영체제가 관리하는 소프트웨어 스레드역할- 각 코어는 프로그램 명령어를 읽고 실행한다.- 실제 하드웨어 스레드로 동시에 실행 가능한 작업 수- 실제 프로그램의 실행 단위- 물리적 스레드에 매핑 CPU 및 CPU Core◾️ CPU Core는 CPU 내에서 독립적으로 명령을 실행할.. 240714 Backpressure 목표Backpressure 이해목차# 데이터 발행 및 소비 방식# Backpressure 문제# Backpressure 매커니즘# Backpressure 전략 1️⃣ 데이터 요청 2️⃣ 데이터 버퍼링 3️⃣ 코드 설명# 데이터 발행 및 소비 방식 1. 데이터 생성 - 생산자가 데이터를 생성한다. - 데이터가 생성될 때 버퍼에 저장되지 않고, 직접 소비자에게 전달된다. 2. 데이터 소비 - 소비자가 데이터를 처리한다. - 소비자가 데이터를 처리하는 동안 생산자는 데이터를 계속 생성한다. 3. 버퍼링 시작 - 소비자가 데이터를 소비하는 속도가 생산자가 데이터를 생성하는 속도보다 느려서 소비자가 데이터를 처리할 수 없는 상황이 발생한다. - 데이터가 버퍼(JVM.. 240710 오목 게임 프로젝트 생성 및 설정 (MySql 연결) 요약1) 프로젝트 생성: ASP.NET Core Web API Server 및 Blazor WebAssembly Client 프로젝트를 생성2) 솔루션 파일 생성 및 프로젝트 추가: 솔루션 파일을 생성하고, 두 프로젝트를 솔루션에 추가3) 패키지 설치: 'Pomelo.EntityFrameworkCore.MySql' 패키지 설치4) appsettings.json 수정: appsettings.json 파일을 수정하여 MySQL 데이터베이스 연결, 로깅 수준, 허용된 호스트를 설정5) 데이터베이스 컨텍스트 설정: ApplicationDbContext를 설정하여 데이터베이스와 상호작용을 관리할 수 있도록 설정6) ASP.NET Core 애플리케이션 기본 설정: 데이터베이스 컨텍스트 설정, Swagger 설정, .. 240710 오목 웹 게임 프로젝트 시작 프로젝트 소개- 온라인 오목 게임 구현목표웹 백엔드 서버 방식의 게임 서버 개발웹 기반의 툴 개발C#, ASP.NET Core Web API, Blazor 실습MySQL, Redis 실습서버 구성구현 기능회원가입로그인(매칭 요청)오목 게임 플레이게임 결과 저장유저 게임 데이터 표시우편함출석부게임 아이템오목 게임 리플레이상점친구 240710 C# 배열의 얕은 복사 Array.Copy 용도배열의 일부분 또는 전체를 복사할 수 있다. 기본 사용법Array.Copy(sourceArray, destinationArray, length); 매개변수 설명- sourceArray : 복사할 원본 배열- destinationArray : 요소가 복사될 대상 배열- length : 복사할 요소의 수 예제| 프로그래머스 : 마지막 두 원소using System;public class Solution { public int[] solution(int[] num_list) { int len = num_list.Length; int new_num = num_list[len-1] > num_list[len-2] ? num_list[len-1] - num_list[.. 이전 1 2 3 4 다음