自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(939)
  • 资源 (10)
  • 论坛 (1)
  • 收藏
  • 关注

原创 Google Chrome 浏览器快捷键说明大全

1 标签页和窗口快捷键 快捷键 说明 Ctrl + n 打开新窗口。 Ctrl + shift + n 在隐身模式下打开新窗口。 Ctrl + t 打开新的标签页。(常用) Ctrl + Shift + t 重新打开最后关闭的标签页。 Ctrl + Tab 或 Ctrl + Pgdn 跳转到下一个打开的标签页,如...

2018-06-11 11:43:58 22303 14

原创 IntelliJ IDEA 快捷键说明大全(中英对照、带图示详解)

因为觉得网络上的 idea 快捷键不够详尽,所以特别编写了此篇文章,方便大家使用 idea O(∩_∩)O~其中的英文说明来自于 idea 的官网资料,中文说明主要来自于自己的领会和理解,英文说明只是作为参考。重要的快捷键会附带图示,进行详细的说明。每一部分会先列出所有的快捷键说明表,如果有不清楚的地方,再看后续的图示详解。1 编辑【Editing】 快捷键 英文说明

2017-06-07 18:04:54 54775 36

原创 vi 与 vim 快捷按键说明大全

一般指令模式、一般指令模式切换到编辑模式、一般指令模式切换到指令列模式、vim 特有功能

2016-12-30 17:34:53 8422

原创 说说如何在 Linux 中离线安装 Nginx

