爱奔跑的程序猿

keep running, just do it!


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 阅读排行

  • 最新回复

  • 搜索

Hexo集成GitBook

发表于 2020-07-14 | 分类于 Hexo | 评论: | 阅读次数:
AI摘要
GPT

背景

最开始用hexo搭建了这个博客网站,主要用来记录自己的一些学习笔记或一些杂七杂八的东西,内容主要以零散为主。

但随着内容的增多,特别是同一分类相关内容的增多,又希望这部分内容能够更加系统一点,增加其相关性。

于是考虑能不能在Hexo中集成下Gitbook,用Gitbook显示系统的博客内容,零散的内容依旧用Hexo显示。

阅读全文 »

Go参数传递

发表于 2020-07-07 | 分类于 编程语言 , Go | 评论: | 阅读次数:
AI摘要
GPT

Go参数传递

背景

在项目开发中,在使用指针作为函数参数传递时,没有得到想要的结果,所以写篇文章总结一下。

Go语言中的变量可以分为值类型和引用类型,那么当引用类型的变量作为函数参数时是引用传递么?

阅读全文 »

Go默认参数实现

发表于 2020-07-01 | 分类于 编程语言 , Go | 评论: | 阅读次数:
AI摘要
GPT

Go默认参数实现

Functional Options Pattern

在开发过程中,为了避免繁琐的参数设置,难免会需要将函数的一些参数设置为默认值,函数或对象使用这些默认值来保证开箱即用。

然而Go语言本身并不支持默认参数。之前看go-micro源码时,发现它的代码实现中有一种优雅的默认参数实现方式。搜了一下这种实现方式,发现也并不是go-micro的首创,而是基于一种go的设计模式:Functional Options Pattern(函数式选项模式)。恰好最近写代码也用这种模式尝试了下默认参数设置,所以趁此机会总结一下。

阅读全文 »

七.Go-Micro概览

发表于 2020-04-18 | 分类于 微服务学习 | 评论: | 阅读次数:
AI摘要
GPT

总览

Go Micro是整个Micro工具集中提供微服务分布式系统开发的框架。

Go Micro提供了分布式系统开发的核心要求,包括RPC和时间驱动的通信。micro默认使用可插拔式的架构使得其十分健壮。Micro提供了默认配置使得上手十分容易,而且任何配置都很容易被替换。

源码地址:https://github.com/micro/go-micro

阅读全文 »

六.Micro简介

发表于 2020-04-15 | 分类于 微服务学习 | 评论: | 阅读次数:
AI摘要
GPT

什么是Micro

Micro是一个专注于简化分布式系统的开发的微服务生态系统,是一个工具集合,通过将微服务架构抽象成一组工具,隐藏了分布式系统的复杂性,为开发人员提供了更简洁的概念。

阅读全文 »

五.gRPC

发表于 2020-03-31 | 分类于 微服务学习 | 评论: | 阅读次数:
AI摘要
GPT

什么是gRPC

gRPC是google开发的一个高性能、开源和通用的RPC框架,面向服务端和移动端,基于HTTP/2协议设计。

gRPC目前提供C、Java和Go语言版本,分别是:grpc、grpc-java和grpc-go。其中C版本支持C,C++,Node.js,Python,Ruby,Objective-C,PHP和C#。

  • git地址为 https://github.com/grpc
  • 官方英文文档 https://grpc.io/docs
  • 官方中文文档 http://doc.oschina.net/grpc
阅读全文 »

四.RPC

发表于 2020-03-23 | 分类于 微服务学习 | 评论: | 阅读次数:
AI摘要
GPT

什么是RPC

RPC(Remote Procedure Call Protocal),远程过程调度协议,是一种进程间通信方式。它允许程序像调用本地接口一样调用另一个地址空间(通常是共享网络的另一台机器上,当然也可以是本机其他服务)的过程或函数,并得到返回的结果,而不需要关心底层通信细节和调用过程。

RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

阅读全文 »

三.Proto语法

发表于 2020-03-19 | 分类于 微服务学习 | 评论: | 阅读次数:
AI摘要
GPT

文件头

1
2
3
syntax = "proto3”;
package net;
import "google/protobuf/any.proto";
  • syntax 指定 proto 版本类型;如果不指定,默认使用proto2;如果指定,则必须在文件的非空非注释的第一行;
  • package 包管理,防止不同的消息类型产生命名冲突
  • 通过import 导入其他 .proto 文件
阅读全文 »

二.ProtoBuf

发表于 2020-03-17 | 分类于 微服务学习 | 评论: | 阅读次数:
AI摘要
GPT

简介

Google Protocol Buffer(简称ProtoBuf)是一种轻便高效的结构化数据存储格式,平台无关、语言无关、可扩展,可用于通讯协议和数据存储等领域

阅读全文 »

一.什么是微服务

发表于 2020-03-17 | 分类于 微服务学习 | 评论: | 阅读次数:
AI摘要
GPT

微服务、微服务架构和微服务框架

  • 微服务架构是将复杂的系统使用组件化的形式进行拆分,并使用轻量级通讯方式进行整合的一种设计方法
  • 微服务是通过这种架构设计方法拆分出来的一个独立的组件化的应用。
  • 微服务框架是通过这种架构设计方法实现的一组软件组件,是一种可复用的体系结构
  • 微服务架构定义的精髓:“分而治之,和而用之”
阅读全文 »
1…171819…25
tianwei

tianwei

长路漫漫,上下求索

243 日志
57 分类
34 标签
GitHub E-Mail weibo
友情链接
  • 乘以零
  • 小逗嘛嘛
  • HY
  • 芷在安宁
  • kai
© 2024 tianwei 鄂ICP备2021009863号-1
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Pisces v6.6.0
位访客 人阅读