{"id":192046,"date":"2020-11-01T09:17:04","date_gmt":"2020-11-01T01:17:04","guid":{"rendered":"http:\/\/4563.org\/?p=192046"},"modified":"2020-11-01T09:17:04","modified_gmt":"2020-11-01T01:17:04","slug":"%e6%9d%a5%e8%af%b4%e8%af%b4%e8%87%aa%e5%b7%b1%e4%b8%9a%e4%bd%99%e9%a1%b9%e7%9b%ae%e7%9a%84%e6%8a%80%e6%9c%af%e6%a0%88","status":"publish","type":"post","link":"http:\/\/4563.org\/?p=192046","title":{"rendered":"\u6765\u8bf4\u8bf4\u81ea\u5df1\u4e1a\u4f59\u9879\u76ee\u7684\u6280\u672f\u6808"},"content":{"rendered":"<div>\n<div>\n<div>\n<h1>                  \u6765\u8bf4\u8bf4\u81ea\u5df1\u4e1a\u4f59\u9879\u76ee\u7684\u6280\u672f\u6808               <\/h1>\n<p> <\/p>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <span><i><\/i> 3<\/span> <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div isfirst=\"1\">                        \u5148\u8bf4\u4e00\u4e0b\u6211\u7684\uff1a<\/p>\n<p>OS: Debian<br \/>\u6570\u636e\u5e93\uff1aPostgresql<br \/>\u9274\u6743\uff1aJWT<br \/>\u524d\u7aef\uff1aVue3 + PrimeVue + Webpack<br \/>\u540e\u7aef\uff1anodejs + C + php<br \/>Gateway: OpenResty<br \/>\u5bb9\u5668\u7f16\u6392: Docker Swarm <br \/>CI: Github Actions (\u76ee\u524d\u53ea\u662f\u81ea\u52a8\u6784\u5efa\u5bb9\u5668\u5e76\u63a8\u9001)<br \/>\u7f16\u6392\u81ea\u52a8\u5316 \/\u81ea\u4e3e \/Dashboard\uff1a\u81ea\u5df1\u5199\u7684\uff08\u53eb\u505a Calabash \uff09<br \/>\u76d1\u63a7\uff1aPrometheus + Grafana + node-exporter<br \/>\u5b58\u50a8\u540c\u6b65\uff1arsync<br \/>TLS \u4ee5\u53ca\u81ea\u52a8\u66f4\u65b0\u8bc1\u4e66: Let&#8217;s encrypt + acme.sh      <\/div>\n<div> <b>\u5927\u4f6c\u6709\u8a71\u8aaa<\/b> (<span>100<\/span>)        <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<ul>\n<li data-pid=\"4135838\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : oneforallsoft <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             os:win10 + debian<br \/>\u6570\u636e\u5e93: mysql + pgsql<br \/>\u9274\u6743\uff1aJWT<br \/>\u524d\u7aef\uff1aVue2 bulma jquery nuxt <br \/>Gateway: apache<br \/>\u5bb9\u5668\u7f16\u6392: \u65e0<br \/>CI: \u65e0<br \/>\u7f16\u6392\u81ea\u52a8\u5316 \/\u81ea\u4e3e \/Dashboard\uff1a\u65e0<br \/>\u76d1\u63a7\uff1a\u65e0<br \/>\u5b58\u50a8\u540c\u6b65\uff1a\u65e0<br \/>TLS \u4ee5\u53ca\u81ea\u52a8\u66f4\u65b0\u8bc1\u4e66: Let&#8217;s encrypt <\/p>\n<p>\u8fd8\u6709\u540e\u7aef: php laravel + Go + java                                                            <\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135839\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : kop1989 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u90fd\u6574\u8fd9\u4e48\u590d\u6742\uff1f<\/p>\n<p>\u7cfb\u7edf\uff1awindows\uff0c<br \/>web \u5bb9\u5668\uff1aIIS\uff0c<br \/>\u6570\u636e\u5e93\uff1a.txt,<br \/>\u9274\u6743\uff1a\u81ea\u5df1\u9274,<br \/>\u524d\u7aef\uff1ajQuery<br \/>Gateway: \u6ca1\u6709<br \/>\u5bb9\u5668\u7f16\u6392: \u4eba\u8089<br \/>CI: \u4eba\u8089<br \/>\u7f16\u6392\u81ea\u52a8\u5316 \/\u81ea\u4e3e \/Dashboard\uff1a\u7528\u4e0d\u7740<br \/>\u76d1\u63a7\uff1a\u81ea\u5df1\u5199<br \/>\u5b58\u50a8\u540c\u6b65\uff1a\u4eba\u8089<br \/>TLS \u4ee5\u53ca\u81ea\u52a8\u66f4\u65b0\u8bc1\u4e66: \u7528\u4e0d\u7740                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135840\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : raaaaaar <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @kop1989 #2 \u79c0\u513f                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135841\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : danRen <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             OS: Centos<br \/>\u6570\u636e\u5e93\uff1amongodb<br \/>\u9274\u6743\uff1aJWT<br \/>\u524d\u7aef\uff1aVue + Webpack + uni-app<br \/>\u540e\u7aef\uff1anodejs <br \/>Gateway: nodejs <br \/>\u5bb9\u5668\u7f16\u6392: Docker <br \/>TLS \u4ee5\u53ca\u81ea\u52a8\u66f4\u65b0\u8bc1\u4e66: Let&#8217;s encrypt                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135842\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : acmore <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             OS: Ubuntu Server<br \/>\u6570\u636e\u5e93\uff1aMongoDB \/ Redis<br \/>\u9274\u6743\uff1aJWT \/ OAuth 2.0<br \/>\u524d\u7aef\uff1aVue \u5168\u5bb6\u6876<br \/>\u540e\u7aef\uff1aNodeJS \/ Python \/ Java<br \/>Gateway: Kong<br \/>\u5bb9\u5668\u7f16\u6392: Docker Swarm<br \/>CI\/CD: Github Actions \/ Azure Pipeline<br \/>\u7f16\u6392\u81ea\u52a8\u5316 \/\u81ea\u4e3e \/Dashboard: None<br \/>\u76d1\u63a7\uff1aNetdata<br \/>\u5b58\u50a8\u540c\u6b65\uff1aNone<br \/>TLS \u4ee5\u53ca\u81ea\u52a8\u66f4\u65b0\u8bc1\u4e66: Let&#8217;s encrypt<\/p>\n<p>\u5b9e\u9645\u4e0a\u5927\u90e8\u5206\u60c5\u51b5\u4e0b\u8fde\u5bb9\u5668\u90fd\u4e0d\u7528\uff0c\u81ea\u5df1\u5199\u90e8\u7f72\u811a\u672c\u6216\u8005\u76f4\u63a5\u653e\u5728 CD \u91cc\u3002                                                            <\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135843\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u6211\u9009\u62e9\u7684\u7406\u7531\u4e3b\u8981\u4e5f\u662f\u5c3d\u91cf\u51cf\u5c11\u81ea\u5df1\u7ef4\u62a4\u7684\u8d1f\u62c5\u5566\uff0c\u6ca1\u60f3\u5230\u8fd8\u88ab\u8bc4\u4ef7\u590d\u6742 \uff08\u54ed<\/p>\n<p>\u5176\u5b9e\u4e00\u5f00\u59cb\u4e5f\u662f\u89c9\u5f97\u600e\u4e48\u8fd9\u5957\u6280\u672f\u6808\u4e0d\u90a3\u4e48\u4e3b\u6d41\uff0c\u6240\u4ee5\u60f3\u8d34\u51fa\u6765\uff0c\u5982\u679c\u7528\u4e3b\u6d41 k8s \u7684\u6b22\u8fce\u8ba8\u8bba\u4e00\u4e0b\u4f7f\u7528\u573a\u666f\u548c\u539f\u56e0\u3002                                                            <\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135844\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : chendy <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u8bed\u8a00\uff1ajava<\/p>\n<p>\u6ca1\u4e86\uff0c\u5c31\u4e00\u7ed9\u81ea\u5df1\u7528\u7684\u5e93                                                            <\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135845\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : kphcdr <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @kop1989 \u4eba\u5de5\u667a\u80fd                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135846\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : coolmenu <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             postgresql + hasura                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135847\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : kop1989 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             btw\uff0c\u5b89\u5229\u4e00\u4e0b\u73b0\u5728\u6b63\u5728\u73a9\u7684\uff1a\u661f\u9645\u4e89\u9738 1 \u4ee3 AI<br \/>\u661f\u9645\u4e89\u9738 1 \u4ee3\u7684 AI \u662f\u7531\u7b2c\u4e09\u65b9 hack \u7684 framework \u6765\u5b9e\u73b0\u7684\u3002\u76ee\u524d\u751f\u6001\u5f88\u5145\u8db3\uff0c\u65e2\u80fd\u7528\u7eaf\u811a\u672c\uff0c\u4e5f\u80fd\u7528\u673a\u5668\u5b66\u4e60\u3002<br \/>\u6211 2L \u7b80\u964b\u7684 jquery \u9879\u76ee\u5c31\u662f\u4e00\u4e2a\u6211\u81ea\u5df1\u5728\u7528\u7684\uff0c\u661f\u9645\u4e89\u9738 1 \u4ee3 AI \u7684\u5bf9\u7ec3\u5e73\u53f0\u3002<\/p>\n<p>\u6211\u91c7\u7528\u7684 AI \u7b56\u7565\u662f\u8fd0\u8425\u811a\u672c\uff0c\u6218\u6597\u673a\u5668\u5b66\u4e60\u3002<br \/>\u6b22\u8fce\u52a0\u5165\u5f00\u53d1\u661f\u9645\u4e89\u9738 1 \u4ee3 AI \u7684\u5708\u5b50\u3002<\/p>\n<p>\u5b66\u4e60\u8d44\u6599\uff1a<br \/>https:\/\/sscaitournament.com\/index.php?action=tutorial<br \/>https:\/\/zhuanlan.zhihu.com\/p\/33897686                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135848\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u6709\u7528 MongoDB \u7684\uff0c\u5927\u5bb6\u53ef\u4ee5\u770b\u770b\u9ec4\u4e1c\u65ed\u7684\u8bc4\u4ef7<\/p>\n<p>https:\/\/www.bilibili.com\/video\/BV1nJ411T7Vm\/#\u65f6\u95f4\uff1a54:32<\/p>\n<p>\u5f53\u7136\u5f88\u9002\u5408\u6570\u636e\u5c0f\u7684\u65f6\u5019\u7684\u5c0f\u9879\u76ee\uff0c\u4f46\u662f\u6211\u4e3b\u8981\u62c5\u5fc3\u7684\u662f MongoDB \u5728\u5b89\u5168\u65b9\u9762\u7684\u4e0d\u8db3\uff0c\u800c\u4e14\u8fd9\u4e2a\u516c\u53f8\u5671\u5934\u6bd4\u6280\u672f\u66f4\u5389\u5bb3\u3002                                                            <\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135849\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @kop1989 \u53ca\u65f6\u7b56\u7565\u7684 AI OpenAI \u5e94\u8be5\u505a\u5230\u6781\u81f4\u4e86\u5427\uff1f\u53ef\u4ee5\u770b\u770b PPO \u7b97\u6cd5\uff1f\u4e2d\u95f4\u7684\u5956\u52b1\u6700\u597d\u7528\u4eba\u5de5\u5b9a\u4e49\uff0c\u6211\u8bb0\u5f97\u770b\u8fc7\u4ed6\u4eec\u7684\u4e00\u4e2a\u89c6\u9891\u63d0\u5230\u5f88\u591a\u4eba\u5de5\u81ea\u5df1\u5b9a\u4e49\u7684 \u5956\u52b1\u573a\u666f\uff0c\u7528\u6765\u514b\u670d\u5956\u52b1\u7a00\u758f\u95ee\u9898\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135850\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @danRen \u662f\u5728\u505a\u5c0f\u7a0b\u5e8f\u5417\uff1f                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135851\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @acmore \u597d\u5947\u95ee\u4e00\u4e0b\uff0c\u8bf7\u95ee\u9009\u62e9 Kong \u7684\u539f\u56e0\u662f\u4ec0\u4e48\uff1f\u6709\u6ca1\u6709\u8003\u8651 OpenResty?                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135852\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : xcstream <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             nginx nodejs mysql redis                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135853\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : jones2000 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u53ea\u4f1a c++\uff0c \u63d0\u4f9b c++\u4e1a\u52a1\u52a8\u6001\u5e93\u7ed9\u5176\u4ed6\u8bed\u8a00\u8c03\u7528 \u5982 py, .net, nodejs\uff0cjava                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135854\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @acmore \u53e6\u5916\uff0c\u6211\u77e5\u9053\u5f88\u591a\u4eba\u90fd\u4e0d\u9009\u62e9\u5bb9\u5668\uff0c\u800c\u662f\u7528 Ansible \u4e4b\u7c7b\u7684\u3002\u8fd9\u6837\u7684\u597d\u5904\u5f53\u7136\u53ef\u80fd\u6027\u80fd\u4e0a\u6709\u4e00\u5b9a\u4f18\u52bf\uff08\u53ef\u4ee5\u51cf\u5c11\u5185\u5b58\u5360\u7528\uff09\u4f46\u662f\u9694\u79bb\u6027\u4e0d\u597d\uff0c\u9694\u79bb\u6027\u4e0d\u597d\u6709\u5b89\u5168\u95ee\u9898\u4e5f\u6709\u90e8\u7f72\u95ee\u9898\u3002\u6bd4\u5982\u4f60\u4e0d\u80fd\u5728\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u540c\u65f6\u8fd0\u884c\u7cfb\u7edf\u7ea7\u7684\u5305\u7ba1\u7406\u5b89\u88c5\uff0c\u6240\u4ee5\u8fd9\u6837\u505a\u4e00\u822c\u90fd\u662f\u4e00\u4e2a\u811a\u672c\u53ea\u80fd\u8fd0\u884c\u5728\u4e00\u4e2a\u8282\u70b9\u4e0a\uff08\u6bd4\u5982 VPS \uff09\uff0c\u4e5f\u5c31\u6ca1\u6709\u529e\u6cd5\u66f4\u7ec6\u5316\u7684\u5360\u7528\u6574\u4e2a\u96c6\u7fa4\u95f2\u7f6e\u7684\u8d44\u6e90\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135855\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u5bb9\u5668\u5316\u8fd8\u6709\u4e00\u70b9\u975e\u5e38\u597d\u7684\uff0c\u5c31\u662f\u65b9\u4fbf DevOps\uff0c\u7a0b\u5e8f\u5458\u5982\u679c\u53c2\u4e0e\u5230\u81ea\u5df1\u4ee3\u7801\u7684\u90e8\u7f72\uff0c\u53ef\u4ee5\u5199\u548c\u90e8\u7f72\u73af\u5883\u65e0\u5173\u7684 Dockerfile\uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5\u5728\u672c\u5730\u6d4b\u8bd5\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135856\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : acmore <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 \u5e73\u65f6\u81ea\u5df1\u7684\u9879\u76ee\u7528 Docker \u6bd4\u8f83\u5bb9\u6613\u5f15\u5165\u989d\u5916\u7684\u590d\u6742\u5ea6\uff0c\u4e14\u4e00\u822c\u60c5\u51b5\u4e0b Server \u5c31\u90e8\u7f72\u8fd9\u4e48\u4e00\u5957\u670d\u52a1\uff0c\u4e0d\u7528\u8003\u8651\u9694\u79bb\u6027\u3002\u5f53\u7136\u5de5\u4f5c\u4ee5\u53ca\u590d\u6742\u9879\u76ee\u4e0a\u5bb9\u5668\u5316\u662f\u80af\u5b9a\u8981\u505a\u7684\uff0c\u56e0\u4e3a\u6ca1\u6709\u66f4\u597d\u7684\u65b9\u6848\uff0c\u53e6\u5916\u6211\u5728\u5f00\u53d1\u65f6\u4e5f\u7528\uff0c\u4e0d\u8fc7\u5927\u591a\u662f\u7528\u5728\u6d4b\u8bd5\u548c\u7834\u574f\u6027\u5b9e\u9a8c\u4e0a\uff0c\u4e3b\u8981\u5c31\u662f\u7528\u5230\u5b83\u7684\u9694\u79bb\u6027\u7279\u6027\u3002\u603b\u7ed3\u6765\u8bf4\u5c31\u662f\u4e0d\u540c\u573a\u666f\u7528\u4e0d\u540c\u5de5\u5177\uff0cDocker \u4e0d\u662f\u4e07\u80fd\u7684\u9524\u5b50\uff0c\u4e5f\u4e0d\u662f\u6240\u6709\u7684\u9879\u76ee\u90fd\u662f\u9489\u5b50\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135857\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : acmore <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 \u9009\u62e9 Kong \u5c31\u662f\u7528\u4e60\u60ef\u4e86\uff0c\u6ca1\u6709\u7279\u522b\u7684\u8003\u91cf\u3002\u76ee\u524d\u4e0d\u6253\u7b97\u6362\uff0c\u800c\u4e14\u8bf4\u5b9e\u8bdd\u5f88\u591a\u5c0f\u9879\u76ee\u7528 Kong \u4e5f\u4e0d\u662f\u7279\u522b\u6709\u5fc5\u8981\uff0c\u53ea\u662f\u7528\u4e0a\u4f1a\u663e\u5f97\u6280\u672f\u6808\u4e30\u6c9b\u4e00\u70b9\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135858\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : xuanbg <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             OS: CentOS<br \/>\u6570\u636e\u5e93\uff1aMySQL<br \/>\u9274\u6743\uff1a\u81ea\u9020\u8f6e\u5b50 Token<br \/>\u524d\u7aef\uff1aReact<br \/>\u540e\u7aef\uff1aJava<br \/>Gateway: Spring Cloud Gateway<br \/>CI: Jenkins<br \/>\u65e5\u5fd7\uff1aEFK                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135859\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : NewIPIsComing <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u628a\u5409\u4ed6\u5f48\u97ff\uff0c\u81ea\u89ba\u883b\u597d\u807d                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135860\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : caicaiwoshishui <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 \u597d\u5947\u4f60\u7684\u9879\u76ee\u662f\u90e8\u7f72\u5728\u591a\u53f0\u673a\u5668\u5417\uff1f docker \u955c\u50cf\u662f\u81ea\u5efa harbor \u5417\u8fd8\u662f\uff1f                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135861\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : lidashuang <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u4e0d\u662f\u4e1a\u4f59\u9879\u76ee\u5417\uff1f<br \/>\u90fd\u6574\u8fd9\u4e48\u9ad8\u5927\u4e0a\uff0c\u7528 php \u592a low \u4e86\uff1f                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135862\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : skypyb <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u4f60\u4eec\u7684\u79c1\u4eba\u9879\u76ee\u6280\u672f\u6808\u90fd\u8fd9\u4e48\u725b\u903c\uff0c\u90fd\u662f\u7167\u7740\u9ad8\u5e76\u53d1\u5927\u6d41\u91cf\u7684\u573a\u666f\u8bbe\u8ba1\u7684\u3002<br \/>\u60f3\u5fc5\u90fd\u662f\u4eba\u5747\u767e\u4e07\u7528\u6237\u7684\u5927\u7ad9\u957f\u5427                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135863\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : tikazyq <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             OS: <br \/>\u6570\u636e\u5e93\uff1a<br \/>\u9274\u6743\uff1a<br \/>\u524d\u7aef\uff1a<br \/>\u540e\u7aef\uff1a<br \/>Gateway: <br \/>\u5bb9\u5668\u7f16\u6392: <br \/>CI: <br \/>\u7f16\u6392\u81ea\u52a8\u5316 \/\u81ea\u4e3e \/Dashboard\uff1a<br \/>\u76d1\u63a7\uff1a<br \/>\u5b58\u50a8\u540c\u6b65\uff1a<br \/>TLS \u4ee5\u53ca\u81ea\u52a8\u66f4\u65b0\u8bc1\u4e66: <\/p>\n<p>\u6211\u662f\u6839\u636e\u8fd9\u4e2a 44k+ stars \u7684\u9879\u76ee\u6765\u6269\u5c55\u81ea\u5df1\u7684\u6280\u672f\u6808\u7684 https:\/\/github.com\/kelseyhightower\/nocode                                                            <\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135864\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : eudore <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             OS: \u5bb9\u5668 alpine<br \/>\u6570\u636e\u5e93: Postgresql<br \/>\u524d\u7aef: Vue(\u4e0d\u4f7f\u7528 nodesjs \u548c css \u5e93)<br \/>\u540e\u7aef: GO<br \/>\u540e\u7aef\u6846\u67b6: \u9020\u8f6e\u5b50<br \/>\u6743\u9650: \u9020\u8f6e\u5b50(acl\/pbac\/rbac \u6df7\u5408)                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135865\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : undefinedfalse <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @tikazyq #26 \u5b66\u4e60\u4e86                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135866\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : xuanbg <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @skypyb \u5174\u5e08\u52a8\u4f17\u641e\u4e86\u4e2a\u80fd\u5efa 100 \u5c42\u5927\u53a6\u7684\u7684\u57fa\u7840\uff0c\u7136\u540e\u4e0a\u9762\u53ea\u76d6\u4e2a\u4e09\u5c42\u5c0f\uff0c\u770b\u4e0a\u53bb\u786e\u5b9e\u633a\u6d6a\u8d39\u7684\u3002<\/p>\n<p>\u4f46\u662f\uff0c100 \u5c42\u5927\u53a6\u7684\u7684\u57fa\u7840\u641e\u90fd\u641e\u4e86\uff0c\u653e\u7740\u4e0d\u7528\u975e\u8981\u53e6\u5916\u641e\u4e2a\u53ea\u80fd\u5efa 3 \u5c42\u5c0f\u7684\u57fa\u7840\u662f\u4e0d\u662f\u66f4\u6d6a\u8d39\uff1f\u5fae\u670d\u52a1\u7684\u597d\u5904\u5c31\u662f\u4e00\u6b21\u6295\u5165\u5efa\u8bbe\uff0c\u7136\u540e\u4f60\u7ec8\u8eab\u90fd\u80fd\u53d7\u7528\u8fd9\u4e00\u5957\u57fa\u7840\u8bbe\u65bd\u3002\u4e0d\u7ba1\u662f\u76d6\u4e09\u5c42\u5c0f\u8fd8\u662f\u767e\u5c42\u5927\u53a6\uff0c\u4f60\u5f80\u4e0a\u76d6\u5c31\u5b8c\u4e8b\u4e86\uff0c\u4e0d\u9700\u8981\u91cd\u65b0\u6253\u57fa\u7840\u3002                                                            <\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135867\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : foMM <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u4e1a\u4f59\u9879\u76ee\u80fd\u7528\u8fd9\u4e48\u591a\u6280\u80fd\u4e5f\u662f\u725b\u903c\uff0c\u4e0d\u77e5\u9053\u90fd\u662f\u4e00\u4e9b\u4ec0\u4e48\u6837\u7684\u5927\u9879\u76ee\u2026\u2026<\/p>\n<p>\u6211\u7684\u4e1a\u4f59\u9879\u76ee\u5c31\u662f\u5199\u5199\u535a\u5ba2\uff0c\u505a\u505a\u89c6\u9891\u4ec0\u4e48\u7684                                                            <\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135868\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : XIVN1987 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             Python + PyQt                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135869\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : mwVYYA6 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @undefinedfalse xswl \u8fd9\u662f\u4e2a\u641e\u7b11\u9879\u76ee \u4f60\u5b66\u4e2a                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135870\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : OldActorsSmile <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             php+mysql                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135871\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : skypyb <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @xuanbg \u4f60\u8bf4\u7684\u662f\u6ca1\u9519\uff0c \u4f46\u662f\u79c1\u4eba\u9879\u76ee\u7684\u4f53\u91cf\u8fde\u96c6\u7fa4\u90fd\u4e0d\u4e00\u5b9a\u80fd\u7528\u5230\uff0c \u66f4\u522b\u8bf4\u5206\u5e03\u5f0f\u548c\u5fae\u670d\u52a1\u4e86\u3002\u3002\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135872\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : ChuYangshisan <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @kop1989 \u6211\u76f4\u4e4e\u5185\u884c                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135873\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : buruoyanyang <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             OS: Centos<br \/>\u6570\u636e\u5e93\uff1aMySql<br \/>\u9274\u6743\uff1aJWT<br \/>\u524d\u7aef\uff1aAntD<br \/>\u540e\u7aef\uff1aJava<br \/>Gateway: Spring Cloud Gateway<br \/>\u5bb9\u5668\u7f16\u6392: \u4e48\u5f97<br \/>CI: \u4e48\u5f97\uff0c\u51c6\u5907\u4e0a git-runner<br \/>\u7f16\u6392\u81ea\u52a8\u5316 \/\u81ea\u4e3e \/Dashboard\uff1a\u4e48\u5f97<br \/>\u76d1\u63a7\uff1a\u4e48\u5f97<br \/>\u5b58\u50a8\u540c\u6b65\uff1a\u4eba\u8089<br \/>TLS \u4ee5\u53ca\u81ea\u52a8\u66f4\u65b0\u8bc1\u4e66: \u4e48\u5f97                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135874\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : meshell <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 \u6211\u53ea\u60f3\u77e5\u9053\u7528\u4e86\u51e0\u53f0\u670d\u52a1\u5668\u3002\u54c8\u54c8                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135875\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : xuanbg <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @skypyb \u6bcf\u4e2a\u670d\u52a1\u53ea\u542f\u52a8\u4e00\u4e2a\u5b9e\u4f8b\u5c31\u884c\u4e86                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135876\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : nutting <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             mac \u5e02\u573a\u5360\u6709\u7387\u4e0d\u884c\u4e86\u554a\uff0cos \u4e00\u4e2a\u6ca1\u6709                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135877\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : mingl0280 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             os:ubuntu server<br \/>\u6570\u636e\u5e93:mysql<br \/>\u540e\u7aef\u8bed\u8a00:php<br \/>\u524d\u7aef:vue.js<br \/>ci:\u8981 ci \u5e72\u5565\uff0c\u5e73\u65f6\u4e0a\u73ed Jenkinsfile \u5de5\u4f5c\u91cf\u4e0d\u8db3\uff1f<br \/>\u5176\u4ed6:\u4eba\u8089<br \/>\u8bc1\u4e66\u4ed8\u8d39\u7684\uff0c\u4e0d\u80fd\u81ea\u52a8\u66f4\u65b0                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135878\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u7406\u89e3\uff0c\u6211\u4e5f\u540c\u610f\u6709\u4e9b\u573a\u666f\u4e0d\u9700\u8981\u5bb9\u5668\u3002\u4f46\u6211\u81ea\u5df1\u7684\u611f\u89c9\u662f\u52a0\u4e86\u5bb9\u5668\u4ee5\u540e\u6211\u7684\u7ef4\u62a4\u590d\u6742\u5ea6\u51cf\u5c11\u4e86\uff0c\u770b\u4e0a\u53bb\u7cfb\u7edf\u4f9d\u8d56\u4e86\u5bb9\u5668\uff0c\u4f46\u662f\u7ef4\u62a4\u8d77\u6765\u53cd\u800c\u5bb9\u6613\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135879\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @caicaiwoshishui \u662f\u7684\uff0c\u4e00\u4e2a\u4e2a\u4eba\u7684\u641c\u7d22\u7684\u9879\u76ee\uff0c\u76ee\u524d\u9700\u8981\u81f3\u5c11 12 \u4e2a VPS \u3002Docker \u955c\u50cf\u56fd\u5185\u7528 uhub, \u56fd\u5916\u7684\u8bdd\u7528 DockerHub, \u4e0d\u884c\u5907\u7528 fallback \u5230 ghcr \u4e0a\u3002\u672c\u6765\u5f88\u503e\u5411 ghcr \u7684\uff0c\u4f46\u662f\u8c8c\u4f3c\u4ed6\u5bb6 beta \u9636\u6bb5\u8fc7\u4e86\u4ee5\u540e\u7684\u4ef7\u94b1\u5f88\u8d35\uff0c\u800c\u4e14\u5b9e\u9645\u4f7f\u7528\u5f53\u4e2d push \u7684\u901f\u5ea6\u7ecf\u5e38\u6bd4\u4e0d\u4e0a DockerHub \u3002\u76ee\u524d\u770b\u4e0a\u53bb\u591f\u7528\uff0c\u81ea\u5efa\u955c\u50cf\u597d\u50cf\u8fd8\u6ca1\u6709\u9700\u6c42\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135880\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @skypyb \u662f\u4e2a\u641c\u7d22\u5f15\u64ce\uff0c\u4e00\u4e2a\u8282\u70b9\u80af\u5b9a\u4e0d\u884c\u3002\u5373\u4f7f\u4f60\u4e0d\u8981\u53ef\u7528\u6027\uff0csharding \u4e5f\u662f\u5fc5\u987b\u7684\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135881\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : skypyb <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 \u641e\u8fd9\u4e48\u591a\u8282\u70b9\uff0c \u6bcf\u5e74\u8981\u82b1\u7684\u94b1\u4e5f\u4e0d\u5c11\u5427\u3002 \u662f\u9879\u76ee\u6709\u76c8\u5229\u4e48                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135882\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : debuggerx <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u5f00\u53d1 os:deepin<br \/>\u670d\u52a1\u5668 os:debian<br \/>\u6570\u636e\u5e93: mysql + pgsql<br \/>\u9274\u6743\uff1aJWT<br \/>\u524d\u7aef\uff1aReact Next.js<br \/>UI \u6846\u67b6\uff1aMaterial-UI<br \/>\u79fb\u52a8\u7aef\uff1aflutter<br \/>\u684c\u9762\u7aef\uff1aPyQt Electron<br \/>\u5c0f\u7a0b\u5e8f\uff1aTaro<br \/>Gateway: nginx<br \/>\u540e\u7aef: Node python go java                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135883\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u6765\u8bf4\u4e00\u4e0b\u4e3a\u4ec0\u4e48\u6211\u8981\u8fd9\u4e48\u591a\u7684\u673a\u5668\u3002\u9996\u5148\uff0c\u4e2a\u4eba\u8d44\u91d1\u6709\u9650\uff0c\u8003\u8651\u5230\u9879\u76ee\u4e0d\u76c8\u5229\uff0c\u76ee\u524d\u4e5f\u4e0d\u4f1a\u6295\u5165\u592a\u591a\u6210\u672c\u3002\u5728\u8fd9\u4e2a\u6761\u4ef6\u4e0b\uff0c\u6211\u4e2a\u4eba\u503e\u5411\u6700\u4fbf\u5b9c\u7684\u8282\u70b9\u7136\u540e\u8dd1\u96c6\u7fa4\u3002\u6bd4\u5982 Linode 5$ \u7684\u8282\u70b9\u8dd1\u56db\u4e2a\uff08\u5728\u6211\u8fd9\u4e2a\u573a\u666f\u4e0b\uff09\u7edd\u5bf9\u6bd4 20$\u7684\u8282\u70b9\u5feb\u3002<\/p>\n<p>\u4f46\u662f\u5355\u4e2a\u8282\u70b9\u7684\u80fd\u529b\u5f88\u6709\u9650\uff0c\u90a3\u4e48\u6211\u9700\u8981\u5f88\u591a\u670d\u52a1\u548c sharding \u7684\u8bdd\u5c31\u8981\u5f88\u591a\u8282\u70b9\u3002<\/p>\n<p>\u6211\u73b0\u5728\u6700\u5c0f\u7cfb\u7edf\u5c31\u6709\u597d\u591a\u670d\u52a1\uff1agateway, calabash, \u7528\u6237\u6570\u636e\u5e93\uff0c\u9274\u6743\u670d\u52a1\uff0ccalabash UI, \u767b\u5f55 UI, prometheus, grafana\uff0ccorpus \u540c\u6b65\u670d\u52a1\uff08 4 \u4e2a\u8282\u70b9 4 \u4e2a\u670d\u52a1\uff09\uff0c\u722c\u866b\uff08 4 \u4e2a\u8282\u70b9 4 \u4e2a\u670d\u52a1\uff09\uff0c\u7d22\u5f15\u5668\uff08 4 \u4e2a\u8282\u70b9 4 \u4e2a\u670d\u52a1\uff09\uff0c\u7d22\u5f15\u540c\u6b65\u670d\u52a1\uff08 4 \u4e2a\u8282\u70b9 4 \u4e2a\u670d\u52a1\uff09\uff0ccorpus \u53d1\u9001\u5230\u7d22\u5f15\u5668 \u7684 feeder \u670d\u52a1\uff0c\u641c\u7d22\u670d\u52a1\uff08 4 \u4e2a\u8282\u70b9 4 \u4e2a\u670d\u52a1\uff09\uff0c\u641c\u7d22 mpirun \u8fdb\u7a0b\u670d\u52a1\u3002\u6700\u5c11 3*4 \u4e2a\u8282\u70b9\u4e86\u3002                                                            <\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135884\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @skypyb \u56fd\u5916\u7684 VPS \u4e00\u4e2a\u6708 5 \u5200\uff0c\u800c\u4e14\u6211\u7684\u63d0\u4f9b\u5546 Linode \u63d0\u4f9b\u4e86\u8d5e\u52a9\u3002\u6211\u4e4b\u524d\u7684\u8fd0\u7ef4\u6808\u4e5f\u662f\u7eaf\u811a\u672c\uff0c\u628a\u722c\u866b\u548c\u7d22\u5f15\u90fd\u653e\u5728\u672c\u5730\uff0c\u8fd9\u6837\u7684\u8bdd\u4e00\u4e2a\u6708 4 \u4e2a\u8282\u70b9\u5c31\u591f\u4e86\uff0c\u4e5f\u5c31\u662f 20 \u5200\u3002\u76ee\u524d\u4e3a\u4e86\u652f\u6301\u5728\u7ebf\u81ea\u52a8\u722c\u866b\u548c\u7d22\u5f15\u66f4\u65b0\uff0c\u4e00\u4e2a\u6708\u82b1\u8d39\u662f\u6709\u70b9\u8d35\uff0c\u4f46\u662f\u4e5f\u662f\u53ef\u4ee5\u9760\u81ea\u5df1\u7684\u96f6\u82b1\u94b1\u517b\u7684\u3002\u5f53\u7136\uff0c\u66f4\u597d\u7684\u670d\u52a1\u4e0a\u53bb\u4e86\u4ee5\u540e\uff0c\u4e5f\u5e0c\u671b\u80fd\u627e\u673a\u4f1a\u5f00\u59cb monetize.                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135885\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : hpan <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 \u6562\u95ee lz \u4e1a\u4f59\u505a\u7684\u5565\u9879\u76ee\uff1f                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135886\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @mingl0280 \u4e0d\u7ba1\u662f Jenkins \u8fd8\u662f Docker \u90fd\u662f\u4e3a\u4e86\u7701\u65f6\u95f4\u3001\u4e00\u52b3\u6c38\u9038\uff0c\u600e\u4e48\u5927\u5bb6\u7cbe\u795e\u8d1f\u62c5\u5f88\u91cd\u554a\u3002\u516c\u53f8\u73a9\u81ea\u52a8\u5316\u80af\u5b9a\u4e5f\u60f3\u8282\u7701\u5404\u4f4d\u65f6\u95f4\u7684\uff0c\u53ea\u4e0d\u8fc7\u8282\u7701\u51fa\u6765\u7684\u65f6\u95f4\u662f\u4e0d\u662f\u8ba9\u4f60 996 \u5c31\u662f\u53e6\u5916\u4e00\u56de\u4e8b\u3002\u5927\u5bb6\u770b\u6765\u88ab\u6e23\u5e72\u4e86\u2026\u2026                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135887\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @hpan Approach0\uff0c\u4e00\u4e2a\u6570\u5b66\u516c\u5f0f\u641c\u7d22\u5f15\u64ce\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135888\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : Nillouise <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u76f4\u63a5 docker-compose \u4e0d\u884c\u5417\uff1f\u8981\u7528 Docker Swarm \u505a\u5f39\u6027\u6269\u5c55\uff1f                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135889\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : cassyfar <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 \u6709\u4e00\u8bf4\u4e00\uff0c\u4f60\u8fd9\u4e2a\u9879\u76ee\u633a\u6709\u610f\u601d\u7684                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135890\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : hbolive <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u4f60\u4eec\u90fd\u592a\u9ad8\u8fbe\u4e0a\u4e86\u3002\u3002\u4e1a\u4f59\u7684\u8fd8\u600e\u4e48\u590d\u6742\u3002\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135891\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : coderunI <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u7b80\u5355\u4e00\u70b9\u4e0d\u597d\u5417\uff1f                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135892\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @Nillouise docker-compose \u53ef\u80fd\u4e0d\u591f\u7075\u6d3b\uff0c\u4e0d\u8fc7\u548c Docker swarm \u7ed3\u5408\u7684\u5f88\u597d\u3002\u76ee\u524d\u6211\u8fd8\u4e0d\u89c9\u5f97\u6709\u5fc5\u8981\u7528\uff0c\u56e0\u4e3a\u6211\u90fd\u662f\u76f4\u63a5\u901a\u8fc7 docker-cli \u6216\u8005 API \u8c03\u7528 docker \u3002 \u53ef\u4ee5\u4e0d\u7528\u589e\u52a0 docker-compose \u8fd9\u4e00\u5c42\u3002\u5f53\u7136\uff0c\u6ca1\u6709\u7528\u8fc7\u5c31\u4e0d\u53d1\u8868\u592a\u591a\u610f\u89c1\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135893\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @coderunI \u6b22\u8fce\u63d0\u5efa\u8bae                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135894\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : justrand <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u6211\u6bd4\u8f83\u611f\u5174\u8da3\u7684\uff0c\u7f8e\u5de5\u8bbe\u8ba1\u539f\u578b\u8fd9\u79cd\u4f60\u4eec\u600e\u4e48\u505a\u7684\uff1f                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135895\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @justrand \u81ea\u5df1\u7684\u9879\u76ee\u81ea\u5df1\u968f\u4fbf\u5199\uff0c\u5168\u9760 UI \u7ec4\u5efa\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135896\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : namelosw <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             Stack: Rails \/ Phoenix \/ Node<br \/>\u524d\u7aef: \u4e0d\u7528 \/ React \/ Preact<br \/>DB: SQLite \/ Postgres<br \/>CI: \u4e0d\u7528, \u4e00\u4e2a\u4eba\u81ea\u5df1\u8ddf\u81ea\u5df1\u8fd8\u9700\u8981\u96c6\u6210\u561b\u2026\u2026 \u5199\u4e2a shell \u6211\u81ea\u5df1\u5c31\u662f CI<br \/>\u90e8\u7f72: Heroku \/ Kubernetes + Pulumi<br \/>\u76d1\u63a7 Gateway TLS \u5565\u7684, Heroku Kubernetes \u90fd\u6709\u73b0\u6210\u7684<\/p>\n<p>\u5927\u90e8\u5206\u7684\u9009\u62e9\u90fd\u6709\u7b80\u5355\u590d\u6742\u4e24\u4e2a\u9009\u9879, \u4e00\u822c\u4ece\u7b80\u5355\u7684\u5f00\u59cb.                                                            <\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135897\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : zzzzzzggggggg <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u4e1a\u52a1\u9879\u76ee\u90fd\u8fd9\u4e48\u5389\u5bb3\uff0c\u4e3b\u4e1a\u5e94\u8be5\u66f4\u5389\u5bb3\u5427                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135898\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @namelosw \u81ea\u5df1\u7684\u9879\u76ee\u7528 k8s \u4f1a\u4e0d\u4f1a\u6709\u4e9b\u590d\u6742\uff0cdocker swarm \u80fd\u4e0d\u80fd\u6ee1\u8db3\u4f60\u7684\u9700\u6c42\uff1f\u80fd\u5426\u6307\u70b9\u4e00\u4e8c                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135899\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : namelosw <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 K8S \u7528\u6258\u7ba1\u7684\u633a\u7b80\u5355\u7684, \u81ea\u5df1\u642d\u96c6\u7fa4\u5c31\u5751\u7239\u4e86, \u5927\u7684 AWS Azure GCP \u90fd\u6709, \u5c0f\u7684 DO Linode \u4e5f\u6709. Kubernetes \u4e3b\u8981\u662f\u4e0a\u624b\u6709\u70b9\u590d\u6742, \u4e00\u65e6\u4f1a\u4e86\u5176\u5b9e\u633a\u7b80\u5355\u7684, \u6bd4\u5982\u9879\u76ee\u4e0a\u7528, \u6216\u8005\u5b66\u4e60\u76ee\u7684\u6b63\u597d\u4f1a\u4e86\u53ef\u4ee5\u7528\u7528. \u4f1a\u7528\u4e86\u4e4b\u540e\u8fd8\u53ef\u4ee5\u7528 Pulumi \u7b80\u5316\u4e00\u4e0b.<\/p>\n<p>Docker swarm \u611f\u89c9\u6709\u70b9\u9e21\u808b, \u6ca1\u6df1\u5165\u7528\u8fc7. \u4e0d\u8fc7 side project \u5e94\u8be5\u90fd\u884c, \u7528\u81ea\u5df1\u719f\u6089\u7684\u5c31\u597d.<br \/>\u4e0d\u8fc7\u6211\u89c9\u5f97 Heroku \u80fd\u89e3\u51b3\u7684\u8bdd\u8fd8\u662f Heroku \u8fd9\u79cd\u6700\u7701\u4e8b.<br \/>\u5982\u679c\u8bf4\u8f7b\u91cf\u7684 alternative \u7684\u8bdd, \u542c\u8bf4 Nomad \u633a\u597d\u7684, \u597d\u50cf\u8fd8\u4e0d\u7528 Docker, \u4e0d\u8fc7\u6211\u4e5f\u6ca1\u7528\u8fc7.                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135900\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @namelosw \u5b66\u4e60\u4e86\u3002\u6211\u53ea\u662f\u8fd8\u4e0d\u6e05\u695a\u9664\u4e86\u4e4b\u524d Docker Swarm \u6280\u672f\u5c42\u9762\u4e0d\u592a\u7a33\u5b9a\u4ee5\u5916\uff0c\u8fd8\u6709\u4ec0\u4e48\u539f\u56e0\u8ba9\u5927\u5bb6\u4e00\u76f4\u7559\u5728 K8S \u5e73\u53f0\u3002\u6211\u611f\u89c9 Google \u9ad8\u5c42\u80fd\u540c\u610f\u8ba9 K8S \u5f00\u6e90\u51fa\u6765\uff0c\u76f4\u63a5\u5a01\u80c1\u5230\u81ea\u5bb6\u7684\u4e91\u670d\u52a1\uff0c\u76ee\u7684\u662f\u4ec0\u4e48\u8fd8\u662f\u4e0d\u592a\u6e05\u695a\u3002\u53ea\u8981 K8S \u7ee7\u7eed\u8fd9\u4e48\u590d\u6742\uff0c\u53ea\u8981 G \u5bb6\u6709\u6240\u4fdd\u7559\uff08\u6bd4\u5982\u4e0d\u4f1a\u5f00\u6e90 Borg \uff09\uff0c\u5c31\u8bf4\u660e\u8fd8\u6709\u66f4\u597d\u7684\u5f00\u6e90\u4ea7\u54c1\u6709\u673a\u4f1a\u51fa\u73b0\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135901\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : namelosw <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 Kubernetes \u6211\u611f\u89c9\u73b0\u5728\u6bd4\u8f83\u6709\u5438\u5f15\u529b\u662f\u751f\u6001\u5df2\u7ecf\u8d77\u6765\u4e86. \u6bd4\u5982\u4f60\u8bf4\u7684 Prometheus Grafana acme \u5565\u7684\u90fd\u51e0\u4e2a\u64cd\u4f5c\u5c31 setup \u597d\u4e86. <\/p>\n<p>\u6211\u89c9\u5f97\u5012\u4e0d\u662f Swarm \u672c\u8eab\u6709\u5565\u95ee\u9898, \u800c\u662f\u6bd4\u8f83\u9e21\u808b. \u6211\u611f\u89c9\u5f88\u591a\u4eba\u5e94\u8be5\u8ddf\u6211\u4e00\u6837, \u7b80\u5355\u7684\u5c31\u7528\u6700\u7b80\u5355\u7684 Heroku \u6216\u8005 SSH \u4e0a\u76f4\u63a5 shell \u4e00\u4e0b, \u518d\u91cd\u7684\u573a\u666f\u7684\u76f4\u63a5 Kubernetes \u56e0\u4e3a\u6b63\u597d\u5df2\u7ecf\u719f\u6089\u4e86, \u5b9e\u9645\u4e0a\u51e0\u4e2a\u6587\u4ef6\u5f88\u5feb\u4e5f\u5c31\u5f04\u597d\u4e86. \u4e00\u65e6\u5927\u90e8\u5206\u4eba\u90fd\u719f\u6089 Kubernetes \u4e4b\u540e, Swarm \u8fd9\u4e2a\u4e0d\u4e0a\u4e0d\u4e0b\u7684\u5b9a\u4f4d\u5c31\u5f88\u5c34\u5c2c.                                                            <\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135902\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : GoLand <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u8fd9\u4e48\u590d\u6742\u4e00\u4e2a\u4eba\u5f04\u5f97\u8fc7\u6765\u5417\uff1f\u6211\u90a3\u4e2a\u8001\u677f\u670d\u52a1\u5668\u90fd\u4e0d\u820d\u5f97\u5f00\uff0c\u6211\u8bf4\u8981\u4e2a 2c4g \u7684\uff0c\u7ed9\u6211\u538b\u5230\u4e86 1c2g \u3002\u3002\u6211\u4e5f\u5c31\u4e00\u5207\u4ece\u7b80\u4e86\u3002<br \/>\u670d\u52a1\u5668\uff1a\u963f\u91cc\u4e91 Ubuntu 1c2g<br \/>\u6570\u636e\u5e93\uff1a\u963f\u91cc\u4e91 MySQL 1c1g<br \/>\u9274\u6743\uff1a\u5e94\u7528\u6bd4\u8f83\u7279\u6b8a\uff0cAPP \u4e0d\u9274\u6743\uff0c\u7ba1\u7406\u540e\u53f0 JWT<br \/>\u540e\u7aef\uff1aPython flask<br \/>\u90e8\u7f72\uff1a\u76f4\u63a5\u7528 docker-compose \u8dd1\uff0c\u5916\u9762\u6321\u4e00\u5c42 NGINX \u505a\u8f6c\u53d1<br \/>\u5176\u4ed6\u5c31 Sentry \u770b\u62a5\u9519\uff0cgrafana + influxdb \u505a\u76d1\u63a7                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135903\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : DiamondYuan <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u670d\u52a1\u5668\uff1a\u817e\u8baf\u4e91 4C8G<br \/>\u6570\u636e\u5e93\uff1amongodb<br \/>\u540e\u7aef\uff1anodejs and serverless<br \/>\u90e8\u7f72\uff1agithubaction + (docker-compose + serverless)<br \/>\u65e5\u5fd7: aliyun + datadog<br \/>\u524d\u7aef: ts + react<br \/>CDN \u4e03\u725b                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135904\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @namelosw \u4f46\u662f\u636e\u8bf4 Swarm \u5185\u5b58\u5360\u7528\u5c11\uff0c\u56e0\u4e3a\u4e0d\u9700\u8981\u518d\u5957\u4e00\u5c42\u3002\u4f9d\u8d56\u4e5f\u5c11\u4e86\uff0c\u4e0d\u7528\u4e00\u7ba9\u7b50\u7684\u628a k8s \u5168\u5bb6\u6876\u5168\u90e8\u5f15\u5165\u3002\u8fd8\u6709\u542c\u8bf4 Swarm \u90e8\u7f72\u5e94\u8be5\u6bd4 k8s \u5feb\u3002\u56e0\u4e3a\u8fd8\u6ca1\u81ea\u5df1\u642d\u5efa\u8fc7 k8s, \u4e5f\u6682\u65f6\u505c\u7559\u5728\u4ece\u5404\u79cd\u6e20\u9053\u4e86\u89e3\u7684\u5927\u81f4\u60c5\u51b5\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135905\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : namelosw <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 \u5509\u2026\u2026 \u90e8\u7f72\u901f\u5ea6\u5176\u5b9e\u662f\u5f88\u5c0f\u7684\u4e00\u90e8\u5206, \u7f16\u8bd1, docker build, pull image, CI \u7b49\u7b49\u5176\u5b9e\u90fd\u5f88\u8d39\u65f6\u95f4. \u6211\u611f\u89c9\u8fd9\u4e00\u5957\u4e1c\u897f\u6700\u91cd\u7684\u4e00\u5c42\u5176\u5b9e\u662f Docker\u2026                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135906\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : johnsona <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             jwt \u65e0\u6cd5 revoke\uff0c\u9000\u51fa\u767b\u9646\u90fd\u505a\u4e0d\u4e86\uff0c\u6211\u89c1\u4e00\u6b21\u8bf4\u4e00\u6b21\uff0c\u4f60\u5982\u679c\u4fdd\u5b58 jwt \u5c31\u53c8\u662f session \u4e86                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135907\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : mingl0280 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 \u6211\u8fde\u4e00\u52b3\u6c38\u9038\u7684\u4e00\u52b3\u90fd\u4e0d\u60f3\u505a\u2026\u2026\u6211\u8fd9\u73a9\u610f\u513f\u76f4\u63a5 ssh \u63a8\u9001\u5230\u670d\u52a1\u5668\u4e0a\u6302\u4e86\u5c31\u6302\u4e86\u5457\u2026\u2026                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135908\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @johnsona \u9000\u51fa\u767b\u5f55\u662f\u505a\u4e0d\u4e86\u3002\u4f46\u662f\u4fdd\u5b58 jwt \u548c session \u4e0d\u4e00\u6837\uff0csession \u662f\u6bcf\u4e2a\u7528\u6237\u90fd\u8981\u5b58\u4e00\u4efd\u4fe1\u606f\uff0cjwt \u5168\u5c40\u53ea\u6709\u4e00\u4e2a token \u3002\u5f53\u7136\uff0c\u4e3a\u4e86\u5b89\u5168\u8fd9\u4e2a token \u9700\u8981\u6bd4\u8f83\u957f\u7684\u800c\u5df2\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135909\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @mingl0280 \u90a3\u53ea\u80fd\u8bf4\u660e\u4f60\u7684\u5e94\u7528\u4e0d\u9700\u8981\u8fd9\u4e9b\u3002\u6211\u642d\u4e2a\u9759\u6001\u535a\u5ba2\u4e5f\u4e0d\u7528\u8fd9\u4e9b\u3002\u4f46\u4f60\u53ef\u4ee5\u6765\u8bd5\u8bd5\u642d\u5efa\u4e00\u4e2a\u767e\u4e07\u6587\u6863\u4ee5\u4e0a\u7684\u641c\u7d22\u5e94\u7528                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135910\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : IDAEngine <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             azure \u4e00\u628a\u68ad\uff0c\u723d                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135911\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : johnsona <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 jwt \u4e5f\u662f\u6bcf\u4e2a\u7528\u6237\u4e00\u4e2a jwt\uff0c\u4e0d\u7136\u4f60\u62ff\u5230 jwt \u600e\u4e48\u8bc6\u522b\u8fd9\u4e2a\u7528\u6237\u662f\u8c01\uff0c\u53ea\u662f jwt \u4f60\u4e0d\u5b58\u800c\u5df2\uff0c\u7b97\u54c8\u5e0c\u9a8c\u8bc1\u5408\u6cd5\u6027\u800c\u5df2                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135912\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : CismonX <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u4e1a\u4f59\u9879\u76ee\u90fd\u662f\u5355\u7eaf\u4e3a\u4e86\u81ea\u5a31\u81ea\u4e50\u505a\u7684\u73a9\u5177\uff0c\u529f\u80fd\u7b80\u5355\uff0c\u6280\u672f\u6808\u57fa\u672c\u8c08\u4e0d\u4e0a<\/p>\n<p>\u5982\u679c\u975e\u8bf4\u8981\u6709\u6280\u672f\u6808\u7684\u8bdd\uff0c\u65e0\u975e\u662f ISO C + POSIX.1 \u90a3\u4e00\u5957\uff0c\u5076\u5c14\u8c03\u4e00\u4e9b platform specific API \u548c\u7b2c\u4e09\u65b9\u5e93\u3002\u52a0\u4e0a Autotools \u7528\u6765\u6784\u5efa\uff0cDejaGnu \u5199\u6d4b\u8bd5\uff0cTroff \u6216\u8005 Texinfo \u5199\u6587\u6863<\/p>\n<p>\u4e5f\u6709\u5176\u4ed6\u8bed\u8a00\u5199\u7684\u9879\u76ee\uff0c\u4e5f\u57fa\u672c\u540c\u7406\uff0c\u9075\u5faa\u5c0f\u800c\u4e11(                                                            <\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135913\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : xuanbg <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @johnsona jwt \u53ea\u9002\u5408\u4e0d\u9700\u8981\u9274\u6743\u7684 2C \u7cfb\u7edf\u6216\u8005\u8f7b\u91cf\u7ea7\u7684 2B \u7cfb\u7edf\u3002\u50cf\u6211\u8fd9\u79cd\u6743\u9650\u4e0a\u5343\u4e2a\u7684\uff0c\u53ea\u80fd\u81ea\u5df1\u9020\u8f6e\u5b50\u3002\u786c\u8981\u7528 jwt \u7b80\u76f4\u662f\u81ea\u5df1\u627e\u6b7b\u3002\u51e0\u767e K \u7684 payload \u4f60\u6562\u7528\uff1f                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135914\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : kiddingU <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 \u9009\u62e9 kong \u7684\u539f\u56e0\u662f\u53ef\u4ee5\u5f88\u65b9\u4fbf\u7684\u7ba1\u7406\u81ea\u5df1\u7f51\u5173\uff0c\u540c\u65f6\u6709\u5f88\u591a\u7cfb\u7edf\u81ea\u5e26\u63d2\u4ef6\uff0c\u540c\u65f6\u81ea\u5df1\u5f00\u53d1\u63d2\u4ef6\u4e5f\u662f\u5f88\u65b9\u4fbf\u7684\uff0c\u6027\u80fd\u4e0a\u6765\u8bf4\uff0c\u672c\u4e8b\u5c31\u662f\u57fa\u4e8e openresty \u5f00\u53d1\u7684\u6027\u80fd\u8fd8\u662f\u5f88\u5f3a\u7684                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135915\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : cloudhuang <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             &gt; Gateway: OpenResty \uff08\u4e3a\u4e86\u5b9e\u73b0\u52a8\u6001\u7684\u670d\u52a1\u53d1\u73b0\uff0c\u901a\u8fc7 docker service label \u5b9e\u73b0)<\/p>\n<p>\u670b\u53cb\uff0c\u8fd9\u5757\u53ef\u5426\u8be6\u7ec6\u70b9\u8bf4\u8bf4\uff0c\u8c22\u8c22\u3002                                                            <\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135916\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : ychost <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             OS: Mac OS<br \/>\u6570\u636e\u5e93\uff1amysql\/odps\/redis\/greenplum<br \/>\u9274\u6743\uff1aJWT\/Cookie<br \/>\u524d\u7aef\uff1aVue2<br \/>\u540e\u7aef\uff1aJava\/Node<br \/>Gateway: \u516c\u53f8\u5185\u90e8\u63d0\u4f9b\uff08 vipserver \uff09<br \/>\u5bb9\u5668\u7f16\u6392: \u516c\u53f8\u5185\u90e8\u63d0\u4f9b\uff08 sigma \uff09<br \/>CI: \u516c\u53f8\u5185\u90e8\u63d0\u4f9b\uff08 Aone \uff09<br \/>\u7f16\u6392\u81ea\u52a8\u5316 \/\u81ea\u4e3e \/Dashboard\uff1a\u81ea\u5df1\u5199\u7684\uff08\u53eb\u505a Calabash \uff09<br \/>\u76d1\u63a7\uff1aGrafana <br \/>\u5b58\u50a8\u540c\u6b65\uff1aNo<br \/>TLS \u4ee5\u53ca\u81ea\u52a8\u66f4\u65b0\u8bc1\u4e66: Let&#8217;s encrypt + acme.sh                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135917\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : xunbug <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u8981\u5565\u6280\u672f\u6808\uff0c\u5ba2\u6237\u8981\u5565\u9700\u6c42\uff0c\u4e00\u8fb9 github \u4e00\u8fb9 google\uff0c\u7136\u540e copy&amp;run \u5c31\u53ef\u4ee5\u4e86                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135918\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : tuboshuv1 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u670d\u52a1\u5668\uff1a4g \u5185\u5b58+32g \u56fa\u6001\u6361\u7684\u77ff\u6e23\uff0c\u9884\u8ba1\u4f1a\u6539 8g \u5185\u5b58\uff0c\u5df2\u52a0 500g \u673a\u68b0<br \/>OS\uff1aCentOs<br \/>DB\uff1aMysql<br \/>\u524d\u7aef: layui<br \/>\u9274\u6743\uff1aJwt<br \/>\u540e\u7aef\uff1aJava<br \/>\u7f51\u5173\uff1a\u65e0<br \/>\u5bb9\u5668\uff1aDocker<br \/>CI\uff1aJenkins<br \/>\u76d1\u63a7\uff1a\u65e0<br \/>\u5b58\u50a8\u540c\u6b65\uff1a\u6570\u636e\u6309\u6708\u5199\u5165\uff0c\u6309\u6708\u5bfc\u51fa\uff0c\u6587\u4ef6\u5f62\u5f0f\u5b58\u50a8                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135919\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : zhuzhibin <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u8fd9\u91cc\u7684\u8001\u54e5\u90fd\u597d\u725b\u6279\u554a \u54ce\u6211\u662f\u5e9f\u7269                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135920\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : Rheinmetal <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u89c9\u5f97 k8s \u96c6\u7fa4\u592a\u5927\u53ef\u4ee5\u8bd5\u8bd5\u5404\u79cd\u88c1\u526a\u7248\u672c<br \/>k3s\/microk8s\/minikube                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135921\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : mingl0280 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 \u8a00\u5fc5\u79f0\u767e\u4e07\uff0c\u8bbf\u95ee\u91cf\u5343\u4e07\u2026\u2026\u4f60\u4e2a\u4eba\u642d\u4e2a\u7ad9\u90fd\u8fd9\u4e2a\u8bbf\u95ee\u91cf\uff0c\u4f60\u4e5f\u4e0d\u7528\u505a\u8fd9\u4e2a\u526f\u4e1a\u4e86\u597d\u5427\u2026\u2026                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135922\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : Akagi201 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @kop1989 #2 \u771f\u5b9e, \u5176\u5b9e\u4e1a\u4f59\u9879\u76ee\u8c01\u5f04\u90a3\u4e48\u590d\u6742\u554a, \u722c\u866b, \u5c0f\u7f51\u7ad9\u4e0d\u9700\u8981\u90a3\u4e9b\u6ca1\u7528\u4e1c\u897f.                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135923\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : tairan2006 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u4e1a\u4f59\u641e\u9879\u76ee\u4e0d\u662f\u8bb2\u7a76\u4e00\u628a\u68ad\u4e48\uff0c\u641e\u8fd9\u4e48\u590d\u6742\u5e72\u5565                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135924\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : wsydxiangwang <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u4e00\u65e0\u6240\u77e5\uff0c\u5565\u4e5f\u4e0d\u4f1a\uff0c\u65e0\u77e5\u7684\u6211\uff0c\u8def\u8fc7\u8def\u8fc7\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135925\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : lucybenz <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @xunbug \u5bf9 \u5ba2\u6237\u8001\u7237\u60a8\u597d\uff0c\u6709\u5565\u9700\u6c42\uff0c\u5c3d\u7ba1\u63d0\uff0c\u4e0d\u4f1a\u7684\u6211\u53ef\u4ee5\u5b66                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135926\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : justsosososo <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @johnsona \u7ed3\u5408 redis \u5f04\u4e2a token \u9ed1\u540d\u5355                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135927\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : ChrisZou <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u540e\u7aef\uff1aRuby on Rails<br \/>\u524d\u7aef\uff1aVue2 + TailwindCSS + Webpack<br \/>\u6570\u636e\u5e93\uff1aPostgresql<br \/>\u641c\u7d22\uff1aElasticSearch<br \/>OS: Ubuntu 18.04<br \/>WebServer\uff1aNginx<br \/>TLS \u4ee5\u53ca\u81ea\u52a8\u66f4\u65b0\u8bc1\u4e66: Let&#8217;s encrypt<\/p>\n<p>\u76ee\u524d\u9879\u76ee\u662f\u5f00\u6e90\u7684\uff0c\u611f\u5174\u8da3\u7684\u53ef\u770b\u770b https:\/\/github.com\/ChrisZou\/geekweibo                                                            <\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135928\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @johnsona \u5982\u679c\u8bf4\u662f\u8bc6\u522b\u7528\u6237\u7684\u8bdd\uff0c\u5728 login \u7684\u65f6\u5019\u80af\u5b9a\u9700\u8981\u4ece\u6570\u636e\u5e93\u91cc\u6bd4\u7167\u7528\u6237\u5bc6\u7801\uff0c\u4f46\u662f\u7ed9\u4ed6 sign \u4e86 token \u4ee5\u540e\uff08\u540c\u65f6\u4f1a\u628a\u7528\u6237\u540d encode \u8fdb\u53bb\uff09\uff0c\u4ed6\u7684\u8eab\u4efd\u8bc6\u522b\u53ef\u4ee5\u4ece\u540e\u9762 api \u8bf7\u6c42\u7684 token \u91cc\u9762 decode \u5f97\u5230\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135929\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @johnsona \u662f\u7684\uff0c\u7528\u6237\u7684 JWT \u4ed6\u4eec\u81ea\u5df1\u5b58\u5728\u81ea\u5df1\u6d4f\u89c8\u5668\uff0c\u901a\u8fc7\u54c8\u5e0c\u9a8c\u8bc1\u5408\u6cd5\u6027\u3002\u4f20\u7edf session \u65b9\u5f0f\u662f\u9700\u8981\u5728\u670d\u52a1\u7aef\u9a8c\u8bc1 token \u5408\u6cd5\u6027\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135930\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @cloudhuang \u53ef\u4ee5\u53c2\u8003 traefik \u6587\u6863\uff0copenResty \u53ef\u4ee5\u66ff\u4ee3\u4ed6\u7684\u5f88\u591a\u529f\u80fd\u3002\u4e2a\u4eba\u89c9\u5f97 traefik \u8fd8\u4e0d\u591f\u6210\u719f\u5e76\u4e14\u529f\u80fd\u4e0d\u591f\u5b9a\u5236\u8bdd\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135931\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : ga6840 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ChrisZou \u5f3a\u5927\u3002\u4f60\u600e\u4e48\u9650\u5236\u5185\u5bb9\u662f\u6280\u672f\u7684\uff1f\u5982\u679c\u6709\u4eba\u704c\u6c34\u548b\u529e                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135932\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : kazeik <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             OS: mac os\uff0cwindows<br \/>\u6570\u636e\u5e93\uff1amysql ,sqlite<br \/>\u9274\u6743\uff1a<br \/>\u524d\u7aef\uff1aandroid ,flutter<br \/>\u540e\u7aef\uff1ajava , php<br \/>\u8bed\u8a00\uff1ajava ,dart,php ,kotlin<br \/>Gateway: <br \/>\u5bb9\u5668\u7f16\u6392: <br \/>CI: <br \/>\u7f16\u6392\u81ea\u52a8\u5316 \/\u81ea\u4e3e \/Dashboard\uff1a <br \/>\u76d1\u63a7\uff1a <br \/>\u5b58\u50a8\u540c\u6b65\uff1a <\/p>\n<p>\u4e3b\u8981\u662f\u505a app \u5f00\u53d1\u7684\u3002\u57fa\u672c\u4e0a\u7528\u5230\u7684\u90fd\u662f\u8ddf app \u5f00\u53d1\u76f8\u5173\u7684\u4e1c\u897f<br \/>\u53ef\u601c\u4e00\u4e2a vue \u90fd\u6ca1\u5b66\u4f1a\u5165\u95e8                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135933\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : Patrick95 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             UMD \/ ES6-Modules \/Less \/ Sass \/ Stylus \/ PostCSS \/ xiaozhu.win \/ macOS \/                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135934\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : johnsona <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @justsosososo \u90a3\u4f60\u5176\u5b9e\u5c31\u5b58\u50a8\u4e86 token                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135935\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : johnsona <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 revoke \u573a\u666f\uff0c\u6bd4\u5982\u9000\u51fa\u767b\u9646 \u51bb\u7ed3\u8d26\u6237\u3002\u8fd8\u6709\u5c31\u662f\u8bf4\u5982\u679c\u6211\u7684\u8bf7\u6c42\u8981\u8bb0\u4f4f\u4e0a\u4e00\u6b65\u505a\u4e86\u4ec0\u4e48\uff0c\u8fd9\u79cd\u5c31\u662f\u6709\u72b6\u6001\uff0c\u4f60\u7528 jwt \u641e\u65e0\u72b6\u6001\u4e0d\u884c\u7684\u3002\u5f53\u7136 token \u6709\u4e00\u4e2a\u597d\uff0c\u4e0d\u5c40\u9650\u4e8e\u6d4f\u89c8\u5668                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135936\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : ChrisZou <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ga6840 \u76ee\u524d\u8fd9\u4e2a\u6ca1\u6709\u9650\u5236                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"4135937\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : totoro52 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @kop1989 \u8001\u54e5 TM \u76f4\u63a5\u8d77\u98de                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li>\n","protected":false},"excerpt":{"rendered":"<p>\u6765\u8bf4\u8bf4\u81ea\u5df1\u4e1a\u4f59\u9879\u76ee\u7684\u6280\u672f\u6808 \u8cc7\u6df1\u5927&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/192046"}],"collection":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=192046"}],"version-history":[{"count":0,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/192046\/revisions"}],"wp:attachment":[{"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=192046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=192046"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=192046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}