๋ชฉ๋กLanguage (12)
๐ฉ๐ป๐พ

๋จผ์ , ์๋ก ์์ฑํ ๊ฐ์๋จธ์ ์ด ๊ธฐ์กด ๊ฐ์ ๋จธ์ ๋ค๊ณผ์ IP ์ถฉ๋์ ๋ฐฉ์งํ๊ธฐ ์ํด 10.0.2.19๋ก IP๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด๋ฅผ ํตํด, ๊ฐ์ ๋จธ์ ๋ค ๊ฐ์ ํต์ ์ด ๊ฐ๋ฅํ๊ฒ ๋ง๋ญ๋๋ค๐ 1๏ธโฃ yaml ํ์ผ์ ์ด๊ธฐsudo vi /etc/netplan/00-installer-config.yaml2๏ธโฃ ์๋ ๋ด์ฉ๋ค์ ์์ฑํ์ฌ ์ค์ ์ ๋ณ๊ฒฝnetwork: version: 2 renderer: networkd ethernets: enp0s3: addresses: - 10.0.2.19/24 # ๋ณ๊ฒฝ๋ ๊ณ ์ IP ์ฃผ์ routes: - to: default via: 10.0.2.1 # ๊ฒ์ดํธ์จ์ด nameservers: ad..

ํฌ์คํ ์ ํ๊ธฐ์ ์์ ์ฌ๋ด ํ๋๋ฅผ ์๊ธฐํ์๋ฉด,๋๋ณด๊ธฐ์ธํ๋ฐ์ ๋ฆฌ์กํธ ๊ฐ์๋ค์ด ๊ฝค ๋ง๊ณ ๊ฐ๊ฐ์ ๊ฐ์๋ค์ ํด๋น ๊ฐ์๋ฅผ ์๊ฐํ๋ฉด ์ต์ 1๊ฐ์์ ๋ง๊ฒ๋ 4-5๊ฐ์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ์๊ฐ ์๋ค. ๋ด๊ฐ ์๊ฐ ์ค์ธ ๋ฆฌ์กํธ ๊ฐ์๋ '๊ฐ์ ์ผ๊ธฐ์ฅ' ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ์ ์๋๋ฐ ์๋ง์ ๊ฐ์๋ค ์ค ๋ด๊ฐ ์ด ๊ฐ์๋ฅผ ์ ํํ ์ด์ ๊ฐ ์ข ํฉ๋นํ๋ค.๋ํ๊ต 1ํ๋ ๋๊ฐ ์ฑ์คํ ์ด ์ธ๊ธฐ ์ ๋ฃ ์ฑ์ 'MOODA'๋ ๊ฐ์ ์ ๊ธฐ๋กํด์ ์ผ๊ธฐ๋ฅผ ์์ฑํ ์ ์๋ ์ฑ์ด ์์๋ค. ์ฑ ์์ด์ฝ๊ณผ ์์ธ ํ๋ฉด ์ฌ์ง์ ๋ดค์ ๋, UI๊ฐ ์๋นํ ์๊ธฐ์๊ธฐ(์๊ธฐ์๊ธฐํ ๊ฑฐ์ ๋ง์์ด ์ฝํ ํธ)ํ์ฌ ๊ตฌ๋งคํ๊ฒ ๋์๊ณ 2๋ ๋์์ ๊ฝค ์ ์ฌ์ฉํ ๊ฑฐ ๊ฐ๋ค.์ฌํผ, ๊ทธ๋์ ์กธ์ ์ํ์์ ๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ๊ฒ ๋ผ์ ์ฒ์ ์ฌ์ฉํด๋ณด๋ ํฐ๋ผ ๋ฆฌ์กํธ ๊ฐ์๋ฅผ ์ฐพ์๋ณด๊ณ ์์๊ณ , ํด๋น ๊ฐ์๋ฅผ ๋ฐ๊ฒฌํ๊ฒ ..

