Erlang和Golang

比较总结:Erlang实质是一门动态语言,弱类型,js、php、python等。灵活,效率低。1. 高并发,异步编程的鼻祖,写并发代码很简单2. 支持集群3. 健壮(OTP的进程监督机制)4. 代码热升级、热回滚(动态语言特性)Go语言(scala,F#类似),静态语言,强类型,java、C++、C等,效率高。1. 高并发,支持异步编程2. 高性能(静态语言的优势)阅读全文

简书 2020-04-10 23:32:47 xuxw

HTML<section>标签怎么用?

Section标签文档中的节(section、区段),即文档的各个部分,例如章节,页眉,页脚或任何其他部分;section标签将内容划分为section和子部分。当需要两个页眉或页脚或任何其他文档部分时,将使用section标记。 原文地址:HTML标签怎么用?Section标签对相关内容的通用块进行了分组。section标签的主要优点是,它是语义元素,它描述了它对浏览器和开发人员的意义。语法: <section> 部分内容 </section> Section标签用于分发内容,即分发部分和子部...阅读全文

简书 2020-04-10 23:32:47 yanghs

Golang WebSocket实现简单的聊天系统

本文只是一个简单的案例,如有疑问,欢迎探讨! 首先来看,为什么需要WebSocket? 再来看一类需求:一个天气预报软件,我们需要根据天气变化实时获取最新数据,如果使用平常用的http需要客户端主动的从服务端拉取,并且我们不知道服务端什么时候会产生新的数据,在这个时候我们使用http就无法很好的完成这个功能了。 因为Http协议只能由客户端发起请求,而无法由服务端主动向客户端推送数据。所以介于类似的问题,WebSocket就油然而生了。 WebSocket 协议在2008年诞生,2011年成为国...阅读全文

计算机学生需要什么?

作为一个毕业一年的计算机学人。实在谈不上什么经验,也没脸说什么技巧。 以下作为几点建议,万一对你有点帮助呢? 在这之前,你需要做好的唯一的心理建设就是:坚定目标。 坚定目标可以让我们走的弯路越少。不会浪费时间在一些有点用,但是用处不大的地方 眼睛看得越远,走得越直。 精通一门语言,无论Python,Java,C,C++,C# 都无所谓 无论你有多笨,在你掌握了一门编程语言之后,再学习其他编程语言,最多不超过60天,都能掌握。除非你笨到不然下面这个单词:fuck 你可以选择大学期间最先接触的C语言...阅读全文

简书 2020-04-10 23:32:42 灰熊不太行

golang map的底层实现

golang map的底层实现 粗略的讲,Go语言中map采用的是哈希查找表,由一个key通过哈希函数得到哈希值,64位系统中就生成一个64bit的哈希值,由这个哈希值将key对应到不同的桶(bucket)中,当有多个哈希映射到相同的的桶中时,使用链表解决哈希冲突。 hash函数 首先要知道的就是map中哈希函数的作用,go中map使用hash作查找,就是将key作哈希运算,得到一个哈希值,根据哈希值确定key-value落在哪个bucket的哪个cell。golang使用的hash算法和CPU...阅读全文

简书 2020-04-10 23:32:41 昔召阆梦

golang reflect实现原理

golang reflect实现原理 本文主要讲述reflect库实现的原理思路,reflect包实现具有两个基础unsafe操作内存对齐和runtime包的变量。 runtime变量 runtime变量是reflect的实现基础,基于unsafe包操作runtime变量实现reflect功能。 首先我们按照go的规则先简单的定义一个变量类型Value,Value有两个类型成员属性typ和ptr,typ是类型表示这个变量是什么对象,ptr是一个地址指向这个变量的地址。 // 如果看reflect...阅读全文

Segmentfault 2020-04-13 07:32:33 eudore

go(strings和strconv 常用的方法使用)

1. strings.HasPrefix(s string, prefix string) bool:判断字符串s是否以prefix开头 。 2. strings.HasSuffix(s string, suffix string) bool:判断字符串s是否以suffix结尾。 3. strings.Index(s string, str string) int:判断str在s中首次出现的位置,如果没有出现,则返回-1 4. strings.LastIndex(s string, str st...阅读全文

Segmentfault 2020-04-12 22:32:34 小兵

C++服务端面试准备(5)网络协议相关

声明:本文内容纯属博主自己查找和归纳的个人所需的知识点,仅作参考,如有错误,博主强烈希望您指出。如果您是某个知识点的原创博主,如有需要,可联系本人加上链接。本文内容会根据博主所需进行更新,希望大家多多关照。 由于博主不是计算机专业出身,个人能力有限,本文内容涉及到博主的知识盲区,在这领域不知道需要掌握多少,只是把自己看到的大概归纳一下,请见谅。也希望网友们可以指点指点,谢谢! 网络层次划分 TCP/IP 4层模型:应用层、传输层、网络层、网络接口层TCP/IP 5层模型:应用层、传输层、网络层、...阅读全文

Segmentfault 2020-04-12 22:32:34 DX3906

go实现“水仙花数”

题目: 打印出100-999中所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字 立方和等于该数本身。例如:153 是一个“水仙花数”,因为 153=1 的三次 方+5 的三次方+3 的三次方 我使用的是Go Modules 管理依赖方式引入下面的add包就可以了运行了 package add import ( "fmt" "strconv" ) func Sxhs() { var str string fmt.Scanf("%s", &str) var result = 0 fmt...阅读全文

Segmentfault 2020-04-12 20:32:34 小兵

Gin框架系列04:趣谈参数绑定与校验

导读 在第二节,我们学习了Gin框架的路由定义与参数接收,今天应一位同学的要求,来讲解一下参数的绑定与校验。 为什么校验参数? 本不必抛出这个问题的,但顾及到初出茅庐的同学,这里解释一下。 假设做一个注册接口,传过来的用户名是不是不能太骚气?比如一堆空格和符号之类的;密码是不是不能太长也不能太短?手机号是不是要符合规则?性别是不是不能填人妖? 另外,登录的时候我们也需要验证账号密码是不是正确的,那么为了方便上手,咱就先来个简单示例,做登录验证。 激情演示 做登录之前得先想清楚需要对用户名密码做什...阅读全文

Segmentfault 2020-04-12 17:32:35 平也

k8s最新实战生产:03-Kubernetes Dashboard-给朋友穿上一件酷酷的外套

Kubernetes Dashboard插件部署 kubernetes Dashboard是k8s集群中的一个WEB管理工具,代码托管在github上。 点击这里 Kubernetes Dashboard部署 v1.16.2版本的集群需要安装最新的 2.0+ 版本的Dshboard: # 推荐使用下面的这种方式部署 # 下载这个yaml需要科学上网,如果不能下载,请访问我的github???? # https://github.com/heyangguang/kubernetes-doc/blo...阅读全文

Segmentfault 2020-04-12 17:32:34 何阳光

打造企业级pipeline服务的18个疑问

Jenkins已经成为大量公司最常用的一种持续集成工具了,但是目前pipeline的普及程度可能依然低于30%,大量的团队依然使用自由风格这种笨重的方式,给统一构建过程、构建集中管理带来极大的不便。笔者通过下面的18个问题来讲解一下为什么企业级持续集成服务需要使用pipeline的构建方式。一、Jenkins2.0的最大改变是什么?很多人认为jenkins2.0的最大改变是增加了pipeline,实际上pipeline在Jenkins1.0中已经有了这个概念,而jenkins2.0中最大的改变应...阅读全文

Go语言中文网 2020-04-10 11:32:51 JFrogChina

清晰胜过聪明: 改进 flatbuffers-go

0. 起因 使用 flatbuffers 已经有相当长的一段时间了. 在几个商用项目中, flatbuffers 也因快速的反序列化而带来性能上的不少提升. flatbuffers 尤其适合传输小块数据, 一次序列化, 多个地方进行反序列化. 但 go 的 flatbuffers 有一些小遗憾: go flatbuffers 功能支持, 滞后于 c++ 版, Go 代码库也很久没有更新了. 相比 c ++ , go 版本缺少一些功能. 如 vector of unions , 在 unions ...阅读全文

掘金 2020年04月10日 tsingson

Golang-使用带缓冲的Channel控制并发

导读 Channel是Golang实现并发编程非常重要的组成部分,Channel是一种内建的核心数据类型,需要使用make函数初始化,包括无缓冲的Channel(unbuffered Channel) 和有缓冲的Channel(buffered Channel)两种。无缓冲的Channel(unbuffered Channel) 主要用于goroutine之间的同步,有缓冲的Channel(buffered Channel)主要用于异步通信、控制goroutine并发数量。 Unbuffered...阅读全文

简书 2020-04-10 00:32:48 MR_Zzzzzz_

Golang 协程Goroutine到底是怎么回事?(二)

上一篇从协程的通用原理讲起,讲了通Golang的协程,使用一个完成的协程,必须要配合完善的配套设备,协程锁,定时器等,这篇文章就是描述于此。 Go 协程配套设备 Golang 协程锁,定时器,是怎么回事?系统调用又有什么特殊,G-M锁定是什么? 协程锁 之前提到,协程使用之后,是必须配套实现一些配件的。关键就是要保证在执行goroutine的时候不阻塞。最典型的的就是锁、timer、系统调用这三个方面。其中锁必须要是协程锁。 举例:某个场景,任务A需要修改Z,任务B也需要修改Z。如果是串行系统,...阅读全文

简书 2020-04-10 00:32:47 奇伢云存储