十五条有用的Golang编程经验

原文:15LessonsinGolang作者:JasonKulatunga翻译:雁惊寒 摘要:本文作者在很短的时间内就从对Golang一无所知到开发出真正的产品。在学习Golang的过程中,他总结出十五条编程经验以分享给读者。以下是译文。像许多其他的开发者一样,我听到过很多有关Golang的传闻。也许你还不熟悉它,那么我告诉你,它是Google开发的开源语言。我之所以对Golang感兴趣,是因为它是一种静态类型编

  • 0
  • 1
  • 发布于 2020-04-18 12:39
  • 阅读 ( 99 )

Python运维之路——协程、事件驱动与异步IO

协程的概念 协程,又称微线程,coroutine。是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,回复先前保存的寄存器上下文和栈。因此,协程能保持上一次调用的状态(即所有局部状态的一个特定组合),每次过程重如时,就相当于进入上一次调用的状态,换种说法:进入上一次离开时

  • 0
  • 1
  • 发布于 2020-03-08 17:00
  • 阅读 ( 369 )

Redis数据库看这一篇文章就够了

https://www.tuicool.com/articles/aIvyyii 前言 redis作为nosql家族中非常热门的一员,也是被大型互联网公司所青睐,无论你是开发、测试或者运维,学习掌握它总会为你的职业生涯增色添彩。 当然,你或多或少已经了解redis,但是你是否了解其中的某些细节,本片文章将详细介绍redis基础,后续也会介绍其高级部分如、持久化、复制、集群等内容,希望对你有所帮助。 自redis3.0发布已

  • 0
  • 1
  • 发布于 2020-03-08 16:57
  • 阅读 ( 273 )

菜鸟教程之工具使用——Mac(OSX)下媲美XShell的神器Termius

文章目录简介特点软件环境配置配置项配置密钥配置说明配置主机配置项结束 简介 XShell的大名不用多说,称它为Windows平台最好用的远程终端不为过吧。唯一不足的地方就是它只有Windows版本。所以今天跟大家介绍一款全平台的远程终端——Termius。Termius不仅涵盖了Windows、Linux、OSX,还变态得支持Android和iOS(以后在地铁、公交上都可以随时拿出手机来排查线上问题啦,还真是广

  • 0
  • 1
  • 发布于 2020-03-08 16:48
  • 阅读 ( 5504 )

微服务架构—自动化测试全链路设计

背景 被忽视的软件工程环节-DEVTESTOPS 微服务架构下测试复杂度和效率问题 开发阶段unitTestmock外部依赖 连调阶段mock外部依赖 自动化测试阶段mock需求 autoTestMockGateway浮出水面 轻量级版本实现 整体逻辑架构 将mockparameter纳入服务框架标准requestcontract 使用AOP+RestEasyHttpClientRequestSPI初步实现Mock 总结 背景 从SOA架构到现在大行其道的微服务架构,系统越拆越小,整体架构的复杂度也是

  • 0
  • 1
  • 发布于 2020-03-08 16:02
  • 阅读 ( 303 )

MySQL插入索引太慢,加参数 DELAY_KEY_WRITE

插入大数据时,有索引会很慢,可以DISABLEKEYS,或者直接在table中加入DELAY_KEY_WRITE1.LOCKTABLES`test`WRITE;ALTERTABLE`test`DISABLEKEYS;INSERTINTO`test`VALUES(1,'???',80,1),(2,'???',90,2),(1,'李四',80,3),(2,'王五',90,4),(1,'aa',12,5),(3,'aa',123,6),(4,'aadwa',123,7);ALTERTABLE`test`ENAB

  • 0
  • 1
  • 发布于 2020-03-08 14:32
  • 阅读 ( 163 )

Go interface实现原理

1前言 1.1Go汇编  Go语言被定义为一门系统编程语言,与C语言一样通过编译器生成可直接运行的二进制文件。这一点与Java,PHP,Python等编程语言存在很大的不同,这些语言都是运行在基于C语言开发的虚拟机上,如果想深入了解运行原理只需要看懂对应的C语言开发的虚拟机(绝大部分程序员应该都对C语言有基本的了解)。但是如果想深入学习Go语言,就需要对基本的汇编指令

  • 0
  • 1
  • 发布于 2020-03-07 20:39
  • 阅读 ( 544 )

更新数据时redis缓存与数据库数据不一致的问题

最初级的缓存不一致问题及解决方案 问题:先修改数据库,再删除缓存。如果删除缓存失败了,那么会导致数据库中是新数据,缓存中是旧数据,数据就出现了不一致。 解决思路:先删除缓存,再修改数据库。如果数据库修改失败了,那么数据库中是旧数据,缓存中是空的,那么数据不会不一致。因为读的时候缓存没有,则读数据库中旧数据,然后更新到缓存中。 比较复

  • 0
  • 1
  • 发布于 2020-03-07 19:11
  • 阅读 ( 411 )

深入浅出 gRPC 01:gRPC 服务端创建和调用原理

目录 1.RPC入门 1.1RPC框架原理 1.2业界主流的RPC框架 1.3gRPC简介 1.3.1gRPC概览 1.3.2gRPC特点 2.gRPC服务端创建 2.1服务端创建业务代码 2.2服务端创建流程 2.3服务端service调用流程 2.3.1gRPC请求消息接入 2.3.2gRPC消息头和消息体处理 2.3.3内部的服务路由和调用 2.3.4响应消息发送 3.源码分析 3.1主要类和功能交互流程 3.1.1gRPC请求消息头处理 3.1.2gRPC请求消

  • 0
  • 1
  • 发布于 2020-03-07 15:53
  • 阅读 ( 468 )

Mysql和MongoDB性能对比及应用场景分析

一、前言 为什么调研MongoDB?   下图是DB-Engines2017年8月数据库的排名统计,可以看到MongoDB总排名在第5,在Nosql数据库中排名第1。 优点: 1)社区活跃,用户较多,应用广泛。 2)MongoDB在内存充足的情况下数据都放入内存且有完整的索引支持,查询效率较高。 3)MongoDB的分片机制,支持海量数据的存储和扩展。 缺点: 1)不支持事务 2)不支持join、复杂查询 初步调研下

  • 0
  • 1
  • 发布于 2020-03-07 15:41
  • 阅读 ( 397 )

