OpenResty
什么是OpenRestyOpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。可用于实现:
路由控制
高并发入口
动态服务降级
动态负载均衡
WAF应用防火墙
安装OpenResty
二进制安装
123[root@localhost ~]# yum-config-manager --add-repo https://openresty.org/yum/cn/centos/OpenResty.repo[root@localhost ~]# yum install openresty -y[root@localhost ~]# systemctl start openresty
Docker 安装
1docker run -e KEY_ENV --name proxy --rm -p 443:443 -p 80:80 -v ~/openresty/:/etc/nginx/ docker.io/openrest ...
Github使用技巧
快捷键Github快捷键官方文档
S, 快速搜索
T, 搜索当前项目文件
L, 跳转文件行号
B, 查看文件历史改动记录
., 代码库将会在vscode online中打开,方便代码阅读
Ctrl + K, 命令面板
高级搜索
仓库搜索限定符Github上搜索仓库官方说明go in:name star:>=1000 pushed:>2022-06-01 language:gojenkins in:readme
in 限定符范围:
in:name, jquery in:name 匹配名称中带有“jquery”的存储库。
in:description, jquery in:name,description 匹配名称或说明中带有“jquery”的存储库。
in:topics, jquery in:topics 将带“jquery”标签的存储库匹配为主题。
in:readme, jquery in:readme 匹配自述文件中提及“jquery”的存储库。
repo:owner/name, repo:octocat/hello-world 匹配 ...
docker in docker测试docker的proxy功能
docker in docker是什么?顾名思义,docker in docker就是在docker容器中运行docker服务端。这种技术通常用于CI/CD流水线中,因为它可以提供一个干净的环境来运行构建和测试。例如,如果您正在使用Jenkins作为CI/CD工具,您可以使用DinD来运行构建和测试,而无需在Jenkins服务器上安装Docker。这样可以避免与Jenkins服务器上的其他应用程序发生冲突。使用DinD时,需要注意的是,它会增加容器的复杂性,并且可能会导致性能下降。此外,由于容器内部运行的是另一个容器,因此可能会出现一些安全问题。本篇中用DinD来完成对docker proxy功能的验证。
为什么docker要使用代理?Docker使用代理的原因有很多,其中一些原因包括:
访问公司私有化部署的镜像仓库,对网络环境有限制。
对于一些公共仓库,下载速度很慢,通过代理实现加速上传与下载。
在本测试环境中,docker容器所在环境与目标docker 镜像仓库是网络隔离的,同时两个网络之间可以通过一个http proxy来进行通信。
如何配置proxy代理 ...
Hexo + Butterfly + Github Page + Github Action 配置自己的个人网站
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。Butterfly 是 Hexo 的一个流行的主题,它的用户量很大,使其扩展丰富,使用方便。Github Action 是一种持续集成和持续交付 (CI/CD) 平台,可用于自动执行生成、测试和部署管道,而且可以免费使用。Github Page 是免费的静态站点,只需要一个代码库,就可以免费构建自己的网站。
本文将以上四者相结合,构建个人博客网站。部署流水线,让我们只需要关注内容的产出,而无需关心 hexo 的部署与博客的发布。Let’s go.
1. 预准备
github 上创建账号,并创建两个 git repo。
一个 repo 用来保存平时编辑的博客文件
一个用来保存 hexo 生成的静态文件,并为其设置为 github page.
本机安装 docker 与 vscode 软件。
docker 用来运行 hexor 容器,用来本地开发与调试
vscode 用来日常编写博客文本
安装 vscode 插件 docker, m ...
晒一晒Jenkins那些常用插件
作为 CI/CD 的调度中心,Jenkins 具有十八般武艺,目前已有 1700 多个插件,功能强大到似乎有点过分了。本文主要列出平时我们常用的插件。
以下这两个网站是 Jenkins 所有的插件及说明
Jenkins Plugins https://plugins.jenkins.ioJinkins Plugins Wiki https://wiki.jenkins.io
ConfigurationJenkins CASC: configuration-as-code将Jenkins的配置以Code的方式进行保存,方便Jenkins的迁移与重建。该插件对于敏捷管理Jenkins服务非常有用。
ParameterGit Parameter这是一个参数构建扩展,可以在构建的时候选择git的某一个分支来构建服务。
file-parameters这个让Jenkinsfile支持将文件作为参数。
Hidden Parameter参数化构建时,隐藏相关参数。可用于设置默认参数,同时通过API来传递参数。
Extended Choice Parameter支持更多类型的参数,如单选,多 ...
Cue-Lang介绍
Cue,是一种开源语言,用于定义,生成和验证各种数据:配置,API,数据库模式,代码……。它能够将数据的结构、约束、数值作为同一层级成员,从而简化配置文件的生成。Cue教程
Cue格式说明
使用//进行单行注释
对象被称为结构体
对象成员称为结构字段
对于没有特殊字符的字段名,可以省略引号
结构字段后面无需,
在列表中的最后一个元素后放置,
最外层的{}可省略
例子:
1234567891011121314151617181920str: "hello world"num: 42flt: 3.14// Special field name (and a comment)"k8s.io/annotation": "secure-me"// lists can have different element typeslist: [ "a", "b", "c", 1, 2, 3,]obj: { foo: "bar" // ...
Windows-WSL2开发环境,一点不逊色于Mac
一直使用Mac来做开发,但没想到现在Windows也这么好用。通过WSL,拥有了Windows酣畅的操作特性,又有了Linux的兼容性。作为开发环境一点不逊色于Mac,甚至更易使用。下面就操练起来吧。
WSL21. 安装控制面板 -> 程序和功能 -> 启用和关闭windows 功能, 勾选如下功能: - 适用于Linux的Windows子系统 - 虚拟机平台
确定。
2. 升级WSLhttps://docs.microsoft.com/en-us/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package下载 Linux 内核更新包 WSL2 Linux kernel update package for x64 machines,并安装。
设置wsl默认版本为 `2`, PowerShell
1wsl --set-default-version 2
升级已安装的分发,可使用wsl --set-version, PowerShell
1wsl --set-ve ...
SciKit-Learn-机器学习入门(一)
安装SciKit Learn123pip install numpypip install sklearnpip install matplotlib
sklean中自带的数据
iris 鸢尾属植物数据(分类)
12from sklearn import datasetsiris = datasets.load_iris()
Boston房价信息(线性回归)
12from sklearn import datasetsboston = datasets.load_boston()
等等
分类器实例12345678910111213141516from sklearn import datasetsfrom sklearn.neighbors import KNeighborsClassifierfrom sklearn.model_selection import train_test_splitiris = datasets.load_iris() ## 加载数据iris_X = iris.data ## X坐标,叶子长宽等属性iris_Y = iri ...
SciKit-Learn机器学习入门(二)——Pipeline
在我们平常的机器学习得到的数据并不能直接使用,必须先对它进行预处理后才能正常使用。以股票数据为例,当前的股价并不是独立的,它与之前的股价是有关系的,一个可用的方法是对对股价处理转为增长幅度。
12time1, price1time2, price2
转为
12time1, Nantime2, (price2-price1)/price1
SKLear提供了Pipeline工具方便数据处理。
12345678910111213141516171819202122232425262728293031323334353637## 定义数据处理类ColumnExtractor,获取指定列的数据class ColumnExtractor(BaseEstimator, TransformerMixin): def __init__(self, column_name): self.column_name = column_name def fit(self, X, y=None): return self def transform(self, X, ...
个性化聚类推荐Kmeans实战
数据预处理1. 去除不需要的数据目标是:一个用户,后面全是用户的特征
列数据中 Null 数据 > 80% 所有数据 isnull().sum()
列数据中一样的数据 > 80%所有数据 value_counts()
表示同一个意思的字段,只需要保留一个:如用户名、用户账号、支付账号、收货人姓名
根据场景分析不需要的字段:如买家应付货款、应付邮费等
2. 只获取指定的列数据12df_order.ix[:, '订单编号', '买家会员名', '买家实际支付金额', '收货地址', '种类', '数量', '退款金额']# ix是loc与iloc的合集,其中loc是按照列名来取数据,iloc是按照列的index来取数据
或者
1df_order[['订单编号', '买家会员名', '买家实际支付金额', '收货地址', '种类', ...