1"use strict";(self.webpackChunkarmeria_site=self.webpackChunkarmeria_site||[]).push([["2994"],{2112(e,n,t){t.r(n),t.d(n,{assets:()=>h,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>d});var i=t(11204),r=t(74848),s=t(28453),l=t(53572);let a={authors:["trustin"],other_languages:{en:"/blog/2016/04/13/open-sourcing-armeria",ko:"/blog/ko/2016/04/13/open-sourcing-armeria"}},c="\u793E\u5185\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u300CArmeria\u300D\u3092\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u5316\u3059\u308B\u305F\u3081\u306B\u884C\u3063\u305F\uFF16\u3064\u306E\u30B9\u30C6\u30C3\u30D7",h={authorsImageUrls:[void 0]},d=[{value:"1. \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5C65\u6B74\u306E\u30AF\u30EA\u30FC\u30CB\u30F3\u30B0",id:"1-\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5C65\u6B74\u306E\u30AF\u30EA\u30FC\u30CB\u30F3\u30B0",level:2},{value:"2. API\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u4F5C\u6210",id:"2-api\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u4F5C\u6210",level:2},{value:"3. Web\u30B5\u30A4\u30C8\u306E\u69CB\u7BC9",id:"3-web\u30B5\u30A4\u30C8\u306E\u69CB\u7BC9",level:2},{value:"4. \u30ED\u30B4\u306E\u4F5C\u6210",id:"4-\u30ED\u30B4\u306E\u4F5C\u6210",level:2},{value:"5. \u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u6CD5\u7684\u52B9\u529B\u3068\u8CAC\u4EFB\u306B\u5BFE\u3059\u308B\u691C\u8A0E",id:"5-\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u6CD5\u7684\u52B9\u529B\u3068\u8CAC\u4EFB\u306B\u5BFE\u3059\u308B\u691C\u8A0E",level:2},{value:"6. \u591A\u69D8\u306A\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3068\u306E\u5354\u696D",id:"6-\u591A\u69D8\u306A\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3068\u306E\u5354\u696D",level:2},{value:"\u4E00\u7DD2\u306B\u30C1\u30E3\u30EC\u30F3\u30B8\u3057\u3088\u3046\uFF01",i
1d:"\u4E00\u7DD2\u306B\u30C1\u30E3\u30EC\u30F3\u30B8\u3057\u3088\u3046",level:2},{value:"\u8457\u8005\u7D39\u4ECB",id:"\u8457\u8005\u7D39\u4ECB",level:2}];function o(e){let n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"http://line.github.io/armeria/",children:"Armeria"}),"\u306F\u3001Java 8\u304A\u3088\u3073",(0,r.jsx)(n.a,{href:"http://netty.io/",children:"Netty"}),"\u4E0A\u306B\u975E\u540C\u671FRPC/API\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u30B5\u30FC\u30D0\u3092\u5B9F\u88C5\u3057\u305F\u3082\u306E\u3067\u3059\u3002LINE\u306F\u6628\u5E7411\u6708\u3001Armeria\u3092Apache License 2.0\u306E\u3082\u3068\u3001\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u3068\u3057\u3066\u516C\u958B\u3057\u307E\u3057\u305F\u3002Armeria\u306F\u3001HTTP/2\u3092\u30BB\u30C3\u30B7\u30E7\u30F3\u30EC\u30A4\u30E4\u30D7\u30ED\u30C8\u30B3\u30EB\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u9AD8\u6027\u80FD\u306E\u975E\u540C\u671FThrift\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u30B5\u30FC\u30D0\u3092\u69CB\u7BC9\u3059\u308B\u305F\u3081\u306B\u7ACB\u3061\u4E0A\u3052\u305F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u3059\u304C\u3001\u57FA\u672C\u7684\u306B\u30D7\u30ED\u30C8\u30B3\u30EB\u975E\u4F9D\u5B58\u578B\u3067\u62E1\u5F35\u6027\u306B\u512A\u308C\u3066\u3044\u307E\u3059(\u4F8B\u3048\u3070\u3001HTTP/2\u306B\u3088\u3063\u3066\u9759\u7684\u30D5\u30A1\u30A4\u30EB\u3092\u51E6\u7406\u3059\u308B\u3068\u540C\u6642\u306B\u3001Java EE Web\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u8D77\u52D5\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059)\u3002"]}),"\n","\n",(0,r.jsx)(n.p,{children:"\u4ECA\u56DE\u306E\u8A18\u4E8B\u3067\u306F\u3001\u6280\u8853\u7684\u306A\u9762\u306B\u30D5\u30A9\u30FC\u30AB\u30B9\u3059\u308B\u3088\u308A\u306F\u3001\u793E\u5185\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u5316\u3059\u308B\u904E\u7A0B\u306B\u3064\u3044\u3066\u3054\u7D39\u4ECB\u3057\u305F\u3044\u3068\u601D\u3044\u307E\u3059\u3002Armeria\u306E\u6280\u8853\u7684\u306A\u60C5\u5831\u304C\u77E5\u308A\u305F\u3044\u65B9\u306F\u30012\u6708\u306BLINE\u798F\u5CA1\u30AA\u30D5\u30A3\u30B9\u306B\u3066\u958B\u50AC\u3055\u308C\u305F\u7B2C14\u56DELINE Developer Meetup\u3067\u767A\u8868\u3057\u305F\u8CC7\u6599\u3092\u3054\u53C2\u8003\u304F\u3060\u3055\u3044\u3002"}),"\n",(0,r.jsx)(l.A,{children:(0,r.jsx)("script",{async:!0,className:"speakerdeck-embed-script",src:"https://speakerdeck.com/assets/embed.js"})}),"\n",(0,r.jsx)("div",{className:"deck-embed js-deck-embed",style:{aspectRatio:"1024/640"},"data-ratio":"1.6","data-state":"processed",children:(0,r.jsx)("div",{className:"speakerdeck-embed","data-title":"false","data-skip-resize":"true","data-id":"8d645c29ce33400e8360e61fd0250f91","data-name":"Armeria: LINE's next generation RPC layer","data-ratio":"1.6","data-host":"speakerdeck.com"})}),"\n",(0,r.jsx)(n.h2,{id:"1-\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5C65\u6B74\u306E\u30AF\u30EA\u30FC\u30CB\u30F3\u30B0",children:"1. \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5C65\u6B74\u306E\u30AF\u30EA\u30FC\u30CB\u30F3\u30B0"}),"\n",(0,r.jsx)(n.p,{children:"\u793E\u5185\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u9032\u3081\u3066\u3044\u308B\u3068\u3001\u516C\u958B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u3042\u308C\u3070\u6C7A\u3057\u3066\u8868\u306B\u51FA\u3055\u306A\u3044\u306F\u305A\u306E\u6B21\u306E\u3088\u3046\u306A\u5909\u66F4\u5C65\u6B74\u304C\u591A\u6570\u542B\u307E\u308C\u3066\u3057\u307E\u3044\u307E\u3059\u3002"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"\u6A5F\u5BC6\u60C5\u5831(\u30A4\u30B7\u30E5\u30FC\u756A\u53F7\u3001\u30DB\u30B9\u30C8\u540D\u3001\u793E\u5185URL\u306A\u3069)"}),"\n",(0,r.jsx)(n.li,{children:"\u7121\u610F\u5473\u307E\u305F\u306F\u4E0D\u78BA\u5B9F\u306A\u30B3\u30DF\u30C3\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8(\u300CBlah\u300D\u3001\u300CWIP\u300D\u3001\u300CWTF\u300D\u306A\u3069)"}),"\n",(0,r.jsx)(n.li,{children:"\u8457\u4F5C\u6A29\u544A\u77E5\u30D8\u30C3\u30C0\u30FC"}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"\u3053\u306E\u3088\u3046\u306A\u6587\u8A00\u3092\u4FEE\u6B63\u3059\u308B\u30B3\u30DF\u30C3\u30C8\u3092\u30EA\u30DD\u30B8\u30C8\u30EA\u306B\u8FFD\u52A0\u3059\u308B\u3068\u3057\u3066\u3082\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u5C65\u6B74\u304C\u5B8C\u5168\u306B\u6B8B\u3063\u3066\u3057\u307E\u3046\u306E\u3067\u3001\u305D\u3046\u3057\u305F\u4F5C\u696D\u306F\u5F79\u306B\u7ACB\u3061\u307E\u305B\u3093\u3002\u305D\u306E\u305F\u3081\u3001\u5C65\u6B74\u306E\u5185\u5BB9\u3092\u300C\u30AF\u30EA\u30FC\u30CB\u30F3\u30B0\u300D\u3057\u3066\u304A\u3051\u3070\u3001\u4E88\u671F\u305B\u306C\u60C5\u5831\u306E\u6D41\u51FA\u3092\u56DE\u907F\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u30AF\u30EA\u30FC\u30CB\u30F3\u30B0\u306B\u306F2\u3064\u306E\u65B9\u6CD5\u304C\u3042\u308A\u307E\u3059\u3002"}),"\n",(0,r.jsxs)(n.p,{children:["\u4E00\u3064\u76EE\u306F\u3001\u5909\u
166F4\u5C65\u6B74\u3092\u4E00\u3064\u4E00\u3064\u691C\u8A0E\u3057\u306A\u304C\u3089\u4FEE\u6B63\u3059\u308B\u65B9\u6CD5\u3067\u3059\u3002\u3053\u306E\u5834\u5408\u3001",(0,r.jsx)(n.a,{href:"https://git-scm.com/docs/git-filter-branch",children:(0,r.jsx)(n.code,{children:"git filter-branch"})}),"\u306E\u3088\u3046\u306A\u30B3\u30DE\u30F3\u30C9\u3092\u4F7F\u3063\u3066\u81EA\u52D5\u5316\u3059\u308C\u3070\u3001\u3042\u308B\u7A0B\u5EA6\u306E\u624B\u9593\u3092\u7701\u304F\u3053\u3068\u306F\u3067\u304D\u307E\u3059\u304C\u3001\u5909\u66F4\u5C65\u6B74\u3092\u3044\u3061\u3044\u3061\u6CE8\u610F\u6DF1\u304F\u78BA\u8A8D\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002"]}),"\n",(0,r.jsx)(n.p,{children:"\u4E8C\u3064\u76EE\u306F\u3001\u6D41\u51FA\u3057\u3066\u306F\u3044\u3051\u306A\u3044\u5185\u5BB9\u3092\u5168\u90E8\u4FEE\u6B63\u3057\u3001\u8907\u6570\u306E\u5909\u66F4\u5C65\u6B74\u3092\u4E00\u3064\u306E\u30B3\u30DF\u30C3\u30C8\u306B\u5727\u7E2E\u3059\u308B\u65B9\u6CD5\u3067\u3059\u3002\u3053\u308C\u306F\u3001\u4E00\u3064\u76EE\u306E\u65B9\u6CD5\u3088\u308A\u306F\u7C21\u5358\u3067\u3059\u304C\u3001\u3059\u3079\u3066\u306E\u5C65\u6B74\u304C\u5931\u308F\u308C\u3066\u3057\u307E\u3044\u307E\u3059\u3002\u65E2\u5B58\u306E\u5C65\u6B74\u304C\u6D88\u3048\u308B\u306E\u3067\u3001\u5F8C\u3067\u7279\u5B9A\u306E\u30B3\u30FC\u30C9\u3092\u66F8\u3044\u305F\u7406\u7531\u304C\u601D\u3044\u51FA\u305B\u306A\u304F\u3066\u3082\u77E5\u308A\u3088\u3046\u304C\u3042\u308A\u307E\u305B\u3093\u3002"}),"\n",(0,r.jsx)(n.p,{children:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u5C65\u6B74\u304C\u6BD4\u8F03\u7684\u306B\u77ED\u304F\u3001\u660E\u78BA\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u30B9\u30BF\u30A4\u30EB\u30AC\u30A4\u30C9\u306B\u6CBF\u3063\u3066\u30B3\u30FC\u30C9\u3092\u4F5C\u6210\u3057\u305F\u5834\u5408\u306F\u3001\u4E00\u3064\u76EE\u306E\u65B9\u6CD5\u3092\u9078\u629E\u3059\u308B\u3067\u3057\u3087\u3046\u3002\u4E00\u65B9\u3001\u6642\u9593\u3082\u8DB3\u308A\u305A\u3001\u691C\u8A0E\u3059\u3079\u304D\u91CF\u3082\u591A\u3059\u304E\u308B\u5834\u5408\u306F\u3001\u79C1\u305F\u3061\u306E\u3088\u3046\u306B\u5927\u80C6\u306A\u9053\u3092\u9078\u3076\u306F\u305A\u3067\u3059\u3002\u3064\u307E\u308A\u3001\u3059\u3079\u3066\u306E\u5C65\u6B74\u3092\u305F\u3063\u305F\u4E00\u3064\u306E\u30B3\u30DF\u30C3\u30C8\u306B\u307E\u3068\u3081\u3066\u3057\u307E\u3046\u306E\u3067\u3059\u3002"}),"\n",(0,r.jsx)(n.p,{children:"\u305F\u3060\u3001\u6700\u8FD1\u306F\u30B3\u30FC\u30C9\u3092\u4E00\u4EBA\u3067\u5168\u90E8\u66F8\u304F\u3053\u3068\u306F\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u65B9\u6CD5\u306B\u3082\u554F\u984C\u306F\u3042\u308A\u307E\u3059\u3002\u30B3\u30DF\u30C3\u30C8\u3092\u4E00\u3064\u3060\u3051\u6B8B\u3057\u3066\u304A\u304F\u3053\u3068\u306B\u306A\u308B\u3068\u3001\u5DE7\u307F\u306A\u30B9\u30AD\u30EB\u3092\u767A\u63EE\u3057\u3066\u5354\u529B\u3057\u3066\u304F\u308C\u305F\u591A\u304F\u306E\u65B9\u306E\u52B4\u3092\u306D\u304E\u3089\u3046\u65B9\u6CD5\u304C\u306A\u304F\u306A\u3063\u3066\u3057\u307E\u3044\u307E\u3059\u3002\u305D\u306E\u305F\u3081\u3001\u7D50\u5C40\u4E0B\u8A18\u306E\u3068\u304A\u308A\u30B3\u30DF\u30C3\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u6B8B\u3059\u3053\u3068\u3067\u611F\u8B1D\u306E\u610F\u3092\u8868\u3059\u3057\u304B\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"Subject: Initial import\nThis commit contains the collective work of the following enthusiastic\ncontributors at LINE Corporation:\n- Anuraag Agrawal @anuraaga\n- Heon Jeong @blmarket\n- Young-tae Seok @delegacy\n- Su-ahn Lee @inch772\n- Woo-jung Choi @sophiechoi\n- Trustin Lee @trustin\n- Yuichi Ono\n"})}),"\n",(0,r.jsx)(n.p,{children:"\u4ECA\u632F\u308A\u8FD4\u3063\u3066\u307F\u308B\u3068\u3001\u30B3\u30DF\u30C3\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8\u306B\u611F\u8B1D\u306E\u6C17\u6301\u3061\u3092\u3082\u3063\u3068\u7A4D\u6975\u7684\u306B\u8868\u73FE\u3059\u3079\u304D\u3060\u3063\u305F\u3068\u601D\u3044\u307E\u3059\u3002\u3053\u306E\u8A18\u4E8B\u3092\u304A\u501F\u308A\u3057\u3066\u3001\u3054\u5354\u529B\u3044\u305F\u3060\u3044\u305F\u65B9\u3005\u306B\u6539\u3081\u3066\u539A\u304F\u5FA1\u793C\u7533\u3057\u4E0A\u3052\u307E\u3059\u3002"}),"\n",(0,r.jsx)(n.h2,{id:"2-api\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u4F5C\u6210",children:"2. API\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u4F5C\u6210"}),"\n",(0,r.jsx)(n.p,{children:"\u30BC\u30ED\u304B\u3089\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u59CB\u3081\u308B\u3068\u304D\u3001\u7279\u306B\u53C2\u8003\u306B\u3067\u304D\u308B\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304C\u306A\u3044\u5834\u5408\u306F\u3001\u30B3\u30FC\u30C9\u3092\u8FC5\u901F\u306B\u4F5C\u6210\u3057\u3066\u65E9\u3081\u306B\u516C\u958B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u305D\u3046\u3057\u306A\u3051\u308C\u3070\u3001\u8A2D\u8A08\u4E0A\u306E\u30A4\u30B7\u30E5\u30FC\u3084\u30D0\u30B0\u3092\u65E9\u671F\u306B\u767A\u898B\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002\u3053\u306E\u6BB5\u968E\u3067API\u306E\u5909\u
166F4\u304C\u983B\u7E41\u306B\u767A\u751F\u3057\u307E\u3059\u304C\u3001\u5B9F\u88C5\u4F5C\u696D\u306B\u96C6\u4E2D\u3057\u3066\u3044\u308B\u3068API\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u4F5C\u6210\u306F\u5F8C\u56DE\u3057\u306B\u306A\u308A\u3001\u3044\u3064\u304B\u57CB\u3081\u306A\u3051\u308C\u3070\u306A\u3089\u306A\u3044\u7A74\u3068\u3057\u3066\u6B8B\u3063\u3066\u3057\u307E\u3044\u307E\u3059(\u6B63\u76F4\u306A\u3068\u3053\u308D\u3001\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u66F8\u304F\u3053\u3068\u3088\u308A\u30B3\u30FC\u30C9\u3092\u66F8\u304F\u3053\u3068\u3088\u308A\u30B3\u30FC\u30C9\u3092\u66F8\u304F\u3053\u3068\u306E\u65B9\u304C\u9065\u304B\u306B\u697D\u3057\u3044\u3068\u3044\u3046\u3053\u3068\u3082\u3042\u308A\u307E\u3059)\u3002"}),"\n",(0,r.jsx)(n.p,{children:"\u3057\u304B\u3057\u3001\u826F\u3044\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u306F\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u5206\u91CE\u306B\u304A\u3044\u3066\u4E2D\u6838\u7684\u306A\u8981\u7D20\u3067\u3059\u3002\u3088\u307B\u3069\u5207\u5B9F\u306A\u72B6\u6CC1\u3067\u306A\u3044\u9650\u308A\u3001\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u63D0\u4F9B\u3057\u3066\u3044\u306A\u3044\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u30BD\u30D5\u30C8\u30A6\u30A7\u30A2\u3092\u4F7F\u304A\u3046\u3068\u3059\u308B\u4EBA\u306F\u3044\u307E\u305B\u3093\u3002\u3057\u3063\u304B\u308A\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3055\u308C\u3066\u3044\u306A\u3044\u79C1\u305F\u3061\u306E\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u3001\u8AB0\u304C\u9078\u629E\u3057\u3066\u304F\u308C\u308B\u3067\u3057\u3087\u3046\u304B\u3002\u4E16\u306E\u4E2D\u306B\u306F\u3001\u3059\u3067\u306B\u985E\u4F3C\u3057\u305F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304C\u6570\u591A\u304F\u516C\u958B\u3055\u308C\u3066\u3044\u308B\u3053\u3068\u3092\u5FD8\u308C\u3066\u306F\u3044\u3051\u307E\u305B\u3093\u3002"}),"\n",(0,r.jsx)(n.p,{children:"\u7D50\u5C40\u3001\u6B8B\u3057\u3066\u304A\u3044\u305F\u7A74\u306F\u3059\u3079\u3066\u57CB\u3081\u3056\u308B\u3092\u5F97\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u305D\u308C\u3092\u300C\u6280\u8853\u7684\u8CA0\u50B5(technical debt)\u300D\u3068\u3044\u3046\u7528\u8A9E\u306B\u306A\u3089\u3063\u3066\u300C\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u306E\u8CA0\u50B5(documentation debt)\u300D\u3068\u547C\u3073\u307E\u3057\u305F\u3002\u7387\u76F4\u306B\u8A00\u3063\u3066\u3001\u305D\u306E\u8CA0\u50B5\u3092\u8FD4\u3059\u3053\u3068\u306F\u6C7A\u3057\u3066\u6109\u5FEB\u306A\u3053\u3068\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u3067\u3082\u3001\u4E00\u5EA6\u3057\u3063\u304B\u308A\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3057\u3066\u304B\u3089\u306F\u3001\u8CA0\u50B5\u3092\u6700\u4F4E\u9650\u306B\u6291\u3048\u3066\u7DAD\u6301\u3067\u304D\u308B\u3088\u3046\u306B\u306A\u308A\u307E\u3057\u305F\u3002\u30D1\u30D6\u30EA\u30C3\u30AF\u30E1\u30BD\u30C3\u30C9\u3084\u30AF\u30E9\u30B9\u3092\u65B0\u898F\u3067\u4F5C\u6210\u3057\u305F\u3089\u3001\u30EC\u30D3\u30E5\u30FC\u3057\u306A\u304C\u3089\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u4F5C\u696D\u3092\u5E73\u884C\u3059\u308C\u3070\u3044\u3044\u306E\u3067\u3059\u3002\u3053\u308C\u306F\u30D0\u30E9\u30F3\u30B9\u306E\u826F\u3044\u4F53\u3092\u7DAD\u6301\u3059\u308B\u3053\u3068\u3068\u4F3C\u3066\u3044\u307E\u3059\u3002\u4E00\u5EA6\u30B9\u30DE\u30FC\u30C8\u306A\u4F53\u3092\u4F5C\u3063\u3066\u304A\u3051\u3070\u3001\u305D\u306E\u6B21\u304B\u3089\u306F\u4F53\u578B\u3092\u7DAD\u6301\u3057\u3084\u3059\u304F\u306A\u308B\u3068\u3044\u3046\u539F\u7406\u3067\u3059\u3002"}),"\n",(0,r.jsx)(n.h2,{id:"3-web\u30B5\u30A4\u30C8\u306E\u69CB\u7BC9",children:"3. Web\u30B5\u30A4\u30C8\u306E\u69CB\u7BC9"}),"\n",(0,r.jsx)(n.p,{children:"Github\u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u63D0\u4F9B\u3059\u308B\u305F\u3081\u306E\u3044\u3044\u571F\u53F0\u3067\u3059\u304C\u3001\u5C02\u7528\u306EWeb\u30B5\u30A4\u30C8\u3092\u6D3B\u7528\u3059\u308B\u3068\u3055\u3089\u306B\u52B9\u7387\u7684\u3067\u3059\u3002\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306EWeb\u30B5\u30A4\u30C8\u304C\u3042\u308C\u3070\u3001\u77E5\u308A\u305F\u3044\u60C5\u5831\u3092\u597D\u304D\u306A\u65B9\u6CD5\u3067\u69CB\u6210\u3057\u3066\u63D0\u4F9B\u3067\u304D\u308B\u3060\u3051\u3067\u306A\u304F\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u6027\u683C\u3092\u3088\u308A\u8996\u899A\u7684\u304B\u3064\u52B9\u679C\u7684\u306B\u4F1D\u3048\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002"}),"\n",(0,r.jsx)(n.p,{children:"\u3057\u304B\u3057\u3001Web\u30B5\u30A4\u30C8\u306E\u69CB\u7BC9\u306F\u7C21\u5358\u306A\u3053\u3068\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u3055\u3089\u306B\u3001Web\u30B5\u30A4\u30C8\u306E\u7BA1\u7406\u306E\u305F\u3081\u306B\u3001\u30B3\u30FC\u30C9\u3092\u6570\u884C\u66F8\u304D\u8FBC\u3080\u4EE5\u5916\u306B\u591A\u304F\u306E\u6642\u9593\u3092\u304B\u3051\u305F\u304F\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u305D\u306E\u305F\u3081\u5FC5\u8981\u3060\u3063\u305F\u306E\u306F\u3001\u62E1\u5F35\u53EF\u80FD\u306A\u65B9\u5F0F\u3067Web\u30B5\u30A4\u30C8\u3092\u69CB\u7BC9\u30F
1B\u30E1\u30F3\u30C6\u30CA\u30F3\u30B9\u3067\u304D\u308B\u30C4\u30FC\u30EB\u3067\u3057\u305F\u3002"}),"\n",(0,r.jsxs)(n.p,{children:["\u5E78\u3044\u306A\u3053\u3068\u306B\u3001\u6570\u4EBA\u306E\u30A8\u30F3\u30B8\u30CB\u30A2\u304C\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u3067\u516C\u958B\u3057\u305F\u7D20\u6674\u3089\u3057\u3044Web\u30B5\u30A4\u30C8\u4F5C\u6210\u30C4\u30FC\u30EB\u304C\u3042\u308A\u307E\u3057\u305F\u3002\u3053\u306E\u30C4\u30FC\u30EB\u3092\u4F7F\u7528\u3059\u308C\u3070\u3001HTML\u3084CSS\u3092\u76F4\u63A5\u6271\u3048\u308B\u3088\u3046\u306B\u306A\u308A\u3001\u30C7\u30B6\u30A4\u30CA\u30FC\u306E\u8CA0\u62C5\u3092\u8EFD\u6E1B\u3067\u304D\u307E\u3059\u3002\u305D\u3053\u3067\u9078\u629E\u3057\u305F\u306E\u306F",(0,r.jsx)(n.a,{href:"http://www.sphinx-doc.org/en/stable/",children:"Sphinx"}),"\u3067\u3001",(0,r.jsx)(n.a,{href:"http://trustin.github.io/sphinx-maven-plugin/",children:"sphinx-maven-plugin"}),"\u3068",(0,r.jsx)(n.a,{href:"http://read-the-docs.readthedocs.org/en/latest/",children:"Read the Docs theme"}),"\u3092\u3082\u4F75\u7528\u3059\u308B\u3053\u3068\u3067\u3001\u30D3\u30EB\u30C9\u30D7\u30ED\u30BB\u30B9\u306E\u4E00\u90E8\u3068\u3057\u3066Web\u30B5\u30A4\u30C8\u3092\u4F5C\u6210\u3067\u304D\u308B\u3088\u3046\u306B\u306A\u308A\u307E\u3057\u305F\u3002\u305D\u306E\u307B\u304B\u306B\u3082\u3001",(0,r.jsx)(n.a,{href:"http://awestruct.org/",children:"Awestruct"}),"\u3001",(0,r.jsx)(n.a,{href:"https://jekyllrb.com/",children:"Jekyll"}),"\u306E\u3088\u3046\u306B\u540C\u3058\u7528\u9014\u3067\u4F7F\u7528\u3067\u304D\u308B\u30C4\u30FC\u30EB\u304C\u8907\u6570\u3042\u308A\u307E\u3059\u3002Web\u30B5\u30A4\u30C8\u306E\u69CB\u7BC9\u306B\u8208\u5473\u306E\u3042\u308B\u65B9\u306F\u3001\u3053\u308C\u3089\u306E\u30C4\u30FC\u30EB\u3092\u8A66\u3057\u3066\u307F\u3066\u3001\u3054\u81EA\u5206\u306B\u4E00\u756A\u9069\u3057\u305F\u3082\u306E\u3092\u9078\u629E\u3057\u3066\u307F\u3066\u306F\u3044\u304B\u304C\u3067\u3057\u3087\u3046\u304B\u3002"]}),"\n",(0,r.jsx)(n.h2,{id:"4-\u30ED\u30B4\u306E\u4F5C\u6210",children:"4. \u30ED\u30B4\u306E\u4F5C\u6210"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{src:t(32532).A+"",width:"938",height:"811"})}),"\n",(0,r.jsx)(n.p,{children:"Armeria\u306E\u30ED\u30B4"}),"\n",(0,r.jsx)(n.p,{children:"\u30ED\u30B4\u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30A8\u30C3\u30BB\u30F3\u30B9\u3068\u8A00\u3048\u307E\u3059\u3002\u30ED\u30B4\u306F\u3001\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u76EE\u7684\u3068\u65B9\u54
111\u6027\u3092\u8996\u899A\u7684\u306B\u3001\u305D\u3057\u3066\u8C61\u5FB4\u7684\u306B\u8868\u73FE\u3059\u308B\u624B\u6BB5\u3067\u3059\u3002\u306A\u304A\u3001\u30ED\u30B4\u304B\u3089\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304C\u9023\u60F3\u3055\u308C\u3001\u3088\u308A\u899A\u3048\u3066\u3082\u3089\u3044\u3084\u3059\u304F\u3059\u308B\u52B9\u679C\u3082\u3042\u308A\u307E\u3059\u3002"}),"\n",(0,r.jsx)(n.p,{children:"\u3053\u306E\u3088\u3046\u306B\u3001\u30ED\u30B4\u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u91CD\u5927\u306A\u5F71\u97FF\u3092\u53CA\u307C\u3059\u305F\u3081\u3001\u30C7\u30B6\u30A4\u30CA\u30FC\u306F\u614E\u91CD\u306B\u5DE5\u592B\u3057\u3066\u305F\u304F\u3055\u3093\u306E\u30D7\u30ED\u30C8\u30BF\u30A4\u30D7\u3092\u5236\u4F5C\u3057\u3066\u307F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u5E78\u3044\u306B\u3082\u3001\u7523\u696D\u30C7\u30B6\u30A4\u30F3\u3092\u5C02\u653B\u3057\u305F\u30E1\u30F3\u30D0\u30FC\u304C\u30BF\u30A4\u30DF\u30F3\u30B0\u3088\u304F\u5165\u793E\u3057\u3066\u304F\u308C\u307E\u3057\u305F\u3002\u30E1\u30A4\u30F3\u306E\u696D\u52D9\u3067\u591A\u5FD9\u306A\u4E2D\u3001\u6642\u9593\u3092\u5272\u3044\u3066\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u304F\u308C\u3066\u672C\u5F53\u306B\u52A9\u304B\u308A\u307E\u3057\u305F\u3002\u3053\u308C\u304B\u3089\u3082\u4ECA\u56DE\u306B\u8CA0\u3051\u306A\u3044\u304F\u3089\u3044\u7D20\u6575\u306A\u30ED\u30B4\u3092\u4F5C\u3063\u3066\u304F\u308C\u308B\u3068\u671F\u5F85\u3057\u3066\u3044\u307E\u3059\u3002"}),"\n",(0,r.jsx)(n.h2,{id:"5-\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u6CD5\u7684\u52B9\u529B\u3068\u8CAC\u4EFB\u306B\u5BFE\u3059\u308B\u691C\u8A0E",children:"5. \u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u6CD5\u7684\u52B9\u529B\u3068\u8CAC\u4EFB\u306B\u5BFE\u3059\u308B\u691C\u8A0E"}),"\n",(0,r.jsx)(n.p,{children:"\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u30BD\u30D5\u30C8\u30A6\u30A7\u30A2\u3068\u3044\u3046\u8003\u3048\u65B9\u306F\u3001\u30B3\u30F3\u30D4\u30E5\u30FC\u30BF\u6280\u8853\u306E\u59CB\u307E\u308A\u306E\u9803\u304B\u3089\u5B58\u5728\u3057\u3066\u304D\u305F\u3082\u306E\u3067\u3059\u3002\u3057\u304B\u3057\u3001\u4EBA\u3005\u304C\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u30E9\u30A4\u30BB\u30F3\u30B9\u306B\u95A2\u5FC3\u3092\u54
111\u3051\u308B\u3088\u3046\u306B\u306A\u3063\u305F\u306E\u306F\u6700\u8FD1\u306E\u3053\u3068\u3067\u3059\u3002\u4E00\u90E8\u306E\u4EBA\u3005\u306F\u3001\u7121\u6599\u3067\u4F7F\u7528\u3067\u304D\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u3042\u3063\u3066\u3082\u3001\u8AB0\u304B\u306B\u6240\u6709\u6A29\u304C\u3042\u308B\u3053\u3068\u3092\u898B\u904E\u3054\u3057\u3066\u3044\u308B\u306E\u3067\u306F\u306A\u3044\u304B\u3068\u601D\u3044\u307E\u3059\u3002\u305D\u306E\u89B3\u70B9\u304B\u3089Armeria\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u306F\u3001\u6CD5\u7684\u554F\u984C\u304C\u767A\u751F\u3059\u308B\u53EF\u80FD\u6027\u3092\u6291\u3048\u308B\u305F\u3081\u3001Armeria\u3067\u4F7F\u7528\u3057\u305F\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u30BD\u30D5\u30C8\u30A6\u30A7\u30A2\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E9\u30A4\u30BB\u30F3\u30B9\u6761\u9805\u306B\u9055\u53CD\u3057\u306A\u3044\u3088\u3046\u306B\u3001\u683C\u5225\u306A\u6CE8\u610F\u3092\u6255\u3044\u307E\u3057\u305F\u3002"}),"\n",(0,r.jsx)(n.p,{children:"\u305D\u306E\u4E00\u74B0\u3068\u3057\u3066\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30EA\u30DD\u30B8\u30C8\u30EA\u306B\u3059\u3079\u3066\u306E\u30E9\u30A4\u30BB\u30F3\u30B9\u6761\u9805\u30D5\u30A1\u30A4\u30EB\u3068\u30B5\u30DE\u30EA\u30FC\u3092\u542B\u3081\u3001Armeria\u304C\u3069\u306E\u30BD\u30D5\u30C8\u30A6\u30A7\u30A2\u306B\u52A9\u3051\u3089\u308C\u305F\u306E\u304B\u3092\u30E6\u30FC\u30B6\u30FC\u306B\u660E\u78BA\u306B\u958B\u793A\u3057\u3066\u3044\u307E\u3059\u3002\u306A\u304A\u3001Armeria\u5185\u3067\u305D\u306E\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u30BD\u30D5\u30C8\u30A6\u30A7\u30A2\u306E\u3069\u306E\u90E8\u5206\u3092\u4FEE\u6B63\u3057\u3001\u518D\u914D\u5E03\u3057\u305F\u306E\u304B\u3092\u5177\u4F53\u7684\u306B\u660E\u8A18\u3057\u3066\u3044\u307E\u3059\u3002"}),"\n",(0,r.jsxs)(n.p,{children:["Armeria\u306B\u3064\u3044\u3066\u306F\u3001\u6240\u6709\u4E3B\u4F53\u306E\u3042\u308B\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306A\u306E\u3067\u3001\u516C\u6B63\u304B\u3064\u660E\u78BA\u306A\u30EB\u30FC\u30EB\u306B\u5247\u3063\u3066\u30E9\u30A4\u30BB\u30F3\u30B9\u3092\u4E0E\u3048\u3066\u3044\u307E\u3059\u3002\u6B21\u306E\u3088\u3046\u306A\u7279\u5FB4\u304B\u3089\u3001\u8907\u6570\u3042\u308B\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u3046\u3061",(0,r.jsx)(n.a,{href:"https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)",children:"Apache License 2.0"}),"\u3092\u9078\u629E\u3057\u307E\u3057\u305F\u3002"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Apache License 2.0\u30E9\u30A4\u30BB\u30F3\u30B9\u3092\u63A1\u7528\u3057\u3066\u3044\u308B\u30BD\u30D5\u30C8\u30A6\u30A7\u30A2\u306F\u3001\u7121\u6599\u3067\u4F7F\u7528\u3001\u8907\u88FD\u3001\u4FEE\u6B63\u3001\u9812\u5E03\u3001\u8CA9\u58F2\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u3001\u30BD\u30FC\u30B9\u30B3\u30FC\u30C9\u3092\u958B\u793A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u305B\u3093\u3002"}),"\n",(0,r.jsx)(n.li,{children:"\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u306E\u7279\u8A31\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u4ED8\u4E0E\u304A\u3088\u3073\u7279\u8A31\u4FB5\u5BB3\u306B\u95A2\u3059\u308B\u6761\u9805(Grant of Patent License)\u304C\u660E\u8A18\u3055\u308C\u3066\u3044\u307E\u3059\u3002"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["\u898B\u9003\u3057\u304C\u3061\u306A\u3082\u3046\u4E00\u3064\u306E\u91CD\u8981\u306A\u30DD\u30A4\u30F3\u30C8\u306FCLA(Contributor License Agreement)\u3067\u3059\u3002CLA\u306F\u3001\u90E8\u5916\u8005\u306B\u3088\u308B\u8CA2\u732E\u3092\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u53D6\u308A\u5165\u308C\u305F\u3044\u3068\u304D\u306B\u5FC5\u8981\u3067\u3059\u3002\u4F8B\u3048\u3070\u3001\u90E8\u5916\u8005\u304C\u6709\u7528\u306A\u6A5F\u80FD\u3092\u63D0\u6848\u3059\u308Bpull request\u3092\u9001\u3063\u305F\u5834\u5408\u306F\u3001\u305D\u306E\u6A5F\u80FD\u3092\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u53CD\u6620\u3059\u308B\u524D\u306B\u3001\u63D0\u6848\u3092\u63D0\u51FA\u3057\u305F\u4EBA\u304B\u3089CLA\u306B\u540C\u610F\u3059\u308B\u7F72\u540D\u3092\u53D7\u3051\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002CLA\u306B\u3064\u3044\u3066\u8A73\u3057\u304F\u8AAC\u660E\u3059\u308B\u3068\u3001\u4ECA\u56DE\u306E\u8A18\u4E8B\u306E\u30C6\u30FC\u30DE\u304B\u3089\u5916\u308C\u308B\u306E\u3067\u5272\u611B\u3057\u307E\u3059\u304C\u3001\u305D\u306E\u4EE3\u308F\u308A\u306B\u95A2\u9023\u60C5\u5831\u3092\u63D0\u4F9B\u3057\u3066\u3044\u308B\u30EA\u30F3\u30AF\u3092\u3054\u7D39\u4ECB\u3057\u307E\u3059\u3002\u8A73\u3057\u304F\u306F\u3001",(0,r.jsx)(n.a,{href:"http://oss-watch.ac.uk/resources/cla",children:"OSS Watch"}),"\u304A\u3088\u3073",(0,r.jsx)(n.a,{href:"https://www.clahub.com/pages/why_cla",children:"CLAHub"}),"\u3092\u3054\u53C2\u8003\u304F\u3060\u3055\u3044\u3002."]}),"\n",(0,r.jsx)(n.p,{children:"\u3053\u306E\u3088\u3046\u306A\u4E00\u9023\u306E\u904E\u7A0B\u306F\u3001\u591A\u304F\u306E\u6642\u9593\u3068\u624B\u9593\u304C\u304B\u304B\u308A\u305D\u3046\u306B\u898B\u3048\u307E\u3059\u304C\u3001\u5B9F\u969B\u306F\u305D\u3046\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u307B\u3068\u3093\u3069\u306F\u4E00\u56DE\u3067\u7D42\u308F\u308B\u4F5C\u696D\u3067\u3042\u308A\u3001\u6CD5\u52D9\u90E8\u7F72\u306E\u4EF2\u9593\u304C\u5384\u4ECB\u306A\u6CD5\u7684\u554F\u984C\u3092\u4EE3\u308F\u308A\u306B\u51E6\u7406\u3057\u3066\u304F\u308C\u307E\u3059\u3002\u5C11\u3057\u3067\u3082\u61F8\u5FF5\u70B9\u304C\u3042\u308C\u3070\u3001\u3059\u3050\u306B\u6CD5\u52D9\u90E8\u7F72\u3092\u8A2A\u306D\u307E\u3057\u3087\u3046\u3002"}),"\n",(0,r.jsx)(n.h2,{id:"6-\u591A\u69D8\u306A\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3068\u306E\u5354\u696D",children:"6. \u591A\u69D8\u306A\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3068\u306E\u5354\u696D"}),"\n",(0,r.jsxs)(n.p,{children:["\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u5229\u7528\u3057\u3066\u3044\u308B\u3068\u3001\u30D0\u30B0\u3092\u767A\u898B\u3059\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\u81EA\u5206\u3067\u89E3\u6C7A\u7B56\u3092\u8B1B\u3058\u308B\u3053\u3068\u3082\u3067\u304D\u307E\u3059\u304C\u3001\u305D\u3046\u306A\u3089\u306A\u3044\u5834\u5408\u3082\u3042\u308A\u307E\u3059\u3002\u5143\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u30D5\u30A9\u30FC\u30AF\u3057\u3066\u81EA\u5206\u7528\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4F5C\u6210\u3057\u3001\u76F4\u63A5\u4FEE\u6B63\u30FB\u7BA1\u7406\u3059\u308B\u3053\u3068\u3082\u3067\u304D\u307E\u3059\u304C\u3001\u305D\u308C\u3088\u308A\u3082\u3063\u3068\u52B9\u7387\u7684\u306A\u306E\u306F\u3001\u30A2\u30C3\u30D7\u30B9\u30C8\u30EA\u30FC\u30E0(upstream)\u306B\u5909\u
166F4\u3092\u63D0\u6848\u3059\u308B\u65B9\u6CD5\u3067\u3059\u3002\u305D\u3046\u3057\u306A\u3044\u3068\u3001\u3044\u3064\u307E\u3067\u3082\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u76F4\u63A5\u7BA1\u7406\u3057\u306A\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002\u306A\u304A\u3001\u30A2\u30C3\u30D7\u30B9\u30C8\u30EA\u30FC\u30E0\u306B\u8CA2\u732E\u3059\u308C\u3070\u3001\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u696D\u754C\u3067\u81EA\u5206\u306E\u6D3B\u52D5\u3092\u30A2\u30D4\u30FC\u30EB\u3067\u304D\u3001\u4ED6\u306E\u4EBA\u3068\u306E\u5354\u696D\u3067\u3055\u3089\u306A\u308B\u697D\u3057\u3055\u3092\u5473\u308F\u3046\u3053\u3068\u3082\u3067\u304D\u307E\u3059\u3002\u3053\u306E\u3088\u3046\u306A\u3053\u3068\u306F\u3001\u3044\u305A\u308C\u3082\u7686\u69D8\u306E\u7D4C\u6B74\u306B\u3068\u3063\u3066\u30D7\u30E9\u30B9\u306B\u306A\u308B\u306B\u9055\u3044\u3042\u308A\u307E\u305B\u3093\u3002 Armeria\u306E\u958B\u767A\u306B\u53D6\u308A\u7D44\u3093\u3067\u3044\u308B\u9593\u3001",(0,r.jsx)(n.a,{href:"http://netty.io/",children:"Netty\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8"}),"\u3067\u69D8\u3005\u306A\u30A4\u30B7\u30E5\u30FC\u3092\u767A\u898B\u3057\u3066\u5831\u544A\u3057\u307E\u3057\u305F\u3002\u4E00\u90E8\u306E\u30A4\u30B7\u30E5\u30FC\u306B\u3064\u3044\u3066\u306F\u3001\u4FEE\u6B63\u4F5C\u696D\u3092\u624B\u4F1D\u3063\u305F\u3053\u3068\u3082\u3042\u308A\u307E\u3059\u3002"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["HTTP/1\u304A\u3088\u3073HTTP/2\u95A2\u9023","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/netty/netty/pull/4785",children:"#4785"})," - Fix missing trailing data on HTTP client upgrade"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/netty/netty/pull/4582",children:"#4582"})," - Revamp InboundHttp2ToHttpAdapter builder API"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/netty/netty/pull/4574",children:"#4574"})," - Revamp the Http2ConnectionHandler builder API"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/netty/netty/pull/4525",children:"#4525"}),' - Fix the incorrect usage/value of "Connection: upgrade"']}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/netty/netty/pull/4524",children:"#4524"})," - Fix IllegalReferenceCountException caused by HttpClientCodec.upgradeFrom()"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/netty/netty/pull/4523",children:"#4523"})," - Relax the sanity check in HttpClientUpgradeHandler"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/netty/netty/pull/4428",children:"#4428"})," - Reject the first SETTINGS ack on HTTP/2 Preface"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/netty/netty/pull/4210",children:"#4210"})," - Http2ConnectionHandler does not close the stream 1 (HTTP_UPGRADE_STREAM_ID)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/netty/netty/pull/3876",children:"#3876"})," - Lazily instantiate HttpServerUpgradeHandler.UpgradeCodec"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["DNS\u95A2\u9023","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/netty/netty/pull/4946",children:"#4946"})," - Fix potential infinite loop when resolving CNAME records"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/netty/netty/pull/4837",children:"#4837"})," - Preserve the host name of address when parsing /etc/hosts file"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/netty/netty/pull/4665",children:"#4665"})," - Netty's DNS resolution should take into account system domain name"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/netty/netty/pull/4541",children:"#4541"})," - Don't cycle dns servers while cycling dns record types."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\u305D\u306E\u4ED6","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/netty/netty/pull/4547",children:"#4547"})," - NPE in PooledByteBufAllocator.newDirectBuffer()"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/netty/netty/pull/4419",children:"#4419"}),' - Fix a bug where DefaultPromise.toString() says "incomplete" when it\'s done']}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"\u69D8\u3005\u306A\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u958B\u767A\u8005\u3068\u3068\u3082\u306B\u4F5C\u696D\u3057\u305F\u304A\u9670\u3067\u3001Armeria\u3067\u4F7F\u7528\u3057\u305F\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30D5\u30A9\u30FC\u30AF\u3092\u5225\u9014\u3067\u30E1\u30F3\u30C6\u30CA\u30F3\u30B9\u3059\u308B\u8CA0\u62C5\u3092\u6E1B\u3089\u3059\u3053\u3068\u304C\u3067\u304D\u307E\u3057\u305F\u3002\u3055\u3089\u306B\u3001\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u30B3\u30DF\u30E5\u30CB\u30C6\u30A3\u306B\u304A\u3044\u3066Armeria\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u81EA\u4F53\u306F\u3082\u3061\u308D\u3093\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u53C2\u52A0\u3057\u305F\u30E1\u30F3\u30D0\u30FC\u306E\u6D3B\u52D5\u3092\u5E83\u304F\u30A2\u30D4\u30FC\u30EB\u3059\u308B\u6A5F\u4F1A\u3092\u5F97\u308B\u3053\u3068\u3082\u3067\u304D\u307E\u3057\u305F\u3002"}),"\n",(0,r.jsx)(n.h2,{id:"\u4E00\u7DD2\u306B\u30C1\u30E3\u30EC\u30F3\u30B8\u3057\u3088\u3046",children:"\u4E00\u7DD2\u306B\u30C1\u30E3\u30EC\u30F3\u30B8\u3057\u3088\u3046\uFF01"}),"\n",(0,r.jsx)(n.p,{children:"\u958B\u767A\u6210\u679C\u7269\u3092\u5171\u6709\u3057\u3066\u30B3\u30DF\u30E5\u30CB\u30C6\u30A3\u306B\u8CA2\u732E\u3057\u3001\u69D8\u3005\u306A\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u958B\u767A\u8005\u3068\u5354\u696D\u3059\u308B\u59FF\u3001\u697D\u3057\u305D\u3046\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u304B\uFF1FArmeria\u306F\u307E\u3060\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u521D\u671F\u6BB5\u968E\u306A\u306E\u3067\u3001\u30ED\u30FC\u30C9\u30DE\u30C3\u30D7\u306B\u57FA\u3065\u3044\u3066\u4ECA\u5F8C\u65B0\u3057\u3044\u6A5F\u80FD\u3092\u8FFD\u52A0\u3059\u308B\u4E88\u5B9A\u3067\u3059\u3002\u73FE\u5728\u69CB\u60F3\u3057\u3066\u3044\u308B\u6A5F\u80FD\u3068\u3057\u3066\u306F\u6B21\u306E\u3088\u3046\u306A\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u5074\u306E\u30ED\u30FC\u30C9\u30D0\u30E9\u30F3\u30B7\u30F3\u30B0"}),"\n",(0,r.jsx)(n.li,{children:"Reactive Streams\u306B\u3088\u308B\u5927\u5BB9\u91CF\u30B3\u30F3\u30C6\u30F3\u30C4\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0"}),"\n",(0,r.jsx)(n.li,{children:"Redis\u3001MySQL\u306A\u3069\u3001\u3088\u308A\u591A\u69D8\u306A\u30D7\u30ED\u30C8\u30B3\u30EB\u3078\u306E\u5BFE\u5FDC"}),"\n",(0,r.jsx)(n.li,{children:"\u7BA1\u7406\u3068\u30E2\u30CB\u30BF\u30EA\u30F3\u30B0\u3092\u7D71\u5408\u7684\u306B\u5B9F\u884C\u3067\u304D\u308BWeb\u30B3\u30F3\u30BD\u30FC\u30EB"}),"\n",(0,r.jsx)(n.li,{children:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3068\u30B3\u30FC\u30C9\u4F5C\u6210\u3092\u3088\u308A\u52B9\u7387\u5316\u3067\u304D\u308B\u65B0\u305F\u306AThrift\u30B3\u30F3\u30D1\u30A4\u30E9"}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"\u73FE\u5728LINE\u306B\u306F\u3001\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u5316\u3092\u6E96\u5099\u3057\u3066\u3044\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304C\u307E\u3060\u305F\u304F\u3055\u3093\u3042\u308A\u307E\u3059\u3002\u30A8\u30F3\u30B8\u30CB\u30A2\u306B\u5BFE\u3057\u3066\u306F\u3001\u76EE\u5148\u306E\u5229\u76CA\u3092\u8FFD\u6C42\u3059\u308B\u3053\u3068\u306B\u7559\u307E\u3089\u305A\u3001\u9577\u671F\u7684\u306A\u89B3\u70B9\u304B\u3089\u591A\u304F\u306E\u4EBA\u306E\u5F79\u306B\u7ACB\u3064\u3082\u306E\u3092\u5275\u308B\u3088\u3046\u306B\u4FC3\u3057\u3066\u3044\u307E\u3059\u3002\u662F\u975ELINE\u306B\u3054\u5FDC\u52D
1F\u3044\u305F\u3060\u304D\u3001\u4E00\u7DD2\u306B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C1\u30FC\u30E0\u3092\u7D44\u3093\u3067\u4E16\u306E\u4E2D\u3092\u9A5A\u304B\u305B\u3066\u307F\u307E\u305B\u3093\u304B\uFF1F"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"http://linecorp.com/ja/career/position/458",children:"\u63A1\u7528\u60C5\u5831\u306F\u3053\u3061\u3089"})}),"\n",(0,r.jsx)(n.h2,{id:"\u8457\u8005\u7D39\u4ECB",children:"\u8457\u8005\u7D39\u4ECB"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"https://github.com/trustin",children:"Trustin Lee"}),"\u306F\u3001",(0,r.jsx)(n.a,{href:"http://netty.io/",children:"Netty\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8"}),"\u306E\u8A2D\u7ACB\u8005\u517C",(0,r.jsx)(n.a,{href:"http://mina.apache.org/",children:"Apache MINA"}),"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u5171\u540C\u8A2D\u7ACB\u8005\u3067\u3001\u73FE\u5728LINE\u3067\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u30BD\u30D5\u30C8\u30A6\u30A7\u30A2\u30A8\u30F3\u30B8\u30CB\u30A2\u3068\u3057\u3066\u50CD\u3044\u3066\u3044\u307E\u3059\u3002"]})]})}function p(e={}){let{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},32532(e,n,t){t.d(n,{A:()=>i});let i=t.p+"assets/images/open-sourcing-armeria-1-89b68e7649f79147f589aed590d59639.png"},28453(e,n,t){t.d(n,{R:()=>l,x:()=>a});var i=t(96540);let r={},s=i.createContext(r);function l(e){let n=i.useContext(s);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),i.createElement(s.Provider,{value:n},e.children)}},11204(e){e.exports=JSON.parse('{"permalink":"/blog/ja/2016/04/13/open-sourcing-armeria","editUrl":"https://github.com/line/armeria/edit/main/site/src/content/blog/ja/2016-04-13-open-sourcing-armeria.mdx","source":"@site/src/content/blog/ja/2016-04-13-open-sourcing-armeria.mdx","title":"\u793E\u5185\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u300CArmeria\u300D\u3092\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u5316\u3059\u308B\u305F\u3081\u306B\u884C\u3063\u305F\uFF16\u3064\u306E\u30B9\u30C6\u30C3\u30D7","description":"Armeria\u306F\u3001Java 8\u304A\u3088\u3073Netty\u4E0A\u306B\u975E\u540C\u671FRPC/API\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u30B5\u30FC\u30D0\u3092\u5B9F\u88C5\u3057\u305F\u3082\u306E\u3067\u3059\u3002LINE\u306F\u6628\u5E7411\u6708\u3001Armeria\u3092Apache License 2.0\u306E\u3082\u3068\u3001\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u3068\u3057\u3066\u516C\u958B\u3057\u307E\u3057\u305F\u3002Armeria\u306F\u3001HTTP/2\u3092\u30BB\u30C3\u30B7\u30E7\u30F3\u30EC\u30A4\u30E4\u30D7\u30ED\u30C8\u30B3\u30EB\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u9AD8\u6027\u80FD\u306E\u975E\u540C\u671FThrift\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u30B5\u30FC\u30D0\u3092\u69CB\u7BC9\u3059\u308B\u305F\u3081\u306B\u7ACB\u3061\u4E0A\u3052\u305F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u3059\u304C\u3001\u57FA\u672C\u7684\u306B\u30D7\u30ED\u30C8\u30B3\u30EB\u975E\u4F9D\u5B58\u578B\u3067\u62E1\u5F35\u6027\u306B\u512A\u308C\u3066\u3044\u307E\u3059(\u4F8B\u3048\u3070\u3001HTTP/2\u306B\u3088\u3063\u3066\u9759\u7684\u30D5\u30A1\u30A4\u30EB\u3092\u51E6\u7406\u3059\u308B\u3068\u540C\u6642\u306B\u3001Java EE Web\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u8D77\u52D5\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059)\u3002","date":"2016-04-13T00:00:00.000Z","tags":[],"readingTime":13.7,"hasTruncateMarker":true,"authors":[{"name":"Trustin Lee","title":"Netty\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u8A2D\u7ACB\u8005\u517CApache MINA\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u5171\u540C\u8A2D\u7ACB\u8005\u3067\u3059\u3002","imageURL":"https://github.com/trustin.png","key":"trustin","page":null}],"frontMatter":{"authors":["trustin"],"other_languages":{"en":"/blog/2016/04/13/open-sourcing-armeria","ko":"/blog/ko/2016/04/13/open-sourcing-armeria"}},"unlisted":false,"prevItem":{"title":"\u5206\u6563\u30B5\u30FC\u30D3\u30B9\u74B0\u5883\u3078\u306ECircuit Breaker\u306E\u9069\u7528","permalink":"/blog/ja/2016/07/14/circuit-breakers-for-distributed-services"}}')}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.