关于少儿编程的思考

写在前面 我们正处于互联网蓬勃发展的高峰期,从计算机兴起到现在,不断有新的概念,新的技术如雨后春笋般诞生;我们被互联网的服务包围,享受其带来的各种便利,却也被信息爆炸般的冲击弄的没有招架之力;最大的问题是我们失去了信息的辨别能力; 引子 近3年有很多少儿编程广告,开始进入大家的视线,尤其是家长们,懂得当前时代资源的竞争是多么残酷,家长们在广告(包含制造恐吓式的)的轰炸下,变得无所适从,只能随大流,别的孩子学,我们也学吧。不得不说,在未知事物面前随大流是一个正确的选择。 自我介绍 我是一个主修Ja...阅读全文

简书 2020-11-25 02:32:44 安静的夜灬

[Golang]从0到1写一个web服务(上)

学生时代曾和几个朋友做了一个笔记本小应用,当时我的角色是pm + dba,最近心血来潮,想把这个玩意自己实现一遍,顺便写一篇文章记录整个过程。 img 笔者的职业目前是一个后端程序员,最常用的语言是Golang,恰好Golang自带的的net/http包非常方便,这次就用Golang写这个服务。首先打开我心爱的GoLand,New一个Project,给项目起一个酷炫的名字。 image.png 接着写个Hello, world。同时为方便项目管理,引入git这个版本控制工具来管理代码。随着一发g...阅读全文

简书 2020-11-25 02:32:44 一根薯条

golang: work pool

