์ฝํ๋ฆฐ ๊ณ ๊ธํธ
์ฝํ๋ฆฐ์ ๋ชจ๋ ์ธ์ด์ ํน์ฑ์ ์ดํดํ ์ ์์ต๋๋ค. ๊ฐ์๋ฅผ ๋ค์ผ์ ํ ์ ๋ค๋ฆญ, ์์๊ณผ ์ง์ฐ, DSL๊ณผ ๋ฆฌํ๋ ์ ๋ฑ ์ฝํ๋ฆฐ ๊ณ ๊ธ ๊ธฐ์ ์ ํ์ฉํด ๋ง์๊ป ํ๋ก๊ทธ๋๋ฐํ์ค ์ ์์ต๋๋ค.
์๊ฐ์ 1,365๋ช
๋์ด๋ ์ค๊ธ์ด์
์๊ฐ๊ธฐํ ๋ฌด์ ํ

- ๋ฏธํด๊ฒฐ
KType ๊ด๋ จ Kotlin 2.3 ๋ณ๊ฒฝ์
Kotlin 2.3๋ฒ์ ์์ ๋ฌ๋ผ์ง ์ ์ ํ๋ ๋ ๋ง์๋๋ฆด๋ ค๊ณ ํฉ๋๋ค.๊ธฐ์กด KClass.createType()์ ์ ๋ค๋ฆญ ์ธ์(Argument
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅ์์ฑ์ ์์
ใป
2๋ฌ ์
1
60
2
- ๋ฏธํด๊ฒฐ
Kotlin 2.0(K2 ์ปดํ์ผ๋ฌ)์์ ๋ฌ๋ผ์ง Java SAM ๋ณํ ๋์
Kotlin์์ Java์ ํจ์ํ ์ธํฐํ์ด์ค(SAM Interface)๋ฅผ ์ฌ์ฉํ ๋, ์ด์ ๋ฒ์ ๊ณผ 2.0 ์ดํ ๋ฒ์ ์์ ๋์์ด ๋ฌ๋ผ์ง ๋ถ๋ถ์ ๋ฐ๊ฒฌํด์ ๊ณต์ ํฉ๋๋ค.@FunctionalInterf
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅ์์ฑ๋น(Robert)
ใป
2๋ฌ ์
2
90
3
- ๋ฏธํด๊ฒฐ
SuperTypeSafeCage์ ๋ํด ์ง๋ฌธ๋๋ฆฝ๋๋ค
val superTypeToken = object:SuperTypeToken>(){} val superTypeSafeCage = SuperTypeSafeCage(); superTypeSafeCage.p
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅ์ด์์ด
ใป
8๋ฌ ์
0
60
2
- ๋ฏธํด๊ฒฐ
์ข์ ์ฝ๋ ์์
์๋ ํ์ธ์ ์ฝํ๋ฆฐ ๊ฐ์ ์ด๊ธ, ๊ณ ๊ธ ๋ค ์ ๋ค์์ต๋๋ค. ์ ๋ ์น ๋ฐฑ์ค๋ ๊ฐ๋ฐ์์ธ๋ฐ์.<p style="text-align: left"
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅhighjune
ใป
9๋ฌ ์
0
91
2
- ๋ฏธํด๊ฒฐ
val ํค์๋๋ setValue๊ฐ ์๋์?
by lazy ์์ ํ๋กํผํฐ ๊ฐ์์์ by ํค์๋๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด getValue ํจ์์ setValue ํจ์๊ฐ ํ์ํ๋ค๊ณ ํ์ จ๋๋ฐ val ํค์๋๋ก ๋ณ์ ์ ์ธ ์ s
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅ์ด์์ด
ใป
9๋ฌ ์
0
80
2
- ๋ฏธํด๊ฒฐ
๋ฐ๊ณต๋ณ์ฑ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
Cage4 ํด๋์ค๋ก ๋ฐ๊ณต๋ณ์ฑ ์ค๋ช ํด์ฃผ์๋ ๋ถ๋ถ์ ์ค์ ์ฌ์ฉ ์์ ๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.ํน์ ๋ค๋ฅธ ๊ณณ์ฒ๋ผ ์์์ฝ๋ ๋ถํ๋๋ ค๋ ๋ ๊น์?
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅ์ด์์ด
ใป
9๋ฌ ์
1
112
3
- ๋ฏธํด๊ฒฐ
[23๊ฐ] SuperTypeToken์ equals ๊ด๋ จ ์ง๋ฌธ
์๋ ํ์ธ์ ๊ฐ์ฌ๋ 23๊ฐ ๊ฐ์๋ฅผ ๋ณด๋ค๊ฐ ํ๊ฐ์ง ์ฌ์ญค๋ณด๊ณ ์ถ์ ์ฌํญ์ด ์์ด์ ์ง๋ฌธ์ ๋จ๊ธฐ๊ฒ ๋์ต๋๋ค.<p
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅdenia park
ใป
์ผ ๋ ์
1
91
2
- ๋ฏธํด๊ฒฐ
23๊ฐ ํ์ ์์ ์ด์ข ์ปจํ ์ด๋ ์์ ๊ด๋ จ ๋ฌธ์ ๋๋ฆฝ๋๋ค.
์ ๊ฐ์ ๊ฒฝ์ฐ, 7:32 ๋ถ๋ถ์์ List ๋ฅผ ์ ์ฅํ๋ค๊ฐ List ํ์ ์ ๊บผ๋ด๋ ค๊ณ ํ๋ฉด "class generic
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅteddy
ใป
์ผ ๋ ์
0
107
2
- ๋ฏธํด๊ฒฐ
abstract class Fish(name:String):Animal(name)
ํ๋ผ๋ฏธํฐ name:String์์ val name ์ด ์๋๋๋ฐ ์ด์ ๊ฐ ๋ญ์ง ๋ชจ๋ฅด๊ฒ ๋ค์;;
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅnayun oh
ใป
0
104
2
- ํด๊ฒฐ
์ง์๊ณต์ ์๋ inline์ ๋ํด์์ ์ง๋ฌธ๊ณผ ์ถ๊ฐ์ ์ธ ์ง๋ฌธ 1๊ฐ์ง๊ฐ ์์ต๋๋ค!
๋จผ์ ๊ฐ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค.. ์ง๋ฌธ ํญํ์ ๋๋ ค์ ๋งค๋ฒ ์ฃ์กํ ๋ฐ๋ฆ์ ๋๋ค..1๋ฒ ์ง๋ฌธ// inline ํ๋กํผํฐ class InLinePropertyPerson(va
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅ๋ณดํค
ใป
1
114
1
- ํด๊ฒฐ
์๋ ํ์ธ์ JMH ์ค์ ๊ด๋ จ ํ์ ๋๋ฆด๊น ํฉ๋๋ค! (24๋ 12์ 16์ผ ๊ธฐ์ค)
jmh { threads = 1 fork = 1 warmupIterations = 1 iterations = 1 } JVM/JDK toolchain
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅ๋ณดํค
ใป
0
157
2
- ํด๊ฒฐ
Generic Func ์ง๋ฌธ์ด ์์ต๋๋ค
๊ฐ์ฌ๋ Generic Func์์// origin fun List.hasIntersection(other: List): Boolean { return (this.toSet() in
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅ๋ณดํค
ใป
1
102
1
- ๋ฏธํด๊ฒฐ
2๊ฐ๋ถํฐ ์์ ์ฌ์์ด ์๋๋ค์ใ ใ
2๊ฐ๋ถํฐ ์์ ์ฌ์์ด ์๋๋ค์ใ ใ
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅ์ค๋ฏผํธ
ใป
0
148
2
- ๋ฏธํด๊ฒฐ
๊ฐ์ ๋ด์ฉ ๋ธ๋ก๊ทธ ๊ฒ์๊ฐ ๊ฐ๋ฅํ์ง ๊ถ๊ธํฉ๋๋ค.
์๋ ํ์ธ์!๊ฐ์ ์๋ฃ๊ณ ์์ต๋๋ค๋ค๋ฆ์๋๋ผ ๋ด์ฉ์ ์ ๋ฆฌํด์ ์ถ์ฒ์ ํจ๊ป ์ ๊ฐ์ธ ๋ธ๋ก๊ทธ์ ์ฌ๋ ค๋ ๋๋์ง ๊ถ๊ธํฉ๋๋ค๊ฐ์ฌํฉ๋๋ค (_ _)
๊ต์ก๋ด์ฉjin.bak
ใป
0
212
1
- ํด๊ฒฐ
by lazy ๋ธ๋ญ ์์์ suspend ํจ์์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐ๋๊ฒ ๊ฐ๋ฅํ๊ฐ์?
๊ฐ์์์ Thread.sleep ํ๊ฒ ์ฒ๋ผ runblocking์ผ๋ก Thread๋ฅผ blocking ํด์ผ๋ง ๊ฐ์ ๊ธฐ๋ค๋ ธ๋ค๊ฐ ๋ฐ์ ์ ์๋์ง ์๋๋ฉดCoroutineScope์ async๋ launch๋ก๋ ๊ฐ๋ฅํ์ง๊ถ๊ธํฉ
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅSeok-woo Kim
ใป
0
388
1
- ๋ฏธํด๊ฒฐ
DSL ๋ง๋ค๊ธฐ
์๋ ํ์ธ์ ๊ฐ์ฌ๋. ๋ด์ฉ์ ๋ช๋ฒ ๋ ๋ด์ผ ๋ ์ ์๊ฒ ์ง๋ง๋งํ๋ ๋ถ๋ถ์ด ์์ด์ ์ง๋ฌธ์ฌ๋ฆฝ๋๋ค. 18๊ฐ ๋ด์ฉ์ค์์ service(name = "db") { image { "mysql" }<b
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅ๋ฏธ๋ ๊นํ๋ฏผ
ใป
0
282
1
- ๋ฏธํด๊ฒฐ
Sequence vs Stream
์๋ ํ์ธ์ Sequence์ Stream์ ์ฐจ์ด์ ์ ๋ํด์ ์ง๋ฌธ๋๋ฆฝ๋๋ค.Sequence๊ฐ ์ง์ฐ์ฐ์ฐ์ ์ด์ ์ ํตํด์ ๋์ฉ๋ ์ฒ๋ฆฌ๋ฅผ ํด์ผํ ๋ ์ด์ ์ ์ค ์ ์๋ค๊ณ ์ดํด๋ฅผ ํ๊ณ ,Java์Stream๊ณผ ์ ์ฌํ๋ค๋ ์๊ฐ์ด ๋ค์์ต๋
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅ๊นํ์ค
ใป
1
248
1
- ํด๊ฒฐ
์ฝํ๋ฆฐ indent ์ฝ๋ ์คํ์ผ ์ง๋ฌธ์ ๋๋ค.
๊ฐ์ฌ๋ ์์์ ๋ณด๋ฉด indent๊ฐ ์คํ์ด์ค ๋ฐ ๋์นธ์ผ๋ก ๋์ด์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ฝํ๋ฆฐ ๊ณต์๋ฌธ์๋ฅผ ๋ดค์ ๋ 4์นธ์ผ๋ก ๋์ด์๋๋ฐ ๊ฐ์๋ฐ2์นธ์ผ๋ก ์ฐ์๋ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค.
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅ๋ฉ์ดํ
ใป
0
261
1
- ํด๊ฒฐ
non-local return ์ง๋ฌธ์ ๋๋ค.
fun main() { val numbers = listOf(1, 2, 3, 4, 5) iterate(numbers) { num -> if (num == 3) {
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅ๋ฉ์ดํ
ใป
1
226
1
- ๋ฏธํด๊ฒฐ
SynchronizedLazyImpl ํจ์๊ด๋ จ ์ง๋ฌธ
ํํ๋, ์๋ ํ์ธ์, ๊ฐ์ ์๋ฃ๊ณ ์์ต๋๋ค! 9๊ฐ 11๋ถ 35์ด ๋ถ๋ถ์์ ์ง๋ฌธ์ด ์๋๋ฐ์. by Lazy์์ ํ๊ณ ๋ค์ด๊ฐ๋ฉด SynchronizedLazyImpl ํจ์๊ฐ ์ค๋ ๋ ์ธ์ดํํด์ ์ํํ
kotlinํจ์ํ-ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด์งํฅlazybylazysynchronizedlazyKYUNG TAE BAE
ใป
0
418
2






