{"pageContext":{"index":101,"total":364,"name":"2021-04-11","items":[{"node":{"frontmatter":{"title":"100种下划线和覆盖特效","publish":true,"cover":"https://res.cloudinary.com/practicaldev/image/fetch/s--KjPnib1g--/c_imagga_scale,f_auto,fl_progressive,h_420,q_66,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vevb2z73mab3trcg1zs8.gif","showCover":true,"date":"2021-04-11","category":"frontend","url":"https://dev.to/afif/100-underline-overlay-animation-the-ultimate-css-collection-4p40","author":"Temani Afif","translator":"","tags":["animation"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"19个Javascript趣味问题解决方案","publish":true,"cover":"https://delicious-insights.com/assets/images/delicious-insights.svg","showCover":true,"date":"2021-04-11","category":"javascript","url":"https://delicious-insights.com/en/posts/js-nuggets/","author":"Delicious Insights","translator":"","tags":["NUGGETS"],"priority":2},"html":"<p>有效地对阵列进行重复数据删除\n有效地提取子字符串\n正确格式化数字\nArray#splice\n字符串和Unicode\n短路嵌套循环\n通过解构反转两个值\n轻松剥离数组中的“空白值”\n数字分隔符万岁！\n正确排序文本\n从文本中提取表情符号\n正确定义可选的命名参数\nconst 是新的 var\n使用命名的正则捕获\n对象传播与 Object.assign\n将对象转换为对象，Map反之亦然\n本for-of循环：应该仍然存在只有一个...\n用模拟一个抽象类 new.target\n使用代理实现负数组索引</p>"}},{"node":{"frontmatter":{"title":"3万5千美金的奖励攻破github 私有页面","publish":true,"cover":"https://robertchen.cc/blog/gh-xss/auth-flow.jpg","showCover":true,"date":"2021-04-11","category":"security","url":"https://robertchen.cc/blog/2021/04/03/github-pages-xss","author":"Robert Chen","translator":"","tags":["hack"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"ECMAScript 类静态初始化程序块","publish":true,"cover":"","showCover":true,"date":"2021-04-11","category":"nodejs","url":"https://v8.dev/features/class-static-initializer-blocks","author":"Shu-yu Guo","translator":"","tags":["class"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"Facebook获得最高法院支持预录电话(robocall)裁决","publish":true,"cover":"","showCover":true,"date":"2021-04-11","category":"other","url":"https://movietvtechgeeks.com/facebook-gets-supreme-court-on-its-side-for-robocall-ruling/","author":"JEFFREY LANG","translator":"","tags":["law"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"MIT机器人利用穿透无线电频率感知隐藏的物体","publish":true,"cover":"https://news.mit.edu/sites/default/files/styles/news_article__image_gallery/public/images/202103/MIT-RF-Grip-01-press_0.jpg?itok=JxII5-_2","showCover":true,"date":"2021-04-11","category":"AI","url":"https://www.sohu.com/a/458663948_120868895","author":"Daniel Ackerman","translator":"","tags":["hack"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"PM2 WebUI - PM2 Plus的开源替代方案, 提供简约的应用程序管理器和日志查看器","publish":true,"cover":"https://github.com/suryamodulus/pm2-webui/raw/main/src/public/assets/images/app/screenshots/app.png?raw=true","showCover":true,"date":"2021-04-11","category":"nodejs","url":"https://github.com/suryamodulus/pm2-webui","author":"Surya T","translator":"","tags":["pm"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"fselect - 使用类似SQL的查询查找文件","publish":true,"cover":"","showCover":true,"date":"2021-04-11","category":"other","url":"https://github.com/jhspetersson/fselect","author":"jhspetersson","translator":"","tags":["search"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"SymCode：符号条形码","publish":true,"cover":"https://www.visioncortex.org/public/symcode/Amazon%20Go%20Seattle%20-%20crop.jpg","showCover":true,"date":"2021-04-11","category":"other","url":"https://www.visioncortex.org/symcode-docs","author":"Chris Tsang and Sanford Pun","translator":"","tags":["barcode"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"gatsby-plugin-elasticlunr-search - gatsby静态站点搜索插件","publish":true,"cover":"","showCover":true,"date":"2021-04-11","category":"nodejs","url":"https://www.gatsbyjs.com/plugins/@gatsby-contrib/gatsby-plugin-elasticlunr-search","author":"gatsby-contrib","translator":"","tags":["gatsby"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"iohook - Node.js全局键盘和鼠标侦听器","publish":true,"cover":"","showCover":true,"date":"2021-04-11","category":"nodejs","url":"https://github.com/wilix-team/iohook","author":"wilix.team","translator":"","tags":["electron"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"it-to-stream - 将流式可迭代对象转换为Node.js流","publish":true,"cover":"","showCover":true,"date":"2021-04-11","category":"nodejs","url":"https://github.com/alanshaw/it-to-stream","author":"Alan Shaw","translator":"","tags":["stream"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"moovie.js - html5电影播放器","publish":true,"cover":"https://camo.githubusercontent.com/4aa5fb1759c3978fb4ede7bd1821965d1c5b030bdfb475216423962c4eead68e/68747470733a2f2f626d737669656972612e6769746875622e696f2f6d6f6f7669652e6a732f64656d6f2d74656d706c6174652f696d616765732f6d6f6f7669655f626c61636b2e706e67","showCover":true,"date":"2021-04-11","category":"frontend","url":"https://github.com/BMSVieira/moovie.js","author":"Bruno Vieira","translator":"","tags":["movie"],"priority":1},"html":"<p>html5电影播放器.md</p>"}},{"node":{"frontmatter":{"title":"node-csv - 具有简单api并针对大型数据集进行了测试的全功能CSV解析器","publish":true,"cover":"","showCover":true,"date":"2021-04-11","category":"nodejs","url":"https://github.com/adaltas/node-csv","author":"adaltas","translator":"","tags":["csv"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"node-tail - 零依赖tailing文件","publish":true,"cover":"","showCover":true,"date":"2021-04-11","category":"nodejs","url":"https://github.com/lucagrulla/node-tail","author":"Luca Grulla","translator":"","tags":["file"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"node-tail - 零依赖tailing文件","publish":true,"cover":"","showCover":true,"date":"2021-04-11","category":"nodejs","url":"https://github.com/lucagrulla/node-tail","author":"Luca Grulla","translator":"","tags":["file"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"psql命令秘籍大全","publish":true,"cover":"","showCover":true,"date":"2021-04-11","category":"database","url":"https://mydbanotebook.org/psql_tips_all.html","author":"Lætitia Avrot","translator":"","tags":["hack"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"react-gsap - greensck动画react封装","publish":true,"cover":"","showCover":true,"date":"2021-04-11","category":"frontend","url":"https://github.com/bitworking/react-gsap","author":"Jan Fischer","translator":"","tags":["react","animation"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"react-native-mmkv比AsyncStorage快30倍的React Native本地键值存储库(由微信开发使用)","publish":true,"cover":"https://github.com/mrousavy/react-native-mmkv/raw/master/img/benchmark_1000_get.png","showCover":true,"date":"2021-04-11","category":"mobile","url":"https://github.com/mrousavy/react-native-mmkv","author":"Marc Rousavy","translator":"","tags":["react native"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"react-tinder-card tinder card特效","publish":true,"cover":"https://github.com/3DJakob/react-tinder-card/raw/master/tinder.gif","showCover":true,"date":"2021-04-11","category":"frontend","url":"https://github.com/3DJakob/react-tinder-card/raw/master/tinder.gif","author":"Jakob Unnebäck","translator":"","tags":["react","animation"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"split - 可移动分隔布局组件","publish":true,"cover":"","showCover":true,"date":"2021-04-11","category":"frontend","url":"https://github.com/nathancahill/split","author":"Nathan Cahill","translator":"","tags":["react"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"superplate - 集成nextjs,typescript,jest,sass,styled component等的前端工程模板","publish":true,"cover":"https://github.com/pankod/superplate/raw/master/images/banner.png","showCover":true,"date":"2021-04-11","category":"frontend","url":"https://github.com/pankod/superplate","author":"Pankod","translator":"","tags":["nextjs"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"不耐烦javascript程序员2021版","publish":true,"cover":"https://exploringjs.com/impatient-js/img-homepage/cover-homepage.jpg","showCover":true,"date":"2021-04-11","category":"javascript","url":"https://gist.github.com/rauschma/e9c00fddc17e73fab6ce6c22b2e78e17","author":"Axel Rauschmayer","translator":"","tags":["es"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"微软声称它是 第一家在生产环境中运行双相浸泡冷却的云供应商","publish":true,"cover":"https://p2.itc.cn/q_70/images03/20210407/388ff9ef28664194bd46f0e69cdf0d10.jpeg","showCover":true,"date":"2021-04-11","category":"devops","url":"https://www.sohu.com/a/459362226_114760","author":"IT之家@SOHU","translator":"","tags":["microsoft"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"分享 - React Native程序身份验证流程组织","publish":true,"cover":"https://miro.medium.com/max/2000/0*c3Mj9Tdl8dg-0VAW.jpg","showCover":true,"date":"2021-04-11","category":"mobile","url":"https://levelup.gitconnected.com/react-native-authentication-flow-the-simplest-and-most-efficient-way-3aa13e80af61","author":"Lucas Garcez","translator":"","tags":["auth"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"宇宙射线每年在日本造成30,000次网络故障","publish":true,"cover":"","showCover":true,"date":"2021-04-11","category":"other","url":"https://mainichi.jp/english/articles/20210405/p2g/00m/0bu/028000c","author":"Mainichi","translator":"","tags":["cosmic"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"教程 - Node.js中的Apache Kafka入门","publish":true,"cover":"https://thecodebarbarian.com/images/Barbarian_Head.png","showCover":true,"date":"2021-04-11","category":"nodejs","url":"https://thecodebarbarian.com/getting-started-with-apache-kafka-in-node-js.html","author":"Valeri Karpov","translator":"","tags":["kafka"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"在线figma 转react代码工具","publish":true,"cover":"","showCover":true,"date":"2021-04-11","category":"frontend","url":"https://figma-to-react.vercel.app/","author":"vercel","translator":"","tags":["figma"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"教程 - 在Next.js项目中整合Chakra UI","publish":true,"cover":"","showCover":true,"date":"2021-04-11","category":"nodejs","url":"https://overcompiled.com/blog/0002-nextjs-chakraui-start","author":"Nikit Singh","translator":"","tags":["nextjs"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"教程 - 我如何在自己的3D游戏引擎中实现骨骼动画","publish":true,"cover":"https://vladh.net/static/game-engine-skeletal-animation/skeleton-indepth-transforms.png","showCover":true,"date":"2021-04-11","category":"game","url":"https://vladh.net/articles/game-engine-skeletal-animation.html","author":"Vlad-Ștefan Harbuz","translator":"","tags":["algorithm"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"教程 - 通过css变量五分钟实现dark模式","publish":true,"cover":"https://lea.verou.me/wp-content/uploads/2021/03/hsl-dm.png","showCover":true,"date":"2021-04-11","category":"frontend","url":"https://lea.verou.me/2021/03/inverted-lightness-variables/","author":"LEA VEROU","translator":"","tags":["css"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"观点 - 任何时候都可以将let替换为const","publish":true,"cover":"https://miro.medium.com/max/1400/0*_Xgjsh5aHCulTmo0.jpeg","showCover":true,"date":"2021-04-11","category":"javascript","url":"https://charles-stover.medium.com/replacing-let-with-const-86797b790775","author":"Charles Stover","translator":"","tags":["const"],"priority":1},"html":"<blockquote>\n<p>当你觉得不可能时，使用函数就可以了</p>\n</blockquote>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">function</span> <span class=\"token function\">getHeight</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span> gender<span class=\"token punctuation\">,</span> name<span class=\"token punctuation\">,</span> race <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>name <span class=\"token operator\">===</span> <span class=\"token string\">'Charles'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> <span class=\"token number\">70</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>\n    gender <span class=\"token operator\">===</span> Gender<span class=\"token punctuation\">.</span>Male <span class=\"token operator\">&amp;&amp;</span>\n    race <span class=\"token operator\">===</span> Race<span class=\"token punctuation\">.</span>White\n  <span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> <span class=\"token number\">69</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>gender <span class=\"token operator\">===</span> Gender<span class=\"token punctuation\">.</span>Female<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> <span class=\"token number\">64</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">return</span> <span class=\"token number\">60</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">const</span> height <span class=\"token operator\">=</span> <span class=\"token function\">getHeight</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span> gender<span class=\"token punctuation\">,</span> name<span class=\"token punctuation\">,</span> race <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>"}}]}}