Microsoft Office
2020-04-24
常用功能
- 文字处理 Word Processing
- 电子表格 Spreadsheet
- 演示文稿 Presentation
- 笔记 Notetaking
- 流程图 Diagramming
- 图像处理 Raster Graphics Editor
- 矢量图处理 Vector Graphics Editor
- 图片浏览 Image Viewer
- 公式编辑 Formula Editor
- 数据库管理 Database Management
- 项目管理 Project Management
- 排版 Desktop Publishing
- Desktop 这个词是指与 TeX 这类传统文本类型排版系统对应的 GUI 排版工具
- 通信 Communication
- 日历 Calendaring
- 文件服务 File Hosting
Microsoft Office 主要组件
- 文字:Microsoft Word,1981 年开始开发,当时最知名的文字软件是 WordStar 和 WordPerfect。
- WordPerfect 几近辗转,现在是发展成了 Corel WordPerfect Office。
- 表格:Microsoft Excel,当时最知名的表格软件是 Lotus 1-2-3。
- PS:1995 年,Lotus Software 被 IBM 收购,2013 年结束销售。
- PS:Lotus 1-2-3 计算闰年的方式有问题,会把 1900 年当成闰年,Excel 为了保持兼容,至今仍然包含这个错误。
- 演示:Microsoft PowerPoint,微软收购自一家硅谷初创企业,据说微软本来是想基于 Word 开发演示功能。
- 数据库:Microsoft Access
其他关联组件:
- 流程图:Microsoft Visio,微软 2000 年收购
- 项目管理:Microsoft Project
- Microsoft OneNote
- Microsoft OneDrive
- Microsoft Outlook
- Microsoft Teams
- Microsoft Publisher
Microsoft 365
Microsoft Office 的云上版本,提供了更多功能。
LibreOffice
StarOffice -> OpenOffice -> LibreOffice
- Writer
- Calc
- Impress
- Draw
- Math
- Base:数据库
参考:https://en.wikipedia.org/wiki/Apache_OpenOffice

