전체 글 177

프로젝트 기반 구축

프로젝트 시작 후 가장 먼저 필요한 프로젝트 기반을 구축해줬다. 버전 관리버전 관리 툴은 가장 익숙한 Git과 GitHub를 사용하기로 했다. 이번엔 차기 프로젝트까지 생각해서 Git Organization까지 만들었다. 사람을 Organization에 초대하고, Team을 부여하고, 권한을 설정하는 등 전에 못해본 작업을 해볼 수 있었다. Organization에 필요할 것 같은 Repository도 몇 개 만들어 뒀다. 처음엔 게임 개발 Repo, 아트 리소스 저장용 Repo, 코어 팀원 공유 문서용 Repo, 외부 협력 인원 공유 문서용 Repo 등 다양한 Repository를 만들기도 했으나, 결국 사용되는 것은 게임 개발용 Repo 뿐이라 아쉬웠다. Unreal 게임 프로젝트 특성 상, 수 많..

프로젝트/Dogong 2026.07.27

프로젝트 Dogong 소개

개발 인원3개발 기간2026.04 ~ 진행중개발 환경Windows, Unreal Engine5.7, Rider기술 스택Unreal Engine, C++ 마음 맞는 친구들과 모여서 게임을 하나 개발하기로 했다. 일단 잘 만들어서 Steam에 출시해 돈을 좀 벌어보는 게 목표다. 처음 시작은 4명이었지만 여러 사건들을 겪고 지금은 3명이 됐다.그런데 프로그래머만 3명이라서 아트 리소스, 기획을 자체적으로 해결해야 한다. 상당한 도전이 될 것 같다.시간순 주요 작업4월 — 기반 구축#3 Claude 세팅, #6 PlayerMovement, #9 Trigger/Spawner#13 StageSystem, #14 연속 Location 방지, #19 스테이지 레벨 트래블#21 GraphMap 위젯 UI, #29 Ru..

프로젝트/Dogong 2026.07.27

메모리 계층별 속도 차이

핵심 결론속도 차이의 본질은 물리적 거리가 아니라, 어떤 물리 현상과 접근 방식으로 데이터를 읽고 쓰는가입니다.계층별 원리 요약계층속도저장 원리접근 방식레지스터~0.3ns플립플롭 (SRAM)ALU에 직접 연결된 wire, 이름으로 직접 지정캐시 (SRAM)~1ns플립플롭 (SRAM)캐시 컨트롤러 + 태그/인덱스 주소 탐색RAM (DRAM)~50ns커패시터 충방전주소 지정 + 리프레시 사이클SSD~100µs전자 터널링 (NAND Flash)블록 단위 삭제 후 쓰기HDD~10ms자기 물질플래터 회전 + 헤드 물리적 이동각 계층의 병목 원인레지스터 vs 캐시: 같은 SRAM이지만, 캐시는 컨트롤러를 거쳐 주소를 매번 계산해야 함캐시 vs RAM: 저장 소자 자체가 다름. 커패시터 충방전 + 리프레시가 병목RA..

페이징을 사용한 가상메모리 관리

페이징이란?가상 메모리와 물리 메모리를 페이지 단위로 할당하는 메모리 관리 기법.장점메모리 할당이 페이지 단위로 이루어지므로 작업이 간단해진다.외부 단편화를 해결한다.연속된 페이지도 불연속적인 물리 프레임에 할당될 수 있기 때문에, 연속적인 물리 메모리가 부족해 큰 메모리를 할당하지 못하는 현상이 없어진다.단점페이지를 관리하기 위한 추가 메모리가 필요하다.e.g. 페이지 테이블페이징(주소 연산 과정)으로 인한 오버헤드가 발생한다.TLB로 완화 가능.내부 단편화가 발생한다.페이지 크기가 클 수록, 페이지 내부에 사용하고 남은 메모리가 생김.페이지 테이블페이징에 필요한 페이지와 페이지 프레임을 매핑 데이터를 저장한 테이블.프로세스에 할당된 페이지 수 만큼 엔트리가 존재함.각 엔트리에는 페이지 프레임 번호, ..

[프로그래머스] 등대

문제 설명인천 앞바다에는 1부터 n까지 서로 다른 번호가 매겨진 등대 n개가 존재합니다. 등대와 등대 사이를 오가는 뱃길이 n-1개 존재하여, 어느 등대에서 출발해도 다른 모든 등대까지 이동할 수 있습니다. 등대 관리자 윤성이는 전력을 아끼기 위하여, 이 중 몇 개의 등대만 켜 두려고 합니다. 하지만 등대를 아무렇게나 꺼버리면, 뱃길을 오가는 배들이 위험할 수 있습니다. 한 뱃길의 양쪽 끝 등대 중 적어도 하나는 켜져 있도록 등대를 켜 두어야 합니다.예를 들어, 아래 그림과 같이 등대 8개와 7개의 뱃길들이 있다고 합시다. 이 경우 1번 등대와 5번 등대 두 개만 켜 두어도 모든 뱃길은 양쪽 끝 등대 중 하나가 켜져 있으므로, 배들은 안전하게 운항할 수 있습니다.등대의 개수 n과 각 뱃길이 연결된 등대의..

람다 표현식 (& function)

