์ „์ฒด ๊ธ€

Lv.7 (3.5-year) ๐Ÿ€
ยท Game Dev
๋ชจ๋“  UI ์˜ค๋ธŒ์ ํŠธ๋Š” Canvas ์˜ค๋ธŒ์ ํŠธ์˜ ์ž์‹ ์˜ค๋ธŒ์ ํŠธ์—ฌ์•ผ ํ•œ๋‹ค. Canvas๋Š” EventSystem ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง• ์‹œ์Šคํ…œ์„ ์ง€์›ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ EventSystem์ด ๊ผญ ํ•„์š”ํ•˜๋‹ค. Draw order of elements ์บ”๋ฒ„์Šค์˜ UI ์š”์†Œ๋Š” ํ•˜์ด์–ด๋ผํ‚ค์ฐฝ์— ๋“ฑ๋กํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ์ˆœ์„œ๋กœ ๋ฐฐ์น˜๋œ๋‹ค. UI์˜ ์•ž,๋’ค ๋ฐฐ์น˜๋ฅผ ๋ฐ”๊พธ๋ ค๋ฉด ํ•˜์ด์–ด๋ผํ‚ค ์ฐฝ์—์„œ UI ์˜ค๋ธŒ์ ํŠธ์˜ ์ˆœ์„œ๋ฅผ ๋ฐ”๊พธ๋ฉด ๋œ๋‹ค. ๋˜ํ•œ Transform ์ปดํฌ๋„ŒํŠธ์˜ ๋งค์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์Šคํฌ๋ฆฝํŠธ์—์„œ ์ˆœ์„œ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜๋„ ์žˆ๋‹ค. (SetAsFirstSibling, SetAsLastSibling, and SetSiblingIndex) Render Modes (1) Screen Space - Overlay ์”ฌ(scene)์˜ ๋งจ ์œ„์— ๋ Œ๋”๋ง๋œ ํ™”๋ฉด์— UI ..
ยท Game Dev
์„œ๋ก  ๋Œ€ํ™”๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๋„์ค‘์—, ์ƒˆ๋กœ์šด ํ‚ค์›Œ๋“œ๊ฐ€ ๋“ฑ์žฅํ•˜๋ฉด ํ™”๋ฉด์— ๋„์šฐ๋Š” ์ฝ”๋“œ์ด๋‹ค. ํ‚ค์›Œ๋“œ๊ฐ€ ๋“ฑ์žฅํ•  ๋•Œ, AppearKeyword() ์ฝ”๋ฃจํ‹ด์„ ์‹œ์ž‘ํ•˜๊ณ  ๋‚ด๋ถ€์—์„œ Dotween์„ ์ด์šฉํ•ด ํ‚ค์›Œ๋“œ๋ฅผ ๋„์› ๋‹ค. ๋ฌธ์ œ๋Š” 2๊ฐœ์˜ ํ‚ค์›Œ๋“œ๊ฐ€ ์—ฐ๋‹ฌ์•„ ๋‚˜์™”์„ ๋•Œ์ธ๋ฐ, AppearKeyword()๋ฅผ ๋‘ ๋ฒˆ ์—ฐ์†์œผ๋กœ ํ˜ธ์ถœํ•˜๋‹ค๋ณด๋‹ˆ ๋’ค์— ๋“ฑ์žฅํ•œ ํ‚ค์›Œ๋“œ๋งŒ ํ™”๋ฉด์— ๋ณด์ด๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๋•Œ๋ฌธ์— ์ฒซ๋ฒˆ์งธ๋กœ ํ˜ธ์ถœ๋œ ์ฝ”๋ฃจํ‹ด์ด ๋๋‚˜๋ฉด ๋‘๋ฒˆ์งธ ์ฝ”๋ฃจํ‹ด์„ ์‹คํ–‰ํ•˜๋„๋ก ํ•ด์•ผํ–ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์ฝ”๋ฃจํ‹ด ๋‚ด๋ถ€์—์„œ yield return์„ ์ด์šฉํ•ด ์ดํ›„์— ๋“ฑ์žฅํ•˜๋Š” ์ฝ”๋ฃจํ‹ด์„ ๋ฉˆ์ถ”๊ณ ์ž ํ•˜์˜€๋‹ค. ์˜ˆ๋ฅผ๋“ค๋ฉด ์ฝ”๋ฃจํ‹ด์ด ์ง„ํ–‰์ค‘์ผ ๋•Œ, isResting ๋ณ€์ˆ˜์˜ ๊ฐ’์ด false์ผ ๋™์•ˆ ๋ฉˆ์ถ˜๋‹ค๋˜์ง€ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ๋ณ„๊ฐœ์˜ ์ฝ”๋ฃจํ‹ด์„ ์ œ์–ดํ•˜๋Š”๊ฒŒ ์ƒ๊ฐ๋ณด๋‹ค ์‰ฝ์ง€ ์•Š์•˜๊ณ , ๋˜ 2๊ฐœ ์ด์ƒ์˜ ํ‚ค..
ยท More
git commit message convention example build Build related changes (eg: npm related/ adding external dependencies) ๋นŒ๋“œ ๊ด€๋ จ ๋ณ€๊ฒฝ ์‚ฌํ•ญ(์˜ˆ: npm ๊ด€๋ จ/์™ธ๋ถ€ ์ข…์†์„ฑ ์ถ”๊ฐ€) chore A code change that external user won't see (eg: change to .gitignore file or .prettierrc file) ์™ธ๋ถ€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณผ ์ˆ˜ ์—†๋Š” ์ฝ”๋“œ ๋ณ€๊ฒฝ(์˜ˆ: .gitignore ํŒŒ์ผ ๋˜๋Š” .pretierc ํŒŒ์ผ๋กœ ๋ณ€๊ฒฝ) -> ์“ธ๋ฐ์—†๋Š” ๊ฒƒ๋“ค ๋ณ€๊ฒฝ feat A new feature ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ fix A bug fix docs Documentation related changes ๋ฌธ์„œ..
ยท Game Dev
TMP Material ๋ณต์ œ TMP์˜ ์ธ์ŠคํŽ™ํ„ฐ์ฐฝ์—์„œ Material Preset์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. ์ธ์ŠคํŽ™ํ„ฐ์ฐฝ์˜ ์•„๋ž˜์— ์žˆ๋Š” Material ์„ ๋ณต์‚ฌ ํ•ด ์—ฌ๋Ÿฌ๊ฐœ์˜ Material์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ์ƒ‰์ƒ์˜ Glow๋ฅผ ์ ์šฉ์‹œํ‚จ Material์„ ์—ฌ๋Ÿฌ๊ฐœ ๋งŒ๋“ค์–ด๋‘์—ˆ๋‹ค. ๋จธํ„ฐ๋ฆฌ์–ผ์€ ์ธ์ŠคํŽ™ํ„ฐ์ฐฝ์—์„œ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. ์ฝ”๋“œ์—์„œ Material ๋ฐ”๊พธ๊ธฐ ์ธ์ŠคํŽ™ํ„ฐ ์ฐฝ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  Material์„ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ์—ˆ๋‹ค. ํ•„๋“œ ์„ค๋ช… ๋งค๊ฐœ๋ณ€์ˆ˜ name, dialog : string, ํ™”๋ฉด์— ๋„์šฐ๋Š” ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ์Œ _name : TextMeshProUGUI, name์˜ ๋‚ด์šฉ์„ ๋„์šฐ๋Š” TMP๋ฅผ ์ธ์ŠคํŽ™ํ„ฐ์ฐฝ์—์„œ _name์— ํ• ๋‹นํ•จ name๊ณผ ์ผ์น˜ํ•˜๋Š” Material์˜ ID๋ฅผ ์ฐพ๋Š”๋‹ค. ๋ณ€๊ฒฝํ•˜๊ณ ์ž ํ•˜๋Š” TMP์˜ ..
ยท More
๊นƒ ์ €์žฅ์†Œ ๋งŒ๋“ค๊ธฐ ๋จผ์ € hello-git ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“  ํ›„ ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•œ๋‹ค. ls -al ๋ช…๋ น์–ด๋กœ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์˜ ๋‚ด์šฉ์„ ์‚ดํŽด๋ณธ๋‹ค. ๋งˆ์นจํ‘œ๊ฐ€ ํ•˜๋‚˜(.)์ธ ํ•ญ๋ชฉ์€ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , ๋งˆ์นจํ‘œ๊ฐ€ ๋‘๊ฐœ(..)์ธ ํ•ญ๋ชฉ์€ ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. $ git init : ๊นƒ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ ์ด ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด git init ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. git init : ๊นƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋””ํ…ํ† ๋ฆฌ๋ฅผ ์ดˆ๊ธฐํ™” ํ•˜๋Š” ์ž‘์—… Initialize empty Git repository in ~ ์ด๋ผ๋Š” ๋ช…๋ น์–ด๊ฐ€ ๋‚˜์˜ค๋ฉด ์„ฑ๊ณต ! ls ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ•œ๋ฒˆ ๋” ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์„ ํ™•์ธํ•ด๋ณด๋‹ˆ '.git'์ด๋ผ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ƒ๊ฒผ๋‹ค. ์ด ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๊นƒ์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋ฒ„์ „์ด ์ €์žฅ๋  '์ €์žฅ์†Œ (Repository)' ์ด๋‹ค..
ยท More
๊ณต๋ถ€ํ•œ ์ฑ…: DO IT! ๊นƒ& ๊นƒํ—™ ๊นƒ์—์„œ ๋ฒ„์ „์ด๋ž€ ๊นƒ์—์„œ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๋ฉด ์›๋ž˜ ํŒŒ์ผ ์ด๋ฆ„์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ ํŒŒ์ผ์—์„œ ๋ฌด์—‡์„ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€๋ฅผ ๋ณ€๊ฒฝ ์‹œ์ ๋งˆ๋‹ค ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ ๊ฐ ๋ฒ„์ „๋งˆ๋‹ค ์ž‘์—…ํ–ˆ๋˜ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , ๊ทธ ๋ฒ„์ „์œผ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜๋„ ์žˆ๋‹ค. ์Šคํ…Œ์ด์ง€์™€ ์ปค๋ฐ‹ ์ž‘์—… ํŠธ๋ฆฌ (Working Tree) ํŒŒ์ผ ์ˆ˜์ •, ์ €์žฅ ๋“ฑ์˜ ์ž‘์—…์„ ํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ, ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ(working directory)๋ผ๊ณ ๋„ ํ•จ. ์Šคํ…Œ์ด์ง€ (Staging Area) ๋ฒ„์ „์œผ๋กœ ๋งŒ๋“ค ํŒŒ์ผ์ด ๋Œ€๊ธฐํ•˜๋Š” ๊ณณ ์ž‘์—… ํŠธ๋ฆฌ์—์„œ 10๊ฐœ์˜ ํŒŒ์ผ์„ ์ˆ˜์ •ํ–ˆ๋Š”๋ฐ, 4๊ฐœ์˜ ํŒŒ์ผ๋งŒ ๋ฒ„์ „์œผ๋กœ ๋งŒ๋“ค๋ ค๋ฉด 4๊ฐœ์˜ ํŒŒ์ผ๋งŒ ์Šคํ…Œ์ด์ง€๋กœ ๋„˜๊ฒจ์ฃผ๋ฉด ๋จ .git/Index ํŒŒ์ผ์— ์ €์žฅ๋จ hello.txt ํŒŒ์ผ ๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์ €์žฅํ•˜๋ฉด ๊ทธ ํŒŒ์ผ์€ ์ž‘์—…ํŠธ๋ฆฌ์— ์žˆ๊ฒŒ ๋จ. ์ˆ˜..
ยท OS/Linux
๊ณต๋ถ€ํ•œ ์ฑ… : Do It! ๊นƒ&๊นƒํ—ˆ๋ธŒ ์ž…๋ฌธ cd~ : ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ ~์€ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์˜๋ฏธ ๋ฆฌ๋ˆ…์Šค์—์„œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ธฐํ˜ธ ~ : ํ˜„์žฌ ์ ‘์† ์ค‘์ธ ์‚ฌ์šฉ์ž์˜ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ฐ€๋ฆฌํ‚ด. ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๊ฒฝ๋กœ๋Š” 'c/Users/์‚ฌ์šฉ์ž์•„์ด๋””'์ด๋ฉฐ ์‚ฌ์šฉ์ž ๋””๋ ‰ํ† ๋ฆฌ๋ผ๊ณ ๋„ ๋ถ€๋ฆ„. ์‚ฌ์šฉ์ž ์•„์ด๋””๋Š” 5๊ธ€์ž ๊นŒ์ง€๋งŒ ๋‚˜ํƒ€๋‚จ ./ : ํ˜„์žฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์—… ์ค‘์ธ ๋””๋ ‰ํ† ๋ฆฌ ../ : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ mkdir mine : ์ƒˆ ๋””๋ ‰ํ† ๋ฆฌ mined์„ ๋งŒ๋“ฆ MaKe DIRectory cd mine : mine ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ Change Directory cd.. : ๋ถ€๋ชจ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ pwd : ํ˜„์žฌ ๊ฒฝ๋กœ๋ฅผ ๋ณด์—ฌ์คŒ Print Working Directory ls : ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋‚ด์šฉ์„ ๋ณด์—ฌ์คŒ List์˜ ์ค„์ž„๋ง ls..
ยท Game Dev
์ธ์ŠคํŽ™ํ„ฐ ์ฐฝ์—์„œ ์ ์šฉํ•˜๊ธฐ ์Šคํฌ๋ฆฝํŠธ using System.Collections; using System.Collections.Generic; using UnityEngine; namespace DefaultSystem { public enum SoundType { BGM, EFFECT, BGMEFFECT } [System.Serializable] public struct AudioClips { public string ID; //์ด๋ฆ„ public AudioClip clip; // ์˜ค๋””์˜ค ํด๋ฆฝ } public class SoundManager : MonoBehaviour { public static SoundManager instance; [SerializeField] AudioSource[] audioS..
ยท Game Dev
๋ฐ”๋‹ท์†์—์„œ ์žฅ์• ๋ฌผ์„ ํ”ผํ•˜๋ฉฐ ๊ณจ์ธ์ง€์ ์— ๋ฌด์‚ฌํžˆ ๋„์ฐฉํ•˜๋ฉด ํด๋ฆฌ์–ดํ•˜๋Š” ๊ฒŒ์ž„ ํ”Œ๋ ˆ์ด ํ™”๋ฉด์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ๊ฐ€์žฅ ์ฒซ ๋‹จ๊ณ„๋กœ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ y์ถ•์„ ๋”ฐ๊ฐ€ ์œ„, ์•„๋ž˜๋กœ ์ด๋™ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์˜€๋‹ค. ์šฐ๋ฆฌ ๊ฒŒ์ž„์€ ๋ชจ๋ฐ”์ผ ๊ฒŒ์ž„์œผ๋กœ ๊ธฐํšํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— ๋ฒ„ํŠผ UI๋ฅผ ๋ฐฐ์น˜์‹œํ‚ค๊ณ  ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ด์— ๋ฐ˜์‘ํ•˜์—ฌ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ด๋™ํ•˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์˜€๋‹ค. ํ”Œ๋ ˆ์ด์–ด์˜ ์›€์ง์ž„์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‘ ๊ฐœ์˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜์˜€๋‹ค. PlayerController ButtonEvent Player ์˜ค๋ธŒ์ ํŠธ ์ผ๋‹จ ํ”Œ๋ ˆ์ด์–ด ์—ญํ• ์„ ํ•  ์˜ค๋ธŒ์ ํŠธ๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์—ˆ๋‹ค. ์•„์ง ์บ๋ฆญํ„ฐ ๋””์ž์ธ์ด ์ง„ํ–‰์ค‘์ด์–ด์„œ ์ž„์‹œ๋กœ ์บก์Š๋ชจ์–‘์˜ 3D ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ํ”Œ๋ ˆ์ด์–ด ์›€์ง์ž„๊ณผ ๊ธฐํƒ€ ์ œ์–ด ์‚ฌํ•ญ๋“ค์„ ์ž‘์„ฑํ•  PlayerController ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ์˜ค๋ธŒ์ ํŠธ์— ์ปดํฌ๋„ŒํŠธ๋กœ ์ถ”๊ฐ€ํ•ด..
ยท Game Dev
์ถœ์ฒ˜ : ใ€Ž๋ ˆํŠธ๋กœ์˜ ์œ ๋‹ˆํ‹ฐ ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—์„ผ์Šคใ€ , ์ด์ œ๋ฏผ 1. ์ƒ์†๊ณผ ์žฌ์‚ฌ์šฉ ๊ฒŒ์ž„ ์—”์ง„์€ ์ด๋ฏธ ์™„์„ฑ๋œ ๊ธฐ๋ฐ˜ ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•˜๊ณ , ๊ฐœ๋ฐœ์ž๋Š” ๊ฒŒ์ž„ ์—”์ง„์˜ ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•œ๋‹ค. ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ธ '์ƒ์†'์„ ํ†ตํ•ด ์œ ๋‹ˆํ‹ฐ ์—”์ง„์„ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค. ์ƒ์†์œผ๋กœ ๋ชฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ ํด๋ž˜์Šค class Monster class Orc : Monster class OrcChieftan : Orc ๊ธฐ๋Šฅ + ์ธ๊ณต์ง€๋Šฅ ๊ธฐ๋Šฅ + ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ธฐ๋Šฅ + ๊ณต๊ฒฉ๊ณผ ๋ฐฉ์–ด ๊ธฐ๋Šฅ + ๋ฌผ๋ฆฌ ๊ธฐ๋Šฅ + ๊ธฐํƒ€ ํ•„์ˆ˜ ๊ธฐ๋Šฅ + ์ดˆ๋ก์ƒ‰ ํ”ผ๋ถ€ + ์˜คํฌ์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ + ์˜คํฌ์˜ ์Šคํ‚ฌ + ๊ทธ ์™ธ ์˜คํฌ์˜ ๊ณ ์œ  ๊ธฐ๋Šฅ + ๋Œ€์žฅ ๋ชจ์ž + ์ƒˆ๋กœ์šด ๋ฌด๊ธฐ์™€ ๊ฐ•๋ ฅํ•œ ์Šคํ‚ฌ + ๊ทธ ์™ธ ์˜คํฌ ๋Œ€์žฅ์˜ ๊ณ ์œ  ๊ธฐ๋Šฅ ํŠน์ง• - ์ œ๋Œ€๋กœ ๋œ ์™ธํ˜• ์—†์Œ - ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๋ชฌ์Šคํ„ฐ ํด๋ž˜์Šค๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ๋ถ€..
ยท More
์ถœ์ฒ˜ : ใ€Ž์•„์ดํฐ ์•ฑ UX ๋””์ž์ธใ€ , ์ˆ˜์ž” ๊ธด์Šค๋ฒ„๊ทธ ์ž‘์„ฑ์ผ : 2021๋…„ 9์›” 18์ผ ์‚ฌ์šฉ์ž ๋ฆฌ์„œ์น˜ ์‚ฌ์šฉ์ž ๋ฆฌ์„œ์น˜๋ž€? ๋ฆฌ์„œ์น˜์˜ ๊ฒฐ๊ณผ๋ฌผ ์‚ฌ์šฉ์ž ๋‹ˆ์ฆˆ, ์‚ฌ์šฉ ์ปจํ…์ŠคํŠธ, ์ธ์‹, ์–ด๋ ค์šด ์ , ์–ธ์–ด์™€ ๊ทœ๋ฒ” ์‚ฌ์šฉ์ž ๋‹ˆ์ฆˆ ์‚ฌ์šฉ์ž๊ฐ€ ์˜ค๋Š˜ ๋ฌด์—‡์„ ํ•˜๋Š”์ง€, ๊ทธ๋“ค์—๊ฒŒ ๋ฌด์—‡์ด ์ค‘์š”ํ•œ์ง€, ์ถฉ์กฑ๋˜์ง€ ์•Š์€ ๋‹ˆ์ฆˆ๋Š” ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•œ ์งˆ๋ฌธ์„ ํ•˜์—ฌ์•ผ ํ•จ. ์‚ฌ์šฉ์ž ์ปจํ…์ŠคํŠธ ์–ด๋””์„œ, ์™œ, ์–ธ์ œ ์•ฑ์„ ์‚ฌ์šฉํ•˜๋Š”์ง€. ์ฃผ๋ณ€ ํ™˜๊ฒฝ, ํ•˜๋ฃจ ์ค‘ ์‚ฌ์šฉ ์‹œ๊ฐ„๋Œ€, ์ œ์•ฝ ์‚ฌ๋ž€, ์—ฐ๊ด€๋œ ์‚ฌ๋žŒ, ์‚ฌ์šฉ ๋™๊ธฐ, ๋ฐฉํ•ด ์œ ํ˜• ์ธ์‹ ์‚ฌ์šฉ์ž๊ฐ€ ํ•ด๋‹น ์•ฑ์„ ๊ตฌ์ž…ํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆผ๋Œ์ด ๋˜๋Š” ์ธ์‹๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ. ๋ฌธ์ œ์  ์‚ฌ์šฉ์ž์˜ ํ˜„์žฌ ์ž‘์—… ํ๋ฆ„(workflow)์—์„œ ๋ฌด์—‡์ด ๋ฌธ์ œ์ธ์ง€. ์ด ๊ฐ™์€ ๋ฌธ์ œ์ ์œผ๋กœ ์ธํ•ด ์‚ฌ์šฉ์ž๋Š” ์•ฑ ์‚ฌ์šฉ์„ ํฌ๊ธฐํ•˜๊ฑฐ๋‚˜ ํšŒํ”ผ ๋ฐฉ์•ˆ์„ ๋งŒ๋“ค์–ด๋ƒ„. ์ด์— ๋Œ€ํ•œ ์ธ..
ํ‹ฐ์Šคํ† ๋ฆฌ ๋ฐ˜์‘ํ˜• ์Šคํ‚จ #2์˜ ์‚ฌ์ด๋“œ๋ฐ” '๋งํฌ' ๋ฉ”๋‰ด์—์„œ ์ด๋ฉ”์ผ ๋งํฌ ๊ฑธ๊ธฐ : mailto ํƒœ๊ทธ ํ‹ฐ์Šคํ† ๋ฆฌ์˜ ๊ธฐ๋ณธ ์ œ๊ณต ์Šคํ‚จ์ธ '๋ฐ˜์‘ํ˜•์Šคํ‚จ #2'์—์„œ๋Š” ์‚ฌ์ด๋“œ๋ฐ”์— ๋งํฌ๋ฅผ ๊ฑธ์–ด๋‘˜ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด ์žˆ๋‹ค. ์ด ๊ณต๊ฐ„์— ๋งํฌ๋ฅผ ๊ฑธ์–ด๋‘๊ณ  ์‹ถ๋‹ค๋ฉด ๋ธ”๋กœ๊ทธ ๊ด€๋ฆฌ ํŽ˜์ด์ง€์—์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„์ฒ˜๋Ÿผ ๋งํฌ๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋‚˜๋ฉด ์ž๋™์œผ๋กœ ์‚ฌ์ด๋“œ๋ฐ”์— 'GITHUB'์ด๋ผ๋Š” ํ…์ŠคํŠธ๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํ…์ŠคํŠธ๋ฅผ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ๋งํฌ๋กœ ์ด๋™ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋งํฌ ๋ฉ”๋‰ด ์•„๋ž˜์— 'E-MAIL' ํ…์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ํ•ด๋‹น ํ…์ŠคํŠธ๋ฅผ ํด๋ฆญํ•˜์˜€์„ ๋•Œ ๋ฉ”์ผ ์ „์†ก์ฐฝ์ด ๋œจ๋„๋ก ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ? mailto ํƒœ๊ทธ html์— ๋Œ€ํ•ด ์•„๋Š” ๊ฒƒ์ด๋ผ๊ณค ๊ต์–‘ ์ˆ˜์—…์œผ๋กœ 1~2์ฃผ ๋ฐฐ์šด๊ฒŒ ์ „๋ถ€์ด๊ธฐ ๋•Œ๋ฌธ์— ์ •ํ™•ํ•œ ์ •๋ณด๊ฐ€ ์•„๋‹ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์ •๋ณด๋Š” ์ธํ„ฐ๋„ท..
PowerC++ ๋ฌธ์ œํ’€์ด, Chapter 10, Programming 2๋ฒˆ #include using namespace std; // ํด๋ž˜์Šค ์„ ์–ธ class Box { private: double height, length, width; bool isEmpty; public: // ์ƒ์„ฑ์ž Box(); // ๋””ํดํŠธ ์ƒ์„ฑ์ž Box(double w, double l, double h); // ๋ช…์‹œ์  ์ƒ์„ฑ์ž ์ค‘๋ณต ์ •์˜ // setter void setHeight(double h); void setLength(double l); void setWidth(double w); void setEmpty(bool e); // getter double getHeight(); double getWidth(); double ..
C ์–ธ์–ด ์ฝ”๋”ฉ ๋„์žฅ: 39.1 ๋ฌธ์ž์™€ ๋ฌธ์ž์—ด ํฌ์ธํ„ฐ ์•Œ์•„๋ณด๊ธฐ ๋ฌธ์ž์—ด์€ char ํฌ์ธํ„ฐ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. char *๋ณ€์ˆ˜์ด๋ฆ„ = "๋ฌธ์ž์—ด"; ๋‹ค์Œ ๋‚ด์šฉ์„ ์†Œ์Šค ์ฝ”๋“œ ํŽธ์ง‘ ์ฐฝ์— ์ž…๋ ฅํ•œ ๋’ค ์‹คํ–‰ํ•ด๋ณด์„ธ์š”. string_pointer.c #include int main() { char c1 = 'a'; // ๋ณ€์ˆ˜์— ๋ฌธ์ž 'a' ์ €์žฅ dojang.io [C] C์Šคํƒ€์ผ ๋ฌธ์ž์—ด์˜ ์ฐจ์ด (char ํฌ์ธํ„ฐ, char ๋ฐฐ์—ด) by ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ ๐Ÿš€ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ์™€ ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด ansohxxn.github.io HEAP CORRUPTION DETECTED ์˜ค๋ฅ˜์™€ ํ•ด๊ฒฐ๋ฐฉ๋ฒ• HEAP CORRUPTION DETECTED ์—๋Ÿฌ์˜ ์›์ธ์€ malloc์ด๋‚˜ new๋กœ ํ• ๋‹นํ•œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์˜์—ญ๋ณด๋‹ค ๋” ํฐ ์˜์—ญ์— ์ ‘๊ทผํ•˜๊ณ ์ž ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์–ด๋–ค..
ยท More
ํ”„๋กœ์ ํŠธ์˜ ์‚ฌ์šฉ์ž์กฐ์‚ฌ ๋‹จ๊ณ„์—์„œ ๋ฐ์Šคํฌ ๋ฆฌ์„œ์น˜์™€ ์‚ฌ์šฉ์ž ์ธํ„ฐ๋ทฐ๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ํ‚ค์˜ค์Šคํฌ๋ฅผ ๋””์ž์ธํ•˜๊ธฐ ์ „์— ์šฐ๋ฆฌ๊ฐ€ ๋””์ž์ธํ•  ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž์— ๋Œ€ํ•˜์—ฌ ์กฐ์‚ฌํ•˜๋Š” ๋‹จ๊ณ„์˜€๋‹ค. ๋ฐ์Šคํฌ ๋ฆฌ์„œ์น˜ ์ผ๋‹จ ์กฐ์‚ฌํ•ด์•ผํ•  ๋ถ„์•ผ๋ฅผ , , ์œผ๋กœ ํŒ€์›๋“ค๊ณผ ๋‚˜๋ˆ„์–ด ์กฐ์‚ฌํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋‚ด๊ฐ€ ์กฐ์‚ฌ๋ฅผ ๋‹ด๋‹นํ•˜๊ฒŒ๋œ ๋ถ€๋ถ„์€ ๋ถ€๋ถ„์ด์—ˆ๋‹ค. ์จ๋ธŒ์›จ์ด ์ด์šฉ์ ˆ์ฐจ ์ผ๋‹จ ๋จผ์ € ํ‚ค์˜ค์Šคํฌ์— ๋“ค์–ด๊ฐ€์•ผ ํ•˜๋Š” ๋‚ด์šฉ๊ณผ ๋””์ž์ธํ• ๋•Œ ํ•„์š”ํ•œ ๋‚ด์šฉ๋“ค์„ ์กฐ์‚ฌํ–ˆ๋‹ค. ๋งค์žฅ ํฌ์Šค ํ‚ค์˜ค์Šคํฌ์—์„œ ์ œ์ผ ์ค‘์š”ํ•œ๊ฑด ์—ญ์‹œ ์ฃผ๋ฌธ ์ ˆ์ฐจ์ด๊ธฐ์— ์จ๋ธŒ์›จ์ด์˜ ์ฃผ๋ฌธ ์ ˆ์ฐจ์— ๋Œ€ํ•ด ์กฐ์‚ฌํ–ˆ๋‹ค. ์จ๋ธŒ์›จ์ด์˜ ์ฃผ๋ฌธ ์ ˆ์ฐจ๋Š” ํŠนํžˆ ์•…๋ช…์ด ๋†’๊ณ  ์‹ ๊ทœ ๊ณ ๊ฐ์˜ ์œ ์ž…์„ ๋ง‰๋Š” ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค. (๋‚˜๋„ ์จ๋ธŒ์›จ์ด์— ์ฒ˜์Œ ๊ฐ”์„์ ์— ์จ๋ธŒ์›จ์ด์˜ ์ฃผ๋ฌธ๋ฐฉ์‹์„ ๋ฏธ๋ฆฌ ์กฐ์‚ฌํ•˜๊ณ  ๊ฐ”์—ˆ๋‹ค.) ์จ๋ธŒ์›จ์ด์˜ ์ฃผ๋ฌธ ์ ˆ์ฐจ๋Š” ๋งค์žฅ์ฃผ๋ฌธ๊ณผ ์•ฑ์ฃผ๋ฌธ์—์„œ ..
hye2021
all-i-want.tistory.com