1 版本控制
集中式svn,分布式git,主要区别:svn工作之前需要update,git每台机子上有完整的版本库。
git 常用命令:
配置:
git config --global user.name 1111
git config --global user.email 1111
提交:
git add 1111(-A)
git commit -m 1111
对比:
git diff 1111
回退:
三种情况:
删除:
git rm 1111
远程仓库:
git clone git@111111
git remote -v
git push origin name
git branch
git checkout -b 1111
合并解决冲突:
git merge 1111
修复bug:
git stash
git checkout master
git checkout -b bug001
git merge --no-off -m “1111”
git stash pop
多人协作:
git checkout -b branchname origin/branchname
git pull
关联:
git branch --set-upstream branchname origin/branchname
标签:
git tag name
git tag name commit_id
git show tagname
git push origin v1.0 //推送单标签
git push origin --tags
del tag:
git tag -d v0.8
git push origin :refs/tags/v0.8
2 虚拟机linux环境
笔记本需要vbox5以上的新版本,否则桥接网卡识别不出无线网卡,在网卡1 为nat转发,网卡2桥接网卡
安装虚拟机linux环境,安装openssh-server
vbox端口转发,在网卡1中设置
使用sourceCRT连接,端口不是22,是上一步设置的转发端口
本机与虚拟机传文件可以sourceCRT中sftp
- lls 列出windows电脑上的本地目录的文件
- lcd 进入WINDOWS的某个目录或驱动
- put 上传Windows中的某个文件 目录-r
- get 下载Linux服务器上的某个文件到windows主机
vim插件已经.vimrc .bashrc 放在用户目录下即可。
3 gdb调试
http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/gdb.html
不生成core文件原因:
没有写权限
ultimate -c 没有设置足够大小
https://blog.csdn.net/sunxiaopengsun/article/details/72974548
4 服务器架构
游戏开发DB扩容,如何平均分配到DB
增加代理
考虑容灾(负载均衡,重连)
避免 过载,长时间回档风险
代码审查(可以被库函数代替的代码)
注意发消息越界
第三方工具:
TScanCode
SercurityRadar
TcMalloc 内存管理
ASAN库 是goole 提供的一套程序内存检查工具 Address Sanitizer
5 程序常见bug
内存溢出
写坏内存
使用空指针
野指针
未初始化数据
死循环
流程重入(当一个功能处理需要经过不同的服务器处理才能完成,当一次流程处理还没结束,又开始一次新的流程)