{"pageContext":{"index":32,"total":362,"name":"2019-12-15","items":[{"node":{"frontmatter":{"title":"Electron 加入 OpenJS 基金会","publish":true,"cover":"https://static.oschina.net/uploads/space/2019/1213/082403_Shrm_4105562.jpg","showCover":true,"date":"2019-12-15","category":"javascript","url":"https://www.oschina.net/news/112040/electron-joins-the-openjs-foundation","author":"xplanet@OSCHINA","translator":"","tags":["openJS"],"priority":1},"html":"<p>Electron 是一款基于 Node.js 和 Chromium 的跨平台桌面应用开发工具，支持使用 JavaScript、HTML 和 CSS 编写跨平台的桌面应用程序。它被广泛用于许多著名的应用程序，包括 Discord、Microsoft Teams、Skype，Slack、Visual Studio Code 等。</p>"}},{"node":{"frontmatter":{"title":"ResponsiveViewer一次显示多种屏幕显示结果的chrome插件","publish":true,"cover":"https://lh3.googleusercontent.com/qRFoEjyI_rpXKJrwTrkExWCtUaUuxNNRnNVjNxqs49PJQgBd2XA1iLPXGQk5JEwjf1K5Uk07rp8=w640-h400-e365","showCover":true,"date":"2019-12-15","category":"frontend","url":"https://chrome.google.com/webstore/detail/responsiveviewer/inmopeiepgfljkpkidclfgbgbmfcennb","author":"skmail","translator":"","tags":["chrome"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"WebAssembly正式成为W3C标准","publish":true,"cover":"","showCover":true,"date":"2019-12-15","category":"devops","url":"https://www.w3.org/TR/wasm-core-1/","author":"w3c 编辑 Ka","translator":"","tags":["WASM"],"priority":1},"html":"<p>由此WASM成为与html,css,javascript并列的四种运行于浏览器的语言。</p>"}},{"node":{"frontmatter":{"title":"aws-vault AWS凭据管理工具","publish":true,"cover":"","showCover":true,"date":"2019-12-15","category":"devops","url":"https://github.com/99designs/aws-vault","author":"99designs","translator":"","tags":["aws"],"priority":1},"html":"<h1 id=\"创建-home-配置\"><a href=\"#%E5%88%9B%E5%BB%BA-home-%E9%85%8D%E7%BD%AE\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>创建 \"home\" 配置</h1>\n<p>$ aws-vault add home\n输入密钥\nEnter Access Key Id: ABDCDEFDASDASF\nEnter Secret Key: %%%</p>\n<h1 id=\"使用-home配置执行命令\"><a href=\"#%E4%BD%BF%E7%94%A8-home%E9%85%8D%E7%BD%AE%E6%89%A7%E8%A1%8C%E5%91%BD%E4%BB%A4\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>使用 home配置执行命令</h1>\n<p>$ aws-vault exec home -- aws s3 ls\nbucket<em>1\nbucket</em>2</p>\n<h1 id=\"直接进入home-配置对应的账户的aws控制台网页\"><a href=\"#%E7%9B%B4%E6%8E%A5%E8%BF%9B%E5%85%A5home-%E9%85%8D%E7%BD%AE%E5%AF%B9%E5%BA%94%E7%9A%84%E8%B4%A6%E6%88%B7%E7%9A%84aws%E6%8E%A7%E5%88%B6%E5%8F%B0%E7%BD%91%E9%A1%B5\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>直接进入home 配置对应的账户的AWS控制台网页</h1>\n<p>$ aws-vault login home</p>\n<h1 id=\"列出所有配置\"><a href=\"#%E5%88%97%E5%87%BA%E6%89%80%E6%9C%89%E9%85%8D%E7%BD%AE\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>列出所有配置</h1>\n<p>$ aws-vault list\nProfile                  Credentials              Sessions\n=======                  ===========              ========\nhome                     home     </p>"}},{"node":{"frontmatter":{"title":"finala分析AWS支出的工具","publish":true,"cover":"","showCover":true,"date":"2019-12-15","category":"devops","url":"https://github.com/similarweb/finala","author":"SimilarWeb","translator":"","tags":["aws"],"priority":1},"html":"<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\">+-------------------------------------------------------------------------------------------------+\n| ID           | REGION    | INSTANCE TYPE | MULTI AZ | ENGINE | PRICE PER HOUR | PRICE PER MONTH |\n+-------------------------------------------------------------------------------------------------+\n| arn:aws:rds: | us-east-1 | db.m3.medium  | true     | mysql  | 0.18           | 1,129.6         |\n| arn:aws:rds: | us-east-1 | db.t2.medium  | false    | mysql  | 0.068          | 600.96          |\n+-------------------------------------------------------------------------------------------------+</code></pre></div>"}},{"node":{"frontmatter":{"title":"github安全警告背后的故事","publish":true,"cover":"https://github.blog/wp-content/uploads/2019/12/behind-the-scenes-github-security-alerts.png?w=1201","showCover":true,"date":"2019-12-15","category":"nodejs","url":"https://github.blog/2019-12-11-behind-the-scenes-github-vulnerability-alerts/","author":"Justin Hutchings","translator":"","tags":["github"],"priority":1},"html":"<p>简单来说，递归获取依赖的所有列表，比对可靠数据源（例如National Vulnerability Database和WhiteSource）的白名单和黑名单。</p>"}},{"node":{"frontmatter":{"title":"javascript实现的的全面的算法和数据结构讲解","publish":true,"cover":"","showCover":true,"date":"2019-12-15","category":"nodejs","url":"https://github.com/trekhleb/javascript-algorithms","author":"Oleksii Trekhleb","translator":"","tags":["github"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"npm-run-all 可并行或同步的执行脚本的cli工具","publish":true,"cover":"","showCover":true,"date":"2019-12-15","category":"nodejs","url":"https://github.com/mysticatea/npm-run-all","author":"Toru Nagashima","translator":"","tags":["cli"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"react-beautiful-dnd 美观可达的react拖拽组件","publish":true,"cover":"https://user-images.githubusercontent.com/2182637/53614150-efbed780-3c2c-11e9-9204-a5d2e746faca.gif","showCover":true,"date":"2019-12-15","category":"frontend","url":"https://github.com/atlassian/react-beautiful-dnd","author":"Atlassian","translator":"","tags":["react"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"openlayers 开源高性能web地图引擎","publish":true,"cover":"","showCover":true,"date":"2019-12-15","category":"frontend","url":"https://github.com/openlayers/openlayers","author":"OpenLayers","translator":"","tags":["map"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"react-mde react markdow编辑器","publish":true,"cover":"","showCover":true,"date":"2019-12-15","category":"frontend","url":"https://github.com/andrerpena/react-mde","author":"André Pena","translator":"","tags":["react"],"priority":1},"html":"<p><a href=\"https://andrerpena.me/react-mde/\">Demo</a></p>"}},{"node":{"frontmatter":{"title":"react-tabs react tab组件","publish":true,"cover":"","showCover":true,"date":"2019-12-15","category":"frontend","url":"https://github.com/reactjs/react-tabs","author":"React Community","translator":"","tags":["react"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"react-use-fuzzy 模糊查询hook","publish":true,"cover":"","showCover":true,"date":"2019-12-15","category":"frontend","url":"https://github.com/hellojoshuatonga/react-use-fuzzy","author":"Joshua Tonga","translator":"","tags":["search"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"reactstrap 简单bootstrap4 react组件库","publish":true,"cover":"","showCover":true,"date":"2019-12-15","category":"frontend","url":"https://github.com/reactstrap/reactstrap","author":"reactstrap","translator":"","tags":["react"],"priority":1},"html":"<p>另见<a href=\"https://github.com/react-bootstrap/react-bootstrap\">react-bootstrap</a></p>"}},{"node":{"frontmatter":{"title":"single-spa 微前端框架","publish":true,"cover":"","showCover":true,"date":"2019-12-15","category":"frontend","url":"https://github.com/CanopyTax/single-spa","author":"Canopy","translator":"","tags":["aws"],"priority":1},"html":"<p>在线<a href=\"https://single-spa.surge.sh/\">demo</a></p>"}},{"node":{"frontmatter":{"title":"ssh2支持sftp,socket5通道的纯javascript实现的ssh工具","publish":true,"cover":"","showCover":true,"date":"2019-12-15","category":"nodejs","url":"https://github.com/mscdex/ssh2","author":"mscdex","translator":"","tags":["ssh"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"使用prefers-color-scheme配合svg favico支持dark模式","publish":true,"cover":"https://pbs.twimg.com/media/EJzWSAxWsAAdteb?format=png&name=small","showCover":true,"date":"2019-12-15","category":"frontend","url":"https://blog.tomayac.com/2019/09/21/prefers-color-scheme-in-svg-favicons-for-dark-mode-icons/","author":"Thomas Steiner","translator":"","tags":["svg"],"priority":1},"html":"<p>Chrome80开始支持svg favico</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>link</span> <span class=\"token attr-name\">rel</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>icon<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">href</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>/icon.svg<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n\n<span class=\"token comment\">&lt;!-- icon.svg --></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>svg</span> <span class=\"token attr-name\">width</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>100<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">height</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>100<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">xmlns</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>http://www.w3.org/2000/svg<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>style</span><span class=\"token punctuation\">></span></span><span class=\"token style language-css\">\n    <span class=\"token selector\">circle</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">fill</span><span class=\"token punctuation\">:</span> yellow<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">stroke</span><span class=\"token punctuation\">:</span> black<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">stroke-width</span><span class=\"token punctuation\">:</span> 3px<span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token atrule\"><span class=\"token rule\">@media</span> <span class=\"token punctuation\">(</span><span class=\"token property\">prefers-color-scheme</span><span class=\"token punctuation\">:</span> dark<span class=\"token punctuation\">)</span></span> <span class=\"token punctuation\">{</span>\n      <span class=\"token selector\">circle</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">fill</span><span class=\"token punctuation\">:</span> black<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">stroke</span><span class=\"token punctuation\">:</span> yellow<span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  </span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>style</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>circle</span> <span class=\"token attr-name\">cx</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>50<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">cy</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>50<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">r</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>47<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">/></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>svg</span><span class=\"token punctuation\">></span></span></code></pre></div>"}},{"node":{"frontmatter":{"title":"游戏-飞翔的鸡蛋(Aero Egg)","publish":true,"cover":"https://blog.kazge.com/assets/volitantegg-show.gif","showCover":true,"date":"2019-06-12","category":"game","url":"https://blog.kazge.com/show/volitantegg/%E9%A3%9E%E7%BF%94%E7%9A%84%E9%B8%A1%E8%9B%8B.apk","author":"广告","translator":"","tags":["ads"],"priority":1},"html":"<p><a href=\"https://itunes.apple.com/us/app/volitant-egg-ads-version/id1247264387?mt=8\">APP Store(非国内账户可下载)</a>\n<a href=\"https://blog.kazge.com/show/volitantegg/%E9%A3%9E%E7%BF%94%E7%9A%84%E9%B8%A1%E8%9B%8B.apk\">安卓 - 中文</a></p>"}},{"node":{"frontmatter":{"title":"教程:mongodb事务","publish":true,"cover":"https://webassets.mongodb.com/_com_assets/cms/giphy-xei4uavnsz.gif","showCover":true,"date":"2019-12-15","category":"nodejs","url":"https://www.mongodb.com/blog/post/quick-start-nodejs--mongodb--how-to-implement-transactions","author":"Lauren Schaefer","translator":"","tags":["mongodb"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"想让你的文章出现在这里？","publish":true,"cover":"","showCover":true,"date":"2019-07-08","category":"frontend","url":"mailto:editor@zhouexin.com?subject=投稿!","author":"投稿","translator":"","tags":["editor"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"教程：不依赖Redux实现React全局store","publish":true,"cover":"https://upload.wikimedia.org/wikipedia/commons/0/06/Ngrx-redux-pattern-diagram.png","showCover":true,"date":"2019-12-15","category":"frontend","url":"https://react.christmas/2019/7","author":"Jonas Løchsen","translator":"","tags":["react"],"priority":1},"html":""}}]}}