軟件學(xué)習(xí)日記

2021.六月 ====================================

6.30

文件拷貝
rsync(一):基本命令和用法
rsync 用法教程

6.29

解密m3u8/ts視頻流

6.25

pipreqs(找當(dāng)前項(xiàng)目依賴(lài)的包)

6.11

音頻
波形展示
模擬信號(hào)是連續(xù)的,數(shù)字信號(hào)是離散的。
數(shù)字信號(hào)是對(duì)模擬信號(hào)的采樣。
音頻處理基本知識(shí)
pydub字段解釋
audioop開(kāi)發(fā)者手冊(cè)
Python對(duì)圖片和音頻進(jìn)行格式檢測(cè)、以及格式轉(zhuǎn)換

6.7

連接阿里云網(wǎng)絡(luò)軟件
Secure networking

2021.五月 ====================================

5.18

vim

刪除:d
撤銷(xiāo):u
全選:ggVG
復(fù)制當(dāng)前行:yy
粘貼:p

刪除當(dāng)前行-------dd
復(fù)制多行----------nyy(比如3yy,復(fù)制3行)
刪除多行----------ndd
復(fù)制多遍----------np

5.17

opencv

opencv讀取png
jpg添加通道

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

高斯模糊
調(diào)整視頻顏色

十種圖像模糊算法的總結(jié)與實(shí)現(xiàn)

5.12

協(xié)同堅(jiān)哥處理數(shù)據(jù)收獲:

1、軟刪除 mv 到 bk 備份數(shù)據(jù)(比如:一個(gè)月以后手動(dòng)刪除。)
2、C++ java 等多線(xiàn)程,cpu可以獲知for循環(huán)執(zhí)行多少次。比如64次,八個(gè)線(xiàn)程,每個(gè)線(xiàn)程即循環(huán)八次。

5.11

創(chuàng)建:screen -S ###
查看有多少會(huì)話(huà):screen -ls
恢復(fù):screen -r ###
如果不能恢復(fù):先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

時(shí)間間隔庫(kù)
delta - Δ
datetime.timedelta類(lèi)
相互轉(zhuǎn)換

4.29

代碼中退出os.exit()

代碼 作用
sys.exit() 線(xiàn)程退出,當(dāng)只有一個(gè)進(jìn)程只有一個(gè)線(xiàn)程,完全退出程序
os.exit() 進(jìn)程退出,完全退出程序

4.28

春雨在裝服務(wù)器時(shí),他的操作

操作 解釋 備注
服務(wù)器安裝 CentOs 而不是 Ubuntu ubuntu自動(dòng)更新,是我們不想要的 安裝后 ubuntu 5g 左右,centos 3g 左右,文件多就可能有其他的東西,例如后門(mén)
增大 var 目錄 docker 目錄,默認(rèn)不修改的話(huà),docker在這個(gè)文件夾 服務(wù)器上部署很多docker 適合增大此目錄
swap 交換 當(dāng)內(nèi)存不夠用時(shí),從硬盤(pán)拿點(diǎn)用 一半裝好系統(tǒng)后會(huì)手動(dòng)關(guān)閉,也可以不用管
arm x86 cpu 區(qū)別:指令集不同
功耗等arm占優(yōu)勢(shì),省電等等其他方面
arm 開(kāi)源 ,國(guó)產(chǎn)

4.27

python定時(shí)任務(wù)
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

流形學(xué)習(xí)的基本思想
AE腳本-三維透視多畫(huà)面視頻墻扭曲變形畫(huà)軸效果

4.25

selenium
driver = webdriver.Chrome() 問(wèn)題

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

解決辦法:下載對(duì)應(yīng)chromedriver.exe 同自己瀏覽器同版本
地址:https://npm.taobao.org/mirrors/chromedriver/
并放在腳本當(dāng)前目錄(推薦),或者環(huán)境變量地址 place it in any location on their PATH except for %SYSTEMROOT%\System32 (e.g. do not put in C:\Windows\System32).

4.20

base64原理

4.19

網(wǎng)站
零度解說(shuō)
孟坤工具箱
博客
學(xué) Python 都用來(lái)干嘛的? - 朱衛(wèi)軍的回答 - 知乎
https://www.zhihu.com/question/34098079/answer/881335591

