Nodejs常用库是每个Nodejs开发人员必须熟悉的工具。常用的Nodejs库主要有:
- Sequelize
- Expressjs
- CORS
- Nodemailer
- passport
- Async
- Winston
- Mongoose
- Socket.IO
- Lodash
- Axios
- puppeteer
- Multer
- Dotenv
参考链接
- Node.js Power Tools: 13 Libraries Every Developer Should Know,by Pinjari Rehan.
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 |
公司内网IP地址资源有限,同时又存在很多分配后的IP长期不使用的情况。为提高IP地址资源的利用效率,需要监控IP的使用情况,统计IP的活动情况,收回长期不上线的IP地址资源,以便重新利用。需要解决的技术难点主要有三个方面:
扫描网络存活主机可使用以下nmap命令:
1 | nmap -P0 192.168.1.1/24 |
-P0 (无ping) 该选项可解决主机防火墙开启了禁Ping选项而无法被发现的问题,缺点是主机发现的速度将很慢。
1 | nmap -sn -PS135 172.16.1.128 -vvv -n --disable-arp-ping |
注意nmap扫局域网存活主机都会预先进行arp扫描,在这里禁用了端口扫描,意味着nmap只会进行存活扫描,当nmap进行arp扫描后发现主机存活就不会进行后续操作,wireshark也就抓不到包,所以使用–disable-arp-ping禁用arp扫描。
被扫描主机可能开启防火墙,如何绕过防火墙判断主机是否存活,请参考:
目前倾向于使用Python在代码中定时调用nmap命令扫描存活主机。一日之内可扫描三次:上午、下午、晚上各一次。
可参考以下链接:
目前倾向于利用调度模块schedule实现定时任务。
主要统计IP地址的未上线的天数。
1 | d: #如果需要开机自启动的python程序在c盘,不需要这一行程序;如果需要自启动的python程序在d盘(或其他盘),需要先切换到d盘(或其他盘) |
学生学习得遇名师是一种幸运,那么怎样成为这样的名师呢?
Qt代码采用面向对象的方法进行编程,要理解Qt代码,理解其各种机制,应从Qt的祖先类开始。
请参考:
请参考:
请参考:
加密狗是目前流行的一种软件加密工具。它是插在计算机接口上的软硬件结合的软件加密产品。一般有USB口和并口两种,又称USB加密狗和并口加密狗,目前流行的一般是USB加密狗,并口加密狗在前几年的时候用得比较多。
举个例子说明单片机算法的使用。 比如一段程序中有这样一句:A=Fx(3)。程序要根据常量3来得到变量A的值。于是,我们就可以把原程序这样改写:A=Fx(DogConvert(1)-12342)。那么原程序中就不会出现常量3,而取之以DogConvert(1)-12342。这样,只有软件编写者才知道实际调用的常量是3。而如果没有加密狗,DogConvert函数就不能返回正确结果,结果算式A=Fx(DogConvert(1)-12342)结果也肯定不会正确。这种使盗版用户得不到软件使用价值的加密方式,要比一发现非法使用就警告、中止的加密方式更温和、更隐蔽、更令解密者难以琢磨。此外,加密狗还有读写函数可以用作对加密狗内部的存储器的读写。于是我们可以把上算式中的12342也写到软件加密狗的存储器中去,令A的值完全取决于DogConvert()和DogRead()函数的结果,令解密难上加难。
目前最常用的免加密狗补丁破解则就是属于第三种破解方式。