我的系统性知识总结(gitbook列表)
系统性知识的必要性gitbook 导航
gopic配置七牛云图床
创建七牛云存储(已经存在可以跳过)
注册登录七牛云https://s.qiniu.com/UBzmey
点击秘钥管理,获取ak和sk
创建存储桶,注意选择公开访问
创建成功后可以选择绑定自定义域名,也可以使用测试域名(测试域名只能用1个月)
这里我们直接绑定域名
注意:
加速域名:指用户提供的需要使用CDN加速服务的域名,即终端用户访问的域名。
源站域名:指服务器IP地址对应的域名,即CDN回源时访问的域名
两种至少配置一种,其中cdn加速是收费的
加速域名设置详见:https://developer.qiniu.com/kodo/8555/set-the-custom-cdn-to-accelerate-the-domain-name
源站域名设置详见https://developer.qiniu.com/kodo/8556/set-the-custom-source-domain-name
我这里只配置了cdn加速域名(配置了两个)
配置完成后使用域名获取对象存储中的资源成功即配置成功
配置gopic
安装完gopic后,运行gopic con ...
longtaoLM的使用
简介longtaoLM是一个精简的中文语言模型
体验在下面的input中输入文字,等待一段时间将会在右侧给出生成的结果;
注意,如果提问,必须带上问号?
CodeGeeXr多语言代码生成模型
背景去年copilot微软发布的基于AI的辅助工具因为利用Github开源代码,造成了不小的冲击,不过copilot的功能还是让人印象深刻
代码补全:很多ide都支持,单copilot 增强了 IDE 的补全功能。
注释即代码:通过编写注释然后一路根据 copilot 的提示编写出完整的程序
copilot虽好,但是随着收费,热度也在下降,而最近清华大学和华为推出的开源工具CodeGeeX,不仅仅兼容copilot功能,还支持了代码翻译等功能,根据宣传,主要有一下几个特点:
高精度代码生成:支持生成Python、C++、Java、JavaScript和Go等多种主流编程语言的代码,在HumanEval-X代码生成任务上取得47%~60%求解率,较其他开源基线模型有更佳的平均性能。
跨语言代码翻译:支持代码片段在不同编程语言间进行自动翻译转换,翻译结果正确率高,在HumanEval-X代码翻译任务上超越了其它基线模型。
自动编程插件:CodeGeeX插件现已上架VSCode插件市场(完全免费),用户可以通过其强大的少样本生成能力,自定义代码生成风格和能力,更好辅助代码编写
相关地址dem ...
golang的切片slice
简介切片(slice)是go的一种基本数据结构,是从动态数组的概念而来的,但是切片本身并不是动态数组或者数组指针,而是一种特殊的数组引用。
由于go的数组是值类型(C的数组在赋值和传参隐方式是用来数组的指针),使用=赋值或者传参都会复制整个数组,数组的复制会消耗大量内存,这样大家就会想到用指针传递,但是指针传递时会有一个很严重的问题,就是指针的指向改变了,其它使用这个指针的指向也会改变,这样非常不安全,因此,go使用切片这种引用的方式来传递数组,既保证了不会创建多余的数组(节省内存),又保证了安全性(相对于指针传递)
其实这个设计道哥觉得不太好,使用切片分配的底层数组可能会分配在堆上,会给GC造成压力,影响性能(分配慢、回收慢,开销大)
基础构造
golang非并发安全及解决办法
不安全的并发种类现象golang中map不是并发安全的,当在两个groutine中同时对一个map读写时(都是读也会触发哦)会出现panic
有这三种方式:
1.使用channel 2.使用sync.map 3.使用map但必须进行加锁
golang中slice也不是并发安全的,当在两个groutine中同时对一个map读写时(都是读并不影响)虽然不会panic,但可能会导致数据覆盖或读取错误等
grub介绍及使用
多重操作系统引导管理器什么是多重引导多重引导指一台计算机上安装多个操作系统,同时可以选择启动哪一个,例如常见的双系统也被叫做双引导
简介grub是GNU项目的启动引导程序,可以用于选择操作系统分区中的不同内核也可以向内核传递启动参数
使用
修改/etc/default/grub中的参数
1.当为legacyBIOS时
12grub2-mkconfig -o /boot/grub2/grub.cfg1
2.当为UEFIBIOS时
1grub2-mkconfig -o /boot/efi/EFI/操作系统名称/grub.cfg
重启机器
ubuntu使用指北
[toc]
问题解决
方便使用ubuntu的sudo不用每次都输入密码解决办法方法:修改/etc/sudoers文件中的%sudo ALL=(ALL:ALL) ALL 修改为 %sudo ALL=(ALL:ALL) NOPASSWD:ALL原因:/etc/sudoers为sudo配置文件,当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限,确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认,若密码输入成功,则开始执行sudo后续的命令
py2 py3 设置 pip下载https://bootstrap.pypa.io/pip/2.7/get-pip.py
sudo python2 get-pip.py安装 就可使用pip2了
Linux 通用linux如何制作U盘系统镜像方法挺多的,这里用dd命令实现
获取U盘路径1sudo fdisk -l #diskmode 是 USB的那个就是
卸载U盘1sudo umount /dev/sda* #我这里的U盘路径是/dev/sda
格式化U盘1sudo mkfs ...
collectd后台监控程序
[toc]
简介collectd 是一个后台监控程序,用来采集其所运行系统上的系统信息,并提供各种存储方式来存储为不同值的格式,例如 RRD 文件形式、文本格式、MongoDB 等等
连接:官网文档、下载地址、源码地址
优点
C语言编写,性能好,跨平台能力强
插件丰富,方便扩充
缺点
监控简单
不能直接生成图形
使用配置修改sudo vim /opt/collectd/etc/collectd.conf选择自己需要的插件
启动systemctl start collectd 启动服务
查看数据若开启了rrdtool插件就可在/var/lib/collectd/rrd/目录下看到相应的统计数据
日志存储在/var/log/syslog
主要插件virtvcpu12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455static int get_vcpu_stats(virDomainPtr domain, unsigned short nr ...
prometheus的使用
普罗米修斯(Prometheus)是一个SoundCloud公司开源的基于GO的监控系统,作者 Matt T.Proud 在2012年加入SoundCloud开发,2015年正式发布。
prometheus架构如下
其中
Prometheus Server用数据的采集和存储,PromQL查询,报警配置
Retrieval
TSDB
HTTP server
Push gateway用于批量,短期的监控数据的汇报总节点。
Exporters各种汇报数据的exporter,例如汇报机器数据的node_exporter,汇报MondogDB
Alertmanager用于高级通知管理
采集数据若要采集目标的监控数据(主机或服务),需要在目标上安装采集组件(Exporter),Exporter能采集目标监控数据,然后传输给Prometheus,Exporter会暴露一个http接口,Prometheus通过Pull周期性拉去数据,Prometheus 也提供push传输数据,可以将数据push到Push gateway, Prometheus 再通过Pull从Push Gateway拿数据 ...