4.16

寫(xiě)文晶自定義logo檢索的經(jīng)驗(yàn):
1、能用絕對(duì)路徑,就不要弄相對(duì)路徑,可能存在莫名的bug。相對(duì)路徑也會(huì)自動(dòng)拼接成絕對(duì)路徑,畢竟要知道文件在什么地方。程序運(yùn)行的環(huán)境,需要讀環(huán)境變量里的地址,也可以同等理解。尋址讀值。
2、windows 下opencv讀取圖片讀不到,存在問(wèn)題,在ubuntu 上不會(huì)。
3、tmux 內(nèi)的conda環(huán)境,存在和不適用tmux 窗口 環(huán)境問(wèn)題。莫名bug,讀取torch 問(wèn)題
4、工程操作(見(jiàn)圖)調(diào)試

4.15

工具網(wǎng)站

個(gè)人信息生成
wikihow
臨時(shí)郵箱

4.14

windows的沙箱就是 Vmware 虛擬機(jī)
Linux 的沙箱就是 docker 虛擬環(huán)境
python 的沙箱就是 conda 環(huán)境
可見(jiàn)沙箱機(jī)制何等重要,我現(xiàn)在想裝solidwork 但是要?jiǎng)幼?cè)表,這我太害怕了,上次動(dòng)注冊(cè)表電腦被迫重裝了,現(xiàn)在又動(dòng)?不存在的,我有沙箱,虛擬一個(gè)沒(méi)問(wèn)題的話(huà),再在本機(jī)裝。

4.13

爬蟲(chóng)

在線(xiàn)api

代理池

Python爬蟲(chóng)添加代理IP池
github

UserAgent

解決瀏覽器
from fake_useragent import UserAgent

工程
解析返回message 中文編碼問(wèn)題
print(str(per_day_danmu_byte, encoding = "utf-8"))

4.12

kafka

基本b站視頻入門(mén),常見(jiàn)名詞
名詞解釋文檔
Zookeeper 與 broker
3分鐘演示Kafka的消息發(fā)送:異步,批量,分區(qū),主從備份
運(yùn)維
Offset Explorer 2.0 報(bào)文可視化工具
Offset Explorer 2.0 使用
Kafka管理工具Kafka Manager

group = "test_jiarui8"
auto_reset_offset = "earliest" 
# 常用 latest、earliest。根據(jù)業(yè)務(wù),是否需要?dú)v史數(shù)據(jù)。earliest:最早的第一條開(kāi)始,latest:最近的開(kāi)始。
#(如果一個(gè)group剛剛建立,并且采用 latest 消費(fèi)策略,從最近的開(kāi)始。假設(shè)topic 第一條數(shù)據(jù)為 1月開(kāi)始生產(chǎn),如今五月,那這個(gè)group,拿到的是最近5月新生產(chǎn)的消息嗎,1-4月左右的都忽略?這樣理解嗎? 堅(jiān)哥回復(fù):理解正確)
#以上均針對(duì)group為存在的場(chǎng)景,如果group消費(fèi)者已存在,均從記錄offset處開(kāi)始消費(fèi)。

enable_auto_commit=False
#自動(dòng)提交最好設(shè)為False,采用手動(dòng)提交commit。所有環(huán)節(jié)可控。
#自動(dòng)提交理解為:poll后提交上一次的消費(fèi)offset,或者 指定時(shí)間后提交offset。

4.7

這個(gè)windows應(yīng)用https://u.tools/,比較好用

4.6

B站用戶(hù)

2021.三月 ====================================

3.31

python 函數(shù)傳參(受 3.30 函數(shù)裝飾器啟發(fā))

decorated(*args, **kwargs)

python 進(jìn)階

標(biāo)志 解釋 存儲(chǔ)類(lèi)型 解釋 備注
*args 位置參數(shù) tuple 元組 接受傳未知的位置參數(shù) 類(lèi)型為 print(args)的類(lèi)型
**kwargs keyword 關(guān)鍵詞參數(shù) dict 字典 eg:a=3 接受傳未知個(gè)數(shù)的關(guān)鍵詞參數(shù)

