OJ部署debug记录

学校重构之后的OJ终于进入了前后端对接的阶段,经过了一周的紧张对接环境,项目依然是(正在稳定推进的阶段),和前端对接口的一周里,我感觉到自己之前工作的不足,在此做出反思,以后要改掉这些错误。同时在和运维一起部署的过程中,也发现了许许多多的问题,在此一并记录一下。

Git学习笔记

对于git,很早很早就在用了,但是还没有系统整理过,并且有些命令使用时需要注意的事项,在此也一并标出。

记录一次Go项目的部署

最近写了一个go项目,需要部署到服务器进行测试,如果只是go run main.go难免也太麻烦了点,于是学习了项目部署的相关知识。 项目的部署有多种方式,Jenkins,nginx等方式,本文只讲解一下简单的shell脚本部署。 系统信息 系统信息: CentOS Linux release 8.3.2011 x86_64 Go version: go version go1.14.12 linux/amd64 几条命令的介绍 nohup nohup命令的全称为no hang up不挂起,可以在系统后台不挂断的运行命令,退出终端后程序也会正常运行。 语法格式: nohup ./xxx > xxx.log 2>&1 & 解释: > xxx.log表示将输出重定向至该文件,可以记录运行时的日志 2>&1将标准错误2重定向到标准输出&1,然后标准输出&1再被重定向至xxx.log文件 git pull git pull origin dev 为了方便项目的及时更新,使用改名了保证运行时与上游仓库的代码保持一致。 ps ps命令为 process status,可以查看系统当前的进程状态 例如 1 2 3 4 5 6 ~> ps PID TTY TIME CMD 255873 pts/0 00:00:02 zsh 258517 pts/0 00:00:00 sh 258519 pts/0 00:00:00 OnlineJudge 263021 pts/0 00:00:00 ps 我们将用ps命令与grep等命令筛选出项目的pid ps命令有很多参数选择,这里介绍一下用到的两条命令:

汇编语言笔记

简介 本学期选了汇编语言这门选修课,我认为还是有很大的学习价值的,虽然学习的还是年代久远的8086CPU指令集,但对后续接触更多汇编语言还是有很大帮助,方便我们调试程序,多了一种查错的方式。 其实关于调试自己很久之前就想学了,高中的时候看紫书,发现lrj老师讲了一段的gdb调试方法,当时感觉一点都看不懂,现在借此机会学习一下gdb的调试。 本文除了将总结一些汇编语言学习过程中的笔记之外,还计划穿插一些cs213/CSAPP 的内容以及bomb lab的解析。 准备工作 dos系统现在以及年代久远,想使用8086CPU指令集调试的话需要借助DosBox来实现。 DosBox官网 由于macOS下没有DOSbox需要的调试工具,因此下载之后需要挂载debug.exe等Windows下的调试工具 在DOSbox中输入 1 2 3 mount C ~/dos C: debug 即可进入debug模式 实验1 前置知识 几条汇编指令 1 2 3 4 mov 目标操作对象,源操作数 add 目标操作对象,源操作数 jmp 寄存器 //修改IP寄存器的值 or 1 2 3 4 5 jmp CS:IP eg: jmp ax == (let IP = ax) jmp 2AE3:3 == let CS = 2AE3H and let IP = 0003H sub ax,bx ax = ax - bx 1 2 3 4 inc and dec inc 操作对象 eg: inc ax == ax+=1 dec ax == ax-=1 注意:不可用mov指令修改段寄存器的值。(代码段寄存器CS,指令指针寄存器IP) CPU中识别CS:IP为执行指令 操作对象可以是寄存器,也可以是地址
0%