有时需要快速查询Mac系统版本信息,或者内存信息,常规操作是点击屏幕顶部右上角Apple图标=>About This Mac=>然后在对应的Tab页寻找信息=>选择拷贝,这样做未免麻烦了些。

于是,趁着节假日,我快速做了个workflow,目标快速获取系统基础信息。

效果

说明:选择单个项,回车即可拷贝到系统剪贴板。

下载地址:https://github.com/alanhg/alfred-workflows/tree/master/about-mac

阅读全文 »

假如家里路由级已经解决了科学上网,那么Mac等终端设备是没必要再重复开启代理的,不然速度会更慢,性能开销也属浪费,但是当出了家门,连到公司Wi-Fi,又或者在咖啡厅,那么又需要开启代理。OK,这个过程完全是固定模式,有办法自动吗?YES。

Surge提供了Event脚本支持,即可做到以上需求。

官方文档,参考这里

配置

主配置文件,增加以下配置

阅读全文 »

SPA技术下,对于WEB前端路由,有两个选项HashRouter,BrowserRouter,两个选择,有利有弊,需要根据实际情况去选择,这里就总结下。

HashRouter vs BrowserRouter

  1. 两种路由展示形式不同,HashRouter使用的URL哈希形式(比如https://1991421.cn#posts)来区分各个路由URL,而BrowserRouter使用的传统URL形式(比如https://1991421.cn/posts)来区分

  2. BrowserRouter需要后台进行一定的设置,因为用户可能在某个URL下是可以执行浏览器刷新,这事服务端收到请求,那么需要确保该路由下,返回SPA的宿主页面,当然HashRouter不需要

    1
    2
    3
        app.get('*', function (req, res) {
    res.sendFile(path.join(__dirname + '/index.html'));
    });
  3. HashRouter因为利用的URL Hash,假如页面内部有目录锚点,而目录锚点如果放在URL上就会造成额外的问题,比如这样一个URLhttps://1991421.cn/#posts/detail/1234567#comment如果想获取目录锚点comment,使用location.hash结果将是#posts/detail/1234567#comment,这种情况下只能文本匹配。

  4. HashRouter地址如果是表单提交,本身hash部分是不会作为地址的一部分发出

结论

阅读全文 »

我们开发的网页需要运行在各种各样的浏览器下,而不同浏览器,不同版本对于网页解析都会有些许差异,如果是IE,就更麻烦。曾几何时,前端er聊起IE兼容就蛋疼,内心骂了IE多少次。

如何优雅的处理兼容性问题,是个固定的课题。现在对于这个问题已经有了相对系统化的方案来解决,这里就Mark下。

说明:场景不同,习惯不同,因此配置方式不唯一,这里以我个人的实践来说明,仅供参考。

browserslist

配置

项目根目录下创建.browserslistrc文件,根据需求写下目标浏览器范围,比如我这里配置如下

阅读全文 »

记得之前看过一篇文章《Github带来的不止是开源,还有折叠的认知》,文章意思就是不要被这些开源的框架,模块,占据了你的全部,不要只会CV,如果我们今天跟着ABC框架走,明天跟着EFG框架走,我们永远学不完,我们也永远不是真的懂。

如果说我们自己创建了一个框架,一个工具,那么这个创造过程中一定会遇到一系列的问题,而攻坚克难的这个过程会强化我们的能力与认知。

GitHub的好,不只是我们能从中免费拿到别人创造的东西,还有给予了我们机会去同样创造,贡献自己的东西给社区。

长久以来,我也不怎么贡献开源社区,核心原因就是懒。而2020年到现在1年多的时间,我有了些许的社区贡献,比如ADR,awesome-mac,IDEA插件,v2ray-docker,Alfred-workflows等。贡献花费了时间,但回报也很客观,比如自身的技术,比如结识了一些网友,比如英文书写的提高等等。总之开源贡献对自身有益。

那么如何贡献开源项目呢,这里Mark下开发流程。

如何贡献

一般更为标准的项目会有专门的文件介绍如何贡献,准确流程要以介绍为准,比如awsome-mac

这里介绍一般的操作流程,假设我只是个普通开发者,非项目管理员

阅读全文 »
0%