ddatsh vps note
工作至今还未亲自写过 cgi,今天考个古
历史
1993 年 NCSA 发布 HTTPd 服务器,包含 CGI 的实现。最初为能让 Web 服务器调用外部应用程序,从而实现动态网页的生成。当年HTML 页面都是静态的,没有办法动态地生成网页内容
1996 年,CGI 标准正式纳入 IETF 的 RFC 文档中
本质
其工作本质:
- 从环境变量 (environment variables) 和标准输入 (standard input) 中读取数据
- 处理数据
- 向标准输出 (standard output) 输出数据
环境变量名如QUERY_STRING、PATH_INFO 之类,由 Web Server 通过环境变量传递给 CGI 程序,CGI 程序也是从环境变量中读取的
标准输入中存放的往往是用户通过 GET 或者 POST 提交的数据,也由 Web Server 传过来
C 写个 Hello World,也可以作为一个合法的 CGI 程序
#include <stdio.h>
void main() {
printf("Content-type:text/html\n\n");
printf("hello");
}
客户端请求能触发 Web 服务器运行另一个外部程序,客户端输入的数据传给这个外部程序,该程序运行结束后会将生成的 HTML 和其他数据通过 Web 服务器再返回给客户端(即动态请求)
在英文主宰信息技术的世界,中文母语的开发者只能忍受着语言不同带来的不便,特别是在写代码的过程中需要不断地在中/英输入法之间进行切换 一般开发者每天需要切换输入法 80 多次,而且不清楚当前处于哪种输入法环境,错误切换输入法导致低效地输入
花儿五笔用了多年,我找到的第一个能满足能设置成重码词才弹候选框,其他时候完全隐藏,直出字的输入法
主打一个打字时不要候选框来干扰我注意力
手机上也五笔
之前是极点五笔

https://github.com/microsoft/WSL2-Linux-Kernel
下面 Build Instructions,加上个编译时缺少的 bc
apt install build-essential flex bison dwarves libssl-dev libelf-dev bc
make KCONFIG_CONFIG=Microsoft/config-wsl
存储发展
- DAS:Direct Attached Storage,通过SCSI总线扩展至一个外部的存储,作为服务器扩展的一部分,可扩展性有限、无法多主机共享
- NAS:Network Attached Storage,通过网络协议如NFS、CIFS远程获取后端文件服务器共享的存储空间,将文件存储单独分离出来
- SAN:Storage Area Network,分IP-SAN和FC-SAN,通过TCP/IP协议和FC(Fiber Channel)光纤协议连接到存储服务器,可扩展性强;但成本特别高、要HBA卡、FC交换机和支持FC接口的存储
- OSS:随大数据发展,PB以上存储空间,需无限扩展
企业场景无非是这三种:磁盘(块存储设备),挂载至目录像本地文件一样使用(文件共享存储),通过API向存储系统中上传PUT和下载GET文件(对象存储)
minio
https://github.com/minio/minio > The MinIO documentation website >Software Development Kits (SDK) >Java Quickstart Guide 下面有个 Java Client API Reference
概念
https://www.abelsun.tech/arch/minio/minio-concept.html
https://gitee.com/ddatsh/minio-upload
ref
Gluster和Ceph对比

.gitattributes
功能:识别为文本或二进制、文本文件换行符转换、合并策略、差异显示等
文本与二进制
Git 对文本与二进制文件的处理是不同:
- 文本文件会显示出修改的差异,并且在合并时会按照行进行合并
- 二进制文件不显示修改的差异,在合并时会提示文件冲突,需要人工介入
Git 内部会自动根据扩展名识别文本与二进制文件,但是一些文本文件是由机器产生的,Git 会将其视作文本文件而自动进行合并,这会导致文件损坏,并且这种情况很难察觉
推荐将所有文件取消文本属性,然后根据项目的需要将部分文件开启文本属性
* -text
Assets/*.java text
换行符转换
Git 默认会对文本文件进行换行符转换,默认情况下在提交时转换为 LF,检出时根据当前平台转换为 LF 或 CRLF。建议 Git 仓库有自己独立的设置,不受 Git 全局配置的影响,否则文件的内容在不同的机器上会出现不同
比如 统一设置 C# 文件换行符为 Windows 换行符 CRLF
Assets/*.cs text eol=crlf
模板
常用软件
- quiterss
免费的开源 RSS/Atome 阅读器。可在 Windows、Linux 和 Mac 上运行。 QT 编写。提供广告屏蔽器、报纸视图,通过 URL 导入 RSS 源等特性
http://quiterss.org/en/download
- clink
让 cmd
像 Linux
终端一样容易使用