{"id":24780,"date":"2023-07-09T18:53:55","date_gmt":"2023-07-09T09:53:55","guid":{"rendered":"http:\/\/nori.company\/?p=24780"},"modified":"2023-07-09T18:53:55","modified_gmt":"2023-07-09T09:53:55","slug":"show-gn-migration-tool-from-swagger-to-nestjs-sdk-mockup-simulator-generation","status":"publish","type":"post","link":"https:\/\/nori.company\/?p=24780","title":{"rendered":"Show GN: Migration tool from Swagger to NestJS  SDK\/Mockup Simulator generation"},"content":{"rendered":"<p>Swagger \ubb38\uc11c\ub97c NestJS \ud504\ub85c\uc81d\ud2b8\ub85c \ub9cc\ub4e4\uc5b4\uc8fc\ub294 \ub9c8\uc774\uadf8\ub808\uc774\uc158 \ud504\ub85c\uadf8\ub7a8<\/p>\n<ul>\n<li>NestJS \ub85c\uc758 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \uace0\ub824\ud558\ub294 \uacbd\uc6b0 100% \uc548\uc131\ub9de\ucda4<\/li>\n<li>NestJS \uc5d0 \uad00\uc2ec\uc774 \uc5c6\uc5b4\ub3c4 \ub2e4\uc74c\uc758 \uc774\ub4dd\uc744 \ucde8\ud560 \uc218 \uc788\uc74c<\/li>\n<li>SDK \ub77c\uc774\ube0c\ub7ec\ub9ac \ube4c\ub4dc (collection of fecth functions with type definitions)<\/li>\n<li>Mockup S\n<p>\ucd9c\ucc98 : <a href=\"https:\/\/news.hada.io\/topic?id=9705\" target=\"_blank\" rel=\"noopener\">GeekNews &#8211; \uac1c\ubc1c\/\uae30\uc220\/\uc2a4\ud0c0\ud2b8\uc5c5 \ub274\uc2a4 \uc11c\ube44\uc2a4 <\/a>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Swagger \ubb38\uc11c\ub97c NestJS \ud504\ub85c\uc81d\ud2b8\ub85c \ub9cc\ub4e4\uc5b4\uc8fc\ub294 \ub9c8\uc774\uadf8\ub808\uc774\uc158 \ud504\ub85c\uadf8\ub7a8 NestJS \ub85c\uc758 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \uace0\ub824\ud558\ub294 \uacbd\uc6b0 100% \uc548\uc131\ub9de\ucda4 NestJS \uc5d0 \uad00\uc2ec\uc774 \uc5c6\uc5b4\ub3c4 \ub2e4\uc74c\uc758 \uc774\ub4dd\uc744&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_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}},"categories":[138],"tags":[163],"class_list":["post-24780","post","type-post","status-publish","format-standard","hentry","category-it","tag-geeknews-----"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pa3PO4-6rG","jetpack-related-posts":[{"id":25531,"url":"https:\/\/nori.company\/?p=25531","url_meta":{"origin":24780,"position":0},"title":"Stop using Swagger-UI and MSW, but SDK instead","author":"\ub178\ub9ac\ucef4\ud37c\ub2c8","date":"2023\ub144 7\uc6d4 30\uc77c","format":false,"excerpt":"Swagger.json \ud30c\uc77c\ub85c\ubd80\ud130\uc758 TypeScript SDK \ubc0f \ubaa9\uc5c5 \uc2dc\ubbac\ub808\uc774\ud130 \uc81c\uc791 \ub3c4\uad6c \uc5ec\uae30\uc11c\uc758 SDK (Software Development Kit) \ub294 \ub2e4\uc74c \uae30\ub2a5\ub4e4\uc744 \ub0b4\ud3ec\ud568 collection of fetch functions DTO structures Mockup Simulator SDK\ub97c \ube4c\ub4dc\ud558\uc5ec \uc0ac\uc6a9\uc2dc \ud504\ub860\ud2b8 (\ud074\ub77c\uc774\uc5b8\ud2b8) \uac1c\ubc1c \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":31397,"url":"https:\/\/nori.company\/?p=31397","url_meta":{"origin":24780,"position":1},"title":"OpenAPI \uc2a4\ud399\uc744 SDK\ub85c \ub9cc\ub4e4\uc5b4\uc8fc\ub294 CLI\ub3c4\uad6c","author":"\ub178\ub9ac\ucef4\ud37c\ub2c8","date":"2023\ub144 12\uc6d4 11\uc77c","format":false,"excerpt":"OpenAPI \uc2a4\ud399\uc744 SDK\ub85c \ub9cc\ub4e4\uc5b4\uc8fc\ub294 CLI\ub3c4\uad6c \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":23289,"url":"https:\/\/nori.company\/?p=23289","url_meta":{"origin":24780,"position":2},"title":"Show GN: \uac8c\uc784 \ud14c\uc2a4\ud2b8 \uc790\ub3d9\ud654 SDK &#8211; Gamium","author":"\ub178\ub9ac\ucef4\ud37c\ub2c8","date":"2023\ub144 5\uc6d4 17\uc77c","format":false,"excerpt":"\uac8c\uc784 \ud14c\uc2a4\ud2b8 \uc790\ub3d9\ud654 SDK\uc778 \"Gamium\"\uc744 \uc18c\uac1c\ud569\ub2c8\ub2e4. IT \uc5c5\uacc4\uc5d0\uc11c\ub294 Appium, Selenium, Webdriverio \ub4f1\uc758 \ub2e4\uc591\ud55c \ud234\uc774 \uc624\ud508\uc18c\uc2a4\ub85c \uacf5\uac1c\ub3fc \uc788\uc9c0\ub9cc \uc544\uc9c1\uae4c\uc9c0 \uac8c\uc784 \uc5c5\uacc4\uc5d0\uc11c\ub294 \uc774\ub7ec\ud55c \ud234\ub4e4\uc774 \uacf5\uac1c\ub3fc \uc788\uac70\ub098, \uac1c\ubc1c \ucee4\ubba4\ub2c8\ud2f0 \ud615\uc131\uc774 \ub3fc \uc788\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\uc785\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ubb38\uc81c\ub97c \uc800\ud76c\uac00 \ud574\uacb0\ud574 \uac00\uace0\uc790 \uc624 \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":24193,"url":"https:\/\/nori.company\/?p=24193","url_meta":{"origin":24780,"position":3},"title":"Vercel AI SDK \uacf5\uac1c","author":"\ub178\ub9ac\ucef4\ud37c\ub2c8","date":"2023\ub144 6\uc6d4 19\uc77c","format":false,"excerpt":"React, Svelte, Vue \ub85c \uc2a4\ud2b8\ub9ac\ubc0d, \ucc44\ud305 \ubc29\uc2dd\uc758 AI\uc571\uc744 \uc0dd\uc131\ud558\uae30 \uc704\ud55c SDK SWR(HTTP RFC 5861, Stale-While-Revalidate)\ub97c \ud65c\uc6a9\ud558\uc5ec \ube60\ub974\uac8c \ub3d9\uc791 LangChain, OpenAI, Anthropic, HuggingFace \ub4f1\uc758 \ub2e4\uc591\ud55c \ubaa8\ub378 \uc9c0\uc6d0 Edge Runtime \ud638\ud658 \uc644\ub8cc\ub41c \uc2a4\ud2b8\ub9ac\ubc0d \uacb0\uacfc\ub97c DB\uc5d0 \uc800\uc7a5\ud558\uae30... \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":28802,"url":"https:\/\/nori.company\/?p=28802","url_meta":{"origin":24780,"position":4},"title":"\ud14c\uc2ac\ub77c, \uc368\ub4dc\ud30c\ud2f0 \uc571\uc744 \uc704\ud55c \uacf5\uc2dd API \ubb38\uc11c \ub9b4\ub9ac\uc988","author":"\ub178\ub9ac\ucef4\ud37c\ub2c8","date":"2023\ub144 10\uc6d4 16\uc77c","format":false,"excerpt":"\uc774\uc81c Tesla Vehicle Command SDK\ub97c \ud1b5\ud574\uc11c \ucc28\ub7c9\uc5d0 \uba85\ub839\uc744 \ubcf4\ub0bc \uc218 \uc788\uc74c \uae30\uc874 REST API\ub294 \uc911\ub2e8\uc608\uc815\uc774\uba70, 2024\ub144\ubd80\ud130\ub294 \uc774 SDK\ub97c \ud1b5\ud574\uc11c \uba85\ub839\uc744 \uc804\uc1a1\ud574\uc57c\ud568 \ubaa8\ubc14\uc77c \uc571 \ubc0f \ube0c\ub77c\uc6b0\uc800 \uae30\ubc18 \uc368\ub4dc\ud30c\ud2f0\uc571\ub4e4\uc740 \uc218\ub144\uac04 \ube44\uacf5\uc2dd API\ub97c \uc774\uc6a9\ud574 \uc654\uc74c \ud604\uc7ac\ub294 \ucc28\ub7c9 \uad00\ub9ac\uc5d0 \uc911\uc810\uc744 \ub450\uace0 ... \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":24439,"url":"https:\/\/nori.company\/?p=24439","url_meta":{"origin":24780,"position":5},"title":"Novel &#8211; Notion\uc2a4\ud0c0\uc77c WYSIWIG \uc5d0\ub514\ud130 \uc624\ud508\uc18c\uc2a4","author":"\ub178\ub9ac\ucef4\ud37c\ub2c8","date":"2023\ub144 6\uc6d4 28\uc77c","format":false,"excerpt":"AI\ub97c \uc774\uc6a9\ud55c \uc790\ub3d9\uc644\uc131 \uae30\ub2a5 \ub0b4\uc7a5 \"\/\" \ub85c \uae30\ub2a5 \ud31d\uc5c5 (\uc790\ub3d9\uc644\uc131 \ubc0f \uc2a4\ud0c0\uc77c\ub9c1) Next.js + Tiptap(\uc5d0\ub514\ud130) + OpenAI + Vercel AI SDK + TailwindCSS ... \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":[]}],"_links":{"self":[{"href":"https:\/\/nori.company\/index.php?rest_route=\/wp\/v2\/posts\/24780","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=24780"}],"version-history":[{"count":1,"href":"https:\/\/nori.company\/index.php?rest_route=\/wp\/v2\/posts\/24780\/revisions"}],"predecessor-version":[{"id":24781,"href":"https:\/\/nori.company\/index.php?rest_route=\/wp\/v2\/posts\/24780\/revisions\/24781"}],"wp:attachment":[{"href":"https:\/\/nori.company\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=24780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nori.company\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=24780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nori.company\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=24780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}