man standing in front of people sitting beside table with laptop computers

如何预约我线下分享

上周做分享时,提到了我比较容易约分享。突然觉得,我应该给约我分享的人写一个 Guidelines,方便大家可以方便的约我会议。

我会去什么样的活动做分享?

  1. 技术主题
  2. 开源主题
  3. 开发者相关主题
  4. 运营主题
  5. DevRel 主题
  6. 其他任何我感兴趣的主题(播客、效率工作)

我参会的必要条件是什么?

  1. 时间可接受:正常的活动时间,不要搞半夜的那种,年纪大了,扛不住。
  2. 地点可接受:线上分享比较简单,因为我不需要到线下去。但如果你希望我到线下做分享,那可能需要和我沟通,是否可以到达现场(一般情况下,提供差旅的分享我不会拒绝线下分享)

我参会的一些补充描述

  1. 如果你的活动是免费的,那我去进行分享也是免费的。你只要符合必要条件即可;反之,如果是一个付费活动,那我希望你也提供相应的费用给我(除非你的影响力大到了我愿意去蹭活动)

如何联系我关于分享?

如果你有我的微信,直接发微信即可。发送活动时间、活动主题、活动地点给我确认即可。

如果你没有微信,可以发相应的资料到我的邮箱 bestony@linux.com 即可。

什么样的分享我不会参与?

  1. 我不感兴趣的主题不会参与:虽然我不抗拒分享,但对于一个我不喜欢的主题,还是不希望浪费时间。我也不觉得我会给你提供什么样的价值和信息。如果你预期这个主题我不会感兴趣,可以在联系我的时候,告知希望我分享的内容以及希望我提供给你的价值。
black and white penguin toy

如何使用 GitHub Action 自动发布 NPM

我经常会用 GitHub 来存储我的代码,其中很大一类是各种 npm 包。

由于本地常年配置了 npm 的 mirror,我更喜欢使用 GitHub 自动发布。

有了这个配置,我只需要编写完代码后,并执行如下命令,即可实现自动发布包.

npm version patch
git push --all
git push --tags

以下是对应的 GitHub action file。

使用时需要配置 npm_token 为你自己的 NPM Token。这个 Token 可以在 NPM 后台获取到。

name: Node.js Package
on:
  push:
    tags:
    - "*"
jobs:
  publish-npm:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 14
          registry-url: https://registry.npmjs.org/
      - run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{secrets.npm_token}}
Code language: JavaScript (javascript)
green and black digital device

如何用 CURL 看证书信息

在进行证书故障排查的时候,难免要查看证书信息。不过目前的浏览器在设计上,查看证书详情变得困难很多,因此,你可以借助 CURL 来查看证书信息。

具体的命令

 curl --insecure -v https://域名 2>&1 | awk 'BEGIN { cert=0 } /^\* SSL connection/ { cert=1 } /^\*/ { if (cert) print }'
Code language: JavaScript (javascript)

返回结果如下,其中包含了域名证书当中的过期时间、申请者等核心信息,方便你进行排查。

➜  ~  curl --insecure -v https://www.ixiqin.com 2>&1 | awk 'BEGIN { cert=0 } /^\* SSL connection/ { cert=1 } /^\*/ { if (cert) print }'
* SSL connection using TLSv1.2 / ECDHE-RSA-CHACHA20-POLY1305
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=www.ixiqin.com
*  start date: Aug 15 00:00:00 2021 GMT
*  expire date: Nov 13 23:59:59 2021 GMT
*  issuer: C=AT; O=ZeroSSL; CN=ZeroSSL RSA Domain Secure Site CA
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7fe096810a00)
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
* Connection #0 to host www.ixiqin.com left intact
* Closing connection 0
Code language: PHP (php)
man in white dress shirt wearing white goggles

人生新体验:全麻手术

9月1日晚,我骑电动车躲避其他车辆时,车辆发生了侧翻。人倒地,后120送至医院发现是左侧锁骨骨折。当晚入院。入住医院的次日,医生帮我排了全麻手术,来修复锁骨骨折的问题。

