분류 전체보기 102

미안해

일본 게임을 하다가 "미안해" 라는 자막인데 말은 わるい라고 하는게 눈에 띄었다. 내가알기로는 悪い는 나쁘다 라는 뜻으로 알고있어서 한번 찾아봤다. 1.ごめんなさい가장 흔히 쓰이는 사과의 표현이다.정중하고 부드러운 느낌이 있있어서 남녀노소 누구나 자주 사용함.상대에게 예의를 갖추고싶을 때 적합하다.2.すまない좀 더 캐주얼하고 남성적인 뉘앙스가 있다.주로 가까운 사이에서 쓰거나 남성이 자주 사용한다.정중함보다는 솔직하고 직설적인 느낌이 강함.3.悪(わる)い직역하면 나쁘다는 뜻이지만 맥락에 따라 미안해로도 사용된다상대에게 부담을 끼친 것에 대해 가볍게 사과할 때 사용함.캐주얼하고 일상적인 표현이다.

빌더 패턴

빌더 패턴이란?객체 생성 과정을 캡슐화하고, 복잡한 객체를 단계적으로 구성할 수 있게 해주는 디자인 패턴 중 하나다.이 패턴은 주로 객체를 생성하는 데 여러 단계가 필요하거나, 동일한 생성 과정을 통해 다양한 표현을 만들어야 할 때 유용하다.빌더 패턴의 주요 구성 요소Product(제품) : 최종적으로 생성될 복잡한 객체Builder(빌더) : 객체를 생성하기 위한 인터페이스 또는 추상 클래스. 단계별로 객체를 구성하는 메서드를 정의한다.ConcreteBuilder(구체적인 빌더) : Builder 인터페이스를 구현하여 실제로 Product를 만드는 클래스.Director(디렉터) : 빌더를 사용해 객체를 구성하는 과정을 관리하는 클래스(이건 선택).예시1. Product 클래스#include #incl..

C++/개념정리 2025.03.11

네트워크 CAP 이론

CAP이론이란?CAP이론은 분산 시스템에서 세가지 주요 특성을 말하는 이론이다. 일관성(Consistency), 가용성(Availability), 분할 내성(Partition Tolerance)을 말하며 분산 시스템은 이 세가지 특성을 동시에 완벽하게 만족시킬 수는 없으며, 항상 두 가지 특성만을 만족할 수 있다.1. 일관성정의모든 노드(데이터를 저장하고 처리하는 기본 단위)가 동일한 데이터를 동시에 볼 수 있어야한다. 즉, 어떤 노드에서 데이터를 변경하면, 그 변경 내용이 모든 노드에  즉시 반영되어야 한다.즉 모든 유저의 화면이 같은 상황을 만드는 것이다. 예시롤에서 내가 피오라를 한다고 치고, 상대방이 다리우스를 한다고 치자, 이 때 피오라의 응수(W)와 다리우스의 포획(E)의 심리전 싸움은 유저들..

카테고리 없음 2025.03.10

템플릿 메서드 패턴

템플릿 메서드 패턴이란? 알고리즘의 구조를 부모 클래스에서 정의하고, 구체적인 단계는 서브클래스에서 구현하는 행동 디자인 패턴특징부모 클래스의 템플릿 메서드가 전체 알고리즘 흐름 제어일부 단계는 추상 메서드로 선언(순수 가상 함수)해서 자식 클래스에서 강제 구현 필요코드 중복 최소화 및 확장성 향상예시1. 추상 부모 클래스#include #include using namespace std;// 추상 부모 클래스class Beverage {public: // 템플릿 메서드: 전체 과정을 정의 void prepareRecipe() { boilWater(); // 공통 단계 brew(); // 자식 클래스에서 구현 pourI..

C++/개념정리 2025.03.07

상태 패턴

상태패턴이란?객체의 내부 상태가 변경될 때 동작을 전환하도록 하는 디자인 패턴이다.상태별 동작을 개별 클래스로 분리해 조건문 if-else, switch 복잡도를 제거하는게 핵심 목적이다왜 if-else를 분리할까?간단한 조건문은 if-else를 나누면 되지만 조건에 따라 동작하는게 복잡해지고, 또 확작을 계속 하고 싶을 때 유지보수가 힘들어지기 때문이다.상태패턴 구성 요소Context상태를 관리하는 주체State Interface모든 상태의 공통 인터페이스 정의Concrete State구체적인 상태별 동작 구현Context가 State 인터페이스에 작업 위임Concrete State 객체에서 실제 동작 수행상태 변경 시 Context의 상태 포인터 갱신장단점장점조건문 감소: 상태 검증 로직 제거 → 코..

C++/개념정리 2025.03.05

일반탄환, 관통탄, 폭발탄

저번에 만든 탄환을 베이스로 3종류의 총알을 만들것이다.1. 일반탄 - 적이나 구조물에 충돌하면 사라지고 적에게 피해를 줌2. 관통탄 - 구조물에 맞으면 사라지지만 적에게 맞으면 피해를 주고 뚫고 지나감3. 폭발탄 - 적이나 구조물에 맞으면 폭발하고 범위피해를 줌 이렇게 3가지의 온힛을 가진 총알들을 만들어보겠다.1. 일반탄환일반탄환은 액터에 부딪히면 사라지게 하고싶고, 부딪힌 액터가 적이라면 데미지를 주고싶다. ANomalBullet::ANomalBullet(){ Speed = 1000.0f; BulletDamage = 0.0f;}//적이나 구조물 중 하나에 부딪히면 사라짐void ANomalBullet::OnHit( UPrimitiveComponent* OverlappedComponent, AActo..

총알만들기

총알구조총알도 3종류로 만들것이다. 일반탄, 적은 뚫고 지나가는 관통탄, 무언가에 닿으면 폭발하는 로켓그 3 종류의 총알이 모두 필요한것을 일단 만들것이다.총알 생성총알 날라가기총알 적중부모클래스 헤더파일 만들기#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "Components/SphereComponent.h"#include "BulletBase.generated.h"UCLASS()class SHADOW_OF_THE_DESERT_API ABulletBase : public AActor{ GENERATED_BODY() public: ABulletBase();protected: virtual void BeginPla..