- 1985 年,StarOffice 发布
- 1999 年,Sun 公司 7350 万美元收购 StarOffice
- 2000 年,Sun 公司开放 StarOffice 源代码,并将项目重命名位 OpenOffice
- 2009 年,Oracle 收购 Sun 公司
- 2010 年,LibreOffice 项目与 The Document Foundation 组织诞生,
- 随后,大多数 Linux 项目都跟进,将自带的办公软件更改位 LibreOffice
- 2011 年,Oracle 停止了 OpenOffice 开发,将 OpenOffice 捐赠给 Apache 基金会
- 之后 LibreOffice 一直活跃开发,Apache OpenOffice 越来越沉寂。
WPS Office
- 文字
- 表格
- 演示
- PDF
- 设计
- 流程图
- 思维导图
- 表单
- 在线文档
- 共享文件夹
- 模板中心
Apple iWork
- Pages 文字处理
- Numbers 电子表格
- Keynote 演示文稿
OnlyOffice
https://en.wikipedia.org/wiki/OnlyOffice
毛子项目,AGPL 协议开源,原名 TeamLab。在俄罗斯,以 P7-Office 为名。
- Documents
- CRM
- Projects
- Mail
- Community
- Calendar
- Talk
参考资料与拓展阅读
HTTP urlencode
2020-04-19
URL / URI 的设计中规定允许的字符,如果出现了其他字符就需要转义,这套规则被称之为百分号编码(Percent-encoding)。
WWW 的设计中就使用了这套规则,比如 URL 地址、和表单提交(application/x-www-form-urlencoded
)等场景,所以这个编码规则也被称之为 URL 编码(URL encoding)。
编程时,编码解码操作一般就叫 urlencode,urldecode。
编码的方式非常简单,就是把字节用 16 进制的方式表示,然后每个字节前面加一个百分号。
开发者
2020-04-17
查看文档(手动替换文档编号):
搜索:
状态
- Informational
- Experimental
- Best Current Practice
- Standards Track
- Historic
参考资料与拓展阅读
Ubuntu Linux
2020-03-31
全局
Win / Win + S 窗口概览
Win + A 程序搜索,或者 Win 双击
Win + D 显示桌面
Win + L 锁定窗口
Win + V / Win + M 打开日历和事件
Win + 数字 打开左侧菜单上的程序
Win + Left 将窗口移动到左侧
Win + Right 将窗口移动到右侧
Win + Up 最大化
Win + Down 还原
Win + Home 切换到第一个 Workspace
Win + PageUp 切换到上一个 Workspace
Win + PageDown 切换到上一个 Workspace
Alt + F2 运行一个命令
Alt + F4 关闭当前窗口
Alt + F6
Alt + F10 窗口最大化 / 还原
Ctrl + Alt + T 打开终端
Win + Space 切换输入法
Alt + Space 窗口菜单
Win + C 计算器 自定义
Win + F 文件浏览器 自定义
切换
Alt + Tab 切换窗口
Win + Tab 切换程序
Alt + ~ / Win + ~ 同一个程序的不通窗口切换
截图
屏幕截图并保存:PrntScr
加 Shift 选区截屏,加 Alt 窗口截屏,加 Ctrl 截屏到剪切板
PS:Ubuntu 22.04 之后,截图的逻辑调整了。
交互式截屏:PrntScr
加 Shift 屏幕截图并保存,同时复制到剪切板
加 Alt 窗口截屏并保存,同时复制到剪切板
加 Ctrl 没有任何效果
终端
Ctrl + Shift + N new window
Ctrl + Shift + Q quit window
Ctrl + Shift + T 打开新标签
Ctrl + Shift + W close tab
Ctrl + Shift + PageUp Tab 左移
Ctrl + Shift + PageDown Tab 右移
Ctrl + Shift + C 复制
Ctrl + Shift + V 粘贴
Ctrl + / 清空
其他
F9 打开 CopyQ 自定义
VSCode
2020-03-30
窗口
Ctrl + Shift + N 新建窗口
Tab
Ctrl + N 新建标签
Ctrl + W 关闭当前标签
Alt + PageUp, Alt + PageDown 切换 Tab
编辑
Ctrl + Shift + Up/Down 同时编辑多行
Ctrl + Shift + I 格式化代码
Ctrl + P 打开文件
Ctrl + T 工作区相关
Ctrl + , 设置
Ctrl + . 切换Section或文件
Ctrl + / 注释
Ctrl + I 建议
Ctrl + O 打开文件
Ctrl + K, Ctrl + O 打开目录
Ctrl + S 保存
Ctrl + ` 终端
Ctrl + K M 更改语言
Ctrl + K, Ctrl + S 显示键盘快捷方式
F1 OR Ctrl + Shift + P Show Command Palette
Alt + Up, Alt + Down 上下移动行
Alt + Left, Alt + Right 跳到上一处,跳到下一处
搜索和替换
Ctrl + F
Ctrl + H
Ctrl + Shift + F
Ctrl + Shift + H
WebFrontend
2020-03-29
通过标签的 ID
比如 https://ruanyifeng.com/blog/2011/03/url_hash.html 这个页面的源代码中有以下内容:
<h1 id="page-title" class="asset-name entry-title">URL的井号</h1>
我们可以通过 https://ruanyifeng.com/blog/2011/03/url_hash.html#page-title 定位到这个标题元素上。
通过文本
这个方式应该是 Google 今年弄出来的,从 2 月份的 Chrome 80 开始就支持了,名字叫做 Scroll To Text Fragment。
还是拿上面的例子,我们可以不用去看页面源码,直接通过内容 URL的井号
来链接:
https://ruanyifeng.com/blog/2011/03/url_hash.html#:~:text=URL的井号
#:~:text=内容
并且链接中指定的内容会高亮显示出来。
参考资料与拓展阅读
- URL的井号
- Highlight & Link to Text Fragment on a Webpage
- How to Directly Link to Text on a Web Page in Chrome
- WICG/scroll-to-text-fragment
工具 研发团队
2020-03-26
操作系统
通讯平台
- 微信,企业微信,钉钉
- RocketChat
- https://github.com/teamgram/teamgram-server
设计工具
文档工具
- Wiki
- Confluence
- DokuWiki
- Wiki.js
- dynalon/mdwiki
- Simiki
- 博客
- 笔记
- 问答(可以作为论坛的一部分)
IDE
- VSCode
- Jetbrains IDEs
- IntelliJ IDEA
- PyCharm
- Rider
- WebStorm
- Goland
- Eclipse
- NetBeans
客户端
- SSH:XShell,Putty
- HeidiSQL (MySQL 客户端)
- AnotherRedisDesktop (Redis 客户端)
- MongoDB Compass
开发
- 各种镜像
- 语言环境
- Java
- JRE/JDK
- Tomcat
- Nexus (Ma)
- Python
- PHP
- NodeJS
- 版本管理:Gogs / Gitea
- CodeReview
测试
- 用例管理
- BUG 追踪
- 禅道(ZenTao)开源版:任务,需求,BUG 追踪
- TAPD
- Redmine
https://boce.aliyun.com/home
https://boce.aliyun.com/detect/http
https://whois.aliyun.com/
https://mxtoolbox.com/
https://ipinfo.io/
https://www.ipip.net/
https://www.base64decode.org/
https://www.bejson.com/explore/index_new/
https://webhook.site/
https://easydmarc.com/
https://godmarc.com/tool/dmarc-record
https://app.diagrams.net/ (draw.io)
https://onlinenotepad.org/app
发布
- Jenkins

行业标杆。
- Drone CI

新秀。被 Harness 收购之后,现在改名 Gitness 了,原代码在 drone 分支
- GoCD

来自 ThoughtWorks,中文名:思特沃克,IT 外包企业。
- Woodpecker CI

由于 Drone CI 的作妖,部分开发者自己维护了一个分支。
- Zadig

国产。带附加条款的 Apache 协议,不允许作为商业产品分发,不允许作为 SAAS 产品提供服务。
运维平台
文件服务
文件分享
- S3:MinIO
- FTP/FTPS/SFTP:MinIO
- SMB:Samba
- Seafile 文件同步服务
- NextCloud
其他
- 图床(内部)
- Web Server
- v𝟮ray
- OpenVPN
- 打印服务器
- 备份服务器:操作系统备份,重要服务数据定时备份
- APITable
- Webmin
- PXE Server
办公
- 导航
- OA:O2OA / 勾股 OA
- CRM:SuiteCRM
- https://github.com/MicroPyramid/Django-CRM
- https://github.com/krayin/laravel-crm
- monikahq.com
- 论坛
- Flarum (PHP) 非常简洁
- vanilla/vanilla (PHP)
- Apache Answer (Go)
- FlaskBB (Python)
- NodeBB (Node)
- OrangeHRM
- ERPNext (frappe)
- Frappe HR
- 协同文档 + 表格 + 演示
基础服务
- DB
- MQ
- Redis
-
Memcached
-
DNS
- NTP
- OpenLDAP
- SSO:Authelia
- 流程引擎
- DataExchange
- HttpPush (WebHook Outgoing)
- HttpCallback (WebHook Ingoing)
- HttpPull
- WebPush
- MobilePush
- Webhook.site HTTP 调试
- 定时任务 Cron
- 日志平台
- HAProxy
- Nginx
- 小工具
- iploc
- phone number 分析
- ua 分析
- email parser
- dns 查询
- 消息推送
- sms
- email
- wecom (企业微信)
- ding
- generate
- ifttt
- pastebin
DB MySQL
2020-03-25
MySQL 语句:
- DDL
- DML
- 事件和锁
- Replication
- Prepared
- Compound
- 数据库管理
- 工具
用户管理
角色 (用户模板)
create role stuff@localhost;
... 分配权限,修改属性
select host, user as role from mysql.user where authentication_string = '';
CREATE ROLE [IF NOT EXISTS] role [, role ] ...
锁定,密码为空
DROP ROLE
SET ROLE
SET DEFAULT ROLE
用户
select host, user, plugin, left(authentication_string, 5) as pass, account_locked from mysql.user;
select distinct user from mysql.user;
select current_user(), current_role();
CREATE USER
DROP USER
ALTER USER
RENAME USER
密码
权限
资源组管理
CREATE RESOURCE GROUP
DROP RESOURCE GROUP
ALTER RESOURCE GROUP
SET RESOURCE GROUP
表维护
ANALYZE TABLE
CHECK TABLE
CHECKSUM TABLE
OPTIMIZE TABLE
REPAIR TABLE
组件,插件,Loadable Function
CREATE FUNCTION
-
DROP FUNCTION
-
INSTALL COMPONENT
-
UNINSTALL COMPONENT
-
INSTALL PLUGIN
UNINSTALL PLUGIN
CLONE
SET
SET
设置变量
SET CHARACTER SET
SET NAMES
SHOW
SHOW BINARY LOGS
binlog
SHOW BINLOG EVENTS
binlog
SHOW CHARACTER SET
字符集
SHOW COLLATION
排序规则
SHOW COLUMNS
查看表结构
SHOW [EXTENDED] [FULL] {COLUMNS | FIELDS}
{FROM | IN} tbl_name
[{FROM | IN} db_name]
[LIKE 'pattern' | WHERE expr]
SHOW CREATE DATABASE
SHOW CREATE EVENT
SHOW CREATE FUNCTION
SHOW CREATE PROCEDURE
SHOW CREATE TABLE
SHOW CREATE TRIGGER
SHOW CREATE USER
-
SHOW CREATE VIEW
-
SHOW DATABASES
数据库
SHOW ENGINE
查看指定引擎的状态
部分引擎会提供一些状态信息,比如 INNODB, PERFORMANCE_SCHEMA
SHOW ENGINES
存储引擎
SHOW ERRORS
SHOW EVENTS
SHOW FUNCTION CODE
SHOW FUNCTION STATUS
SHOW GRANTS
用户权限
SHOW INDEX
查看指定表的索引
SHOW MASTER STATUS
SHOW OPEN TABLES
SHOW PLUGINS
插件
SHOW PRIVILEGES
SHOW PROCEDURE CODE
SHOW PROCEDURE STATUS
SHOW PROCESSLIST
SHOW PROFILE
SHOW PROFILES
SHOW RELAYLOG EVENTS
SHOW REPLICAS
SHOW SLAVE HOSTS | SHOW REPLICAS
SHOW REPLICA STATUS
SHOW SLAVE | REPLICA STATUS
SHOW STATUS
SHOW TABLE STATUS
SHOW TABLES
表
SHOW TRIGGERS
SHOW VARIABLES
SHOW WARNINGS
其他
BINLOG
CACHE INDEX
FLUSH
KILL
LOAD INDEX INTO CACHE
RESET
RESET PERSIST
RESTART
SHUTDOWN
Git Windows
2020-03-22
Git 在团队协作的情况下容易遇到很多小问题,有一类是由于跨平台的系统差异导致的。有人习惯 Windows 下开发,有人习惯 Linux 下开发。
最常见的是这么四个问题:
- 文件权限问题
- 基本上我还没有遇到有需要给仓库中的文件设置权限的情况,但是由于权限的变更导致提交进来没有内容更改的文件就完全没有必要
- 所以非常必要设置
core.filemode false
chmod 644 *.md
- 换行符问题
- Windows 新建的文件都是
\r\n
换行,Linux 则是 \n
core.autocrlf true
可以在 checkout 的时候根据系统自动转换换行符
- 但是我觉得这个可能放到 hook 里面,在提交检查的时候一起做更加合适
dos2unix *.md
-
软链接问题
-
Linux 下的软链接切到 Windows 下之后,变成了一个普通文本,内容是链接的路径
core.symlinks true
可以解决这个问题,这也是默认值,可是有些时候我们的环境中配置的就是 false
- 我的 Git for Windows 不知道为什么,system 配置就是设置成 false 了
- 有些情况下,项目配置似乎就默认是 false
- 如果已经成为现实了,软链是个文本,我们改配置,重新添加,然后 pull 到本地可以
core.symlinks
If false, symbolic links are checked out as small plain files that contain the link text. git-update-index
and git-add
will not change the recorded type to regular file. Useful on filesystems like FAT that do not support symbolic links.
The default is true, except git-clone
or git-init
will probe and set core.symlinks
false if appropriate when the repository is created.
- 文件名大小写问题
- Linux 大小写敏感,比如 Apple.txt 和 apple.txt 可以在同一个目录,Windows 环境克隆下来,只能看到一个文件 apple.txt
- 没什么好的办法,应该也是在提交的时候作为风格检查
$ git config --list --global | grep sym
$ git config --list --system | grep sym
core.symlinks=false
$ git config --list --local | grep sym
core.symlinks=false
关于链接的另一个办法
CSDN 博客上看到 《windows上使用git仓库的问题(换行符、文件权限、软链接)》,里面提出下面这个思路。
虽然代码不够严谨,但是思路应该是没有问题的。以后遇到问题可以参考(还没有验证):
- 找出链接文件
- 创建 Windows 链接
- 操作索引区,忽略这个变更
import os
def rindex(lst, value):
try:
return lst.rindex(value)
except ValueError:
return -1
# find symbol link files or dirs
fp = os.popen("git ls-files -s | awk '/120000/{print $4}'")
links = fp.read().strip().split("\n")
# get symbol links' parent dir
link_dir = set()
for link in links:
index = rindex(link, "/")
if (index != -1):
link_dir.add(link[:index])
else:
link_dir.add(".")
work_dir = os.getcwd()
# make link for every symbol link
for d in link_dir:
os.chdir("/".join([work_dir,d]))
fp = os.popen("ls -la")
items = fp.read().strip().split("\n")
for item in items:
if "->" in item:
tks = item.split("->")
src = tks[0].strip().split(" ")[-1]
dst = tks[1].strip().split("/")
if (len(dst) > 1):
dst = "\\\\".join(dst)
else:
dst = dst[0]
print ("link " + src + " -> " + dst)
os.popen("rm " + src)
if (os.path.isfile(dst)):
os.popen("cmd /c mklink /H " + src + " " + dst)
else:
os.popen("cmd /c mklink /j " + src + " " + dst)
# make links unchanged
os.popen("git update-index --assume-unchanged " + "/".join([os.getcwd(), src]))
参考资料与拓展阅读
Windows
2020-03-19
https://msdn.itellyou.cn/
Windows 10 Enterprise LTSC 2019
# x64
Windows 10 Enterprise LTSC 2019 (x64) - DVD (Chinese-Simplified)
文件名:cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso
SHA1:24b59706d5eded392423936c82ba5a83596b50cc
文件大小:4.17GB
发布时间:2019-03-15
ed2k://|file|cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso|4478906368|E7C526499308841A4A6D116C857DB669|/
# x86 (32 位)
Windows 10 Enterprise LTSC 2019 (x86) - DVD (Chinese-Simplified)
文件名:cn_windows_10_enterprise_ltsc_2019_x86_dvd_1814dbab.iso
SHA1:ba2169edd94f123211cd4aaca68352f1ab6195d9
文件大小:2.98GB
发布时间:2019-03-15
ed2k://|file|cn_windows_10_enterprise_ltsc_2019_x86_dvd_1814dbab.iso|3196803072|2D39C54A2E99BAC308191C74A15B3237|/
Windows 10 Enterprise LTSC 2021 (x64) - DVD (Chinese-Simplified)
文件:SW_DVD9_WIN_ENT_LTSC_2021_64BIT_ChnSimp_MLF_X22-84402.ISO
大小:4.7GB
MD5:2579B3865C0591EAD3A2B45AF3CABEEE
SHA1:C19D7DAFBAFEB26C36E31D97C465E87C7A6E8A4C
SHA256:C117C5DDBC51F315C739F9321D4907FA50090BA7B48E7E9A2D173D49EF2F73A3
ed2k://|file|SW_DVD9_WIN_ENT_LTSC_2021_64BIT_ChnSimp_MLF_X22-84402.ISO|5044211712|1555B7DCA052B5958EE68DB58A42408D|/
Windows 11
ed2k://|file|zh-cn_windows_11_business_editions_version_22h2_updated_nov_2022_x64_dvd_3623b3e1.iso|5567041536|B83E64D03E93B418840E5B270E164005|/