2021.六月 ====================================
6.30
文件拷贝
rsync(一):基本命令和用法
rsync 用法教程
6.29
6.25
6.11
音频
波形展示
模拟信号是连续的,数字信号是离散的。
数字信号是对模拟信号的采样。
音频处理基本知识
pydub字段解释
audioop开发者手册
Python对图片和音频进行格式检测、以及格式转换
6.7
连接阿里云网络软件
Secure networking
2021.五月 ====================================
5.18
vim
删除:d
撤销:u
全选:ggVG
复制当前行:yy
粘贴:p
删除当前行-------dd
复制多行----------nyy(比如3yy,复制3行)
删除多行----------ndd
复制多遍----------np
5.17
opencv
5.14
ffmpeg 后面加上 -loglevel quiet
popen 取消输出,ffmpeg 输出
cmder = 'ffmpeg -i {} -vf boxblur=3:1:cr=0:ar=0 -strict -2 {} '.format(img_path, save_img_path)
subprocess.Popen(cmder, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)
5.13
ffmpeg
5.12
协同坚哥处理数据收获:
1、软删除 mv 到 bk 备份数据(比如:一个月以后手动删除。)
2、C++ java 等多线程,cpu可以获知for循环执行多少次。比如64次,八个线程,每个线程即循环八次。
5.11
创建:screen -S ###
查看有多少会话:screen -ls
恢复:screen -r ###
如果不能恢复:先screen -d ###
再screen -r ###
删除 screen -S ### -X quit
5.7
ls | grep R | wc -l
ll ll -h
htop
ls -lR|grep ".mp4"|wc -l
2021.四月 ====================================
4.30
时间间隔库
delta - Δ
datetime.timedelta类
相互转换
4.29
代码中退出os.exit()
代码 | 作用 |
---|---|
sys.exit() | 线程退出,当只有一个进程只有一个线程,完全退出程序 |
os.exit() | 进程退出,完全退出程序 |
4.28
春雨在装服务器时,他的操作
操作 | 解释 | 备注 |
---|---|---|
服务器安装 CentOs 而不是 Ubuntu | ubuntu自动更新,是我们不想要的 | 安装后 ubuntu 5g 左右,centos 3g 左右,文件多就可能有其他的东西,例如后门 |
增大 var 目录 | docker 目录,默认不修改的话,docker在这个文件夹 | 服务器上部署很多docker 适合增大此目录 |
swap 交换 | 当内存不够用时,从硬盘拿点用 | 一半装好系统后会手动关闭,也可以不用管 |
arm x86 | cpu 区别:指令集不同 功耗等arm占优势,省电等等其他方面 arm 开源 ,国产 |
4.27
python定时任务
APScheduler Advanced Python Scheduler
https://blog.csdn.net/somezz/article/details/83104368
https://www.cnblogs.com/henrytee/p/10976740.html
https://www.deeplearn.me/2383.html
https://www.pianshen.com/article/37861336408/
4.26
流形学习的基本思想
AE脚本-三维透视多画面视频墙扭曲变形画轴效果
4.25
selenium
driver = webdriver.Chrome() 问题
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 87
Current browser version is 90.0.4430.85 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe
解决办法:下载对应chromedriver.exe 同自己浏览器同版本
地址:https://npm.taobao.org/mirrors/chromedriver/
并放在脚本当前目录(推荐),或者环境变量地址 place it in any location on their PATH except for %SYSTEMROOT%\System32
(e.g. do not put in C:\Windows\System32
).
4.20
4.19
网站
零度解说
孟坤工具箱
博客
学 Python 都用来干嘛的? - 朱卫军的回答 - 知乎
https://www.zhihu.com/question/34098079/answer/881335591
4.16
写文晶自定义logo检索的经验:
1、能用绝对路径,就不要弄相对路径,可能存在莫名的bug。相对路径也会自动拼接成绝对路径,毕竟要知道文件在什么地方。程序运行的环境,需要读环境变量里的地址,也可以同等理解。寻址读值。
2、windows 下opencv读取图片读不到,存在问题,在ubuntu 上不会。
3、tmux 内的conda环境,存在和不适用tmux 窗口 环境问题。莫名bug,读取torch 问题
4、工程操作(见图)调试
4.15
工具网站
4.14
windows的沙箱就是 Vmware 虚拟机
Linux 的沙箱就是 docker 虚拟环境
python 的沙箱就是 conda 环境
可见沙箱机制何等重要,我现在想装solidwork 但是要动注册表,这我太害怕了,上次动注册表电脑被迫重装了,现在又动?不存在的,我有沙箱,虚拟一个没问题的话,再在本机装。
4.13
爬虫
代理池
UserAgent
解决浏览器
from fake_useragent import UserAgent
工程
解析返回message 中文编码问题
print(str(per_day_danmu_byte, encoding = "utf-8"))
4.12
kafka
基本b站视频入门,常见名词
名词解释文档
Zookeeper 与 broker
3分钟演示Kafka的消息发送:异步,批量,分区,主从备份
运维
Offset Explorer 2.0 报文可视化工具
Offset Explorer 2.0 使用
Kafka管理工具Kafka Manager
group = "test_jiarui8"
auto_reset_offset = "earliest"
# 常用 latest、earliest。根据业务,是否需要历史数据。earliest:最早的第一条开始,latest:最近的开始。
#(如果一个group刚刚建立,并且采用 latest 消费策略,从最近的开始。假设topic 第一条数据为 1月开始生产,如今五月,那这个group,拿到的是最近5月新生产的消息吗,1-4月左右的都忽略?这样理解吗? 坚哥回复:理解正确)
#以上均针对group为存在的场景,如果group消费者已存在,均从记录offset处开始消费。
enable_auto_commit=False
#自动提交最好设为False,采用手动提交commit。所有环节可控。
#自动提交理解为:poll后提交上一次的消费offset,或者 指定时间后提交offset。
4.7
这个windows应用https://u.tools/,比较好用
4.6
2021.三月 ====================================
3.31
python 函数传参(受 3.30 函数装饰器启发)
python 进阶
标志 | 解释 | 存储类型 | 解释 | 备注 |
---|---|---|---|---|
*args | 位置参数 | tuple 元组 | 接受传未知的位置参数 | 类型为 print(args)的类型 |
**kwargs | keyword 关键词参数 | dict 字典 | eg:a=3 接受传未知个数的关键词参数 |
3.30
笔记
标题 | 学习笔记 |
---|---|
一切皆对象 | hi 变量 ; hi() 带括号为hi函数调用 |
在函数中定义函数 | 无论何时你调用hi(), greet()和welcome()将会同时被调用。 然后greet()和welcome()函数在hi()函数之外是不能访问的 |
从函数中返回函数 | 其实并不需要在一个函数里去执行另一个函数,我们也可以将其作为输出返回出来 a 现在指向到hi()函数中的greet()函数 在语句中我们返回 greet 和 welcome,而不是 greet() 和 welcome() 因为当你把一对小括号放在后面,这个函数就会执行; 然而如果你不放括号在它后面,那它可以被到处传递,并且可以赋值给别的变量而不去执行它 我们还可以打印出 hi()(),这会输出 now you are in the greet() function。 |
将函数作为参数传给另一个函数 | doSomethingBeforeHi, 感觉装饰器就是hook 钩子函数 |
蓝本规范 | 转到3.31号 ,python 传参 decorated(*args, **kwargs) |
from functools import wraps
def decorator_name(f):
@wraps(f)
def decorated(*args, **kwargs):
if not can_run:
return "Function will not run"
return f(*args, **kwargs)
return decorated
@decorator_name
def func():
return("Function is running")
can_run = True
print(func())
# Output: Function is running
can_run = False
print(func())
# Output: Function will not run
# can_run 怎么传参:王士昂解释为函数先在args中寻找,发现没有,会去更上一层,全局变量中寻找,并取值
3.29
词云
中文分词 jieba 英文分词 nltk
python
安装
echarts版本
echarts 词云
3.26
开发环境:开发
测试环境:测试用
生产环境:上线
3.24
python 一个list根据另一个list排序
Python3 sorted() 函数
3.23
3.22
相关协议基础
http协议:传送门
json序列格式:传送门
xml序列格式:传送门
protobuf序列格式:传送门
3.18
Python Mongodb 插入当前时间
# pip install python-dateutil
from dateutil import parser
now = parser.parse(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
mongo.db['records'].insert_one({'time': now})
结果
# 数据库中
{
"time" : ISODate("2020-08-28T19:26:02.000Z")
}
# 打印输出
{
'time': datetime.datetime(2020, 8, 28, 19, 26, 2)
}
3.16
blob = Binary large Object
blob
VUE 打包下载图片
StreamSaver
如何下载 blob url 地址的视频?
神器1:谷歌小插件---HDS/HLS Video Downloader.
神器2:m3u8视频下载工具
神器3:神器3其实神器2的胞弟
3.12
前端知识
- Web开发路线图:https://github.com/ccloli/developer-roadmap-zh-CN
- 现代Web开发魔法全书:https://github.com/dexteryy/spellbook-of-modern-webdev
- 成为Web全栈工程师:https://github.com/bmorelli25/Become-A-Full-Stack-Web-Developer
- Awesome列表系列:https://github.com/sindresorhus/awesome
Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行环境.
- VSCode中 ! 在html 文件中快速创建一个html文档
- CSS position定位
- H5 Video
- DOM树操作:DOM manipulation
- ES6 语法
- TypeScript 教程
- XHR/AJAX :
useEffect( () => {
fetch("api/transactions")
.then( (res) => res.json() )
.then( (data) => setTransactions(data) )
}
)
HTTP 请求类型 | 操作 |
---|---|
POST | 添加数据 |
GET | 查询数据 |
PUT | 更新数据 |
DELETE | 删除数据 |
数据库:
PostgreSQL(关系型数据库)
MongoDB
DevOps: 开发 + 运维 Development + Operations
网站:
DNN
WebSocket / WebRTC
Electron:基于Node.js的跨平台桌面应用框架
3.11
莫谈他人高薪,且看闲时谁在拼.
3.9
- Protocol Buffer 与 XML、JSON 的区别
- 首先,Protocol Buffer 序列化之后得到的数据不是可读的字符串,而是二进制流
- 其次,XML 和 JSON 格式的数据信息都包含在了序列化之后的数据中,不需要任何其它信息就能还原序列化之后的数据;但使用 Protocol Buffer 需要事先定义数据的格式(.proto 协议文件),还原一个序列化之后的数据需要使用到这个定义好的数据格式
- 最后,在传输数据量较大的需求场景下,Protocol Buffer 比 XML、JSON 更小(3到10倍)、更快(20到100倍)、使用 & 维护更简单;而且 Protocol Buffer 可以跨平台、跨语音使用
commdan: protoc
sudo apt install protobuf-compiler
3.8
python 日志
self.logname = os.path.join(log_path, '%s.log' % time.strftime('%Y_%m_%d'))
全示例
多个logger时 logger配置文件
logger 层级关系 子向父传递日志 可选关闭
logging
tornado的日志进行每间隔一天进行分割
tornado初步搭建及日志功能的使用
通过时间分割的日志,不带时间的。是当前正在进行的日志。缓存区。时间已到会自动转移到对应时间日志文件下。(盲猜测是重命名,然后生成新的 定义的logger name file)
控制台输出,就是标准输出终端。
3.3
class : bety 转 str ,常用 b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
python 字符处理
2021.二月 ====================================
2.23
Redis特点博文
Redis 常见问题
python使用教程
[开即自启,添加服务](https://www.cnblogs.com/yunqing/p/10605934
.html)
查看服务
2.22
python multitasking
2.8
2.5
正则表达式
2.4
2.3 docker
Docker 镜像加速配置 阿里
docker常用命令
- self
- dockerfile 的 docker build -t centos:7 . 注意:最后的点代表当前文件路径。
- dockerfile 的 FROM 回 pull 成为本地 docker images 下的镜像。方便以后构建
- 系统类
- docker images
- docker ps (运行中的容器)
- docker ps -a (全部docker容器,方便 restart 已经停止的容器)
- docker rmi <镜像 ID>(删除镜像)
- dockers rm <容器 ID>(删除容器)
- 使用类
docker run -it ubuntu --name test_name /bin/bash ( run 创建,后连接使用)
开放端口 -p <hostPort>:<containerPort> ( eg: -p 8088:80 )
docker exec -it 243c32535da7 /bin/bash(不推荐 docker attach ,由于exit 导致容器停止)
docker stop <容器 ID>
docker restart <容器 ID>
拷贝本地文件到容器: docker cp 本地路径 容器长ID:容器路径
- 参数类
-i: 交互式操作。
-t: 终端。
-d: 后台运行
远程连接容器
远程连接Ubuntu容器
docker pull ubuntu
docker run -itd --name ubuntu-dev -p 8888:22 ubuntu
docker exec -it ubuntu-dev bash
apt-get update
apt install -y vim openssh-server openssh-client
vi /etc/ssh/sshd_config (PermitRootLogin yes)
passwd (修改root密码)
service ssh restart
1、容器stop,然后restart 容器,出现ssh连接不上问题
解决方案:去容器中,重新启动ssh服务,上述代码最后一个指令。
2、docker 内部安装mongo db
sudo apt-get install mongodb (安装完成)
启动MongoDB命令:sudo service mongodb start。(安装完成,不代表能用,还要启动对应服务!!!)
关闭MongoDB命令:sudo service mongodb stop。
远程连接CrentOS容器
docker pull centos
docker run -itd --name centos-dev -p 8888:22 centos
docker exec -it centos-dev bash
yum install -y vim openssh-server openssh-client
vi /etc/ssh/sshd_config (PermitRootLogin yes)
passwd (修改root密码)
ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
/usr/sbin/sshd -D &
其他:
查看linux版本 cat /etc/os-release
添加用户1
添加用户2
docker 容器增加端口
教程1
教程2
Docker提交运行时容器成为镜像
2.2
- 鲁棒性:抗干扰能力,同一张图片,(裁剪,模糊,光亮等等操作后,还能能不能很好的识别)即抗鲁棒性。
- 模型检测标准:精度、召回、鲁棒性
2.1
- ubuntu : ext4 日志文件系统
2021.一月 ====================================
番外篇
1.28
- 针对小米logo的yolov5目标检测,降低误检测率及小目标检测系列笔记
1.27
修正:1.19号对路径的操作os.path模块为老式写法。python3.6之后的新模块Pathlib
1.26
- 环境安装
- ubuntu添加自己的环境变量
- conda 相关
| 激活 anaconda 环境 :source activate
| 退出 anaconda 环境 :source deactivate
| 创建 conda 环境 :conda create -n yolov5-env python=3.8
| 激活 conda 环境 :conda activate yolov5-env
| 退出conda 环境 :conda deactivate - 常用命令
| 查看已有conda 环境 :conda info -e
1.22
- ubuntu 查看cpu信息:lscpu
1.19
- python 跨平台路径分隔符 separate os.sep
- python 字符串 截取,去掉不需要的部分。str.strip([chars])、str.rstrip([chars])、str.lstrip([chars])
- python 判断文件扩展名(Filename Extension) os.path.splitext 区别于 str.split()
1.15
- Latex
-
拖拽布局DraggablePageLayout
这简直是骚操作,不符合常规。
1.12
vscode 插件
1.6
- xpath 取值为://*[@id="downul"]/li/input/@value 使用 /@
<input type="checkbox" name="down_url_list_2" >
1.5
- json与dataframe的互相转换 链接
2020.十二月 ====================================
12.30
- 硬件软件国产化
华为昇腾NPU Atlas 910/MindSpore框架 MindSpore
在人类所有的美德中,勇敢是最稀缺的
12.22
- 问题:除了UUID编码,还有什么生成唯一ID方法?
ulid: https://github.com/ulid/spec
shortid: https://github.com/dylang/shortid
12.22
- 评判标准
- 精度(precision):TP/ (TP+FP) 预测狙击次数
- 召回(recall):TP / (TP+FN) 实际真实正类
- 准确率(Accuracy): (TP + TN )/( TP + FP + TN + FN)
12.18
- 感受野 ,没有足够的感受野训练和测试会丢失特征,预测就不准甚至错掉。AtrousConv在不增加参数的情况下,提高卷积的感受野。也可以代替pooling操作增加感受野,捕获多尺度上下文信息
深度学习CV领域最瞩目的成果top46
12.17
- ssh 端口映射 (proxy工作原理)可以在本地链接服务器端口,运行服务器jupyter环境学习
ssh -L8000:localhost:8888 jiarui@192.168.3.228 (本地端口8000 远端端口8888)
教程
12.16
- Tmux 是一个终端复用器(terminal multiplexer)进程同窗口进程分离,常用开发工具 ,同Linux screen 命令
- tee 命令 , 记录终端输出结果,eg:python3 train.py | tee log.txt