- 博客(164)
- 资源 (2)
- 收藏
- 关注
原创 Typescript 打包为mini.js
声明了一个导出Hello方法,希望将该Typescript项目压缩打包为mini.js。为了方便操作,我们将刚才的打包命令配置到 package.json 中。使用浏览器打开 index.html 查看控制台,可以发现满足预期。打开中终端使用npm命令构建程序。创建webpack的配置文件。用于转换支持低版本浏览器。安装Webpack相关依赖。可以在dist中创建一个。注意根据项目修改一下。
2025-01-17 17:21:11
366
原创 TypeScript 引用JavaScript文件
文件中编写,可以看到VSCode已经能够根据类型进行推断给与提示。当我们需要在index.ts中使用hi.js 需要做下面步骤。TypeScript在编译后也会我们的Js模块生成。这样ts在编译后才会将目录中js文件编译到输出目录。文件可从编译后生成d.ts进行修改,也可手工编写。这样无法复用ts的类型推断,我们可以基于生成的。再次编译代码可以看到index.ts 导入了。可以看到通道quire导入了hi的库文件。例如 hi.js 与 hi.d.ts,,我们需要在index.ts中导入。
2025-01-13 20:36:13
402
原创 TypeScript Jest 单元测试 搭建
通常会建立一个tests目录用于存放测试用例,tests中的测试用名称与被测试对象名称保持一致,但是添加上。在package.json中添加单元测试命令,若原来有test命令则删除,填入一下内容。可以看到执行测试后执行我们定义的测试用例,并提示了Pass的提示。在package.json中的scripts中添加ts的构建命令。构建完成后可以发现项目目录中多了。里面就是我们的Hello函数。打开终端使用测试命令执行测试。使用VSCode 打开项目。后缀,目录结构也保持一致。安装TypeScript。
2025-01-10 17:33:50
647
原创 PostgreSQL 入门
由于PG对SQL标准的严格执行,除了部分数据库库采用的方言可能需要调整一下,在使用过程中我们基本不需要考虑标准的SQL不兼容的情况。考虑到技术成熟性和装机量,我这里选择较老的版本9.6.24,该版本也是部分国产数据库的基础。一个PG数据库实例可以有多个数据库,每个数据库内可以有多个模式,每个模式中可以有多个表。的模式作为默认模式,若在创建表时没有指定模式,那么表将在默认模式内创建。模式(scheme)在PG是可选的,默认在创建数据库时会创建一个名为。程序作为PG的客户端,类似于MySQL中的。
2024-12-12 10:27:20
1236
原创 yum 离线软件安装
由于是RPM包,这里直接使用rpm 命令就可以安装,唯一需要注意的安装时需要使用通配符,否则会出现无法正确识别依赖导致安装失败。通过通配符将自动识别依赖关系并按照顺序依次安装依赖,如果依赖已经安装将会自动跳过。下载完成后可以看到目录中已经有MariaDB以及依赖的 RPM安装包。接下来就可以将这些安装包复制到需要离线安装的设备上。可以看到仓库中有该软件,那么我们就可以直接下载。准备一台可以连接互联网并且与离线安装的操作系统。将上步骤下载得到的安装包复制到离线主机上。为需要安装的软件创建存储位置,
2024-12-09 17:21:21
622
原创 Golang多版本环境安装并存
注意这里我们按照平台下载,对应平台的Archive 类型压缩包。出现超时,或断开连接属于正常,应为他需要去。的历史归档版本中下载我们需要的GO环境。若未配置镜像该步骤可能超时或连接失败。将该压缩包放到刚才SDK的空文件夹中。此时将提示解压,成功后提示可以使用。会提示在 sdk目录中找不到。请先安装最新版本的Go,详见。以安装Go 1.11 为例。下载成功后将提示,可以使用。此时可以打开该目录查看例如。替换为需要安装的版本。下载已经归档Go程序。接下来下载Go的环境。
2024-08-13 10:54:14
647
原创 PXE自动平台 搭建 银河麒麟 UEFI x86_64 ARM64
请准备X86_64、ARM64 操作系统安装镜像,这里以 银河麒麟V10 举例。在此之前我们需要将操作系统的镜像文件中EFI文件拷贝到该目录中。,因此我们需要将我们的EFI启动引导文件放到该目录下。通过浏览器访问httpd映射的ARM64目录。也就是我们之前创建用于存储镜像的目录。把x86_64镜像中的所有内容复制。把ARM64镜像中的所有内容复制。注意,tftp默认的服务目录是。中的所有内容复制 相应目录中。注意:x86_64引导文件名为。x86_64 启动引导复制。httpd默认映射的目录为。
2024-06-21 17:50:53
3723
原创 定制银河麒麟镜像
上一步中我们成功的构建了一个自定义的镜像,但是在启动后仍然需要通过Anaconda界面配置主机名、语言、时区、分区、用户口令等操作,接下来章节将进入自动化安装选项。kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个配置文件(ks.cfg),在安装过程中,安装程序首先会去查找ks配置文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手动设定。
2024-05-20 11:02:51
2908
1
原创 银河麒麟 生成SM3加盐Hash root口令
生成/etc/shadow 中的口令或者是 kickstart中的口令注意下面命令只有在银河麒麟上才可用使用Perl脚本生成。
2024-05-15 10:14:50
517
原创 银河麒麟V10 ARM64 kubernetes 1.30.0 基于Containerd 离线搭建
可以看到当前集群中已经一个节点,但是处于 NotReady状态,这是应为没有安装CNI的原因。在安装前请检查你的libseccomp版本 是否大于 2.5.0,若低于2.5.0 请升级。镜像拉取完成后生成证书和相关配置文件,之后启动control-plane。重新加载服务,设置开机启动,启动containerd服务。这个阶段启动的kubelet由于没有配置,将不断重启。再次查看节点状态时,可以发现节点状态已经变为。节点名称为当前节点的名称,注意这里是主节点。设置开机启动,并立刻启动kubelet。
2024-04-29 18:01:15
2014
2
原创 Docker私有仓库搭建
Docker Hub 中registry 最新版本为 2.8.3,详见。在需要访问该私有仓库的设备上,调整Docker配置文件。复制到目标设备上,运行下面命令导入镜像。离线导出,方便在无法联网的设备上安装。从另外一台设备上从私有仓库拉取镜像。构建镜像,并打上仓库标签,查询一下仓库中是否存在。检查Docker环境。
2024-04-26 16:51:42
2199
2
原创 银河麒麟V10 ARM64 离线安装 新版Docker
由于 Docker官方只托管CentOS RPM源,银河麒麟V10 SP3 可以等价CentOS 8,我们替换一下仓库配置。目前docker已经安装完成,但是未启动,查询docker版本,检查安装是否成功。将下载的资源复制需要安装的服务器上,进入离线安装包目录中。设置Docker开机自启动,并且启动docker。配置Docker数据存储路径,已经仓库镜像地址。当前用户下的docker-rpm/创建Docker数据存储路径。下载镜像到本地,不安装。卸载已经安装的老版本。卸载已经安装的老版本。
2024-04-26 15:12:03
5891
原创 Go开发 入门以VSCode为例
Go在1.11 以后采用Go Module 来实现包管理,原理是采用以源代码的方式从远程仓库中拉取代码,大部分的开源项目仓库都位于Github,由于众所周知的原因Github的方式往往较忙,这时候我们就可以配置国内镜像的方式来加速依赖包的下载。Go官方的SDK已经很好用了,但是在开发过程我还可能使用到一些三方的包来加快我们的开发速度。该种方式有个缺点每次都得将Go环境中的变量改回来,不然编译的程序将一直是指定的平台。当我们完成程序的开发后我们需要将我们的软件编译为可执行程序。
2024-02-29 22:32:37
2750
1
原创 CentOS7 安装远程桌面
xrdp默认源仓库中是没有的,需要安装epel(Extra Packages for Enterprise Linux)仓库。若不关闭SELinux可能会造成xrdp无法启动。打开Windows上的RDP,点击。检查设置是否成功,关闭后提示。设置开机启动并启动查看状态。稍等片刻后将进入远程桌面。则认为已经成功运行。
2023-08-10 14:10:26
1246
原创 Linux IPIP隧道连通两个局域网
主机A、B通过eth0 网口连接的网络可以相互访问,现在需要连通两台主机的两个局域网络使。网口连接的网络中间跨越了多个路由,因此无法直接配置该网络中的路由来实现两个网络互通的效果。因此我们需要在A、B之间建立一条隧道,通过隧道传输两个网络的数据包。注意:动态加载的模块重启后不会自动加载,需要通过启动脚本方式加载。若无法PING通,请检查防火墙策略是否有配置DENY。现有两台主机,它们具有两个网口分别接入到不同网络中。在主机A上PING 主机B 的目的网络。快速清除所有策略来完成测试。
2023-08-08 11:37:45
1109
原创 iptables 限制转发
可以通过设置内核参数来启动或停止内核的转发当开启了Linux内核转发开启内核转发后,当Linux主机收到不属于自己IP的数据包时,将会根据主机上配置的路由表进行转发,而不是丢弃数据包。如何数据包如何转发下一跳是谁,可以通过查询路由表route -n。
2023-06-26 10:26:32
1211
原创 银河麒麟V10 wireguard 编译
wireguard内部为了兼容不同的操作系统内核,使用了条件编译,似乎 麒麟的这个内核版本不在它的条件编译中,这里需要手动修复编译命令。我这里使用的操作系统是 银河麒麟V10,CPU为飞腾 ARM64。通过编译后我们使用 dkms 来安装模块,首先安装 dkms工具。成功后将会创建一个link,如下 请注意版本号 后续将会使用到。注意:5.6 以上内核不需要编译安装,已经集成在内核中。若编译无误,接下来就可以安装内核模块了,同样需要指定版本。接下来编译源码,名称为。安装后,查看是否安装成功。
2023-06-21 15:49:37
2130
3
原创 移除代码注释 软著代码材料
下面写了个简单的代码用于将所有包含某种后缀的文件的内容复制到同一个文件中。所生成除去注释的文件将会生成在当前工作目录中。将其复制到空的文件夹内。
2023-03-04 18:00:04
598
原创 MariaDB 数据文件 迁移
所在的分区下,现在该服务器的磁盘空间不补足了,现在扩展插入了一块新的磁盘,并且挂载到了。目录下,现在需要将原来的数据库数据迁移至该目录下。原MariaDB采用默认安装,安装在。文件,修改数据目录和socket。在此进入数据库查询数据存储目录。停止MariaDB服务。查询当前数据存储目录。
2022-11-24 11:46:56
2088
原创 Centos 7 磁盘分区及挂载 xfs
分析只是对物理磁盘的使用进行了划分,目前划分出来的存储区域。格式化完成后,可以看到显示关于该分区的一系列数据。这部分存储区域要被文件系统格式化后才可以被使用。[可选]当然也可以重启操作系统验证是否挂载成功。磁盘需要先分区再挂载,才可以让操作系统使用。挂载方式在系统重启后将会丢失,修改系统文件表。+ 磁盘名称,然后按照操作提示操作即可。这样服务器重启挂载也能正常,上创建了一个8G大小的分区。在开机时自动挂载该分区。
2022-11-24 11:01:33
8087
原创 Systemd Rsync 文件定时同步
填入下列内容,注意修改 rsync 的同步的源地址主机IP部分。在Backup上配置主机的免密登录,请参考。为了实现:每天凌晨3点,需要创建一个定时器。查看当前在运行的定时器,检验定时器是否生效。创建如下文件,文件名可自定义,后缀固定为。这里使用Systemd的timer服务。在主机和从机上都安装Rsync。上面的服务实现了:从。设置定时器开机自启动。
2022-11-17 15:41:22
934
原创 mariadb10.8 主主同步 相互复制
的数据库,检查当前数据库主机状态,可以看到master2的biglog和位置。的数据库,检查当前数据库主机状态,可以看到master1的biglog和位置。到这里 主机2 从 主机1 的复制已经完成,接下来以同样的方式配置 主机1。到这里 主机1 从 主机2 的复制已经完成,两个数据库已经可以相互复制。host2从host1同步的数据,配置host1的IP和同步用户。host1从host2同步的数据,配置host2的IP和同步用户。的数据库,创建专用于数据库同步的用户。配置文件加入以下内容。
2022-11-17 11:28:27
1256
1
原创 iptables 防火墙设置
清空所有规则,禁止输入、允许转发和输出,打开关键端口。如果需要可以使用下面命令删除已经开放的端口。重启iptables服务生效配置。如果需要可以使用命令关闭防火墙。查看配置当前防火墙配置情况。开机自启,并启动防火墙。
2022-09-21 14:05:07
917
原创 Linux limits.conf无效
此时如果我们通过SSH连接到服务端,再次检测会发现修改的数值又恢复为1024,该问题是由于SSH服务端进程相关设置导致,见。Linux 出现 "too many file open"错误,表示文件打开数上限。该方式在新的终端打开后你会发现又恢复1024,重启之后也是同样。重启SSH,重新登录SSH可以发现已经生效。此时可以通过,设置运行时。可以发现已经修改成功。...
2022-08-04 13:27:28
1138
原创 测试时大量TIME_WAIT CLOSE_WAIT
在进行TCP短连接测试时TCP客户端在段时间内向服务端建立大量的连接在程序运行一段时间后出现错误。这是由于客户端每建立一个TCP连接需要一个端口,即便客户端关闭了TCP连接完成了4次挥手,操作系统任然会保留一段时间的这个连接。见该问题可以通过配置Linux的端口重用参数来实现对处于。.........
2022-08-01 17:43:32
353
原创 Linux终端与SSH
SSH是一个较为广泛的概念他可以指SecureShell(SSH)协议也可以指ssh客户端/服务端SSH客户端/服务端是通过SSH协议进行通信的程序。为了方便区分,这里把SSH(大写)作为SSH协议,ssh(小写)作为客户端或服务端。那我们是怎么通过ssh客户端与Linux服务器进行交互的呢?这个就需要提到伪终端通过伪终端实现输入输出。通过网络和SSH协议完成数据从服务端到客户端的传输。简单来说就是[2]通过manpts可以查阅linux对伪终端的介绍。.....................
2022-07-29 15:48:00
1308
原创 Milkdown 无法使用表格
代码如下:在点击表格后发现出现Uncaught Error: Context “InsertTable” not found, do you forget to inject it?提示我们似乎没有注入表格相关的对象。这是由于 插件中没有集成表格,这里我们可以使用 该插件是Github私有的Markdown语法支持,他在内部已经集成了表格插件因此我们只需要替换,如下若你同时启用了与插件例如它们将会出现冲突出现该错误RangeError: Adding different instances of a
2022-07-07 22:49:36
651
原创 Milkdown 控件图标
在vite + vue3的项目中,使用Milkdown作为Markdown编辑框Milkdown.vue显示效果如图所有图标区域都变为了文字,并且挤在一起非常难看,这是因为 主题使用了google提供的 Google material icons从 Milkdown官方给出的示例 可以看到在文件中是引入了Google图标字体库的。这里我们的空间没有显示图标的原因就是没有Google图标字体库导致,我们可以和官方一样,直接在文件中增加一行CSS文件的引用就可以。index.html该种方式将会使用Go
2022-07-06 23:14:19
715
原创 ISO 32000-2 国际标准7.7
7.7 文档结构7.7.1 概述PDF文档可以被认为是在PDF文件的body部分的对象层次结构。在文档中顶层(root)的对象是文档目录(catalog)字典对象。(具体请参见 7.7.2, “文档目录字典对象”)。注意:在文档的抽象层次中多数的对象都是字典(dictionary)表示。在“第五章——PDF文档结构”中,说明了对象层次结构。示例:文档中的每一页使用一个页面对象(字典对象)所表示。这个页面对象含有引用到这个页面的所有内容(contents)和其他的所有属性(attributes),比如说它的缩
2022-06-28 23:42:29
1056
原创 SSH协议学习笔记
RFC 4251 协议架构: 传输、认证、连接RFC 4253 传输协议RFC 4252 认证协议RFC 4254 连接协议RFC 4250 协议中出现的编号定义RFC 5656 SSH集成椭圆曲线[1]. 重新认识SSH(一) . Anon . 2019.04 . https://emous.github.io/2019/04/28/SSH/[2]. openssh . specs . https://www.openssh.com/specs.html[3]. SSH协议和原理浅析 . wal
2022-06-24 16:19:14
1006
原创 单点登录SSO与OAuth2 方案
单点登录系统 Single sign-on (SSO) : 简单来说也就是一个在登录一个系统后不需要在重复登录其他系统的一种设计思想,其中较为著名的实现时CAS系统。OAuth2:是一个开放标准,该标准约束了一种用户让第三应用访问用户在某一个应用中的资源而无需提供用户名和密码的方式,简单来说就是一个3方应用认证和访问用户资源的一种较为规范的流程方法。SSO 与 OAuth2没有什么可比性,SSO是一种设计思想,OAuth2是一种具体资源认证授权的协议。我们可以设计一种机制,来实现单点登录系统,采用O
2022-06-20 09:39:44
1865
原创 Golang文件写入数据断电丢失
Golang在使用写入文件,或是直接使用文件接口读写文件时,在写入后立刻断电,重启后文件存在,但是为空,没有任何数据,造成了数据丢失,代码如下:原因及解决操作系统为了系统性能考,写入文件并不会直接写入到磁盘,而是写入到缓存中,当满足一定条件时,一次性写入磁盘。实际上操作系统也提供一些API可以将缓存写入磁盘,因此Golang对其进行了封装。使用时只需要在打开文件时增加 标识就可以完整代码如下:参考文献[1]. studygolang . Go语言标准库 - 6.1 文件 I/O . https:
2022-06-14 15:02:37
494
Update for Windows 7 (KB2533623)
2023-01-09
OpenOffice-4.1.6-rpm.tar.gz
2019-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人