什么是技术写作
技术写作非常重要,产品的开发、推广、维护都需要它。
技术写作的关键
技术写作的好坏,跟语文水平关系不大,更多是一个技巧问题。
因为技术写作的评价标准,不是艺术性,而是表达是否清楚明白。它不需要华丽的词藻、巧妙的比喻、深刻的感悟,只需要把问题说清楚。
把问题说清楚的关键,在于你的思想是否清楚。
技术写作的诀窍
文章采用单线结构。
所谓”单线结构”(也称”线性结构”),指的是一篇文章只说一件事,按照线性顺序进行叙述,由浅入深、循序渐进、平铺直叙、层层递进。
MobaXterm 是一个增强型的 Windows 终端。
其为 Windows 桌面提供所有重要的 远程网络工具(SSH、X11、RDP、VNC、FTP、MOSH…)
和 Unix 命令(bash、ls、cat、sed、grep、awk、rsync…)。
Kettle 是一款国外开源的 ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
Kettle(现在已经更名为PDI,Pentaho Data Integration-Pentaho数据集成)。
Kettle的执行分为两个层次:Job(作业)和Transformation(转换)。
Spoon.bat/spoon.sh:是一个图形化界面,可以让我们用图形化的方式开发转换和作业。
Pan.bat/pan.sh:利用Pan可以用命令行的形式调用Trans。
Kitchen.bat/kitchen.sh:利用Kitchen可以使用命令行调用Job。
Carte.bat/Carte.sh:Carte是一个轻量级的Web容器,用于建立专用、远程的ETL Server。
kettle 7.1在 win7 上能正常连接mysql数据库,复制到 Win10 上反而不能连接成功。最后发现原因是 Win10 的时间设置不对,改成正常时间就能连接成功。
JavaTM Web Start 是基于 Java 技术的应用程序的一种部署解决方案。它是连接计算机和 Internet 的便捷通道,允许用户在完全脱离 Web 的情况下运行和管理应用程序。Java Web Start 提供一次单击激活应用程序的简易方法,并保证始终运行应用程序的最新版本,从而可避免复杂的安装或升级过程。
Java Web Start 技术是一种面向 Web 的应用程序部署解决方案。使用全功能应用程序替代基于 HTML 的客户软件具有多种好处:
Nodejs常用库是每个Nodejs开发人员必须熟悉的工具。常用的Nodejs库主要有:
最近公司决定使用 PostgreSQL 数据库,提前学习一下。
PostgreSQL 是一个功能强大的开源对象关系数据库系统,它使用并扩展了 SQL 语言,并结合了许多功能,可以安全地存储和扩展最复杂的数据工作负载。PostgreSQL 的起源可以追溯到 1986 年,是加州大学伯克利分校 POSTGRES 项目的一部分,在核心平台上已经有超过 35 年的积极开发历史。
PostgreSQL 以其成熟的架构、可靠性、数据完整性、强大的功能集、可扩展性以及软件背后的开源社区的奉献精神而赢得了良好的声誉,以始终如一地提供高性能和创新的解决方案。PostgreSQL 可在所有主要操作系统上运行,自 2001 年以来一直符合 ACID 标准,并具有强大的附加组件,例如流行的 PostGIS 地理空间数据库扩展器。毫不奇怪,PostgreSQL已成为许多人和组织的首选开源关系数据库。
PostgreSQL 具有许多功能,旨在帮助开发人员构建应用程序、管理员保护数据完整性和构建容错环境,并帮助您管理数据,无论数据集有多大或多小。除了免费和开源之外,PostgreSQL 还具有高度可扩展性。例如,您可以定义自己的数据类型,构建自定义函数,甚至可以使用不同的编程语言编写代码,而无需重新编译数据库!
PostgreSQL安装过程如下:
1 | # 安装PostgreSQL服务 |
PostgreSQL安装成功之后,会默认创建一个名为postgres的Linux用户,初始化数据库后,会有名为postgres的数据库,来存储数据库的基础信息,例如用户信息等等,相当于MySQL中默认的名为mysql数据库。
postgres数据库中会初始化一名超级用户postgres。为了方便我们使用postgres账号进行管理,我们可以修改该账号的密码。具体命令如下:
1 | su postgres |
PostgreSQL 模式(SCHEMA)可以看着是一个表的集合。
一个模式可以包含视图、索引、数据类型、函数和操作符等。
相同的对象名称可以被用于不同的模式中而不会出现冲突,例如 schema1 和 myschema 都可以包含名为 mytable 的表。
使用模式的优势:
允许多个用户使用一个数据库并且不会互相干扰。
将数据库对象组织成逻辑组以便更容易管理。
第三方应用的对象可以放在独立的模式中,这样它们就不会与其他对象的名称发生冲突。
1 | CREATE SCHEMA schema_name; |
1 | # 创建数据库 |
1 | #新建用户 |
Glassfish是一款Web应用服务器,和Tomcat一样,也是一款优秀的Servlet容器。
GlassFish 常见功能端口主要有:
端口名称 | 端口号 |
---|---|
Admin | 4848 |
HTTP Instance | 8080 |
JMS | 7676 |
IIOP | 3700 |
HTTP_SSL | 8181 |
IIOP_SSL | 3820 |
JMX_ADMIN | 8686 |
备注:JMS 即 Java 消息服务,是一种消息传递标准,它允许基于 Java 平台企业版 (Java EE) 的应用程序组件创建、发送、接收和读取消息。它支持松散耦合、可靠和异步的分布式通信。
公司购买了一台配置十分高级的联想工作站,为了充分利用该工作站,将安装 VMware_ESXi 对该工作站进行管理运维。
VMware ESXi 是 VMware vSphere 虚拟化平台中的裸机虚拟机管理程序。作为用于创建和运行虚拟机 (VM) 的裸机虚拟机管理程序,VMware ESXi 在顶部运行并直接访问硬件,而无需安装操作系统。这种对硬件的直接访问使其比其他类型的虚拟机管理程序性能更好、运行速度更快、可扩展性更强。
VMWare ESXi 是 VMware 的裸机或 Type-1 虚拟机管理程序的名称。虚拟机监控程序是一种特殊的操作系统,您可以在其中创建、运行和管理多个虚拟机。每个 VM 都可以有自己的来宾操作系统和一个或多个应用程序。来宾操作系统可以是任何通用操作系统,如 Windows、macOS、Linux 等。
因此,单个 VMWare ESXi Server 可以同时支持多个 Windows 虚拟机或多个 Windows、macOS 和 Linux 虚拟机的组合。这称为服务器整合,这种做法允许您节省硬件、冷却和电源成本,并最大限度地利用物理资源。
作为 Type-1 虚拟机管理程序,VMWare ESXi Server 直接在物理基础架构上运行。因此,术语“裸机”。此特性与 Type-2 虚拟机监控程序不同,后者必须安装在操作系统之上。下图说明了两者之间的区别。
由于 VMware ESXi 不在操作系统上运行,因此它可以直接访问 CPU、RAM、存储和网络等底层资源。因此,VMware ESXi 的性能比任何 Type 2 虚拟机管理程序都要好得多。因此,这些虚拟机上的虚拟机和应用程序的运行速度比在 Type 2 虚拟机监控程序上的运行速度要快得多。
请参考:
请参考:
最近需要在CentOS8中部署一个大型系统,因此记录一下CentOS8的运维过程。
请参考:
重点在磁盘分区那块。
请参考:
具体步骤如下:
1 | [centos@yum-srv ~]$ sudo mkdir -p /repos/centos-8-x86_64 |
1 | [root@yum-srv]# vim /etc/yum.repos.d/CentOS-Media.repo |
1 | [root@yum-srv]# vim /etc/yum.repos.d/CentOS-Base.repo |
在base,AppStream,Extra三个镜像源中分别添加enabled=0即可。
1 | [root@yum-srv]# yum clean all |
请参考:
具体步骤如下:
1 | [root@yum-srv]# yum install -y kernel-devel elfutils-libelf-devel |
请参考:
具体步骤如下:
1 | sudo yum install -y vsftpd |
1 | systemctl start vsftpd |
1 | systemctl list-unit-files | grep vsftpd |
在Windows资源管理器地址栏中输入ftp://ip,在弹出的登录窗口中输入用户名和密码登录,然后验证上传和下载文件功能是否正常。
请参考:
具体步骤如下:
1 | sudo yum install -y tigervnc-server tigervnc |
1 | [root@linuxtechi ~]# su - pkumar |
默认的配置文件在/lib/systemd/system/vncserver@.service,以及/etc/tigervnc/目录。
编辑用户配置文件:
1 | $ sudo vim /etc/tigervnc/vncserver.users |
1 | # 将创建vncserver@:2.service符号链接到vncserver@.service |
在 @: 后面的数字 2 定义了 VNC 服务将会监听的显示端口,我们将会使用 2 ,这意味着 VNC 服务器将会监听 5902端口。
1 | vncviewer 192.168.11.11:5902 |
请参考:
具体步骤如下:
1 | # 安装启动nfs服务 |
1 | # 安装NFS客户端 |
1 | # 查看进程 |
最近遇到一个需求,需要提取PDF部分区域的文字,具体方法如下:
为了快速验证方法的可行性,使用Python结合PyMuPDF库进行开发。
PyMuPDF是一个高性能的Python库,用于PDF(和其他)文档的数据提取、分析、转换和操作。
1 | mkdir pdf_extract |
创建envConfig.bat批处理文件,一键执行离线环境配置。
1 | python -m venv env |
1 | import fitz # imports the pymupdf library |