๋ชฉ๋ก2021/11 (22)
KoreanFoodie's Study
์ธ๋ฆฌ์ผ ์์ง - ์์ ๋ณํ ๋ฐ ์นด๋ฉ๋ผ ์ค์ ์์ ๊ฐ์ด Blueprint class -> Character class๋ฅผ ๋ง๋ ๋ค์, Capsule Component๋ฅผ ์ด์ฉํด Collision์ ๋ง๋ค์ด ์ฃผ์. Mesh๋ ์ด๋ฏธ ๋ง๋ค์ด๋ Skeleton mesh๋ฅผ ์ ์ฉํ๊ณ , SpringArm๊ณผ Camera๋ฅผ ๋ง๋ค์ด์ค๋ค. ์ถ ๋งคํ์ ์์ ๊ฐ์ด VerticalLook๊ณผ HorizontalLook์ ๋ง๋ค์ด ์ค ๋ค์, Player๋ฅผ ์ปจํธ๋กคํ๋ BP_Player๋ฅผ ์ด์ด ์ด๋ฒคํธ ๊ทธ๋ํ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑํ๋ค. ๊ทธํ, BP_Player(์ ํ, ํ๋ ์ด์ด์ ๋ธ๋ฃจํ๋ฆฐํธ ํด๋์ค์ด๋ค)์ ์์ฑ์์ Pawn -> Use Controller Rotation Yaw ์ฒดํฌ๋ฐ์ค ํด์ , Auto Possess Player์ Player0์ ์ง์ ..
๋น์ฆ๋์ค ์ปดํฌ๋ํธ ์ฌ์ฉํ๊ธฐ ๋ค์ ๊ทธ๋ฆผ์ด ๋ฐ๋ก ํต์ฌ์ด์, "์ฒ"์ ํด๋นํ๋ ๊ตฌ์กฐ์ด๋ค. ์คํ๋ง ์ปจํ ์ด๋์ ๊ด๊ณ ํฐ์บฃ ์๋ฒ๋ฅผ ์ฒ์ ๊ตฌ๋ํ๋ฉด โ web.xml ํ์ผ์ ๋ก๋ฉํ์ฌ ์๋ธ๋ฆฟ ์ปจํ ์ด๋๊ฐ ๊ตฌ๋๋๋ค. ๊ทธ๋ฆฌ๊ณ โก ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ web.xml ํ์ผ์ ๋ฑ๋ก๋ ContextLoaderListener ๊ฐ์ฒด๋ฅผ ์์ฑ(Pre Loading)ํ๋ค. ์ด๋ ContextLoaderListener ๊ฐ์ฒด๋ resources ์์ค ํด๋์ ์๋ business-layer.xml ํ์ผ์ ๋ก๋ฉํ์ฌ ์คํ๋ง ์ปจํ ์ด๋๋ฅผ ๊ตฌ๋ํ๋๋ฐ, ์ด๋ฅผ 'Root ์ปจํ ์ด๋'๋ผ๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋, Service ๊ตฌํ ํด๋์ค๋ DAO ๊ฐ์ฒด๋ค์ด ๋ฉ๋ชจ๋ฆฌ์ ์์ฑ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ ๋ฒํผ์ ํด๋ฆญํ์ฌ โ.doโ ์์ฒญ์ ์๋ฒ์ ์ ๋ฌํ๋ฉด ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ D..
Transaction ๊ด๋ฆฌ ์คํ๋ง๊ณผ ๋น๊ต๋๋ EJB๋ ๋ชจ๋ ๋น์ฆ๋์ค ๋ฉ์๋์ ๋ํ ํธ๋์ญ์ ๊ด๋ฆฌ๋ฅผ EJB ์ปจํ ์ด๋๊ฐ ์๋์ผ๋ก ์ฒ๋ฆฌํด ์ค๋ค. ์คํผ๋ง์์๋ ๋ง์ฐฌ๊ฐ์ง์ ๊ธฐ๋ฅ์ด ๊ฐ๋ฅํ๋ค. ์คํ๋ง์ ํธ๋์ญ์ ์ค์ ์์๋ ์์์ ํ์ตํ AIO๊ฐ ์ฌ์ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ XML ๊ธฐ๋ฐ์ AOP ์ค์ ๋ง ์ฌ์ฉํ ์ ์๊ณ , ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์คํํธ๋ฅผ ์ค์ ํ๋ ๊ฒ๋ ์๋ฆฌ๋จผํธ๋ฅผ ์ฌ์ฉํ์ง ๋ชปํ๊ณ ์๋ฆฌ๋จผํธ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. 1. ํธ๋์ ์ ๋ค์์คํ์ด์ค ๋ฑ๋ก 2. ํธ๋ ์ญ์ ๊ด๋ฆฌ์ ๋ฑ๋ก 3. ํธ๋์ญ์ ์ด๋๋ฐ์ด์ค ์ค์ ์๋ฆฌ๋จผํธ๋ ๋ค์๊ณผ ๊ฐ์ ์์ฑ์ ๊ฐ์ง ์ ์๋ค. 4. AOP ์ค์ ์ ํตํ ํธ๋์ญ์ ์ ์ฉ ์์ ์ค์ ๋ค์ ํตํด ํธ๋์ญ์ ์ด ๋์ํ๋ ๊ฒ์ ๊ทธ๋ฆผ์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. JSP : Scriptlet. ๊ทธ๋ฅ ์๋ฐ ์ฝ๋ ..
IoC๋ฅผ ์ด์ฉํ ๋น์ฆ๋์ค ์ปดํฌ๋ํธ ๊ฐ๋ฐ : 4๊ฐ์ ์๋ฐ ํ์ผ 1. VO(Value Object) ํด๋์ค ์์ฑ VO(Value Object) ํด๋์ค๋ ๋ ์ด์ด์ ๋ ์ด์ด ์ฌ์ด์์ ๊ด๋ จ๋ ๋ฐ์ดํฐ๋ฅผ ํ๊บผ๋ฒ์ ์ฃผ๊ณ ๋ฐ์ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๋ ํด๋์ค. VO ํด๋์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์ฑ๋์ด ์๋ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๋งคํํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค. 2. DAO(Data Access Object) ํด๋์ค SQL ๋ช ๋ น์ด๋ค 3. Service ์ธํฐํ์ด์ค 4. Service ๊ตฌํ ํด๋์ค @Service, @Repository, @Controller ์ด๋ ธํ ์ด์ @Component๋ฅผ ๋ชฉ์ ์ ๋ฐ๋ผ ๋๋ (ํด๋์ค๋ณ๋ก @Repository, @Service, @Data) AOP(Aspect Oriented Programming) IoC๊ฐ ๊ฒฐํฉ๋์ ..
๊ผญ! ์์์ผ ํ ๊ฐ๋ IoC : Inversion of Control AOP : Aspect Oriented Programming MVC : Model-View-Controller Java, JDBC, HTML, Servlet/JSP ํ๋ ์์ํฌ ํ๋ ์์ํฌ๋ ๋ผ๋์ด๋ค. ๋ผ๋๋ ๋ฐ๊พธ๋ ๊ฒ์ด ์๋๋ผ ์ด์ฉํ๋ ๊ฒ์ด๋ค. ํ๋์ ํ์ด๋ผ๊ณ ๋ด๋ ๋จ ๋ฉํ ๋ฐ์ดํฐ๋ ์ฃผ๋ก XML. ์ํคํ ์ฒ์ ํด๋นํ๋ ํด๋์ค๋ฅผ ์ฝ๋ ์คํ(Cold Spot) ์ด๋ผ๊ณ ํ๋ฉฐ, JAR(Java Archive) ํ์ผ์ ์๋ฏธํ๋ค. POJO(Plaing Old Java Object)๋? POJO๋ ๋ง ๊ทธ๋๋ก ํ๋ฒํ ์๋ ์๋ฐ ๊ฐ์ฒด๋ฅผ ์๋ฏธํ๋ค. ๋ํ์ ์ธ Not POJO ํด๋์ค๊ฐ Servlet์ด๋ EJB ํด๋์ค๋ค. Servlet ํด๋์ค๋ ์ฐ๋ฆฌ ๋ง์๋๋ก ๋ง..
'DirectX 12๋ฅผ ์ด์ฉํ 3D ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ'์ ์ฝ์ผ๋ฉฐ ๋ด์ฉ์ ์ ๋ฆฌํ๊ณ ์ค์ํ ๋ถ๋ถ์ ๊ธฐ๋กํ๋ ๊ธ์ ๋๋ค. 4-4. ์๊ฐ ์ธก์ ๊ณผ ์ ๋๋ฉ์ด์ (ํ์ด๋จธ, GameTimer ํด๋์ค) ์์ ๋์ด์ผ ํ ๊ฐ๋ ๋ค : 1. ์ฑ๋ฅ ํ์ด๋จธ ์ ๋ฐํ ์๊ฐ ์ธก์ ์ ์ํด, ์ด ์ฑ ์ ์์ ๋ค์ Windows๊ฐ ์ ๊ณตํ๋ ์ฑ๋ฅํ์ด๋จธ(perfomance timer)๋ฅผ ์ฌ์ฉํ๋ค. ์ด๋ฅผ ์ฑ๋ฅ ์นด์ดํฐ(performance counter)๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค(Windows.h ๋ฅผ include). ์ฑ๋ฅ ํ์ด๋จธ์ ์๊ฐ ์ธก์ ๋จ์๋ '์ง๋๊ฐ ํด๋ญ ํฑ(tick)'๋ค์ ๊ฐ์(count)์ด๋ค. ์ฑ๋ฅ ํ์ด๋จธ๋ก๋ถํฐ ํฑ ์ ๋จ์์ ํ์ฌ ์๊ฐ์ ์ป์ ๋์๋ ๋ค์๊ณผ ๊ฐ์ด QueryPerformanceCounter ํจ์๋ฅผ ์ฌ์ฉํ๋ค. __int64 currTim..
๊นํ์ ํตํด ๋ชจ๋ C++๋ฅผ ์ค์ฌ์ผ๋ก, ๋ชจ๋ C++์ ๊ธฐ์ด ๋ด์ฉ ์ค, ๊ธฐ์ตํ๋ฉด ์ข์ ๋ถ๋ถ๋ง ๊ฐ์ถ๋ ค Github์ ์ ๋ฆฌ์ค์ ๋๋ค. ์์ ์์ค ์ฝ๋๋ ๋ชจ๋์ ์ฝ๋์ ์น์ด๋จน๋ C++ ๊ฐ์ข๋ฅผ ์ฐธ๊ณ ํ์ต๋๋ค. ์ ๋ง ์ข์ ์์ค๋ ๊ผญ ํ ๋ฒ ๋ณด์๋ผ๊ณ ๊ถํ๊ณ ์ถ์ต๋๋ค. CPP Review CPP Review following lectures from here, Effective C++ and Effective Modern C++. Also cover other references & codes 1. Namespace 2. References Reference is a nickname. Therefore it cannot be used alone, it needs original name to exist! Can't assi..
'DirectX 12๋ฅผ ์ด์ฉํ 3D ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ'์ ์ฝ์ผ๋ฉฐ ๋ด์ฉ์ ์ ๋ฆฌํ๊ณ ์ค์ํ ๋ถ๋ถ์ ๊ธฐ๋กํ๋ ๊ธ์ ๋๋ค. 4-3. Direct3D ์ด๊ธฐํ (ID3D12Device, Fence, 4X MSAA ์ ๊ฒ ๋ฑ) Direct3D ์ด๊ธฐํ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ ๋จ๊ณ๋ค๋ก ๊ตฌ์ฑ๋๋ค. 1. D3D12CreateDevice ํจ์๋ฅผ ์ด์ฉํด์ ID3D12Device๋ฅผ ์์ฑํ๋ค. 2. ID3D12Fence ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์์ ์๋ค์ ํฌ๊ธฐ๋ฅผ ์ป๋๋ค 3. 4X MSAA(Multisample anti-aliasing) ํ์ง ์์ค ์ง์ ์ฌ๋ถ๋ฅผ ์ ๊ฒํ๋ค. 4. ๋ช ๋ น ๋๊ธฐ์ด๊ณผ ๋ช ๋ น ๋ชฉ๋ก ํ ๋น์, ๊ทธ๋ฆฌ๊ณ ์ฃผ ๋ช ๋ น ๋ชฉ๋ก์ ์์ํ๋ค. 5. ๊ตํ ์ฌ์ฌ์ ์์ ํ๊ณ ์์ฑํ๋ค. 6. ์์ฉ ํ๋ก๊ทธ๋จ์ ํ์ํ ์์ ์ ํ๋ค์ ์์ฑํ๋ค. 7. ํ๋ฉด ..
'DirectX 12๋ฅผ ์ด์ฉํ 3D ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ'์ ์ฝ์ผ๋ฉฐ ๋ด์ฉ์ ์ ๋ฆฌํ๊ณ ์ค์ํ ๋ถ๋ถ์ ๊ธฐ๋กํ๋ ๊ธ์ ๋๋ค. 4-2. Direct3D ๊ธฐ์ด : CPU์ GPU์ ์ํธ์์ฉ , ๋ช ๋ น ๋๊ธฐ์ด, CPU/GPU ๋๊ธฐํ ์์ ๋์ด์ผ ํ ๊ฐ๋ ๋ค : ๋ช ๋ น ๋๊ธฐ์ด๊ณผ ๋ช ๋ น ๋ชฉ๋ก CPU๋ GPU์ ์ํธ์์ฉํ๋ฉฐ ๊ทธ๋ํฝ์ ๊ทธ๋ ค์ค๋ค. ์ฐ๋ฆฌ๋ GPU์ CPU๊ฐ ๊ฐ๊ฐ ์ฌ์ง ์๊ณ ์ด์ฌํ ์ผํ๊ธฐ๋ฅผ ์ํ๋ค. CPU/GPU ์ฌ์ด์๋ ๋๊ธฐํ๊ฐ ํ์ํ์ง๋ง, ๋๊ธฐํ๋ ๋ณ๋ ฌ์ฑ์ ๋ง์น ์ ์๋ค. ์ฆ, ๋ช ๋ น ๋๊ธฐ์ด์ด ๊ฝ ์ฐจ CPU๊ฐ ๋๊ฑฐ๋ ๋ช ๋ น ๋๊ธฐ์ด์ด ๋น์ด ์์ด GPU๊ฐ ๋ ธ๋ ์ํฉ์ ๋ฐฉ์งํด์ผ ํ๋ค. Direct3D 12์์ ๋ช ๋ น ๋๊ธฐ์ด์ ๋ํํ๋ ์ธํฐํ์ด์ค๋ ID3D12CommandQueue์ด๋ค. ์ด ์ธํฐํ์ด์ค๋ฅผ ์์ฑํ๋ ค๋ฉด ๋๊ธฐ์ด์ ์์ ํ..
Memento Mori ๋น์ ์ด '์ง์ง ๋ง์ง'์ ์ฐพ๋๋ค๋ฉด ๊ธฐ์ตํด์ผ ํ ๋ ๊ฐ์ง๊ฐ ์๋ค. 1. ํ๊ตญ์ธ์ ๊ฐ์ฑ์ ๋ฏธ์ณ์๋ค. 2. ๊ธฐ๋ํ๋ฉด ์ค๋งํ๋ค. ๊ฐ์ฑ์ด ์ง์ง ๋ญ๊ธธ๋. ์ฌ๋๋ค์ ์ ๋ณ ๊ฑฐ ์๋ ๋ฐ๊ฐ๋ฃจ ๋ฉ์ด๋ฆฌ์ ๋์ ๋ด๋์ง๋ ๊ฑธ๊น. ๋น์ทํ ์์์ด๋ผ๋ ์ ์์ ๊ตด๊ณก์ ๋ชธ๊ฐ์ด ์ ๊ทธ๋ฆฌ ๋ฌ๋ผ์ง๋ ๊ฑธ๊น. ์, ๋ฌผ๋ก ๊ณผํ์ง ์์ ์์ํ ์กฐ๋ช ์ด ๋น ์ ธ์๋ ์๋๊ฒ ๋ค. ๊ฐ์ฑ์ด๋ ๊ฒ ์ฐธ ์ค๋ฌํ๋ค. ํฉ๋ฆฌ์ ์ผ๋ก๋ ๋น์ต ์ดํดํ ์๊ฐ ์๋ค. ๋จ๋ํ ๊ตญ๋ฐฅ์ ๋จน๊ณ '์ ์ข๋ค~'๋ฅผ ์ธ์น๋ ์์ฌ๊ฐ ๋์ด๋ฒ๋ฆฐ ๋์๊ฒ ๋จ์ ์ ํ์ง๋ ์ดํดํ ์ ์๋ ๊ฐ์ฑ์ด๋ผ๋ ๊ฐ๋ ์ ๋ฌด์กฐ๊ฑด์ ์ผ๋ก ์์ฉํ๋ ๊ฒ ๋ฟ์ด๋ค. ๋๊ตฐ๊ฐ ๊ฐ์์ ๋ฌผ์ด๋ณด๋ฉด ๋จผ ์ฐ์ ๋ฐ๋ผ๋ณด๋ฏ ์์ ์ ๋๋ฆฌ๋ฉฐ ๋ฏธ์๋ฅผ ์ง๋ ๊ฒ ๋ฐ์. ๋ถ์๊ธฐ๋ฅผ ๊นจ๊ณ ์ถ์ง๋ ์์ผ๋๊น. ...๋ผ๊ณ ๋งํ์ง๋ง, ์ฌ์ค ๋๋ ์์ ๊ฐ..