MacOS/Windows都自带了终端App,如果有URL Scheme支持的话,那么通过网页超链接就可以唤起终端SSH会话。这里调研下其可行性。

URL-Scheme支持

MacOS

ssh://<username>@<host>:<port>

点击测试

阅读全文 »

GitHub上如果是自己玩项目比较简单,但如何协作贡献开源项目呢,这就比较有意思了。这里mark下我在贡献开源项目,比如inshellisense积攒的经验。

https://static.1991421.cn/2024/2024-03-17-144331.png

这里以项目inshellisense为例

  1. fork开源项目,microsoft/inshellisense => alanhg/inshellisense

  2. 新建分支,比如fix/file-template,进行开发

    • 有UT的话更新UT,确保测试通过
    • 这里不直接使用主分支,是因为主分支用来同步项目更新,避免开发中,原项目有了新commit
    • 同时新建分支也可以更好的利用分支名表示在做的修改是feat还是fix等
  3. 提交到上游即alanhg/inshellisense

  4. 开源项目microsoft/inshellisense如果有更新,拉取更新Sync fork

  5. 提交分支fix/file-template进行rebase with主干分支,确保最新已同步

  6. 重新推送到上游alanhg/inshellisense

  7. 发起Pull Request,详细描述改动,等待合并

    • 如果PR review中有任何问题,积极反馈及解决
  8. 合并成功即🎉

  9. 可以将分支fix/file-template删除,切换到主分支,如果还有新的贡献可重新走步骤5进行操作

发布的产品为了让用户能够了解产品如何使用,除了产品中有一些使用介绍外,我们还会单独发布产品文档。这里mark下我在我司编写产品文档时,学习到的一些好的规范。

  1. 敬称用而不是

  2. 截图不要出现箭头,但可以出现马赛克和红色选中框

  3. 可以有静态图片和和动态GIF。

  4. 文档中可以有一些外部链接。

  5. 文档中语句结束要有句号,比如项目列表每个语句结尾应该加句号。

  6. 每篇文档开始要有一个总的介绍。

  7. 操作步骤从用户登录产品后开始,尽可能包含整个路径,而不是直接从局部开始,避免用户找不到功能入口。

  8. 中文文档中,英文需要加前后空格

  9. 操作名词可以加粗

Pnpm+Vite进行项目开发时,当进行本地包调试开发,Vite下加载的还是老版包。这里分析并解决下该问题

本地包调试步骤

因为包管理器是pnpm,所以对应的调试包挂载步骤就是这样

  1. 本地包执行pnpm link --global
  2. 具体项目下执行pnpm link pkgname --global

执行上述步骤浏览器访问Web即复现现包版本不对的问题。

阅读全文 »

string字符串有trim方法,但trim并非只是处理首尾空格,最近使用时发现有认识上的错误。因此mark下

根据MDN中介绍可以看到,trim处理的是首尾的white space+ line terminators

A new string representing str stripped of whitespace from both its beginning and end. Whitespace is defined as white space characters plus line terminators.

而空格只是其中一种white space。那具体有哪些字符呢

White space

阅读全文 »

最近把博客所在服务器从Nginx改为Caddy,而Caddy也支持了HTTP3,所以这里也尝试下HTTP3升级。

说明:2022年6月6日,IETF QUIC和HTTP工作组成员Robin Mark在推特上宣布,历时5年,HTTP/3终于被标准化为 RFC 9114,这是HTTP超文本传输协议的第三个主要版本

配置

Caddy

1
2
3
4
5
{
servers {
protocols h1 h2 h2c h3
}
}
阅读全文 »

在开发Webshell时会遇到一些脚本中关于有$TERM环境变量的使用。没明白到底干嘛的。

这里总结下

TERM

The $TERM is an environmental variable in Linux and Unix shell environments. This variable defines the terminal type. In other words, it sets the terminal type for which output is to be prepared.

如上可看出TERM定义了终端类型,不同类型会影响终端功能,比如颜色显示/光标控制

可能的值

阅读全文 »

从17年开始,欧陆词典已成为我查词标配App。这里就介绍下欧陆。

跨平台

欧陆支持Mac/Win/Linux等主流各系统,我个人主要以下平台使用

  1. iPhone日常

    欧陆有免费和增强版98CNY,目前个人使用免费版,免费版也支持加载第三方词库

  2. Mac日常

    有免费版和增强版168CNY,目前个人使用增强版,原因是免费版不支持加载第三方词库

  3. iPad偶尔使用

    同iPhone账号授权,目前个人使用免费版,免费版也支持加载第三方词库

付费后均是永久使用,免费升级

阅读全文 »

Copilot CLI已经公测了,之前一直没玩,现在尝试用了下,这里介绍下如何使用及我的看法

CLI当前版本version 0.5.4-beta (2024-01-04)

要求

与GitHub Copilot一样,需要订阅付费

安装

阅读全文 »

博客目前还坚守着hexo技术栈。这里Mark下我使用到的插件

注意:配置所在文件为_config.yml

1
permalink: :year/:month/:day/:abbrlink/
阅读全文 »
0%