<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cugbtang]]></title><description><![CDATA[当初没这眼光！]]></description><link>https://blog.youkuaiyun.com/u013616005</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u013616005]]></copyright><item><title><![CDATA[项目经验嘿嘿嘿]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/121888557</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/121888557</guid><author>u013616005</author><pubDate>Sun, 12 Dec 2021 16:38:07 +0800</pubDate><description><![CDATA[文章目录开源项目打地基无工作经验bbs-goGin-vue-adminrpcxgo-kit有工作经验zinxgo-zerogo-nsqTidbkubernetesPrometheus总结
开源项目打地基
以下内容来自公众号Golang梦工厂
asong大佬针对有无工作经验的分别推荐几个开源项目
无工作经验
对于还在上学的朋友们，除了知道必要的基础知识外，也要有1-2个拿的出手的项目，光有基础，没有实践，很难过去简历这一关，对于学生而言，简单的crud还是要熟练掌握的，接下来就推荐几个文档比较齐全的web项目]]></description><category></category></item><item><title><![CDATA[DOCKER-PRE]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/121348049</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/121348049</guid><author>u013616005</author><pubDate>Tue, 16 Nov 2021 08:56:12 +0800</pubDate><description><![CDATA[文章目录一、docker入门1、docker的安装及入门示例2、docker的理论概念二、镜像管理三、镜像仓库管理四、容器管理五、网络管理七、镜像仓库管理系统搭建八、maven构建springcloud镜像九、编排构建springcloud实例
一、docker入门
1、docker的安装及入门示例


环境准备：docker需要安装在centos7 64位系统上；docker要求系统内核在3.10以上


查看系统内核：
uname -r



安装命令：
yum -y install docker-io]]></description><category></category></item><item><title><![CDATA[Go 的设计哲学看这一篇就够了]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/121215214</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/121215214</guid><author>u013616005</author><pubDate>Mon, 08 Nov 2021 21:00:47 +0800</pubDate><description><![CDATA[Go 的设计哲学看这一篇就够了
引言


这篇2017年的文章引发
看到 go-coding-in-go-way 引发深思：写着写着，就是发现自己写的代码总是感觉很别扭，并且总是尝试在Go语言中寻找自己上一门语言中熟悉的语法元素；自己的代码风格似乎和Go stdlib、主流Go开源项目的代码在思考角度和使用方式上存在较大差异


目标
学习和使用一门编程语言，目标就是要用这门语言思维方式去Coding。学习Go，就要用Go的编程思维去写Go代码，而不是用其他语言的思维方式。


前提是达成这样的共识
决定编]]></description><category></category></item><item><title><![CDATA[Go的IO管理看这一篇就够了]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/120476604</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/120476604</guid><author>u013616005</author><pubDate>Sat, 25 Sep 2021 22:19:57 +0800</pubDate><description><![CDATA[文章目录Go 的IO首要问题，内核中的缓冲和进程中的缓冲Operating System --- linux的文件I/O系统引言重要概念Go 的IOGo 和 IO的不解之缘Go的IO长什么样子IO 的姿势多种多样Go的IO具有是怎么利用内核的IO的呢？
Go 的IO
首要问题，内核中的缓冲和进程中的缓冲


内核中的缓冲
无论进程是否提供缓冲，内核都是提供缓冲的，系统对磁盘的读写都会提供一个缓冲（page/buffer cache），将数据写入到页/块缓冲进行排队，当页/块缓冲达到一定的量时，才能把数据写入]]></description><category></category></item><item><title><![CDATA[Go 的内存管理看这一篇就够了]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/120463299</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/120463299</guid><author>u013616005</author><pubDate>Fri, 24 Sep 2021 21:35:07 +0800</pubDate><description><![CDATA[文章目录Go 的内存管理第一章 OS是怎么管理内存的?Go为什么要有自己的内存管理?OS内存管理的主要机制第二章 Go 的内存管理第一节 管理模型第二节 逃逸分析第三节 垃圾回收参考
Go 的内存管理
本文主要参考大佬分析内存的系列文章，参杂自己的思考，谨以记录和传播知识
第一章 OS是怎么管理内存的?
Go为什么要有自己的内存管理?
Go语言的内存管理是建立在OS的内存管理之上的.
设计的目的是最大化的发挥OS内存管理层面的优势,避开导致低效情况.
OS内存管理的主要机制
现在计算机内存管理的方式都是一步]]></description><category></category></item><item><title><![CDATA[Effective Engineering---(go)that‘s enough for flag]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/119027349</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/119027349</guid><author>u013616005</author><pubDate>Fri, 23 Jul 2021 11:17:39 +0800</pubDate><description><![CDATA[aaa

]]></description><category></category></item><item><title><![CDATA[GC看这一篇就够了]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/118610388</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/118610388</guid><author>u013616005</author><pubDate>Fri, 09 Jul 2021 18:04:22 +0800</pubDate><description><![CDATA[文章目录引言非追踪追踪式单核多核Go的GCQAQ1:哪些指针是GC感兴趣的？Q2工作队列Q3:CPU UtilizationQ4:Memory allocQ5:Hybrid BarrierQ6:CPU Trigger
感谢幼麟实验室的生动讲解
垃圾回收之写屏障
go GC探秘
引言

由于函数调用栈会在函数返回后销毁，如果不能在编译阶段确定数据对象的大小或者对象生命周期超出当前所在函数，那就不适合分配在栈上 而应该分配到堆上
他们占用的内存需要程序主动释放才可以重新使用 否则成为垃圾


非追踪
引用计数 ]]></description><category></category></item><item><title><![CDATA[how write api?]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/118446333</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/118446333</guid><author>u013616005</author><pubDate>Sun, 04 Jul 2021 13:26:22 +0800</pubDate><description><![CDATA[接口错误码存放在那里？错误码是放在http的body里面，还是使用http status code?
答： 成功的时候http status code 返回200，失败的时候 返回非200
失败的时候可以定义一个固定值，比如500 然后在具体的错误码放在body的json中
原由：
1、爬虫
2、自定义code的数量比http status code定义的要多很多
一个组件由多个接口组成还是一个接口组成？
后端统一输出
什么逻辑应该放前端，什么逻辑应该放后端？
把显示相关的放在前端
有影响业务的放在后端
h]]></description><category></category></item><item><title><![CDATA[thanos源码分析]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/118297813</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/118297813</guid><author>u013616005</author><pubDate>Mon, 28 Jun 2021 11:59:33 +0800</pubDate><description><![CDATA[使用到的第三方包

借鉴prom,采用kingpin进行command、flag解析
使用github.com/oklog/run 包来启动一组协程


http server、grpc server、动态发现位于下游的实现STORE API的组件


github.com/go-kit/kit 微服务框架

最佳实践

1、prom是有状态的节点，我们把基础prom和stroe当作数据源
2、ruler也是数据源，可以根据数据中心位置启用一组或者多组供快速预计算
3、query是无状态的，我们可以无限扩展]]></description><category></category></item><item><title><![CDATA[pmp高级看这一篇就够了]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/116202513</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/116202513</guid><author>u013616005</author><pubDate>Tue, 27 Apr 2021 15:37:22 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[CSAPP漫游看这一篇就够了]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/116191090</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/116191090</guid><author>u013616005</author><pubDate>Tue, 27 Apr 2021 12:29:22 +0800</pubDate><description><![CDATA[原码 反码 补码
编写完程序后，多编译看看
单指令多数据架构，（GPU为什么火？深度学习为什么提倡用GPU）
【优秀的路人甲】
































]]></description><category></category></item><item><title><![CDATA[devops的背景看这一篇就够了]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/116089817</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/116089817</guid><author>u013616005</author><pubDate>Sat, 24 Apr 2021 23:13:03 +0800</pubDate><description><![CDATA[文章目录DevOps工程师DevOps工程师的角色和职责DevOps工程师技能DevOps团队的角色和职责总结
DevOps工程师

工程师首先要具有工程化的思想、工程化的知识体系和工程化的最佳时间。所以，DevOps工程师应该是一位IT专家，应该对开发和运维工作都有广泛的了解，包括linux生态、kubernetes生态、jira生态和人际交往能力。


DevOps工程师需要对通用系统体系结构有深刻的了解，还必须具有传统开发人员的工具技能和实践的经验，例如源代码控制，代码审查，编写单元测试等。

Dev]]></description><category></category></item><item><title><![CDATA[云原生背景看这一篇就够了]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/116094352</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/116094352</guid><author>u013616005</author><pubDate>Sat, 24 Apr 2021 20:58:37 +0800</pubDate><description><![CDATA[An Introduction to the Cloud Native Landscape


]]></description><category></category></item><item><title><![CDATA[设计基础决定上层建筑之go协程]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/114181796</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/114181796</guid><author>u013616005</author><pubDate>Sat, 27 Feb 2021 18:24:25 +0800</pubDate><description><![CDATA[文章目录内存管理模型进程 线程协程
强调，该文的整理内容图片全部来自幼麟实验室
内存管理模型

说协程，为啥先开始了内存呢？


不管是啥程，它的信息都要到内存，内存是怎么管理的直接影响上层建设啊，说的在理


内存隔离的必要性


又要从历史说起，刚开始 人们用内存的时候  很直接，操作系统用哪个，你用哪块，我用哪块  都知道，很容易打架



虚拟内存的出现，它是怎么设计的呢？


先说说历史原因，当时人们觉得4G好大啊，硬件水平也不支持，主流32位处理器
完美利用每一位
1、虚拟内存到物理内存是以页为]]></description><category></category></item><item><title><![CDATA[设计基础决定上层建筑之go类型]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/113849854</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/113849854</guid><author>u013616005</author><pubDate>Thu, 25 Feb 2021 17:51:48 +0800</pubDate><description><![CDATA[看标题，go语言类型，那它有多少种呢？为什么会是这么呢？
第一，解决第一个问题

百度/google，让有心人告诉你
一手消息的爱好者来自官网
原来还可以这样，Junedayday告诉我们

func main() {
	for i:= reflect.Invalid; i &lt;= reflect.UnsafePointer; i++{
		fmt.Printf("%d:%s\n",i,i.String())
	}
}
// 没错 0 ~ 26 ，内部就是用数字和类型的对应关系构建的，基架
0:inva]]></description><category></category></item><item><title><![CDATA[设计基础决定上层建筑之go函数语法糖]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/113886222</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/113886222</guid><author>u013616005</author><pubDate>Thu, 25 Feb 2021 17:48:15 +0800</pubDate><description><![CDATA[文章目录函数方法
以下截图均来自幼麟实验室，总结的比较形象，直接爱了
函数

函数调用的栈帧分配情况


go语言中栈指针是一次性分配所需最大栈空间的位置，为了避免访问越界，编译期间确定
然后通过栈指针加偏移值这种相对寻址方式使用函数栈帧



流程：


函数通过call指令实现跳转
每个函数开始时会分配栈帧
结束前又会释放自己的栈帧
ret指令又会把栈恢复到call之前的样子




函数调用返回值情况


通常我们认为函数返回值是通过寄存器传递的
但是，如果要返回值个数比寄存器还多的话，在栈上分配返回]]></description><category></category></item><item><title><![CDATA[Effective Engineering---(go)that‘s enough for error]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/113483779</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/113483779</guid><author>u013616005</author><pubDate>Sun, 31 Jan 2021 20:55:55 +0800</pubDate><description><![CDATA[文章目录一、标准库分析1.1、简介1.2、使用和设计原理小结：通过源码，我们能学习什么呢？二、满足不了，真实的需求是什么呢？三、分析第三方库的设计四、我们从标准库和第三方库中学到了什么？总结
一、标准库分析
它是【内置类型】

The error built-in interface type is the conventional interface for representing an error condition, with the nil value representing no error.]]></description><category></category></item><item><title><![CDATA[Effective Engineering---(go)that‘s enough for log]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/113407422</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/113407422</guid><author>u013616005</author><pubDate>Fri, 29 Jan 2021 23:56:58 +0800</pubDate><description><![CDATA[一、标准库分析
1.1、简介
1.2、使用和设计原理

为什么会这么设计呢？

二、满足不了，真实的需求是什么呢？
三、分析第三方库的设计
四、我们从标准库和第三方库中学到了什么？
总结

]]></description><category></category></item><item><title><![CDATA[CKA看这一篇就够了]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/112168392</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/112168392</guid><author>u013616005</author><pubDate>Mon, 04 Jan 2021 10:55:15 +0800</pubDate><description><![CDATA[Certificated Kubernetes Administrator
声明：本文主要参考华为培训

最全面的知识来自官网
面向Kubernetes管理员的认证
考核运维K8s集群所需的知识、技能，最重要是熟练度

模块一：Kubernetes核心概念 19%


有了Docker,为什么还需要K8s：集群中多个容器怎么通信？多个相同的容器怎么一起提供服务？


K8s是什么：开源的容器集群编排框架


K8s集群架构与组件：CS架构 MASTER(apiserver/schedule/manager/]]></description><category></category></item><item><title><![CDATA[Operator看这一篇就够了]]></title><link>https://blog.youkuaiyun.com/u013616005/article/details/112072948</link><guid>https://blog.youkuaiyun.com/u013616005/article/details/112072948</guid><author>u013616005</author><pubDate>Fri, 01 Jan 2021 22:05:48 +0800</pubDate><description><![CDATA[一、prometheus-operator
概念：

Operator 作为K8S第三方组件，它主要以CRD为基础，根据CRD资源的变化情况，执行一系列的操作。实现对复杂的有状态应用进行简单的配置和管理。
Operator 是最核心的部分，作为一个控制器，它会持续观察 Prometheus、ServiceMonitor、以及 PrometheusRules 3 个 CRD 资源对象

原理
CRD 作为 Prometheus Server 存在，而 ServiceMonitor 负责定位 exporter，]]></description><category></category></item></channel></rss>