KubeEdge分析-beehive

beehive是kubeedge中的一个通信框架,整个kubeEdge的cloud和edge模块都依赖于beehive框架。 不弄清楚beehive的工作原理,就很难分析kubeEdge整体的逻辑。 目录结构 ├── pkg │ ├── common │ │ ├── config │ │ │ ├── config.go │ │ │ └── config_test.go │ │ └── util │ │ ├── conn.go │ │ ├── conn_test.go │ │ ├── file_u...阅读全文

简书 2020-05-15 14:35:39 left_0317

Node之父重构的Deno终于发布了,它终究会取代Node吗?

Node之父是谁? image image 没错!就是这个叫Ryan Dahl的男人在2009年创造了Node。你看,其实也不是说大神就都没头发,这位大神毛发不是挺旺盛的嘛! 不过既然是在2009年缔造的Node,那么就不得不吐槽那时候的JS了。在2009年的JavaScript啥样大家都知道(好像貌似那时候的程序员毕竟少),ES5.0(不成熟的ES5)在09年年底才刚刚发布,而ES5.1(咱们现在用的ES5)在2011年6月才开始发布并成为ISO国际标准。 想象一下即使现在有了ES6 ~ ES...阅读全文

简书 2020-05-15 14:35:39 手撕红黑树

详解Go语言的计时器

Go语言的标准库里提供两种类型的计时器Timer和Ticker。Timer经过指定的duration时间后被触发,往自己的时间channel发送当前时间,此后Timer不再计时。Ticker则是每隔duration时间都会把当前时间点发送给自己的时间channel,利用计时器的时间channel可以实现很多与计时相关的功能。 文章主要涉及如下内容: Timer和Ticker计时器的内部结构表示 Timer和Ticker的使用方法和注意事项 如何正确Reset定时器 计时器的内部表示 两种计时器都...阅读全文

掘金 2020年05月14日 kevinyan

【实践】从零开始一个文件分块上传【后端为Golang】

此系列皆为实践系列,看到一些demo主动去实现它并与之分享。 今天刚好看到了一片文章分块上传的文章,自己并没有实现过。思来想去实践一下并且前后双端进行实现。文笔不好请多担待,不明白评论看到即回。俗话事吃水不忘挖井人,附上文章链接 大规格文件的上传优化---凹凸实验室 整体思路 文件分块上传: 主要利用前端Blob进行Slice切块。然后后端这边把这几个分块合并成一个完整的文件(File是继承Blob对象) Blob MDN参考链接 断点续传 该功能也是在文件分块上传的基础上进行实现的。我们把一个...阅读全文

掘金 2020年05月15日 Stranger

使用Go开发前端应用(四)- 操作canvas绘制一个表格

