Go语言中文网 为您找到相关结果 348

如何利用golang 反射值来定义一个变量

之前写java的时候就已经知道了有反射这个概念,看过一遍文章专门介绍了一下java的反射机制,不过现在忘记了。 今天写一个通用函数的时候要对传入的参数经行类型判断,还要定义与其像同类型的变量经行取址运算,baidu, google,golang reflect包也看了好久,也没看到将返回值来定义个变量的办法。最后在一篇博客中得到灵感—–>点击可以看看。 这篇文章中没有告诉怎么将反射值去定义一个变量,但看完之后思考一下,既然要返回一个类型,但是类型又是不确定的,若存在这样一个返回变量的函数,则其返回类型必是Interface,在官网文档里找返回类型是Interface的函数,就是它了,它是Value类型的一个函数,所以就不能使用reflect.TypeOf(i interface{})来操作了...阅读全文

博文 2016-03-28 05:00:01 Tangs_

在Go包里添加C代码并且不使用CGO(不需要gcc)

如果go代码里使用了cgo,那么编译的时候电脑上必须按照gcc才能正确编译 这篇文章展示了如何用c写一个包让go调用并且不需要使用cgo A 需要注意的: 1. C代码天生的不安全 2. Go1的兼容性保证不包括C代码 3. C函数不能inline 4. 逃逸分析不能跟踪传递到C函数里的value (逃逸分析:http://kenwublog.com/jvm-optimization-escape-analysis) 5. C编译器(5c,6c,8c)没有对应的Go编译器优化做的好,因此生成的代码也许没有Go代码优化的那么好 6. C代码是plan9风格的,与C89较相似 B 返回的方式 第一个例子是一个简单的返回true的函数:True void ·True(bool res) { res...阅读全文

博文 2015-01-13 22:16:22 varding

一步一步教你写BT种子嗅探器之一---原理篇

之前看到 lantern 这个十分火的翻墙工具,其利用了P2P的思想,就想了解一下P2P相关的协议。看了下最流行的BT协议官方文档,就产生了实现BT协议的想法,顺便根据协议实现了一个BT种子嗅探器。 也有人将BT种子嗅探器称为BT种子爬虫,个人觉得其行为特性和传统的web爬虫相差较大,反而和嗅探器很类似,因此暂且称之为BT种子嗅探器吧。 接下来将写一系列文章来介绍其原理和具体实现方式。这篇文章先提纲挈领,介绍其工作原理,以对全局有一个把握。后序的文章再介绍具体细节。 背景知识 在讲原理之前首先你得具备BitTorrent(简称BT)协议的一些基本知识,以便于理解接下来要讲的嗅探器。BT协议其实是一个协议簇,BEP-3 是其基本协议内容,其他的大部分都是围绕这个来进行扩展或补充。要想从BT网络...阅读全文

博文 2017-02-09 08:32:12 shiyanhui

说说c, c++ 和 go

今天接触到了Go语言, 请原谅我现在才接触到Go, 之前听云风大神说起过, 但我总把它和易语言混淆了, 导致我没有更早的了解到这个语言. 就在一年多前, 那个时候的我还是对C++无比的热爱, 认为c++是做后台服务器的不二选择. 那个时候总认为c 跟 c++是一家的, 所以我总爱标榜自己为c/c++程序员. C++虽然完全兼容了C(这是优点, 也是C++致命的缺陷), 但是C++跟C的设计思想可以说是很不一样的, 具体说起来可以参见云风关于C++和C的一些讨论. 对C++的认识随着自己做聚能推项目不断加深, 我了解几乎所有c++的特性, 但说实在的, 我能用上的特性真的不多. 我也试图研究那些神一般的模板元编程, 但我实在是研究不下去, 因为我觉得这么复杂的的实现, 只是为了那么一点点的效率...阅读全文

博文 2014-10-04 19:26:53 winkyao

Golang 语言基础之六: string, pointer

Golang 语言基础之六: string, pointer Golang 语言基础系列: Golang 语言基础之一: type, variable, constant Golang 语言基础之二: for, ifelse, switch Golang 语言基础之三: array, slice Golang 语言基础之四: map, range Golang 语言基础之五: function Golang 语言基础之六: string, pointer Golang 语言基础之七: struct, method Golang 语言基础之八: interface Golang 语言基础之九: error, panic, recover Golang 语言基础之十: goroutine, ch...阅读全文

博文 2017-02-10 13:40:49 Xiaohui Wang

阿里架构精心整理出来一份(Nginx实战.pdf)资料,请签收!

前言Nginx 很火,因为它就像一个万能药,在任何存在性能需求的场合总能找见它的身影,它可以轻松在百万并发连接下实现高吞吐量的 Web 服务。同时,类似于 OpenResty 和 Tengine 这样的第三方模块群,进一步发展出了新生态,使 Nginx 的应用进一步向应用防火墙、CDN 等领域扩展。由于平台文章篇幅限制,需要获取Nginx实战核心知识点的pdf文档帮忙转发分享此文然后加入我的Java进阶架构Q群:723890152(点击群号即可立即加入)免费获取目录第 1 章 Nginx 简介基本介绍​第 2 章 Nginx 服务器的安装与配置 11​第 3 章 Nginx 的基本配置与优化 21​第 4 章 Nginx 与 PHP(FastCGI)的安装、配置与优化 38​第 5 章 Ng...阅读全文

博文 2019-07-29 16:30:38 wyygxly

史上最全Docker资料推送 ▎ Docker小白进阶大神计划

![](http://77fkk5.com1.z0.glb.clouddn.com/upload/image/9e505466b1f411e68333525400020562.png) 入冬了,寒风呼啸,白雪飘飘,此刻窝在家里学习应当是极好的。为了满足大家的需求,小编火速为大家整理了史上最全的Docker资料 。本篇文章堪称冬季最佳读物,冬天和学习更配哦~ ##PPT获取方式: 1.关注时速云订阅号(**tenxcloud2**), 查看历史文章; 2.找到该篇文章分享至朋友圈; 3.把朋友圈分享截图发送至该公众号; 小编会及时把资料下载链接和提取码发给你,一大波Docker干货就是你的啦。 **Tips:**活动于**2016年12月31日**截止...阅读全文

Go模块简明教程(Go语言依赖包管理工具)

Go模块是Go语言的依赖包管理工具。 Go模块的使用 1、Go1.11及以后版本才能使用。 2、Go1.11需要设置环境变量 GO111MODULE 为 on(新特性开关,按照Go语言惯例,mod首次在go1.11版本中使用,go1.12及以后版本这个设置应该不会用了)。 mod是模块英文modules的简写。 列举一些常用的命令行: go help mod查看帮助。 go mod init <项目模块名称>初始化模块,会在项目根目录下生成 go.mod 文件。参数<项目模块名称>是非必写的,但如果你的项目还没有代码编写,这个参数能快速初始化模块。如果之前使用其它依赖管理工具(比如dep,glide等),mod会自动接管原来依赖关系。 go mod tidy根据go.mod文件来处理依赖关系...阅读全文

博文 2018-08-25 14:34:57 wuyumin

golang进阶(四)——路由mux的最佳实践

前言 为了让golang的路由更加清晰,让路由的代码可读性更好,我们采用mux包去实现路由,并且在原有功能上做了精简 该系列文章所有代码放在这里 开始 所需的包github.com/gorilla/mux 我们在启动http服务时设置一下路由的配置方法 func startHttp() { if err := http.ListenAndServe(":9090", api.NewAPIMux()); err != nil { log.Fatal("ListenAndServe: ", err) } } 配置方法 api包路由的配置方法有两种,一种是api的配置,另一种的静态资源的配置(不需要为静态资源再开一台nginx) func NewAPIMux() *mux.Router { r :...阅读全文

博文 2017-11-06 12:08:28 lastsweetop

golang实现权重轮询调度算法(Weighted Round-Robin Scheduling)

最近在看golang连接mysql数据库的例子(Go-MySQL-Driver),但是想到连接数据库肯定会有连接多从库的需求,而且每个从库的权重也会不一样,参考<<权重轮询调度算法(Weighted Round-Robin Scheduling)>>这篇文章写了一个golang版本的权重轮询调度算法,请大家指教,不多说了直接上代码: package main import ( "fmt" "time" ) var slaveDns = map[int]map[string]interface{}{ 0: {"connectstring": "root@tcp(172.16.0.164:3306)/shiqu_tools?charset=utf8", "weight": 2}, 1: {"co...阅读全文

博文 2016-11-03 02:00:03 Lancerio

如何利用一个数据库中间件扩展MySQL集群

上次写了一篇有关kingshard架构设计的[文章](https://github.com/flike/kingshard/blob/master/doc/KingDoc/architecture_of_kingshard_CN.md),得到了很多热心网友的关注。其中有网友提到:希望再写一篇关于如何利用kingshard搭建一个可扩展的MySQL集群的文档。利用假期时间,写了一篇kingshard使用指南,在这篇文章中,我将结合自己对MySQL Proxy的理解,为大家讲述如何正确使用kingshard数据库中间件。 感兴趣的同学,请移步: https://github.com/flike/kingshard/blob/master/doc/KingDoc/how_to_use_ki...阅读全文

如何选择合适的分布式机器学习平台

导读:机器学习和深度学习是近年技术的热点,面对众多的机器学习平台如何进行选择,这是一个很困扰的问题。本文对分布式机器学习(ML)平台中使用的设计方法进行了调查,并提出了未来的研究方向。本文比较了机器学习平台设计方法和使用指南,是我和 Kuo Zhang 和 Salem Alqahtani 同学合作而成。 我们在 2016 年秋天写了这篇文章,并在 ICCCN'17(温哥华)提交了这篇文章。 机器学习,特别是深度学习(DL)在语音识别,图像识别和自然语言处理以及推荐/搜索引擎方面取得了成功。 这些技术在自主驾驶汽车,数字卫生系统,CRM,广告,物联网等方面都有广泛的应用。随着这些资本进入进一步推动技术变革,我们已经看到许多机器学习平台。 由于训练中涉及到的巨大的数据集和模型大小,机器学习平台通...阅读全文

GDB调试Go程序进阶

目的:使用gdb附加到一个正在运行的进程上,然后做一些调试,并安全退出。 1. 修改Ubuntu配置,允许gdb附加到进程上,如何修改如下: http://askubuntu.com/questions/41629/after-upgrade-gdb-wont-attach-to-process 2. 查看进程id #ps ax 或者 #ps au 3. 启动gdb 4. 使用file命令来指定进程所联系的程序源代码和符号表,例如: file /home/yourihua/workplace/rhino/bin/console 5. attach <进程ID> 6. 打断点,如下: b /home/yourihua/workplace/rhino/src/github.com/yourihu...阅读全文

博文 2014-10-09 16:55:02 Rhino(犀牛)

Go语言之“类”篇(一)

自本同步公众号:“灰子学技术”原文链接:https://mp.weixin.qq.com/s/uiP6tAoLRj13RZRQMNOkKA准确来说,Go语言没有类的概念,不过却有struct和interface,这篇文章主要来讲struct,因为笔者觉得这个和C++中的Class有些相似。在C++中Class有几个东西,一定要谈,它们分别是:public/protected/private属性,构造函数和析构函数,继承,函数重载。一、公私有属性1.C++中的公私有属性,一定要有关键字public, protected, private来修饰。并且这些属性的作用范围是针对类来说的,不是针对类的实例来说的,是编译阶段的概念。详细介绍参见我的另外一篇文章:private在C++中的范围2.Go中也...阅读全文

博文 2019-09-08 16:54:20 ZhDavis

Go 指南

# [Go 指导](https://openset.github.io/go-guide/) The Go programming language is an open source project to make programmers more productive. ## 目录 - [基础学习](#基础学习) - [进阶学习](#进阶学习) - [社区论坛](#社区论坛) ## 基础学习 - [官方文档](https://golang.org/doc/) - [Go wiki](https://github.com/golang/go/wiki) - [How to Write Go Code](https://golang.org/doc/code.html) - [Package...阅读全文

博文 2018-01-25 18:15:32 openset

Go 语言进阶学习路线图

友情提示:此篇文章大约需要阅读 0分钟49秒,不足之处请多指教,感谢你的阅读。订阅本站 此文章首发于 Debug客栈 |https://www.debuginn.cn 从去年开始接触学习 Go 语言,一直没有一个明确的学习方向,只是一贯的跟着视频学习,虽自己做了衍生开发的项目,但是使用的技术也是 Go 语言中的冰山一角,近期在 Github 中找到了一个 Star 比较高的 Go语言学习成长路线图,才发现自己所学的仅仅是入门而已,若想得到一个体系化的进步,在最学习的过程中要追求的是高效率的量变,促使自己得到一个可量化的质变,这才是高效的学习。 今天将 Github 中此路线图放在此处,做一个 Flag,也作自己查缺补漏的一个加油站⛽️,作为 最有潜力的高并发语言之一,相信未来 Go 语言会解...阅读全文

博文 2020-05-24 18:32:42 Meng小羽

golang进阶(二)——cobra更实用的命令行

+++ title=”golang进阶(二)——cobra更实用的命令行” date=”2017-10-11” tags=[“golang”,”glide”,”docker”] categories=[“资源管理”] description=”golang自身带的命令行包,各种case,有代码洁癖的人看着就令人头大” +++ cobra是个非常不错的命令行包,docker,hugo都在使用 基命令 首先创建一个基命令 package cmd import ( "github.com/spf13/cobra" ) var RootCmd = &cobra.Command{ Use: "gonne", Run: func(cmd *cobra.Command, args []string) { ...阅读全文

博文 2017-11-06 12:07:02 lastsweetop

How Stacks are Handled in Go

文章从C中的线程栈引入问题,讲述Go的处理方式。 第一阶段处理方式:Segmented stacks(分段栈); 现阶段处理方式:Stack copying 想了解 Goroutine 、 Stack 和 GC 内部实现的可以看看这篇文章以及相关文章 [1.How Stacks are Handled in Go](http://blog.cloudflare.com/how-stacks-are-handled-in-go/) [2.Contiguous stacks](https://docs.google.com/document/d/1wAaf1rYoM4S4gtnPh0zOlGzWtrZFQ5suE8qr2sD8uWQ/pub) [3.Conve...阅读全文

语义导入版本控制

本文译自 Semantic Import Versioning, Go & Versioning 的第 3 部分, 版权@归原文所有. 如何将不兼容的更改部署到现有软件包 ? 这是任何包管理系统中的根本挑战和决断. 问题的答案决定了所产生的系统的复杂性, 它决定了如何轻松或难以使用包管理. (它还决定如何轻松或难以实现包管理, 但用户体验更重要.) 为了回答这个问题, 这篇文章首先介绍了 Go 的导入兼容性规则: 如果旧包和新包具有相同的导入路径, 新软件包必须向后兼容旧软件包. 我们从 Go 一开始就主张这个原则, 但我们没有给它一个名字或者这样一个直接的陈述. 导入兼容性规则大大简化了使用不兼容版本的软件包的体验. 当每个不同版本具有不同的导入路径时, 关于给定导入语句的预期语义没有歧义...阅读全文

google go 语言介绍(一)

翻译自golang.org 介绍 这是一篇为熟悉c或c++语言的开发人员提供的介绍go语言的基础教程。本文不是综合性的语言指南,而更接近于语言规范。在你阅读本教程后,你可以继续阅读“如何更有效率的编写Go程序”这篇文章,更深入的了解这门语言应该如何被使用。同时,这里还提供了一个Go语言的三天教程:第一天,第二天,第三天。 接下来将通过一系列适度的例子程序来展现这门语言的关键特性。所有的程序都存放在/doc/progs/目录中。 程序片断都标注了该片断在原始文件中的行号。为了代码的清晰,空白行将被保留。 Hello,World 让我们以一种常用的方式开始我们的教程: 05 package main 07 import fmt "fmt" // Package implementing form...阅读全文

博文 2014-10-04 19:26:20 fffvvvzz

字节跳动面试题 —— 水壶问题

文作者:老钱 原文链接:https://zhuanlan.zhihu.com/p/79938638 有钱的字节跳动面试题就是这么枯燥无味! 原题:给你一个装满水的 8 升满壶和两个分别是 5 升、3 升的空壶,请想个优雅的办法,使得其中一个水壶恰好装 4 升水,每一步的操作只能是倒空或倒满。 理解了这个题目的意思之后,我们的第一个方法肯定就是使用强大的脑力来进行暴力破解法,瓶子里的水在我们的脑子里颠三倒四,但是脑子有可能没那么清晰,想了几步之后就开始出现记忆错乱,然后就不得不开始慢慢重播。 甚至到最后好不容易搞定了,但是怎么走过来的步骤又给忘记的一干二净 —— 智商好像受到了点小小的侮辱! 这道题其实有一道非常科学的解决方法 —— 广度遍历,我们将三个瓶子的状态标示为一个数。 8 0 0 然...阅读全文

博文 2020-03-17 15:33:46 Alvin老师

mac idea golang 配置

mac idea golang 配置 今天只写了最关键的地方 基本配置可以参见这篇文章 http://www.cnblogs.com/clivelee/p/3870186.html 由于golang plugin背墙了 所以idea1.4无法配置 1. 进入https://github.com/go-lang-plugin-org/go-lang-idea-plugin/releases/ 下载最新的插件 注意——-mac 直接下完整的zip文件 1.0.0 2. 打开plugins -》install plugin from disk 从硬盘安装 直接选择刚才下的zip文件 3 file - project structure - Sdks 配置go sdk 4 大功告成 $(functi...阅读全文

博文 2015-06-17 20:01:44 csapr1987

Java程序员进阶成为架构师,该掌握哪一些架构思维?

​很多人做java开发2,3年后,都会感觉自己遇到瓶颈。什么都会又什么都不会,如何改变困境,为什么很多人写了7,8年还是一个码农,工作中太多被动是因为不懂底层原理。公司的工作节奏又比较快,难有机会学习架构原理,也没人教,所以这个时候,学习架构原理,扩展思维,对自己以后职业生涯尤为重要。同样公司的两个新人,一个新人一点就通,学东西很快,有的人,学东西很慢,也很痛苦,处处都是新技术。为什么?因为那个人懂原理,万物都有规律,掌握了规律学其他东西原理相通,一触就会,不懂原理就会处处碰壁,学习很慢还很折磨。很多程序员会有一个苦恼,工作了很久,在公司一味的增删改查,得不到技术的提高,无缘底层代码,只会用不知其原理!总而言之,你缺少的不是努力,而是选择。选择比努力更重要。如果你不知道如何选择,那么我给你一...阅读全文

博文 2018-12-06 16:58:54 Javaspring12

Go:内存管理与内存清理

![](https://raw.githubusercontent.com/studygolang/gctt-images2/master/20191109-Go-Memory-Management-and-Memory-Sweep/01.png)

Illustration created for “A Journey With Go”, made from the original Go Gopher, created by Renee French.

*这篇文章基于 Go 1.13 版本。有关内存管理的讨论在我的文章 ”[Go:内存管理与分配](https://medium.com/a-journey-with-go/go-memory-man...阅读全文

博文 2020-03-12 21:14:10 shiluo

超级账本HyperLedger:Fabric Golang SDK的使用(附视频)

作者:李佶澳转载请保留:原文地址发布时间:2018/07/28 13:34:00说明HyperLedger Fabric的Golang SDK终于调通了,眼泪哗哗地。。 @2018-07-28 13:36:06操作演示、配置文件和代码讲解视频在网易云课堂《HyperLeger Fabric进阶实战课》第五章中。获取示例代码源代码托管在github:源代码地址,fabric-sdk-gogo get github.com/introclass/hyperledger-fabric-sdks-usagecd $GOPATH/src/github.com/introclass/hyperledger-fabric-sdks-usage/go准备msp和tls证书将你自己环境的crypto-conf...阅读全文

博文 2018-07-28 18:34:51 李佶澳

Go语言,编译时不生成bin目录的原因

今天照着例程想把工程管理好好研究下,忽然发现怎么都不自动生成bin目录,google半天,发现这篇文章 https://golang.org/doc/code.html 原来是GOBIN环境变量的问题,如果设置了这个环境变量,则不生成bin目录,可执行文件都存到GOBIN里了,删去,再试,ok了。 还是有必要把google的文档好好吃透下...阅读全文

博文 2015-06-17 23:02:26 zha_stef

Go 开发进程说明

Go in Go随着 Go 1.5 版本的开发,现在整个系统都是使用 Go 编写的(有一小部分汇编)C 已经成为过去时了。注: gccgo 仍然很强大 这篇文章主要探讨原始编译器 gcc为什么之前用 C 编写?启动(而且 Go 的主要目的不是作为一个编译器实现语言)为什么编译器使用 Go 重写?不单单是验证,我们还有更多实际的原因:Go 比 C 容易编写(实际上)Go 比 C 容易调试(即使没有调试器的情况下)Go 将成为你唯一需要会的语言,鼓励贡献 Go 有更好的模块化,工具链,测试工具,配置工具等等Go 很简单就能进行并行操作虽然看起来很多优势,但是还是夸的太早了:)设计文档: golang.org/s/go13compiler 为什么运行时也是用 Go 重写?我们有自己的 C 编译器来...阅读全文

博文 2015-05-29 12:00:00 叶秀兰

ElasticSearch+Spark 构建高相关性搜索服务&千人千面推荐系统 完整版

第1章 课程导学【终于遇到你】本章综合讲述了点评搜索推荐课程的项目业务背景,架构设计理念以及所需要用到的核心技术能力。第2章 项目设计【项目需求到技术方案的完美执行过程】本章中讲述了如何模拟现实情况中,点评搜索推荐项目从业务需求BRD到产品需求PRD,最终到技术方案选型,架构设计及技术落地的整个过程。第3章 项目基础搭建【业务系统之基础能力】本章中使用了SpringBoot加Mybatis框架完成基础项目能力建设,并加装通用返回值,异常处理,页面请求资源等处理方式完善业务系统的基础能力建设。第4章 基础服务之用户,运营,商户能力建设【业务系统主体实现】本章中,将项目中业务系统能力划分为C端用户层和运营后台管理层,建设了面向用户的登录注册服务与面向运营配置后台的统一权限管理,并建设了一套点评商...阅读全文

博文 2019-12-18 23:49:15 buzzttys

Go是面向对象的语言吗?

该篇文章首发于boyn.top,转载请声明 Go语言是面向对象的语言吗? 如果某个开发人员在学习Go之前,对于Java,C#那套面向对象设计方法很熟悉的人员,在学习Go的时候,面对Go中的结构体struct,接口interface等概念,也许会产生疑问:Go语言是一门面向对象的语言吗.这个问题的答案是:Yes and No. 我们来看看官方是怎么说的 Yes and no. Although Go has types and methods and allows an object-oriented style of programming, there is no type hierarchy. The concept of “interface” in Go provides a dif...阅读全文

博文 2020-03-29 17:32:42 Boyn

深研未来区块链课程培训体系

深研未来区块链课程体系 一、基础班 课程目标:通过16个学时的深研区块链基础班课程的学习,帮助学员快速掌握区块链入门的基础知识和技能,重在使学员跨越区块链认知的密码学、IT技术、经济学、数学等专业门槛,快速掌握区块链知识概貌,具备参与区块链项目实践和知识进阶学习的条件和能力。 第一课:区块链基本原理(2个学时) 区块链的定义 (区块链是什么、区块链的核心技术、比特币是什么、区块链如何对账、区块链如何实现匿名、基于区块链的交易、工作量证明) 模块二: 以太坊基本原理(2个学时) (从POW到POS、POS机制、智能合约、以太坊ETH、EOS) 模块三: 基于区块链的数字资产(2个学时) (参数修改币、共识修改币、功能拓展币、开发平台链、系统平台链、分叉币) 模块四: 区块链的应用(2个学时) ...阅读全文

博文 2018-09-10 10:34:41 shenciyou

IT江湖--这个冬天注定横尸遍野

今年江湖大事繁起,又至寒冬,冻的不仅是温度,更是人心。这两天上班途中看到多个公众号和媒体发了很多 "XXX公司裁员50%" 等等诸如此类的文章,也真是撼动人心。寒冬,比以往来的更快一些。人在江湖,身不由己。在看看诸如博客园等IT人士聚集之地,各种 "35岁该何去何从"的文章比比皆是,非危言耸听。低头冥想一下,自己也在30+的被淘汰之路。一直在问自己为什么还要写诸如此类的博文?作为一个小老鸟,虽然今天是周末,但是我还是有话要说。持续学习廉颇老矣尚能饭否?用于我们IT,我觉得是一句很讽刺的话,许多跨进30+年龄段的"勇士"还只会curd,为什么只会curd,说来可笑,多半是自己不争气(此句接收反驳)。林子之大,xxxx。看到此文的人能否回忆一下多年来自己在学习之路上是否尽力?包括小编在内,每次想...阅读全文

博文 2018-12-13 20:34:48 java技术分享师

Go资料汇总

最近用GO在练手,重写了现在公司的一点业务,写到多线程这块越发觉得爽(写的这点东西用到了多线程处理罢了),这里是进来看到的一些文章: 基础 本人是靠GO Web编程这个入门的,作者写完Beego这个框架就去Apple工作了,你们感受一下。 这里也有一系列讲述基础的文章:Golang语言基础 进阶 稍微进阶一点的可以看看这些博客: AriesDevil’s Blog,Tony Bai (现在以本人的水平,感觉想写点什么东西的时候,搜一下就能找到一篇文章正是我想要说的,而且写得很好。) 并发 这个似乎是饿了么团队写的文章,不过这个博客站点没怎么维护就几篇去年的文章。 Go语言并发与并行学习笔记(三) 以GO为例,讲述了多线程编程方面的一些内容。 Go-简洁的并发 Effective Go 出自官...阅读全文

博文 2015-06-17 20:07:19 java_4_ever

未来你是CTO,还是架构师?

春节就要到了,每到年末就非常适合总结、反思,思考过去一年的成长(就),过去一年的收获,过去一年的改变,所以接下来两三周的时间,我想给大家分享一些技术以外的思考。 这次先跟大家分享关于未来的思考,职业目标和规划决定了你以后的职业高度、职业角色,你本来想成架构师、技术VP、CTO,结果就是没有了结果。 后面可能分享理财和读书等方面的思考,因为技术人,首先是一个人,那必然就有生活,生活就需要money,你不理财,最后只能一穷二白,辛辛苦苦一年的劳动,可能所剩无几,甚至负数了,几年后别人过着舒服的生活了,而你还在苦逼的挤公交、地铁。 读书是获取知识最廉价的方式,知识改变命运不是闹着玩的,读大学没用这些言论是扯淡的,你看那些CEO、CTO,或者你身边的非常牛的人,哪个不读书?如果你不喜欢读书,大概是心...阅读全文

[以太坊] Mac install abigen 安装abigen

这篇文章本不该有,但是我安装abigen的经历实在是太艰辛了,还是记录下吧。 1. 正确姿势 先说正确姿势,希望你能顺利。 一般来说,安装abigen命令,只需要三步就可以搞定的,下载,编译,安装。 go get github.com/ethereum/go-ethereum cd $GOPATH/src/github.com/ethereum/go-ethereum/ make make devtools abigen --help 2. 坑一之科学上网 在执行make devtools时,需要下载相关依赖,有golang.org的,也有github的,可怜的我一会开一会关,仍然不行,原因是Makefile里是这么写的 Makefile (看到-u了吧?你一定看到了!) 我不想修改Make...阅读全文

博文 2018-10-23 20:35:01 ytxing

golang time操作整理

这里的内容大部分是从他人处整理得到 http://my.oschina.net/1123581321/blog/190942 时间戳 当前时间戳 fmt.Println(time.Now().Unix()) # 1389058332str格式化时间 当前格式化时间 fmt.Println(time.Now().Format("2006-01-02 15:04:05")) # 这是个奇葩,必须是这个时间点, 据说是go诞生之日, 记忆方法:6-1-2-3-4-5 # 2014-01-07 09:42:20时间戳转str格式化时间 str_time := time.Unix(1389058332, 0).Format("2006-01-02 15:04:05") fmt.Println(str_...阅读全文

博文 2016-03-02 16:00:07 shenlanzifa

数据分析之Python库 python进阶

Python之所以这么流行,这么好用,就是因为Python提供了大量的第三方的库,开箱即用,非常方便,而且还免费哦,学Python的同学里估计有30%以上是为了做数据分析师或者数据挖掘,所以数据分析相关的库一定要熟悉,那么常用的Python数据分析库有哪些呢? **1.NumPy** NumPy是Python科学计算的基础包,它提供: 1).快速高效的多维数组对象ndarray; 2).直接对数组执行数学运算及对数组执行元素级计算的函数; 3).用于读写硬盘上基于数组的数据集的工具; 4).线性代数运算、傅里叶变换,以及随机数生成。 **2.Pandas** 大名鼎鼎的Pandas可以说只要做数据分析的,无人不知无人不晓,因为它太重要了.Pan...阅读全文

升级go版本导致vscode智能提示失效

经过网上查找解决方法,也按照这篇文章修改了vscode 的配置,但依然无法进行代码提示。 参考:https://www.cnblogs.com/Dennis-mi/p/8280552.html { "go.autocompleteUnimportedPackages": true, "go.useCodeSnippetsOnFunctionSuggest": true, "go.gopath": "/home/chensl004/Workspace/go/", "go.useCodeSnippetsOnFunctionSuggestWithoutType": true, "go.inferGopath": true, "go.gotoSymbol.includeImports": true,...阅读全文

博文 2019-03-20 00:34:42 哆啦在这A梦在哪

Vue Element+Node.js开发企业通用管理后台系统

第1章 课程介绍介绍项目背景、达到的目标、技术栈和功能演示第2章 课程分析课程分析第3章 Vue进阶(上)对Vue的进阶知识进行讲解,包括$emit和$on、directive指令、组件化、Vue插件等相关内容。第4章 Vue进阶(下)对Vue的进阶知识进行讲解,包括组件通信、过滤器、监听器、Vue2.6重要新特性等相关内容。第5章 Element-UI入门对Element-UI的内容进行讲解,包括如何搭建Element-UI使用环境,如何使用插件快速集成Element-UI,并通过el-form源码解读说明Element-UI的基本实现原理。第6章 Vuex和Vue-router进阶对Vue的全家桶中两个重要插件:Vuex和Vue-router进行更加深入的介绍,包含原理讲解以及一些重要特...阅读全文

博文 2019-12-30 23:07:38 huakaihk

Golang视角下的设计模式

这篇文章想聊聊Golang语言下的设计模式问题,我觉得这个话题还是比较有意思的。Golang没有像java那样对设计模式疯狂的迷恋,而是摆出了一份“看庭前花开花落,望天空云卷云舒”的姿态。 单例模式: Gloang的单例模式该怎么写?随手写一个,不错,立马写出来了。但这个代码有什么问题呢?多个协程同时执行这段代码就会出现问题:instance可能会被赋值多次,这段代码是线程不安全的代码。那么如何保证在多线程下只执行一次呢?条件反射:加锁。。。加锁是可以解决问题。但不是最优的方案,因为如果有1W并发,每一个线程都竞争锁,同一时刻只有一个线程能拿到锁,其他的全部阻塞等待。让原本想并发得飞起来变成了一切认怂串行化。通过check-lock-check方式可以减少竞争。还有其他方式,利用sync/a...阅读全文

博文 2017-09-21 10:04:57 ieasy_tm

Go语言的前景分析

本文为原创文章,转载注明出处,欢迎扫码关注公众号flysnow_org或者网站http://www.flysnow.org/,第一时间看后续精彩文章。觉得好的话,顺手分享到朋友圈吧,感谢支持。 GO语言前景分析 这段时间比较忙,相信很多朋友大概都知道,如果不知道的话,可以参考我上篇文章跨维度的打击,是可以直接秒杀的,里面有介绍,大家可以看看。 抓住时代的趋势 在上篇文章中,也就是那个跨维度的打击,是可以直接秒杀的中,提到这个时代的问题,这次针对go语言的前景分析,其实我也想讲一下时代的问题。还记得2010年的时候,那个时候移动互联网时代刚刚兴起,很多以前做java的,也就是做J2EE的人(当时J2EE是红海),抓住了这个机会进行的转型,然后得到红利,甚至实现了人生的转变,这个真的不是夸张的。...阅读全文

博文 2018-10-17 19:42:35 飞雪无情

程序员最理想的兼职——极客学院兼职讲师招募

我们在做什么? “让学习更有效”是我们不变的使命,制作优质课程是我们的永恒的追求。过去两年中,我们先后打造了VIP课程和就业班项目。VIP课程目前已有2000+门,内容丰富,涵盖各大技术领域,吸引了300万人成为注册会员。就业班课程经过精心设计、合理安排,帮助零基础学员4个月实现从小白到初级工程师的蜕变。 经过VIP课程和就业班的积累和提炼,职业学院全面开启。职业学院课程相对独立又成体系,侧重专项进阶,适合想提升技能、升职加薪的人学习。目前职业学院已经吸引了众多一线互联网公司的技术人员以及教学经验丰富的培训机构讲师加入,前端、Python、Go、iOS方向课程上线后(Android课程即将上线),深受学员欢迎。 如果你希望自身积累的经验令更多人受益,选择我们你会收获惊喜。我...阅读全文

关于Go 和Erlang的一些想法

关于Go 和Erlang的一些想法 原文链接:http://blog.erlware.org/some-thoughts-on-go-and-erlang/ 以下为本人翻译,仅用于交流学习,版权归原作者所有,转载请注明出处,请不要用于商业用途。 更新: 我发现我这篇文章没有把观点说明白。我并不是说Go不行或者应该改进,因为它跟Erlang是不一样的。我想说的是在可用性和低延迟不可缺少的高并发后端领域来说,Go仍然不能替代Erlang。 需要注意的是,我写这篇文章并不是要关于某一种语言比如Julia。我听说不仅仅在新项目里,还有在一些老项目要替换新语言里,Go慢慢成了Erlang的替代者。没有人说Julia也是这样,但是Go和Node.js却被一些人看作是Erlang的友好的替代者。Erlan...阅读全文

博文 2015-04-27 15:00:30 wang8118

后端工程师入手了树莓派 pi 3B和SIM 900

po 主是苦逼码农一枚,软件工程师,做服务端方向,主要写 nodejs & golang 偶尔写点 python,所以这是一篇刚刚拥有第一个开发板的小白写的小白文,以上是背景 前段时间为了改善生活买了一块树莓派3,装了 debian 8 jessie。 1. 换清华的源: sudo vi /etc/apt/sources.list 注释掉其他的源插入这两个: deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main non-free contrib deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main non-fr...阅读全文

博文 2017-06-15 19:06:38 HughFace

《7天以太坊源码解读》— 第二天,节点是如何编译以及启动的

>>> geth 可执行文件怎么构建出来的? 上篇文章中讲,我们是通过 make all 构建出所有可执行文件。那么它到底做了些什么呢? make是一个构建工具,它依据指定规则来构建目标,而构建什么目标以及如何构建目标都写在了 makefile 文件中(当然你也可以不叫makefile) 推荐大家阅读这篇文章 http://www.ruanyifeng.com/blog/2015/02/make.html ,学习 makefile 文件的编写 可以看到以太坊源码根目录存在一个makefile文件,通过上面的学习应该知道了 make all 到底做了什么 GORUN = env GO111MODULE=on go run ... all: $(GORUN) build/ci.go instal...阅读全文

博文 2020-01-25 23:32:46 pefish

时速云Kubernetes进阶培训 第三期

目前 Kubernetes 已经成为容器集群管理领域的事实标准,基于容器 + Kubernetes 的新型 PaaS 将会成为云计算的主流。Kubernetes 不仅使得应用交付更便捷、大规模的微服务部署更容易,同时让 DevOps 理念和敏捷 IT 更容易落地。Kubernetes 将助力企业在数字化转型过程中实现弯道超车。 此外,越来越多的企业也开始使用基于 Kubernetes 技术构建企业级容器 PaaS 平台,从而加速业务应用的交付、提高运维效率、实现微服务架构升级。根据 Redmonk 公布的数据,全球财富 100 强企业当中有71%在使用容器,而超过半数财富百强企业利用 Kubernetes 作为其容器管理平台。 可以预见,未来几年Kubernetes的发展势必会更...阅读全文