728x90

c++ 100

24.11.22 JavaScript, C++

JavaScriptasync/await비동기 코드를 더 읽기 쉽게 작성할 수 있도록 도와주는 기능이다. Promise 기반의 비동기 작업을 동기적인 코드 흐름처럼 보이게 하여, 코드의 가독성과 유지보수성을 크게 향상 시킨다.비동기 작업을 처리할 때 콜백 함수나 Promise 체이닝을 사용하던 방식을 async/await를 사용해 더욱 직관적으로 작성할 수 있다.기본 개념async함수 앞에 async 키워드를 붙이면 그 함수는 Promise를 반환하는 비동기 함수가 된다. async 함수는 내부에 await 키워드를 사용할 수 있다.await비동기 작업이 완료될 때까지 기다리는 역할을 한다. await는 Promise가 해결될 때까지 함수의 실행을 일시적으로 멈추고, 결과값을 반환한다. await 키워드는..

24.11.12 CS, C++

CSTCP/UDPTCP연결 지향형 서비스(reliable service)와 신뢰적 데이터 전송 서비스(data integrity)를 포함한다.Reliable ServiceTCP는 메시지 전송 전에 클라이언트와 서버가 서로 전송 제어 정보를 교환하도록 한다. 즉, 패킷이 전송될것을 미리 알려준다.Data integrityTCP는 데이터를 오류 없이 올바른 순서로 전달하는 것을 보장한다.Congestion control(혼잡제어)TCP의 congestion control은 네트워크가 혼잡상태에 이르면 프로세스의 속도를 낮춘다.즉, 프로세스가 우선이 아니라 네트워크의 안정성 향상을 우선한다.Flow control(흐름제어)TCP는 receiver의 buffer가 꽉 차서 데이터가 손실되지 않도록 sender의..

VV 3. 로그인 기능

VV서버와의 연결이 성공했으므로 서로 정보를 전달할 수 있어야 한다.로그인 UI가 있으므로 ID, PW TextBox에 입력한 Text를 로그인 버튼을 누르면 서버로 전송해야 한다.// LoginWidget.hUCLASS()class VERSUSVILLAGE_API ULoginWidget : public UUserWidget{ GENERATED_BODY() public: virtual void NativeConstruct() override; UFUNCTION() void OnLoginButtonClicked();protected: UPROPERTY(meta = (BindWidget)) class UEditableTextBox* IDTextBox; UPROPER..

Study/Project 2024.10.29

24.09.24 C++, 책

C++윤성우 열혈 C++. 1헤더 파일 선언문 #includestd::cout과 std::endl을 이용한 개행헤더파일 선언문 #includeC++에서는 입출력에 관련된 일을 하기 위해서 다음 형태의 헤더파일 선언을 추가해야 한다.#include헤더 파일의 확장자는 C언어와 마찬가지로 .h이다. 그러나 C++에서는 프로그래머가 정의하는 헤더 파일의 선언이 아닌, 표준 헤더 파일의 선언에서는 확장자를 생략하기로 약속 되어 있다.std::cout 과 출력을 위해서는 다음과 같은 형태를 취해야 한다.std::cout ‘출력대상’의 위치에는 무엇이든 올 수 있다. 정수와 실수를 비롯해서 문자열, 그리고 변수도 올 수 있다. 그리고 C언어의 printf 함수와 달리 %d, %s와 같은 서식 문자를 이용해서 별도의..

24.09.23 C++, CS

CSTCP/UDPTCP연결 지향형 서비스(reliable service)와 신뢰적 데이터 전송 서비스(data integrity)를 포함한다.Reliable ServiceTCP는 메시지 전송 전에 클라이언트와 서버가 서로 전송 제어 정보를 교환하도록 한다. 즉, 패킷이 전송될것을 미리 알려준다.Data integrityTCP는 데이터를 오류 없이 올바른 순서로 전달하는 것을 보장한다.Congestion control(혼잡제어)TCP의 congestion control은 네트워크가 혼잡상태에 이르면 프로세스의 속도를 낮춘다.즉, 프로세스가 우선이 아니라 네트워크의 안정성 향상을 우선한다.Flow control(흐름제어)TCP는 receiver의 buffer가 꽉 차서 데이터가 손실되지 않도록 sender의..

24.09.20 C++, CS

