MJsonViewer v4.4 版本中使用到的 JS 复制操作

之前自己写的这个插件还是挺满意的, 不过最近遇到一个不太方便的地方, 就是当查看完 JSON 数据之后, 如果想把数据复制下来, 直接 ctrl+a 和 ctrl+c 之后, 就会有很多乱七八糟的 tag. 所以写了这个版本的功能. 这个功能主要作用就是当检测到数据为 JSON 时, 将数据复制到系统的剪贴板上. 功能非常简单, 但是当实现这个功能时发现一个比较好玩的事情, 就是通过 JS 接口,…

hexo-blog-encrypt 在 http 环境下无法使用的原因分析

hexo-blog-encrypt 是一个用来加密 hexo 博文的插件, 其核心的技术点就是在 hexo 渲染时将原文进行 AES 加密, 然后在展示的时候使用密码进行解密. 从原理上看, 并不会存在 http 无法使用而 https 可以使用的限制. 但是, 最近有很多的 issue 都指向了这个奇怪的现象, 以下是几个典型的 issues: issue 129 – https:/…

关于 MJsonViewer 4.2 的发布

这次的更新和上一次更新差不多差了一年多, 最主要的原因就是懒… 工作之后,对 API 的测试基本上都在 PostMan 上进行, 很少有机会在 Firefox 上直接进行查看数据. 所以需求不是特别的强烈. 最简单的一个原因就是, 作为开发者, 插件的默认主题就是我喜欢的 gruvbox light, 在这种情况下, 我并没有什么修改主题的需求, 所以同步配置这一点上, 我并没有什么需…

WordPress 的 Github Fetcher 插件

关于最新的介绍和使用安装方式, 建议参考 Github 的 ReadMe.md. 好长时间没有写博客, 主要的原因是比较忙. 这段时间要搞定工作上的事情, 还要处理房屋的装修, 顺便还要准备结婚的事情, 有点焦头烂额. 所以, 也是上班的时候, 抽了一个小时搞定了这个插件. 我个人写博客的习惯是, 本地上写好了博客, 然后提交到自己的 git 库里面, 然后 push 到 github 上. 之前…

Firefox 完全暗黑主题

我是实在想不到什么比较好的名称了… 所以才写了这么个标题. 事情的起因是这样的, 因为最新的 MacOS 已经有了暗黑主题, 所以作为最顺手的浏览器 – Firefox 也遇到了一个新的问题, 就是能否以最完美的姿态迎接这个新的主题. 我们可以先看看正常情况下的火狐浏览器的表现, 即官方的 dark 主题: 可以看到,右键菜单和下来书签都是白色的, 很扎眼. 所以尝试修改了…

01 背包的二进制优化

也是在刷题的时候发现的,比如 hiho week 195。一眼看过去就是一个 0-1 背包问题,然后直接 DP 上了,当时觉得应该问题不大,结果最后只有 50%,一看数据,100% 的数据为 1E5 量,简单的 DP 的话复杂度为 O(MN),这样复杂度估计是 1E10,这样肯定会 TLE。 然后一看,他的单个商品的全权值很低,都在 [1, 10] 之间,这样的话,最多有 100 种组合,所以极端…

二分查找和 Lucas 定理

因为这段时间都在打比赛中度过,有几个小的收获点这边可以留个纪念。 1. 二分查找的几个用法。 一般而言,二分查找都是用在不同数字的数量集中。这样的好处是如何快速的定位。但是,如果是排序的包含相同数字的数组,要求获得某一个数出现的次数时,就得用另一种二分查找的变种了。 假设是 [1, 1, 2, 3, 3] 这样的一个数组,要求获得 1 和 3 的个数时。普通的二分查找只能定位到其中的一个位置。之前…

MJsonViewer v2.0 插件发布

可能是第一个支持嵌套 json 解析的火狐 json 插件。正如,之前写的那样,因为持续开发,主要是因为喜欢火狐,而且确实有新的需求进来了。 距离上一次的插件发布已经过去了两个多月了,其实总的使用下来还是比较舒服的。不过,有几个小的缺点也还是要说一下。如果一个 json 中的 k-v 的 v 包含了一个嵌套的 json,一般的 json 解释器都是将其作为 string 来解析。 这就带来了一个问…

JSON 解析器

这篇博客主要是最近开始玩 C,所以准备找个东西练手,突然发现,顺手写个 JSON 解析器吧。于是就开始了。 相对于其他比较成熟的上层语言。C 主要的问题就是没有基础的数据结构,而且相对于弱类型语言而言,C 的类型在解析的时候有个类型转换的坑。但是相对于其他的强类型语言而言,C 又有一个好处,那就是没有一个 void* 解决不了的问题,如果有,那就用两个。 不过相对于工作时的清闲,现在上课的时候确实…