Programming (73) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Kotlin] ๋ฐฑ์ค 2501 - ์ฝ์ ๊ตฌํ๊ธฐ ๋ฌธ์ ์ด๋ค ์์ฐ์ p์ q๊ฐ ์์ ๋, ๋ง์ผ p๋ฅผ q๋ก ๋๋์์ ๋ ๋๋จธ์ง๊ฐ 0์ด๋ฉด q๋ p์ ์ฝ์์ด๋ค. 6์ ์๋ก ๋ค๋ฉด6 ÷ 1 = 6 … 06 ÷ 2 = 3 … 06 ÷ 3 = 2 … 06 ÷ 4 = 1 … 26 ÷ 5 = 1 … 16 ÷ 6 = 1 … 0๊ทธ๋์ 6์ ์ฝ์๋ 1, 2, 3, 6, ์ด ๋ค ๊ฐ์ด๋ค.๋ ๊ฐ์ ์์ฐ์ N๊ณผ K๊ฐ ์ฃผ์ด์ก์ ๋, N์ ์ฝ์๋ค ์ค K๋ฒ์งธ๋ก ์์ ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.์ฒซ์งธ ์ค์ N๊ณผ K๊ฐ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. N์ 1 ์ด์ 10,000 ์ดํ์ด๋ค. K๋ 1 ์ด์ N ์ดํ์ด๋ค.ํ์ด1. ๋๋จธ์ง๊ฐ 0์ผ๋ก ๋๋์ด ๋จ์ด์ง๋ฉด ์ฝ์์ด๋ค.2. N์ด 10,000์ดํ์ด๋ค -> ๋ฌด์ํ ๋ฐฉ๋ฒ์ธ 1๋ถํฐ N๊น์ง ๋ชจ๋ ํ์ธํด๋ 1๋ง๋ถ์ 1์ด(1์ต์ 1์ด๋ก ๊ฐ์ )3. ์๊ฐ๋ณต.. [Kotlin] IDE์์ด ์จ๋ผ์ธ์ผ๋ก Kotlin ์ฐ์ตํ๊ธฐ ์จ๋ผ์ธ Kotlin ์ฐ์ต์ฅhttps://play.kotlinlang.org/ Kotlin Playground: Edit, Run, Share Kotlin Code Online play.kotlinlang.org์ ์ฌ์ดํธ์ ์ ์ํ๋ฉด ๋ณ๋์ IntelliJ์ ๊ฐ์ ๋ณ๋์ IDE ์์ด Kotlin ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ฐ์ตํ ์ ์๋ค. ๋ฐฑ์ค๊ณผ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฐ์ตํ ๋, IDE๋ฅผ ํตํด์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ง ์์๋๋๋ค๋ ์ ์์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์์ ๊ฒ ๊ฐ๋ค. [JS] setTimeout ์ฌ์ฉ๋ฒ๊ณผ await / sleep ๋ง๋ค๊ธฐ JavaScript์์ setTimeout์ ๋น๋๊ธฐ(async)๋ก ํน์ ์๊ฐ ํ์ ๋ก์ง์ ์ํ์ํฌ ์ ์๋ค. setTimeout ์ํ ์์ console.log('start');// async๋ก 3์ด(3,000ms)๋ค์ {}์์ ๋ก์ง ์ํsetTimeout(() => { console.log('call it after 3s');}, 3000);console.log('end') setTimeout ์ํ ๊ฒฐ๊ณผ>>> start>>> end// ...์ฝ 3์ด ๋ค...>>> call it after 3s setTimeout์ await๋ฅผ ์ฌ์ฉํ๊ธฐ setTimeout await ์ฌ์ฉconsole.log('start');// async๋ก 3์ด(3,000ms)๋ค์ {}์์ ๋ก์ง ์ํawait setTimeout(() .. [Git Hook] pre commit ์ผ๋ก ์ฅ์ ์๋ฐฉํ๊ธฐ(ft. husky, osascript) d์ต์ ์ด์ ์ค์ธ ์ฑ์์ ํน์ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ค ์ฅ์ ๊ฐ ๋ฌ์๋ค. ์ผ๋ถ ์๋น์ค์์ ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ ๋ฉ์๋๊ฐ ์์๋๋ฐ, ํ๊ฒฝ์ด ๋ถ์ฐ๋๊ณ ๋ณต์กํ๋ค๋ณด๋ ๊ฐ๋ฐ์๊ฐ ํ ์คํธ๋ฅผ ๋์น ์ผ์ด์ค์์๋ค. ์ด ๋ถ๋ถ์ ๊ฐ์ ํ๊ณ ๋น์ทํ ์ฅ์ ๋ฅผ ์๋ฐฉํ๊ธฐ ์ํด์ pre commit rule์ ์ถ๊ฐํด์ ํน์ ํค์๋๊ฐ ์์ค์ ์ถ๊ฐ๋๋ฉด ์๋ด๋ฅผ ์ํ ํ์ ์ ๋์ฐ๊ฒ ํ๋ค. ๐ค ํ๊ฒฝ๊ฐ๋ฐํ์ ํ๊ฒฝ์ Mac์ ์ฌ์ฉํ๊ณ ์๊ณ Husky plugin์ด ์ค์น๋์ด ์์๋ค. git์ ๊ฐ๋ฐ์๊ฐ commit์ ์ํํ๋ฉด, commit ์ด ์ํ๋๊ธฐ ์ ์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํ๋๊ฒ๋ํ๋ pre-commit ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.๋ฐฉ๋ฒ์ ํ๋ก์ ํธ์ .git/ ํ์์ "pre-commit"์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ฉด ๋๋ค.ํ์ง๋ง, git์์ ์ ๊ณตํ๋ pre-commit์ ๊ฒฝ์ฐ, ๊ฐ์ธ ๋ก์ปฌ.. [์ฟผ๋ฆฌ ํ๋] Oracle DB ์ฟผ๋ฆฌ ํ๋ ํ๊ณ (ft. LPAD) ์ฌ๋ด ์ ๋ฌด ์ค ์ด์์์ timeout์ด ๋๊ณ ์๋ ์๋น์ค๋ฅผ ๋ฐ๊ฒฌํ๋ค.(๋ด๋ถ ์๋น์ค์ด๊ณ ์์ฃผ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ์ ๋ฐ๊ฒฌ์ด ๋ฆ์๋ค.)(์๋น์ค์ ์คํ ์๊ฐ์ด 60์ด ์ด์์ด๋ผ๋ฉด, timeout error๋ฅผ ๋ฑ๊ฒ ๋์ด์๋ค.) ๋ก๊ทธ๋ฅผ ํ์ธํด๋ณด๋ ์กฐํ ์ฟผ๋ฆฌ์์ 60์ด ์ด์ ๊ฑธ๋ฆฌ๋ ๊ฒ์ ํ์ธํ๋ค. ํด๋น ์ ๋ฌด์ ํน์ฑ์, ๊ณ ๊ฐ ์ด๋ ฅ ํ ์ด๋ธ์ ์กฐํํ๋๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ์์ plan์ ํ์ธํ๋ ํ ์ด๋ธ์ full scanํ๊ณ ์์๋ค.์ด์ ํ๊ฒฝ ๊ฒฝ์ฐ, ๋ ๋ง์ ๋ฐ์ดํฐ๊ฐ ์์ ๊ฒ์ด๋ฏ๋ก ๊ฐ์ ์ด ํ์ํ๋ค. ์ฟผ๋ฆฌ ์ฑ๋ฅ ์ ํ์ ์ฃผ๋ ์์ธ์ "LAPD์ ์ฌ์ฉ"ํ๊ฒ ํ ์ด๋ธ์ ๊ณ ๊ฐ ์ด๋ ฅ์ ๊ด๋ฆฌํ๋ ํ ์ด๋ธ์ด์๊ธฐ์ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋๋ฐ LPAD๋ฅผ ์ฌ์ฉํ์ฌ ์ข๋ณ์ ๋ชจ๋ ๊ฐ๊ณตํ๋ฏ๋ก์จ, ์ธ๋ฑ์ค ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ๋ค. ํน์ ๊ธฐ๊ฐ์ ์กฐ๊ฑด์ผ๋ก ๊ฑธ๊ณ ์์๋.. ์จํ๋ ๋ฏธ์ค ๋ฐฐํฌ ์๋ฒ ์ฅ์ ํ๊ณ - ๋ ์นด๋ ๊ณ ์ฅ(ft. gitlab, ubuntu) on-premise / ubuntu ํ๊ฒฝ์ ๋ฐฐํฌ ์๋ฒ ๋์ด๋ฆฌ๊ธฐ ํ์ฌ ์ ๋ฌดํ๊ฒฝ์์ ๋ด๋ถ ๋ณด์๋ง์์ ๊ฐ๋ฐ์ ํ๊ณ ์๋ ์์ค๋ฅผ ๊ฐ ๊ฐ๋ฐ์์ ์ฐ๊ด๋ ๊ทธ๋ฃน์ฌ๋ก ๋ฐฐํฌ๋ฅผ ํ๊ธฐ ์ํ ์๋ฒ๊ฐ ์จํ๋ ๋ฏธ์ค(on-premise) ํ๊ฒฝ์ผ๋ก ๊ตฌ์ฑ ๋์ด์๋๋ฐ, ์ค์ ์ ์ ์์ด ์๋๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ค. ์์ค ๋ฐฐํฌ๋ฅผ ์ํด์ ํด๋น ์๋ฒ์ gitlab / jenkis๋ฅผ docker๋ก ๋์์ ํธ์คํ ํ๊ณ ์์๋๋ฐ ๊ฐ๋ฐ์๋ค์ pc์์ ํด๋น ํธ์คํ ์ค์ด gitlab ์ฌ์ดํธ๊ฐ ์ ์์ด ๋์ง ์์๋ค. ๋น์ ์กฐ์น๋ฅผ ์ํ ์งํ ์ฌํญ์ ์ด๋ ๋ค.๐ ๏ธ ์กฐ์น ๋ฐฉ๋ฒ1. ๋ก๊ทธ ํ์ธ ํด๋ณด๊ธฐ$ cd /home/docker/gitlab๋ก๊ทธํ์ผ์ด ์กด์ฌํ๋ ๊ณณ์ผ๋ก ์ด๋$ docker-compose logs -f {์ปจํ ์ด๋ ํน์ ์๋น์ค ์ด๋ฆ}๋ก๊ทธ ํ์ธ. {์ปจํ ์ด๋ ํน์ ์๋น์ค.. [JS] ๋ณด์ ํคํจ๋ ์ ๋ ฅ error ์์ธ์ฒ๋ฆฌ(ft. isNaN) ํ์ฌ์์ ์ด์ํ๊ณ ์๋ ์ฑ์ ๋ณด์ ํคํจ๋๋ฅผ ์ฌ์ฉํ๋ ์๋น์ค์์ ์๋ชป๋ ์ ๋ ฅ ๊ฐ์ผ๋ก ์ธํ ์ค๋ฅ์ ํธ๋ฌ๋ธ ์ํ ์ ์งํํ์ต๋๋ค. ์๋ฒ์์ input ๊ฐ ๊ฒ์ฆ์ ํตํด์ ์ ๋ฌด ์ค๋ฅ๋ฅผ ๋ฑ์ด๋ด ์๋ชป๋ ์ ๋ณด๊ฐ ์ ๋ฐ์ดํธ ๋์ง๋ ์์์์ง๋ง, ํ๋ฉด ์์ค(front end)์์ ์์ธ์ฒ๋ฆฌ ๋ฏธํก์ผ๋ก ์๋ชป๋ input ๊ฐ์ ์๋ฒ(back end) ์ธก์ผ๋ก ๋ณด๋ด๊ณ ์์์ ํ์ธํ์ต๋๋ค. ๐ฎ ๋ฌธ์ ์ํฉ๋ณด์ ํคํจ๋์ ์ฌ์ฉํ๋ ์ด๋ฒคํธ์ value๋ฅผ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์์ numberic์ ๊ฒ์ฆ์ด ๋์ง ์์์ ์ซ์ํ ๊ฐ๋ง ๋ค์ด์์ผํ๋ ๋ถ๋ถ์ ์ค์ string์ด ๋ค์ด์ค๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ์์ต๋๋ค. ๐ ๏ธ ์กฐ์น๋ฐฉ๋ฒํคํจ๋ ์ด๋ฒคํธ๋ฅผ ํตํด์ ๋ค์ด์ค๋ value ๊ฐ์ ํ๋ฉด์์ isNaN๋ฅผ ์ฌ์ฉํด ํ๋ฒ ๋ ์์ธ์ฒ๋ฆฌ ํ์์ต๋๋ค. ๊ธฐ์กด ๋ก์ง์ ๊ฒฝ์ฐ, value๊ฐ s.. [Vue] Multiple v-model ์์ ์(modifiers) ์ฒ๋ฆฌํ๊ธฐ(์ต์ ์ฌ์ฉํ๊ธฐ) Vue ๊ณต์ ๊ฐ์ด๋ ๋ฌธ์์์ v-model์ ์์ ์ ์ฒ๋ฆฌ, ๋ค์ค(multiple) v-model ์ฌ์ฉ๋ฒ์ ๋ํด์ ๋์์๋ค. ํ๋์ v-model ์์ ์๋ฅผ ์ด์ฉํด set, get๊ณผ ๊ฐ์ ์ต์ ์ ์ฌ์ฉํ๋๋ฒ์ด ์๊ฐ ๋์ง๋ง, ๋ค์ค v-model์ ์ฌ์ฉํ์ ๋, ์์ ์๋ฅผ ๋ฐ๋ ๋ฐ์๋ง ์๊ฐ๋๊ณ set๊ณผ ๊ฐ์ ์ต์ ์ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด ๋น ์ ธ์์ด ์ถ๊ฐ ํด๋ณธ๋ค. composition ์คํ์ผ ์งํฅํด์ composition ๋ฐฉ์์ผ๋ก๋ง ์๊ฐ ํฉ๋๋ค. ๐ค ์์ ์ฝ๋ ::: ๊ณต์ ๊ฐ์ด๋ playground ์์ ๋ฅผ ํ์ฉ App.vue first: second: MyComponent.vue ์ ์ฝ๋๋ 2๊ฐ์ input๊ณผ v-model์ ๊ฐ๋ Mycomponent.vue๋ฅผ App.vue์์ import ํด์ ์ฌ์ฉ.. ์ด์ 1 2 3 4 5 ยทยทยท 10 ๋ค์