3.30

Python 函數(shù)裝飾器

筆記
標(biāo)題 學(xué)習(xí)筆記
一切皆對(duì)象 hi 變量 ; hi() 帶括號(hào)為hi函數(shù)調(diào)用
在函數(shù)中定義函數(shù) 無(wú)論何時(shí)你調(diào)用hi(), greet()和welcome()將會(huì)同時(shí)被調(diào)用。
然后greet()和welcome()函數(shù)在hi()函數(shù)之外是不能訪(fǎng)問(wèn)的
從函數(shù)中返回函數(shù) 其實(shí)并不需要在一個(gè)函數(shù)里去執(zhí)行另一個(gè)函數(shù),我們也可以將其作為輸出返回出來(lái)
a現(xiàn)在指向到hi()函數(shù)中的greet()函數(shù)
在語(yǔ)句中我們返回 greet 和 welcome,而不是 greet() 和 welcome()
因?yàn)楫?dāng)你把一對(duì)小括號(hào)放在后面,這個(gè)函數(shù)就會(huì)執(zhí)行;
然而如果你不放括號(hào)在它后面,那它可以被到處傳遞,并且可以賦值給別的變量而不去執(zhí)行它
我們還可以打印出 hi()(),這會(huì)輸出 now you are in the greet() function。
將函數(shù)作為參數(shù)傳給另一個(gè)函數(shù) doSomethingBeforeHi, 感覺(jué)裝飾器就是hook 鉤子函數(shù)
藍(lán)本規(guī)范 轉(zhuǎn)到3.31號(hào) ,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 怎么傳參:王士昂解釋為函數(shù)先在args中尋找,發(fā)現(xiàn)沒(méi)有,會(huì)去更上一層,全局變量中尋找,并取值

3.29

詞云
中文分詞 jieba 英文分詞 nltk
python
安裝
echarts版本
echarts 詞云

3.26

開(kāi)發(fā)環(huán)境:開(kāi)發(fā)

測(cè)試環(huán)境:測(cè)試用
生產(chǎn)環(huán)境:上線(xiàn)

3.24

python 一個(gè)list根據(jù)另一個(gè)list排序
Python3 sorted() 函數(shù)

3.23

echarts Y軸不同刻度

3.22

相關(guān)協(xié)議基礎(chǔ)

http協(xié)議:傳送門(mén)
json序列格式:傳送門(mén)
xml序列格式:傳送門(mén)
protobuf序列格式:傳送門(mén)

3.18

Robo3T 連接其他mongodb

Python Mongodb 插入當(dāng)前時(shí)間

# 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})

結(jié)果

# 數(shù)據(jù)庫(kù)中
{
    "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其實(shí)神器2的胞弟

3.12

前端知識(shí)

2021 Web開(kāi)發(fā)完全指南

  1. Web開(kāi)發(fā)路線(xiàn)圖:https://github.com/ccloli/developer-roadmap-zh-CN
  2. 現(xiàn)代Web開(kāi)發(fā)魔法全書(shū):https://github.com/dexteryy/spellbook-of-modern-webdev
  3. 成為Web全棧工程師:https://github.com/bmorelli25/Become-A-Full-Stack-Web-Developer
  4. Awesome列表系列:https://github.com/sindresorhus/awesome

Node.js? 是一個(gè)基于 Chrome V8 引擎 的 JavaScript 運(yùn)行環(huán)境.

useEffect( () => {
    fetch("api/transactions")
      .then( (res) => res.json() )
      .then( (data) => setTransactions(data) )
  }
)

FlexBox / 彈性盒布局
REST API

HTTP 請(qǐng)求類(lèi)型 操作
POST 添加數(shù)據(jù)
GET 查詢(xún)數(shù)據(jù)
PUT 更新數(shù)據(jù)
DELETE 刪除數(shù)據(jù)

GraphQL 官網(wǎng)
GraphQL 演示

數(shù)據(jù)庫(kù):
PostgreSQL(關(guān)系型數(shù)據(jù)庫(kù))
MongoDB

DevOps: 開(kāi)發(fā) + 運(yùn)維 Development + Operations

擴(kuò)展:
canvas
WebGL
游戲

網(wǎng)站:
DNN
WebSocket / WebRTC
Electron:基于Node.js的跨平臺(tái)桌面應(yīng)用框架

跨域segment博文
跨域官方解釋
跨域示例

3.11

VUEX

莫談他人高薪,且看閑時(shí)誰(shuí)在拼.

3.9

Protocol Buffer

  1. Protocol Buffer 與 XML、JSON 的區(qū)別
  • 首先,Protocol Buffer 序列化之后得到的數(shù)據(jù)不是可讀的字符串,而是二進(jìn)制流
  • 其次,XML 和 JSON 格式的數(shù)據(jù)信息都包含在了序列化之后的數(shù)據(jù)中,不需要任何其它信息就能還原序列化之后的數(shù)據(jù);但使用 Protocol Buffer 需要事先定義數(shù)據(jù)的格式(.proto 協(xié)議文件),還原一個(gè)序列化之后的數(shù)據(jù)需要使用到這個(gè)定義好的數(shù)據(jù)格式
  • 最后,在傳輸數(shù)據(jù)量較大的需求場(chǎng)景下,Protocol Buffer 比 XML、JSON 更?。?到10倍)、更快(20到100倍)、使用 & 維護(hù)更簡(jiǎn)單;而且 Protocol Buffer 可以跨平臺(tái)、跨語(yǔ)音使用