前言 这篇文章会讲下,如果通过Go来操作canvas,然后画一个类似腾讯文档表格一样的,在线的表格。当然,这肯定是个demo(你懂的)。然后,这篇文章主要会讲下面几个点: 使用Go来操作canvas绘制表格 使用js来操作canvas绘制表格 性能问题 使用Go操作canvas绘制表格 这里我们就直接上Go的代码了,如果有对Go如何编译成wasm或者其他的基础问题,可以查看这个系列的之前的几篇文章。 package main import ( "fmt" "syscall/js" "time" ...阅读全文

掘金 2020年05月15日 zhongzhong05

Go mod的简单实践

Go mod简介:    Go mod是官方推荐的包管理方式,开始于go1.11,在go1.12版本基本稳定,go1.13之后开始默认开启。    本文主要从工程使用方面来介绍Go mod,包括如何简单的使用Go mod,Go mod的命令介绍,go.mod和go.sum的内容介绍,算是一篇Go mod的基础实践。一、Go mod实例介绍1. 产生go.mod文件创建目录,使用go mod init $ go mod init example.com/hello // 这里的模块名称指定为exa...阅读全文

Go语言中文网 2020-05-15 09:25:48 ZhDavis

第一章:理解Android.bp

介绍Android最新的编译系统 一、简介 早期的Android系统都是采用Android.mk的配置来编译源码,从Android 7.0开始引入Android.bp。很明显Android.bp的出现就是为了替换掉Android.mk。 再来说一说跟着Android版本相应的发展演变过程: Android 7.0引入ninja和kati Android 8.0使用Android.bp来替换Android.mk,引入Soong Android 9.0强制使用Android.bp 转换关系图如下: ...阅读全文

Go字符串

字符串: string是数据类型,不是引用或指针类型 string是只读的byte slice,len函数可以获取它所包含的byte数 string的byte数组可以存放任何数据 func TestStringInit(t *testing.T) { var s string t.Log(s) // 初始化为默认零值"" 空字符串 s = "hello" t.Log(len(s)) // 5 5个byte //s[1] = 3 // string是不可变的byte slice 不可以赋值 s =...阅读全文

简书 2020-05-15 02:32:45 Tinkled

mod的使用我学明白了,新手快看过来,相信我看了这个之后你不会再有mod 加载本地模块的问题了

***mod问题*** 1.malformed module path "chatroom/common/message/message": missing dot in first path element 2.cannot find module providing package chatroom.com/common/message 本地模块找不到 ***注意*** ***重点*** ***mod的使用我学明白了,新手快看过来,相信我看了这个之后你不会再有mod 加...阅读全文

Go语言中文网 2020-05-14 23:40:38 tianlijun

详解Go语言的计时器

Go语言的标准库里提供两种类型的计时器Timer和Ticker。Timer经过指定的duration时间后被触发,往自己的时间channel发送当前时间,此后Timer不再计时。Ticker则是每隔duration时间都会把当前时间点发送给自己的时间channel,利用计时器的时间channel可以实现很多与计时相关的功能。 文章主要涉及如下内容: Timer和Ticker计时器的内部结构表示 Timer和Ticker的使用方法和注意事项 如何正确Reset定时器 计时器的内部表示 两种计时器都...阅读全文

Segmentfault 2020-05-21 19:32:38 Kevin

string相关函数

len():内建函数,查找字符串长度。 如果字符串中有中文,需要将其转换为[]rune类型: r := []rune(str) for i:=0;i < len(r);i++{ fmt. Println(r[i]) } 将字符串转整数:v,ok := strconv.Atoi("2") 将整数转字符串:v,ok := strconv.Itoa(2) 将字符串转成[]byte: v := []byte("dd") 将数字转换为n进制为,返回字符串: v := strconv.FormatInt(1...阅读全文

简书 2020-05-14 21:33:04 雪上霜

君子和而不同 -- KENC边缘容器技术访谈

KENC边缘容器和集中容器、边缘云主机有什么区别?我们采访了以下几个人:架构师——胖哥胖哥是一个罕见的真·全栈工程师和架构设计师,谈架构能说跪CTO,写Code能写服实习生,做review能调教老Coder。KENC容器做产品设计的思想基石,主要是胖哥提炼出边缘和常规场景的IT架构本质区别,而这些区别是用户的技术决策人认可的。胖哥想跟各位工程师聊四点内容:一、边缘计算并不属于C/S架构,而是创新的C-E-S架构。Edge的职能上更像在模拟Client的运行环境,但精英IT男都来自Server环境...阅读全文

简书 2020-05-14 21:33:04 金山云

k8s八 | 基于EFK实现日志管理与日志报警

一、日志采集方案 image.png image.png 大致一下分为三种方案来做日志采集: 在节点上运行一个 agent 来收集日志 在 Pod 中包含一个 sidecar 容器来收集应用日志 直接在应用程序中将日志信息推送到采集后端 因为方案一在业界使用更为广泛,所以下面基于方案一来做k8s的日志采集。 二、架构选型 存储层: Elasticsearch 是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档。 展示...阅读全文

简书 2020-05-14 21:33:04 前行I

笔试被侮辱、内推被拒绝。为了入职头条,我花了整整11个月

原文链接;https://mp.weixin.qq.com/s/h406uQEKFhwrepDF3b4hyw 一、印象中的头条 1.老板张一鸣跟我是福建老乡,龙岩市在我朋友说来就是山沟沟,能走出美团王兴和头条张一鸣让我卯足了去龙岩吃特产老鼠干的欲望。 2.给的钱多,笔试也贼难。参加过头条笔试的同学都知道,头条笔试可以笔试三次,就是不论你有没有参加都有三次机会。笔试就5道算法题,两个小时,去年第一次看到算法题就自闭了,第一次挂了。第二次又很认真地做,做到一半放弃了。没过几天又邀请我做第三次,有一种...阅读全文

简书 2020-05-14 21:32:49 Android高级架构

什么是amino编码

1. Reflect反射 1.1 关于go的reflect 现代通用编程语言中,有的语言支持反射,有的不支持。并且每个支持反射的语言的反射模型都不同。 Go官方自带的reflect包就是与反射相关,只要import这个包就可以使用。 Go语言实现了反射,其反射机制就是在运行时动态地调用对象的方法和属性。 ps:golang的gRPC也是通过反射来实现的。 1.2 为什么go中 nil != nil ? 从宏观上讲,go中任意一个变量在计算底层都包含(type,value)两个部分。 type分为...阅读全文

简书 2020-05-14 21:32:47 一冠王

通俗易懂:说说 Python 里的线程安全、原子操作

首发于微信公众号:Python编程时光 在线博客地址:python.iswbm.com/en/latest/c… 在并发编程时,如果多个线程访问同一资源,我们需要保证访问的时候不会产生冲突,数据修改不会发生错误,这就是我们常说的 线程安全 。 那什么情况下,访问数据时是安全的?什么情况下,访问数据是不安全的?如何知道你的代码是否线程安全?要如何访问数据才能保证数据的安全? 本篇文章会一一回答你的问题。 1. 线程不安全是怎样的? 要搞清楚什么是线程安全,就要先了解线程不安全是什么样的。 比如下面...阅读全文

掘金 2020年05月14日 王一白