{"id":21999,"date":"2023-04-03T10:48:22","date_gmt":"2023-04-03T01:48:22","guid":{"rendered":"http:\/\/nori.company\/?p=21999"},"modified":"2023-04-03T10:48:22","modified_gmt":"2023-04-03T01:48:22","slug":"krotodc-protobuf-plugin-for-kotlin-data-class-grpc-service-stub-generation","status":"publish","type":"post","link":"https:\/\/nori.company\/?p=21999","title":{"rendered":"krotoDC &#8211; protobuf plugin for Kotlin data class \/ gRPC service &#038; stub generation"},"content":{"rendered":"<ul>\n<li>builder \ub85c \ub2e4\ub8e8\uc5b4\uc57c \ud558\ub294 \uae30\uc874 java protobuf class \ub4e4\uc744 \ub300\uc2e0\ud574 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 data class \uc81c\ub108\ub808\uc774\ud130<\/li>\n<li>\uc0dd\uc131\ub41c \ud074\ub798\uc2a4\ub4e4\uc744 request\/response type \uc73c\ub85c \uc0ac\uc6a9\ud558\ub294 \ucf54\ub8e8\ud2f4 service base, stub \ub4e4\ub3c4 \uc0dd\uc131\ud574\uc8fc\uc5b4\uc11c, java class \ub4e4\uc744 \uc544\uc608 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc744 \uc218 \uc788\uc74c.<\/li>\n<li>\uc0dd\uc131\ub41c \ud0c0\uc785\uacfc \uc790\ubc14 \ud0c0\uc785\uac04\uc758 &#8230;\n<p>\ucd9c\ucc98 : <a href=\"https:\/\/news.hada.io\/topic?id=8860\" target=\"_blank\" rel=\"noopener\">GeekNews &#8211; \uac1c\ubc1c\/\uae30\uc220\/\uc2a4\ud0c0\ud2b8\uc5c5 \ub274\uc2a4 \uc11c\ube44\uc2a4 <\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>builder \ub85c \ub2e4\ub8e8\uc5b4\uc57c \ud558\ub294 \uae30\uc874 java protobuf class \ub4e4\uc744 \ub300\uc2e0\ud574 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 data class \uc81c\ub108\ub808\uc774\ud130 \uc0dd\uc131\ub41c \ud074\ub798\uc2a4\ub4e4\uc744 request\/response type&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[138],"tags":[163],"class_list":["post-21999","post","type-post","status-publish","format-standard","hentry","category-it","tag-geeknews-----"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pa3PO4-5IP","jetpack-related-posts":[{"id":27904,"url":"https:\/\/nori.company\/?p=27904","url_meta":{"origin":21999,"position":0},"title":"\uc138\uc0c1\uc5d0\uc11c \uac00\uc7a5 \uc26c\uc6b4 Protobuf \ub77c\uc774\ube0c\ub7ec\ub9ac of TypeScript","author":"\ub178\ub9ac\ucef4\ud37c\ub2c8","date":"2023\ub144 9\uc6d4 22\uc77c","format":false,"excerpt":"Runtime validator \ub77c\uc774\ube0c\ub7ec\ub9ac typia \uc5d0\uc11c \uad6c\uae00\uc758 Protocol Buffer \uc9c0\uc6d0 \uc2dc\uc791 Typia \uc720\uc800\ub4e4\uc774 protobuf \uc5d0 \ub300\ud55c \uc9c0\uc6d0\uc744 \uafb8\uc900\ud788 \uc694\uccad\ud558\uc5ec \uac1c\ubc1c\ud558 Protobuf \uc2a4\ud0a4\ub9c8 \uc815\uc758 \uc5c6\uc774, \uc21c\uc218 TS \ud0c0\uc785\ub9cc\uc73c\ub85c \uc0ac\uc6a9 \uac00\ub2a5 \ub2e8 \ud55c \uc904\uc758 \ucf54\ub4dc\ub9cc\uc73c\ub85c protobuf encode\/decode \uc2dc\uc804 TS \ud0c0\uc785 -> \ucd9c\ucc98 : GeekNews - \uac1c\ubc1c\/\uae30\uc220\/\uc2a4\ud0c0\ud2b8\uc5c5 \ub274\uc2a4 \uc11c\ube44\uc2a4","rel":"","context":"&quot;IT&quot;\uc5d0\uc11c","block_context":{"text":"IT","link":"https:\/\/nori.company\/?cat=138"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26787,"url":"https:\/\/nori.company\/?p=26787","url_meta":{"origin":21999,"position":1},"title":"AppleTV\uc5d0\uc11c Profobuf\ub97c \uc774\uc6a9\ud574 \uc554\ud638\ud654 \ud574\uc81c \ubc0f \uad11\uace0 \uc81c\uac70\ub97c \ud1b5\ud55c YouTube \uad11\uace0 \ucc28\ub2e8","author":"\ub178\ub9ac\ucef4\ud37c\ub2c8","date":"2023\ub144 8\uc6d4 28\uc77c","format":false,"excerpt":"\uae30\uc0ac\ub294 Google\uc758 Protocol Buffer (Protobuf) \ub370\uc774\ud130\uc5d0\uc11c \uad11\uace0\ub97c \ubcf5\ud638\ud654\ud558\uace0 \uc81c\uac70\ud558\uc5ec Apple TV\uc5d0\uc11c YouTube \uad11\uace0\ub97c \ucc28\ub2e8\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \ub17c\uc758\ud569\ub2c8\ub2e4. \uc800\uc790\ub294 Apple TV\uc640 \uc778\ud130\ub137 \uc0ac\uc774\uc5d0 \uc911\uac04\uc790 \ud504\ub85d\uc2dc\ub97c \uc0ac\uc6a9\ud558\uc5ec HTTPS \ud2b8\ub798\ud53d\uc744 \ubcf5\ud638\ud654\ud558\uace0 Google\uc774 YouTube\uc5d0 \uad11\uace0\ub97c \ucc44\uc6b0\ub294 \ub370 \uc0ac\uc6a9\ud558\ub294 Protobuf ... \ucd9c\ucc98 : GeekNews - \uac1c\ubc1c\/\uae30\uc220\/\uc2a4\ud0c0\ud2b8\uc5c5 \ub274\uc2a4 \uc11c\ube44\uc2a4","rel":"","context":"&quot;IT&quot;\uc5d0\uc11c","block_context":{"text":"IT","link":"https:\/\/nori.company\/?cat=138"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26251,"url":"https:\/\/nori.company\/?p=26251","url_meta":{"origin":21999,"position":2},"title":"CSS Selectors \ube44\uc96c\uc5bc \uac00\uc774\ub4dc","author":"\ub178\ub9ac\ucef4\ud37c\ub2c8","date":"2023\ub144 8\uc6d4 16\uc77c","format":false,"excerpt":"\uc77c\ubc18 CSS \uc140\ub809\ud130\ubd80\ud130, Psedo-Class \ubc0f Psedo-Element \ub4e4\uc744 \uc774\ud574\ud558\uae30 \uc27d\uac8c \uc2dc\uac01\uc801\uc73c\ub85c \uc815\ub9ac Selector: universal \/ element \/ class \/ ID \/ multiple \/ descendant \/ adjacent \/ child \/ general sibling comma combinator, lobotomized owl attribute & value link ps... \ucd9c\ucc98 : GeekNews - \uac1c\ubc1c\/\uae30\uc220\/\uc2a4\ud0c0\ud2b8\uc5c5 \ub274\uc2a4 \uc11c\ube44\uc2a4","rel":"","context":"&quot;IT&quot;\uc5d0\uc11c","block_context":{"text":"IT","link":"https:\/\/nori.company\/?cat=138"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":31114,"url":"https:\/\/nori.company\/?p=31114","url_meta":{"origin":21999,"position":3},"title":"\ub3c4\uadf8\ubcfc\ud2b8 \ub514\ucef4\ud30c\uc77c\ub7ec \uc775\uc2a4\ud50c\ub85c\ub7ec","author":"\ub178\ub9ac\ucef4\ud37c\ub2c8","date":"2023\ub144 12\uc6d4 5\uc77c","format":false,"excerpt":"Decompiler Explorer \uc18c\uac1c Decompiler Explorer\ub294 \ubc29\ubb38\uc790\ub4e4\uc5d0\uac8c \ub192\uc740 \ud2b8\ub798\ud53d\uc73c\ub85c \uc778\ud574 \uc11c\ube44\uc2a4 \uc774\uc6a9\uc5d0 \ubd88\ud3b8\uc744 \uacaa\uc744 \uc218 \uc788\uc74c\uc744 \uc54c\ub9bc. \"Samples\" \uc139\uc158\uc5d0\uc11c \uc774\ubbf8 \uc0dd\uc131\ub41c \uacb0\uacfc\ub97c \ud655\uc778\ud558\uac70\ub098, \ub300\uae30 \uc2dc\uac04\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub294 \ud050\ub97c \ud655\uc778\ud560 \uac83\uc744 \uc81c\uc548\ud568. 2MB \uc774\ud558\uc758 \ud30c\uc77c\uc744 \uc5c5\ub85c\ub4dc\ud560... \ucd9c\ucc98 : GeekNews - \uac1c\ubc1c\/\uae30\uc220\/\uc2a4\ud0c0\ud2b8\uc5c5 \ub274\uc2a4 \uc11c\ube44\uc2a4","rel":"","context":"&quot;IT&quot;\uc5d0\uc11c","block_context":{"text":"IT","link":"https:\/\/nori.company\/?cat=138"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":28548,"url":"https:\/\/nori.company\/?p=28548","url_meta":{"origin":21999,"position":4},"title":"Redis \uc0ac\uc6a9\ub7c9 \ud0c0\ub178\uc2a4\ud558\uae30","author":"\ub178\ub9ac\ucef4\ud37c\ub2c8","date":"2023\ub144 10\uc6d4 10\uc77c","format":false,"excerpt":"Redis\uc5d0 \uc218\ub9ce\uc740 \ub370\uc774\ud130\ub4e4\uc774 JSON \ud615\ud0dc\ub85c \uc555\ucd95 \uc5c6\uc774 \uc800\uc7a5\ub418\uace0, Redis \uc11c\ube44\uc2a4 \uac04 \ubaa8\ub378 \uacf5\uc720\uac00 \ub418\uc9c0 \uc54a\uc544 \ubc1c\uc0dd\ud558\ub294 \ube44\uc6a9\uc744 \uc808\uac10\ud558\uae30 \uc704\ud55c \uc5d4\uc9c0\ub2c8\uc5b4\ub9c1 \uc791\uc5c5\uae30 \ub3d9\uc77c\ud55c \uc6d0\ubcf8 \ub370\uc774\ud130\uc758 \uc800\uc7a5 \ubc29\uc2dd\uc744 \ubc14\uafd4\uc11c Elasticache\uc758 \uba54\ubaa8\ub9ac \uc0ac\uc6a9\ub7c9\uc744 52%, \ube44\uc6a9\uc744 66% \uc808\uc57d JSON \ub300\uc2e0 Protobuf\ub97c \uc0ac\uc6a9\ud574\uc11c \ub370\uc774\ud130 \ucd9c\ucc98 : GeekNews - \uac1c\ubc1c\/\uae30\uc220\/\uc2a4\ud0c0\ud2b8\uc5c5 \ub274\uc2a4 \uc11c\ube44\uc2a4","rel":"","context":"&quot;IT&quot;\uc5d0\uc11c","block_context":{"text":"IT","link":"https:\/\/nori.company\/?cat=138"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":30804,"url":"https:\/\/nori.company\/?p=30804","url_meta":{"origin":21999,"position":5},"title":"MeshGPT: \ub514\ucf54\ub354 \uc804\uc6a9 \ud2b8\ub79c\uc2a4\ud3ec\uba38\ub97c \uc774\uc6a9\ud55c \uc0bc\uac01\ud615 \uba54\uc2dc \uc0dd\uc131 \uae30\uc220","author":"\ub178\ub9ac\ucef4\ud37c\ub2c8","date":"2023\ub144 11\uc6d4 29\uc77c","format":false,"excerpt":"MeshGPT: \uc0bc\uac01\ud615 \uba54\uc2dc \uc0dd\uc131\uc744 \uc704\ud55c \ub514\ucf54\ub354 \uc804\uc6a9 \ud2b8\ub79c\uc2a4\ud3ec\uba38 MeshGPT\ub294 \ud559\uc2b5\ub41c \uae30\ud558\ud559\uc801 \uc5b4\ud718\ub85c\ubd80\ud130 \ud1a0\ud070\uc744 \uc0dd\uc131\ud558\ub294 \ud2b8\ub79c\uc2a4\ud3ec\uba38 \ubaa8\ub378\uc744 \uc790\ub3d9 \ud68c\uadc0\uc801\uc73c\ub85c \uc0d8\ud50c\ub9c1\ud558\uc5ec \uc0bc\uac01\ud615 \uba54\uc2dc\ub97c \uc0dd\uc131\ud568. \uc774 \ud1a0\ud070\ub4e4\uc740 \uc0bc\uac01\ud615 \uba54\uc2dc\uc758 \uba74\uc73c\ub85c \ub514\ucf54\ub4dc\ub420 \uc218 \uc788\uc73c\uba70, \uc0dd\uc131\ub41c \uba54\uc2dc\ub294 \uae68\ub057\ud558\uace0 \uc77c\uad00\uc131 \uc788\uc73c\uba70, \ub0a0\uce74... \ucd9c\ucc98 : GeekNews - \uac1c\ubc1c\/\uae30\uc220\/\uc2a4\ud0c0\ud2b8\uc5c5 \ub274\uc2a4 \uc11c\ube44\uc2a4","rel":"","context":"&quot;IT&quot;\uc5d0\uc11c","block_context":{"text":"IT","link":"https:\/\/nori.company\/?cat=138"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/nori.company\/index.php?rest_route=\/wp\/v2\/posts\/21999","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nori.company\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nori.company\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nori.company\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nori.company\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=21999"}],"version-history":[{"count":1,"href":"https:\/\/nori.company\/index.php?rest_route=\/wp\/v2\/posts\/21999\/revisions"}],"predecessor-version":[{"id":22000,"href":"https:\/\/nori.company\/index.php?rest_route=\/wp\/v2\/posts\/21999\/revisions\/22000"}],"wp:attachment":[{"href":"https:\/\/nori.company\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21999"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nori.company\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21999"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nori.company\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}