๋ชฉ๋ก์ ์ฒด ๊ธ (1099)
KoreanFoodie's Study
์๋์ฐ API ํ๋ก๊ทธ๋๋ฐ 3 : ํค ์ ๋ ฅ๊ณผ ๊ฒ์ ์ ๋ฐ์ดํธ ์ด๋ฒ ๊ธ์์๋ WIM_KEYDOWN์ ํตํ ํค ์ ๋ ฅ์ ๋ํด ์์๋ณด๋๋ก ํ๋ค. ํค ์ ๋ ฅ ์ฒ๋ฆฌํ๊ธฐ case WM_CREATE:// ํ๋ก๊ทธ๋จ์ด ์คํ ๋ ๋ ํ๋ฒ ํธ์ถ ๋๋ค. (์ด๊ธฐํ) SetTimer(hWnd, 1, 10, NULL); break; case WM_TIMER:// ํ์ด๋จธ์ ์ํด์ ํธ์ถ InvalidateRect(hWnd, NULL, true); break; case WM_KEYDOWN:// ํค ์ ๋ ฅ์ด ์์ ๋ ๋ง๋ค ํธ์ถ ๋๋ค. switch (wParam) { // ์ผํญ์ (์กฐ๊ฑด) ? ์ฐธ์ผ ๋ : ๊ฑฐ์ง์ผ ๋ case 'A': case VK_LEFT: ptPos.x -= (ptPos.x > 0) ? 1 : 0; break; case 'D': ..
์๋์ฐ API ํ๋ก๊ทธ๋๋ฐ 1 : ์ฐฝ ์์ฑ ๋ฐ ๊ธฐ๋ณธ ์ธํ ๋จผ์ ๋น์ฃผ์ผ ์คํ๋์ค(2019)์์ Windows ๋ฐ์คํฌํ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ์. ๊ทธ๋ผ ์๋์ ๊ฐ์ ์์ผ๋ก ํ๋ก์ ํธ๊ฐ ์์ฑ๋๋๋ฐ, ์ด์ค framework.h, WindowsProject1.cpp ํ์ผ์ด ์๋ ์์ฑ๋๊ณ , ์ด ๋ถ๋ถ์ ๊ณ ์น๋ฉด์ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ค. framwork.h ํ์ผ์ ํค๋ ํ์ผ์ด๋ ๋งคํฌ๋ก ์ ์ธ, ๋ณ๊ฒฝ์ด ๊ฑฐ์ ์๋ ๋ณ์ ๋ฑ์, WindowsProject1.cpp ํ์ผ์์๋ ํ์ด๋จธ๋ ํ์ธํ ์ ํฌํจํ๊ณ ์๋ค. framework.h // header.h: ํ์ค ์์คํ ํฌํจ ํ์ผ // ๋๋ ํ๋ก์ ํธ ํน์ ํฌํจ ํ์ผ์ด ๋ค์ด ์๋ ํฌํจ ํ์ผ์ ๋๋ค. // #pragma once #include "targetver.h" #define WIN..
๊ฒฝ์ ์ ์์ ๋ฅผ ์ํด ์ฝ๊ณ ์ ๋ฆฌํ ๊ธ๋ค์ ์ ๋ฆฌํ ํฌ์คํ ์ ๋๋ค. ์ฌํ ํฌ, ๋ถ์ํ, ๊ฒฝ์ ์ ์์ , ์์ฐ ๊ด๋ฆฌ, ๋ ๊ด๋ฆฌ, ์ ์ถ, ์ฃผ์, ๋ถ๋์ฐ, ํฌ์ ๋ฑ์ ๊ด์ฌ์ด ๋ง์ ๋ถ๋ค๊ป ๋์์ด ๋์์ผ๋ฉด ํฉ๋๋ค. ์ฑ ์ ๊ฒฝ์ฐ, ์ก๊ธฐ์ค๋ง ๋ฝ์์ ์ ๋ฌํด ๋๋ฆฌ๋ ค๊ณ ๋ ธ๋ ฅํ์ต๋๋ค. ์ ํน์ ๋น ์ง์ง ๋ง๋ผ. 1. ๊ณ ์์ต์ ์ ํน - ๋๊ตฌ๋ ์์ ์ ๋์ด ๋ถ์ด๋๊ธธ ๋ฐ๋๋ค 2. ๊ณผ์๋น์ ์ ํน - ๋จ๋ค๊ณผ ์์ ์ด ๋ค๋ฅด๋ค๋ ๊ฒ์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ดํ๋ค 3. ๊ฒ์ผ๋ฆ์ ์ ํน - ๋ ๋ง ์๊ฒ ์ ์ฌ์ ์ ์ธ ์ด๋ ค์์ ์ง์ , ๊ฐ์กฑ, ๊ฐ์ธ์ ์์ญ ์ ๋ฐ์ ๊ทธ๋์ง๊ฒ ํ๋ค. ๋ ๊ฑฑ์ ์ ์ฌ๋ฅ, ์ฉ๊ธฐ, ์ ์ฌ๋ ฅ์ ๊ฐ์๋จน๋๋ค. ๋์ ์ง์ฐฉํ๋ฉด, ๋์ ์ข์ผ๋ฉด ๋์ ๋๋ง๊ฐ๋ค. ์ง์ ํ ๋ถ์๋ ๋์ ์ง์ฐฉํ์ง ์๋๋ค. ๋์ ์ฌ๋์ ๋์์ด ์๋๋ผ ์ฒ ์ ํ๊ณ ๋์ ํ๊ฒ ๊ด๋ฆฌ๋์ด์ผ ํ ๋์์ด๋ค. ์ํ..
์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 8. ๋ชจ๋ธ๋ง (์ ๊ทํ, ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ, ์ผํ๋ชฐ ๋ชจ๋ธ๋ง) -- tProject ํ ์ด๋ธ์์ UPDATE ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ค. UPDATE tProject SET ๋ด๋น์='๋ฌธ์ข ๋ฏผ' WHERE ํ๋ก์ ํธ='TV ๊ด๊ณ ๊ฑด'; SELECT ํ๋ก์ ํธ๋ช FROM tProject WHERE ๋ด๋น์ = '๊น์ํ'; CREATE TABLE tEmployee ( name CHAR(10) PRIMARY KEY, salary INT NOT NULL, addr VARCHAR(30) NOT NULL ); INSERT INTO tEmployee VALUES ('๊น์ํ', 650, '์ด์ฒ์'); INSERT INTO tEmp..
์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 7. ์ ์ฝ(์ ์ฝ, ๊ธฐ๋ณธํค, ์ํ์ค) ์ปฌ๋ผ ๋ฌด๊ฒฐ์ฑ : ์ปฌ๋ผ ํ๋์ ์ ์ฅ๋๋ ์์์ ์ธ ๊ฐ์ ์ ๊ฒ(๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ). ํ์ ์ง์ , ๋ ํ์ฉ ์ฌ๋ถ, ์ฒดํฌ, ๊ธฐ๋ณธ๊ฐ ๋ฑ์ ์ ์ฝ์ด ์๋ค. ์ํฐํฐ ๋ฌด๊ฒฐ์ฑ : ๋ ์ฝ๋๋ผ๋ฆฌ ์ค๋ณต๊ฐ์ ๊ฐ์ง์ง ์๋๋ก ํ์ฌ ์ ์ผํ ์๋ณ์๋ฅผ ๊ด๋ฆฌํ๋ค. ๊ธฐ๋ณธํค์ ์ ๋ํฌ ์ ์ฝ์ด ์๋ค. ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ : ํ ์ด๋ธ๊ฐ์ ๊ด๊ณ๋ฅผ ๊ตฌ์ฑํ๋ ํค๊ฐ ํญ์ ์ ํจํ๋๋ก ๊ด๋ฆฌํ๋ฉฐ ์ธ๋ํค ์ ์ฝ์ผ๋ก ๊ด๋ฆฌํ๋ค. ์ด์ชฝ ํ ์ด๋ธ์ด ์ฐธ์กฐํ๋ ์ ๋ณด๊ฐ ์ ์ชฝ ํ ์ด๋ธ์ ๋ฐ๋์ ์กด์ฌํด์ผ ํ๋ค. -- ํ๋ฒํ ๋ฐ์ดํฐ ์ฝ์ ... INSERT INTO tCity VALUES ('ํ์','์์ฒญ ๋์','๊ฝค ๋ง์๊ฑธ','n','์กฐ์ ์ธ๋ฏผ๋ฏผ์ฃผ..
์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 6. ๋ฐ์ดํฐ ๊ด๋ฆฌ(์ฝ์ , ์ญ์ , ๊ฐฑ์ ) -- INSERT INTO ๊ตฌ๋ฌธ์ ์ด์ฉํด ํ์ ์ถ๊ฐํ ์ ์๋ค. ์ด๋ ๋ฐ์ดํฐ ํ์์ ๋ง์ถฐ์ฃผ์ด์ผ ํ๋ค. INSERT INTO tCity (name, area, popu, metro, region) VALUES ('์์ธ', 605, 974, 'y', '๊ฒฝ๊ธฐ'); -- VALUES๋ฅผ ๋ฐ๋ก ์จ์ค๋ ๋๋ค. INSERT INTO tCity VALUES ('์์ธ', 605, 974, 'y', '๊ฒฝ๊ธฐ'); INSERT INTO tCity VALUES ('ํํ', 453, 51, 'n', '๊ฒฝ๊ธฐ'); INSERT INTO tCity VALUES ('ํํ', 51..
์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 5. ๋ฐ์ดํฐ ์ง๊ณ (์ง๊ณํจ์, ๊ทธ๋ฃนํ) -- ์ ์ฒด ํ์ ๊ฐฏ์๋ฅผ ์ถ๋ ฅ SELECT COUNT(*) FROM tStaff; SELECT COUNT(*) AS "์ด ์ง์์" FROM tStaff; -- WHERE์ ๋ก ์กฐ๊ฑด์ ์ค ์ ์๋ค. SELECT COUNT(*) FROM tStaff WHERE salary >= 400; SELECT COUNT(*) FROM tStaff WHERE salary >= 10000; SELECT name FROM tStaff WHERE salary >= 400; -- ํน์ ์ด์ ๊ฐฏ์๋ฅผ ์ ์ ์๋ค. SELECT COUNT(name) FROM tStaff; SE..
์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 4. ๋ฐ์ดํฐ ์ฝ๊ธฐ(SELECT, ์กฐ๊ฑด๋ฌธ, ์ ๋ ฌ) -- ์ํ๋ ์ด๋ง ์ ํํด์ ๊ฐ์ ธ์ฌ ์ ์๋ค. SELECT name, area, popu, metro, region FROM tCity; SELECT * FROM tCity; -- AS๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก์ด ๋ณ๋ช ์ ๋ง๋ค์ด ์ค ์ ์๋ค. SELECT name AS ๋์๋ช , area AS "๋ฉด์ (์ ๊ณฑKm)", popu AS "์ธ๊ตฌ(๋ง๋ช )" FROM tCity; -- AS๋์ '='์ ํ์ฉํ์ฌ ๋ณ๋ช ์ ๋ถ์ฌ ์ค ์๋ ์๋ค. SELECT ๋์๋ช = name, area '๋ฉด์ (์ ๊ณฑKm)', popu [์ธ๊ตฌ(๋ง๋ช )] FROM tCity; -- ์ด์ ์ถ๋ ฅํ ..
์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 2. ํ ์ด๋ธ ์์ฑ๊ณผ ์ฝ์ -- ํ ์ด๋ธ ์์ฑ -- PRIMARY KEY๋ ํ ์ด๋ธ ๋ด์ ์ ์ผํ ํค๋ฅผ ์๋ฏธํ๋ค -- NOT NULL์ NULL๊ฐ์ด ๋ค์ด๊ฐ๋ฉด ์๋๋ ๊ฒ์ ๋ปํ๋ค CREATE TABLE tCity ( name CHAR(10) PRIMARY KEY, area INT NULL , popu INT NULL , metro CHAR(1) NOT NULL, region CHAR(6) NOT NULL ); -- ๋ฐ์ดํฐ ์ฝ์ INSERT INTO tCity VALUES ('์์ธ',605,974,'y','๊ฒฝ๊ธฐ'); INSERT INTO tCity VALUES ('๋ถ์ฐ',765,342,'y','..
SQL ์ฒซ๊ฑธ์์ด๋ผ๋ ์ฑ ์ ๋ณด๊ณ SQL์ ๋ํ ๊ธฐ์ด์ ์ธ ๋ด์ฉ์ ์ ๋ฆฌํ ๋ฆฌ๋ง์ธ๋ ๊ธ์ ๋๋ค. 3์ฅ : ์ ๋ ฌ๊ณผ ์ฐ์ฐ // ORDER BY๋ก ๊ฒ์ ๊ฒฐ๊ณผ ์ ๋ ฌํ๊ธฐ -> ํ ์ด๋ธ์ ์ํฅ์ ์ฃผ์ง ์๋๋ค SELECT * FROM sample31 ORDER BY age; // ๊ธฐ๋ณธ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ SELECT * FROM sample31 ORDER BY age DESC; // ๋ด๋ฆผ์ฐจ์ SELECT * FROM sample31 ORDER BY age ASC; // ์ค๋ฆ์ฐจ์ // ์์นํ๊ณผ ๋ฌธ์์ดํ ๋ฐ์ดํฐ๋ ๋์๊ด๊ณ์ ๊ณ์ฐ ๋ฐฉ๋ฒ์ด ๋ค๋ฆ // INTEGER : 1 < 2 < 10 < 11 ... // VARCHAR : 1 < 10 < 11 < 2 ... (ํ๊ธ์์ฉ ๋น๊ตํ๊ธฐ ๋๋ฌธ์ด๋ค) // ๋ณต์์ ์ด์ ์ง์ ํด ์ ๋ ฌ SELECT * ..