以下是我关于全麻手术的一些记录

为什么要做全麻?

我的受伤部位是左侧的锁骨,距离脖子的位置是比较近的,手术过程中如果发现异动,风险极高。做全麻更加安全。

具体流程

断食断水

在手术前一天,护士会通知你,提前一天晚上12 点以后,就不要吃东西了,手术前不能吃东西,手术后才能吃东西。

不过不用担心饿的问题。在第二天,护士会给你注射营养液,让你不会感受到饥饿和口渴。

签署同意书

全麻手术相比于局部麻醉, 是拥有更大的风险的,毕竟,如果麻醉医生手一抖,可能你就彻底的睡过去了。因此,相应的风险是需要你知晓,并认可的。

在手术前,麻醉医生和主刀医生会找到你,要求你签署一个麻醉同意书,相信大家在电视剧中也看到过类似的东西。

前往手术室等待手术

签署完后,就等待护士找你去手术室。我是下午两点被叫去手术室的。

因为我是锁骨手术,本身可以正常行走,因此,就没有躺着去手术室。实际上也可以躺着,但我想自己这么胖,就不太好请瘦弱的护士把我送过去了。

到了手术室门口,就先坐在门口等待护士整理手术室。

准备开始手术

进入手术室后,你就需要躺在手术床上。脱去你的所有衣物,然后护士会为你盖上手术衣,麻醉医生也会进来,开始和你聊天,并为你注射麻醉药。

注射麻醉药以后很快,你就会感受到意识开始迟缓,直到你彻底昏过去。

手术中

手术中的整个过程中你是无感知的,我自己有感受的时候,已经是手术结束后了。

手术完成后,你会开始初步恢复意识,护士会让你挪到可以拉动的床上,把你送到麻醉恢复监控室。

麻醉恢复

麻醉恢复需要 4-6 个小时,你需要在这里躺着,一动不动,静静的等待意识恢复完全的清醒。

回到病房

当你的麻醉恢复期渡过后,就可以回到自己的病房了,开始你的修养生活。

Tips

麻醉恢复很无聊怎么办?

可以请护士帮你放歌听。比如我当时就是护士有个收音机,让我听了两个小时,熬过了完全清醒的两个小时。

One More Thing

全麻手术别看手术过程中舒服。手术完通过。。。因为全麻手术要插导尿管。。。这都术后第二天了,我撒尿还是疼。。。。

不过,疼了两天,也有经验了。撒尿攒着。。。一次多尿一会,就没那么痛了。

summary

2021 年 8 月月度总结

TLDR

本月看视频更多一些,奈飞的片子的质量还是不错的。这里有很多值得我学习的点。

9月开学了,希望我也能开学,开始学习。

定性分析

社交

本月出行去了趟上海,见了VSCode 中文社区的韩骏老师;还请声动活泼的11同学吃了一段饭。

旅行

去上海录了一次播客;

定量分析

本月内容输出总结

本月在博客写了几篇技术文章,其中,个人认为写的最好的应该属这两篇:

本月收支总结

本月收入: 34590

本月支出: 26543.8

总体来说,略有盈余,希望新的一个月再接再励,本月因为搬家,租房相关消费近5000元,宠物消费近3000元(主要是冰淇淋绝育检查)。

预期九月份高支出项目:

  • 宠物支出:本月冰淇淋准备做绝育;白手套准备打疫苗(第二年的狂犬)
  • 电子设备支出:有可能换 iPhone 13 。前段时间 XS 坏了,换了个 iPhone SE 2020 在用。打算等 13 出来换一个新的双卡手机,这样我的手表中的蜂窝网络就可以用起来了。

本月读书总结

本月读书 2 本,以下为读书笔记:

  • 《小狗钱钱2》:这本书相比于 1 ,离钱更远,离美德更近。可以看看,但可能相比于 1 ,对于人的帮助不那么大。
  • 《斯科特·凯尔比的零基础摄影后期课》:个人感觉非常实用的一本书。

