VScode连接远程服务器
生成本地SSH密钥(本机)在命令行中输入以下命令:
ssh-keygen
按回车键接受默认设置。你不需要输入密码。
配置VSCode添加以下配置以连接到SSH:
Host test HostName 127.0.0.1 User root Port 22 IdentityFile C:\Users\xxx\.ssh\id_rsa
将 主机名、IP地址、用户名 和身份文件路径 (C:\Users\xxx\.ssh\id_rsa) 替换为你的实际值。
配置云服务器mkdir ~/.sshcd ~/.sshapt install lrzszrz# 把你的本地的id_rsa.pub上传一下cp id_rsa.pub authorized_keys
重启SSH服务(云服务器)配置完成后,重新启动SSH服务以应用更改:
systemctl restart sshd
或者,使用以下命令:
systemctl reload sshd
或者,如果使用 service:
service sshd restart
面试杂项
面经http 三次握手,四次挥手
三次握手的目的是建立可靠的通信信道。简单来说,通讯即数据的发送与接收,而三次握手的主要目的是双方确认自己与对方的发送与接收是正常的。
第一次握手:Client 无法确认,Server 确认对方发送正常,自己接收正常。
第二次握手:Client 确认自己发送、接收正常,对方发送、接收正常;Server 确认对方发送正常,自己接收正常。
第三次握手:Client 确认自己发送、接收正常,对方发送、接收正常;Server 确认自己发送、接收正常,对方发送、接收正常。
三次握手确保双方的收发功能都正常,缺一不可。
为什么要四次挥手?
TCP 是全双工通信,允许双向数据传输。任何一方结束数据传输后都可以发送连接释放通知,待对方确认后进入半关闭状态。另一方也无数据发送时,发出连接释放通知,对方确认后完全关闭 TCP 连接。
例子: A 和 B 通话结束。
A 发出“我没啥要说的”。
B 回答“知道了”,但可能还有话,A 不能要求立即结束。
B 可能继续说,最后确认“我说完了”。
A 回答“知道了”,通话结束。
为何不能合并服务器的 ACK 和 FIN 成 ...
一套部署
ubantu22.04安装docker一套流程,docker,nginx,nvm,开启端口,最好一行一行跑
sudo apt updatesudo apt upgradeapt-get install ca-certificates curl gnupg lsb-releasecurl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"apt-get install docker-ce docker-ce-cli containerd.iosystemctl start dockerapt-get -y install apt-transport-https ca-certificates curl software-proper ...
在云服务上搭建hexo
云服务器与hexo(简单版)环境搭建云服务器版本尽量低点,比如centos7或者ubuntu 16啥的,本人是centos7
云服务器安装git
yum install git
遇到的BUGhook(post-receive)无法使用为什么无法使用?只有一个问题:权限不够,你想想,blog.git是一个中转站,咱们要把上传的东西转到blog下面,肯定要有写入操作呀,这个Git仓库的用户是git(自己设置的用户名),blog主人是root,root没有给git开权限,所以无法写入呀。
如何解决?先删掉原来的blog.git
cd ~// 默认是创建在home/git/目录下git init --bare blog.gitchown git:git -R blog.gitvim blog.git/hooks/post-receivegit --work-tree=/home/www/blog --git-dir=/home/git/blog.git checkout -fchmod +x /home/git/blog.git/hooks/post-receive// 开权限chown gi ...
React
井字棋App.jsApp.js 的代码创建了一个 React 组件。在 React 中,组件是一段可重用的代码,通常作为 UI 界面的一部分。在第一行,我们定义了一个名为 Square 的函数。JavaScript 的 export 关键字使得这个函数可以在当前文件之外被访问。default 关键字表明它是文件中的主要函数。
export default function Square() { return <button className="square">X</button>;}
index.jsindex.js 文件在这个应用中充当了组件和 Web 浏览器之间的桥梁。
import { StrictMode } from 'react';import { createRoot } from 'react-dom/client';import './styles.css';import App from ' ...
TypeScript
TypeScript简介安装 TypeScript获取 TypeScript 工具有两种主要方式:
通过 npm(Node.js 包管理器)
npm install -g typescript
安装 Visual Studio 的 TypeScript 插件
Visual Studio 2017 和 Visual Studio 2015 Update 3 默认包含 TypeScript。如果未安装,下载安装。
构建第一个 TypeScript 文件在编辑器中,创建 greeter.ts 文件,并输入以下代码:
function greeter(person: string) { return "Hello, " + person;}let user = "Jane User";document.body.innerHTML = greeter(user);
编译代码:
tsc greeter.ts
你会看到转化成了js文件
类型注解类型注解是 TypeScript 的轻量级约束方式,例如:
functio ...
api代理开发
云服务器 api 代理开发nginx 配置server { listen 80; server_name back.cwrising.top; location / { proxy_pass http://127.0.0.1:3001; }}
pm2
使用 npm/cnpm 全局安装
npm install -g pm2
pm2 命令使用(项目更目录下使用):
pm2 start app.js // 启动app项目pm2 list // 列出由pm2管理的所有进程信息,还会显示一个进程会被启动多少次,因为没处理的异常。pm2 monit // 监视每个node进程的CPU和内存的使用情况pm2 logs // 显示所有进程日志pm2 stop all // 停止所有进程pm2 restart all // 重启所有进程pm2 reload all // 0秒停机重载进程 (用于 NETWORKED 进程)pm2 stop 0 // 停止指定的进程pm2 restart ...
nvm
NVM由于在 Linux 操作系统中进行命令行操作,所有步骤都是通过终端完成的,没有鼠标的操作方式。
创建名为 staticServe 的文件夹:
mkdir staticServe
安装 nvm,以便更轻松地管理 Node.js 版本。执行以下命令进行安装:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
注意:此过程可能由于一些原因(例如域名解析问题)而失败。如果失败,可以尝试修改 /etc/hosts 文件,添加一行 199.232.28.133 raw.githubusercontent.com,然后重新运行上述安装命令。
安装完成后,执行 nvm 命令。如果出现 nvm: command not found 的错误提示,这是因为缺少对应的 nvm 脚本文件。在 macOS 中,可能是 .zshrc 文件,在 CentOS 中可能是 .bashrc 文件。通过以下步骤创建并编辑相应的文件:
检查是否存在 .bashrc 文件,如果不存在,创建文件:
touch ...
汇编语言-学习通
概述什么是机器语言、汇编语言、高级语言?汇编语言的优、缺点?
机器语言(Machine Language):
定义: 机器语言是计算机可以直接执行的二进制代码。每个指令和数据都以二进制形式表示。
优点: 最直接地与计算机硬件交互,执行效率高。
缺点: 难以理解、编写和维护,对于不同的计算机体系结构不可移植。
汇编语言(Assembly Language):
定义: 汇编语言是一种低级编程语言,使用助记符(mnemonics)来代替机器语言中的二进制指令。每个助记符对应一个特定的机器语言指令。
优点: 相对于机器语言更容易理解,同时保留了对计算机硬件的直接控制。
缺点: 与平台相关,可读性较差,开发效率低,不易移植。
高级语言(High-Level Language):
定义: 高级语言是相对于汇编语言和机器语言而言的,更接近人类语言的一种编程语言。典型的高级语言有C、C++、Java、Python等。
优点: 开发效率高,可读性强,可移植性好。
缺点: 通常执行效率较低,因为需要通过编译器或解释器转换为机器语言。
小基础
正数的原码、反码、补码都相同,负数的反码是符号位 ...
GitHub操作
Python 2 升级为 Python 3
下载并解压缩 Python 3.8创建 Python 3 的目录:
mkdir /usr/local/python3
进入 Python 3 目录:
cd /usr/local/python3
下载压缩包(可以进入网址 https://www.python.org/ftp/python/ 查看所有的压缩版本,选择 Python 3.9.9):
wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tar.xz
解压缩:
tar xvf Python-3.9.9.tar.xz
编译安装进入目录:
cd Python-3.9.9
配置编译安装目录:
./configure --prefix=/usr/local/python3
编译:
make && make install
如果出现错误:
zipimport.ZipImportError: can't decompress data; zlib not available
安装 zlib:
...