1. 使用goroutine和channel实现一个计算int64随机数各位和的程序 开启一个goroutine循环生成int64类型的随机数,发送到jobChan 开启24个goroutine 从jobChan取出随机数并计算各位各位数的和,将结果发送到resultChan 主goroutine从resultChan取出结果并打印到终端输出 package main import ( "fmt" "math/rand" "sync" "time" ) type Job struct { val...阅读全文

简书 2020-11-25 02:32:38 证始

golang sort包

1.sort.Search(n, func(k int) bool) 描述:利用二分查找在[0:n)之间找到满足 func(k int) bool 为true的最小索引值 源码如下: func Search(n int, f func(int) bool) int { // Define f(-1) == false and f(n) == true. // Invariant: f(i-1) == false, f(j) == true. i, j := 0, n for i < j { h ...阅读全文

简书 2020-11-25 02:32:38 p_gerer

Go的并发机制:线程模型

目录 一、 Go的并发机制:线程模型 二、 Go的并发机制:goroutine、channel(待续) 最近在使用Golang开发一个项目,也是第一次使用Go,属于边学边用,刚开始使用觉得Go非常简洁易学,项目开发到阶段,需要用涉及到并发相关的知识了,如果是其他语言感觉没什么,多线程就完了。但是Go主打的就是它的并发机制,goroutine的名字在未使用Go的时候已经知道了。 由于我的项目是完全处于个人兴趣,没有人会催进度,所以我觉得在使用goroutine之前,还是需要学习一下,读懂里面的实现...阅读全文

简书 2020-11-24 20:33:04 Jan_gogogo

微服务中台技术解析之微服务-捉虫记

Biz-UI 团队在核心业务系统的开发过程中,将具有共性的功能模块抽象出来,逐渐完成了中台的构建,为业务逻辑提供了强有力的基础组件支撑。其中分布式追踪系统作为一个重要的组成部分,为监控服务之间的调用、定位和调试线上问题,提供了有力的支撑。本文将详细剖析 FreeWheel Biz-UI 团队从 0 到 1 构建和改进全链路分布式追踪系统的过程。 1、微服务 - 捉虫记 小志所在的技术部门刚刚对臃肿的单体应用完成了拆解,推行微服务理念,将之前杂糅得不可开交的代码按业务模块拆分成一个一个的微服务。随...阅读全文

简书 2020-11-24 20:33:00 Java互联网架构师小马

InfluxDB

什么是influxdb InfluxDB是基于Golang编写的一个用于存储和分析时间序列数据的开源数据库。主要特性有:安装简单,无外部依赖,底层采用TSM存储并且读写数据很高效;内置HTTP接口,使用方便数据可以打标记,查让查询可以很灵活类SQL的查询语句能够实时查询,数据在写入时被索引后就能够被立即查出……基本概念介绍timestamp:每一条数据都需要指定一个时间戳,这个时间戳以RFC3339格式展示了与特定数据相关联的UTC日期和时间(当然也是可以修改的)。在 TSM 存储引擎中会特殊对...阅读全文

简书 2020-11-24 20:32:55 voidFan

golang调用shell命令(实时输出, 终止等)

背景 是这样的,最近在研究一个定时任务系统的改造,可能有点像jenkins做到的那种吧。 可以输入shell命令,也可以执行py脚本等等,相比之前来说,也要能够及时停止! 但是遇到了这么个问题,golang执行py脚本的时候获取不到脚本的输出。 首先来看看go里面怎么运行shell脚本吧,我比较喜欢执行全部命令。 普通用法(一次性获取所有输出) package main import ( "fmt" "os/exec" ) func main() { Command("ls") } // 这里为...阅读全文

简书 2020-11-24 20:32:55 小克klose

如果使用Kvass+Thanos监控十万容器的大集群

PrometheusPrometheus依靠其强劲的单机性能,灵活的PromSQL,活跃的社区生态,逐渐成为云原生时代最核心的监控组件,被全球各大产商用于监控他们的核心业务。然而,面对大规模监控目标(数千万series)时,由于原生Prometheus只有单机版本,不提供集群化功能,开发人员不得不通过不断增加机器的配置来满足Prometheus不断上涨的内存。 ThanosThanos是社区最为流行的Prometheus HA方案,其可以将多个Prometheus数据汇总,去重,得到全局的数据视...阅读全文

简书 2020-11-24 20:32:40 Ray_f0e0

webrtc搭建

# WebRTC网页即时通信(Web Real-Time Communication),是一个支持[网页浏览器](https://baike.baidu.com/item/%E7%BD%91%E9%A1%B5%E6%B5%8F%E8%A7%88%E5%99%A8)进行实时语音对话或视频对话的API。**房间服务器**​ 开源实现: https://github.com/webrtc/apprtc​ 房间服务器是用来创建和管理通话会话的状态维护,是通话还是多方通话,加入与离开房间等等**信令服务器...阅读全文

简书 2020-11-24 20:32:38 xueyong8869

Go基础编程:函数

函数是可以让我们将语句打包成一个单元,然后可以多次调用,其可以提高应用的模块性和代码的重复利用率。Go是编译型语言,所以函数编写的顺序无关紧要;为了可读性,往往把main() 函数写在前面,其他函数按照一定逻辑顺序进行编写(例如函数被调用的顺序)。函数声明使用关键字func声明;一个函数包括:函数名、形式参数列表、返回值、及{}函数主体,当然这些都可以省略,但是()、{}不能省。func 函数名(参数列表) 返回值{ 主体 }函数名函数实质上也是一个引用型变量;所有命名规则和变量一样,函数名大小...阅读全文

Segmentfault 2020-11-28 17:32:35 一夕烟云

macOS终端命令行配置网络代理

[toc] 前言 在下载一些需要vpn下载公司内网的源码或者认证时,必不可少的需要使用代理,与普通的网页及应用代理不同,在mac的终端中并没有开启默认的代理模式,所以需要手动进行设置,设置分为两部分:设置终端代理、设置其他IED 代理等 准备工作与环境 在终端设置代理之前,需要准备相应的环境。 1、代理服务器:诸如socks协议或者http协议的服务端,一般由公司运维已经搭建好。 2、代理客户端:本地协议转换及端口开放的客户端,一般默认端口号为1080。 二、配置过程 建议直接配置bash ba...阅读全文

简书 2020-11-24 14:34:48 rgmyyw

golang中的rpc包用法

RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。 我所在公司的项目是采用基于Restful的微服务架构,随着微服务之间的沟通越来越频繁,就希望可以做成用rpc来做内部的通讯,对外依然用Restful。于是就想到了golang标准库的rpc包和google的grpc。 这篇文章重点了解一下golang的rpc包。 介绍 golang的rpc支持三个级别的RPC:TCP、HTTP、JSONRPC。但Go的RPC包...阅读全文

简书 2020-11-24 14:34:48 雪域迷影

go rpc示例

最近在Youtube上面看到一个关于:golang rpc包的示例视频:youtube视频地址:Building a Basic RPC Server and Client with Go,其相应源代码的Github仓库地址为:https://github.com/tensor-programming/go-basic-rpc,需要的话可以自行获取: git clone https://github.com/tensor-programming/go-basic-rpc.git golang r...阅读全文

简书 2020-11-24 14:34:31 雪域迷影

简单工厂模式

1.1. 模式动机 考虑一个简单的软件应用场景,一个软件系统可以提供多个外观不同的按钮(如圆形按钮、矩形按钮、菱形按钮等), 这些按钮都源自同一个基类,不过在继承基类后不同的子类修改了部分属性从而使得它们可以呈现不同的外观,如果我们希望在使用这些按钮时,不需要知道这些具体按钮类的名字,只需要知道表示该按钮类的一个参数,并提供一个调用方便的方法,把该参数传入方法即可返回一个相应的按钮对象,此时,就可以使用简单工厂模式。 1.2. 模式定义 简单工厂模式(Simple Factory Pattern...阅读全文

简书 2020-11-24 14:33:23 nodeadbird

今年最火的 Golang 云原生开源项目,可能就是它了!

来源 | 阿里巴巴云原生公众号在互联网与云计算技术发展的日新月异过去五年中,应用研发人员对效率与敏捷的极致追求,终于把业界带进了一个崭新的云原生时代。而云原生理念的迅速普及,火了 Docker,红了 Kubernetes ,也间接让一个编程语言成为了如今服务端的“当家花旦”。不消多讲,这位在云原生领域里正红的发紫的“角儿”,就是 Golang。不过,正如同 “PHP 不一定是最好的编程语言”一样,Go 语言本身也不是“万能钥匙”。Go 语言之所以能够乘上云原生这趟高速列车,究其原因,更多是与它如...阅读全文

Segmentfault 2020-11-28 10:32:34 阿里巴巴云原生

Go语言快速入门笔记(二):并发编程部分

1.协程是轻量级的线程的理解(1)java里的Thread默认为1M,Groutine的Stack初始化为2K (2)一个thread对应一个kernel space,groutine则是多对多 2.第一个简单的多线程案列 for i := 0; i < 10; i++ { go func(i int) { println(i) }(i) } }3.如何做到多线程累加同一数据的安全性func TestGroutine1(t *testing.T) { count := 0 mutex := sy...阅读全文

Segmentfault 2020-11-28 10:32:33 彩笔梳子

给大家丢脸了,用了三年golang,我还是没答对这道resp.Body.Close() 引发的内存泄漏题

给大家丢脸了,用了三年golang,我还是没答对这道内存泄漏题。问题package main import ( "fmt" "io/ioutil" "net/http" "runtime" ) func main() { num := 6 for index := 0; index < num; index++ { resp, _ := http.Get("https://www.baidu.com") _, _ = ioutil.ReadAll(resp.Body) } fmt.Printf(...阅读全文

Segmentfault 2020-11-27 23:32:31 ilini

区块链司法可信存证,版权维护应用落地

区块链存证技术作为一种无中心的同步联动与存证技术,其保管和固定的电子数据将散布于不同电脑或终端上的各相关节点。因此,区块链存证技术具有共时性、透明性、集体参与性、可追溯性,以及极难被篡改的特点。 1.诉讼:现在我们很多行为都是在互联网上进行的,当然了,这一方面涉及的很多,比如证券、第三方支付系统、电子商务等等,一旦在这其中产生了纠纷,就可以用区块链司法可信存证来构建办案平台,大大提升了服务的效率。 2.版权:这个算是区块链技术最常用的一个场景。它可以对侵权的结果来进行取证;又可以根据它的侵权...阅读全文

Go语言中文网 2020-11-24 12:55:24 T13823115967