์๋ฐ ์คํฌ๋ฆฝํธ๋ ์ฝ๋๊ฐ ์์ฑ๋ ์์๋๋ก ์์ ์ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ด์ ์์ ์ด ์งํ ์ค์ผ ๋๋ ๋ค์ ์์ ์ ์ํํ์ง ์๊ณ ๊ธฐ๋ค๋ฆฐ๋ค. (= ์ฆ, ๋จผ์ ์์ฑ๋ ์ฝ๋๋ฅผ ๋จผ์ ๋ค ์คํํ๊ณ ๋ ๋ค, ๊ทธ ๋ค์ ์์ฑ๋ ์ฝ๋๋ฅผ ์คํํจ) โก๏ธ ๋๊ธฐ ๋ฐฉ์์ ์ฒ๋ฆฌ ์ด๋ฐ ๋๊ธฐ์ ์ฒ๋ฆฌ์ ๋จ์ ์ ์ ์ฌ์ง์ taskB์ฒ๋ผ ํ๋์ ์์ ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ, ์ค๋ ๊ฑธ๋ฆฌ๋ ์์ ์ด ์ข ๋ฃ๋๊ธฐ ์ ๊น์ง ๋ชจ๋ ์์ ์ด ์ฌ์คํ ๋๊ธฐ ๋๋ฌธ์ ์ ๋ฐ์ ์ธ ์์ ์ ํ๋ฆ์ด ๋๋ ค์ง๋ค๋ ์ ์ด ์๋ค. โก๏ธ ๋๊ธฐ ์ฒ๋ฆฌ ๋ฐฉ์์ ๋ฌธ์ ์ ๊ทธ๋ ๋ค๋ฉด ์ฝ๋๋ฅผ ์คํํ๋ ์ผ๊พผ Thread๋ฅผ ์ฌ๋ฌ๊ฐ ์ฌ์ฉํ๋ ๋ฐฉ์์ธ 'MultiThread' ๋ฐฉ์์ผ๋ก ์๋์ํค๋ฉด ์ ์ฌ์ง์ฒ๋ผ ์์ ๋ถํ ์ด ๊ฐ๋ฅํ๋๊น ์ค๋ ๊ฑธ๋ฆฌ๋ ์์ ์ด ์์ด๋ ๋ค๋ฅธ ์ผ๊พผ Thread์๊ฒ ์์ ์ ์ง์ํ๋ฉด ๋๋๊น ๊ด์ฐฎ์ง ์..

1๏ธโฃ ํ์ ์ฐฝ ํ์ํ๊ธฐ alert(๋ด์ฉ)// ์๋ฆผ์ฐฝ ํ์ confirm(๋ด์ฉ)// ํ์ธ์ฐฝ ํ์ โฌ ๏ธ [ํ์ธ] ๋ฒํผ๊ณผ [์ทจ์] ๋ฒํผ์ด ์์ด์ ์ฌ์ฉ์๊ฐ ์ด๋ค ๋ฒํผ์ ํด๋ฆญํ๋๊ฐ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๋์ ๊ฐ๋ฅ โฌ ๏ธ ํ์ธ ๋ฒํผ ๋๋ฅด๋ฉด ์ฌ์ง์ฒ๋ผ true ๋ฐํ, ์ทจ์ ๋ฒํผ ๋๋ฅด๋ฉด false ๋ฐํ prompt(๋ด์ฉ)// ์ฌ์ฉ์๊ฐ ๊ฐ๋จํ ๊ฐ์ ์ ๋ ฅํ ์ ์๋ ์ฐฝ โฌ ๏ธ ์ ๋ ฅ๊ฐ ๋ฐํ prompt(๋ด์ฉ, ๊ธฐ๋ณธ๊ฐ)// ๊ธฐ๋ณธ๊ฐ ์ง์ ๊ฐ๋ฅ 2๏ธโฃ ์ฝ์์ฐฝ์ ๋ด์ฉ ํ์ console.log(๋ด์ฉ)// ์ฝ์ ์ฐฝ์ ๊ฒฐ๊ณผ ํ์ 3๏ธโฃ ์น ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๋ด์ฉ ํ์ํ๊ธฐ document.write()// ์น ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๊ฒฐ๊ณผ ํ์, DOM์ ์ด์ฉํด์ ์ํ๋ ์์น ์ง์
Git Command git ์ค์ ํ๊ธฐ git config --global user.name "์ด๋ฆ" : ์ฌ์ฉ์ ์ด๋ฆ ์ค์ git config --global user.mail "์ด๋ฉ์ผ" : ์ฌ์ฉ์ ๋ฉ์ผ ์ค์ git ์ ์ฅ์ ๋ง๋ค๊ธฐ git init : ์ ์ฅ์๋ฅผ ์์ฑ(์ด๊ธฐํ) git clone [url] : ์ ์ฅ์๋ฅผ ๋ณต์ git ํ์ผ ์ํ git status : ํ์ผ์ด ์ด๋ค ์ํ์ธ์ง ์๋ 4๋จ๊ณ๋ก ์๋ ค์ค Untracked, Unmodified, Modified, Staged git add : Untraacked ์ํ์ธ ํ์ผ์ Tracked ์ํ๋ก ๋ณ๊ฒฝํ ์ ์๊ณ , Modified ํ์ผ์ Staged ์ํ๋ก ๋ณ๊ฒฝํ ์ ์์ git commit : Modified ๋ ํ์ผ์ Staged ์ํ๋ก ์ปค๋ฐ git ๊ด๋ฆฌ ..

