作者文章归档:zuojie@88.com

Cmake基础用法


# CMakeLists.txt 文件常用配置
# cmake最小版本
cmake_minimum_required(VERSION 3.10)

# 项目名
project(demo1)

# 设置bin目录
set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

# 将源文件目录下所有源文件保存到SRC_LIST
aux_source_directory(src SRC_LIST)

# 指定头文件目录
include_directories(include)

# 将所有源文件编译成二进制程序
add_executable(d...

阅读全文 →

k8s基础


概述(官网)

Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。

Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。 Google 在 2014 年开源了 Kubernetes 项目。 Kubernetes 建立在 Google 大规模运行生产工作负载十几年经验的基础上, 结合了社区中最优秀的想法和实践。

时光回溯

让我们回顾一下为何 Kubernetes 能够...

阅读全文 →

Gin框架表单验证


package main

import (
    "fmt"
    "github.com/gin-gonic/gin"
    "github.com/gin-gonic/gin/binding"
    "github.com/go-playground/locales/en"
    "github.com/go-playground/locales/zh"
    ut "github.com/go-playground/universal-translator&q...

阅读全文 →

grpc和protobuf


grpc

gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持. grpc/grpc The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#) - grpc/grpc

Protocol Buffer

其实 是 Google出品的一种轻量 & 高效的结构化数...

阅读全文 →

zerorpc


ZeroRPC是一个轻量级,可靠且与语言无关的产品 用于服务器端之间分布式通信的库 过程。它建立在ZeroMQ和MessagePack之上。 支持流响应 - 类似于 python 生成器 - 使 ZeroRPC 比典型的 RPC 引擎更多。内置 检测信号和超时检测故障并从故障中恢复 请求。内省能力,一流例外 命令行实用程序使调试变得容易。

# 安装zerorpc 
pip install  zerorpc

# 启动内置服务
zerorpc --server --bind tcp://*:1234 time
zerorpc --client --connect tcp://127.0...

阅读全文 →

Go基础语法练习(2)


package main

import (
    "fmt"
    "os"
)

func init() {
    // 每个包中第一个执行的函数,import时自动执行,不能被用户调用
    // 没有参数,没有返回值
    // 包中包含多个init时,调用顺序不确定
    fmt.Println("Hello Init")
}

func main() {
    //switchTest()
    //gotoTest()
    //enumTest()
    //structTest()
    ...

阅读全文 →

RPC


RPC

什么是RPC?

RPC 是远程过程调用(Remote Procedure Call)的缩写形式。

RPC 是指计算机 A 上的进程,调用另外一台计算机 B 上的进程,其中 A 上的调用进程被挂起,而 B 上的被调用进程开始执行,当值返回给 A 时,A 进程继续执行。

调用方可以通过使用参数将信息传送给被调用方,而后可以通过传回的结果得到信息。而这一过程,对于开发人员来说是透明的。

  • 远程过程调用采用客户机/服务器(C/S)模式。
  • 请求程序就是一个客户机,而服务提供程序就是一台服务器。
  • 和常规或本地过程调用一样,远程过程调用是同步操作,在远程过程结果返回之前,需要暂时中止请求程...

阅读全文 →