VimSettings
1 | vim ~/.vimrc |
Ubuntu22.04 安装英伟达驱动
Git_learning
Git_learning
Git基本操作
记录目前已经用到过的git操作,后续如果有发生新的操作再进行修改
创建仓库
1 | git init |
提交和修改
1 | git add |
日志
1 | git log |
远程操作
1 | git remote |
分支
1 | git branch -a -v -av -d -b |
Git子模块
问题
git add 时 出现warning 正在添加嵌入式 git 仓库
解决
添加子模块
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#=删除仓库索引=======================================
# 如果是文件
git rm --cached themes/next
# 如果是文件夹
git rm -r --cached themes/next
# 如果执行以上命令后提示:【 error: 如下文件其暂存的内容和工作区及 HEAD 中的都不一样:】 ,`-f`强制删除
git rm -r -f --cached themes/next
#=添加仓库索引=======================================
# 创建子模块并添加 url 地址
git submodule add <url> project
# 例如:
git submodule add https://****.git themes/next
# 或者使用 ssh 地址
git submodule add git@g****.git themes/next添加成功后会生成
.gitmodules
文件提交
1
2
3git add .
git commit -a
git push拉取&更新
1
git submodule update --init --recursive
clone分支
克隆单分支
1
git clone -b {分支名} https://***.git
克隆所有分支
1
2
3
4
5
6
7
8
9git clone
git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/main
remotes/origin/master
git checkout -b main origin/main
#作用是checkout远程仓库origin的分支main,在本地起名为main分支,并切换到本地的main分支
push
1. git remote
1
2
3
4
5
# 添加远程主机
git remote add <主机名> <网址>
# 删除远程主机
git remote rename <原主机名> <新主机名>
2. git push
1
2
3
git push <远程主机名> <本地分支名>:<远程分支名>
git push origin master
git push --set-upstream origin main # 主机名 主机分支名
如何配置实验环境
如何配置实验环境
1.创建conda环境
1 | conda env list |
2.下载github代码
1 |
3.安装依赖包
1 | conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch |
C++后端学习——WebServer
C++后端学习——WebServer
为找C++实习而进行学习WebServer源码
1. handle_for_sigpipe()
处理忽略SIGPIPE信号,防止因为错误的写操作(向读端关闭的socket中写数据)而导致进程退出
1 | void handle_for_sigpipe() |
1 | //sigaction 的定义如下: |
对一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE信号, 该信号默认结束进程.
具体的分析可以结合TCP的”四次握手”关闭. TCP是全双工的信道, 可以看作两条单工信道, TCP连接两端的两个端点各负责一条. 当对端调用close时, 虽然本意是关闭整个两条信道, 但本端只是收到FIN包. 按照TCP协议的语义, 表示对端只是关闭了其所负责的那一条单工信道, 仍然可以继续接收数据. 也就是说, 因为TCP协议的限制, 一个端点无法获知对端的socket是调用了close还是shutdown.
对一个已经收到FIN包的socket调用read方法, 如果接收缓冲已空, 则返回0, 这就是常说的表示连接关闭. 但第一次对其调用write方法时, 如果发送缓冲没问题, 会返回正确写入(发送). 但发送的报文会导致对端发送RST报文, 因为对端的socket已经调用了close, 完全关闭, 既不发送, 也不接收数据. 所以, 第二次调用write方法(假设在收到RST之后), 会生成SIGPIPE信号, 导致进程退出.
https://blog.csdn.net/lmh12506/article/details/8457772
How to post a new article
1 | hexo new {NAME} |
welcome
Welcome to MarsMeow’s blog
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
个人信息
个人简介
- 男 23 岁
- Email:zhangchuanmin@foxmail.com
- LeetCode: Mars 丶小喵
- 知乎:Mars 丶小喵
- Github:MarsMeow
教育经历
中国科学技术大学 2020 年 09 月 - 2023 年 06 月
电子信息类 硕士 信息科学技术学院 合肥
- GPA:3.10
- 相关课程:数字图像分析、统计学习、组合数学、系统仿真与建模等
大连理工大学 2016 年 09 月 - 2020 年 06 月
计算机科学与技术 本科 电子信息与电气工程学部 大连
- GPA:3.02
- 相关课程:C/C++、数据结构与算法、计算机网络、计算机组成原理、操作系统、编译原理等
实习经历
北京中科寒武纪 2021 年 12 月 - 2022 年 03 月
项目经历
TBD