์ฐ์ , C์ปดํ์ผ๋ฌ์ธ GCC๋ถํฐ ์ค์น๋ฅผ ํด๋ณด์. GCC์ ์ค์น์ฌ๋ถ๋ ์๋ ์ฝ๋๋ฅผ ํตํด ํ์ธํ ์ ์๋ค. $ gcc ์๋์ ๊ฐ์ ๋ฉ์ธ์ง๊ฐ ๋จ๋ฉด gcc ์ค์น๊ฐ ๋์ด์๋ ๊ฒ์ด๋ค. gcc๋ฒ์ ์ ์๋์ ๊ฐ์ด ์ ๋ ฅํ๋ฉด ํ์ธํ ์ ์๊ณ $ gcc -v ๋ง์ฝ ์ค์น๊ฐ ์๋์ด์์ ๊ฒฝ์ฐ์๋ ์๋ ์ฝ๋๋ฅผ ์์ฑํด์ฃผ๋ฉด ์ค์น ํ ์ ์๋ค. $ sudo apt-get install gcc ๋ค์์ผ๋ก, ์ํ cํ์ผ์ ์์ฑํด์ค๋ค. $ vim [ํ์ผ๋ช ].c "hello"๋ฅผ ์ถ๋ ฅํ๋ ๊ฐ๋จํ ํ๋ก๊ทธ๋จ์ ์์ฑ ํ, ์ ์ฅํ๋ฉด ์๋ ์ฌ์ง์์ ๋ณด์ด๋ ๊ฑฐ์ ๊ฐ์ด ์ ์์ ์ผ๋ก ํ์ผ์ด ์ ์ฅ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ด์ , ์คํํ์ผ์ ๋ง๋ค์ด์ค๊ฑด๋ฐ [์ถ๋ ฅํ์ผ_์ด๋ฆ]์ ์ํ๋ ํ์ผ๋ช ์ ์ง์ ํด์ฃผ๋ฉด ๋๋ค. $ gcc -o [์ถ๋ ฅํ์ผ_์ด๋ฆ] [์์คํ์ผ_์ด๋ฆ] ์ฝ๋ ์์ฑ..

Linux Command Directory ls ํ์ฌ ๋๋ ์ง์ ํ ๋๋ ํ ๋ฆฌ์ ์๋ ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ๋ฅผ ํ๋ฉด์ ์ถ๋ ฅ cd ์์ ๋๋ ํ ๋ฆฌ๋ฅผ ์ด๋ cd [ํ์_๋๋ ํ ๋ฆฌ๋ช ] ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์๋ ํ์_๋๋ ํ ๋ฆฌ๋ก ์ด๋ cd.. ํ ๋จ๊ณ ์์ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ cd ../.. ๋ ๋จ๊ณ ์์ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ cd [์ ๋๊ฒฝ๋ก] ์ง์ ๋ ์ ๋๊ฒฝ๋ก๋ก ์ด๋ cd ~[๊ณ์ ๋ช ] [ํ์_๋๋ ํ ๋ฆฌ] ๊ณ์ ์ ํ ๋๋ ํ ๋ฆฌ์ ์๋ ํด๋น ํ์ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ mkdir [๋๋ ํ ๋ฆฌ_๊ฒฝ๋ก] ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑ mkdir Ex1/SubDir -> Ex1 ๋๋ ํ ๋ฆฌ๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ, Ex1 ๋๋ ํ ๋ฆฌ ํ์์ SubDir ๋๋ ํ ๋ฆฌ ์์ฑ mkdir -p Ex1/SubDir/SubSubDir -> ์ค๊ฐ ๋๋ ํ ๋ฆฌ๊ฐ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ, ์ค๊ฐ ๋๋ ํ ๋ฆฌ๋ฅผ ํจ๊ป ..

