๋ชฉ๋ก์ ์ฒด ๊ธ (1104)
KoreanFoodie's Study

DirectX 11 2D ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ - 1. Window ์ฐฝ ๋์ฐ๊ธฐ ๋จผ์ ๊ธฐ๋ณธ์ ์ธ Windows API์ ๊ธฐ๋ฅ๋ค์ ์ง์ด ๋๊ฐ๋ฉด์ ์ฐฝ์ ๋์ฐ๋ ๊ฒ๋ถํฐ ์์์ ํด ๋ณด์. ์์๋์ด์ผ ํ ๊ฐ๋ ์ผ๋ก๋ 1. Calling Convention 2. Casting in C++ 3. inline ํจ์ 4. Callback ํจ์ ์ ๋๊ฐ ์๋ค. stdafx.h ๋จผ์ , ๋ฏธ๋ฆฌ ์ปดํ์ผ๋ ํค๋๋ฅผ ๋ง๋ค์ด ์ฃผ์. stdafx.cpp์์๋ stdafx.h๋ฅผ include ํด์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ค. #pragma once //Window #include #include typedef unsigned int uint; Windows.h #pragma once #include "stdafx.h" namespace Window { static..

์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 14. ํ ์ด๋ธ ๊ด๋ฆฌ (ํ ์ด๋ธ ์์ , ํ๋ ์์ , SQL ALTER) ์ฌ์ค ํ ์ด๋ธ ์ปฌ๋ผ ์ถ๊ฐ/์ญ์ /๋ณ๊ฒฝ ๋ฑ์ ์์ ์ GUI ๋๊ตฌ๋ฅผ ์ฌ์ฉํด์ ํ๋ ๊ฒ์ด ๋ ์ฝ๋ค! ๋ค๋ง ์คํฌ๋ฆฝํธ ํ๊ฒฝ์์ ALTER ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํด์ผ ํ๋ ์ํฉ์ด ์์ ์ ์์ผ๋, ๊ฐ๋จํ ์์ ๋ฅผ ํตํด ์ด๋ค ์ฟผ๋ฆฌ๊ฐ ์๋์ง๋ ๋จธ๋ฆฟ์์ ๋ฃ์ด๋๋๋ก ํ์. -- ADD๋ฅผ ํตํด ์ปฌ๋ผ์ ์ถ๊ฐํ ์ ์๋ค ALTER TABLE tCity ADD mayor CHAR(12) NULL; UPDATE tCity SET mayor = '์ค๋ฅ๋' WHERE name = '๋ถ์ฐ'; ALTER TABLE tCity ADD mayor CHAR(12) NOT ..

์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 13. ๋ถ์๊ณผ ํต๊ณ(์๊ณ, ์์, ํต๊ณ, ํผ๋ด) CREATE TABLE tMonthSale ( year INT, month INT, salesINT ); INSERT INTO tMonthSale VALUES(2021, 9, 3650); INSERT INTO tMonthSale VALUES(2021, 10, 4120); INSERT INTO tMonthSale VALUES(2021, 11, 5000); INSERT INTO tMonthSale VALUES(2021, 12, 4420); INSERT INTO tMonthSale VALUES(2022, 1, 3800); INSERT INTO..

์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 12. ๋ทฐ (์์ ํ ์ด๋ธ, CTE) SELECT member, age, addr FROM tMember; -- ๊ฐ๋จํ VIEW๋ฅผ ์์ฑํ๋ ์์ -- VIEW๋ ์ฟผ๋ฆฌ๋ฌธ์ผ๋ก ์์ฑํ๋ ๊ฐ์์ ์ธ ํ ์ด๋ธ์ด๋ค. -- ๋ทฐ์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ฉด ์ค์ ํ ์ด๋ธ์๋ ์ํฅ์ ๋ผ์น๋ค -- ๋ทฐ๋ ๋ณด๊ธฐ ์ ์ฉ์ผ๋ก ์ด์ฉํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค. CREATE VIEW vMember AS SELECT member, age, addr FROM tMember; SELECT * FROM vMember; SELECT member, age FROM vMember; SELECT * FROM vMember WHERE addr LIKE ..

์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 11. ํจ์ (์ค์นผ๋ผ ํจ์, ๋ฌธ์์ด ํจ์, ๋ฐ์ดํฐ ํ์ , ๋ ์ง์ ์๊ฐ) ์ฌ์ค DBMS๋ง๋ค ํจ์๋ ๋ค๋ฅด๊ณ ์ข ๋ฅ๋ ๋ค๋ฅด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ํจ์๋ฅผ ์ ๋ถ ์ธ์ธ ํ์๋ ์๋ค. ๋๋ต์ ์ผ๋ก ์ด๋ค ํจ์๊ฐ ์กด์ฌํ๋์ง๋ฅผ ํ์ ํด ๋ ํ, ํ์ํ ํจ์๋ฅผ ๊ทธ๋ ๊ทธ๋ ์ฐพ์์ ์ฐ๋ ๋ฐฉ์์ด ๋ ํจ์จ์ ์ผ ์๋ ์๋ค! ์ด ๊ธ์์๋ ์ค๋ผํด์ ๊ธฐ์ค์ผ๋ก ์์ฃผ ๋์ค๋ ํจ์ ๋ชฉ๋ก์ ์๊ฐํ๋ฉฐ, ์์๋ฅผ ํตํด ์ค๋ช ํ๋ค. ์์นํจ์ ๋ฌธ์์ด ํจ์ ๋ฐ์ดํฐ ํ์ 1. ์์นํ 2. ๋ฌธ์ํ 3. ๋ ์งํ 4. ANSI ํ์ค ํ์ -- AVG, TRIM, ROUND ๋ฑ์ ๊ฐ๋จํ ์ฐ์ฐ์๋ ์ง์ ์ค์ตํด๋ณด์. SELECT AVG(score) FROM t..