commdan: protoc
sudo apt install protobuf-compiler

3.8

python 日志

self.logname = os.path.join(log_path, '%s.log' % time.strftime('%Y_%m_%d'))

全示例
多個(gè)logger時(shí) logger配置文件
logger 層級(jí)關(guān)系 子向父?jìng)鬟f日志 可選關(guān)閉
logging
tornado的日志進(jìn)行每間隔一天進(jìn)行分割
tornado初步搭建及日志功能的使用
通過(guò)時(shí)間分割的日志,不帶時(shí)間的。是當(dāng)前正在進(jìn)行的日志。緩存區(qū)。時(shí)間已到會(huì)自動(dòng)轉(zhuǎn)移到對(duì)應(yīng)時(shí)間日志文件下。(盲猜測(cè)是重命名,然后生成新的 定義的logger name file)

控制臺(tái)輸出,就是標(biāo)準(zhǔn)輸出終端。

3.3

class : bety 轉(zhuǎn) str ,常用 b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
python 字符處理

2021.二月 ====================================

2.23

Redis特點(diǎn)博文
Redis 常見(jiàn)問(wèn)題
python使用教程
[開(kāi)即自啟,添加服務(wù)](https://www.cnblogs.com/yunqing/p/10605934
.html)
查看服務(wù)

2.22

python multitasking

2.8

5種創(chuàng)建Dataframe方法

2.5

正則表達(dá)式

教程
可視化網(wǎng)站
在線(xiàn)

2.4

2.3 docker

  • Docker 鏡像加速配置 阿里

  • docker常用命令

  1. self
  • dockerfile 的 docker build -t centos:7 . 注意:最后的點(diǎn)代表當(dāng)前文件路徑。
  • dockerfile 的 FROM 回 pull 成為本地 docker images 下的鏡像。方便以后構(gòu)建
  1. 系統(tǒng)類(lèi)
  • docker images
  • docker ps (運(yùn)行中的容器)
  • docker ps -a (全部docker容器,方便 restart 已經(jīng)停止的容器)
  • docker rmi <鏡像 ID>(刪除鏡像)
  • dockers rm <容器 ID>(刪除容器)
  1. 使用類(lèi)
  • docker run -it ubuntu --name test_name /bin/bash ( run 創(chuàng)建,后連接使用)

  • 開(kāi)放端口 -p <hostPort>:<containerPort> ( eg: -p 8088:80 )

  • docker exec -it 243c32535da7 /bin/bash(不推薦 docker attach ,由于exit 導(dǎo)致容器停止)

  • docker stop <容器 ID>

  • docker restart <容器 ID>

  • 拷貝本地文件到容器: docker cp 本地路徑 容器長(zhǎng)ID:容器路徑

  1. 參數(shù)類(lèi)
    -i: 交互式操作。
    -t: 終端。
    -d: 后臺(tái)運(yùn)行