本月学习总结

本月学习了一门课程:

  • 彩蜂摄影杂志的后期课程

本月娱乐总结

本月继续看 Netflix,看完的视频包括:

  • Rick And Morty 第五季
  • 爱、死亡与机器人 第二季
  • 太空部队

年度回顾

  • Linux 中国的改造计划:0/2
  • 海外收入计划进度:0/$1000
  • 减肥计划:210/170
  • 优质文章产出:2/50
  • 1W stars 项目:1500/10000
  • 年入 5000 的项目:0/5000
  • 收入结余:25K
Hello World text

彩云翻译 API 丢失换行的问题

在使用彩云翻译的 API 进行应用开发的时候,遇见了一个很尴尬的问题,提交上去的内容会丢失换行。

202108292019753
示意图

于是给彩云翻译的邮箱发了一封邮件,一天后,我就收到了官方人员的微信好友邀请(因为我的微信写在邮件的footer)。

经过一番沟通后了解到,目前彩云翻译的 API 会默认移除换行符 & HTML 标签,因此,在开发时,暂时还需要自行对文本进行切割,提取其中的文本内容,按段进行翻译,解决这个问题。

不过,官方也在反馈,会评估提供翻译 HTML 文档的能力,期待一下吧。

202108292022971

orange pink keyboard

发布 NPM 包时,遭遇 You should bug the author to publish it (or use the name yourself!) 怎么办?

在发布一个 NPM 包时,我遭遇了这样的一个问题:

You should bug the author to publish it (or use the name yourself!)
Code language: PHP (php)

经过查询后发现,是因为我之前使用的 Login Token 失效了,在这种情况下,只需要重新执行npm adduser添加用户,即可解决问题。


我之前以为是 login 没用,要 adduser 才能使用,后来查询了一下 npm 的文档发现 login 是 adduser 的一个别名,二者功能是一样的,因此,不存在 login 的权限不如 adduser 的问题。

orange pink keyboard

如何控制发布到 NPM 中的文件?

如果你使用 Typescript 编写 npm 包,可能会发现自己编写的 ts 文件也被发布到了 NPM 上去。

一般来说,这个其实并没有什么,除非你的包并不开源,又或者你有精神洁癖,希望用户看到的包的文件目录是足够简单明了的。

这个时候,你可以借助 npm 中的 files 这个字段,来控制你需要上传的文件。

比如,如果你按照下面的方式配置 files 就可以控制你的包在发布时,只发布有限的文件,比如必须的 package.jsonLICENSEREADME 以及构建产物 dist 文件夹。

{
   "name":"your-package",
   "files":[
     "package.json",
     "README.md",
     "LICENSE",
     "dist"
   ]
}
Code language: JSON / JSON with Comments (json)
black and silver laptop computer beside yellow ceramic mug

PowerShell 禁止运行 node.js 脚本如何解决?

对于一些比较流程化的工作,我希望将其自动化,因此我写了一个脚本,帮助我来完成这个基本的工作。

但在写完后,发现了一个问题:

helper: 无法加载文件 C:\Users\bestony\AppData\Roaming\npm\helper.ps1,因为在此系统上禁止运行脚本。有关详
细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ helper
+ ~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess
Code language: JavaScript (javascript)

这个问题倒是不复杂,是因为 PowerShell 相比于 CMD 拥有更全面的权限控制。如果想要解决的话,有两种方式:

1.换用 CMD

在目前的 Windows 中,依然是 CMD & PowerShell 双轨制,你可以直接使用 CMD 来执行你的命令,就无需关注这个权限的问题了。

2. 关闭权限

如果你需要继续使用 PowerShell,就要关闭 PowerShell 的校验,使用管理员模式打开 PowerShell,并执行如下命令,来关闭 PowerShell 的校验即可。

set-ExecutionPolicy RemoteSigned
Code language: JavaScript (javascript)