Recent posts

dynamic ํ‚ค์›Œ๋“œ

August 21 2021

๋™์  ํ˜•์‹ dynamic ๋ณ€์ˆ˜ ๋ฐ ํ•ด๋‹น ๋ฉค๋ฒ„์— ๋Œ€ํ•œ ์ฐธ์กฐ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ปดํŒŒ์ผ ํƒ€์ž„ ๊ฒ€์‚ฌ๋ฅผ ํŒจ์‹ฑ ๋Ÿฐํƒ€์ž„์—์„œ ํ™•์ธ ๋Œ€๋ถ€๋ถ„์˜ ์ƒํ™ฉ์—์„œ object ์ฒ˜๋Ÿผ ๋™์ž‘ ๊ทธ๋Ÿฌ๋‚˜ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ˜•์‹์„ ๊ฒ€์‚ฌํ•˜์ง€ ์•Š์€ ์ƒํƒœ ์ปดํŒŒ์ผ ํƒ€์ž„์„ ๊ฑฐ์น˜๋ฉฐ object ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ ๋Ÿฐํƒ€์ž„์—์„œ dynamic...

map vs. unordered_map

August 20 2021

map ๋ ˆ๋“œ ๋ธ”๋ž™ ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰์†๋„๊ฐ€ ๋น ๋ฅธ Binary Search Tree(BST) + Self-Balancing ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ O(logN)์„ ๋ณด์žฅํ•˜๋Š” ์ˆ˜์ค€์œผ๋กœ Balancing ํ‚ค ๊ฐ’์˜ ๋ถ„ํฌ๊ฐ€ ๊ณ ๋ฅด์ง€ ๋ชปํ•  ๊ฒฝ์šฐ node rotation์— ๋Œ€ํ•œ ๋น„์šฉ์ด ๊ณ„์† ๋ฐœ์ƒํ•˜๊ธฐ์— Insert / Delete ์„ฑ๋Šฅ์ด...

Gizmo

August 11 2021

Gizmo ์”ฌ ๋ทฐ์—์„œ ํŽธ์ง‘์ด๋‚˜ ๋””๋ฒ„๊น…์„ ์œ„ํ•ด ์˜ค๋ธŒ์ ํŠธ์˜ ์œ„์น˜๋‚˜ ๋ฒ”์œ„, ํŠน์ • ์š”์†Œ๋ฅผ ๊ฐ€์‹œํ™”

์™œ Lua๋ฅผ ์“ฐ๋Š”๊ฐ€

August 11 2021

Lua ์Šคํฌ๋ฆฝํŠธ ์ ˆ์ฐจ์‹ ๋ช…๋ น์‹ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด ๊ฐ„๋‹จํ•œ ์ž๋ฃŒ๊ตฌ์กฐ : boolean, number, string, table ํ•ต์‹ฌ ๋ชจ๋“ˆ์˜ ํฌ๊ธฐ๊ฐ€ 120KB ์ดํ•˜ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์— ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” Python์— ๋น„ํ•ด ๋น ๋ฅธ ์‹คํ–‰ ์†๋„๋ฅผ ๊ฐ€์ง ์˜คํ”ˆ์†Œ์Šค

PP vs. OOP vs. DOP

August 11 2021

Procedural Programing (์ ˆ์ฐจ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ) ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ํ•จ์ˆ˜ํ™” ๋˜์–ด ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌ ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด๊ฐ€ ์œ ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐ ์žฅ์  ์ปดํ“จํ„ฐ์˜ ์ฒ˜๋ฆฌ๊ตฌ์กฐ์™€ ์œ ์‚ฌํ•ด ์‹คํ–‰์†๋„๊ฐ€ ๋น ๋ฆ„ ๋‹จ์  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ค์›€ ์‹คํ–‰ ์ˆœ์„œ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์œผ๋ฏ€...

Event Queue

August 04 2021

Event ํ•œ object์— ์˜ํ•ด ์–ด๋–ค action์ด ๋ฐœ์ƒํ–ˆ์Œ์„ ์•Œ๋ฆฌ๋Š” notification .NET์—์„œ๋Š” observer design pattern์„ ์‚ฌ์šฉ

Texture ์‚ฌ์ด์ฆˆ

July 30 2021

