<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[寻找到底哪里有蓝天]]></title><description><![CDATA[寻找到底哪里有蓝天]]></description><link>https://blog.youkuaiyun.com/qq_39463535</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_39463535]]></copyright><item><title><![CDATA[《将博客搬至优快云》]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/132439911</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/132439911</guid><author>qq_39463535</author><pubDate>Wed, 23 Aug 2023 00:35:36 +0800</pubDate><description><![CDATA[请帮忙搬家，谢谢~]]></description><category></category></item><item><title><![CDATA[vscode去除斜体注释]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/132973690</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/132973690</guid><author>qq_39463535</author><pubDate>Sun, 04 Jun 2023 19:36:00 +0800</pubDate><description><![CDATA[在设置里面打开setting.json文件
在大括号后面追加下面的代码
// 去除斜体注释
"editor.tokenColorCustomizations": {
  "textMateRules": [
    {
      "name": "Comment",
      "scope": [
      "comment",
      "comment.block",
      "...]]></description><category></category></item><item><title><![CDATA[Koa.js笔记]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/132973688</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/132973688</guid><author>qq_39463535</author><pubDate>Sat, 27 May 2023 03:28:00 +0800</pubDate><description><![CDATA[一、路由
可以使用router的库
koa没有路由处理，需要自己去找库
二、静态资源处理
npm i koa-static
如果路径想使用别名，需要引入另一个包npm i koa-mount
路由重定向
router.get('/bar', ctx =&gt; {
  ctx.redirect('/foo')
})
三、中间件执行栈结构
洋葱模型
先进后出
如果没有next()就不会往下走
co...]]></description><category></category></item><item><title><![CDATA[MongoDB笔记]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/132973687</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/132973687</guid><author>qq_39463535</author><pubDate>Tue, 23 May 2023 18:39:00 +0800</pubDate><description><![CDATA[一、业务应用场景
三高需求：

高并发读写需求
海量数据的高效率存储和访问的需求
对数据库的高扩展性和高可用性的需求

应用场景：

社交场景，使用MongoDB存储用户信息，以及用户发表的朋友圈信息，通过地理位置索引实现附近的人，地点等功能
游戏场景：方便查询、高效率存储和访问
物流场景：使用MongoDB存储订单信息
物联网场景：存入智能设备信息
视频直播：存储用户点赞、互动信息等

共同的...]]></description><category></category></item><item><title><![CDATA[linux基础 | 组、任务调度、磁盘、进程、服务管理、包管理]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/133012565</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/133012565</guid><author>qq_39463535</author><pubDate>Sun, 14 May 2023 23:03:00 +0800</pubDate><description><![CDATA[1、Linux组基本介绍
每一个用户必须属于一个组，Linux里面有所有者，所在组，其他组的概念
文件属于用户，用户属于组
一般来说谁创建了这个文件，这个文件就属于谁
文件/目录 所有者
查看文件的所有者
指令：ls -ahl
修改文件所有者
指令：chown 用户名 文件名
案例：使用root创建一个apple.txt，然后将其所有者修改成tom
touch apple.txt
chown t...]]></description><category></category></item><item><title><![CDATA[MySQL-运维]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/133012534</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/133012534</guid><author>qq_39463535</author><pubDate>Sun, 30 Apr 2023 03:53:00 +0800</pubDate><description><![CDATA[1、日志
错误日志：
错误日志是MySQL中最重要的日志之一，它记录了当mysqld 启动和停止时，以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时，建议首先查看此日志
该日志默认是开启的，默认存放目录/var/log/，默认的日志文件名为mysqld.log。查看日志位置：
show variables like '%log_error%'
二进制日志...]]></description><category></category></item><item><title><![CDATA[Go的GC回收机制]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/133014175</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/133014175</guid><author>qq_39463535</author><pubDate>Wed, 26 Apr 2023 03:06:00 +0800</pubDate><description><![CDATA[一、GoV1.3的标记清除法
原理：

第一步，暂停程序业务逻辑，找出不可达的对象和可达对象
第二步，开始标记，程序找出它所有可达的对象，并做上标记
第三部，标记完了之后，然后开始清除未标记的对象
第四步，停止暂停，让程序继续跑，然后循环重复这个过程，知道process程序生命周期结束

缺点：

STW：stop the world 让程序暂停，程序出现卡顿
标记需要扫描整个stop
清除数据...]]></description><category></category></item><item><title><![CDATA[proto文件详解]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/133014169</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/133014169</guid><author>qq_39463535</author><pubDate>Sat, 22 Apr 2023 15:23:00 +0800</pubDate><description><![CDATA[一、message介绍
message：protobuf中定义一个消息类型是通过关键字message字段指定的。消息就算需要传输的数据格式的定义。message关键字类似于C++中的class，Java中的Class，go中的struct
例如：
message User{
	string username=1;
	int32 age=2;
}
在消息中承载的数据分别对应于每一个字段。
其中每个...]]></description><category></category></item><item><title><![CDATA[使用protobuf的原因以及它和JSON和XML的区别]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/132973685</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/132973685</guid><author>qq_39463535</author><pubDate>Sat, 22 Apr 2023 00:55:00 +0800</pubDate><description><![CDATA[Protobuf和JSON和XML的区别
对于 JSON、XML，为了便于数据传输时的可阅读性，会保留数据的结构化信息，举个 JSON 例子，如下：
{
  "name": "laomiao",
  "age": 18
}
当发送该信息时，接受方收到后就会明白，这是个 “key/value” 形式的数据，并且"name" 后是姓名，"age" 后是年龄。
那如何压缩该数据呢？
我们可以删除 “花...]]></description><category></category></item><item><title><![CDATA[protobuf导出go时调整默认tag的方法]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/132973684</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/132973684</guid><author>qq_39463535</author><pubDate>Sat, 22 Apr 2023 00:43:00 +0800</pubDate><description><![CDATA[问题概述
在protobuf导出到golang的时候，生成的.go文件里的struct的tag是没办法灵活设置的，以下面这个message为例
test.proto
syntax=proto3;
package test;

option go_package = ".;test";

message MyMessage {
    int64 Code = 1;
}
执行protoc --pr...]]></description><category></category></item><item><title><![CDATA[protobuf简介]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/133012516</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/133012516</guid><author>qq_39463535</author><pubDate>Thu, 20 Apr 2023 21:55:00 +0800</pubDate><description><![CDATA[简介

习惯用Json,XML数据储存格式的程序员,大多都没听说过Protocol Buffer(ProtoBuf go初体验博客)
Protocol Buffer其实是Google出品的一种轻量&amp;高效的结构化数据储存格式,性能比Json,XML真的强太多
protobuf经历了protobuf2和protobuf3,pb3比pb2简化了很多,目前主流的版本是pb3

protobuf优...]]></description><category></category></item><item><title><![CDATA[Go中使用JWT]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/133061861</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/133061861</guid><author>qq_39463535</author><pubDate>Thu, 20 Apr 2023 17:20:00 +0800</pubDate><description><![CDATA[原文链接：https://blog.youkuaiyun.com/m0_58121644/article/details/129643351

JWT (JSON Web Tokens) 是一种基于 JSON 格式的轻量级身份验证和授权方案。在 Go 项目中使用 JWT，一般需要完成以下步骤：
1. 安装 JWT 库
在 Go 项目中使用 JWT 需要先安装 JWT 库，可以使用以下命令安装：
go ge...]]></description><category></category></item><item><title><![CDATA[Gin学习笔记-A]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/132973682</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/132973682</guid><author>qq_39463535</author><pubDate>Wed, 19 Apr 2023 23:27:00 +0800</pubDate><description><![CDATA[fresh包可以实现预加载
预定义函数
预定义的全局函数，用在html文件中



and
函数返回它的第一个empty参数或者最后一个参数就是说"and x y"等价于"if x then y else x"：所有参数都会执行




or
返回第一个非empty参数或者最后一个参数亦"or x y"等价于"if x then  x else y"：所有参数都会执行


not
返回它的单个参...]]></description><category></category></item><item><title><![CDATA[Golang的GMP模型]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/132973681</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/132973681</guid><author>qq_39463535</author><pubDate>Thu, 13 Apr 2023 15:54:00 +0800</pubDate><description><![CDATA[一、调度器的由来和分析

单进程时代的两个问题：

单一执行流程、计算机只能一个任务一个任务处理
进程阻塞所代理的CPU浪费时间


多进程和多线程的问题：
多进程/多线程解决了阻塞问题
但是引入了新的问题
进程/线程的数量越多，切换成本就越大，也就越浪费
多线程随着同步竞争(如锁、竞争资源冲突等)开发设计变得越来越复杂
老的调度器的几个缺点：

创建、销毁、调度G都需要每个M获取锁，这就形成了...]]></description><category></category></item><item><title><![CDATA[K8S入门]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/133014168</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/133014168</guid><author>qq_39463535</author><pubDate>Mon, 10 Apr 2023 19:48:00 +0800</pubDate><description><![CDATA[原文链接：https://k8s.easydoc.net/docs/dRiQjyTY/28366845/6GiNOzyZ/9EX8Cp45

一、简介
为容器化应用提供集群部署和管理的开源工具，Google开发
主要特性：

高可用，不宕机，自动灾难恢复
灰度更新，不影响业务正常运转
一键回滚到历史版本
方便的伸缩扩展(应用伸缩，机器加减)、提供负载均衡
有一个完善的生态

需要熟悉docke...]]></description><category></category></item><item><title><![CDATA[docker推送镜像到腾讯云仓库]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/132973659</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/132973659</guid><author>qq_39463535</author><pubDate>Mon, 10 Apr 2023 07:38:00 +0800</pubDate><description><![CDATA[原文链接：https://blog.youkuaiyun.com/jialiuyang/article/details/98626911

1、添加容器
打开腾讯云控制台，在上方菜单栏 加号图标 选择容器服务，如图：

这样上方菜单就会显示出容器服务。
2、开通镜像服务
选择容器服务，浏览器左侧菜单会显示与容器服务相关的导航菜单，点击“镜像仓库”下面的“我的镜像”，会提示开通镜像服务，根据提示输入仓库密码...]]></description><category></category></item><item><title><![CDATA[本地打包docker镜像]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/132983082</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/132983082</guid><author>qq_39463535</author><pubDate>Mon, 10 Apr 2023 07:22:00 +0800</pubDate><description><![CDATA[原文链接：https://blog.youkuaiyun.com/feifeiwud/article/details/126636051

什么是Docker？

Dockers是基于Go语言开发的虚拟容器技术。以前我们部署应用通常是将源代码打包成一个jar包运行，这样就会受到运行环境、配置环境的限制，而且程序也不能跨服务器运行。Docker基于Linux容器技术，将Java源代码、运行环境像MySQL、...]]></description><category></category></item><item><title><![CDATA[k8s集群搭建及相关问题解决]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/132983098</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/132983098</guid><author>qq_39463535</author><pubDate>Mon, 10 Apr 2023 00:28:00 +0800</pubDate><description><![CDATA[原文链接：https://juejin.cn/post/7011425524790591519

环境准备
三台机器：

master：192.168.0.1
node1：192.168.0.2
node2：192.168.0.3

基础环境设置


[1] 设置3台机器hostname基于主机名通信：/etc/hosts; 每台机器设置对应hostname
sudo hostnamectl ...]]></description><category></category></item><item><title><![CDATA[go的反射reflect和文件操作]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/133063439</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/133063439</guid><author>qq_39463535</author><pubDate>Sun, 09 Apr 2023 02:58:00 +0800</pubDate><description><![CDATA[1.反射
Go语言的变量分两部分，类型信息和值信息
在Go的反射机制中，任何接口值都是由一个具体类型和具体类型的值两部分组成
reflect.TypeOf和reflect.ValueOf两个重要的函数来获取任意对象的type和value
v:=reflect.TypeOf(x)
v.Name()    // 类型名称
v.Kind()    // 类型种类
指针类型的类型名称为空，类型种类为pt...]]></description><category></category></item><item><title><![CDATA[reflect获取结构体方法时遇到的小问题]]></title><link>https://blog.youkuaiyun.com/qq_39463535/article/details/133022369</link><guid>https://blog.youkuaiyun.com/qq_39463535/article/details/133022369</guid><author>qq_39463535</author><pubDate>Fri, 07 Apr 2023 23:24:00 +0800</pubDate><description><![CDATA[文章部分引用：

https://blog.youkuaiyun.com/qq_35423190/article/details/123554837

在使用reflect包获取函数，并调用时，总出现这个报错：
panic: reflect: call of reflect.Value.Call on zero Value
然后测试发现，只有公有函数(首字母大写的函数)可以通过reflect.MethodB...]]></description><category></category></item></channel></rss>