Notice
Recent Posts
Recent Comments
Link
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก2021/10 (49)

KoreanFoodie's Study

SQL ๊ธฐ์ดˆ - 11. ํ•จ์ˆ˜ (์Šค์นผ๋ผ ํ•จ์ˆ˜, ๋ฌธ์ž์—ด ํ•จ์ˆ˜, ๋ฐ์ดํ„ฐ ํƒ€์ž…, ๋‚ ์งœ์™€ ์‹œ๊ฐ„)

์ด ๊ธ€์€ '๊น€์ƒํ˜•์˜ SQL ์ •๋ณต'์˜ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ SQL ์ฟผ๋ฆฌ ์˜ˆ์ œ๋ฅผ ์†Œ๊ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. SQL ๊ธฐ์ดˆ - 11. ํ•จ์ˆ˜ (์Šค์นผ๋ผ ํ•จ์ˆ˜, ๋ฌธ์ž์—ด ํ•จ์ˆ˜, ๋ฐ์ดํ„ฐ ํƒ€์ž…, ๋‚ ์งœ์™€ ์‹œ๊ฐ„) ์‚ฌ์‹ค DBMS๋งˆ๋‹ค ํ•จ์ˆ˜๋„ ๋‹ค๋ฅด๊ณ  ์ข…๋ฅ˜๋„ ๋‹ค๋ฅด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ํ•จ์ˆ˜๋ฅผ ์ „๋ถ€ ์™ธ์šธ ํ•„์š”๋Š” ์—†๋‹ค. ๋Œ€๋žต์ ์œผ๋กœ ์–ด๋–ค ํ•จ์ˆ˜๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€๋ฅผ ํŒŒ์•…ํ•ด ๋‘” ํ›„, ํ•„์š”ํ•œ ํ•จ์ˆ˜๋ฅผ ๊ทธ๋•Œ ๊ทธ๋•Œ ์ฐพ์•„์„œ ์“ฐ๋Š” ๋ฐฉ์‹์ด ๋” ํšจ์œจ์ ์ผ ์ˆ˜๋„ ์žˆ๋‹ค! ์ด ๊ธ€์—์„œ๋Š” ์˜ค๋ผํด์„ ๊ธฐ์ค€์œผ๋กœ ์ž์ฃผ ๋‚˜์˜ค๋Š” ํ•จ์ˆ˜ ๋ชฉ๋ก์„ ์†Œ๊ฐœํ•˜๋ฉฐ, ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ์„ค๋ช…ํ•œ๋‹ค. ์ˆ˜์น˜ํ•จ์ˆ˜ ๋ฌธ์ž์—ด ํ•จ์ˆ˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… 1. ์ˆ˜์น˜ํ˜• 2. ๋ฌธ์žํ˜• 3. ๋‚ ์งœํ˜• 4. ANSI ํ‘œ์ค€ ํƒ€์ž… -- AVG, TRIM, ROUND ๋“ฑ์˜ ๊ฐ„๋‹จํ•œ ์—ฐ์‚ฐ์ž๋Š” ์ง์ ‘ ์‹ค์Šตํ•ด๋ณด์ž. SELECT AVG(score) FROM t..

Database 2021. 10. 19. 09:22
์‚ฌ๋ž‘์— ๊ด€ํ•˜์—ฌ #2 : ์„ ํƒ๋ฐ›๋Š” ๋‚จ์ž๋Š” ๋ฌด์—‡์ด ๋‹ค๋ฅด๊ธฐ์—