云原生的浪潮下,为什么运维人员适合学习Go语言?

本文旨在为使用Go语言提供一个新的视角。你不要指望在这篇文章里看到代码或者学到什么新东西,我只是提供了一个开放的新视角,并将它分享给正在寻找新解决方案的系统运维/DevOps/Observability工程师们。不久前,系统运维还是一个很常见的工作岗位,这个岗位负责更新软件、配置网络和编写bash脚本。然后DevOps出现了——这是开发人员与运维人员之间的一个交汇点。现在,

  • 0
  • 1
  • 发布于 2020-03-07 12:17
  • 阅读 ( 353 )

在阿里,我们如何管理测试环境

作者:林帆(花名金戟),阿里巴巴研发效能部技术专家 相关阅读:在阿里,我们如何管理代码分支 前言 阿里的许多实践看似简单,背后却蕴涵着许多思考,譬如测试环境的管理。 互联网产品的服务通常是由Web应用、中间件、数据库和许多后台业务程序组成的,一套运行环境就是一个自成一体的小生态。最基本的运行环境是线上环境,部署产品的正式发布版本,为用户提供

  • 0
  • 1
  • 发布于 2020-03-07 10:45
  • 阅读 ( 259 )

2019年Linux云计算高级架构师进阶实战班视频教程

Linux云计算高级架构师进阶实战班视频教程下载。2019元旦巨献,价值5970元架构师课程,全套教程将近50GB。Linux云计算架构师进阶班-Docker-K8s-Devops-Openstack,课程全面升级。本课程包括Linux网络基础实战,系统配置及服务深度解析、Shell脚本自动化运维项目开发、开源数据库MySQLDBA架构及优化、主流web服务器Nginx架构优化、大型网站高并发项目LVS实战方案、高可用集群技术、分布式

  • 0
  • 1
  • 发布于 2020-03-07 10:40
  • 阅读 ( 434 )

linux服务器与磁盘IO(二)用户缓存和内核缓存

