<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ChamPly]]></title><description><![CDATA[编程改变世界]]></description><link>https://blog.youkuaiyun.com/ChamPly</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ChamPly]]></copyright><item><title><![CDATA[MOSN 源码阅读 - 运行Plugin]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/104791906</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/104791906</guid><author>ChamPly</author><pubDate>Wed, 11 Mar 2020 10:59:30 +0800</pubDate><description><![CDATA[通过阅读 MOSN 源码解析 - Plugin 机制，知道了 MOSN 的插件机制，具体如何运行起来 examples/codes/plugin/pluginfilter 呢？

本文基于 commit id: 50c777ff，把示例插件加入到 MOSN 中。

原理
阅读文档可以知道主要是 MOSN 内部加载的 client 去调用 server，其中 client 是通过
源码:
func ...]]></description><category></category></item><item><title><![CDATA[istio 安装遇到的问题]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/103076175</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/103076175</guid><author>ChamPly</author><pubDate>Thu, 14 Nov 2019 22:18:41 +0800</pubDate><description><![CDATA[istio 安装遇到的问题
问题描述
使用helm安装的istio-1.4.0(beta5)，重新安装的时候使用helm install install/kubernetes/helm/istio --name istio --namespace istio-system,，会出现如下错误：
Error: release istio failed: Internal error occurred:...]]></description><category></category></item><item><title><![CDATA[Go1.13 errors包用法]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/100552448</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/100552448</guid><author>ChamPly</author><pubDate>Thu, 05 Sep 2019 10:09:08 +0800</pubDate><description><![CDATA[Go1.13 errors包用法
go 1.13 加入了 errors 包,主要有:

As
Is
New
Unwrap

定义
As(err error, target interface{}) bool

在err的链中找到与目标匹配的第一个错误，如果有则返回true，否则返回false

Is(err error, target error) bool

判断两个error是否相等

New...]]></description><category></category></item><item><title><![CDATA[kubernetes cni 网络插件调试]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/97641999</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/97641999</guid><author>ChamPly</author><pubDate>Mon, 29 Jul 2019 14:45:32 +0800</pubDate><description><![CDATA[kubernetes cni 网络插件调试
最近搭建k8s集群的时候使用的网络插件是 bridge + host-local
关于cni插件
安装kubelet的时候会有一个kubernetes-cni-version-0.x86_64.rpm的依赖文件，安装了之后会在/opt/cni/bin下面会有各种网络插件
# rpm -qpl kubernetes-cni-0.7.5-0.x86_64.r...]]></description><category></category></item><item><title><![CDATA[cloudboot非一键安装(1.5.1)]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/90268553</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/90268553</guid><author>ChamPly</author><pubDate>Thu, 16 May 2019 17:45:14 +0800</pubDate><description><![CDATA[cloudboot 安装手册(非一键安装)
说明: 里面使用的系统镜像来自cloudboot-1.5.1-1.x86_64.rpm
bin文件来自源码编译，其中cloudboot-server修改了更新数据库代码，数据库只需要导入sql就行
服务安装


dhcp
安装
yum install dhcp -y

配置
[root@localhost ~]# cat /etc/dhcp/dhcpd....]]></description><category></category></item><item><title><![CDATA[AT指令]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/88236502</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/88236502</guid><author>ChamPly</author><pubDate>Wed, 06 Mar 2019 15:02:26 +0800</pubDate><description><![CDATA[AT 指令介绍
基本命令
基本用法

测试命令(Test Command)在 AT 指令后面加上“=?”即构成测试命令。例如“AT+CSCS=?”会列举出所有支持的字符集。
读取命令(Read Command)在 AT 指令后面加上“?”即构成读取命令。例如“AT+CSCS?”会列举出当前设置。
执行命令（Execute Command）一般而言在 AT 指令后加上“=”及命令参数即可。有些命令例...]]></description><category></category></item><item><title><![CDATA[etcd v3使用方法]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/85647203</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/85647203</guid><author>ChamPly</author><pubDate>Wed, 02 Jan 2019 22:59:04 +0800</pubDate><description><![CDATA[etcd
使用etcdv3
export ETCDCTL_API=3

设置、更新key
# champly @ ChamPlydeMBP in ~/soft/etcd [22:40:55]
$ ./etcdctl put /key/1 1
OK

# champly @ ChamPlydeMBP in ~/soft/etcd [22:41:35]
$ ./etcdctl put /key/1 2...]]></description><category></category></item><item><title><![CDATA[mysql配置遇到的坑]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/84729999</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/84729999</guid><author>ChamPly</author><pubDate>Mon, 03 Dec 2018 00:38:31 +0800</pubDate><description><![CDATA[mysql配置遇到的坑
版本


mysql 8.0.13


启动
docker run --name mysql -p 3306:3306 -v /Users/champly/go/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

问题一
ERROR 2059 (HY000): Authentication plugin '...]]></description><category></category></item><item><title><![CDATA[elasticsearch 查询语句]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/84108387</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/84108387</guid><author>ChamPly</author><pubDate>Thu, 15 Nov 2018 17:51:50 +0800</pubDate><description><![CDATA[#elasticsearch 查询语句

包含分页、单条件查询、多条件查询、高亮、排序、精准匹配

{
    &amp;quot;query&amp;quot;: {
        &amp;quot;bool&amp;quot;: {
            &amp;quot;must&amp;quot;: [
                {
                    &amp;quot;query_string&amp;quot;: {
                     ]]></description><category></category></item><item><title><![CDATA[vim 进阶用法]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/83864271</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/83864271</guid><author>ChamPly</author><pubDate>Thu, 08 Nov 2018 17:01:42 +0800</pubDate><description><![CDATA[vim 进阶用法
模式转换


普通模式 -&amp;amp;gt; 插入模式: i
插入模式 -&amp;amp;gt; 普通模式: esc


移动光标(上下左右)


在普通模式下: 上:k 下:j 左:h 右:l
本行头: 0 本行头:^ 本行尾巴:$
迅速移动(跳过空格):ctrl + 箭头
迅速移动(跳过符号):shift + 箭头
移至顶部:gg
移至底部:G
跳行:   :# (#为自然数)  跳行: #G(#为...]]></description><category></category></item><item><title><![CDATA[CentOS7(mini) 安装 Kubernetes 集群（kubeadm方式）]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/78578588</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/78578588</guid><author>ChamPly</author><pubDate>Mon, 20 Nov 2017 00:47:30 +0800</pubDate><description><![CDATA[CentOS7(mini) 安装 Kubernetes 集群（kubeadm方式）安装CentOS]]></description><category></category></item><item><title><![CDATA[markdown学习笔记]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/77624446</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/77624446</guid><author>ChamPly</author><pubDate>Sun, 27 Aug 2017 23:09:14 +0800</pubDate><description><![CDATA[markdown 学习笔记]]></description><category></category></item><item><title><![CDATA[Go1.9 安全map用法]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/77622328</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/77622328</guid><author>ChamPly</author><pubDate>Sun, 27 Aug 2017 19:15:13 +0800</pubDate><description><![CDATA[Go1.9 安全map使用sync.map就是1.9版本带的线程安全map，主要有:
Store
LoadOrStore
Load
Delete
Range
这几种用法Store(key, value interface{})
  说明： 存储一个设置的键值*。
LoadOrStore(key, value interface{}) (actual interface{}, loaded bool)]]></description><category></category></item><item><title><![CDATA[Git学习心得]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/77435521</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/77435521</guid><author>ChamPly</author><pubDate>Sun, 20 Aug 2017 23:01:51 +0800</pubDate><description><![CDATA[本文参考：https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
安装好git配置全局的环境：
git config --global user.name &quot;Your Name&quot;
git config --global user.email &quot;email@example.com&quot;
]]></description><category></category></item><item><title><![CDATA[Golang的Interface是个什么鬼]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/53158309</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/53158309</guid><author>ChamPly</author><pubDate>Mon, 14 Nov 2016 14:05:46 +0800</pubDate><description><![CDATA[Golang的Interface是个什么鬼


问题概述
Golang的interface，和别的语言是不同的。它不需要显式的implements，只要某个struct实现了interface里的所有函数，编译器会自动认为它实现了这个interface。第一次看到这种设计的时候，我的第一反应是：What the fuck?这种奇葩的设计方式，和主流OO语言显式implement或继承的区别]]></description><category></category></item><item><title><![CDATA[C语言调用Lua脚本]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/51811801</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/51811801</guid><author>ChamPly</author><pubDate>Sat, 02 Jul 2016 17:31:24 +0800</pubDate><description><![CDATA[最近由于公司技术需要，开始研究lua，刚开始看文档知道lua是一个脚本，用于拓展的，今天就研究了一下在c语言中的调用。
我是看到了一个文档，然后照着做的：
http://www.cnblogs.com/pied/archive/2012/10/26/2741601.html
不过这个文档可能是时间久了，有的地方不是那么顺利，下面是我的每一步的操作。
 
 
首先介绍一下我的环境，我是在]]></description><category></category></item><item><title><![CDATA[windows下构建Go程序]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/50252327</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/50252327</guid><author>ChamPly</author><pubDate>Thu, 10 Dec 2015 17:31:37 +0800</pubDate><description><![CDATA[今天下午看Go语言(我看的是《Go语言编程》)，里面有一个完整的程序，但是书中是在linux环境下构建的，但是我是在windows环境下，多少有些不同。
首先要弄清楚Go的路径：
         GOROOT：Go安装之后会在系统环境变量中自动添加
         GOPATH：这个需要自己来配置，类是于JAVA里面配置CLASSPATH一样的
 
创建好环境变量之后来第一个项目的构]]></description><category></category></item><item><title><![CDATA[你所不知道的foreach]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/47755785</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/47755785</guid><author>ChamPly</author><pubDate>Tue, 18 Aug 2015 18:16:03 +0800</pubDate><description><![CDATA[平时我们或许经常使用foreach，但是你知道foreach是怎么实现的吗？]]></description><category></category></item><item><title><![CDATA[Session和Cookie]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/47149425</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/47149425</guid><author>ChamPly</author><pubDate>Thu, 30 Jul 2015 14:28:07 +0800</pubDate><description><![CDATA[今天详细看了一下Session和Cookie，觉得这篇文章比较不错，所以推荐给大家。
在这里注明出处：http://www.cnblogs.com/shiyangxt/archive/2008/10/07/1305506.html，希望大家在阅读好的文章的时候记得感谢作者。
2015年7月30日14:28:42 
by：ChamPly
下面是正文：
这些都是基础知识，不过有必要做深入了解]]></description><category></category></item><item><title><![CDATA[SHELL脚本-1]]></title><link>https://blog.youkuaiyun.com/ChamPly/article/details/46513835</link><guid>https://blog.youkuaiyun.com/ChamPly/article/details/46513835</guid><author>ChamPly</author><pubDate>Tue, 16 Jun 2015 08:44:48 +0800</pubDate><description><![CDATA[.：表示任意的字符
*：和前面的字符匹配，a*表示：零个或多个a
+：和前面的字符匹配表示1个或多个前面的字符
?：和前面的字符匹配表示0个或多个前面的字符
 
#！/bin/bash   #!/bin/sh开头
 
注释：
：
         这里写代码
!EOF!
 
可以sh  1.sh来执行脚本，或者先提权chmod  a+x 1.sh然后./1.sh
 
s]]></description><category></category></item></channel></rss>