0%

  1. 修改完代码,记得自测一下(再小的修改也最好自测一下)

  2. 方法入参最好都检验

  3. 修改老接口时,思考接口的兼容性

  4. 对于复杂的代码逻辑,添加清楚的注释

  5. 使用完IO资源流,需要关闭

  6. 代码采取措施避免运行错误(如数组边界溢出)

  7. 尽量不要在循环里远程调用或者对数据库操作,优先考虑批量进行

  8. 写完代码,脑洞一下多线程执行会怎样,注意并发一致性问题,

  9. 获取对象的属性,先判断对象是否为空

  10. 多线程异步优先考虑恰当的线程池,而不是new thread(降低资源损耗,题号响应速度,便于重复利用)<注意线程池隔离>

  11. 手动写完代码业务的SQL,先拿去数据库跑一下,同时也explain看下执行计划

  12. 调用第三方接口,需要考虑异常处理.安全性,超时重试这几个点(重点的需要考虑签名,加密)

  13. 接口考虑幂等性

  14. 多线程情况下,考虑线程安全问题

  15. 主从延迟问题考虑

  16. 缓存的时候,考虑缓存跟DB的一致性,还有(缓存穿透,缓存雪崩和缓存击穿)

阅读全文 »

1,目录详解

assets:需要测试的不同类型的文件

datasets:存放的数据集,例如Coco

demo:官方提供的4种部署方式

docs数据集信息

exps:Yolo所有版本的数据集

tools:程序入口

demo.py : 测试文件

train.py: 也是测试文件

weights:权重文件

阅读全文 »

pm2运行命令:

1
2
3
4
5
6
pm2 ls
pm2 start xxx.py --name mynodeapp
pm2 startup
pm2 save
pm2 stop
pm2 log

python文件运行命令:

1
2
nohup python3 -u risk_sql.py >risk.log &
pm2 start /home/project/net_diagnose/sanit.py --interpreter python3 --name sanit_script

运行flask:

1
env FLASK_APP=scheduler.py flask run -h 0.0.0.0 -p 5008

通过 gunicorn 启动

1
2
3
4
5
6
7
8
9
nohup gunicorn -b 0.0.0.0:9000 -w 4 app:app > nohup.log &
说明:
-b: bind,ip+port
# mac:echo $(( $(sysctl -n hw.ncpu) * 2 + 1 )) linux: echo $(( $(nproc) * 2 + 1 ))
-w: workers:cpu 核心数 x 2 + 1s
app:app 模块名:应用对象名
• 第一个 app:Python 文件 app.py(即 app.py 文件)。
• 第二个 app:在 app.py 文件中定义的 Flask 应用对象(例如 app = Flask(__name__))。
适用于 Flask。如果是 Django,通常是 myproject.wsgi。

Supervisor:进程管理工具

安装:

阅读全文 »

软件地址

提取码: 4iuo

汉化包地址

提取码: 7u70

汉化说明:

在任意位置右击—>TortoiseSVN—>settings—>General—>Language(简体中文)—>应用 —> 确定

1, 导出项目

在检出目录文件夹下:

右击—>SVN检出—>填写版本库url—>确定

**版本库url为服务器地址,检出标志为绿色的√

阅读全文 »