记录一次前端部署
1. 为所有用户安装 NVM
以下步骤需切换到 root 用户
参考文章:https://www.soulfree.cn/?p=486
Github:https://github.com/nvm-sh/nvm
设置 github 代理;
相关文章:https://www.cnblogs.com/thepoy/p/14848080.html
1git config --global url."https://ghproxy.com/https://github.com".insteadOf "https://github.com"
修改 nvm 安装地址,在/etc/profile最后添加如下内容;
123export NVM_BIN="/usr/local/nvm/versions/node" # node安装地址export NVM_DIR="/usr/local/nvm" # nvm安装地址[ -s "$NVM_DIR/nvm.sh" ] && \. &q ...
MYSQL 学习笔记
1. 数据库概述1.1 为什么使用数据库持久化:将内存中的数据保存在关系型或者非关系型数据库中,方便下一次使用。
1.2 数据库的相关概念
DB:数据库(Database)
即存储数据的“仓库”,其本质是一个文件系统。它保存了一系列有组织的数据。
DBMS:数据库管理系统(Database Management System)
是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中表内的数据。
SQL:结构化查询语言(Structured Query Language)
专门用来与数据库通信的语言。
1.3 常见的数据库管理系统排名(DBMS)查看数据库最新排名:https://db-engines.com/en/ranking
对应的走势图:https://db-engines.com/en/ranking_trend
1.4 常见的数据库介绍Oracle
1979 年,Oracle 2 诞生,它是第一个商用的 RDBMS(关系型数据库管理系统)。随着 Oracle 软件的名气越来越大,公司也改名叫 Ora ...
记录一次后端部署
1. 安装 Docker官方教程:https://docs.docker.com/engine/install/centos/
安装 gcc 和 gcc++;
12yum -y install gccyum -y install gcc-c++
设置阿里云仓库;
1234sudo yum install -y yum-utilssudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
更新 yum 软件包 和 索引;
1yum makecache fast //将软件包信息提前在本地索引缓存,用来提高搜索安装软件的速度
安装 Docker 引擎;
1sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
启动 Docker;
1sudo systemctl start docker
查看 Docker 板本;
1docker versi ...
小知识搜集
CPU 位数,CPU 的寻址能力,地址总线 与 最大可用内存的关系;
详见 Studio TBsoft 知乎回答:https://www.zhihu.com/question/32269849
Docker 安装 OpenWrt
Docker 对比裸机安装 OpenWrt 的优势是很方便管理 OpenWrt 的板本,缺点是比直接安装 OpenWrt 系统复杂,并且网络情况也更加复杂。
1. Docker 安装 OpenWrt
查看有哪些镜像;
1docker search openwrt
拉取符合架构的镜像;
使用arch命令查看系统架构,x86、x86_64、AMD64 基本都是同一个架构
1docker pull registry.cn-shanghai.aliyuncs.com/suling/openwrt:x86_64
打开网卡混杂模式;
1ip link set enp2s0 promisc on # 或 ifconfig enp2s0 promisc
防止启动失效,加入开机自启动
12echo "ip link set enp2s0 promisc on" >> /etc/rc.localchmod a+x /etc/rc.local
创建 Docker macvlan 网络;
Docker 的 macvlan 容器网络模式是一种网卡虚拟化技术,可以将一张 ...
Centos 设置静态 IP 与 Windows 共享网络的问题
事情是这样的,我们都知道笔记本有两张物理网卡(一张有线,一张无线),Windows 10 还可以通过虚拟网卡开启 WIFI 热点(实际是通过物理无线网卡发射无线信号),将本机的网络共享给其他设备,那有什么方法可以反过来吗?
我的本机系统是 Windows 10,我手里有一张 RTL8188EU 的螃蟹网卡,由于安装了 Centos 的设备上并没有相应的驱动,所以我想将笔记本连接的 WIFI 网络通过笔记本的 WAN 口共享给这台设备,先让它联网安装驱动再使用无线网卡连接网络,首先声明一点,无法直接桥接有线网卡和无线网卡,因为两者的通信原理和使用的传输协议不同。下面是我实际的操作以及操作中遇到的问题。
1. 共享网络Windows 系统的共享网络(包括开热点)实际上就是启用了主机的路由功能,中间做了一层 NAT 转换。
点击无线连接网卡的属性;
在弹出的窗口中共享给本地有线连接(以太网)。
现在本机的 WAN 口就作为 LAN 口来使用了,拿一根网线连接本机和其他设备,其他设备也能连通网络。但这还不够,由于我另一个设备是 CentOS 最小化安装的,我想通过 SSH 去连接操 ...
自建代理服务器(Cross The GFW)脚本与常见问题解决方案
自建代理服务器没有啥其他优势,两个字「安全」。另外,如果你没有找到比较好一点的节点(一般免费的节点经常变动以提升网站流量),那么自建就是不错的选择,如果钱包充足,你可以在你的软路由上设置你自建的代理,当然这种方式需要代理服务器一直开着(如果选择的是 Vultr,目前最低配置 「1 Core 1 GB 2TB」一个月 6$),具体怎么自建在下面推荐的网站,这儿主要是记录脚本和一些常用的问题解决方案。
1. 推荐阅读
一灯不是和尚:https://iyideng.net/
了解高效上网的前世今生以及如何自建和配置服务器
灯得:https://getdeng.com/
好用节点分享
官方文档与各种协议说明:https://www.v2fly.org/
2. 脚本1bash <(curl -s -L https://git.io/v2ray.sh)
3. 代理模式
推荐阅读:
12>https://baiyunju.cc/7285>https://vimcaw.github.io/blog/2018/03/12/Shadowsocks(R)%E8%AE%BE ...
Windows 多 JDK 配置(带环境变量配置失效方案)
有些时候,我们需要在电脑上安装多个板本的 JDK ,以适应不同板本的开发需求,同时部份软件需要指定的某个板本的 JDK 才能运行,一般这个时候我们也不想卸载原本的 JDK 再去安装新的,这时就需要对 JDK 进行一种方便的管理(通过改变环境变量)。
写这篇文章的起因是因为我在 Idea 中运行基于 JDK 1.8 的项目时没有问题,因为在Project Structure 中配置了 JDK 的目录,而改为使用java -jar xxx.jar方式运行时,
报错:
1java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
原因:
Java SE 9 及以上移除了 JAXB API(属于 JAVA EE API),因此对应的 JDK 也不再包含相关 jar 包,而我本地虽然配置的是 JDK 8 的环境变量,但是使用java -version 显示的是 jdk 11 板本,配置失效。
解决:
第一种方式:pom.xml 文件中,加入这些被移除的相关包。
1234567891011121314151617181 ...
云服务器安全(SSH,SSL VPN)
在使用云服务器的过程中,我们一般会做一些配置来提高云服务器的安全,下面开始操作:
1. 修改 root 密码
修改 root 密码;
1passwd root # 修改 root 用户密码
修改 root 用户名(不推荐,sudo 提权时会找不到 root 用户)。
12vim /etc/passwd # 修改第一行第一个 root 为新的用户名vim /etc/shadow # 修改第一行第一个 root 为新的用户名
2. 添加一个普通管理员
查看 root 账户所属权限组;
1id root # 查看 root 用户所属权限组(root,对应的 gid 为 0)
误区更新:把普通用户加入 root 权限组并不会具有 root 权限
创建一个普通管理员用户;
1useradd -g wheel -m username
另一种方式(不推荐):
1useradd -o -u 0 -g 0 -m username
1234567# -m 指定在 /home 下创建用户主目录,# -g 指定初始组(可以是 gid 或者 组名)# -o 必须和 -u 一起使用,指定 uid, ...
时间复杂度与空间复杂度
最近在学习数据结构与算法,发现对于算法的时间和空间复杂度一直处于一个比较懵懂的状态,所以专门写一下来理清楚这两个概念。在这之前,我们需要先了解一些基本概念。
1. 基本概念与术语1.1 数据结构
在计算机中,数据并不是孤立、杂乱无序的,而是具有内在联系的数据集合。数据之间存在的一种或多种特定关系,也就是数据的组织形式;
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合;
简单的理解就是关系,比如分子结构;
我们分析这些关系的目的就是为了编写出一个 “好” 的程序。
按照视点的不同,我们一般把数据结构分为「逻辑结构」和「物理结构」。
1.2 逻辑结构逻辑结构是指数据元素之间的相互关系,分为以下四种。每个数据元素看为一个节点,如下面图中的①~⑨。
1.2.1 集合结构集合结构中的数据元素除了同属于一个集合外,它们之间没有其他关系,类似于数学中的集合。
1.2.2 线性结构线性结构中的数据元素之间是「一对一」的关系。
1.2.3 树型结构树形结构中的数据元素之间存在一种「一对多」的层次关系。
1.2.4 图型结构图形结构的数据元素是「多对多」的关系。
1.3 物理结构物理 ...