๋ชฉ๋ก์ ์ฒด ๊ธ (1096)
KoreanFoodie's Study
ํ๋ก๊ทธ๋๋ฐ ๋ํ์์ ๋ฐฐ์ฐ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํด๊ฒฐ ์ ๋ต(์ดํ ์ข ๋ง๋ถ)์ ์ฝ์ผ๋ฉฐ ์ ์ฉํ ๋ด์ฉ์ ์ ๋ฆฌํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ชจ๋ ๋ด์ฉ์ ์์ฝํ๋ ๊ฒ์ ์๋๋ฉฐ, ๋ํ์ ํฌ์ปค์ฑ์ ๋ง์ถ ๋ถ๋ถ์ ๋ค๋ฃจ์ง ์์ ์๋ ์์ต๋๋ค. ์๊ณ ๋ฆฌ์ฆ์ ์ง์ฌ์ด์๋ผ๋ฉด, ์ง์ ๊ตฌ๋งคํ์ ์ ์ฝ์ด๋ณด์๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค! ํต์ฌ : 1. ์ํ ์๊ฐ ์ด๋ฆผ์ง์์ ์ ์ฉํ์ง๋ง, ์๋ฐํ์ง๋ ์์ผ๋ ์ต์ ํ ์์๋ ์ฌ๋ฌ ์ธ์๋ค์ ํจ๊ป ๊ณ ๋ คํด ๋ณด์. 2. ์๊ณ ๋ฆฌ์ฆ์ ์ ๋น์ฑ ์ฆ๋ช ์ ํด๋น ์๊ณ ๋ฆฌ์ฆ์ ํต์ฐฐ์ ์ดํดํจ์ ์์ด ์ค์ํ๋ค. 3. ์๊ณ ๋ฆฌ์ฆ์ ์ ๋น์ฑ ์ฆ๋ช ๋ฐฉ๋ฒ์ ๊ท๋ฉ๋ฒ, ๋ฐ๋ณต๋ฌธ ๋ถ๋ณ์, ๊ท๋ฅ๋ฒ, ๋น๋๊ธฐ์ง์ ์๋ฆฌ, ๊ตฌ์ฑ์ ์ฆ๋ช ๋ฑ์ด ์๋ค. *์ฑํฐ 2 ์์๋ ํ ๋ฒ ๋์ง์ด ๋ณผ ๋งํ ๋ด์ฉ์ ์ผ๋ถ ๋ฐ์ทํด ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค. ์ํ ์๊ฐ ์ด๋ฆผ์ง์ํ๊ธฐ ์ผ๋ฐ์ ์ผ๋ก ์ฐ๋ฆฌ๋ Time..
ํ๋ก๊ทธ๋๋ฐ ๋ํ์์ ๋ฐฐ์ฐ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํด๊ฒฐ ์ ๋ต(์ดํ ์ข ๋ง๋ถ)์์ ์๊ฐ๋ ๋ฌธ์ ๋ฅผ ํ์ดํฉ๋๋ค. ์๊ณ ๋ฆฌ์ฆ์ ์ง์ฌ์ด์๋ผ๋ฉด, ์ง์ ๊ตฌ๋งคํ์ ์ ์ฝ์ด๋ณด์๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค! ํต์ฌ : 1. ๊ธฐ๋ณธ์ ์ผ๋ก๋ ์ด์ค for-loop ์ผ๋ก ํ ์ ์์ผ๋, DP ๋ฅผ ์ฌ์ฉํ๋ฉด ์๊ฐ์ ์กฐ๊ธ ๋จ์ถํ ์ ์๋ค. 2. ์์์ ์ค์ฐจ์ ์ ์ํ์. ๋ก ํ์คํฐ๋ฒ (๋์ด๋: ํ, ๋ฌธ์ ID : FESTIVAL) ์ฌ์ค 2์ค for-loop ๋ง ๋๋ฆฌ๋ฉด ์ฝ๊ฒ ํ ์ ์๋ ๋ฌธ์ ์ด๊ธด ํ๋ค. ๋ฐ๋ผ์ ๋ฐ๋ก ์ค๋ช ์ ๊ธธ๊ฒ ์ ์ง๋ ์๊ณ , ์ฝ๋์ ์ฃผ์์ ์กฐ๊ธ ๋ฌ์ ๋์๋ค! ๐ #include #include "stdlib.h" using namespace std; int N, L; int days[1000]; int dp[1000]; double ans; doub..
ํ๋ก๊ทธ๋๋ฐ ๋ํ์์ ๋ฐฐ์ฐ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํด๊ฒฐ ์ ๋ต(์ดํ ์ข ๋ง๋ถ)์ ์ฝ์ผ๋ฉฐ ์ ์ฉํ ๋ด์ฉ์ ์ ๋ฆฌํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ชจ๋ ๋ด์ฉ์ ์์ฝํ๋ ๊ฒ์ ์๋๋ฉฐ, ๋ํ์ ํฌ์ปค์ฑ์ ๋ง์ถ ๋ถ๋ถ์ ๋ค๋ฃจ์ง ์์ ์๋ ์์ต๋๋ค. ์๊ณ ๋ฆฌ์ฆ์ ์ง์ฌ์ด์๋ผ๋ฉด, ์ง์ ๊ตฌ๋งคํ์ ์ ์ฝ์ด๋ณด์๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค! ํต์ฌ : 1. ํ๋ก๊ทธ๋๋ฐ์ ๋ฌธ์ ํด๊ฒฐ์ด๋ค. 2. ๊ฐ๊ฒฐํ๊ณ ๋ชจ๋ํ๋ ์ฝ๋๋ฅผ ์ง๋ผ. ์ด๋ ๋ฒ๊ทธ๋ฅผ ์ค์ฌ์ฃผ๊ณ ๋๋ฒ๊น ํจ์จ์ ๋์ฌ์ค๋ค. 3. ์์ฃผ ๋ฒํ๋ ์ค์์ ๋ํ ์ ํ์ ์์๋์. ํ๋ก๊ทธ๋๋ฐ์ ๋ฌธ์ ํด๊ฒฐ์ด๋ค. 1์ฅ์์๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ์ฝ๋ฉ์ ๋ํ ์ ์์ ์ฒ ํ๊ณผ, ์์ผ๋ก ๋ค๋ฃฐ ์ฃผ์ ์ ๋ํ ๊ฐ๋ตํ ๋ง๋ณด๊ธฐ(?)๊ฐ ์ ๊ณต๋๋ค. ๊ฑฐ๊ธฐ์ ๋ฐฐ์ด ์ง ์ค๋๋์ด ๊ธฐ์ต์ ์ ํธ์ ๋ฌปํ ์๊ฑฐ๋, ์๊ฐํด๋ณด๋ฉด ์ข์ ๊ฟํ๋ค์ ๋ํด์๋ ์กฐ์ธ์ ์๋ผ์ง ์๋๋ค. ์ด๋ฒ ๊ธ..
[์ธ๋ฆฌ์ผ] ์ด๋ค ๊ฐ๋ : ์ด๋ป๊ฒ ํ๊ธฐ ํต์ฌ : 1. UObject ๋ผ๋ฉด, UWorld::GetRealTimeSeconds() ํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค. 2. C++ ํด๋์ค๋ผ๋ฉด, FDateTime::Now() ๋ฅผ ์ธ ์๋ ์๋ค. 3. milisecond ๋ฅผ ์ํ๋ค๋ฉด FDateTime::UtcNow() ๋ฅผ ์ฐ์. 1. UObject ์ผ ๊ฒฝ์ฐ UWorld* World = GetWorld(); float PrevSeconds; float ElapsedSeconds; if (World) { ElapsedSeconds = MyWorld->GetRealTimeSeconds() - PrevSeconds; PrevSeconds = MyWorld->GetRealTimeSeconds(); UE_LOG(LogTemp, Warn..
์ธ๋ฆฌ์ผ UI ์ต์ ํ ํต์ฌ : 1. UI ์ต์ ํ๋ฅผ ์ํด์๋ ๋จผ์ UI ๊ตฌ์กฐ์ ๋ ๋๋ง ํ๋ก์ธ์ค๋ฅผ ์ดํดํด์ผ ํ๋ค. 2. UI ์ต์ ํ์ ํต์ฌ์ ๊ฒฐ๊ตญ Tick ์ด๋ค. Tick ์ ํ์ํ ๋๋ง ํธ์ถํ๊ฒ ๋ง๋ค๊ฑฐ๋, Tick ๋น ๋ด๊ธฐ๋ ์ฐ์ฐ์ ํฌ๊ธฐ๋ฅผ ์ค์ฌ์ผ ํ๋ค. ์ ์๋ ๊ฒ์์ฐ๋ ๋์, ํ์๋ ๋ ๋๋ง ์ฐ๋ ๋์ ์ฐ๊ด์ด ๊น๋ค. 3. ๊ฒ์ ์ฐ๋ ๋ ์ต์ ํ์๋ Invalidation Box, Visibility, Widget Binding ๋ฑ์ด ์๊ณ , ๋ ๋๋ง ์ฐ๋ ๋ ์ต์ ํ์๋ Merging Batches, Retainer Box ๋ฑ์ด ์๋ค. ์ธ๋ฆฌ์ผ์์ UMG ๋ฅผ ์ด์ฉํ UI ์์ ์ ์๋นํ ๋ง์ด ํ๋๋ฐ, ์ผ์ ์ ์ซ๊ธฐ๋ค ๋ณด๋ ํ๋ก์ ํธ ์ฐจ์์์ ์ต์ ํ๋ฅผ ๊ณ ๋ คํ๋ฉด์ ๋ง๋๋ ๊ฒฝ์ฐ๊ฐ ์ ์๋ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ๋ํ ์ต์ ํ๋ฅผ ํ๋ค๊ณ ..
2023๋ ์ ๊ทธ ์ด๋๋ ๋ณด๋ค ๋ ๋น ๋ฅด๊ฒ ์ง๋๊ฐ ๊ฒ ๊ฐ๋ค. ํํ ๋์ด๊ฐ ๋ค๋ฉด ๋ค์๋ก ์๊ฐ์ด ๋ ๋น ๋ฅด๊ฒ ํ๋ฌ๊ฐ๋ค์ง๋ง, 2023๋ ์ ๊ทธ๋ฐ ๊ฒ์ ๊ฐ์ํ๋๋ผ๋ ์กฐ๊ธ ๋น์์์ (?)์ผ๋ก ๋น ๋ฅด๊ฒ ์ง๋๊ฐ์ง ์์๋ ํ๋ ์๊ฐ์ด ๋ ๋ค. ์ฌ๋๋ค์ ๋งค๋ ์ฅ๋ํ ๋ชฉํ๋ฅผ ์ค์ ํ๊ณ , ์๋ก์ด ๊ณํ์ ์ธ์ฐ์ง๋ง ๋๋ถ๋ถ์ ๊ณํ์ ํ ์ฌ๋ฆ๋ฐค์ ๊ฟ์ฒ๋ผ ํ ๋ฌ์ด ์ฑ ์ง๋๊ธฐ๋ ์ ์ ์ํ์ง๊ณ ๋ง๋ค. ๋ ๋ํ ๊ทธ๋ ๊ฒ ๋์ง ์์๊น ํ๋ ๋ง์์, ์ด๋ฒ์๋ ์ง๋ ํ ํด๋ฅผ ๋๋์ ๋ณด๋ฉฐ ๋ด๊ฐ ๋ฌด์์ ๋ชฉํ๋ก ํ๊ณ ์ด๋ค ๊ฒ์ ๋ฐฐ์ ๋์ง ๋๋์ ๋ณด๋ ์๊ฐ์ ๊ฐ์ง๋ ค ํ๋ค. 2023๋ ์ ๋ชฉํ ํ๊ณ ํ๊ณ ๋ฅผ ํ๊ธฐ ์ํด, ์์ ์ ๊ตฌ๊ธ ๋๋ผ์ด๋ธ์ ์ ๋ฆฌํ ๋ชฉํ๋ฅผ ๋ค์ ๊บผ๋ด ์๋ค. ๋์ด์ผ ๋ณด๋ฉด, 2023๋ ์ '๊ธฐ๋ณธ๊ธฐ ๋ค์ง๊ธฐ'์ ํด๋ก ๋ณด๋ด๊ธฐ๋ก ๋ค์งํ๋ ๊ฒ ๊ฐ๋ค. ๊ฐ๋ฐ์ ๋จ์ํ ์ทจ๋ฏธ..
[C++ ๊ฒ์ ์๋ฒ] 7-5. Procedure Generator ํต์ฌ : 1. Python ์ ์ด์ฉํด Procedures ๋ฅผ ์๋ ์์ฑํด ๋ณด์. ์ฐ๋ฆฌ๋ ์ด์ ์ BindParam/BindCol ์ ์ด์ฉํด์ ํ ์ด๋ธ์ ์ ๊ทผ์ ํ๊ณค ํ๋ค. ์ด๋ฐ ๋ถ๋ถ์ ์กฐ๊ธ ๋, ์๋ํ ์ํค๊ธฐ ์ํด ProcedureGenerator ๋ฅผ ๋ง๋ค์ด ๋ณด์. ์ฐ๋ฆฌ๋ XML ๋ก๋ถํฐ, ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์กฐํํ๋ API ๋ฅผ ์๋์ผ๋ก ๋ง๋ค์ด ์ค ๊ฒ์ด๋ค. ๋จผ์ XmlDBParser ๊ฐ ํ์ํ๋ค. ์ด๊ฑด ์ฐธ๊ณ ์ฉ์ด๋, ์ ์ ๊ธ์ ๋ฃ๋๋ก ํ๊ฒ ๋ค. ๐ ๋๋ณด๊ธฐ XmlDBParser.py import xml.etree.ElementTree as ET class XmlDBParser: def __init__(self): self.tables = {..
[C++ ๊ฒ์ ์๋ฒ] 7-4. ORM ํต์ฌ : 1. ORM ์ ์ฌ์ฉํ๋ฉด, DB ๋ฅผ ๊ฐํธํ๊ฒ ๊ด๋ฆฌํ ์ ์๋ค. ์ด๋ฒ ๊ธ์์๋ ๊ฐ๋จํ ORM ์ ๋ง๋ค์ด ๋ณด๋๋ก ํ๊ฒ ๋ค. ์ฐธ๊ณ ๋ก ORM ์ด๋... ๋ผ๊ณ ํ๋ค. ์์ธํ ์ค๋ช ์ ์ด ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ์. ์.. ์ผ๋จ DB ๋ชจ๋ธ์ ํํํ๋ DBModel ๊ณผ, ํ์ฌ DBModel ์ ๋ง๊ฒ Table ์ ๊ตฌ์ฑํด ์ฃผ๋ DBSynchronizer ํด๋์ค๋ฅผ ๋ง๋ค ๊ฒ์ด๋ค. ๊ทธ๋ฐ๋ฐ... ์ด๊ฒ ํ๋ํ๋ ์ค๋ช ํ๊ธฐ์๋ ์์ด ๋ง๊ณ , ๊ตณ์ด ์๊ธฐํ ํ์๋ ์๊ธฐ์... ๋์ค์ ํ์ํ ๋ ์ฌ์ฉ(?) ๋ค์ถฐ๋ณด๋ ๊ฒ์ผ๋ก ํ๊ณ , ์์ ์ฝ๋๋ง ๊ธฐ๋กํ๊ณ ๋์ด๊ฐ๋๋ก ํ๊ฒ ๋ค. ์ ๋ ๊ท์ฐฎ์์ ๋์ฐ๋ ค๊ณ ํ๋๊ฒ ์๋๋ค. ๐ ๋๋ณด๊ธฐ DBModel #pragma once #include "Types.h" NAMESPAC..
[C++ ๊ฒ์ ์๋ฒ] 7-3. XML Parser ํต์ฌ : 1. DB ๋ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ํ์ํ๋ฉฐ, ๋ฐ๋ผ์ ํ ์ด๋ธ๊ณผ ์ฟผ๋ฆฌ๋ ๋ฒ์ ์ ๋ง๊ฒ ์กด์ฌํด์ผ ํ๋ค. ์ด๋ฅผ ์ํ XML Parser ๋ฅผ ๋ง๋ค์ด ๋ณธ๋ค. ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค ๋ณด๋ฉด ์์ฐ์ค๋ฝ๊ฒ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ํ์ํ๋ค. ์ด๋ ์ฌ์ค DB ์๋ ๋ง์ฐฌ๊ฐ์ง์ธ๋ฐ, ์ด๋ค ๋ฒ์ ์์๋ ํน์ ํ ์ด๋ธ์ ํน์ ์ปฌ๋ผ์ด ์๋ค๋์ง, ์ถํ ๋ฒ์ ์์ ํ ์ด๋ธ์ด ์ถ๊ฐ๋๋ค๋์ง ํ๋ ๊ฒฝ์ฐ๊ฐ ์๊ธธ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์ฟผ๋ฆฌ๋ ๊ทธ๋ฐ DB ์ ๋ณ๋์ ๋ง๊ฒ ๋ด์ฉ๋ฌผ์ด ๋ฐ๋์ด์ผ ํ๋๋ฐ... ๋ณดํต ์ด๋ฅผ ๊ด๋ฆฌํด ์ฃผ๋ ์ง๊ตฐ์ด DBA ์ด๋ค(๋ฌผ๋ก ์๋ฒ ๋ด๋น์๊ฐ ํ๊ธฐ๋ ํ๋ค). ์ฐ๋ฆฌ๋ ์์ผ๋ก ์ด๋ฐ DB ์ฟผ๋ฆฌ๋ฅผ XML ๋ก ๊ด๋ฆฌํ ๋ค์, ์ค์ ๋ก GameServer ์์ ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ ค์ค ๋ XML Parser ๋ฅผ ์ด์ฉํด ํด๋น ์ฟผ๋ฆฌ๊ฐ ์๋..
[C++ ๊ฒ์ ์๋ฒ] 7-2. DB Bind ํต์ฌ : 1. TMP ๋ฅผ ํ์ฉํ์ฌ BindParam/BindCol ์ ๊ฐ๋ตํํด ๋ณด์. ์ด์ ์ DBConnection ์ ๋ง๋ค๋ฉด์, BindParam ์ ์ด์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , BindCol ์ ์ด์ฉํด DB ์์ ๊ฐ์ ์กฐํํ๋ค. ๊ทธ๋ฐ๋ฐ ์ฌ์ค ์ด๋ฐ ํจ์๋ค์ ํ์ ๋ณ๋ก ๋ง๋ค์ด ์ค์ผ ํ๋ค. ๊ทธ๋์ DBConnection ์ ๋ค์ ํจ์๋ค์ ์ถ๊ฐํ๊ณ , ๊ธฐ์กด BindParam/BindCol ์ private ์ผ๋ก ๋นผ ์คฌ๋ค. public: boolBindParam(int32 paramIndex, bool* value, SQLLEN* index); boolBindParam(int32 paramIndex, float* value, SQLLEN* index); boolBindP..