์ด๋ฒ ํฌ์คํ ์์๋ ToggleButton ๋๋ฆผ ๊ฐ์๋ฅผ ์ ํํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์ฑํ๋๋ก ํ๊ฒ ์ต๋๋ค. ์ฐ์ , ์ ๋ 6๊ฐ์ ToggleButton ์ค ์ต๋ 4๊ฐ๊น์ง ๋๋ฆด ์ ์๋๋ก ํ์์ต๋๋ค. ToggleButton ์ด 6๊ฐ๋ฅผ ๋ง๋ค์ด์ฃผ๊ณ , ์ค์๊ฐ์ผ๋ก ToggleButton์ด ์ด ๋ช ๊ฐ ๋๋ ธ๋์ง ํ์ํ label๋ ์ฐ์ธก ์๋จ์ ํ๋ ๋ง๋ค์ด์ฃผ์์ต๋๋ค. ์ด์ IsChecked๊ฐ true์ false์ผ ๋ ๊ฐ๊ฐ์ ๋ฒํผ ์ด๋ฒคํธ๋ฅผ ์์ฑํด๋ณด๊ฒ ์ต๋๋ค. private int cnt = 0; private void ToggleButton_Checked(object sender, RoutedEventArgs e) { cnt += 1; lbl.Content = cnt; if (cnt > 4) { MessageBox.Show("์ต..

์ด๋ฒ ํฌ์คํ ์์๋ WPF ๋ด์์ ํ์ ๋ฉ์ธ์ง๋ฅผ ๋์ฐ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์ฑํ๋๋ก ํ๊ฒ ์ต๋๋ค. WPF์์๋ ํ์ ๋ฉ์ธ์ง ํ์์ด MessageBox๋ฐ์ ์์ด์ ์๋๋ก์ด๋ ์คํ๋์ค์์ ์ฌ์ฉ๋๋ ํ์ ๋ฉ์ธ์ง ๊ธฐ๋ฅ์ธ ํ ์คํธ(Toast)๋ฅผ TextBlock๊ณผ DoubleAnimation์ ์ด์ฉํ์ฌ ๋น์ทํ๊ฒ ๋ง๋ค์ด ๋ดค์ต๋๋ค. ์ฐ์ , ๋ฒํผ์ด ๋๋ ธ์ ๋ ํ์ ๋ฉ์ธ์ง๊ฐ ๋จ๋๋ก ํ๊ธฐ ์ํด Button๊ณผ ๋ฉ์ธ์ง๋ฅผ ๋์ธ TextBlock์ ์์ฑํด์ค๋๋ค. ๋ค์์ผ๋ก, ํ์ ๋ฉ์ธ์ง๋ฅผ ๋์ธ ํจ์๋ฅผ ์์ฑํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.private void ToastMessage(string message) { Color clr = Color.FromRgb(200, 210, 145); SolidCo..

์ด๋ฒ ํฌ์คํ ์์๋ ๋ฒํผ(Button)์ ๋ชจ์๋ฆฌ๋ฅผ ๋ฅ๊ธ๊ฒ ๋ง๋๋ ๋ฒ์ ๋ํด ์จ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. WPF์์ ๋ฒํผ์ ์ฒ์ ์์ฑ์, ์ด๊ธฐ ๋ชจ์๋ฆฌ๊ฐ์ 0์ผ๋ก ๊ฐ์ง ํํ์ ๋๋ค. ์ด๋, ๋ชจ์๋ฆฌ๋ฅผ ๋ฅ๊ธ๊ฒ ํด์ฃผ๋ ์์ฑ์ด ์๋๋ฐ์ ๋ฐ๋ก 'CornerRadius' ์ ๋๋ค. ์ด ์์ฑ์ ์์ฑ์ฐฝ์์๋ ์ฐพ์๋ณผ ์ ์๊ธฐ ๋๋ฌธ์ xaml์์ ์ฝ๋๋ก ์์ฑํด์ ๊ฐ์ ์ค์ ํด์ฃผ์ด์ผ ํฉ๋๋ค. ์ฐ์ , ๋ฒํผ์ ํ๋ ์์ฑํด์ค๋๋ค. ์ด์ xaml์์ ํด๋น ๋ฒํผ์ ๋ํ CornerRadius ์์ฑ๊ฐ์ ์ค์ ํด์ฃผ๋๋ก ํ๊ฒ ์ต๋๋ค. ์ ํ๊ทธ๋ฅผ ์ถ๊ฐํ๊ณ ํ๊ทธ ์์ TargetType์ ๋ชจ์๋ฆฌ๋ก ์ง์ ํด์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ Property๋ฅผ CornerRadius๋ก ์ค์ ํ๊ณ ๊ฐ์ ์ ๋ ฅํด์ฃผ๋ฉด ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ๋ชจ์๋ฆฌ๊ฐ ๋ฅ๊ธ์ด์ง ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋์ ..