Surge实现根据WI-FI情况自动调整代理策略
假如家里路由级已经解决了科学上网,那么Mac等终端设备是没必要再重复开启代理的,不然速度会更慢,性能开销也属浪费,但是当出了家门,连到公司Wi-Fi,又或者在咖啡厅,那么又需要开启代理。OK,这个过程完全是固定模式,有办法自动吗?YES。
Surge提供了Event脚本支持,即可做到以上需求。
官方文档,参考这里
配置
主配置文件,增加以下配置
SPA技术下,对于WEB前端路由,有两个选项HashRouter,BrowserRouter,两个选择,有利有弊,需要根据实际情况去选择,这里就总结下。
两种路由展示形式不同,HashRouter使用的URL哈希形式(比如https://1991421.cn#posts)来区分各个路由URL,而BrowserRouter使用的传统URL形式(比如https://1991421.cn/posts)来区分
BrowserRouter需要后台进行一定的设置,因为用户可能在某个URL下是可以执行浏览器刷新,这事服务端收到请求,那么需要确保该路由下,返回SPA的宿主页面,当然HashRouter不需要
1 | app.get('*', function (req, res) { |
HashRouter因为利用的URL Hash,假如页面内部有目录锚点,而目录锚点如果放在URL上就会造成额外的问题,比如这样一个URLhttps://1991421.cn/#posts/detail/1234567#comment
如果想获取目录锚点comment,使用location.hash结果将是#posts/detail/1234567#comment
,这种情况下只能文本匹配。
HashRouter地址如果是表单提交,本身hash部分是不会作为地址的一部分发出
记得之前看过一篇文章《Github带来的不止是开源,还有折叠的认知》,文章意思就是不要被这些开源的框架,模块,占据了你的全部,不要只会CV,如果我们今天跟着ABC框架走,明天跟着EFG框架走,我们永远学不完,我们也永远不是真的懂。
如果说我们自己创建了一个框架,一个工具,那么这个创造过程中一定会遇到一系列的问题,而攻坚克难的这个过程会强化我们的能力与认知。
GitHub的好,不只是我们能从中免费拿到别人创造的东西,还有给予了我们机会去同样创造,贡献自己的东西给社区。
长久以来,我也不怎么贡献开源社区,核心原因就是懒。而2020年到现在1年多的时间,我有了些许的社区贡献,比如ADR,awesome-mac,IDEA插件,v2ray-docker,Alfred-workflows等。贡献花费了时间,但回报也很客观,比如自身的技术,比如结识了一些网友,比如英文书写的提高等等。总之开源贡献对自身有益。
那么如何贡献开源项目呢,这里Mark下开发流程。
一般更为标准的项目会有专门的文件介绍如何贡献,准确流程要以介绍为准,比如awsome-mac
这里介绍一般的操作流程,假设我只是个普通开发者,非项目管理员
最近后端项目中投入使用了SonarQube,响应他们的号召,我在前端也开始使用。随着使用的同时,也发现之前对于Sonar的认知有错,这里Mark下。
作为前端ESlint再熟悉不过了,ESLint本身确保了代码风格的一致,再加上我们的UT,之前认为不需要Sonar的存在,但当实际使用后发现SonarQube与ESLint有所不同。
人工/自动
修复问题由此可以确定,Sonar更强大丰富些,一定程度可以与ESLint互补,在大型项目及人员参差不齐的情况下,可以一定程度的为项目保驾护航,值得一试。