<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[吾生也有涯，而知也无涯]]></title><description><![CDATA[只要还有什么东西不知道，就永远应当学习！]]></description><link>https://blog.youkuaiyun.com/bicongming</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bicongming]]></copyright><item><title><![CDATA[【k8s】浅谈kubernetes基本概念]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/126500637</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/126500637</guid><author>bicongming</author><pubDate>Wed, 24 Aug 2022 17:52:20 +0800</pubDate><description><![CDATA[Pod控制器是管理Pod的中间层，使用了Pod控制器之后，我们只需要告诉Pod控制器，想要多少个什么样的Pod就可以了，它就会创建出满足条件的Pod并确保每一个Pod处于用户期望的状态，如果Pod在运行中出现故障，控制器会基于指定的策略重启或重建Pod。那么容器在销毁的时候，保存在容器中的数据也会被清除。在kubernetes中，Pod是应用程序的载体，我们可以通过Pod的IP来访问应用程序，但是Pod的IP地址不是固定的（存在销毁和重新创建），这就意味着不方便直接采用Pod的IP对服务进行访问。]]></description><category></category></item><item><title><![CDATA[【k8s】安装可视化面板Dashboard]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/126422059</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/126422059</guid><author>bicongming</author><pubDate>Fri, 19 Aug 2022 15:07:18 +0800</pubDate><description><![CDATA[k8s-dashboard安装]]></description><category></category></item><item><title><![CDATA[【k8s】vmware中模拟kubeadm安装k8s1.23.5集群]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/126000509</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/126000509</guid><author>bicongming</author><pubDate>Wed, 27 Jul 2022 10:30:24 +0800</pubDate><description><![CDATA[这篇进行软件准备，这里说下我个人的学习思路，我一贯先把环境准备好，而不是先去学习理论，我认为边实践边补充理论知识是最好的学习方法。新手上路，每一步都是艰难险阻，一点点击败它，就会成长。...............]]></description><category></category></item><item><title><![CDATA[【k8s】环境准备：vmware中安装centos7]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/125871810</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/125871810</guid><author>bicongming</author><pubDate>Tue, 19 Jul 2022 16:39:35 +0800</pubDate><description><![CDATA[为了搭建k8s集群环境，准备在虚拟机中进行模拟，有钱人可以选择云服务器实践。]]></description><category></category></item><item><title><![CDATA[【rabbitmq】使用延时队列+死信队列实现上篇的重试操作]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/125769310</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/125769310</guid><author>bicongming</author><pubDate>Wed, 13 Jul 2022 18:21:33 +0800</pubDate><description><![CDATA[首先来安装rabbitmq，我是在wsl上安装的，你可以根据自己的操作系统选择安装]]></description><category></category></item><item><title><![CDATA[【redis】使用sorted set写延时队列，进行多次重试操作]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/125659515</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/125659515</guid><author>bicongming</author><pubDate>Thu, 07 Jul 2022 15:34:45 +0800</pubDate><description><![CDATA[Redis 有序集合(sorted set)Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的，所以添加，删除，查找的复杂度都是 O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。我们把有序集合的分数，记录为下次要执行]]></description><category></category></item><item><title><![CDATA[Docker Desktop for windows搭建ELK集群7.17.1，并完成nginx负载均衡实验（二）]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/123827386</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/123827386</guid><author>bicongming</author><pubDate>Tue, 29 Mar 2022 19:09:26 +0800</pubDate><description><![CDATA[参考文章：

【实验级】Docker-Compose搭建单服务器ELK伪集群


了解了一些基础知识以后，我们来搭建ELK集群并模拟真实业务场景实验一下负载均衡日志的收集

