git常见问题
git attributes文件gitattributes是一个文本文件
格式如下
1匹配的文件如(*.py) 属性1(如text) 属性2(如eol=lf)
属性有4种状态,以text为例
1234* text=auto #设置值 c*.sh text #设置text*.jpg -text 不设置*.py 未声明
常见属性说明
txt:行尾规范化,值为auto时,进入git库行尾自动转为LF,若git库中已经CRLF则不转换
eol: 值为CRLF时进入工作目录为CRLF,值为LF时进入工作目录为LF
git 操作克隆指定分支1git clone -b feature-vnuma ssh://git@dev.zstack.io:9022/mingmin.wen/zstack.git
查看分支1234git branch #查看本地分支git branch -a #查看所有分支,包括本地和远程git branch -r #查看远程分支git branch -vv #查看上有
同步远程分支12gi ...
vscode代码高亮设置
打开File>Preferences->settings
找到workbench.colorCustomizations
修改setting.json
123456{ "editor.renderLineHighlight": "all", "workbench.colorCustomizations":{ "editor.selectionHighlightBackground": "#9805ec", "editor.lineHighlightBorder": "#ff0000",}
自旋锁与忙等待
概述Busy Spin忙碌的旋转A technique which is used in a way that it loop is running until other thread have to complete his work.一种技术,其使用方式是循环运行,直到其他线程必须完成他的工作。Spin Wait旋转等待A spin wait that you have to wait until condition for thread is true.一种旋转等待,您必须等待,直到线程的条件为真。Spin Loop自旋回路Spin loop is also similar to both of above busy spin and wait spin. It means that threads have to wait for other thread for completing his work.自旋环也类似于上述两种繁忙的自旋和等待自旋。这意味着线程必须等待其他线程完成他的工作。
暴论我们常常听到自旋锁、忙等待、Spin Wait、Spin Loop 、Busy W ...
golang的bufio包
原理
bufio通过缓冲提高效率
把文件读取进缓冲(内存)避免每次读取触发系统io
1234567participant 程序 as Aparticipant 缓冲区buf as Bparticipant 文件 as CB--A:写入内容小于bufB--A:C--B:buf没空间,写入文件,清空bufC--A:写入内容大于buf
把文件写入缓冲,多次写入后,最后一次性写入文件·
12345程序--缓冲区buf:写入内容小于buf程序--缓冲区buf:缓冲区buf--文件:buf没空间,写入文件,清空buf程序--文件:写入内容大于buf
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 ...
如何给HEXO博客文章进行加密
3ecf1eeb34e97740ad8e82ab56d0b3049f46c88f4d637992895f9bcf6709f41affe7ea6b49f8e7aab122975b82622e06b0c16b052ac253d8c8014364ab54aee2e86b8c6d572c5572849ce25b137f20b9a07b5d8d9980d095b6572edb491095cef4477ec51ff50f31858e60111736bf9e14fefced5f5506a926eef884cbb469ffd903a950d338d399b7cb124fbbbd80c25f1ae415013e20627f39cddd2e37d5541645868f29357442f8139d20281ccf66b469d46687768c3f827688b939c8610f5d3fcb30c36cbaa5a32233651a0b01e5e6e19f879a69687ba60f437c52d6189068b74f263c7aed27f5a787ee58e5eafc9a14ef6b572ab0e54 ...
go的内置包
库与包archivetar包:负责打包、解包,注意tar不负责压缩和解压打包实现原理
先创建一个文件x.tar,然后向x.tar写入tar头部信息。打开要被tar的文件,向x.tar写入头部信息,然后向x.tar写入文件信息。重复第二步直到所有文件都被写入到x.tar中,关闭x.tar,整个过程就这样完成了
解包实现原理
先打开tar文件,然后从这个tar头部中循环读取存储在这个归档文件内的文件头信息,从这个文件头里读取文件名,以这个文件名创建文件,然后向这个文件里写入数据
zip包:打包、解包,并进行压缩压缩实现原理
工具类:bufio、bytes、string、path、strconv、io/ioutils等,没有领域知识,比较简单
系统包:os、net、sync、fmt
linux 说明linux文件头信息(标志)使用file命令可以查看文件类型
123[root@localhost ~]# file test ./test/1test: directory./test/1: ASCII text
机器学习算法
线性代数
概率论
贝叶斯概率公式
P(A|B)=$\frac{P(A)*P(B|A)}{P(B)}$
也就是
P(A$\cap$B) = P(A)*P(B|A)