神秘油猴脚本组织bilibili把我们的浏览器变成CDN
Comments
这些视频网站都不要脸了 不阻止的话,网页看bilibili直播,会占满上传的带宽(对,有多少占多少),造成网络卡顿,或者触发电信的反pcdn机制,间接断网 // ==UserScript== // @name B站直播P2P屏蔽脚本 // @namespace https://enixjin.net // @version 1.0 // @description 屏蔽直播的P2P上传功能,减少设备资源占用 // @author enixjin // @match *://live.bilibili.com/* // @grant none // @run-at document-start // ==/UserScript== (function() { 'use strict'; delete window.RTCPeerConnection; delete window.mozRTCPeerConnection; delete window.webkitRTCPeerConnection; console.log('P2P blocked!')…
修复9月30号Let's Encrypt证书更换导致的AWS Lambda调用出现SSL错误
Comments
9月30号,著名的免费HTTPS证书供应商更新了他们的根证书。 从老的方式: 更新到了: 根据官方的文档:https://letsencrypt.org/docs/certificate-compatibility/ Android>7 iOS>10 ubuntu>16的系统应该不会收到影响 然而,悲剧的是,AWS的Lambda的runtime,似乎使用的是很老的证书系统,从.Net Core写的Lambda访问Let's Encrypt搭建的网站的话,会出现SSL的链接错误。 由于无法更改Lambda的runtime,研究下来似乎只有重新签名才能解决问题。 简单步骤如下:(ubuntu+nginx+certbot) 1.首先更新certbot到>1.6 sudo snap install --classic certbot certbot --version 2.1和2.2选一个做 2.1 (推荐)更新位于/etc/…
WebAssembly介绍及简单入门
Comments
tags:技术, NodeJS, Javascript
Any application that can be compiled to WebAssembly, will be compiled to WebAssembly eventually. -- Ending's law JavaScript诞生起到现在已经成为最流行的编程语言(之一),背后正是由Web及相关技术发展所推动的。JS应用正在变得越来越复杂(各种前后端技术、扩展到了手机APP、桌面),但这也暴露出了JS的问题: 语法灵活导致开发大型项目困难 性能在一些场景下不如C/C++等其他语言 一些公司研发了各种框架/语言/工具来尝试补救,比较有名的有微软的TypeScript(强类型,提升代码健壮性)、Google的Dart(新的虚拟机直接运行Dart提升性能),Firefox的asm.js(JS 的子集,引擎针对性能优化)。 那么,WebAssembly,于2015年诞生,2018年发布了1.0版本,被预言为未来的标准,现在已经被4大浏览器(FF,…
从零开始的Microservices服务搭建(三)
Comments
tags:技术, TypeScript, NodeJS
Telling a programmer there's already a library to do Something is like telling a songwriter there's already a song about love. -- Enix Jin 前两篇: 从零开始的Microservices服务搭建(一) 从零开始的Microservices服务搭建(二) 微服务,通过把系统解耦成一个个“微小”的服务解决了大型系统的复杂性问题。然而,在享受分布式系统的好处的同时,我们也会面临分布式系统的复杂性带来的问题。比如,如何跨多个微服务管理分布式事务? 第三步的代码在这里 什么是分布式事务? 当微服务架构将大型系统分解为自封装的小服务时,它同时也破坏了事务。 这意味着大型系统中的本地事务现在会被分布到按顺序调用的多个微服务中。 以下是使用本地事务的客户订单示例: 在上面的客户订单示例中,如果用户将Put Order操作发送到系统,系统将创建一个本地数据库事务。 如果任何步骤失败,则事务回滚。…
从零开始的Microservices服务搭建(二)
Comments
tags:技术, TypeScript, NodeJS
So much complexity in software comes from trying to make one thing do two things. And the rest of the complexity comes from making two things do one thing. -- Enix Jin 上一篇:从零开始的Microservices服务搭建(一) 基于微服务架构为软件开发带来了许多好处,包括小型开发团队、更短的开发周期、语言选择的灵活性、服务可扩展性等。 然而,不幸的是,微服务还引入了分布式系统的许多复杂问题。其中第一个挑战就是如何在微服务架构中实现灵活、安全、有效的身份验证(Authentication)和授权(Authorization)方案。…