在服务器工作阶段,会出现大量得输入输出数据,这些数据不会被立即写入磁盘中。 linux系统中分为用户空间和内核空间,用户空间中有一个缓存区,用来暂时存放输入输出数据,等缓存区被放满了,再写入磁盘中,由于磁盘得读写速度和次数有限,这样做是为了提高读写效率和减少磁盘IO的读写次数。 那么,什么情况下缓存区的数据会被写入磁盘呢,有以下几种: 1、换行

  • 0
  • 1
  • 发布于 2020-03-06 22:35
  • 阅读 ( 148 )

Go语言中关于切片容量与其底层指针的思考

Go语言中的切片是常用的一种数据类型,其中切片的底层是数组,切片常用的属性有长度和容量。 其中长度很容易理解,但是容量相对复杂一些。 切片提供了计算容量的函数 cap() 可以测量切片最长可以达到多少:它等于切片的长度+数组除切片之外的长度。 以下有几个实例,第一: slice:=[]int{10,20,30,40,50} newSlice:=slice[1:3] testSlice:=slice[1:2] fmt.Println("capslice:",cap(slice)) fmt.Prin

  • 0
  • 1
  • 发布于 2020-03-01 23:25
  • 阅读 ( 261 )

百度apollo - Apollo简介:2. 安装以及运行

1.安装Ubuntu14.04,pass。 2.安装Ros-indigo 2.1添加源 sudosh-c'echo"debhttp://packages.ros.org/ros/ubuntutrustymain">/etc/apt/sources.list.d/ros-latest.list' wgethttp://packages.ros.org/ros.key-O-|sudoapt-keyadd- 2.2更新源 sudoapt-getupdate 2.3

  • 0
  • 1
  • 发布于 2020-03-01 23:17
  • 阅读 ( 4848 )

gin框架swagger的使用的坑

1.goget-ugithub.com/swaggo/swag/cmd/swag 下载这个包的时候可能会遇到这种情况:dialtcp216.239.37.1:443:i/otimeout,如图 packagegolang.org/x/text/unicode/bidi:unrecognizedimportpath"golang.org/x/text/unicode/bidi"(httpsfetch:Gethttps://golang.org/x/text/unicode/bidi?go-get=1:dia

  • 0
  • 1
  • 发布于 2020-03-01 22:35
  • 阅读 ( 1555 )

用Python自动办公,做职场高手(完结)

教程目录: ┣━07.S2Word自动化处理,又快又好做文档 ┃  ┣━36本章介绍 ┣━08.【Word】S2-1轻松用Python快速生成Word文档 ┃  ┣━45.【真实案例】S2-1-3批量生成50份不同乙方的合同 ┃  ┣━38.【视频讲解】S2-1-1用Python套用Word模版,再也不做重复工作 ┃  ┃  ┣━【视频讲解】S2-1-1用Python套用Word模版,再也不做重复工作 ┃  ┣━42.【视频讲解】S2-1-2用Python给Word添加图片

  • 0
  • 1
  • 发布于 2020-03-01 21:51
  • 阅读 ( 835 )

k8s mysql+nginx部署

一、kubernetes集群 kubernetes集群安装参照https://blog.csdn.net/luhost/article/details/99191469 二、部署mysql8.0 新建mysql-rc.yaml和mysql-svc.yaml,分别如下: mysql-rc.yaml: apiVersion:v1 kind:ReplicationController metadata: name:mysql-rc labels: name:mysql-rc spec: replicas:1 s

  • 0
  • 1
  • 发布于 2020-03-01 21:51
  • 阅读 ( 380 )

开源与自研:自动化运维平台从0到1的三段式探索

本文根据DBAplus社群第133期线上分享整理而成。俗话说利用开源可以避免重复造轮子,自研是当开源已经满足不了实际的业务需求的时候就要自行编程开发。两者的共同目标就是实现自动化目的。   讲师介绍   随着业务规模的逐渐增大,IT运维的环境变得庞大而复杂。传统的运维手段已无法满足我们的要求,而自动化运维能把周期性、重复性、规律性的工作交给平台去处理,

  • 0
  • 1
  • 发布于 2020-03-01 20:42
  • 阅读 ( 1000 )

今天,有什么经验需要分享呢?

立即撰写

热议话题 »