์˜›๋‚  ์˜›์ , ์ž๊ธฐ๊ณ„๋ฐœ์„œ๋ฅผ ์ข‹์•„ํ•˜๋˜ ํ•œ ์•„์ด๊ฐ€ ์‚ด์•˜๋‹ต๋‹ˆ๋‹ค. ํ”ํžˆ '์ถฉ'์ด๋ผ๋Š” ๊ธ€์ž๊ฐ€ ๋ถ™๋Š” ๋‹จ์–ด๋Š” ์ข‹์€ ๋œป์œผ๋กœ ์“ฐ์ด์ง€ ์•Š๋Š”๋‹ค๊ณค ํ•˜์ง€๋งŒ, ์‚ฌ์‹ค ๋‚˜๋Š” ๊ฐ€์„ฑ๋น„์ถฉ์ด๋‹ค. ๋•Œ๋ก  ์ง•๊ทธ๋Ÿฌ์šธ ์ •๋„๋กœ. ๊ทธ๋ž˜์„œ ๊ทธ๋Ÿฐ์ง€ ๋ชฐ๋ผ๋„, ์–ด๋ ธ์„ ์ ๋ถ€ํ„ฐ ์ž๊ธฐ๊ณ„๋ฐœ์„œ์™€ ๋ช…์–ธ์ง‘์„ ์ข‹์•„ํ–ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋ช…์–ธ์€ ์••์ถ•์ ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋Œ€๋žต์ ์œผ๋กœ ์†Œ์„ค -> ์—์„ธ์ด -> ๊ธฐ์ˆ ์„œ์ /์ž๊ธฐ๊ณ„๋ฐœ์„œ -> ๋™๊ธฐ๋ถ€์—ฌ ์˜์ƒ -> ๋ช…์–ธ ์ˆœ์œผ๋กœ ํ•จ์ถ•์„ฑ์ด ์˜ฌ๋ผ๊ฐ„๋‹ค. ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ•˜๋Š”์ง€์™€ ์–ด๋–ป๊ฒŒ ์ „๋‹ฌ๋ ฅ์„ ๋†’์ด๋Š”์ง€์˜ ์ฐจ์ด๊ฐ€ ์žˆ์„ ๋ฟ, ํ•ต์‹ฌ ๋ฉ”์‹œ์ง€๋Š” ๊ฐ„๋‹จํ•˜๊ณ  ๋น„์Šทํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ์“ธ๋ฐ์—†์ด ์‹œ๊ฐ„์„ ์Ÿ์•„๋ถ€์–ด ๊ฐ™์€ ๋‚ด์šฉ์„ ํŒŒ์•…ํ•˜๊ธฐ๋ณด๋‹ค, ์งง์€ ํ•œ ์ค„์˜ ๋ฌธ๊ตฌ๋กœ ์‚ถ์˜ ์ง€ํ˜œ๋ฅผ ์–ป์–ด๊ฐ€๋Š”๊ฒŒ ๋‚ซ์ง€ ์•Š์€๊ฐ€. ๊ทธ๋Ÿฐ ์ƒ๊ฐ์„ ํ•˜๋ฉฐ ๋•Œ๋ก  ๋ช…์–ธ์ง‘๊ณผ ์ž ์–ธ์ง‘์„ ํ•„์‚ฌํ•˜๊ธฐ๋„ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ ์‹ธ๊ตฌ๋ ค ์ฑ…์„ ์ฝ์ง€ ๋ง๊ณ ..

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 10 : ๋ฐฑ๋ฒ„ํผ์™€ ํ”ฝ ๋ฉ”์‹œ์ง€

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 10 : ๋ฐฑ๋ฒ„ํผ์™€ ํ”ฝ ๋ฉ”์‹œ์ง€ ๋ฐฑ ๋ฒ„ํผ๋Š” ํ™”๋ฉด์— ๊ทธ๋ ค์ง€๋Š” ๋ฒ„ํผ์— ๋ฐ”๋กœ ๋ Œ๋”๋ฅผ ์‚ด ๊ฒฝ์šฐ ๋ฒ„ํผ๊ฐ€ ์ง€์›Œ์ง€๋Š” ์ˆœ๊ฐ„ ๋˜๋Š” ๋ฒ„ํผ์— ์ „์ฒด๊ฐ€ ๋‹ค ๊ทธ๋ ค์ง€๊ธฐ ์ „์— ํ™”๋ฉด์— ๊ทธ๋ ค์ง€๊ธฐ ์ „์— ํ™”๋ฉด์— ๊ทธ๋ ค์งˆ ๊ฒฝ์šฐ ๋œ ๊ทธ๋ ค์ง„ ๋ถ€๋ถ„์ด ํ™”๋ฉด์—์„œ ์ž ๊น ์ง€์›Œ์ง„ ์ƒํƒœ๊ฐ€ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊นœ๋นก์ด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ํ˜„์ƒ์ด ์ƒ๊ธด๋‹ค. ์ด๋•Œ, ๋ฐฑ ๋ฒ„ํผ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ฐฑ ๋ฒ„ํผ์— ๋ชจ๋“  ๋‚ด์šฉ์„ ๊ทธ๋ฆฌ๊ณ  ๋ฐฑ ๋ฒ„ํผ๋ฅผ ํ™”๋ฉด์— ๋ Œ๋”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์œ„์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐฑํผํผ์™€ ํ”ฝ ๋ฉ”์‹œ์ง€ ๊ธฐ์กด์—๋Š” WM_TIMER๋ฅผ ์ด์šฉํ•˜์—ฌ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฒ˜๋ฆฌํ–ˆ์ง€๋งŒ ์ด๋Š” ๋ชจ๋“  ๋ฉ”์‹œ์ง€ ์ค‘์—์„œ ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ๊ณ  ์ตœ๋Œ€ ์†๋„๊ฐ€ 0.01์ดˆ์ด๋‹ค. ์ด๋ฅผ ๊ทน๋ณตํ•˜๊ณ  cpu ์„ฑ๋Šฅ์„ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ”ฝ ๋ฉ”์‹œ์ง€๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค! HDC hdc = GetDC(g_hWnd); g_hDC..

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 9 : ํ‚ค๋งค๋‹ˆ์ €(ํ‚ค ์ž…๋ ฅ ๋ฐ›๊ธฐ), bitset ์˜ˆ์ œ

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 9 : ํ‚ค๋งค๋‹ˆ์ €(ํ‚ค ์ž…๋ ฅ ๋ฐ›๊ธฐ), bitset ์˜ˆ์ œ ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์„ ์ด์šฉํ•ด์„œ ํ‚ค ์ž…๋ ฅ์„ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ฐ„๋‹จํ•œ bitset ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•ด ๋ณด๊ฒ ๋‹ค. SingletonBase.h ๋จผ์ €, ์‹ฑ๊ธ€ํ†ค ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•  ํ…œํ”Œ๋ฆฟ ํด๋ž˜์Šค์ธ SingletonBase.h๋ฅผ ์ •์˜ํ•ด ๋ณด์•˜๋‹ค. #pragma once /* ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด : ๋‹จ์ผ ๊ฐ์ฒด ๊ด€๋ฆฌ ๋ฐฉ๋ฒ• - ์ธ์Šคํ„ด์Šค๋ฅผ ํ˜ธ์ถœ ์‹œ ์ฒ˜์Œ ํ˜ธ์ถœ ํ•˜๋Š” ๊ฒฝ์šฐ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ƒ์„ฑ ๋œ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ ํ•œ๋‹ค. - ์ธ์Šคํ„ด์Šค๋ฅผ ํ˜ธ์ถœ ์‹œ ์ด์ „์— ํ˜ธ์ถœ๋˜์–ด ์ƒ์„ฑ์ด ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ๊ทธ ์ƒ์„ฑ ๋˜์–ด ์žˆ๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ ํ•œ๋‹ค. ํ…œํ”Œ๋ฆฟ(Template, ํ˜•ํŒ) : ํ•จ์ˆ˜ ๋˜๋Š” ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๊ธฐ ์œ„ํ•œ ํ‹€ - ์ •ํ•ด์ง€์ง€ ์•Š์€ ์ž๋ฃŒํ˜•์— ๋Œ€ํ•œ ์„ ์–ธ์„ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜๊ณ  ..

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 7 : ๊ฒŒ์ž„ ํ”„๋ ˆ์ž„์›Œํฌ ๊ตฌ์„ฑ

