Kotlin 6

IntelliJ์—์„œ JUnit4 ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ ์„ค์ • ๋ฐ ๋ฐฉ๋ฒ•

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ๊ธฐ๋Šฅ ์ฝ”๋“œ๊ฐ€ ์˜ˆ์ƒ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์„ฑํ•˜๋Š” ์ฝ”๋“œํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ์‹œ๊ฐ„์— ์ซ“๊ธฐ๋‹ค ๋ณด๋‹ˆ main ํ•จ์ˆ˜์—์„œ ์ง์ ‘ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค . . ๐Ÿ™„ ์ด๋ฒˆ ๊ฒจ์šธํŠน๊ฐ•์„ ํ†ตํ•ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์งœ๋Š” ์Šต๊ด€์„ ๋“ค์—ฌ๋ณด๋ ค๊ณ  ํ•œ๋‹ค!(์•„๋‹ˆ๋ฉด, ์„ ์ƒ๋‹˜์ด ๋จธ์ง€๋ฅผ ์•ˆํ•ด์ฃผ์‹ ๋‹ค . . ๐Ÿ˜…) Kotlin ํ…Œ์ŠคํŠธ ๋„๊ตฌJUnit4: ์˜ค๋žœ ์‹œ๊ฐ„ ๋™์•ˆ ํ‘œ์ค€์œผ๋กœ ์‚ฌ์šฉ๋˜์–ด ์˜จ ๋„๊ตฌJUnit5: ์ตœ์‹  ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š” ๊ฐœ์„ ๋œ ๋ฒ„์ „Kotest: Kotlin ์นœํ™”์ ์ธ ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ ์•ˆ๋“œ๋กœ์ด๋“œ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ๋Š” JUnit4๊ฐ€ ์˜ค๋žœ ๊ธฐ๊ฐ„ ํ‘œ์ค€์œผ๋กœ ์ž๋ฆฌ ์žก๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” JUnit4๋ฅผ ์‚ฌ์šฉํ•ด ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃฌ๋‹ค.JUnit4 ์ถ”๊ฐ€ ํ•˜๊ธฐ2024๋…„ 12์›” ํ˜„์žฌ ๊ธฐ์ค€์œผ๋กœ K..

Kotlin 2024.12.22

์ฝ”ํ‹€๋ฆฐ Kotlin 2์ฐจ์› ๋ฐฐ์—ด ์ถœ๋ ฅํ•˜๊ธฐ

์ฝ”ํ‹€๋ฆฐ Kotlin 2์ฐจ์› ๋ฐฐ์—ด ์ถœ๋ ฅํ•˜๊ธฐ1. 2์ฐจ์› ๋ฐฐ์—ด์„ ์„ ์–ธval array = arrayOf( intArrayOf(1, 2, 3), intArrayOf(4, 5, 6), intArrayOf(7, 8, 9)) 2. 2์ฐจ์› ๋ฐฐ์—ด ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜ ๊ตฌํ˜„private fun printArray(array: Array) { val sb = StringBuilder() for (row in array) { for (element in row) { sb.append(element).append(" ") } sb.append("\n") } println(sb.toString())} 3. ์ถœ๋ ฅ ํ™•์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ’€๋ฉด์„œ์ข…์ข… ๋ถˆํŽธ..

Kotlin 2024.07.24

์ฝ”ํ‹€๋ฆฐ Kotlin java.util.ConcurrentModificationException ์—๋Ÿฌ

