~ Today I Learned ~
โ๏ธ ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด (๋ ์ ์ ์ฌ์ด์ ํฉ)
โ๏ธ ๋ค์ด๋ฒ ๋ถ์คํธ์ฝ์ค - Hello, ์ฝํ๋ฆฐ ์๊ฐ
โ๏ธ ๋ฌธ๋ฒ ํน๊ฐ ๋ด์ฉ ํฐ์คํ ๋ฆฌ์ ๋จ๊ถํ
โ๏ธ ๊ณ์ฐ๊ธฐ ๊ณผ์ ๋ณต์ต ํน๊ฐ ์๊ฐ
1. ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด (๋ ์ ์ ์ฌ์ด์ ํฉ)
- ๊ฐ๋จํ ๋ฌธ์ ์์ผ๋ ์ค์ํ๊ธฐ ์ฌ์ด ๋ฌธ๋ฒ ๋ถ๋ถ์ ๋ณต๊ธฐํ ๋๋์ด์๋ค.
2. ๋ค์ด๋ฒ ๋ถ์คํธ์ฝ์ค - Hello, ์ฝํ๋ฆฐ ์๊ฐ
์ฝํ๋ฆฐ์ ํน์ง
- Statically Typed (์ ์ ํ์ , ์๋ฃํ ์ถ๋ก ๊ฐ๋ฅ, ์ ์ C, C++, Java, Kotlin / ๋์ JS, Python, Objective-C, PHP)
- Interoperable (์๋ฐ์ 100% ํธํ, ์ฝํ๋ฆฐ ์ปดํ์ผ๋ฌ๋ ์๋ฐ ์ค๊ฐ์ฝ๋์ธ ByteCode ์์ฑ)
- Null Safety (NPE๋ฅผ ๋ฐฉ์งํ๋ ์์ ์ฑ, Nullable/not null)
- Immutable (์ํ๋ฅผ ๋ฐ๊พธ์ง ์๋ ๋ถ๋ณ์ฑ ์ ๊ณต, Immutable /Mutable)
- Concise (์ฝ๋์ ๊ฐ๊ฒฐ์ฑ, ๋ณด์ผ๋ฌํ๋ ์ดํธ์ ์ต์ํ)
- Extension Functions (ํ์ฅ ํจ์, ํด๋์ค ์์์ด๋ ๋์์ธ ํจํด์ ์ฌ์ฉํ์ง ์๊ณ ๋ ์๋ก์ด ๊ธฐ๋ฅ ํ์ฅ ๊ฐ๋ฅ)
- Functional Programming (ํจ์ํ ํ๋ก๊ทธ๋๋ฐ, ํจ์๊ฐ ์ผ๊ธ ๊ฐ์ฒด ์ฌ์ฉ ๊ฐ๋ฅ, ๋๋ค์์ ํตํด ์ ์ธ๋์ง ์๊ณ ๋ ์ต๋ช ์ ํจ์๊ธฐ๋ฅ์ ์์ ์ ๋ฌ ๊ฐ๋ฅ)
- Kotlin Multiplatform (Kotlin/JVM, Kotlin/Native, Kontlin/JS)
์บ ํ์์ ๋ฐฐ์ด ๋ด์ฉ๋ค์ ๊ฐ๋ณ๊ฒ ํด์ ์ฐจ์์์ ๋์๋ณด๋ ๋๋์ด๋ผ ์ข์๋ค.
3. Gitbook ์ฝํ๋ฆฐ ๊ธฐ๋ณธ ๋ฌธ๋ฒ ๋ณต์ต
- ์ค์ฝํ ํจ์ ๋ถ๋ถ์ ๋ถ๋ฅ๊ฐ ๋ง์ด ํท๊ฐ๋ ธ๋ค.
4. ๋ฌธ๋ฒ ํน๊ฐ ๋ด์ฉ ๋ณต์ต ๋ฐ ๋จ๊ถํ
- ๋ถ์ด๋นต ์ด์ผ๊ธฐ ๋ฐ ํด๋์ค/์์ ์์ญ์์ ์ ๋ฆฌ๊ฐ ๋ฏธํกํ๋ ๋ถ๋ถ์ ๋ณด์ํ์๋ค.
5. ๊ณ์ฐ๊ธฐ ๊ณผ์ ๋ณต์ต ํน๊ฐ ์๊ฐ
- ์ดํด๊ฐ ์ ๋๋ ๋ถ๋ถ์ ์ดํดํ ์ ์๋ ์๊ฐ์ด์๋ค.
- ํจ์์ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ค์ ํจ์๋ก ๋๊ฒจ์ฃผ๋ ํ์์ ์ดํดํ๊ฒ ๋์๋ค.
- ์ด๋ฒ ์ฃผ ์์ ๋ค์ ๊ณ์ฐ๊ธฐ ๊ณผ์ ๋ฅผ Lv5๊น์ง ๋ด ํ์ผ๋ก ๊ตฌํํด๋ณผ ๊ฒ์ด๋ค.
~ Trouble Shooting ~
class Solution {
fun solution(a: Int, b: Int): Long {
var sumInt = 0
for(i in a .. b){
var sumInt += i
}
return sumInt.toLong()
}
}
1. /Solution.kt:5:24: error: unexpected tokens (use ';' to separate expressions on the same line) var sumInt += i
- ๋ ๋ฒ์งธ sumInt ๋ณ์๋ฅผ ์ ์ธํ ๋ ์ด๋ฏธ ์์ ์ค์ฝํ์ ์๋ sumInt ๋ณ์๋ฅผ ์ฌ์ ์ธํ๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
- ์ฝํ๋ฆฐ์์๋ ๋ณ์์ ์ฌ์ ์ธ์ด ํ์ฉ๋์ง ์๋๋ค. (์ ์ ํจ์)
- ํด๋น ๋ถ๋ถ์ ์์ ํ์ฌ var์ ๋นผ๊ณ ๊ธฐ์กด์ sumInt ๋ณ์๋ฅผ ์ฌ์ฉํ๋๋ก ์์ ํ๋ฉด ํด๋น ์ค๋ฅ๋ ์ฌ๋ผ์ง๋ค.
~ Retrospect ~
์ด๋ฒ์ฃผ๊น์ง๊ฐ ์ฝํ๋ฆฐ ๋ฌธ๋ฒ์ ์ง์คํ ์ ์๋ ์๊ฐ์ด๊ณ , ๋ค์์ฃผ๋ถํฐ๋ ์๋๋ก์ด๋ ๊ฐ๋ฐ ์์์ด๋ค. ์ด๋ฒ์ฃผ๊น์ง ๋ฌธ๋ฒ์ ๋ชจ๋ ํ์คํ ํด๋์ง ์์ผ๋ฉด ๋ค์์ฃผ๋ถํฐ ๋ฐ๋ ค์ ์ ์ ์์ด์ง ๊ฒ์ด ๋ถ๋ช ํ๋ค. ์กฐ๊ธ ๋ฌด๋ฆฌํ๋๋ผ๋ ๋ฌธ๋ฒ ๊ด๋ จ ์์ /๊ฐ์/์ฐธ๊ณ ์๋ฃ ๋ชจ์๋จ๋ ๊ฑธ ์น ๋ค ์ ๋ฆฌํ๊ณ ๊ณต๋ถ๋ฅผ ํ์คํ ํด๋์.