开发时遇到需求是Shell里需要执行下载安装CodeServer,因此就需要识别机器的CPU架构从而下载对应的程序包了。

CodeServer程序包

不同CPU架构需要安装不同程序

脚本

阅读全文 »

终端中输入命令时,光标后面会给出一个推荐命令,如果OK,按➡️就可以快速选择输入,这种功能业界叫autosuggestion.

autosuggestion!=autocompletion

首先搞清楚相关概念的不同。

  1. autosuggestion是基于历史或其它逻辑自动给出推荐的命令输入,这个命令是完整的,推荐位置在光标后面

  2. autocompletion是基于命令规范或其它逻辑给出当前输入命令的选项值,需要按键触发,一般是Tab键,补全的并不是完整的命令,而是当前命令的选项值,同时补全推荐会是多个,需要用户自行去选择。

由上可以知道两者不同,且并无冲突。

阅读全文 »

网页实现文件下载可以使用成熟的类库FileSaver.js,其压缩后的大小也就2KB,引入的话也并不会对站点有多大的体积负担。同时我们也需要了解下该pkg的实现,这里就梳理下实现逻辑。

saveAs API

先看下API方法的参数情况,可以看到直接传入文件数据或者URL都可。

1
FileSaver saveAs(Blob/File/Url, optional DOMString filename, optional Object { autoBom })

处理流程

阅读全文 »

今天升级ChatGPT iOS之后,发现支持Background Conversations了。快速使用了下觉得很棒,这里介绍下如何使用该功能。

限制

  1. 目前看并没有限制,仅仅是在灰度阶段,如果还没有设置入口,请耐心等待。

  2. App的话建议升级到最新版。我这里是iOS端升级到了1.2024.150

开启Background Conversations

进入设置即可看到对应选项,开启即可。

阅读全文 »

公司有job会每天扫描研发项目,其中node项目会针对pkg的组件漏洞及时提醒,有必要的话我们都是要及时处理的,毕竟安全无小事,这里总结下做法。

组件漏洞一般是指采用的npm包版本在开源漏洞库中有记录,即社区里已经告知了该版本存在漏洞,因此是建议升级到某些版本的。

在接到这样的通知时要做的就是尽快升级。当然实际的操作会分几种情况

  1. 直接依赖
    如果pkg是作为直接依赖,那么直接升级即可,只是需要注意如果是大版本更新,要考虑使用上是否有变动,是的话,需要调整下调用写法,当然更多是要验证,影响大的话,要降低发布速度,安全第一。
  2. 间接依赖
    如果pkg是作为间接依赖,会麻烦一点。优先是把直接依赖找出来,进行升级,如果直接依赖的包并没有新版本,这时可以利用resolution直接控制包版本。当然这里一样是要确定版本升级是否是大版本更新,同时修复发布的话,风险有多大。

npm ls pkg

阅读全文 »

Chrome浏览器的network中经常会看到ping类型的请求,好奇是怎么发起又有什么作用呢。这里分析总结下。

调查后发现ping类型请求是通过navigator.sendBeacon发起,该方法可携带数据。实际上发送的还是post请求。即服务端还是按照post请求去处理和返回。

该请求是由浏览器异步发起的,发起方是navigator并非是所在网页内的单线程JS。由于这个特性,网页的开关不会影响这个请求的执行。

阅读全文 »

ChatGPT推出了Memory功能,即GPT可以记住之前所说的事情了,这样即使新开会话,GPT也是有部分记忆上下文的。这里我记录下我所了解到的。

使用门槛

Memory针对免费和付费用户都开放,但处于灰度状态。 如果你没看到Memory开关,说明还没灰度命中,请耐心等待。

GPTs针对Memory也在灰度阶段,如果在GPTs设置中未开到开关,则说明还没命中。

创建记忆

阅读全文 »

今天我的plus账号收到了ChatGPT Connected apps开放使用的通知。我快速上手了下,觉得挺棒的,这里我记录下我所了解到的。

使用门槛儿

0530更新:免费/付费用户均开放使用了。

目前免费用户不支持,仅支持ChatGPT Plus,Team and Enterprise付费用户

如果你属于付费用户但不可用,那么说明还没灰度命中,请耐心等待。

阅读全文 »

之前就办了港卡和富途开户,但一直没玩。最近报着学习的心态尝试玩了把。这里Mark下操作流程。

富途开户+港卡办理

这里我是因为公司原因之前就已办理。

  1. 港卡,我这里走的是中信香港卡
    • 开通港卡后,实际上是有3个货币账户,港币/人民币/美元
  2. 富途开户
    • 美股/港股账户都开通

具体办理流程见中信银行港卡办理

阅读全文 »

最近接到一个WebShell用户反馈,即debian系统-终端登陆发现没有加载~/.profile. 这里经过分析是底层开启的交互式非登陆Shell没有走登陆Shell导致。

登陆Shell

登陆Shell会加载 ~/.bash_profile, .profile,/etc/profile文件,非登陆Shell不会加载这些,但会加载~/.bashrc

profile加载顺序

  1. /etc/profile:首先,Shell 会读取系统范围内的全局配置文件 /etc/profile。
  2. ~/.bash_profile, ~/.bash_login, 和 ~/.profile(按此顺序),Shell 会查找并尝试执行用户的个人配置文件。它首先检查 ~/.bash_profile,如果这个文件存在,则停止读取其他文件。如果 ~/.bash_profile 不存在,它会查找 ~/.bash_login。如果这个文件也不存在,最后会尝试读取 ~/.profile。
阅读全文 »
0%