๊ทธ๋ ‡๋‹ค. ์ด ๊ธ€์€ ๋ฐฉ๊ธˆ ์ฝ”ํ…Œ์—์„œ ์ € ์—๋Ÿฌ๋ฅผ ๋ณด๊ณ  ์ฒ˜์Œ ๋ณด๋Š” ์—๋Ÿฌ๋ผ ๋‹นํ™ฉํ–ˆ๊ณ , ๋กœ์ง์€ ๋‹ค ์งฐ๋Š”๋ฐ ์ €๊ฒƒ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๋ฅผ ๋ชป ํ’€์–ด์„œ ๋ถ„๋…ธ์— ์ฐจ์„œ ์“ฐ๋Š” ๊ธ€์ด๋‹ค.  java.util.ConcurrentModificationException ์ด๋ž€^^!!์ฃผ๋กœ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ ๋™์‹œ์— ์ˆ˜์ •ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ์ด๋‹ค. ๋‚˜๊ฐ™์€ ๊ฒฝ์šฐ์— list๋ฅผ for๋ฌธ์œผ๋กœ ๋Œ๋ฆฌ๋ฉด์„œ, tempList = list๋ฅผ ์„ ์–ธํ–ˆ๋Š”๋ฐ,์ด๊ฒƒ์ด ๋ฌธ์ œ์˜€๋‹ค..๐Ÿ˜ต ์ดํ•ด๊ฐ€ ์‰ฝ๋„๋ก ์ฝ”๋“œ๋ฅผ ๋ณด์ž! list ๋งจ ์•ž์˜ element๋ฅผ ๋งจ๋’ค๋กœ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜๋Š” ๋กœ์ง์ด๋‹ค.fun solution(list: MutableList) { for ((i, element) in list.withIndex()) { val tempList = list ..

Kotlin 2024.07.11

์ฝ”ํ‹€๋ฆฐ Kotlin split("")์ด ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ์ด์œ 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ž์—ด ๋Œ๋ฆฌ๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv.0 ๋ฌธ์ œ๋ฅผ ํ’€๋ฉฐ ์ž์กด๊ฐ์„ ์˜ฌ๋ฆฌ๊ณ  ์žˆ๋˜ ๋„์ค‘, split ํ•จ์ˆ˜์— ๋Œ€ํ•œ ๋†€๋ผ์šด ์‚ฌ์‹ค(?)์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋œ ๋ฌธ์ œ๋Š” '๋ฌธ์ž์—ด ๋Œ๋ฆฌ๊ธฐ'๋ผ๋Š” ๋ฌธ์ œ๋‹ค. https://school.programmers.co.kr/learn/courses/30/lessons/181945 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr 'split์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ชผ๊ฐœ์„œ map์„ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ฒ ๊ตฐ..'์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค. fun main(args: Array) { readLine()!!.split("").map { pr..

Kotlin 2023.12.03

Kotlin ์ฝ”ํ‹€๋ฆฐ ๋ฌธ์ž์—ด ๋Œ€์†Œ๋ฌธ์ž ํ•จ์ˆ˜๋“ค(toUpperCase, caplitalize ๋“ฑ) Deprecated๋œ ์ด์œ 

์ฝ”ํ‹€๋ฆฐ 1.5์—์„œ ๋ฌธ์ž์—ด์˜ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” capitalize, ๋ฌธ์ž์—ด์„ ๋ชจ๋‘ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” toUpperCase ๋“ฑ ์ž๋ฐ”์—์„œ ์ต์ˆ™ํ•˜๋˜ ๋ฌธ์ž์—ด์˜ ๋Œ€์†Œ๋ฌธ์ž ๊ด€๋ จ ํ•จ์ˆ˜๋“ค์ด ๋ชจ๋‘ deprecated ๋˜์—ˆ๋‹ค. capitalize๋ฅผ ์ธํ…”๋ฆฌ์ œ์ด์—์„œ ์ œ์•ˆํ•˜๋Š” ํ˜•์‹๋Œ€๋กœ ๋ฐ”๊พธ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋œ๋‹ค. import java.util.* fun main(args: Array) { var beverage = readLine()?.replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString() } println(beverage) } ์ž˜ ์“ฐ๋˜ capitalize๋ฅผ ๋†”๋‘๊ณ  ์™œ ์ด๋ ‡๊ฒŒ ์•ˆ์˜ˆ์œ(...) ..

Kotlin 2023.03.10

Kotlin ์ฝ”ํ‹€๋ฆฐ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜

Kotlin https://developer.android.com/kotlin/style-guide?hl=ko Kotlin ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ | Android ๊ฐœ๋ฐœ์ž | Android Developers Kotlin ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ ์ปฌ๋ ‰์…˜์„ ์‚ฌ์šฉํ•ด ์ •๋ฆฌํ•˜๊ธฐ ๋‚ด ํ™˜๊ฒฝ์„ค์ •์„ ๊ธฐ์ค€์œผ๋กœ ์ฝ˜ํ…์ธ ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถ„๋ฅ˜ํ•˜์„ธ์š”. ์ด ๋ฌธ์„œ์—์„œ๋Š” Kotlin ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์†Œ์Šค ์ฝ”๋“œ์™€ ๊ด€๋ จ๋œ Google์˜ Android ์ฝ”๋”ฉ ํ‘œ์ค€์„ developer.android.com Kotlin in Android https://developer.android.com/kotlin/common-patterns?hl=ko Android์—์„œ ์ผ๋ฐ˜์ ์ธ Kotlin ํŒจํ„ด ์‚ฌ์šฉ | Android ๊ฐœ๋ฐœ์ž | Android Developers Androi..

Kotlin 2022.12.02