知乎社区核心业务 Golang 化实践 - 知乎 https://zhuanlan.zhihu.com/p/48039838…
知乎千万级高性能长连接网关揭秘 9 天前 · 来自专栏 知乎技术专栏 实时的响应总是让人兴奋的,就如你在微信里看到对方正在输入,如你在王者峡谷里一呼百应,如你们在直播弹幕里不约而同的 666,它们的背后都离不开长连接技术的加持. 每个互联网公司里几乎都有一套长连接系统,它们被应用在消息提醒.即时通讯.推送.直播弹幕.游戏.共享定位.股票行情等等场景.而当公司发展到一定规模,业务场景变得更复杂后,更有可能是多个业务都需要同时使用长连接系统. 业务间分开设计长连接会导致研发和维护成本陡增.浪费基础设…
1. 校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$ 8 正数.负数.和小数:^(\-|\+)?\d+(\.\d+)?$ 9 有两位小数的正实数:^[0-9…
CVPR 2020 共收录 1470篇文章,根据当前的公布情况,人工智能学社整理了以下约100篇,分享给读者. 代码开源情况:详见每篇注释,当前共15篇开源.(持续更新中,可关注了解). 算法主要领域:图像与视频处理,图像分类&检测&分割.视觉目标跟踪.视频内容分析.人体姿态估计.模型加速.网络架构搜索(NAS).生成对抗(GAN).光学字符识别(OCR).人脸识别.三维重建等方向. 目录如下: # 总目录 # 图像处理 1. Deep Image Harmonization via Do…
本文由  网易云发布. 2017 年,Kubernetes 超越 Mesos 和 Docker Swarm成为最受欢迎的容器编排技术.网易云从 2015 下半年开始向 Kubernetes 社区贡献代码,是国内最早的 Kubernetes 实践者和贡献者,并已经成为 CNCF(云原生计算基金会)官方授权的 CloudNative Meetup 主办方.本文将简单介绍下网易云基于 Kubernetes 的深度定制化实践. 1 网易云容器服务的架构 网易云容器服务基于网易云 IaaS.为了简化用户操…
Golang Gin实践 番外 请入门 Makefile 原文地址:Golang Gin实践 番外 请入门 Makefile 前言 含一定复杂度的软件工程,基本上都是先编译 A,再依赖 B,再编译 C...,最后才执行构建 如果每次都人为编排,又或是每新来一个同事就问你项目 D 怎么构建.重新构建需要注意什么...等等情况,岂不是要崩溃? 我们常常会在开源项目中发现 Makefile,你是否有过疑问? 本章节会简单介绍 Makefile 的使用方式,最后建议深入学习 怎么解决 对于构建编排,Do…
前言 在我前面一篇文章Golang受欢迎的原因中已经提到,Golang是在语言层面(runtime)就支持了并发模型.那么作为编程人员,我们在实践Golang的并发编程时,又有什么需要注意的点呢?下面我会跟大家详细的介绍一些在实际生产编程中很容易踩坑的知识点. CSP 在介绍Golang的并发实践前,有必要先介绍简单介绍一下CSP理论.CSP,全称是Communicating sequential processes,翻译为通信顺序进程,又翻译为交换消息的顺序程序,用来描述并发性系统的交互模式.…
前言 在上篇Golang高效实践之并发实践channel篇中我给大家介绍了Golang并发模型,详细的介绍了channel的用法,和用select管理channel.比如说我们可以用channel来控制几个goroutine的同步和退出时机,但是我们需要close channel通知其他接受者,当通知和通信的内容混在一起时往往比较复杂,需要把握好channel的读写时机,以及不能往已经关闭的channel中再写入数据.如果有没有一种更好的上下文控制机制呢?答案就是文章今天要介绍的context,…
前言 我博客之前的Golang高效实践系列博客中已经系统的介绍了Golang的一些高效实践建议,例如: <Golang高效实践之interface.reflection.json实践><Golang 高效实践之defer.panic.recover实践><Golang 高效实践之并发实践context篇><Golang 高效实践之并发实践channel篇> 本文将介绍一些零散的Golang高效实践建议,虽然琐碎但是比较重要. 建议 1.代码格式go fmt工…
前言 Golang的slice类型为连续同类型数据提供了一个方便并且高效的实现方式.slice的实现是基于array,slice和map一样是类似于指针语义,传递slice和map并不涉及底层数据结构的拷贝,相当于传递底层数据结构的指针. Arrays数组 数组类型的定义需要指定长度和元素的类型.例如,[4]int表示一个四个整数的数组.数组的大小是固定的,数组的大小是类型的一部分,也就是说[4]int 和 [5]int是不同的类型,不能比较.数组可以按序号索引访问,从0开始,s[n]表示访问第…