์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 10. ์กฐ์ธ (๋จ์ ์กฐ์ธ, ์ธ๋ถ ์กฐ์ธ, ๋ค์ค ์กฐ์ธ ๋ฑ SQL ์กฐ์ธ ์์ ) -- ์ค์ต์ ์ํ ํ ์ด๋ธ๋ค์ ๋ง๋ค์ด ๋ณด์ CREATE TABLE tCar ( car VARCHAR(30) NOT NULL,-- ์ด๋ฆ capacity INT NOT NULL,-- ๋ฐฐ๊ธฐ๋ price INT NOT NULL,-- ๊ฐ๊ฒฉ maker VARCHAR(30) NOT NULL-- ์ ์กฐ์ฌ ); INSERT INTO tCar (car, capacity, price, maker) VALUES ('์๋ํ', 2000, 2500, 'ํ๋'); INSERT INTO tCar (car, capacity, price, make..

์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 9. ์๋ธ์ฟผ๋ฆฌ (์๋ธ์ฟผ๋ฆฌ ์ฐ์ฐ์, ์ธ๋ผ์ธ ๋ทฐ, ํ ์ด๋ธ ์กฐํฉ, ํ ์ด๋ธ ๋ณํฉ) -- MAX ๊ฐ์ ์ฐ์ฐ์๋ ์ง๊ณ ์ฐ์ฐ์๋ผ๊ณ ๋ ํ๋ค. SELECT MAX(popu), name FROM tCity; SELECT name FROM tCity WHERE popu = MAX(popu); SELECT MAX(popu) FROM tCity; SELECT name FROM tCity WHERE popu = 974; SELECT name FROM tCity WHERE popu = (SELECT MAX(popu) FROM tCity); SELECT MAX(num) FROM tItem; SELECT item ..

์๋ ์์ , ์๊ธฐ๊ณ๋ฐ์๋ฅผ ์ข์ํ๋ ํ ์์ด๊ฐ ์ด์๋ต๋๋ค. ํํ '์ถฉ'์ด๋ผ๋ ๊ธ์๊ฐ ๋ถ๋ ๋จ์ด๋ ์ข์ ๋ป์ผ๋ก ์ฐ์ด์ง ์๋๋ค๊ณค ํ์ง๋ง, ์ฌ์ค ๋๋ ๊ฐ์ฑ๋น์ถฉ์ด๋ค. ๋๋ก ์ง๊ทธ๋ฌ์ธ ์ ๋๋ก. ๊ทธ๋์ ๊ทธ๋ฐ์ง ๋ชฐ๋ผ๋, ์ด๋ ธ์ ์ ๋ถํฐ ์๊ธฐ๊ณ๋ฐ์์ ๋ช ์ธ์ง์ ์ข์ํ๋ค. ์๋ํ๋ฉด ๋ช ์ธ์ ์์ถ์ ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ๋๋ต์ ์ผ๋ก ์์ค -> ์์ธ์ด -> ๊ธฐ์ ์์ /์๊ธฐ๊ณ๋ฐ์ -> ๋๊ธฐ๋ถ์ฌ ์์ -> ๋ช ์ธ ์์ผ๋ก ํจ์ถ์ฑ์ด ์ฌ๋ผ๊ฐ๋ค. ์ด๋ป๊ฒ ํํํ๋์ง์ ์ด๋ป๊ฒ ์ ๋ฌ๋ ฅ์ ๋์ด๋์ง์ ์ฐจ์ด๊ฐ ์์ ๋ฟ, ํต์ฌ ๋ฉ์์ง๋ ๊ฐ๋จํ๊ณ ๋น์ทํ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ๊ทธ๋ฌ๋ ์ธ๋ฐ์์ด ์๊ฐ์ ์์๋ถ์ด ๊ฐ์ ๋ด์ฉ์ ํ์ ํ๊ธฐ๋ณด๋ค, ์งง์ ํ ์ค์ ๋ฌธ๊ตฌ๋ก ์ถ์ ์งํ๋ฅผ ์ป์ด๊ฐ๋๊ฒ ๋ซ์ง ์์๊ฐ. ๊ทธ๋ฐ ์๊ฐ์ ํ๋ฉฐ ๋๋ก ๋ช ์ธ์ง๊ณผ ์ ์ธ์ง์ ํ์ฌํ๊ธฐ๋ ํ๋ค. ๊ทธ๋ฐ ์ธ๊ตฌ๋ ค ์ฑ ์ ์ฝ์ง ๋ง๊ณ ..

์๋์ฐ API ํ๋ก๊ทธ๋๋ฐ 10 : ๋ฐฑ๋ฒํผ์ ํฝ ๋ฉ์์ง ๋ฐฑ ๋ฒํผ๋ ํ๋ฉด์ ๊ทธ๋ ค์ง๋ ๋ฒํผ์ ๋ฐ๋ก ๋ ๋๋ฅผ ์ด ๊ฒฝ์ฐ ๋ฒํผ๊ฐ ์ง์์ง๋ ์๊ฐ ๋๋ ๋ฒํผ์ ์ ์ฒด๊ฐ ๋ค ๊ทธ๋ ค์ง๊ธฐ ์ ์ ํ๋ฉด์ ๊ทธ๋ ค์ง๊ธฐ ์ ์ ํ๋ฉด์ ๊ทธ๋ ค์ง ๊ฒฝ์ฐ ๋ ๊ทธ๋ ค์ง ๋ถ๋ถ์ด ํ๋ฉด์์ ์ ๊น ์ง์์ง ์ํ๊ฐ ๋๊ธฐ ๋๋ฌธ์ ๊น๋นก์ด๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ํ์์ด ์๊ธด๋ค. ์ด๋, ๋ฐฑ ๋ฒํผ๋ฅผ ์์ฑํ์ฌ ๋ฐฑ ๋ฒํผ์ ๋ชจ๋ ๋ด์ฉ์ ๊ทธ๋ฆฌ๊ณ ๋ฐฑ ๋ฒํผ๋ฅผ ํ๋ฉด์ ๋ ๋ํ๋ ๋ฐฉ์์ผ๋ก ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. ๋ฐฑํผํผ์ ํฝ ๋ฉ์์ง ๊ธฐ์กด์๋ WM_TIMER๋ฅผ ์ด์ฉํ์ฌ ์ ๋ฐ์ดํธ๋ฅผ ์ฒ๋ฆฌํ์ง๋ง ์ด๋ ๋ชจ๋ ๋ฉ์์ง ์ค์์ ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋ฎ๊ณ ์ต๋ ์๋๊ฐ 0.01์ด์ด๋ค. ์ด๋ฅผ ๊ทน๋ณตํ๊ณ cpu ์ฑ๋ฅ์ ์ ๋๋ก ํ์ฉํ๊ธฐ ์ํด ํฝ ๋ฉ์์ง๋ฅผ ์ฌ์ฉํ๋ค! HDC hdc = GetDC(g_hWnd); g_hDC..

์๋์ฐ API ํ๋ก๊ทธ๋๋ฐ 9 : ํค๋งค๋์ (ํค ์ ๋ ฅ ๋ฐ๊ธฐ), bitset ์์ ์ด๋ฒ ๊ธ์์๋ ์ฑ๊ธํค ํจํด์ ์ด์ฉํด์ ํค ์ ๋ ฅ์ ๋ฐ๋ ๋ฐฉ๋ฒ๊ณผ ๊ฐ๋จํ bitset ๋ฉ์๋๋ฅผ ์ด์ฉํด ๋ณด๊ฒ ๋ค. SingletonBase.h ๋จผ์ , ์ฑ๊ธํค ํด๋์ค๋ฅผ ์ด์ฉํ ํ ํ๋ฆฟ ํด๋์ค์ธ SingletonBase.h๋ฅผ ์ ์ํด ๋ณด์๋ค. #pragma once /* ์ฑ๊ธํค ํจํด : ๋จ์ผ ๊ฐ์ฒด ๊ด๋ฆฌ ๋ฐฉ๋ฒ - ์ธ์คํด์ค๋ฅผ ํธ์ถ ์ ์ฒ์ ํธ์ถ ํ๋ ๊ฒฝ์ฐ ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ ์์ฑ ๋ ์ธ์คํด์ค๋ฅผ ๋ฐํ ํ๋ค. - ์ธ์คํด์ค๋ฅผ ํธ์ถ ์ ์ด์ ์ ํธ์ถ๋์ด ์์ฑ์ด ๋์ด ์๋ ๊ฒฝ์ฐ ๊ทธ ์์ฑ ๋์ด ์๋ ์ธ์คํด์ค๋ฅผ ๋ฐํ ํ๋ค. ํ ํ๋ฆฟ(Template, ํํ) : ํจ์ ๋๋ ํด๋์ค๋ฅผ ๋ง๋ค์ด ๋ด๊ธฐ ์ํ ํ - ์ ํด์ง์ง ์์ ์๋ฃํ์ ๋ํ ์ ์ธ์ ํ ํ๋ฆฟ์ ์ฌ์ฉํ์ฌ ํ๊ณ ..