https://media.tidechoir.cn/image/avatar.jpg

消失在彩霞里的Blog

Go项目部署+实战(一)

go项目部署+实战(一) 写在前面 花费了一晚上的时间完成配置以及初步编程,并记录了部署和实战过程中的一些技巧和问题。 项目伊始 笔者采用了go + gin + gorm的主流框架 采用go get -u xxx下载包,下载后自动更新在go.mod中。十分类似于maven。 1 2 3 go get -u github.com/gin-gonic/gin go get -u gorm.io/gorm go get -u gorm.io/driver/mysql 出现报错。显然,和pip、apt安装时类似,采用换源方法,配置国内源。 1 go env -w GOPROXY=https://mirrors.aliyun.com/goproxy,direct 1 2 3 4 5 1. 在 golang 安装路径下寻找: 'go1.17.2\src\runtime\internal\sys\zversion.go' 文件 2. 打开 'zversion.go' 文件,在其中追加如下行(你的版本号)并保存 const TheVersion = `go1.23.2` 3. 再次 配置 goland 的 GOROOT 路径,即可正常配置 配置好后,运行

部署技巧——ssl证书自动更新

ssl证书自动部署教程 ssl证书有多种渠道获取,如阿里云、腾讯云等。但费用很贵。 ohttps支持免费泛域名证书。 可支持多种自动部署方式。其中API方式较为灵活。仅需调用api可获取证书中的文本信息。 笔者采用nodejs + axios + crontab方式部署 导包并封装函数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 const CryptoJS = require('crypto-js'); const axios = require('axios'); const fs = require('fs'); // 封装request请求 const request = (url) => { return axios.get(url) .then(response => { console.log(response.data); return response.data; }) .catch(error => { console.error('Error: ', error); throw error; // 抛出错误以便外部捕获 }); } // 写入文件 function writeFile(filePath, data) { fs.

Networkx库绘制绚丽的网络图

networkx库 在科研中,有时需要绘制网络图。python中常用的为networkx库。 下面笔者通过简短的代码予以展示。 首先对数据进行预处理,获得偏相关系数矩阵。 数据预处理 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import networkx as nx from sklearn.covariance import GraphicalLasso import matplotlib.pyplot as plt import pandas as pd def normalize(lst): min_val = min(lst) max_val = max(lst) # 如果最大值和最小值相等,避免除以零 if max_val == min_val: return [0 for _ in lst] return [5 * (x - min_val) / (max_val - min_val) for x in lst] X = pd.

Langchain-chatchat

部署 按照read-me.md进行配置 需要git clone huggingface库到本地/自己服务器 安装llama_index注意细节 1 2 pip install llama_index==0.41.0 # 不要错误地写成pip install llama-index! clone前运行命令 1 2 source /etc/profile.d/clash.sh proxy_on # 开启clash服务 也可在autodl上开启镜像 源码技术栈 webui streamlit 1 2 3 4 5 6 7 dialogue_mode = st.selectbox( "请选择对话模式:", dialogue_modes, index=index, on_change=on_mode_change, key="dialogue_mode", ) asyncio asyncio是python协程库。 所谓「异步 IO」,就是你发起一个 IO 操作,却不用等它结束,你可以继续做其他事情,当它结束时,你会得到通知。 示例 1 2 3 4 5 6 7 8 9 10 11 async def chat(): async def chat_iterator(): .

部署技巧——内网穿透

内网穿透 ngrok快速穿透 优点:简单,新手上手很快。 缺点:依赖别人的服务器,每次生成的url不同。 frp自由配置 frp可快速实现端口代理,可将本地和服务器、服务器之间端口转发。 下载对应的frp版本,windows或linux版。 配置文件 frp的目录如下 -frp -frpc -frps -frpc.ini -frpc.toml -frps.toml s代表服务端,也就是提供端口服务的主机,c代表客户端,也就是需要转发的主机 下面以frpc.ini为例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [common] server_addr = xx.xx.xx.xx server_port = bind_port [ssh] ;配置ssh端口,用于在其他服务器上访问该服务器 type = tcp local_port = xxx ;本机端口 local_ip = 127.0.0.1 remote_port = xxx ;远程端口 [http] ;配置http type = tcp local_port = xxx ;本机端口 local_ip = 127.0.0.1 remote_port = xxx ;远程端口 frps.

爬虫技巧

爬虫技巧 抓包 F12查看网络请求,复制cURL(Bash) 点击爬虫代码生成器,生成多种变成语言爬虫代码 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 headers = { 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.42', } params = { 'tn': 'resultjson_com', 'word': query, 'pn': pageNum } response = requests.get('https://image.baidu.com/search/acjson', params=params, headers=headers).json() info = response['data'] parsed_info = parse_info(info) for url in parsed_info: save_image(url['url']) Bs解析 直接requests.