정의람다 표현식은 이름 없는 함수를 정의하는 문법이다.용도 & 좋은 점함수 객체를 간단하게 만들 수 있는 방법이다.함수를 다른 함수에 인자로 전달하거나, 재사용될 일 없는 간단한 함수를 만들 때 좋다.stl과 연계해서 사용하기 좋다.캡처[x] : 변수 x를 값으로 캡처[&x] : 변수 x를 참조로 캡처[=] : 외부 모든 변수를 값으로 캡처[&] : 외부 모든 변수를 참조로 캡처내부 동작클로저 객체를 생성함.캡처가 없는 람다는멤버 변수가 없는 클로저 객체가 생성됨.함수 포인터(함수의 시작 주소를 가리키는 포인터)로 변환 가능함.캡처가 있는 람다는멤버 변수를 가지는 클로저 객체가 생성됨.함수 포인터로 변환 불가능함 .int a = 10;auto f = [a](int x) { return x + a; };/..

C++ 2025.08.28

[프로그래머스] 수식 복원

문제 설명당신은 덧셈 혹은 뺄셈 수식이 여러 개 적힌 고대 문명의 유물을 찾았습니다. 이 수식들을 관찰하던 당신은 이 문명이 사용하던 진법 체계가 10진법이 아니라는 것을 알아냈습니다. (2 ~ 9진법 중 하나입니다.)수식들 중 몇 개의 수식은 결괏값이 지워져 있으며, 당신은 이 문명이 사용하던 진법에 맞도록 지워진 결괏값을 채워 넣으려 합니다.다음은 그 예시입니다.수식>14 + 3 = 1713 - 6 = X51 - 5 = 44X로 표시된 부분이 지워진 결괏값입니다.51 - 5 = 44에서 이 문명이 사용하던 진법이 8진법임을 알 수 있습니다. 따라서 13 - 6 = X의 지워진 결괏값을 채워 넣으면 13 - 6 = 5가 됩니다.다음은 또 다른 예시입니다.수식>1 + 1 = 21 + 3 = 41 + 5 ..

[프로그래머스] 아이템 줍기

문제 설명다음과 같은 다각형 모양 지형에서 캐릭터가 아이템을 줍기 위해 이동하려 합니다.지형은 각 변이 x축, y축과 평행한 직사각형이 겹쳐진 형태로 표현하며, 캐릭터는 이 다각형의 둘레(굵은 선)를 따라서 이동합니다.만약 직사각형을 겹친 후 다음과 같이 중앙에 빈 공간이 생기는 경우, 다각형의 가장 바깥쪽 테두리가 캐릭터의 이동 경로가 됩니다.단, 서로 다른 두 직사각형의 x축 좌표 또는 y축 좌표가 같은 경우는 없습니다.즉, 위 그림처럼 서로 다른 두 직사각형이 꼭짓점에서 만나거나, 변이 겹치는 경우 등은 없습니다.다음 그림과 같이 지형이 2개 이상으로 분리된 경우도 없습니다.한 직사각형이 다른 직사각형 안에 완전히 포함되는 경우 또한 없습니다.지형을 나타내는 직사각형이 담긴 2차원 배열 rectan..

[백준] 14501 퇴사

문제상담원으로 일하고 있는 백준이는 퇴사를 하려고 한다.오늘부터 N+1일째 되는 날 퇴사를 하기 위해서, 남은 N일 동안 최대한 많은 상담을 하려고 한다.백준이는 비서에게 최대한 많은 상담을 잡으라고 부탁을 했고, 비서는 하루에 하나씩 서로 다른 사람의 상담을 잡아놓았다.각각의 상담은 상담을 완료하는데 걸리는 기간 Ti와 상담을 했을 때 받을 수 있는 금액 Pi로 이루어져 있다.N = 7인 경우에 다음과 같은 상담 일정표를 보자. 1일2일3일4일5일6일7일TiPi35112421020102015402001일에 잡혀있는 상담은 총 3일이 걸리며, 상담했을 때 받을 수 있는 금액은 10이다. 5일에 잡혀있는 상담은 총 2일이 걸리며, 받을 수 있는 금액은 15이다.상담을 하는데 필요한 기간은 1일보다 클 수 ..

[백준]4811 알약

문제70세 박종수 할아버지는 매일 매일 약 반알을 먹는다. 손녀 선영이는 종수 할아버지에게 약이 N개 담긴 병을 선물로 주었다.첫째 날에 종수는 병에서 약 하나를 꺼낸다. 그 다음, 그 약을 반으로 쪼개서 한 조각은 먹고, 다른 조각은 다시 병에 넣는다.다음 날부터 종수는 병에서 약을 하나 꺼낸다. (약은 한 조각 전체 일 수도 있고, 쪼갠 반 조각 일 수도 있다) 반 조각이라면 그 약을 먹고, 아니라면 반을 쪼개서 한 조각을 먹고, 다른 조각은 다시 병에 넣는다.종수는 손녀에게 한 조각을 꺼낸 날에는 W를, 반 조각을 꺼낸 날에는 H 보낸다. 손녀는 할아버지에게 받은 문자를 종이에 기록해 놓는다. 총 2N일이 지나면 길이가 2N인 문자열이 만들어지게 된다. 이때, 가능한 서로 다른 문자열의 개수는 총 ..