C++템플릿C++ 템플릿(template)은 코드를 일반화하여 여러 데이터 타입에 대해 동작하는 함수를 작성할 수 있게 해주는 강력한 기능이다. 이를 통해 코드 재사용성을 높이고, 동일한 로직을 여러 타입에 대해 사용할 수 있다.템플릿은 주로 함수 템플릿과 클래스 템플릿으로 나뉘며, 이 두 가지를 사용해 다양한 데이터 타입에 대해 유연하게 프로그래밍할 수 있다.1. 템플릿의 기본 개념템플릿은 코드를 작성할 때 구체적인 데이터 타입을 지정하지 않고, 타입을 매개변수화하여 나중에 구체적인 데이터 타입이 주어졌을 때 그에 맞는 코드를 생성하는 방식이다.2. 함수 템플릿함수 템플릿은 함수에 대해 데이터 타입을 일반화할 수 있게 한다. 예를 들어, 두 개의 값을 비교하여 더 큰 값을 반환하는 함수를 생각해보자. ..

24.09.11 C++, CSAPP

C++C++ 입출력 성능 향상ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);c++에서 ios::sync_with_stdio, cin.tie, cout.tie를 사용하는 주된 이유는 입출력 성능을 향상시키기 위해서 이다.ios::sync_with_stdio(false);이 함수는 c++ 표준 입출력 스트림(cin, cout)과 c 표준 입출력 버퍼(stdin, stdout)의 동기화를 해제한다.기본적으로 c++ 표준 입출력은 c의 표준 입출력과 동기화되어 있어서 입출력 작업 시 버퍼를 공유하고 동기화하는 과정에서 오버헤드가 발생한다.ios::sync_with_stdio(false);를 호출하면 c++과 c의 입출력 버퍼가 분리되어 동기화 오베헤드가 사..

24.09.05 CSAPP복습 ,C++

CSAPP8.1.2 예외의 종류예외상황은 네 가지 종류로 구분 할 수 있다.인터럽트트랩오류 Fault중단 abort인터럽트인터럽트는 프로세서 외부에 있는 입출력 디바이스로부터 시그널의 결과로 비동기적으로 발생한다. 하드웨어 인터럽트는 비동기적이며, 즉 특정 인스트럭션을 실행해서 발생하는 것이 아니라는 의미에서 그렇다. 하드웨어 인터럽트를 위한 예외 핸들러는 종종 인터럽트 핸들러 라고 부른다.네트워크 어댑터, 디스크 컨트롤러, 타이머 칩 같은 입출력 디바이스들은 프로세서 칩의 핀에 시그널을 보내서 인터럽트를 발생시키고, 인터럽트를 발생시킨 디바이스를 식별하는 예외번호를 시스템 버스에 보낸다.현재의 인스트럭션이 실행을 완료한 후에, 프로세서는 인터럽트 핀이 high로 올라갔다는 것을 발견하고 시스템 버스에서..

24.09.04 CS, C++

C++스마트 포인터스마트 포인터(smart pointer)는 C++에서 동적 메모리 관리를 자동화하기 위해 사용되는 클래스 템플릿이다.스마트 포인터는 객체를 포인터처럼 사용하면서도 메모리 해제를 자동으로 처리하여 메모리 누수(memory leak)를 방지하는 데 도움을 준다. C++11부터 표준 라이브러리에서 제공하는 스마트 포인터에는 std::unique_ptr, std::shared_ptr, std::weak_ptr 등이 있다.1. 스마트 포인터의 필요성C++에서는 동적 메모리를 할당할 때 new 연산자를 사용하고, 할당된 메모리는 delete 연산자로 해제해야 한다. 하지만 메모리 해제를 깜빡하거나 예외가 발생할 경우, 메모리 누수가 발생할 수 있다. 스마트 포인터는 이러한 문제를 해결하기 위해 고..

24.09.03 CS, C++

24.09.03 CS, C++CS추상 팩토리(Abstract Factory)추상 팩토리 패턴은 연관성이 있는 객체 군이 여러개 있을 경우 이들을 묶어 추상화하고, 어떤 구체적인 상황이 주어지면 팩토리 객체에서 집합으로 묶은 객체 군을 구현화 하는 생성 패턴이다. 클라이언트에서 특정 객체를 사용할 때 팩토리 클래스만을 참조하여 특정 객체에 대한 구현부를 감추어 역할과 구현을 분리시킬 수 있다.즉, 추상 팩토리의 핵심은 제품군 집합을 타입 별로 찍어낼 수 있다는 점이 포인트이다. 복잡하게 묶이는 제품군들을 관리와 확장하기 용이하게 패턴화 한 것이 추상 팩토리이다.추상 팩토리 패턴 구조AbstractFactory최상위 공장 클래스. 여러개의 제품들을 생성하는 여러 메소드들을 추상화 한다.ConcreteFact..

728x90