遠(yuǎn)程連接容器

遠(yuǎn)程連接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 容器,出現(xiàn)ssh連接不上問(wèn)題
解決方案:去容器中,重新啟動(dòng)ssh服務(wù),上述代碼最后一個(gè)指令。
2、docker 內(nèi)部安裝mongo db
sudo apt-get install mongodb (安裝完成)
啟動(dòng)MongoDB命令:sudo service mongodb start。(安裝完成,不代表能用,還要啟動(dòng)對(duì)應(yīng)服務(wù)!!!)
關(guān)閉MongoDB命令:sudo service mongodb stop。

遠(yuǎn)程連接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 &amp;

其他:
查看linux版本 cat /etc/os-release
添加用戶(hù)1
添加用戶(hù)2

docker 容器增加端口
教程1
教程2
Docker提交運(yùn)行時(shí)容器成為鏡像

2.2

  • 魯棒性:抗干擾能力,同一張圖片,(裁剪,模糊,光亮等等操作后,還能能不能很好的識(shí)別)即抗魯棒性。
  • 模型檢測(cè)標(biāo)準(zhǔn):精度、召回、魯棒性

2.1

  • ubuntu : ext4 日志文件系統(tǒng)

2021.一月 ====================================

番外篇

黑貓投訴

1.28

1.27

修正:1.19號(hào)對(duì)路徑的操作os.path模塊為老式寫(xiě)法。python3.6之后的新模塊Pathlib

1.26

  • 環(huán)境安裝
  • ubuntu添加自己的環(huán)境變量
  • conda 相關(guān)
    | 激活 anaconda 環(huán)境 :source activate
    | 退出 anaconda 環(huán)境 :source deactivate
    | 創(chuàng)建 conda 環(huán)境 :conda create -n yolov5-env python=3.8
    | 激活 conda 環(huán)境 :conda activate yolov5-env
    | 退出conda 環(huán)境 :conda deactivate
  • 常用命令
    | 查看已有conda 環(huán)境 :conda info -e

1.22

  • ubuntu 查看cpu信息:lscpu

1.19

1.15

1.12

vscode 插件

1.6

  • xpath 取值為://*[@id="downul"]/li/input/@value 使用 /@
    <input type="checkbox" name="down_url_list_2" >

1.5

  • json與dataframe的互相轉(zhuǎn)換 鏈接

2020.十二月 ====================================

12.30

  • 硬件軟件國(guó)產(chǎn)化
    華為昇騰NPU Atlas 910/MindSpore框架 MindSpore

在人類(lèi)所有的美德中,勇敢是最稀缺的

12.22

12.22

  • 評(píng)判標(biāo)準(zhǔn)
  • 精度(precision):TP/ (TP+FP) 預(yù)測(cè)狙擊次數(shù)
  • 召回(recall):TP / (TP+FN) 實(shí)際真實(shí)正類(lèi)
  • 準(zhǔn)確率(Accuracy): (TP + TN )/( TP + FP + TN + FN)

12.18

  • 感受野 ,沒(méi)有足夠的感受野訓(xùn)練和測(cè)試會(huì)丟失特征,預(yù)測(cè)就不準(zhǔn)甚至錯(cuò)掉。AtrousConv在不增加參數(shù)的情況下,提高卷積的感受野。也可以代替pooling操作增加感受野,捕獲多尺度上下文信息
    深度學(xué)習(xí)CV領(lǐng)域最矚目的成果top46

12.17

  • ssh 端口映射 (proxy工作原理)可以在本地鏈接服務(wù)器端口,運(yùn)行服務(wù)器jupyter環(huán)境學(xué)習(xí)
    ssh -L8000:localhost:8888 jiarui@192.168.3.228 (本地端口8000 遠(yuǎn)端端口8888)
    教程

12.16

  • Tmux 是一個(gè)終端復(fù)用器(terminal multiplexer)進(jìn)程同窗口進(jìn)程分離,常用開(kāi)發(fā)工具 ,同Linux screen 命令
  • tee 命令 , 記錄終端輸出結(jié)果,eg:python3 train.py | tee log.txt
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容