๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€150

๐Ÿ‡ธ๐Ÿ‡ฌ ์‹ฑ๊ฐ€ํฌ๋ฅด ์—ฌํ–‰ ํ›„๊ธฐ / 4๋ฐ• 5์ผ ์นœ๊ตฌ๋“ค๊ณผ ์ฒซ ํ•ด์™ธ ์ž์œ ์—ฌํ–‰ ์‚ฌ์ง„ ์ฒจ๋ถ€ํ•˜๋Š” ์ˆœ๊ฐ„ ์ผ์ด ์ปค์ง€๊ณ  ๊ธ€์„ ์™„์„ฑ๋ชปํ•  ํ™•๋ฅ ์ด ๋†’๊ธฐ๋•Œ๋ฌธ์— ํ…์ŠคํŠธ๋กœ๋ผ๋„ ๊ธ‰ํžˆ ๊ธฐ์–ต์„ ์„œ์ˆ ํ•ด์•ผ๊ฒ ๋‹ค. ๊ฑ ์ธ์ƒ์ ์ธ ๊ธฐ์–ต๋งŒ ์ ์Œ. 2023๋…„ 2์›”์— ๋‹ค๋…€์˜ด. ๋ฒŒ์จ ๊ธฐ์–ต์ด ๊ฐ€๋ฌผํ•ด์ง€๊ธฐ์— ํ•˜๋ฃจ๋ผ๋„ ๋นจ๋ฆฌ ๊ธฐ๋ก ๋ชฉ์ . ์ƒˆ๋ฒฝ ๋„์ฐฉํ•ด์„œ, ๋น„ํ–‰๊ธฐ ์ถœ์ž…๊ตฌ์— ์‹ค๋‚ด๊ฒŒ์ดํŠธ๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋‚ด๋ฆฌ์ž๋งˆ์ž ๋ฅ๊ณ  ์Šตํ•œ ๊ณต๊ธฐ๊ฐ€ ํ™• ๋ฎ์ณค๋‹ค. ๊ณตํ•ญ ์•ˆ๋„ ๋ฅ๊ณ  ์Šตํ–ˆ๋‹ค. ์ƒˆ๋ฒฝ๋„์ฐฉ์ธ๋ฐ ์ Š์Œ์˜ ํŒจ๊ธฐ๋กœ ํ˜ธํ…” ์•ˆ์žก๊ณ  ์ฐฝ์ด๊ณตํ•ญ์—์„œ ๋…ธ์ˆ™ํ•จ. ๋Œ€์‹  8์‹œ์— ๋ผ์šด์ง€ ๊ฐˆ ์˜ˆ์ •์ด์—ˆ์Œ. ํญํฌ๋ฅผ ๋น™๋‘˜๋Ÿฌ ์‹๋ฌผ๋“ค๊ณผ ๋‚˜๋ฌด ๊ณ„๋‹จ๋“ค์ด ์žˆ๋‹ค. ๊ฑฐ๊ธฐ์„œ ์šฐ๋ฆฌ๋ง๊ณ ๋„ ๋…ธ์ˆ™ํ•˜๋Š” ์‚ฌ๋žŒ์ด ๊ฝค ์žˆ์—ˆ๊ณ  ๊ฑฐ๊ธฐ๋„ ๊ฐœ๋”์› ๋‹ค. ๊ฑฐ๊ธฐ์— ๋—์ž๋ฆฌ ํŽด์„œ ์ž๋ฆฌ์žก๊ณ  ๋„ค๋ช…์ค‘ ๋‚˜๋ž‘ ์นœ๊ตฌ ํ•œ๋ช…๋งŒ ์˜ท ๊ฐˆ์•„์ž…๊ณ  ์–ผ๊ตด์”ป์œผ๋Ÿฌ ํ™”์žฅ์‹ค ๊ฐ”๋‹ค์˜ด. ํญํฌ ์žˆ๋Š” ์‹ค๋‚ด์ •์› ๋ฐ”๊นฅ์„ ์‡ผํ•‘๋ชฐ์ด ๊ฐ์‹ธ๊ณ  ์žˆ๋Š”๋ฐ ์‡ผํ•‘๋ชฐ ๊ณณ๊ณณ ์˜์ž์—๋„.. 2024. 1. 1.
๐Ÿ“š ๋ชจ๋“  ๊ด€๊ณ„๋Š” ๋งํˆฌ์—์„œ ์‹œ์ž‘๋œ๋‹ค (๊น€๋ฒ”์ค€, 2017) / ๋งค์ผ ์ƒ๊ธฐํ•ด์•ผ ํ•  ์–ธ์–ด ์Šต๊ด€ ๋ชจ์Œ ๊ฐ„๊ฐ„ํžˆ ํ‡ด๊ทผ ํ›„ ์ฑ…์„ ์ฝ๊ณ  ์žˆ๋‹ค. ๋ฐ”๋น ์„œ ๋…์„œ ํ›„๊ธฐ๋ฅผ ์˜ฌ๋ฆฌ๊ณ  ์‹ถ์–ด๋„ ์˜ฌ๋ฆฌ์ง€ ๋ชปํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ์—ฐํœด๋ฅผ ๋งž์•„ ์‹œ๊ฐ„์„ ๋‚˜์„œ ์˜ฌ๋ฆฌ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ตœ๊ทผ ํ•ด์™ธ์—ฌํ–‰์„ ๋‘๋ฒˆ ์—ฐ์†์œผ๋กœ ๋‹ค๋…€์™€ ๋ชธ์ด ์ง€์นœ ๊ด€๊ณ„๋กœ, ์ด๋ฒˆ ํฌ๋ฆฌ์Šค๋งˆ์Šค๋Š” ์ง‘์—์„œ ๋ณด๋‚ด๊ณ  ์žˆ๋‹ค. ์—ฌํ–‰ํ›„๊ธฐ๋„ ๋นจ๋ฆฌ ์˜ฌ๋ฆฌ๊ณ  ์‹ถ์€๋ฐ ์—„๋ฌด๊ฐ€ ๋‚˜์งˆ ์•Š๋Š”๋‹ค. ๊ธˆ๋ฒˆ ์†Œ๊ฐœํ•  ์ฑ…์€ ์–ด์ œ ์™„๋…ํ•œ '๋ชจ๋“  ๊ด€๊ณ„๋Š” ๋งํˆฌ์—์„œ ์‹œ์ž‘๋œ๋‹ค'๋ผ๋Š” ์ฑ…์ด๋‹ค. ์œ„์ฆˆ๋คํ•˜์šฐ์Šค ์ถœํŒ, ๊น€๋ฒ”์ค€ ์ €. ์ˆ˜ํ•„ ํ˜•์‹์˜ ๊ต์–‘์„œ๋ผ ๋‚ด ์ƒ๊ฐ์„ ๋ฐ”ํƒ•์œผ๋กœ ํ›„๊ธฐ๋ฅผ ๋‚จ๊ธธ ๊ฒƒ์€ ๋”ฐ๋กœ ์—†๋‹ค. ๊ทธ๋ž˜๋„ ๋ณดํ†ต ๊ต์–‘์„œ์ ์€ ์ง€๋ฃจํ•œ๋ฐ, ์ด ์ฑ…์€ ๊ดœ์ฐฎ์€ ํŽธ์ด์—ˆ๋‹ค. ๋‚˜์—๊ฒŒ ์™€๋‹ฟ์€ ๋‚ด์šฉ๊ณผ ๊ตฌ์ ˆ์„ ๊ทธ๋Œ€๋กœ, ํ˜น์€ ์š”์•ฝํ•ด์„œ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ์™€ ํ•จ๊ป˜ ์•„๋ž˜์— ์†Œ๊ฐœํ•œ๋‹ค. ๋‚ด ๋ฒ ์ŠคํŠธ ๊ตฌ์ ˆ 5๊ฐœ๋Š” ๊ตต์€ ๊ธ€์ž๋กœ ๊ฐ€์žฅ ์ƒ๋‹จ์— ์ ์—ˆ๋‹ค. ๋‚ด๊ฐ€ ์ข‹์•„ํ•˜๋Š” ๋งํˆฌ๊ฐ€ ์žˆ์œผ๋ฉด, ๊ทธ ๋งํˆฌ๋ฅผ ์ƒ.. 2023. 12. 25.
[Kotlin] IntelliJ kotlinx.coroutines ๋ชจ๋“ˆ Import ์•ˆ๋จ ํ•ด๊ฒฐ Unresolved reference: delay ์šฐ์„  ํ•ด๋‹น ํŒจํ‚ค์ง€์˜ ๊ณต์‹ ๊ฒฝ๋กœ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.https://github.com/Kotlin/kotlinx.coroutines#gradle GitHub - Kotlin/kotlinx.coroutines: Library support for Kotlin coroutinesLibrary support for Kotlin coroutines . Contribute to Kotlin/kotlinx.coroutines development by creating an account on GitHub.github.com ์•„๋ž˜๋Š” intelliJ์—์„œ ์ƒˆ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์‹œ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๋นŒ๋“œ ์‹œ์Šคํ…œ ๋ณ„ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์ด๋‹ค. Gradledependencies { implemen.. 2023. 12. 10.
PR ๋ฆฌ๋ทฐ์–ด๋กœ์จ ํ•„์š”ํ•œ ํŒ๋‹จ๋ ฅ ๊ฐ‘์ž๊ธฐ ์“ฐ๊ณ  ์‹ถ์–ด ๋‘์„œ์—†์ด ์ ๋Š” ๊ธ€์ธ ์ ์„ ์ดํ•ดํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.  ํšŒ์‚ฌ์—์„œ ๊ฐœ๋ฐœ์ง๋ฌด ์ˆ˜ํ–‰์‹œ ๊นƒ๊ณผ ๊นƒํ—ˆ๋ธŒ๋ฅผ ๋งŽ์ด ์ด์šฉํ•œ๋‹ค.์ด๋Ÿฐ ๋ฒ„์ „๊ด€๋ฆฌ ํˆด์ด ์—†์œผ๋ฉด ์‚ฌ์‹ค์ƒ ํ˜‘์—… ์—…๋ฌด๋Š” ๋ถˆ๊ฐ€ํ•˜๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. ๊ฐ ํŒ€์›๋“ค์ด Repository๋ฅผ Pull๋ฐ›์•„ ๋กœ์ปฌํ™˜๊ฒฝ์—์„œ ๊ฐ์ž ๋งก์€ ๋ถ€๋ถ„๋ฅผ ๊ฐœ๋ฐœํ•œ๋‹ค.๊ฐœ๋ฐœ ์™„๋ฃŒ ํ›„, ๊ธฐ๋ณธ์ ์ธ ํ…Œ์ŠคํŠธ๋กœ ์ฝ”๋“œ์ƒ์˜ ์˜ค๋ฅ˜๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.์ž‘์—…์ด ๋‹ด๊ธด ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•ด Pull Request๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.ํŒ€์›๋“ค์ด PR์— ๋ฆฌ๋ทฐ(ํ”ผ๋“œ๋ฐฑ)์„ ๋‚จ๊ธด๋‹ค.์ฝ”๋“œ ์ฃผ์ธ์ด ๋ฆฌ๋ทฐ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ˆ˜์ •์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์€ ๋ฐ˜์˜ํ•œ๋‹ค.๋ชจ๋“  ๋ฆฌ๋ทฐ๊ฐ€ ํ•ด๊ฒฐ๋˜๋ฉด PR์„ ์Šน์ธํ•œ๋‹ค. ๋งŽ์€ ํšŒ์‚ฌ์—์„œ ๋Œ€๊ฐ• ์ด๋Ÿฐ ์‹์œผ๋กœ ํ˜‘์—…์ด ์ง„ํ–‰๋˜์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค. ์ ์–ด๋„ ๋‚ด๊ฐ€ ์†ํ•œ ํŒ€์€ ์ด๋ ‡๊ฒŒ ์—…๋ฌด๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค.4~5๋ฒˆ์ด ํŒ€์›๋“ค๊ณผ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ด ์ด๋ฃจ์–ด์ง€๋Š” ๊ตฌ๊ฐ„์ด๋‹ค.๋ฆฌ๋ทฐ์–ด.. 2023. 12. 8.
๊ต์ •์œ ์ง€์žฅ์น˜ ์‚ฌ์šฉ์ž์˜ ์ด๊ฐˆ์ด ๋ฐฉ์ง€ ๋งˆ์šฐ์Šคํ”ผ์Šค ์ฒซ ์‚ฌ์šฉ ํ›„๊ธฐ ๋‚˜๋Š” 2๋…„ 6๊ฐœ์›” ์ „ ๋ฐœ์น˜๊ต์ •์„ ๋งˆ์นœ ์‚ฌ๋žŒ์ด๋‹ค. ๋ช‡๋‹ฌ์ „ ์–ด๊ธˆ๋‹ˆ ํฌ๋ž™ ์ฆ์ƒ์ด ๋‚˜ํƒ€๋‚˜์„œ ์–ด๊ธˆ๋‹ˆ๋ฅผ ๊ดด๋กญํžŒ ์›์ธ์„ ์ฐพ์•„๋ณด์•˜๋‹ค (์ฐธ๊ณ ๋กœ ๋‚˜๋Š” ๋”ฑ๋”ฑํ•œ ์Œ์‹์„ ๊ฑฐ์˜ ๋จน์ง€ ์•Š๋Š”๋‹ค).๋‚ด ๋‡Œํ”ผ์…œ 1) ๊ฐ€์ฒ ์‹ ์œ ์ง€์žฅ์น˜ ์ฐฉ์šฉ ์‹œ์ž‘ ๋ช‡๋‹ฌ ํ›„์— ์ƒ๊ฒผ์œผ๋ฏ€๋กœ ๊ฐ€์ฒ ์‹ ์œ ์ง€์žฅ์น˜ ์ฐฉ์šฉ์‹œ ๋ฌด๋ฆฌ๊ฐ€ ๊ฐ”๋‹ค. ์‹ค์ œ๋กœ ๋‚˜๋Š” ๊ผˆ๋‹ค๋บ„๋•Œ ์ด์— ์ถฉ๊ฒฉ์ด ๊ฐ€๋„๋ก ์‚ฌ์šฉ์„ ํ–ˆ๋‹ค.๋‚ด ๋‡Œํ”ผ์…œ 2) ์–ด๋ฆด๋•Œ๋ถ€ํ„ฐ ์ž˜๋•Œ ์ด๋ฅผ ๊ฐ€๋Š” ์Šต๊ด€์ด ์žˆ์—ˆ๋Š”๋ฐ, ๊ต์ • ํ›„ 2๋…„ ๋ฐ˜ ๋™์•ˆ ํ”Œ๋ผ์Šคํ‹ฑ ์†Œ์žฌ์˜ ์ธ๋น„์ ˆ๋ผ์ธ ๊ต์ •์œ ์ง€์žฅ์ง€๋ฅผ ์‚ฌ์šฉํ•ด์˜ค๋‹ค๊ฐ€ ๊ฐ€์ฒ ์‹์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด์„œ ๋‹ค์‹œ ์ด์— ๋ฌด๋ฆฌ๊ฐ€ ๊ฐ”๋‹ค. ๊ฐ€์ฒ ์‹ ์œ ์ง€์žฅ์น˜๋Š” ์ด ์˜†๋ฉด๋งŒ ๊ฐ์‹ธ๋ฏ€๋กœ ์”น๋Š” ํ‘œ๋ฉด์€ ๋ณดํ˜ธ๋ฐ›์ง€ ๋ชปํ•œ๋‹ค. (* ์ธ๋น„์ ˆ๋ผ์ธ ๊ต์ •์œ ์ง€์žฅ์น˜๋Š” ์–ด๊ธˆ๋‹ˆ ํ‘œ๋ฉด์„ ๋ชจ๋‘ ๋ฎ์–ด ์ด๊ฐˆ์ด ๋ฐฉ์ง€ ํšจ๊ณผ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ 2๋…„ ๋ฐ˜ ์‚ฌ์šฉํ•œ ๋‚ด ํ”Œ๋ผ์Šคํ‹ฑ ์ธ๋น„์ ˆ๋ผ์ธ ์žฅ์น˜๋Š” ์–ด.. 2023. 11. 12.
[Kotlin] ๋ฌธ์ž์—ด ๋ฐ”์ดํŠธ ์ˆ˜ ๊ตฌํ•˜๊ธฐ / ๋ฐ”์ดํŠธ ํฌ๊ธฐ ์ฝ”ํ‹€๋ฆฐ์—์„œ ๋ฌธ์ž์—ด์˜ ๋ฐ”์ดํŠธ ์ˆ˜(ํฌ๊ธฐ)๋ฅผ ๊ตฌํ•˜๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ์— ์ถ”๊ฐ€ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.val String.byteSize: Int get() = toByteArray(Charsets.UTF_8).size ํด๋ž˜์Šค ์•ˆ์— ๋‘์ง€ ์•Š๊ณ  ๋ฐ–์— ๋‘์–ด์•ผ ์—ฌ๋Ÿฌ ํด๋ž˜์Šค๋“ค์—์„œ ์‚ฌ์šฉ์ด ์šฉ์ดํ•˜๋‹ค. ์ž์„ธํ•œ ์„ค๋ช…์„ ์•„๋ž˜์—์„œ ์ž‡๊ฒ ๋‹ค.  toByteArray()์ฝ”ํ‹€๋ฆฐ์˜ String ํด๋ž˜์Šค์—์„  toByteArray()๋ผ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ง€์›ํ•œ๋‹ค.๋ฌธ์ž์—ด๋กœ๋ถ€ํ„ฐ ByteArray๋ฅผ ์ถ”์ถœํ•˜์˜€์„๋•Œ ์ด ByteArray์˜ ํฌ๊ธฐ๊ฐ€ ๋ฌธ์ž์—ด์˜ ๋ฐ”์ดํŠธ ์ˆ˜์ด๋‹ค.fun String.toByteArray( charset: Charset = Charsets.UTF_8): ByteArray ๊ธฐ๋ณธ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ๋Š” Charset ํด๋ž˜์Šค๋ฅผ ๋ฐ›๋Š”๋‹ค. ๋””ํด.. 2023. 11. 5.
728x90
๋ฐ˜์‘ํ˜•