环境
win10、8g内存（还是小了点，都爆红了，但还是能用的）
wsl2 linux子系统
ubuntu20.04
docker-desktop
安装elk集群和nginx负载均衡节点
参考上方大神文章并做一些调整：（去掉了kafka部分，因为我把握不住啊）
所需服务和说明
注：这里elk我使用的docker-compose安装，ng]]></description><category></category></item><item><title><![CDATA[Docker Desktop for windows搭建ELK集群7.17.1，并完成nginx负载均衡实验（一）]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/123825267</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/123825267</guid><author>bicongming</author><pubDate>Tue, 29 Mar 2022 17:32:28 +0800</pubDate><description><![CDATA[ELK简介
ElasticSearch：智能搜索，分布式的搜索引擎，是ELK的一个组成
ELK代表的是：E就是ElasticSearch，L就是Logstach，K就是kibana
E：EalsticSearch 搜索和分析的功能
L：Logstach 搜集数据的功能，是日志收集系统
K：Kibana 数据可视化（分析），可以用图表的方式来去展示，是数据可视化平台
ES倒排索引
ES的增删改]]></description><category></category></item><item><title><![CDATA[WSL2子系统 Ubuntu Docker安装并安装运行nginx]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/121403565</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/121403565</guid><author>bicongming</author><pubDate>Thu, 18 Nov 2021 16:41:12 +0800</pubDate><description><![CDATA[首先下载Linux内核更新包，防止出现各种莫名其妙问题（如版本不兼容）：下载链接
WSL安装
进入Microsoft Store 搜索WSL


安装完成后打开，会等待几分钟，然后创建账号密码
docker安装
方法一：使用官方安装脚本自动安装
安装命令如下：
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

也可以使用国内 daocloud 一键安装命令：
curl -sSL https://get.daocloud.i]]></description><category></category></item><item><title><![CDATA[golang实现音频文件pcm转wav格式]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/118421222</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/118421222</guid><author>bicongming</author><pubDate>Fri, 02 Jul 2021 18:35:10 +0800</pubDate><description><![CDATA[背景：公司有个文章转语音的需求，调用的是腾讯的tts接口，但是接口有限制，每次只能请求110个字，文章字数有800字以上，所以开始采用的是字符串拆分，分别请求，返回的base64音频直接拼接，浏览器可以正常播放，但此时有个问题，下载下来只有一段；原因是tts接口返回mp3格式的时候会带有文件头，不能直接拼接

解决方案：
返回pcm格式的音频（这个是不带文件头的），然后拼接。
但是pcm格式的音频无法播放，需要转化成可播放的音频格式，这里转的是wav格式。
代码如下：
/**
dst:二进制字符串
num.]]></description><category></category></item><item><title><![CDATA[【轻松学vue】脚手架综合案例]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/90692317</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/90692317</guid><author>bicongming</author><pubDate>Thu, 30 May 2019 10:18:41 +0800</pubDate><description><![CDATA[后端：node.js
数据库：mysql
工具：webstrom

此案例是把我们指令综合案例改装成vue-cli脚手架来实现


在webstrom中创建一个名为blog的vue-cli项目。最终项目目录结构如下

main.js
// The Vue build version to load with the `import` command
// (runtime-only or sta...]]></description><category></category></item><item><title><![CDATA[【轻松学vue】vue.js脚手架（八）vue-resource]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/90668075</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/90668075</guid><author>bicongming</author><pubDate>Wed, 29 May 2019 11:34:09 +0800</pubDate><description><![CDATA[vue-resource
使用命令：npm install vue-resource --save-dev 安装模块
在src目录下创建resource文件夹，创建index.js
写入如下配置：
import Vue from 'vue'
import Resource from 'vue-resource'
Vue.use(Resource)
export default {}

在main....]]></description><category></category></item><item><title><![CDATA[【轻松学vue】vue.js脚手架（七）路由]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/90667777</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/90667777</guid><author>bicongming</author><pubDate>Wed, 29 May 2019 11:22:12 +0800</pubDate><description><![CDATA[路由
项目中使用路由模块，需要下载
使用命令 ：npm install vue-router --save-dev
在src中创建一个文件夹叫router，在router中创建一个index.js文件
写如下配置：
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Rou...]]></description><category></category></item><item><title><![CDATA[【轻松学vue】vue.js脚手架（六）事件传值（子向父）]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/90667511</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/90667511</guid><author>bicongming</author><pubDate>Wed, 29 May 2019 11:12:35 +0800</pubDate><description><![CDATA[事件传值（子向父）
App.vue
&lt;template&gt;
  &lt;div id="app"&gt;
    &lt;User v-bind:users="users" v-bind:title="title" v-on:changeAllTitle="changeAllTitle"&gt;&lt;/User&gt;
    &lt;User v-bind:users="users"...]]></description><category></category></item><item><title><![CDATA[【轻松学vue】vue.js脚手架（五）组件传值props]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/90667386</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/90667386</guid><author>bicongming</author><pubDate>Wed, 29 May 2019 11:08:05 +0800</pubDate><description><![CDATA[组件传值props
App.vue
&lt;template&gt;
  &lt;div id="app"&gt;
    &lt;User v-bind:users="users"&gt;&lt;/User&gt;
  &lt;/div&gt;
&lt;/template&gt;
&lt;script&gt;
export default {
  name: 'App',
  data(){
 ...]]></description><category></category></item><item><title><![CDATA[【轻松学vue】vue.js脚手架（四）组件css作用域]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/90667164</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/90667164</guid><author>bicongming</author><pubDate>Wed, 29 May 2019 11:00:30 +0800</pubDate><description><![CDATA[组件css作用域
App.vue
&lt;template&gt;
  &lt;div id="app"&gt;
    &lt;h1&gt;{{msg}}&lt;/h1&gt;
    &lt;User&gt;&lt;/User&gt;
  &lt;/div&gt;
&lt;/template&gt;
&lt;script&gt;
export default {
  name: 'App',
...]]></description><category></category></item><item><title><![CDATA[【轻松学vue】vue.js脚手架（三）组件嵌套]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/90667074</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/90667074</guid><author>bicongming</author><pubDate>Wed, 29 May 2019 10:56:40 +0800</pubDate><description><![CDATA[组件嵌套
实际上，HelloWorld已经实现了组件嵌套。嵌套过程：首先创建组件-&gt;使用import导入-&gt;在处理逻辑中注册组件-&gt;在模板中插入组件标签
例：在app.vue中嵌套user组件
在components文件夹中新建User.vue
&lt;template&gt;
    &lt;div class="user"&gt;
      {{username}}
   ...]]></description><category></category></item><item><title><![CDATA[【轻松学vue】vue.js脚手架（二）文件流程及根组件app]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/90666918</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/90666918</guid><author>bicongming</author><pubDate>Wed, 29 May 2019 10:51:20 +0800</pubDate><description><![CDATA[文件流程及根组件app

文件流程
项目启动后，vue通过内部文件的加载机制首先加载index.html，然后调用main.js程序文件，最后通过vue实例引入根组件App.vue

index.html(入口模板文件)-&gt;main.js(程序入口文件)-&gt;App.vue（组件入口文件）

main.js

import Vue from 'vue' //导入vue模块，相当于引入vu...]]></description><category></category></item><item><title><![CDATA[【轻松学vue】vue.js脚手架（一）脚手架搭建]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/90666690</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/90666690</guid><author>bicongming</author><pubDate>Wed, 29 May 2019 10:43:00 +0800</pubDate><description><![CDATA[vue-cli脚手架搭建

环境：node.js、mysql、vue-cli
工具：webstrom、Git

vue-cli脚手架的搭建所依赖的环境是node.js，使用的是node.js提供的npm命令，所以在开始脚手架搭建之前必须安装node.js环境。
前面的教程中有node.js的安装，可选择查看
vue-cli这个构建工具大大降低了webpack的使用难度，支持热更新，有webpack...]]></description><category></category></item><item><title><![CDATA[【轻松学vue】vue.js路由和resource模块综合应用]]></title><link>https://blog.youkuaiyun.com/bicongming/article/details/90475174</link><guid>https://blog.youkuaiyun.com/bicongming/article/details/90475174</guid><author>bicongming</author><pubDate>Thu, 23 May 2019 10:06:19 +0800</pubDate><description><![CDATA[实现一个简单的博客系统



数据库：
CREATE TABLE `blog` (
    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '表id',
    `title` varchar(255) DEFAULT NULL COMMENT '博客标题',
    `author` varchar(255) DEFAULT NULL COMMENT '...]]></description><category></category></item></channel></rss>