同事前两天遇到一个离奇的 axios 问题,response.data看上去非常正常,但无法访问这个对象里面的任何一个键。console.log(response.data)
一看果然是 string。
同事很茫然,一直都好好的,也没有改什么啊。
改了 db.json。里面有一个多余的逗号。axios解析json字符串失败,就一声没吭的返回了字符串而非对象。这个坑货!想想axios也很无辜....因为我们有时候可能真的会有需要返回字符串。所以写期望的返回数据时,别偷懒又允许json又允许text。也许只允许json就不会有这个问题了。(待验证)
Reference
最近把一台CentOS7 虚拟机从Windows 10 的VMWare 迁移到 CentOS8 的VirtualBox上,结果不能启动,说找不到 root 和 swap。我猜测与 Host机器CPU架构不同有关,老机器是Intel芯片,新机器是 AMD CPU。
解决方法也蛮简单,进Rescue模式, yum update 就会自动装上一个新鲜的符合条件的内核。然后再重新启动就好了。 Reference
如此搞一下之后,启动倒是启动起来了,但启动时总有一个出错信息“error failed to send host log ”,虽然不影响使用,但看着很不爽。万能的Google很快给出了答案,把显卡换成 VBoxVGA 就好了。Reference
三天小长假过完了。终于把 Jenkins 从windows 10 也迁到了那台 CentOS上,我对 Jenkins 的了解又深了一点点。
- Jenkins 把所有的插件和用户数据都存一个目录里,这个设计非常赞。这让我得以专注于迁移我的流水线。
- 让 Jenkins 运行在docker里,把运行docker的host机器做成一个新节点,很不错。
- 我更喜欢声明式流水线....主要是对脚本式流水线更不熟悉,对 groove 语法也不熟悉,另外,也不很想在流水线里写复杂的逻辑。这俩谁都先进呢?说不准。我更看好声明式流水线。
- agent和node之间的关系还是没有搞得特别清楚。时间紧,经理又催得急,先这么着吧。
- 怕删错文件,删文件的地方没敢用环境变量,越来越胆小。哈,应该有更好的解决办法。
- ssh从docker里连到宿主机....用key文件没有成功。尚且不知道原因,应该加个todo。
PS:
更好的解决方法找到了,它就是 ${varName:?} 这种方式引用bash变量,若 varName 未设置值,则脚本会立即报错退出执行。
为啥用 fcitx 不用ibus呢.... 一开始我确实是用的ibus,但它老人家在 google doc 的网页里不显示候选文字框,等修复不知道要等到啥时候,我就扭头换 fcitx 了。
ibus-rime, fcitx-rime 已经内置这个功能,但它的默认配置里没有使用这个功能。废话不说,贴上我的配置文件
~/.config/fcitx 或 ibus/rime/default.custom.yaml
内容如下
patch:
style:
display_tray_icon: true
horizental: false
font_point: 14
schema_list:
- schema: wubi_pinyin
- schema: pinyin_simp
ascii_composer/switch_key:
Shift_R: commit_code
Shift_L: commit_code
~/.config/fcitx 或 ibus/rime/wubi_pinyin.custom.yaml
内容如下:
patch:
switches:
- name: ascii_mode
reset: 0
states: [ "中文", "西文" ]
- name: full_shape
states: [ "半角", "全角" ]
- name: simplification
states: [ "汉字", "漢字" ]
simplifier/opencc_config: s2t.json
engine/filters:
- simplifier
- uniquifier
- 长叹一声。Linux 上就没有一个好用的远程桌面服务器。虽然不喜欢,留个 teamviewer 进程一直开着以应不时之需是有必要的。
- vagrant 的 public_network 在 usb 无线网卡有bug...(服务器好好的千兆网卡你不用用什么无线网卡....不是手头没有网线嘛
- "Ansible for DevOps" 据说是一本好书。那待读书单里就加一本吧
- CentOS8内置了一个叫 cockpit 的web管理器,还挺好用的。它的端口是9090,咋改成用正儿把经的https证书我还不知道。
- Gnome桌面有一个叫 Vinagre 的远程桌面客户端,支持的服务器类型挺多的。(然而并不好用)
- 不应该把对应数据表的 entity model 直接用在 web API 里。别嫌麻烦,那个应该是贫血的,除了主键并不需要有其他的约束。把完整的表结构和所有字段暴露给客户端是不好的。
- AutoMapper 有什么用?应该怎么用? ,这篇09年的老文章和里面的评论可能会有点用。
- chrome OS 开了开发者模式,按
ctrl + alt + ->
root 登录即可设置默认用户的密码。
想深入了解Linux了,所以又开始看 Linux From Scratch。