翡翠小屋

Thinking will not overcome fear but action will.

Protobuf 编码自我理解

注:本文默认你对 Protocol buffer 有基本的了解。 Google 发布的 Protocol Buffer 是很有趣的一种数据存储格式,但一般人并不会深入理解它到底是怎么编码的,使用的时候也都是按官方的做法,定义描述文件然后编译,而实际上,protobuf 的编码方式很有意思,对数据有一定压缩,几乎没有多余字段,并且还有一定的自描述性。 首先是正整数的编码,它使用了一种叫 V...

Visual Code 合并重构和快速修复快捷键

我原先使用 Intellij IDEA 来进行 Java 开发,而最近为了支持正版,改用 Visual Code 了(不使用盗版当然就是支持正版了,对吧!)。 安装了微软专门给 Java 配的组合包,用起来还算顺手,不过有一个小问题一直困扰我。原来 Intellij 里已经习惯了通过 Alt-Enter 组合键来修复错误,或者给添加本地变量,可 vcode 里是两个分开的命令——一个是快速...

解决小程序里的 echarts 图表滑动时有时不显示的问题

微信小程序的坑也是蛮多的,一个问题已经困惑我很久了,我们的微信小程序用了 mpvue 框架,然后通过 mpvue-echarts 引入了 echarts 组件来画图表,然后就发现了一个奇怪的问题,手指在图表上滑动的时候,如果划出边界,就有一定概率导致整个图表不显示。 折腾了半天 echarts 的配置,各种折腾,一直无效果,拖了好久。 最近看了 mpvue-echarts 的源码,也没找...

Vue 数据注意别写入 undefined 的值

最近在编写 vue 的网页时,碰到了一个奇怪的问题,一个数组更新的时候没有刷新。 data() { return { blocks: [] } } ... this.blocks = info.blocks; 我通过 watch blocks 来触发控件刷新,但奇怪的是有时候 blocks 会丢失观察,后续任何更改不再触发界面刷新。用各种姿势调试半天以后,终于...

Windows Terminal - 在当前目录打开

Windows Terminal 已经在微软商店上架,虽然还是早期版本,但也能用了。 我原来通过注册表在目录的右键菜单里,添加了“ 在当前位置打开命令行 ” 的命令项,既然装了新工具,就准备改成 Windows Terminal 版本的。 经过一堆查资料加折腾,终于搞定了,这里记录下。 打开 regedit.exe ,在 计算机\HKEY_CLASSES_ROOT\Directory ...

解决 Hibernate 连接 Oracle 导致的 ORA-02289: sequence does not exist

用 Spring boot 连接 Oracle 的时候,尝试插入数据的时候提示了 ORA-02289: sequence does not exist 。 这是由于 Spring 使用了 Hibernate 来连接数据库,而 Oracle 的自增字段和表是独立的,因此你必须在明确的给表指明 sequence,或者创建一个名为 hibernate_sequence 的默认 sequence。...

用 webpack 单独编译 vue 组件

最近由于需要做一些管理用的界面,所以在研究 vue,这是一个很不错的一个前端框架,但问题是我早已有了不少页面,并不想全体重写开个新工程,但又想使用 vue 来写一些组件,就有了下面看起来有点奇怪的需求: 我希望能单独编译一个个 *.vue 文件,然后导入到某个页面中去。页面使用 script 引入 vue 的方式,而不使用 vue_cli 之类的来编译整个工程。 参考了 webp...

安全的提交到 Github

用 gpg 加密 git 提交

偶尔在知乎上看到了一个问题 为什么Github允许冒充别人的身份Commit? , 决定给我的 Github 账户也添加 GPG 签名,以便让我的提交更安全(其实是觉得提交多个 Verified 标签会比较帅)。 我是 Windows 10 系统,当我尝试在命令行输入 gpg 的时候,却发现已经有这个命令了,也不知道什么时候安装的…… 怀疑是安装 git 的时候附带的,当然,如何你还没有,...

解决RestControler 无法返回 Iterable 类型的列表的问题

当使用 Spring 的 MVC 尝试返回 JSON 的过程中,碰到了一个奇怪的问题,我在 Spring boot 的程序里,@RestControler 的类,直接返回 Iterable 类型的对象,是 Ok,但在另一个存 Spring 的程序里就只返回了空值。 尝试更新版本等方法无效以后,通过调试终于发现了原因。Spring 注册 MessageConverter 的时候,会判断是否存...

踩坑记:httpComponents 的 EntityUtils

今天写的一个服务程序,有人报告获得的数据中文乱码,而我是用 apache 通过 httpComponents 去取得数据的,于是开启日志的 debug 级别。 在日志里果然发现中文不见了,有乱码出现: 2014-07-02 16:35:01.348 DEBUG [Wire.java:86] http-outgoing-8 << "<?xml version="1.0" ...