k8s 面向应用开发者的基础命令

随着容器技术的发展,k8s 也越来越火热。在网络上有许多关于 k8s 的文章,但大部分都是关于集群部署相关的, 而这篇文章主要讲作为应用开发者如何使用 k8s 。 准备 brew install kubectl kubectl 是 k8s 的命令行工具,用于管理 k8s 集群。以上是 Mac 下的安装方法,其它操作系统参考官方文档。当然,你也可以使用 Dashboard 管理容器。 Cluster k8s 集群,一般生产环境有一个 Cluster 集群,测试环境有一个 Cluster 集群。 N...阅读全文

Segmentfault 2018-07-18 18:34:54 shanyue

go语言之行--golang操作redis、mysql大全

一、redis 简介 redis(REmote DIctionary Server)是一个由Salvatore Sanfilippo写key-value存储系统,它由C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value类型的数据库,并提供多种语言的API。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支...阅读全文

博客园 2018-07-18 17:00 wdliu

Terraform 开发指南

本文主要向大家展示如何为阿里云 Terraform Provider 贡献自己的力量,帮助开发者和志同道合的朋友尽快加入到开源生态的建设中来。本文面向所有的对Terraform熟悉和感兴趣的朋友,如果您还不了解Terraform,快快戳这里。本文会从环境搭建和开发规范两个方面向大家展示如何开放 terraform provider。环境搭建安装 Golang本地安装go >1.10.0 详见:https://golang.org/dl/安装 Terraform本地安装 Terraform > 0...阅读全文

简书 2018.07.18 15:55 阿里云云栖社区

Go 语言二次封装数组