์œˆ๋„์šฐ API ํ”„๋กœ๊ทธ๋ž˜๋ฐ 7 : ๊ฒŒ์ž„ ํ”„๋ ˆ์ž„์›Œํฌ ๊ตฌ์„ฑ ์ง€๊ธˆ์€ ๊ฐ„๋‹จํ•œ ๊ฒŒ์ž„์ด๋‹ˆ๊นŒ WindowsProject1.cpp๋ผ๋Š” ๋‹จ์ผ ํŒŒ์ผ์— ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์ง€๋งŒ, ํ”„๋กœ๊ทธ๋žจ์ด ๋ณต์žกํ•ด์ง€๋ฉด ์‚ฌ์‹ค ํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ํ•„์š”ํ•œ ํŒŒ์ผ์— ๋ถ„ํ• ํ•ด์„œ ๊ตฌ์„ฑํ•ด์•ผ ํ•œ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์ด๋ฅผ ์œ„ํ•œ ๋ฐ‘์ž‘์—…์„ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€๋ฅผ ๋‹ค๋ฃจ๊ณ ์ž ํ•œ๋‹ค. GameNode : ๋จผ์ € ์Šค์ผˆ๋ ˆํ†ค ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์ž #pragma once class GameNode { public: GameNode(); ~GameNode(); virtual void Init() = 0; // ์ˆœ์ˆ˜ ๊ฐ€์ƒ ํ•จ์ˆ˜ virtual void Update() = 0; virtual void Render() = 0; }; ๋จผ์ € ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์œผ๋กœ Init, Update, Render๋ผ๋Š” ๊ฐ€์ƒ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ€์ง„..