{"id":272451,"date":"2022-08-08T02:37:39","date_gmt":"2022-08-08T01:37:39","guid":{"rendered":"https:\/\/blog.jetbrains.com\/kotlin\/2022\/07\/kotlinconf-2023\/"},"modified":"2022-11-16T05:30:30","modified_gmt":"2022-11-16T04:30:30","slug":"kotlinconf-2023","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/ko\/kotlin\/2022\/08\/kotlinconf-2023\/","title":{"rendered":"KotlinConf\uac00 2023\ub144 4\uc6d4 \uc554\uc2a4\ud14c\ub974\ub2f4\uc5d0\uc11c \ub2e4\uc2dc \uac1c\ucd5c\ub429\ub2c8\ub2e4!"},"content":{"rendered":"<p>\uae30\uc058\ub2e4\ub294 \ub9d0\ub85c\ub294 \ubd80\uc871\ud55c \uc18c\uc2dd\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ubc14\ub85c KotlinConf\uac00 \ub2e4\uc2dc \uac1c\ucd5c\ub41c\ub2e4\ub294 \ub9e4\uc6b0 \uae30\ub300\ub418\uace0, \uae30\uc068\uacfc \uc990\uac70\uc6c0\uc774 \ub118\uce58\ub294 \uc18c\uc2dd\uc785\ub2c8\ub2e4!<\/p>\n<p>&#x1f337; 2023\ub144 4\uc6d4 12~14\uc77c\uc5d0 \uc554\uc2a4\ud14c\ub974\ub2f4\uc5d0\uc11c KotlinConf \ud589\uc0ac\uac00 \uac1c\ucd5c\ub429\ub2c8\ub2e4. \ub9c8\uce68\ub0b4 \ub2e4\uc2dc \ud55c\uc790\ub9ac\uc5d0 \ubaa8\uc5ec Kotlin\uacfc \uad00\ub828\ud55c \ud765\ubbf8\ub85c\uc6b4 \uc18c\uc2dd\uc744 \uc804\ud574 \ub4dc\ub9b4 \uc218 \uc788\uc2b5\ub2c8\ub2e4!<\/p>\n<p>\uc62c\ud574\uc758 \ud589\uc0ac\uc5d0\uc11c Kotlin \ucee4\ubba4\ub2c8\ud2f0\uc640 \ud568\uaed8\ud558\ub824\uba74 \uc9c0\uae08 \ub4f1\ub85d\ud558\uc138\uc694. \uc6cc\ud06c\uc20d, \ud1a0\ud06c, <code>fun<\/code>\uc774 \ud568\uaed8\ud569\ub2c8\ub2e4! \ud2f0\ucf13\uc774 \ub9e4\uc9c4\ub418\uae30 \uc804\uc5d0 \uad6c\ub9e4\ud558\uc138\uc694!<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"\ud2f0\ucf13 \uad6c\ub9e4\ud558\uae30\" href=\"https:\/\/kotlinconf.com\/\" target=\"_blank\" rel=\"noopener\">\ud2f0\ucf13 \uad6c\ub9e4\ud558\uae30<\/a><\/p>\n<p><!--more--><\/p>\n<h2>\uc6cc\ud06c\uc20d \ub370\uc774<\/h2>\n<p>\uc6cc\ud06c\uc20d \uccab\ub0a0\uc778 2023\ub144 4\uc6d4 12\uc77c, KotlinConf\uac00 \uc2dc\uc791\ub429\ub2c8\ub2e4. \uac01 \uc6cc\ud06c\uc20d\uc5d0 \uc778\uc6d0 \uc81c\ud55c\uc774 \uc788\uc73c\ubbc0\ub85c \uc6cc\ud06c\uc20d\uc5d0 \ucc38\uc11d\ud558\uace0 \uc2f6\ub2e4\uba74 \ubc14\ub85c \ub4f1\ub85d\ud558\uc138\uc694.<\/p>\n<p>\ucee8\ud37c\ub7f0\uc2a4 \ud328\uc2a4\uc640 \ud568\uaed8 \uc6cc\ud06c\uc20d \ucc38\uc5ec\uad8c 1\uac1c\ub97c \uad6c\ub9e4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/kotlinconf.com\/workshops\/\" target=\"_blank\" rel=\"noopener\">\uc544\ub798\uc758 \ub0b4\uc6a9\uc744 \ud655\uc778\ud558\uace0 \uc6d0\ud558\ub294 \uc6cc\ud06c\uc20d\uc744 \uc120\ud0dd\ud558\uc138\uc694<\/a>.<\/p>\n<p><strong>Building Android Apps With Jetpack Compose(Jetpack Compose\ub85c Android \uc571 \ube4c\ub4dc\ud558\uae30) &#8211; Florina Muntenescu<\/strong><\/p>\n<p>\uc774 \uc6cc\ud06c\uc20d\uc744 \ud1b5\ud574 \uae30\ucd08\ub97c \ub2e8\ub2e8\ud788 \ub2e4\uc9c0\uace0 \uc0c1\ud0dc, \ub808\uc774\uc544\uc6c3, \ub514\uc790\uc778 \uc2dc\uc2a4\ud15c \ubc0f \uc560\ub2c8\uba54\uc774\uc158\uc744 \uc0ac\uc6a9\ud558\ub294 \uc120\uc5b8\ud615 \uc0ac\uace0 \ubc29\uc2dd\uc758 \uae30\ucd08\ub97c \ud559\uc2b5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c \ubdf0 \uae30\ubc18 \uc571\uc5d0\uc11c Compose\ub85c\uc758 \uc2e4\uc81c \ub9c8\uc774\uadf8\ub808\uc774\uc158 \uacfc\uc815\uc744 \uc0b4\ud3b4\ubcf4\uace0, Jetpack Compose\uc5d0\uc11c \ub808\uc774\uc544\uc6c3\uc758 \uc791\ub3d9 \ubc29\uc2dd\uc744 \uc0c1\uc138\ud788 \uc54c\uc544\ubcf4\uba70 \uc6cc\ud06c\uc20d\uc744 \ub9c8\ubb34\ub9ac\ud560 \uc608\uc815\uc785\ub2c8\ub2e4.<\/p>\n<p><strong>Kotlin Multiplatform Mobile in Production(\ud504\ub85c\ub355\uc158 \ub2e8\uacc4\uc5d0\uc11c Kotlin Multiplatform Mobile\uc758 \ud65c\uc6a9) &#8211; Kevin Galligan, Tadeas Kriz, Russell Wolf<\/strong><\/p>\n<p>\uc774 \uc6cc\ud06c\uc20d\uc5d0\uc11c\ub294 \ube4c\ub4dc \uc2dc\uc2a4\ud15c \ubc0f \ub3c4\uad6c \ud1b5\ud569, iOS \uce21 SDK \ub514\uc790\uc778, \ud300 \uad6c\uc870, \u2018Kotlin\uc73c\ub85c \uac1c\ubc1c\ud558\ub294 \uc0ac\ub78c\u2019 \ub4f1 Kotlin Multiplatform Mobile\uc744 \ud504\ub85c\ub355\uc158\uc5d0 \uc801\uc6a9\ud558\ub294 \uba87 \uac00\uc9c0 \uc2e4\uc2b5 \uc911\uc2ec\uc758 \uc608\uc2dc\ub97c \uc0b4\ud3b4\ubd05\ub2c8\ub2e4.<\/p>\n<p><strong>Kotlin TDD Masterclass(Kotlin TDD \ub9c8\uc2a4\ud130 \ud074\ub798\uc2a4) &#8211; Nat Pryce, Duncan McGregor<\/strong><\/p>\n<p>\ud14c\uc2a4\ud2b8 \uc8fc\ub3c4 \uac1c\ubc1c(TDD)\uacfc \uad00\ub828\ud55c \uc2e4\uc2b5 \uc911\uc2ec\uc758 \uc774 \uc6cc\ud06c\uc20d\uc5d0\uc11c TDD\uc5d0 \ud65c\uc6a9 \uac00\ub2a5\ud55c Kotlin\uc758 \uae30\ub2a5 \ubc0f TDD \ubc29\uc2dd\uc774 Kotlin\uc5d0 \uc81c\uacf5\ud558\ub294 \uc774\uc810\uc744 \uc0b4\ud3b4\ubcfc \uc608\uc815\uc785\ub2c8\ub2e4. \ud568\uc218\ud615 \uc2a4\ud0c0\uc77c\uc774 \ud14c\uc2a4\ud2b8 \ubc0f \ub514\uc790\uc778\uc5d0 \uc5b4\ub5a4 \uc601\ud5a5\uc744 \ubbf8\uce60\uae4c\uc694? \ubaa8\ud0b9\uc744 \ud53c\ud560 \uc218 \uc788\uc744\uae4c\uc694? \uacfc\uc5f0 \uadf8\ub807\uac8c \ud558\ub294 \uac8c \ub9de\uc744\uae4c\uc694? \ud14c\uc2a4\ud2b8 \uc911 \ud0c0\uc785 \uc2dc\uc2a4\ud15c\uc758 \uc5ed\ud560\uc740 \ubb34\uc5c7\uc77c\uae4c\uc694? \uc6cc\ud06c\uc20d\uc744 \ud1b5\ud574 \uc774\uc640 \uac19\uc740 \uc9c8\ubb38\uc758 \ub2f5\uc744 \ud568\uaed8 \ucc3e\uc544\ubcf4\uc138\uc694.<\/p>\n<p><strong>Building Scalable Microservices With Ktor and Kafka(Ktor \ubc0f Kafka\ub97c \uc0ac\uc6a9\ud558\uc5ec \ud655\uc7a5 \uac00\ub2a5\ud55c \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uad6c\ucd95) &#8211; Anton Arhipov, Viktor Gamov<\/strong><\/p>\n<p>\uc774 \uc6cc\ud06c\uc20d\uc5d0\uc11c\ub294 \uc11c\ubc84 \uce21 \uac1c\ubc1c\uc744 \uc704\ud55c 3\uac00\uc9c0 K(Kotlin \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4, Ktor \uc11c\ube44\uc2a4 \ud504\ub808\uc784\uc6cc\ud06c, \uc774\ubca4\ud2b8 \uc2a4\ud2b8\ub9ac\ubc0d\uc744 \uc704\ud55c Kafka)\ub97c \uc124\uba85\ud569\ub2c8\ub2e4. \uc6cc\ud06c\uc20d\uc744 \ub9c8\uce58\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \uc9c0\uc2dd\uc744 \uc2b5\ub4dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li>Ktor\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc720\uc5f0\ud55c RESTful \uc11c\ube44\uc2a4\ub97c \ub9cc\ub4e4\uace0 \ubc30\ud3ec\ud558\ub294 \ubc29\ubc95.<\/li>\n<li>\ucd94\uac00 \uad6c\uc131\uc774 \ud544\uc694\ud55c \uc678\ubd80 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc640 Ktor\ub97c \ud1b5\ud569\ud558\ub294 \ubc29\ubc95.<\/li>\n<li>Kafka \uc2a4\ud2b8\ub9ac\ubc0d\uacfc \uac19\uc740 \ub2e4\uc591\ud55c \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc11c\ube44\uc2a4\ub97c \uc720\uc5f0\ud558\uac8c \uc5f0\uacb0\ud558\ub294 \ubc29\ubc95.<\/li>\n<\/ul>\n<p><strong>Asynchronous Programming With Kotlin Coroutines(Kotlin \ucf54\ub8e8\ud2f4\uc744 \uc0ac\uc6a9\ud55c \ube44\ub3d9\uae30 \ud504\ub85c\uadf8\ub798\ubc0d) &#8211; Svetlana Isakova, Sebastian Aigner, Roman Elizarov<\/strong><\/p>\n<p>\uc774 \uc6cc\ud06c\uc20d\uc5d0\uc11c\ub294 Kotlin \ucf54\ub8e8\ud2f4\uc744 \ud65c\uc6a9\ud558\uc5ec \uc0dd\uc0b0\uc131\uc744 \ud5a5\uc0c1\ud558\ub294 \ub370 \ud544\uc694\ud55c \ubaa8\ub4e0 \uac83\uc744 \ud559\uc2b5\ud569\ub2c8\ub2e4. \uc6cc\ud06c\uc20d\uc744 \uc644\ub8cc\ud558\uba74 \ucf54\ub8e8\ud2f4 \uad00\ub828 \uc6a9\uc5b4\ub97c \uc775\ud788\uace0, \uc77c\ubc18\uc801 \ubb38\uc81c\ub97c \ubc1c\uacac\ud558\uace0 \uc608\ubc29\ud558\ub294 \ubc29\ubc95\uc744 \uc774\ud574\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \ucf54\ub8e8\ud2f4\uc744 \ud6a8\uacfc\uc801\uc73c\ub85c, \uc790\uc2e0\uac10 \uc788\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>Reactive Spring Boot With Coroutines(\ucf54\ub8e8\ud2f4\uc744 \uc0ac\uc6a9\ud55c \ubc18\uc751\ud615 Spring Boot) &#8211; Urs Peter<\/strong><\/p>\n<p>\uc774 \uc6cc\ud06c\uc20d\uc5d0\uc11c\ub294 Spring Boot\uc758 \ucf54\ub8e8\ud2f4 \uc9c0\uc6d0\uc774 \ubbf8\ud761\ud55c Webflux \uc811\uadfc \ubc29\uc2dd\uc758 \ubaa8\ub4e0 \ub2e8\uc810\uc744 \uc81c\uac70\ud558\uace0, \ubcf5\uc7a1\ud558\uc9c0 \uc54a\uac8c \ubc18\uc751\ud615 \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\ub294 \ubc29\uc2dd\uc744 \ud559\uc2b5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>Kotlin Multiplatform \uc785\ubb38 &#8211; Romain Boisselle, Salomon Brys<\/strong><\/p>\n<p>\uc774 \uc6cc\ud06c\uc20d\uc744 \ud1b5\ud574 Jetpack Compose\ub85c Android\uc5d0\uc11c, Swift UI\ub85c iOS, JetBrains Compose Web\uc73c\ub85c \uc6f9\uc5d0\uc11c, JetBrains Compose Desktop\uc73c\ub85c \ub370\uc2a4\ud06c\ud1b1 JVM\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 \uc791\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uac1c\ubc1c\ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 \ub124\uc774\ud2f0\ube0c \ub8e9\uc564\ud544\uc744 \uc81c\uacf5\ud558\uace0 \uc644\uc804\ud788 \ud14c\uc2a4\ud2b8\ub97c \uac70\uccd0 \uc77c\uad00\uc131 \uc788\ub294 \ube44\uc988\ub2c8\uc2a4 \ub808\uc774\uc5b4\ub97c \uc7ac\uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>Kotlin\uc744 \uc0ac\uc6a9\ud55c \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d &#8211; Ra\u00fal Raja Mart\u00ednez, Alejandro Serrano Mena, Simon Vergauwen<\/strong><\/p>\n<p>\uc774 \uc6cc\ud06c\uc20d\uc5d0\uc11c\ub294 Kotlin \ucf54\ub4dc\uc5d0 \uc9c1\uc811 \uc801\uc6a9 \uac00\ub2a5\ud55c \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \uac1c\ub150\uc744 \uc0b4\ud3b4\ubd05\ub2c8\ub2e4. Arrow\uac00 \uc9c0\uc6d0 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub85c \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc774 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 \ud568\uc218\ud615 \uc2a4\ud0c0\uc77c\uc744 \ud55c\uce35 \uc798 \ud65c\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \uc720\uc6a9\ud55c \ud0c0\uc785 \ubc0f \ud655\uc7a5\uc790\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"KotlinConf \ub4f1\ub85d\ud558\uae30\" href=\"https:\/\/kotlinconf.com\/workshops\/\" target=\"_blank\" rel=\"noopener\">KotlinConf \ub4f1\ub85d\ud558\uae30<\/a><\/p>\n<h2>\ubc1c\ud45c\uc790 \ubaa8\uc9d1<\/h2>\n<p><em>\ud604\uc7ac \ubc1c\ud45c\uc790 \ubaa8\uc9d1\uc740 \uc885\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4<\/em><\/p>\n<p>KotlinConf\ub294 \ucee4\ubba4\ub2c8\ud2f0 \uc774\ubca4\ud2b8\ub85c, \ub9ce\uc740 \ubd84\ub4e4\uc758 \ucc38\uc5ec\ub97c \uae30\ub2e4\ub9bd\ub2c8\ub2e4. \uc9c0\uae08 \ubc1c\ud45c\uc790\ub97c \ubaa8\uc9d1\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4!<\/p>\n<p>\ubc1c\ud45c \uc8fc\uc81c\ub97c \uc81c\ucd9c\ud558\uace0 \uc5ec\ub7ec\ubd84\uc758 \uacbd\ud5d8\uc744 \uacf5\uc720\ud574 \uc8fc\uc138\uc694. Kotlin\uc744 \uc0ac\uc6a9\ud55c \ud601\uc2e0\uc801\uc778 \ubc29\ubc95, \uc5ec\ub7ec\ubd84\uc774 \uacbd\ud5d8\ud55c \ubb38\uc81c, \uc9c1\uc811 \uc81c\uc791\ud55c \ud504\ub808\uc784\uc6cc\ud06c \ub610\ub294 \ub2e4\ub978 \uc0ac\ub78c\uc5d0\uac8c \ub3c4\uc6c0\uc774 \ub420 \ub9cc\ud55c \uc815\ubcf4\ub77c\uba74 \ubb34\uc5c7\uc774\ub4e0 \ubc1c\ud45c \uc8fc\uc81c\uac00 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"\ud1a0\ud06c \uc81c\uc548\ud558\uae30\" href=\"https:\/\/sessionize.com\/kotlinconf-2023\/\" target=\"_blank\" rel=\"noopener\">\ubc1c\ud45c \uc8fc\uc81c \uc81c\ucd9c\ud558\uae30<\/a><\/p>\n<hr class=\"wp-block-separator\">\n<p>KotlinConf&#8217;23\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc744 \uc54c\uc544\ubcf4\ub824\uba74 <a href=\"http:\/\/kotlinconf.com\" target=\"_blank\" rel=\"noreferrer noopener\">kotlinconf.com<\/a>\uc744 \ubc29\ubb38\ud558\uace0 <a href=\"https:\/\/twitter.com\/kotlinconf\" target=\"_blank\" rel=\"noreferrer noopener\">\ud2b8\uc704\ud130\uc5d0\uc11c KotlinConf\ub97c \ud314\ub85c\uc6b0<\/a>\ud574 \uc8fc\uc138\uc694.<\/p>\n<p><em>\uac8c\uc2dc\ubb3c \uc6d0\ubb38 \uc791\uc131\uc790<\/em><\/p>\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/secure.gravatar.com\/avatar\/?s=200&#038;r=g\" width=\"200\" height=\"200\" alt=\"\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":964,"featured_media":267737,"comment_status":"closed","ping_status":"closed","template":"","categories":[89],"tags":[320,548,671],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/272451"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/types\/kotlin"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/964"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/comments?post=272451"}],"version-history":[{"count":6,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/272451\/revisions"}],"predecessor-version":[{"id":297868,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/272451\/revisions\/297868"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media\/267737"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=272451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=272451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=272451"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=272451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}