03 2021 档案
摘要:1.13版本之后 go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct GoLand中设置: go mod init (gin)项目名 go mod edit -require
阅读全文
摘要:解决办法: git config --global http.sslVerify false
阅读全文
摘要:这种在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。 面向切面编程(AOP是Aspect Oriented Program的首字母缩写) ,我们知道,面向对象的特点是继承、多态和封装。而封装就要求将功能分散到不同的对象中去,这在软件设计中往往称为职责分配。实际上也就
阅读全文
摘要:golang aop
阅读全文
摘要:闭包环境中引用的变量是不能够在栈上分配的,而是在堆上分配。因为如果引用的变量在栈上分配,那么该变量会跟随函数f返回之后回收,那么闭包函数就不可能访问未分配的一个变量,即未声明的变量,之所以能够再堆上分配,而不是在栈上分配,是Go的一个语言特性 escape analyze(能够自动分析出变量的作用范
阅读全文
摘要:JWT是什么? JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。 JSON Web Token使用场景? Authorization (授权) :
阅读全文
摘要:chmod 777 /home/ycontroller/front/node_modules/.bin/vue-cli-service npm run dev
阅读全文
摘要:Go语言中闭包是引用了自由变量的函数,被引用的自由变量和函数一同存在,即使已经离开了自由变量的环境也不会被释放或者删除,在闭包中可以继续使用这个自由变量,因此,简单的说: 闭包 = 函数 + 引用环境 一个函数类型就像结构体一样,可以被实例化,函数本身不存储任何信息,只有与引用环境结合后形成的闭包才
阅读全文
摘要:在php中的变量占用的空间,是不需要我们手动回收的。内核帮我们处理了这一部分的工作。相比C,这大大方便了我们的操作。本篇主要讲解 变量的 GC机制在了解我们 php GC 时,我觉得我有必要介绍一下们的 php 的变量在底层的实现。 zval 的结构 // php 变量对于的c结构体 struct
阅读全文
摘要:PHP-FPM 即 PHP FastCGI 进程管理器,要了解 PHP-FPM ,首先要看看 CGI 与 FastCGI 的关系。 CGI 的英文全名是 Common Gateway Interface,即通用网关接口,是 Web 服务器调用外部程序时所使用的一种服务端应用的规范。 早期的 Web
阅读全文
摘要:程序初始化过程 package main import "fmt" func main() { fmt.Println("hello world!") } 编译,使用gdb调试。给下列函数下断点: _rt0_amd64_darwin main _rt0_amd64 runtime.check run
阅读全文
摘要:下载 vcredist 地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=40784 安装刚才下载的那个软件,位置默认即可,安装成功 然后重新进行安装,成功解决这个问题!
阅读全文
摘要:经判断是yum源的问题,如何才能修复? 方式一:使用国内的阿里云镜像 (1)把/etc/yum.repos.d/下面所有的源给删除掉了 (2)下载镜像 # CentOS 5 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun
阅读全文
摘要:Linux本身提供了dos2unix和unix2dos两个命令来实现Windows和Linux文件的转换。 少量文件转换: 对于单个或少量的文件转换,可以直接使用命令,如: dos2unix filename1, filename2 大量文件转换:当需要转换的文件非常多的时候,使用上述方式书写起来非
阅读全文
摘要:main函数执行之前,主要就是初始化系统相关资源: 1.设置栈指针 2.初始化static静态和global全局变量,即data段的内容 3.将未初始化部分的赋初值:数值型short,int,long等为0,bool为FALSE,指针为NULL,等等,即.bss段的内容 4.运行全局构造器,估计是C
阅读全文
摘要:1.创建短生命周期容器 基于Dockerfile生成镜像,使用这个镜像生成的容器,我们要尽可能的缩短容器的生命周期。这里我的理解是,不要将容器当做vm 来使用, 这个容器可以被停止或者销毁, 然后可以根据设置和配置的变动重新生成新的容器。 2.理解构建上下文,在构建过程中不导入不必要的文件 3.使用
阅读全文
摘要:什么是Prometheus? Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native
阅读全文
摘要:1:为什么需要 DevOps ? 在当今,软件开发公司在软件新版本发布方面,多尝试通过发布一系列以小的特性改变集为目标的新软件版本,代替发布一个大特性改变集的新软件版本的方式。这种方式有许多优点,诸如,快速的客户反馈,软件质量的保证等。也会获得较高的客户满意度评价。完成这样的软件发布模式,开发公司需
阅读全文
摘要:1、什么是Docker? Docker是一个容器化平台,它以容器的形式将你的应用程序及所有的依赖项打包在一起,以确保你的应用程序在任何环境中无缝运行。 2、什么是Docker镜像? Docker镜像是Docker容器的源代码,Docker镜像用于创建容器,使用Build命令创建镜像。 3、什么是Do
阅读全文
摘要:如图所示,当我们新添加一个微服务实例的时候,微服务就会将自己的 ip 与 port 发送到注册中心,在注册中心里面记录起来。当 API gateway 需要访问某些微服务的时候,就会去注册中心取到相应的 ip 与 port。从而实现自动化操作。 服务注册的两种方式 客户端注册 客户端注册即为:将服务
阅读全文
摘要:zookeeper 的节点特性和简单使用场景,正是由于这些节点特性的存在使 zookeeper 开发出不同的场景应用。 1、同一级节点 key 名称是唯一的 $ ls / $ create /runooo 2 已存在 /runooo节点,再次创建会提示已经存在。 2、创建节点时,必须要带上全路径 $
阅读全文
摘要:数据模型 在 zookeeper 中,可以说 zookeeper 中的所有存储的数据是由 znode 组成的,节点也称为 znode,并以 key/value 形式存储数据。 整体结构类似于 linux 文件系统的模式以树形结构存储。其中根路径以 / 开头。 进入 zookeeper 安装的 bin
阅读全文
摘要:ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。ZooKeeper 的架构通过冗余服务实现高可用性。 Zookeeper 的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简
阅读全文
摘要:HTTP 2.0带来了更多强大功能,如多路复用、二进制帧、头部压缩、推送机制。这些功能给设备带来重大益处,如节省带宽、降低TCP连接次数、节省CPU使用等。 HTTP 版本分为HTTP 1.X、 HTTP 2.0,其中HTTP 1.X是当前使用最广泛的HTTP协议,HTTP 2.0称为超文本传输协议
阅读全文
摘要:1.SSL/TLS协议的产生 HTTP通信的三大风险 (1) 窃听风险(eavesdropping):第三方可以获知通信内容。 (2) 篡改风险(tampering):第三方可以修改通信内容。 (3) 冒充风险(pretending):第三方可以冒充他人身份参与通信。 SSL/TLS协议是为了解决这
阅读全文
摘要:HTTPS简介 HTTPS并非是应用层的一种新协议。只是HTTP通信接口部分用SSL和TLS协议代替而已。 通常,HTTP直接和TCP通信。当使用SSL时,则演变成先和SSL通信,再由SSL和TCP通信了。简言之,所谓HTTPS,其实就是身披SSL协议这层外壳的HTTP。 在采用SSL后,HTTP就
阅读全文
摘要:kubernetes 集群的所有的操作基本上都是通过 apiserver 这个组件进行的,它提供 HTTP RESTful 形式的 API 供集群内外客户端调用。kubernetes 对于访问 API 来说提供了三个步骤的安全措施:认证、授权、准入控制,用户使用 kubectl,client-go
阅读全文
摘要:gRPC(Google Remote Procedure Call,Google远程过程调用) 一.gRPC简介 gRPC是Google发布的基于HTTP 2.0传输层协议承载的高性能开源软件框架,提供了支持多种编程语言的、对网络设备进行配置和纳管的方法。由于是开源框架,通信的双方可以进行二次开发,
阅读全文
摘要:如果把线程安全定义为允许多个goroutine同时去读写,那么golang 的channel 是线程安全的。不需要在并发读写同一个channe时加锁。
阅读全文
摘要:不是线程安全的。在同一时间段内,让不同 goroutine 中的代码,对同一个字典进行读写操作是不安全的。字典值本身可能会因这些操作而产生混乱,相关的程序也可能会因此发生不可预知的问题。 1.什么是map? map是一个可以存储key/value对的一种数据结构,map像slice一样是引用类型,m
阅读全文
摘要:1、准备好一个包含应用程序的Deployment的yml文件,然后通过kubectl客户端工具发送给ApiServer。2、ApiServer接收到客户端的请求并将资源内容存储到数据库(etcd)中。3、Controller组件(包括scheduler、replication、endpoint)监控
阅读全文
摘要:使用debug.Stack() package main import ( "fmt" "runtime/debug" ) func test1() { test2() } func test2() { test3() } func test3() { // 可以通过 debug.PrintStac
阅读全文
摘要:最受欢迎的Java构建和依赖管理工具 Maven是如何工作的 像许多出色的工具一样,Maven可以将曾经过于复杂的内容(配置地狱)简化为易于消化的部分。Maven包含三个组件: · POM:描述Maven项目及其依赖项的文件。 · 目录:用于描述POM中的Maven项目的标准化格式。 · 存储库:第
阅读全文