Texture ์‚ฌ์ด์ฆˆ๋ฅผ 2์˜ ์ œ๊ณฑ์ˆ˜๋กœ ์„ธํŒ…ํ•˜๋Š” ์ด์œ  ์˜ค๋Š˜๋‚  ๋Œ€๋ถ€๋ถ„์˜ GPU๋Š” ์ด๋Ÿฌํ•œ ์ œ์•ฝ์œผ๋กœ๋ถ€ํ„ฐ ์ž์œ ๋กญ๋‹ค (NPOT) RAM์„ ์‚ฌ์šฉํ•  ๋•Œ NPOT ์ด๋ฏธ์ง€๋Š” ๊ทธ๋ณด๋‹ค ํฐ ์‚ฌ์ด์ฆˆ์˜ POT๋กœ ํ™•์žฅ๋œ๋‹ค ์ด ๊ณผ์ •์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋‚ญ๋น„๋œ๋‹ค ํ™•์žฅ๋œ ์‚ฌ์ด์ฆˆ๋งŒํผ ๊ฐ€์žฅ์ž๋ฆฌ์— edging artifact๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค ...

inline ํ‚ค์›Œ๋“œ

July 14 2021

ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋น„์šฉ ํ•จ์ˆ˜ ํ˜ธ์ถœ๋  ๋•Œ๋งˆ๋‹ค ์ผ์ •๋Ÿ‰์˜ ์„ฑ๋Šฅ ์˜ค๋ฒ„ํ—ค๋“œ ๋ฐœ์ƒ CPU๊ฐ€ ๋‹ค๋ฅธ ๋ ˆ์ง€์Šคํ„ฐ์™€ ํ•จ๊ป˜ ์‹คํ–‰ ์ค‘์ธ ํ˜„์žฌ ๋ช…๋ น์–ด์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•ด์•ผ ํž˜ ๋‚˜์ค‘์— ๋ฐ˜ํ™˜ํ•  ์œ„์น˜๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ๋ชจ๋“  ํ•จ์ˆ˜ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑ ์ƒˆ ์œ„์น˜๋กœ ๋ถ„๊ธฐํ•˜๊ธฐ ๋ณด๋‹ค ๋‚ด๋ถ€ ์ž‘์„ฑ ์ฝ”๋“œ(์ธ์Šคํ„ดํŠธ ์ฝ”๋“œ)๊ฐ€ ๋” ๋น ๋ฆ„

Callback

July 14 2021

Callback ํ•จ์ˆ˜ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ๋‹ค๋ฅธ ๋ชจ๋“ˆ์—์„œ ํ˜ธ์ถœ๋  ํ•จ์ˆ˜๋ฅผ ์•Œ๋ ค์ฃผ๊ณ , ๊ทธ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ผ๋ฐ˜์ ์œผ๋กœ OS๊ฐ€ ํ˜ธ์ถœํ•  ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•จ์ˆ˜๋ฅผ ์ง€์ •ํ•ด ํŠน์ •ํ•œ ์‚ฌ๊ฑด / ๋ฉ”์„ธ์ง€๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํ˜ธ์ถœํ•˜๋„๋ก ์ง€์ • ์ผ๋ฐ˜ ํ•จ์ˆ˜ ํ˜ธ์ถœ ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„์˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์‚ฌ์šฉ ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ํ˜ธ์ถœ ...

dll๊ณผ lib์˜ ์ฐจ์ด

July 07 2021

์ •์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(Static Link Library) ํ•„์š”ํ•œ ํ•จ์ˆ˜๋ฅผ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์— ๋ถ™์—ฌ ์ปดํŒŒ์ผ ์‹œ ํ”„๋กœ๊ทธ๋žจ ์ž์ฒด์—์„œ ์ฐธ์กฐ (Compile-Time) lib ํŒŒ์ผ์€ ํ•˜๋‚˜์˜ ๊ฑฐ๋Œ€ํ•œ ํŒŒ์ผ์ด ์ƒ์„ฑ ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋–จ์–ด์ง ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—…๋ฐ์ดํŠธ ์‹œ ์ƒˆ๋กœ์šด ๋ฒ„์ „์œผ๋กœ ์ž‘์„ฑ ๋‹ค๋ฅธ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์‚ฌ์šฉ ๋ถˆ๊ฐ€ ํ•˜์ง€๋งŒ ๋ฒ„์ „ ...