第18期 — 2019-09-01

在浏览器中阅读

周e信

扫描二维码关注微信公众号

Node.js

实时协议框架 Feathers 4 发布🔗

Feathers 可以用一种协议(Feathers)派生出 REST APIs,websocket(socket.io),甚至 HTTP2 或 GraphQL 不需要改动你的代码。

Feathers 不像 MVC 那样创建路由,而是使用 service 以及 hooks 工作流来组织。

其友好地支持 typescript 以及验证。

David Luecke 编辑 Ka

防护恶意 npm 生命周期脚本🔗

npm 生命周期脚本(npm package lifecycle scripts)例如 postinstall 可以用来进行任何操作,这带来了安全隐患,例如 eslint-scope 攻击导致用户的 npm 登录信息被获取。

防护

禁止执行其它脚本,容易误伤

npm install --ignore-scripts
yarn add --ignore-scripts

使用监视脚本执行工具 npm-viewscripts

npm install npm-viewscripts -g

npm audit

Kyle Martin 编辑 Ka

使用 ndb 调试你的 Node.js 项目🔗

相对于 node 自带调试器,ndb为我们带来了如下一些特性:

  • 子进程自动检测和调试接入
  • 支持在模块加载前进行断电
  • 支持在调试工具中直接编辑文件,保存后自动更新到本地文件
  • 默认情况下,ndb 会对引用的所有项目文件夹外的脚本开启黑盒模式让我们能更专注业务代码。项目文件夹外的脚本包括 Node.js 自带的模块文件(例如 _streamwrap.js, asynchooks.js, fs.js 等)。当然你可以在设置中修改“Blackbox anything outside working dir”配置来关闭这个功能。

两个问题:

首先要确保你的 Node.js 环境 >= 8.0.0

由于 ndb 依赖 Puppeteer 安装过程中会去下载 Chromium(~170MB Mac, ~280MB Linux, ~280MB Win)。

怡红公子

npm,yarn,pnpm比较🔗
Speed NPX Offline Well supported
npm 🐌 ✅ ✅ ✅
yarn 🚄 ❌ ✅ ✅
pnpm 🚀 ✅ ✅ ❌

Niccolo Borgioli 编辑 Ka

前端

教程-多玩家VR游戏🔗

Alvin Wan

渐进式jpeg图像加载🔗

渐进式jpeg(progressive JPEG),将图片分成质量不同的段。通过Ajax 和 HTTP Range Requests可以分段加载图片显示轮廓。

Christoph Erdmann 编辑 Ka

投稿

Geoff Graham

reactime-记录react state的调试工具chrome扩展🔗

需要安装为chrome扩展,代码里需要接入:

const reactime = require('reactime');

const rootContainer = document.getElementById('root');
ReactDOM.render(<App />, rootContainer);

reactime(rootContainer);

OSLabs Beta 编辑 Ka

fabulous-vscode 样式界面编辑插件🔗

使用界面编辑 css,支持 scss,css,js, jsx, tsx, component.ts, vue or svelte 文件。当选中 css 块时即可编辑。

Raathi Kugarajan 编辑 Ka

OSLabs Beta 编辑 Ka

Moz Morris 编辑 Ka

Victor Ribeiro

John Betancur 编辑 Ka

Stellar Project 编辑 Ka

编辑 Ka

数据库

postgres 行级别安全🔗
-- 启用
ALTER TABLE t_service ENABLE ROW LEVEL SECURITY;
-- 指定数据给用户
CREATE POLICY bob_pol ON t_service
    FOR SELECT
    TO bob
    USING (debug_me(service) AND service_type = 'open_source');

Hans-Jürgen Schönig

人工智能

mediapipe-谷歌开源物体识别框架🔗

四种实时解决方案:

  • 手部追踪(细化到手指)
  • 面部识别
  • 头发分割(Hair Segmentation)
  • 物体识别

Google 编辑 Ka

运维

nutshell-基于RUST的shell,支持windows🔗

输入一个命令,首先会找自己实现的shell,如果找不到,则找系统自带的(cmd(windows),shell(linux/MacOS))

nutshell 编辑 Ka

Deepak Vohra 译者 张卫滨

github-actions配合CI🔗
  • 对于公有仓库免费
  • 支持直接引入 NodeJS, Python, 或 Java。
  • 支持两种 action, javascript action(本文主要介绍这一种) 和docker action
  • 默认整合 git
  • action 支持下载,获得用户输入,执行命令,文件操作
  • -

RADU M 编辑 Ka

Stellar Project 编辑 Ka

其他

Nintendo 64 Decompilation Projects 编辑 Ka

开源项目的薪资🔗

简言之,大部分低的可怜。

资金来源

Feross Aboukhadijeh 编辑 Ka

广告

monolith-rust工具以dataurl形式保存网页所有资源成单独网页🔗

dataurls格式

$ git clone https://github.com/Y2Z/monolith.git
$ cd monolith
$ cargo install --path .

Y2Z tools 编辑 Ka

扫描二维码关注微信公众号
本期阅读量