一个Tampermonkey脚本的诞生

一. 前言

以下是Kyouichirou/BiliBili_Optimizer: enjoy and control bilibili (github.com), 这个脚本的写作的一些想法和总结.

吸取了这个项目Kyouichirou/Zhihu_Optimizer: 知乎优化器 (github.com)的教训, 由于在写这个脚本的时候并没有确定需要实现什么功能, 前期的代码规划并不明确, 随着大量功能不断地被添加上去, 导致代码变得极度臃肿和难以阅读(由于当时对元编程的理解不够深刻), 难以维护.

由于在tampermonkey上, 无法将直接将代码相对整合成相对独立的模块, 为了避免后期代码的增长导致难以维护的问题, 预先对代码进行严格的管控,

img

遵循以上的基本逻辑.

阅读全文 »

VBA的未来

img

"Visual" 指的是开发图形用户界面 (GUI) 的方法- - 不需编写大量代码去描述界面元素的外观和位置, 而只要把预先建立的对象add到屏幕上的一点即可. "Basic"指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 语言, 是一种在计算技术发展历史上应用得最为广泛的语言.

Visual Basic源自于BASIC编程语言. VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统, 可以轻易的使用DAO, RDO, ADO连接数据库, 或者轻松的创建Active X控件, 用于高效生成类型安全和面向对象的应用程序 . 程序员可以轻松的使用VB提供的组件快速建立一个应用程序.

借用现在流行术语, VBA的这些特性是否可以叫: 低代码?

阅读全文 »

WPS JavaScript宏简单体验

一. 前言

使用的是wps专业版本:

百度盘链接: https://pan.baidu.com/s/1gfZjIe1WUmWin1tQ52wMrQ ; 提取码: avqg

激活码: (仅作测试使用, 请勿用于商业用途)

694BF-YUDBG-EAR69-BPRGB-ATQXH

1.1 关于JavaScript宏

相关详细内容见: WPS 开放平台.

简单来说就是wps在参照vba的基础之上, 使用JavaScript实现的wps独有的宏语言(注意这一点).

WPS宏编辑器集成了一个V8 引擎的 JavaScript 运行时, 支持大部分ES6语法, 因此宏编辑器支持JavaScript 标准内置对象

  • 集成V8引擎
  • 支持ES6 (不支持的内容, 如setTimeout(), fetch等(因为是异步的操作, 都会受到限制)).
阅读全文 »

Tampermonkey进阶指南

一. 前言

img

img

Tampermonkey is one of the most popular browser extension with over 10 million users. It's available for Chrome, Microsoft Edge, Safari, Opera Next, and Firefox.

It allows its users to customize and enhance the functionality of your favorite web pages. Userscripts are small JavaScript programs that can be used to add new features or modify existing ones on web pages. With Tampermonkey, you can easily create, manage, and run these userscripts on any website you visit.

本文以Documentation | Tampermonkey内容展开, 将对其中内容进行翻译和注释, 以及实际的使用例子.

阅读全文 »

VBA中的类

一. 前言

类(class), 这个话题在各种语言中的入门知识中, 是很多懂哥喜欢装神弄鬼的话题, 假如检索类相关的信息, 很容找到以下相关的内容:

  • 多态
  • 继承
  • 封装
  • 抽象
  • 对象
  • 实例
  • 方法
  • 重载
  • 对象: 对象是类的一个实例, 有状态和行为. 例如, 一条狗是一个对象, 它的状态有: 颜色, 名字, 品种; 行为有: 摇尾巴, 叫, 吃等.
  • : 类是一个模板, 它描述一类对象的行为和状态.
阅读全文 »

VBA数组漫谈

一. 前言

数组(列表), 字典(集合), 类, 这三者不会因为语言的差异而其重要性会发生变化.

数组, 字典, 操作数据的基础容器.

类, 清晰代码结构的基础.

需要注意的是, 在vba中只有数组的概念, 没有列表的概念(当然也可以自定义封装一个类来实现列表的功能).

在看vba的数组前, 先来看看pythonJavaScript中的数组.

>>> from array import array
>>>
>>>
>>> a = array('i', [1,2,3,4])
>>>
>>> print(a[0])
1

# 不允许混合存储数据
>>> a = array('i', ['a',2,3,4])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: an integer is required (got type str)
>>>
阅读全文 »

Markdown文档嵌入base64图片

一. 前言

独立博客最麻烦就是图片存储, 第三方的免费图床, 国内的基本没法用(乱删图片, 服务高度不稳定, 随时关站...), 国外的有几个相对稳定的, 但是访问是个问题. Gitee封禁了外链, GitHub访问又是高度不稳定的....

由于路过图床 - 免费图片上传, 专业图片外链, 免费公共图床 (imgse.com)收紧了免费上传图片, 只能将图片转为base64嵌入markdown文档, 但是由于截图不希望过度压缩, 希望保存一份截图的高清版本, 这导致图片文件非常大, 直接嵌入markdown文档, 虽然这种方式可以摆脱网络的依赖, 但是会导致文档非常臃肿.

直接嵌入base64图片没办法直接使用这种方式实现.

![image](img_url)
# 在typora上, img_url直接使用base64替换没办法直接显示图片
<img src=""></img>

直接使用img标签, 也无法显示图片.

阅读全文 »