Recent posts

[C#] default

June 14 2021

default ์—ฐ์‚ฐ์ž default ํ‚ค์›Œ๋“œ๋Š” ํ•ด๋‹น ๋ณ€์ˆ˜ ํƒ€์ž…์˜ ๊ธฐ๋ณธ ๋˜๋Š” ๋นˆ ์ƒํƒœ๋ฅผ ๋ฐ˜ํ™˜ ์ฐธ์กฐ ํ˜•์‹(class, delegate, โ€ฆ)์˜ default ๊ฐ’: null ๊ฐ’ ํ˜•์‹ (struct, enum, โ€ฆ)์˜ default ๊ฐ’: all-zeroes value int 0, DateTime 0001-01-01 00:00:0...

[C#] Blittable๊ณผ Unblittable

June 14 2021

Managed vs. Unmanaged Code Unmanaged code๋ž€ ์ปดํ“จํ„ฐ ๊ตฌ์กฐ, ํ”„๋กœ์„ธ์„œ์— ํŠนํ™”๋˜์–ด ๊ทธ์— ์˜์กดํ•˜๋Š” ์ฝ”๋“œ C#์—์„œ๋Š” unsafe ํ‚ค์›Œ๋“œ๋ฅผ ์ด์šฉํ•˜๋Š” ์ฝ”๋“œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์— ์˜ํ•ด ์ง์ ‘ ๊ด€๋ฆฌ Managed code๋ž€ .NET ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ๊ตฌ๋™ํ•˜๋Š” C# ์ฝ”๋“œ ์ž์ฒด ...

[C#] lock

June 04 2021

lock ํ‚ค์›Œ๋“œ ๊ฐœ์ฒด์— ๋Œ€ํ•œ ๋ฎคํ…์Šค๋ฅผ ํš๋“ํ•˜๊ณ  signal๊ณผ unlock์„ ์‹คํ–‰

[Unity] DontDestroyOnLoad

June 03 2021

DontDestroyOnLoad ์ƒˆ๋กœ์šด Scene์ด ๋กœ๋“œ๋  ๋•Œ, ์ž๋™์œผ๋กœ ํŒŒ๊ดด๋˜์ง€ ์•Š๋Š” target ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ƒ์„ฑ ์ƒˆ ๋ ˆ๋ฒจ์ด ๋กœ๋“œ๋˜๋ฉด Scene์˜ ๋ชจ๋“  ์˜ค๋ธŒ์ ํŠธ๋“ค์€ ํŒŒ๊ดด๋˜๊ณ , ์ƒˆ ๋ ˆ๋ฒจ์˜ ์˜ค๋ธŒ์ ํŠธ๋“ค์ด ๋กœ๋“œ๋œ๋‹ค. ๋ ˆ๋ฒจ ์Šค์œ„์น˜ ์ค‘์— ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋ณด์กดํ•˜๊ธฐ ์œ„ํ•ด DontDestroyOnLoad ์‚ฌ์šฉ ํ•ด๋‹น ์˜ค๋ธŒ์ ํŠธ๊ฐ€ component์ด๊ฑฐ๋‚˜ gam...

[C#] sealed

March 16 2021

sealed ํ‚ค์›Œ๋“œ ํด๋ž˜์Šค์— ์ ์šฉ๋œ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ํด๋ž˜์Šค๊ฐ€ ํ•ด๋‹น ํด๋ž˜์Šค์—์„œ ์ƒ์†ํ•˜๋Š” ๊ฒƒ์„ ๋ง‰์Œ

[C#] unsafe

March 15 2021

C# ํฌ์ธํ„ฐ C# ๋Œ€๋ถ€๋ถ„์˜ ์ฝ”๋“œ๋Š” ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์•ˆ์ „ํ•œ ์ฝ”๋“œ .Net ๋„๊ตฌ์—์„œ ์ฝ”๋“œ๊ฐ€ ์•ˆ์ „ํ•œ์ง€ ํ™•์ธ ๊ฐ€๋Šฅ ์›์‹œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜์ง€ ์•Š๊ณ , ํฌ์ธํ„ฐ๋กœ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ์— ์—‘์„ธ์Šคํ•˜์ง€ ์•Š์Œ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์•ฑ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ ํฌ์ธํ„ฐ๊ฐ€ ํ•„์š”ํ•œ ๋„ค์ดํ‹ฐ๋ธŒ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ ํ•„์ˆ˜ ๋ณด์•ˆ ๋ฐ ์•ˆ์ „์„ฑ ์ด์Šˆ ๋ฐœ์ƒ...

[C#] async์™€ await

March 12 2021

๋™๊ธฐ์™€ ๋น„๋™๊ธฐ ๋™๊ธฐ ์–ด๋–ค operation์„ ์‹คํ–‰์‹œ์ผฐ์„ ๋•Œ ๊ฒฐ๊ณผ๊ฐ’์ด ๋„์ถœ๋  ๋•Œ๊นŒ์ง€ ํ”„๋กœ๊ทธ๋žจ์€ ๋ฉˆ์ถฐ์„œ ๊ธฐ๋‹ค๋ ค์•ผ ํ•จ ๋น„๋™๊ธฐ ์–ธ์ œ ๊ฐ’์ด ๋„์ถœ๋  ์ง€ ๋ณด์žฅํ•  ์ˆ˜ ์—†๊ณ , ๊ทธ ๋™์•ˆ ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ async / await๋Š” ์œ„ ์ค‘ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•ด ์‚ฌ...

[C#] Extension Method

March 08 2021

ํ™•์žฅ ๋ฉ”์„œ๋“œ๋ž€ ๊ธฐ์กด ์ œ๊ณต๋˜๋Š” ํด๋ž˜์Šค/๊ตฌ์กฐ์ฒด/์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ตฌํ˜„์„ ์ง์ ‘ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•ด ์‚ฌ์šฉ ๊ธฐ์กด ๋ฐ์ดํ„ฐ ํƒ€์ž… (int, float ๋“ฑ)์˜ class์—๋„ ์ ์šฉ ๊ฐ€๋Šฅ

[Unity] Image Compressing

March 04 2021

์ด๋ฏธ์ง€ ์••์ถ• PNG/JPG ๋“ฑ์œผ๋กœ ์••์ถ•ํ–ˆ๋”๋ผ๋„ GPU ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•  ๋•Œ๋Š” ์••์ถ•์ด ํ’€๋ฆฐ ์ƒํƒœ๋กœ ์ €์žฅ GPU๊ฐ€ ์ด ํŒŒ์ผ์„ ๊ทธ๋Œ€๋กœ ์ฝ์–ด๋“ค์ผ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ ๋Œ€์—ญํญ ์‚ฌ์šฉ๋Ÿ‰์— ์ดˆ์ ์„ ๋งž์ถ˜ ํŒŒ์ผ ํ˜•์‹ GPU๊ฐ€ ํ…์Šค์ณ๋กœ ์“ฐ๊ธฐ ์œ„ํ•œ ์••์ถ• ํ˜•์‹์ด ์•„๋‹˜ ๊ฐ€๋ณ€ ๋น„์œจ ์ธ์ฝ”๋”ฉ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ ...