Mac Golang 开发环境配置

Mac Golang 开发环境配置 Golang 介绍 Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。由罗伯特·格瑞史莫,罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go,稍后Ian Lance Taylor、Russ Cox加入项目。Go是基于Inferno操作系统所开发的。Go于2009年11月正式宣布推出,成为开放源代码项目,支持Linux、macOS、Windows等操作系统。在2016年,Go被软件评价公...阅读全文

Segmentfault 2020-02-29 14:32:39 leone

一款属于自己的云笔记【Vue+gin+elementUI前后端分离开发部署】

前言 ** 我为什么要写一个个人的云笔记? ** (⊙o⊙)…额额额😄。。。这件事儿还得从一只蝙蝠说起...... 好了(:з」∠)不想扯了...... 有以下几个原因: 突然发现有道云笔记不是自己的 我的隐私都在别人的库里😱。并且一直想有一个自己的云笔记。 打开全球最大同性交友平台gay....嗯嗯嗯...错了,Github。发现开源的云笔记软件很少几乎没有 想做一个前后端分离的项目,并且想开源分享给大家。 一只蝙蝠的传说。(大家应该清楚🙃) 以上就是我一时冲动,不对。。。一时兴起,所以抄起我...阅读全文

简书 2020-02-29 09:32:48 biningo

Grpc — 整体性能测试

当然最最最重要的就是性能,在使用RPC的场景下对于多个程序通讯完成业务所消耗的性能是有巨大挑战的,笔者也做了一套完整的性能测试大家可以继续往下看。 附上: 喵了个咪的博客:w-blog.cn 博文实例demo:GitHub - sunmi-OS/grpc-php-to-golang-demo grpc官网:grpc / grpc.io protobuf代码仓库:Releases · protocolbuffers/protobuf · GitHub 一,服务器配置 E5 - 2680V2 * 4...阅读全文

简书 2020-02-28 21:33:26 文振熙

Linux 守护进程创建原理及简易方法

1:什么是Linux下的守护进程 Linux daemon是运行于后台常驻内存的一种特殊进程,周期性的执行或者等待trigger执行某个任务,与用户交互断开,独立于控制终端。一个守护进程的父进程是init进程,它是一个孤儿进程,没有控制终端,所以任何输出,无论是向标准输出设备stdout还是标准出错设备stderr的输出都被丢到了/dev/null中。守护进程一般用作服务器进程,如httpd,syslogd等。2:进程,进程组,会话,控制终端之间的关系 因为守护进程的创建需要改变这些环境参数,所...阅读全文

简书 2020-02-28 21:33:04 linux大本营

如何正确的开始用 Go 编程

本文会演示简单的Go软件包的开发过程,并介绍了go命令行工具,这是我们获取,构建和安装Go软件包和命令的标准方法。go工具要求你以特定方式组织代码。我们会介绍Go安装启动和运行的最简单方法,一定要仔细阅读啊。组织代码结构概要Go 程序员一般会将他们的源代码存放在一个工作区中(多个项目放在一个工作区)工作区中包含许多由 git 管理的代码仓库(也可以是其他版本控制工具管理的)每个代码仓库包含一个或者多个 Go package每个 package 由单一目录下的一个或多个Go 源码文件组成packa...阅读全文

简书 2020-02-28 21:33:02 Java天天

从 Authy 导出 TOTP token 的方法

本文采用 CC BY-NC-SA 2.5 CN 协议授权。 基于 Ubuntu 18.04(普通用户),其他 Linux 系统大同小异。 Golang 官网:https://golang.org/ Github 仓库:https://github.com/alexzorin/authy 安装 Golang 下载 golang 由于 ubuntu apt 源中的 golang 版本为 1.10,无法运行用于导出 token 的应用,所以我们需要手动下载安装 golang 的最新版本。 如果已安装低...阅读全文

简书 2020-02-28 21:32:55 潘达仔

怎样高效学习Python?学Python后可以做什么?

众所周知,Python语言简洁、功能强大,被看做是人工智能时代最佳的编程语言。然而golang语言的出现正在威胁Python的地位,试图取代Python成为机器学习以及AI的主流编程语言。 Python作为人工智能的重要编程语言,无论发展前景还是就业方向,都无可限量!Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。对初学者来说,是非常友好的编程语言,从应用程序开发到文字处理、web甚至是游戏能提供支持。你要清楚到底学完Python能做哪些?然后有目标的去学习:接下来...阅读全文

简书 2020-02-28 21:32:49 千锋长沙校区

Defer

引用 golang defer实现原理 Golang之轻松化解defer的温柔陷阱 Golang中defer、return、返回值之间执行顺序的坑 使用 defer是golang提供的关键字,在函数或者方法执行完成,返回之前调用。 每次defer都会将defer函数压入栈中,调用函数或者方法结束时,从栈中取出执行,所以多个defer的执行顺序是先入后出。 Defer规则 延迟函数的参数在defer语句出现时就已经确定下来了 延迟函数执行按后进先出顺序执行,即先出现的defer最后执行 延迟函数可...阅读全文

简书 2020-02-28 21:32:46 网管同学

Alpine Linux Docker 中提示 sh: command not found

最近有项目需要上线,项目的各个服务都是由 golang 写的。启动服务直接运行编译好的二进制文件就行,于是准备使用 docker 来部署。 由于是二进制文件启动,所以采用非常精简的镜像 alpine 。( 5M 左右) 编写完 dockerfile,构建镜像无误,dockerfile 如下: FROM alpine:latest COPY target /data/ RUN chown -R games: /data/ && chmod +x /data/login WORKDIR /data/...阅读全文

休息的第二天,被通知下周一复工

2020年2月28日 周五 雨春雨贵如油,今天有段时间下得好大。阳台不是矩形的,所以放窗外的植物还有淋不到雨的。今天接收的信息量好大,原本以为还能休2周,突然下周一就要来上班了。不过下半周却又不一定。这下离线的任务又不能算离线了,反反复复,极大削弱了计划性。接触Go-micro的时候,还查到了go-kit,不过前者是微服务框架,后者的定位是工具集。有人测评Go-micro的性能不大好,后来看文档,有描述“性能不是目前最关注的问题”。性能其实是一个相对的问题,golang在诞生了gin、iris等...阅读全文

简书 2020-02-28 21:32:45 漫步空中

Swoole 开发框架 imi v1.1.0 发布,重磅引入 Partial 概念

imi 是基于 PHP Swoole 的高性能协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 服务的开发。 在 Swoole 的加持下,相比 php-fpm 请求响应能力,I/O密集型场景处理能力,有着本质上的提升。 imi 框架拥有丰富的功能组件,可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。 首创毫秒级的注解及代码热更新重启,让你在开发时只管...阅读全文

Segmentfault 2020-02-29 14:32:39 宇润

Golang连接池的几种实现案例

因为TCP的三只握手等等原因,建立一个连接是一件成本比较高的行为。所以在一个需要多次与特定实体交互的程序中,就需要维持一个连接池,里面有可以复用的连接可供重复使用。 而维持一个连接池,最基本的要求就是要做到:thread safe(线程安全),尤其是在Golang这种特性是goroutine的语言中。 实现简单的连接池 type Pool struct { m sync.Mutex // 保证多个goroutine访问时候,closed的线程安全 res chan io.Closer //连接存...阅读全文

掘金 2020年02月28日 Xiao淩求个好运气

Golang 1.14 发布 | 云原生生态周报 Vol. 39

作者 | 陈俊、何淋波、李鹏、宋净超 业界要闻 Golang 1.14 发布 Golang Release 了 1.14 版本。该版本包含生产级别 go module,改进 defer 性能,以及 Goroutine 抢占等功能。 Cilium 1.7 版本发布 Cilium 是一款开源软件,负责以透明方式提供并保护由 Linux 容器管理平台(例如 Kubernetes)部署完成的各应用程序服务间的网络与 API 连接。 Contributor Summit Amsterdam Schedul...阅读全文

Segmentfault 2020-02-29 14:32:38 阿里巴巴云原生

面试:从尾到头打印链表

题目:从尾到头打印链表 要求:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例: ` 输入:head = [1,3,2] 输出:[2,3,1] ` 限制: 0 <= 链表长度="" <="10000 题解1:递归法 因为是从尾到头返回每一个节点的值,所以很容易想到如果从最后的节点将值放入数组中,然后再往前逐步将数据放入数组,最后回到头节点返回即可,可以想到递归就能轻松做到,只要注意递归函数的结束条件即可。 /** * Definition for singly-link...阅读全文

掘金 2020年02月28日 若鱼治水

面试:从尾到头打印链表

题目:从尾到头打印链表 要求:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 10000 题解1:递归法 因为是从尾到头返回每一个节点的值,所以很容易想到如果从最后的节点将值放入数组中,然后再往前逐步将数据放入数组,最后回到头节点返回即可,可以想到递归就能轻松做到,只要注意递归函数的结束条件即可。 /** * Definition for singly-linked list...阅读全文

Segmentfault 2020-02-29 14:32:38 若鱼治水

图解kubernetes中Pod生命之初的坎坷历程

kubernetes中的容器创建无疑是个复杂的过程,涉及内部各种组件的统一协作,还有对接外部的CRI运行时,本文尝试初探一下容器创建流程中的各种细节,了解其各种组件协作流程,从而在后续出现问题的时候,也好能大概有点排查方向 1. 基础筑基 1.1 容器管理线程模型 kubelet中的线程模型属于master/worker模型,通过单master来监听各种事件源,并为每个Pod创建一个goroutine来进行Pod业务逻辑的处理,master和worker之间通过一个状态管道来进行通信 1.2 基...阅读全文

掘金 2020年02月28日 8小时_2020

图解kubernetes中Pod生命之初的坎坷历程

kubernetes中的容器创建无疑是个复杂的过程,涉及内部各种组件的统一协作,还有对接外部的CRI运行时,本文尝试初探一下容器创建流程中的各种细节,了解其各种组件协作流程,从而在后续出现问题的时候,也好能大概有点排查方向 1. 基础筑基 1.1 容器管理线程模型 kubelet中的线程模型属于master/worker模型,通过单master来监听各种事件源,并为每个Pod创建一个goroutine来进行Pod业务逻辑的处理,master和worker之间通过一个状态管道来进行通信 1.2 基...阅读全文

Segmentfault 2020-02-29 14:32:37 仔仔

Go Sync.Pool作用及遇到的坑

Go版本1.13.1 Go中有sync.Pool类型,我们可以把它理解成存放临时值的容器,之所以加上“临时”两个字,是因为它会在GC过程的STW步骤被清理。 sync.Pool类型使用前可以给它的New字段赋值,New字段类型是func() interface{},一个函数类型,该函数一般在池内为空的时候才会调用 sync.Pool有两个公开的方法,一个Put,一个Get,作用看函数名就知道了 Go的并发模型是GMP模型,sync.Pool给每个P都建立了本地池,一个本地私有池,一个本地共享池,...阅读全文

Segmentfault 2020-02-29 14:32:36 iuoui