(1)下载并安装依赖包首先下载nginx-and-gcc.tar.gz,点击下载,该压缩包内包含了 Nginx-1.18.0以及 Nginx所需要的依赖库。依赖库主要为:编译 Nginx 的GCC 编译器;未来使用 C++ 来编写 Nginx 的 G++ 编译器;Perl 正则表达式(Nginx HTTP 模块依赖库);zlib (网络数据包 gzip压缩依赖库);openssl (提供HTTPS 支持以及 MD5、SHA1 等加密算法

2020-12-27 20:00:42 32

原创 说说 Linux 中的切换账户命令 su 与 sudo

建议尽量以一般账户来操作 Linux 执行日常命令。等到需要设定系统环境时, 才变换身份为 root,这样相对来说比较安全。1 su 命令su 命令可以让我们在不登出当前用户的情况下,以另一个用户的身份登录系统1。su 命令经常被用于切换身份到root 用户,当然它也可以切换身份到其它用户。语法为 su – [账户名]。如果直接键入 su,那么就会切换身份到root 用户,切换过程会要求输入 root 密码。密码确认后,就会切换到 root 账户:1.1 完全切换单纯使用su 切换成为 root

2020-12-27 19:50:35 80

原创 说说如何判断 Linux 是否开启了超线程

是否开启超线程,由以下公式来确定:未开启超线程:CPU总线程数 = 物理CPU个数 * 每个物理CPU的逻辑核数 * 1;开启超线程:CPU总线程数 = 物理CPU个数 * 每个物理CPU的逻辑核数 * N。所以我们要收集这三种与 CPU 相关的数据:(1)查看物理 CPU 数cat /proc/cpuinfo | grep "physical id" | sort | uniqLinux uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用2。

2020-12-26 17:07:32 59 1

原创 说说如何查看 CentOS 版本和位数

1 查看 CentOS 版本rpm -q centos-releaserpm -q 命令可以查询某个软件包是否安装1。-q 是 query 的首字母。cat /etc/redhat-release2 查看 CentOS 位数getconf LONG_BITgetconf 命令可以用来获取系统信息2。LONG_BIT 变量存储的就是 CentOS 位数。[1] Linux rpm命令查询软件包.[2] 灵活使用getconf命令来获取系统信息....

2020-12-26 17:06:04 23

原创 推荐 Powershell 的一款配色方案

自定义配色方案:屏幕文字(248,248,242)屏幕背景(39,40,34)弹出文字(166,226,46)弹出窗口背景(39,40,34)效果如下:

2020-12-26 17:05:08 79

原创 说说如何离线安装 Keepalived

首先解压:tar -zxvf keepalived-2.1.5.tar.gz接着以编译方式安装:./configuremakemake install(要用 root)最后查看版本号:keepalived -v

2020-12-26 17:04:10 41

原创 说说如何在 Linux 中跳转到另一台 Linux

SSH 为 Secure Shell 的缩写,它是建立在应用层基础上的安全协议1。通过SSH客户端,我们可以远程控制服务器。命令格式为:ssh [-p port] user@remote2。port 为 SSH 服务端监听端口,如果不显式指定,就默认为 22。user 为远程服务器账号名称。remote 为远程服务器 IP 地址。比如我们想远程登录一台账号为 root、监听端口为 9080 的服务器,服务器 IP 地址为192.168.6.180,就可以使用以下命令:ssh -p

2020-12-26 17:02:58 71

原创 Docker 容器镜像无法正常启动,日志抛出 no main manifest attribute 问题的解决方法

(1)原因打的jar 不是可执行 jar。使用 java -jar xxx.jar,会发现存在同一个问题:(2)解决在项目的 pom 文件中加入 spring-boot-maven-plugin 插件:<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin.

2020-12-26 17:01:14 65

原创 Docker 容器镜像无法正常启动,日志抛出Unable to access jarfile问题的解决方法

使用 docker logs [CONTAINER ID],查看启动日志,发现抛出:Error: Unable to access jarfile /app/app-config.jar。(1)分析在 app/ 下找不到这个 jar。打开 Dockerfile 发现配置存在问题。因为少了jar版本号,所以没有找到这个 jar 包。(2)解决加上版本号后,重新构建镜像。...

2020-12-26 17:00:13 96

原创 说说如何配置 Docker 私有镜像库

Docker Registry 是类似于 Docker Hub 的私有镜像中心,只不过运行在本地。主要用于管理项目工程镜像。在虚拟机中,修改 vi /usr/lib/systemd/system/docker.service 中的 ExecStart 选项,加入–insecure-registry 与 --ipv6 属性:ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock --insecure-re

2020-12-26 16:59:12 35

原创 说说 Docker 容器常用命令

1 运行容器指定某个镜像以容器的形式运行起来。语法为:docker run [OPTIONS] {IMAGE_NAME}。{IMAGE_NAME} 指的是镜像名称;[OPTIONS] 指的是命令可选项。Run的命令可选项非常多,我们在此列举出那些常用的可选项。参数说明-d在后台运行容器并打印出容器 ID;d 是 detach 的英文首字母。-p映射端口号到主机。格式形如主机端口:容器端口。–name指定容器名称。–restart重启策略,有 no、

2020-12-26 16:57:42 20

原创 说说如何使用 Spring Cloud Config 搭建配置中心服务

(1)新建 Spring Boot  项目新建一个基于 Spring Boot 的 Maven项目模块,名为 app-config。(2)配置 pom.xmlpom 文件配置为:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

2020-12-26 16:56:01 35

原创 说说如何在 Excel 中构建类似 Microsoft Project 中的任务层级结构

Microsoft Project的任务列表一般情况下都会具有层级结构,即大任务分解为小任务,点击“收缩”按钮,就可以把觉得太长的子任务列表收缩起来。形如:如果直接导出,那么这些大小任务都在一列展示,不仅看不出关系,而且还没有伸缩功能。这时就要用到 VBA 在 Excel 中实现类似的功能。VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言2。首先我们需要任务之间的层级关系数据。Mi

2020-12-11 20:18:58 75

原创 说说 Linux 中的压缩与解压缩指令(tar)

1 简介tar 的功能类似于 Windows 中的 WinRAR。它可以将多个目录或文件打包成一个大文件,在打包的过程中还可以透过 gzip/bzip2/xz 的支持,对文件进行压缩1。2 选项tar 的选项参数很多,主要用到的有以下这些:选项参数说明帮助记忆-c创建打包文件,一般搭配 -v 来查看被打包的文件名create-t查看打包文件中所包含的文件列表contents-x解压缩,可以搭配 -C 解压到指定目录extract-z使用 gzip

2020-12-11 20:15:09 74

原创 说说微服务配置中心特性、原则、模型设计以及技术选型

1 特性与原则微服务在配置方面与传统开发模式存在很大的区别,具体特性如下1:(1)应用配置与实际代码完全分离;(2)应用或者一个不可变的 Docker镜像,它们在各自环境中的配置不会发生变化。(3)服务器启动时,可通过环境变量加载应用配置信息,也可通过集中式存储库来加载应用配置信息。依据这些特性,我们可以提炼出微服务在配置方面的四项原则1:(1)分离 ——服务配置信息与服务完全分离。服务器启动时,再通过环境变量或集中式存储库来加载应用配置信息。(2)抽象 —— 将访问配置数据的功能抽象到一个服

2020-12-11 20:08:33 32

原创 说说 Python 中的高阶函数

高阶函数(higher-order function)指的是:接受一个函数为参数,或者把函数作为结果值返回的函数1。1 sorted()比较常见的高阶函数是 sorted(),其内部的关键字参数 key 可以接受一个函数为参数,来指定值的排序规则2。比如一个单词列表,如果给关键字参数 key 赋予一个 len 函数,就可以让这个列表按照单词的长度进行排序。animals = ['ox', 'giraffe', 'mouse', 'tiger', 'lion', 'deer', 'goose']r

2020-12-06 17:03:38 92

原创 说说 Maven 的多模块设计

如果项目很大,那么可以在项目搭建时,考虑使用 Maven 多模块功能。比如一个能力平台,可能分为API 模块、日志模块与计费模块等等。这样做的好处是1:(1) 方便重用。一个新项目如果需要使用某个模块时,就可以直接将其依赖过来;(2) 每个模块都有各自的 pom.xml 配置,可以根据模块需要添加各自的第三方依赖;(3) 每个模块都可以独立进行构建,特别是在微服务项目,我们可以把某些已经稳定的模块发布到 docker镜像中,然后只构建我们目前仍然需要进行开发的项目;(4) 某些模块可以打成 jar作

2020-12-04 20:03:17 132

原创 说说 Maven dependency 与 dependencyManagement 之间的区别

pom.xml文件中,所依赖的jar包版本,有两种判断途径1。如果dependencies里的某个dependency没有声明version元素,那么maven就会到dependencyManagement里面去找有没有同一artifactId和groupId的版本声明,如果有,就继承它,如果没有就会报错。因为每个dependency必须有一个确定的version。如果dependencies里的某个dependency声明了version元素,那么直接以dependency里的version

2020-12-04 20:01:13 130 4

原创 镜像推送时出现 server gave HTTP response to HTTPS client 问题的解决方法

(1)原因分析因为 Docker 引擎默认通过 https 协议与 Docker Registry 通信,所以如果搭建的Docker 私有镜像库是 http 协议的话,就会输出上述日志。(2)解决在虚拟机中,修改 /usr/lib/systemd/system/docker.service 中的 ExecStart 选项,加入 --insecure-registry {docker 私有镜像库 IP} --ipv6=false,,加入–insecure-registry 与 --ipv6 属性。形如.

2020-12-04 19:55:36 148

原创 修改了 /usr/lib/systemd/system/docker.service 之后,Docker 无法启动问题的解决方法

通过 vi /usr/lib/systemd/system/docker.service 修改了 docker 配置之后,接着执行以下两个命令重启 Docker:systemctl daemon-reloadsystemctl restart docker运行结果:提示我们使用 journalctl -xe 命令来查看更详细的出错日志:(1)原因分析日志中写的很清楚,配置的 Docker 镜像私服不可用(invalid mirror)。(2)解决修改并保存 /etc/docker

2020-12-04 19:51:50 347

原创 说说 Python 函数对象的本质

Python 函数对象本质上是 function 类的实例1。1 从示例说起def factorial(n): '''return n!''' return 1 if n < 2 else n * factorial(n - 1)r = factorial(42)logging.info('r -> %s', r)logging.info('__doc__ -> %s', factorial.__doc__)logging.info('type(factor

2020-11-29 15:48:08 118

原创 说说在 Linux 中如何修改某个文件拥有者

修改某个文件的拥有者,最常见的应用场景是在复制文件给其他人时1。假设原来在 vagrant 账号下有一个 deniro.txt 文件:这时我们使用 cp 命令(cp deniro.txt deniro_copy.txt),把这个文件复制一份给其他人:可以看到,这个新的 deniro_copy.txt 文件,它的拥有者以及拥有组名都为 vagrant。如果我们把这个文件给其他账号,他们如果没有权限,根本无法使用。解决这一问题的方法之一是使用 chgrp 命令修改这个新文件所在的组2。这里我们采

2020-11-22 16:58:29 170

原创 说说 Python 的不可变字典类型 MappingProxyType

MappingProxyType 类接受一个字典入参,它会返回一个只读的映射视图1。这个视图对象会受原字典对象的影响,也就是说如果原字典对象中的内容发生变化,那么这个视图对象也会跟着发生变化。dict={1: 'A'}not_modify_dict=MappingProxyType(dict)logging.info('not_modify_dict -> %s', not_modify_dict)logging.info('not_modify_dict[1] -> %s', not_

2020-11-22 15:52:43 137

原创 说说 Python 的 collections.Counter 类型

collections.Counter 类型可以用来给可散列的对象计数,或者是当成多重集合来使用 —— 多重集合就是集合里的元素可以出现多次1。collections.Counter 类型类似于其它编程语言中的 bags 或者 multisets2。(1)基本用法counter = collections.Counter(['生物', '印记', '考古学家', '生物', '枣', '印记'])logging.info('counter -> %s', counter)counter.u

2020-11-22 15:02:59 160 2

原创 说说在 Python 字典中如何在读取不存在的键时得到一个默认值

如果有方法能够在 Python 字典类型中,当读取不存在的键时能够得到一个默认值,那么代码就会变得更加直观。通过 defaultdict 类型可以实现这个目的1。我们来改写一个 “输出单词所在坐标” 的示例来说明使用 defaultdict 类型与使用 setDefault 方法之间的区别2。改写后的完整示例代码如下:import collectionsimport logginglogging.basicConfig(level=logging.DEBUG, format='%(level

2020-11-21 17:09:01 273

原创 说说在 Microsoft Project 中如何把任务列表导出为 excel

把 Project 的任务清单导出为 excel 是常用功能。(1)另存为 excel 点击文件 → 保存并发送 → 将项目另存为文件 → Microsoft Excel 工作簿(2)命名 excel 文件(3)字段映射 导出的数据格式这里点击“选择的数据”:如果选择了“Project Excel 模板”,那么就会导出包含下列三大维度的 sheet 表格:因为我们还没有保存过映射,所以这里选择“新建映射”(默认选择):这里选择“任务”与“导出包含标题”(默认选择):这里可以

2020-11-20 20:07:33 264

原创 说说在 Linux 中如何修改某个文件所属群组

Linux chgrp(英文全拼:change group)命令用于变更文件或目录的所属群组1。chgrp 是 change group 的缩写。一般输入 chg 然后按下 tab 键就会自动补全完整命令。chgrp 语法为:chgrp [-R] {组名}{目录名/文件名}。-R 表示递归修改,R 是 recursive 首字母2。recursive /rɪˈkɜːrsɪv/假设在当前目录下有一个文件(deniro.txt),隶属于名为 vagrant 的群组:现在想把这个文件改为隶属于

2020-11-15 17:27:04 111

原创 说说在 Python 中如何使用 setDefault 方法提高效率

1 从示例说起Luciano Ramalho 举了一个示例来说明 setDefault 方法相对于传统写法的高效性1。import sysimport reWORD_RE = re.compile(r'\w+')index = {}with open(sys.argv[1], encoding='utf-8') as fp: for line_no, line in enumerate(fp, 1): for match in WORD_RE.finditer(lin

2020-11-15 11:57:57 105

原创 说说 Linux 中 ls 输出目录结构指令

ls(英文全拼:list files)1,输出当前目录结构。语法:ls [-alrtAFR] [name...]单纯讲语法很枯燥,我们以实例来现身说法。(1)输出当前目录与文件名命令:ls在 Powershell 中会以另一种颜色来标注目录,比如这里的蓝色。(2)输出当前目录与文件名(包括隐藏文件)命令:ls -aLinux 的隐藏文件以 . 开头。(3)输出当前目录与文件详情命令:ls -l这里面所包含的信息量很大,现将每一列说明如下。. 之前一共有 10 位,第一位表示文件

2020-11-13 21:06:24 144

原创 说说 Linux 中切换目录命令

cd命令,cd 是 change directory 的单词首字母。cd 后面跟着不同的符号,可以实现不同的功能。示例说明cd进入家目录,形式为“/home/xxx"cd -进入上一次所在的目录cd ..进入上级目录,注意在两个点之前有一个空格符cd ../..进入到其上两级目录cd /进入根目录...

2020-11-13 20:56:05 56

原创 说说如何在 Linux 中查看内存使用情况

free -h加上 -h 参数,就会把内存数值以更直观的方式展示出来。每列字段说明如下:字段说明Mem内存使用情况Swap交换空间使用情况total总容量used已用容量free剩余容量shared共享容量buff/cachebuff 与 cache 所占容量available还可被应用使用的容量在Linux下,SWAP的作用类似Windows系统下的“虚拟内存”。当物理内存不足时,拿出部分硬盘空间当SWAP分区(

2020-11-13 20:53:22 92

原创 说说如何在 Linux 中切换到 root 账户

使用 sudo -i,就可以切换为 root 账户。sudo : 是暂时切换到超级用户模式(root)以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。切换有时间限制。sudo -i:永久切换到超级用户模式(root)以执行超级用户权限。提示输入的密码为当前账户的密码,没有时间限制。执行该命令后提示符变为“#”而不是“$”。执行“exit”或“logout” 可以回到普通账户 。...

2020-11-13 20:52:16 123

原创 vagrant up 启动超时问题解决方法

(1)原因分析如果启动发现 vagrant up 命令超时,一种可能原因是需要密码登录。因为 Vagrant 默认在后台运行 VirtualBox,所以我们很难发现问题。建议打开 gui 开关,这样会在启动 Vagrant 虚拟机的同时,打开 VirtualBox GUI 窗口,方便排查问题。(2)解决方法修改 Vagrantfile 配置文件,打开 gui:config.vm.provider "virtualbox" do |vb| vb.gui = trueend保存后,.

2020-11-13 20:50:41 275

原创 说说如何配置 docker 镜像加速服务

1 开通阿里云容器镜像服务登录阿里云后,在搜索框输入“镜像”,即可找到“容器镜像服务”入口:点击进入该服务,首次进入会要求设置登录密码:密码创建好后,就会看到镜像仓库列表,这是阿里云提供的镜像仓库服务:我们在左侧菜单栏中找到“镜像加速器”,点击它:在右侧页面中就可以看到加速器地址,下方是相应操作系统的配置说明文档:2 配置镜像加速器因为镜像加速器要求 Docker 版本必须大于 1.10.0。所以首先使用 docker -v 查看当前所安装的 Docker 版本号。新增或修改 /

2020-11-07 08:30:48 155

原创 说说如何搭建微服务开发虚拟机环境

因为微服务项目一般涉及的工程较多,所以在开发环境会把这些工程部署到虚拟机中,方便测试。首先给出微服务开发虚拟机环境相关软件清单:Vagrant 2.2.10VirtualBox 6.1.16Windows PowerShell(windows 10 自带)我们的目标是在 windows 10 下,构建出 Vagrant 管控的、 底层基于 VirtualBox 虚拟机技术的 CentOS 环境。因为会用到底层虚拟化技术,所以我们需要首先在任务管理器的"性能"页签下,确认是否已启用虚拟化技术

2020-11-07 08:25:07 176 2

原创 ORA-01034 问题的解决方法

使用 Oracle 账户登录后,执行创建表空间语句时,发现 ORA-01034 问题。(1)分析一种常见原因是 Oracle 数据库还未启动。(2)解决Linux 使用 Oracle 账户登录。使用 sysdba 身份登录:sqlplus / as sysdba;启动数据库:startup...

2020-10-31 19:28:11 82

原创 vagrant up 命令 ssh auth method:private key 卡住问题的解决方法

执行 vagrant up 命令,卡在 ssh auth method:private key:最后提示 Timed out:(1)原因分析之前的 VirtualBox 版本比较旧,与最新版的 Vagrant 不兼容。虽然后来 VirtualBox 换了最新版,但执行 up 命令所生成的 .vagrant 文件夹中的文件与历史文件存在冲突。(2)问题解决手动删除 .vagrant 文件夹;手动删除 VirtualBox 中的虚拟机:重新执行 vagrant up 命令。

2020-10-31 19:23:39 331

Nginx 1.18.0 以及相关依赖库

该压缩包内包含了 Nginx-1.18.0以及 Nginx所需要的依赖库。依赖库主要为: * 编译 Nginx 的GCC 编译器; * 未来使用 C++ 来编写 Nginx 的 G++ 编译器; * Perl 正则表达式(Nginx HTTP 模块依赖库); * zlib (网络数据包 gzip压缩依赖库); * openssl (提供HTTPS 支持以及 MD5、SHA1 等加密算法实现)。

2020-12-27

Vue.js 技术交流培训材料.pdf

包含数据绑定、计算属性、内置指令、组件、自定义指令、Render 函数、webpack、插件等内容。

2019-11-22

jasperreports-functions-6.3.1.jar

jasperreports 的函数依赖包,用于解决 jasperreports 抛出 Caused by: java.lang.NoClassDefFoundError: net.sf.jasperreports.functions.standard.DateTimeFunctions 的问题

2017-11-07

mysql 函数,可以将数字转换为中文大写形式

mysql 函数,可以将数字转换为中文大写形式。大写数字是中国特有的数字书写方式,利用与数字同音的汉字取代数字,以防止数目被涂改。 据考证,大写数字最早是由武则天发明,后经朱元璋改进完善。

2017-10-30

olap4j-0.9.7.309-JS-3.jar jasperreports 6.x 的依赖包

olap4j-0.9.7.309-JS-3.jar jasperreports 6.x 的依赖包哦

2017-10-20

微软雅黑字体

微软雅黑字体是一种全新的无衬线黑体,它的字形略呈扁方而饱满,笔画简洁而舒展,易于阅读。

2017-10-10

axis1.4 包,一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。

axis全称Apache Extensible Interaction System 即阿帕奇可扩展交互系统。Axis本质上就是一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。Axis目前版本是为Java编写的,不过为C++的版本正在开发中。但Axis并不完全是一个SOAP引擎,它还是一个独立的SOAP服务器和一个嵌入Servlet引擎(例如Tomcat)的服务器

2017-09-29

Fiddler4 破解版,http协议调试代理工具

Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。

2017-09-29

阿里巴巴Java开发手册(正式版)

阿里巴巴集团推出的《阿里巴巴Java开发手册(正式版)》是阿里巴巴近万名开发同学集体智慧的结晶,以开发视角为中心,详细列举如何开发更加高效、更加容错、更加有协作性,力求知其然,更知其不然,结合正反例,让Java开发者能够提升协作效率、提高代码质量。

2017-02-16

mdwiki 项目模板代码

可用于搭建 mdwiki 项目架构,mdwiki 是基于 markdown 的 wiki 系统。里面有一些基础文件,可在此基础上进行扩展。

2016-12-30

deniro_li的留言板

发表于 2020-01-02 最后回复 2020-03-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除