模拟动态数组的实现(自动扩容),完成数组的增删查改操作: 自定义的数组结构 type Array struct { data []interface{} // 泛型数组 size int // 元素数量 } 数组的接口 type ArrayInterface interface { // 添加 Add(int, interface{}) // 插入元素 AddLast(interface{}) AddFirst(interface{}) // 删除 Remove(int) interface{}...阅读全文

Segmentfault 2018-07-18 16:34:52 Donng

帮hr发一个招聘贴,外企、游戏行业(几乎不加班)、坐标中关村

游戏后端高级开发工程师 JD (外企, 不加班,待遇优厚,坐标中关村) Senior Backend Engineer 要求: * 3年及以上后端开发经验,参与过大规模游戏或其他互联网项目,熟悉常用的后端服务水平扩展方案 * 熟悉golang(优先)/node.js/python中的一个或多个 * 熟悉至少一种关系型数据库(MySQL/PostgreSQL)和一种NoSQL数据库(MongoDB/Redis等) * 熟练掌握 linux 操作系统的使用 * 技术基...阅读全文

Go语言中文网 2018-07-18 16:17:05 beiyannanfei

Python面试难吗?看完这个你就知道啦!

1.*args和**kwargs是什么意思?答:*args表示可变参数(variadic arguments),它允许你传入0个或任意个无名参数,这些参数在函数调用时自动组装为一个tuple; **kwargs表示关键字参数(keyword arguments),它允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。同时使用*args和**kwargs的时候,必须保证*args在**kwargs之前。2.python里面如何拷贝一个对象?答:(1) 赋值(=),...阅读全文

Go语言中文网 2018-07-18 15:00:18 lnh2017

扣丁学堂区块链2.0技术以太坊私有链搭建和geth客户端使用

在2018年相信大多数都了解过区块链开发技术,它分为三个架构:1.0、2.0、3.0,今天我们讲的是区块链2.0技术以太坊私有链搭建和geth客户端使用的详细介绍。 ​ geth客户端的安装 使用安装包安装 sudoapt-getinstallsoftware-properties-common sudoadd-apt-repository-yppa:ethereum/ethereum sudoapt-getupdate sudoapt-getinstallethereum 使用源码编译,搭建g...阅读全文

简书 2018.07.18 13:43 扣丁学堂

Go 语言的 append 不总是线程安全的

## 示例问题 我经常看到一些 bug 是由于没有在线程安全下在 slice 上进行 append 而引起的。下面用单元测试来举一个简单的例子。这个测试有两个协程对相同的 slice 进行 append 操作。如果你使用 `-race` flag 来执行这个单元测试,效果更好。 ```go package main import ( "sync" "testing" ) func TestAppend(t *testing.T) { x := []stri...阅读全文

Go语言中文网 2018-07-18 14:30:43 lightfish-zhang

Go语言基础-sync包

Golang 推荐通过 channel 进行通信和同步,但在实际开发中 sync 包用得也非常的多,在以太坊的源码中也有很多这类应用的体现。 Go sync包提供了:sync.Mutex,sync.RMutex,sync.Once,sync.Cond,sync.Waitgroup,sync.atomic等,文本主要对sync.Mutex,sync.RMutex和sync.Waitgroup的使用进行了说明,后续会推出其它方法的使用说明。 sync包含一个 Locker interface: ty...阅读全文

简书 2018.07.18 06:51* 北枫晴天

Golang vs PHP 之文件服务器

前面的话 作者为golang脑残粉,本篇内容可能会引起phper不适,请慎读! 前两天有同事遇到一个问题,需要一个能支持上传、下载功能的HTTP服务器做一个数据中心。我刚好弄过,于是答应帮他搭一个。 HTTP服务器,首先想到的就是PHP + nginx。于是开撸,先写一个PHP的上传 <?php if ($_FILES["file"]["error"] > 0) { echo "错误:: " . $_FILES["file"]["error"] . "<br>"; } else { if (fi...阅读全文

简书 2018.07.18 00:48* 李嘉的博客

Golang学习笔记-1.9 for循环

本文系第九篇Golang语言学习教程 Go语言只有For这一种循环语句。For循环有三种形式,只有其中一种使用分号。 与其他语言for类似 for init; condition; post { } 和while类似 for condition { } 和其他语言for {;;}类似 for { } init:一般为赋值表达式,为循环变量赋初值 condition:循环控制条件,关系表达式或逻辑表达式 post:一般为赋值表达式,给循环变量增量或减量 下面通过几个例子来理解循环 例1 packa...阅读全文

golang中json.Number妙用

最近跟某斯调试一个API接口,接口返回数据是json格式 ,按文档描述是一个整型数据,于是定义如下 type Data struct { Api int `json:"api"` } 在入参相同的情况下,第一次调用,得到的结果是: {"api":1} 然而第二次调用,得到结果却是: {"api":"1"} 与对方开发人员沟通后发现这是一个bug,由于流程问题,没办法立即修改上线,想想还是我做兼容比较好,效果是既能解析于{"api":1},也能够解析{"api":"1"},于是我想到了json.N...阅读全文

Go 开发环境配置

Golang是Google开发的一种编译型,平行化编程语言。具有简洁、快速、安全。善于内存管理、数组安全,并且编译迅速 Go语言设计支持主流的32位和64位的x86平台,同时也支持32位的ARM架构。Go语言在Go1版本上支持Windows, 苹果Mac OS X, Linux和FreeBSD操作系统。 当然,一切语言的学习都从搭建环境开始(macOS) 使用 HomeBrew 安装 Homebrew 安装参考:http://brew.sh/ $ brew install go ==> Down...阅读全文

Linux(Ubuntu)安装go语言环境

心血来潮把笔记本换成了Linux Mint系统,于是分享一下在linux下安装golang的经验 安装 首先,可以直接用命令行来安装最新版本的go: apt install golang 在这里主要介绍手动安装的过程,先到官网下载最新安装包:go download 选择linux版本,下载完毕后,解压到/usr/local下: tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz 配置环境变量 编辑/etc/profile文件,添加到末尾: exp...阅读全文

使用JWT做RESTful API的身份验证-Go语言实现

使用JWT做RESTful API的身份验证-Go语言实现 在 使用Golang和MongoDB构建 RESTful API已经实现了一个简单的 RESTful API应用,但是对于有些API接口需要授权之后才能访问,在这篇文章中就用 jwt 做一个基于Token的身份验证,关于 jwt 请访问 JWT有详细的说明,而且有各个语言实现的库,请根据需要使用对应的版本。 image 需要先安装 jwt-go 接口 go get github.com/dgrijalva/jwt-go 新增注册登录接口...阅读全文

简书 2018.07.17 19:46 CoderMiner

基于gin框架快速开发应用(实战类型项目)

### 技术选型 框架: gin 日志处理: zap orm: gorm 优雅重启HTTP服务: gracehttp 测试框架: ginkgo ### 接口风格 RESTFUL ### 项目结构 * api - handler函数 * route - 路由注册 * model - 数据模型以及数据库操作 * doc - 接口文档 * log - 日志处理 * config - 配置文件 * tools - 公共工具类 * ven...阅读全文

Go语言中文网 2018-07-17 19:52:14 KenmyZhang

蚂蚁金服分布式中间件开源第三弹: 下一代微服务SOFAMesh

小蚂蚁说:4月,蚂蚁金服自主研发的分布式中间件(Scalable Open Financial Architecture,以下简称 SOFA )启动开源计划,并开放多个组件,(相关背景请点击链接阅读《开源 |蚂蚁金服启动分布式中间件开源计划,用于快速构建金融级云原生架构》、《开源 | 蚂蚁金服分布式中间件开源第二弹:丰富微服务架构体系》),这一系列的动作受到大家的关注和支持,SOFA社区也日益壮大。在两轮开源之后,蚂蚁金服自主研发的分布式中间件(Scalable Open Financial A...阅读全文

简书 2018.07.17 14:10 阿里云云栖社区

使用gofmt格式化代码

对于一门编程语言来说,代码格式化是最容易引起争议的一个问题,不同的开发者可能会有不同的编码风格和习惯,但是如果所有开发者都能使用同一种格式来编写代码,开发者就可以将宝贵的时间专注在语言要解决的问题上。 gofmt介绍 Golang的开发团队制定了统一的官方代码风格,并且推出了gofmt工具(gofmt或go fmt)来帮助开发者格式化他们的代码到统一的风格。gofmt是一个cli程序,会优先读取标准输入,如果传入了文件路径的话,会格式化这个文件,如果传入一个目录,会格式化目录中所有.go文件,如...阅读全文

简书 2018.07.17 13:27 simpleapples