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

Go语言实战流媒体视频网站

Go语言实战流媒体视频网站网盘地址:https://pan.baidu.com/s/1ZlBQy0uYVQjVmnnlTcNgCQ 密码: qkx4备用地址(腾讯微云):https://share.weiyun.com/5uWBjZn 密码:pcsqt3 本课程带着同学们使用Go语言实战一个流媒体视频网站。 从后端Server到前端UI,全面掌握Go语言的开发关键技能和Go语言编码的架构风格。同时通过讲述SOA服务化解耦的设计理念,帮助同学们理解真实web服务背后的内容。最后通过架构调整实现Cloud native(云原生)部署。 完整开发流程从环境配置、安装到前后端Server实现以及最后部署上云 超值延伸讲解Go语言的并发理念与应用,在Web前端模版引擎的使用方法。在Cloud nati...阅读全文

博文 2018-08-08 11:35:19 qq5b67b6c726e17

Go后台管理系统Gfast 管理系统

基于GF(Go Frame)的后台管理系统 前端采用ruoyi-ui 、Vue、Element UI。 后端采用GO语言 框架 GF(Go Frame)。 本项目由奇讯科技团队开发。 内置功能 - 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 - 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 - 岗位管理:配置系统用户所属担任职务。 - 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 - 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 - 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 - 参数管理:对系统动态配置常用参数。 - 操作日志:系统正常操作日志记录和查询;系统异常信...阅读全文

2016开年“大戏”云计算唱主角 一半电视台用阿里云

![收视排名.JPG](http://studygolang.qiniudn.com/160105/14abf4149d111092028968282410ff25.JPG) 元旦跨年晚会,于大妈通过手机摇一摇,幸运的抽中了一台互联网电视。这不仅让她喜上眉梢,也让全家老小更愿意围坐在电视机前,边看节目边互动。但可能连于大妈自己都不知道,在这过程中就用到了云计算。 从2015年到2016年一开年,就是一出云计算大戏。根据酷云EYE的实时数据,元旦当晚全国收视率排名前十的节目里,有五家都采用了阿里云平台,与海量用户实现实时的连接。 媒体转型思路先行——电视业把观众升级为用户 前有互联网视频,后有互联网公司的各种电视盒子,即便强敌环伺,但在视频云技术专家、天脉聚源创始...阅读全文

Golang实现断点续传

https://github.com/artificerpi/oget HTTP Range 请求 HTTP Range请求允许服务器向客户端发送HTTP消息体的一部分数据。Partial Requests在使用比较大的网络媒体文件或者在下载文件时提供暂停和恢复功能时很有用。 这也是下载时实现HTTP断点续传的一个关键。 HTTP 206 (Partial Content) 如果服务器能返回HTTP 206请求,我们就知道它能够支持Range request. # curl -I https://www.baidu.com/ -H "Range: bytes=0-" HTTP/1.1 206 Partial Content Cache-Control: private, no-cache, ...阅读全文

博文 2017-12-26 04:30:01 7explore-share

云导播台的设计和实现--基于golang的livego rtmp服务器

一、什么是云导播台 提供对多直播流rtmp或http-flv在直播过程中,实时进行流切换。举例,有多个直播rtmp源的时候,对源动态、实时进行选择,将其中一路直播出来,显示给观众。 二、什么是livego livego是基于golang开发的rtmp服务器。这里一个简单的云导播台就在livego的框架上进行开发。 三、实现的云导播台功能列表 rtmp流服务器主动拉取多路直播流; 拉取多路直播流指: rtmp流,http-flv流; 通过http选举,对拉取到的多份流进行动态选择,选择到的流再推送到上游; 四、云导播基本框...阅读全文

博文 2017-09-23 14:33:38 CSDN博客

[更新] 深圳羚羊极速科技有限公司招聘golang开发工程师

golang语言开发工程师 岗位职责: 1. 负责分布式系统设计与实现 2. 负责云存储系统的维护和优化 任职要求: 1. 3年以上 Linux 操作系统下的 GO项目的开发经验; 2. 有分布式存储开发、设计、架构经验,深刻理解分布式存储原理,有海量非结构化数据存储设计经验的优先考虑; 3. 精通linux IO系统、网络系统,精通高性能系统者优先; 4. 有RabbitMQ开发经验者优先; 5. 熟悉MongoDB、LevelDB数据库; 6. 具备良好的分析解决问题能力,能独立承担任务和有系统进度把控能力; 7. 有良好的团队合作能力,富有工作激情,善于沟通,热爱开发事业。 上班地点:深圳市...阅读全文

Go socket编程实践: UDP服务器和客户端实现

在上一篇文章Go socket编程实践: TCP服务器和客户端实现, 我们实现了一个ECHO服务器, 并且也实现了一个客户端来访问服务器。这篇文章讲解如何实现一个UDP服务器和客户端。这次我们使用的协议是 RFC 868,此协议提供了一个独立于站点的,机器可读的日期和时间信息。时间服务返回的提供了一个32位的数字,是从1900年1月1日午夜到现在的秒数。RFC 868定义时间协议使用端口37, TCP和UDP协议都可以。 另外还有两个关于时间/日期的RFC协议。NTP (RFC 1305)是网络时间协议,提供了精确的时间同步。daytime (RFC 867)在TCP端口13侦听,返回ACSII格式的日期和时间。 TCP/IP模型中,UDP为网络层以上和应用层以下提供了一个简单的接口。UDP...阅读全文

博文 2017-02-08 12:53:27 smallnest

【数据实时分析】流计算使用教程

课程介绍 阿里云流计算(Alibaba Cloud StreamCompute)是运行在阿里云平台上的流式大数据分析平台,提供给用户在云上进行流式数据实时化分析工具。 产品详情:https://data.aliyun.com/product/sc 课时列表 • 课时1:流计算概念 • 课时2:阿里云流计算产品介绍 • 课时3:阿里云流计算应用场景 • 课时4:阿里云流计算新手任务一 • 课时5:阿里云流计算新手任务二 开始学习http://click.aliyun.com/m/27853/ ...阅读全文

golang 错误处理与异常

[原文地址](http://litang.me/post/golang-error-and-panic/) golang 中的错误处理的哲学和 C 语言一样,函数通过返回错误类型(error)或者 bool 类型(不需要区分多种错误状态时)表明函数的执行结果,调用检查返回的错误类型值是否是 nil 来判断调用结果。 ### error golang 中内置的错误类型 error 是一个接口类型,自定义的错误类型也必须实现为 error 接口,这样调用总是可以通过 Error() 获取到具体的错误信息而不用关心错误的具体类型。标准库的 `fmt.Errorf` 和 `errors.New` 可以方便的创建 error 类型的变量。 ```go type error interface { Er...阅读全文

博文 2018-11-05 19:01:31 darlingtangli

开源的 RTSP 流访问工具Cameradar

Cameradar 是一个开源的访问 RTSP 流媒体的工具,可监控使用实时流传输协议(RTSP)的摄像机。 功能: 检测任何可访问的目标主机上开启的 RTSP 主机 检测正在进行流传输的设备 启动自动的字典攻击以获取 stream route 信息(如 `/live.sdp`) 启动自动的字典攻击以获取摄像机的用户名和密码 获取完整和用户友好的报告 ![image](https://static.oschina.net/uploads/space/2017/1012/200827_kpFD_2720166.gif...阅读全文

开源项目 2017-10-12 13:00:03 网友

使用Gin+WebSocket在HTML中无插件播放RTSP

项目地址:gin-rtsp 在后台的开发中遇到了对接显示摄像头视频流的需求。目前获取海康及大华等主流的摄像头的视频流使用的基本都是RTSP协议。不过HTML页面并不能直接播放RTSP协议的视频流,查询了一番各种网页播放RTSP的资料,有如下的一些方案: 插件开发播放:使用ActiveX等浏览器插件的方式来播放,海康和大华的浏览器管理页面便是通过安装浏览器插件来播放视频的。视频播放稳定,延时短,但是对技术要求较高,对于chrome等现代浏览器也存在兼容性问题,并不想考虑。 RTSP 转 HLS:使用FFMPEG将RTSP转为HLS,推流到流服务器,如安装了nginx-rtmp-module模块的nginx,用这个方案测试了下,HLS协议在PC端和移动端的浏览器的播放都很稳,但是用HLS协议的直...阅读全文

博文 2019-12-19 15:34:18 昊羲

golang 读取切分存储byte流文件

package main import ( "fmt" "os" "time" ) func check(e error) { if e != nil { panic(e) } } func cat(f *os.File) []byte { var payload []byte for { buf := make([]byte, 1024) switch nr, err := f.Read(buf[:]); true { case nr < 0: fmt.Fprintf(os.Stderr, "cat: error reading: %s\n", err.Error()) os.Exit(1) case nr == 0: // EOF return payload case nr > 0: ...阅读全文

博文 2017-02-09 08:27:20 载昊君

+jiayouya01可以交换51cto有想学习的吗

图片发自简书App 51cto学院微职位 Golang开发工程师51cto学院微职位人工智能工程师标准化课程51CTO学院大数据微职位 (基础+提升班级)全套 51CT0大数据全套教程从官方例程深度学习海思SDK及API-第211季视频课程海思平台上USB WIFI的移植与局域网无线调试和视频流预览-第511季视频课程全面认识海思SDK及嵌入式层开发-第111季视频课程图像sensor的特性和驱动解析视频教程-第411季ORTP库局域网图传和VLC实时预览-第311季视频课程老段带你学Perl视频课程零基础:21天搞定Python分布爬虫全全面认识海思SDK及嵌入式层开发-第111季视频课程深度解剖dubbo源码数据结构实战完全手册视频课程c++从入门到精通 c++111417c++对象模型...阅读全文

SRS流媒体服务器源码分析(一)

线程模型 srs使用了state-threads协程库,是单线程多协程模型。 这个协程的概念类似于lua的协程,都是单线程中可以创建多个协程。而golang中的goroutine协程是多线程并发的,goroutine有可能运行在同一个线程也可能在不同线程,这样就有了线程安全问题,所以需要chan通信或者mutex加锁共享资源。 而srs因为是单线程多协程所以不用考虑线程安全,数据不用加锁。 主流程分析 撇掉程序启动的一些初始化和设置,直接进入: int SrsServer::listen() { int ret = ERROR_SUCCESS; if ((ret = listen_rtmp()) != ERROR_SUCCESS) { return ret; } if ((ret = lis...阅读全文

博文 2018-09-18 13:34:42 云上听风

关于996

背景 因为京东强制996,导致部分软件开发人员不满,于是有了上班996,生病icu,创建了网站,同时在github上开了repo,star数以火箭般的速度上窜,迅速在程序员中扩散,同时霸占了github的trend,接着各路吃瓜群众围观。先有搜狗ceo怼员工,再有外国群众对国内水深火热之中的程序员表示人道主义慰问,包括python大拿(新闻链接)等, 然后各路媒体报道,甚至是马云都加入了。其中也有些很恶心的嘴脸,比如说国内浏览器封锁icu网站,新闻链接 其实有更深层的因素导致这个矛盾爆发。 矛盾因素 互联网寒冬 2018年互联网红利到了下半场,流量增速明显放缓,凛冬将至,互联网进入寒冬 全球经济不景气,国内经济也放缓,大环境下,vc没有那么财大气粗了 基于上面两点,导致国内急速扩张类的和需要...阅读全文

博文 2019-04-15 04:34:40 大漠狼道

如何让更多的产品关键词排在搜索引擎首页

如何让更多的产品关键词排在搜索引擎首页?每一个企业都很期待,因为这样才有更多展现的机会,才能带来一个更好的转化效果,所以说客户找到你是很关键的一步,然而想让更多的产品关键词排在搜索引擎首页,要么做竞价付费推广,要么通过免费优化。现实中高昂的付费推广成本让很多企业望而怯步,而免费优化的排名效果较慢,展现效果大打折扣。 如何让更多的产品关键词排在搜索引擎首页?易推宝是一个不错的选择! 点击查看原图 易推宝具备云排名系统,基于网站企业资讯的形式发布企业推广内容,经审核后分发至高权重平台,快速被搜索引擎收录,首页排名率高;采取B2B群发的形式,与国内顶尖群发软件团队合作研发,群发效果显著;具备用户跟踪统计系统,对每一个网页访问者进行精准定位,后台随时...阅读全文

视频监控业务上云方案解析

摘要: 阿里云针对安防监控服务在传统IT架构下面临的上述问题,基于阿里云存储服务,提供视频监控解决方案。从2015年推出视频监控存储与播放解决方案以来,帮助大量的视频监控企业解决了上云的过程中遇到的问题,针对不同的视频监控厂商,也推出了不同的解决方案 **行业痛点** 由于视频监控能最大的记录和还原当被监控的场景,近年来,视频监控逐步从专业领域的应用普及到了各个民用、家用领域,各个摄像相机厂家也纷纷推出各种型号的摄像机和解决方案。由于视频监控数据量大,也会遇到各种问题: 存储资源消耗大且增长迅速。视频监控业务极度消耗存储资源,一个成规模的互联网视频监控服务往往需要PB级甚至更多存储资源,普通IDC或小云服务提供商有限的基础设施很容易成为云视频监控业务爆发增长的瓶颈,一旦出现存储...阅读全文

golang 导出 csv文件

csv文件可以直接用Excel打开 csv方式导出,可以像导出txt一样,以文本流的方式进行流式处理,不但能导出海量信息,而且流式处理占用内存极低,服务器对浏览器的响应也是非常迅速的。 导出纯数字构成的字符串,在excel中打开csv时,容易被识别成数字,造成误解。一般加上"\t",也有人采用加" ' "单引号 等解决方式。 实现代码 package main import ( "encoding/csv" "fmt" "os" "sort" "time" ) func main() { // 不存在则创建;存在则清空;读写模式; file, err := os.Create("person_list.csv") if err != nil { fmt.Println("open file ...阅读全文

博文 2019-11-01 17:34:01 aside section._1OhGeD

go学习笔记-控制流

控制语句 条件语句 条件语句不需要使用括号将条件包含起来(); 无论语句体内有几条语句,花括号{}都是必须存在的; 左花括号{必须与if或者else处于同一行; 在if之后,条件语句之前,可以添加变量初始化语句,使用;间隔; 在有返回值的函数中,不允许将“最终的”return语句包含在if…else…结构中,否则会编译失败: func example(x int) int{ var result int if x == 0 { result = 5 } else { result = x } return result } 选择语句 switch i { case 0: fmt.Printf("0") case 1: fmt.Printf("1") case 2: fallthrough c...阅读全文

博文 2014-10-04 19:26:15 Bluven

你知道内容营销吗?,在不学习你就落伍了

很多企业(品牌)、尤其是过去使用传统媒体获利颇丰的企业,往往将内容营销规划放在媒体计划环节,然而最好的方式应该是在拟定沟通策略乃至整体市场销售策略阶段,积极和内容营销部门沟通,因为好的内容营销是整合营销。对于大多数2C产品(面向个人用户的产品)而言,整个内容传播过程都有可能产生即时销售或获得大量销售线索。 综观以上,作为营销和传播领域的企业,一定要跳脱代理的思维,从对客户的理解开始,找到客户的真正课题,并提供与客户课题及核心价值观吻合的、符合社会潮流的解决方案,它既可以以体育或音乐为中心,也可以电影或卡通形象为中心,然后通过这个中心来营造整个事件,从核心受众扩展到一般受众,达到营销效果最大化,把体育、娱乐等作为整体营销的重要部分来企划和实施。 企业为什么纷纷改做内...阅读全文

逃离北上广是伪命题?

2006年毕业的80后, 北京打拼8年,广州创业三年 (流媒体,CDN, APP 服务端,C/C++,Python,Go,Shell),从coder 到 CTO, 一路走来。 长期和孩子妻子分离,在网上看多了逃离北上广的理由, 稀里糊涂来昆明了。 发现工作真不多,大部分JAVA相关, 好不如意求得一份C++ 的工作,从零开始 小小程序员。 现在想想 ,对于在北上广混久的人来说, “逃离北上广” 已经成为一种不可能。 想逃的赶紧逃, 不要等到逃不动了。 再次记录下心情。另外求一份可以异地办公的occupation...阅读全文

Go 边看边练 -《Go 学习笔记》系列(十四)(已完结)

相信大家在看编程语言学习教程的时候都会难免觉得有点枯燥: * 自己看书,遇到问题不方便求助 * 书上的代码片段、示例是静态的 * 虽然有时书上会给出运行输出,但是不够直观 * 自己拷贝代码到 IDE 里运行是也比较麻烦 * 即使运行了也要来回在 IDE 和书之间切换,还是麻烦 * 总之,[程序员都是懒人](https://www.baidu.com/s?wd=%E7%A8%8B%E5%BA%8F%E5%91%98%20%E6%87%92%E4%BA%BA&rsv_spt=1&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_sug3=14&rsv_sug1=5&rsv_sug2=0&i...阅读全文

学习Golang语言(2): 变量

# 学习Golang语言(2): 变量 跟着“码术”一起学习Golang语言。学习一门新的语言,我们首先了解的是新语言的变量声明,基本类型,关键字以及控制流。本章主要讲解变量声明。 学习一门新的语言,我们首先了解的是新语言的变量声明,基本类型,关键字以及控制流。 Go语言在语法上类似于C语言。但是不同于C语言,Go虽然也是用分号进行语句分割,但是程序员不需要在每行程序结尾添加分号。Go语言的编译器会自动在每行末尾添加分号。 但是,如果你需要将两行(或者更多行)语句放在同一行内,那么需要使用分号(;)进行分隔。 **变量声明** Go语言不同于其他语言的地方在于:变量的类型在变量名之后。例如: C中: int a;而在Go中:var a i...阅读全文

【时速云线上分享】第十一期:Radio Dream流媒体直播平台基于Docker的应用

以下整理自第十一期技术分享内容,由 时速云 史鑫磊 分享。 首先介绍一下背景,Radio Dream项目是一个开源项目,前身为五雷轰顶网络电台,这个项目是我个人逐渐打磨了将近两年,最开始是因为猫扑网络电台停播,我个人是猫扑电台的老听众,很舍不得这个平台,后来想想,干脆自己做一个网络电台,就是因为这些想法催生了这个项目的成立。 说完背景开始聊聊这个电台的架构,我们从流媒体协议选型到架构实现等多个方面拆分的讲解这个平台实现方法,另外时速云镜像仓库里Radio Dream的镜像demo,总体来说这套系统部署起来还是十分复杂,虽然对系统要求极其低,单核心CPU,128M内存,20GB左右的硬盘就能跑起来,但是从最开始的架构设计我就打算做成一个集群化的方案,方便动态扩容,服务更多用户,...阅读全文

学习Golang语言(2): 变量

跟着“码术”一起学习Golang语言。学习一门新的语言,我们首先了解的是新语言的变量声明,基本类型,关键字以及控制流。本章主要讲解变量声明. 学习Golang语言(1): Hello World 学习Golang语言(2): 变量 学习Golang语言(3):类型--布尔型和数值类型 学习Golang语言(4):类型--字符串 学习Golang语言(5):类型--数组 学习一门新的语言,我们首先了解的是新语言的变量声明,基本类型,关键字以及控制流。 Go语言在语法上类似于C语言。但是不同于C语言,Go虽然也是用分号进行语句分割,但是程序员不需要在每行程序结尾添加分号。Go语言的编译器会自动在每行末尾添加分号。 但是,如果你需要将两行(或者更多行)语句放在同一行内,那么需要使用分号(;)进行分...阅读全文

博文 2014-10-09 16:00:04 codemanship

go 关于流媒体文件的处理, 有推荐的库吗?

是这样的, 我想用两台机子测试视频的实时, 在rtp传输这一块gortp这个库, 并且下载了一个.h264 的裸码文件,现在的问题是: 如何解析这个.h264 文件 根据一个nalu 长度来进行是否分片发送, 对视频这一块实在是不熟,请问有推荐的库 可以解析类似的文件吗...阅读全文

Cocos-BCX 项目月报(11月)

概述 核心技术进展:在 SDK 、DApp 和链系统等方面进行技术更新重要发布:本月发布了 Golang SDK 和论坛生态发展:本月举行了第三届生态合伙人会议、发布1.0版本生态图和 COCOS Bounty 报告线上活动:6场线下活动:3场媒体报道:9篇文章和5条快讯一、技术进展1.1 Cocos-BCX SDK1.1.1)JS-SDK优化区块订阅 API;调整 Node SDK;优化 Npm 包初始化速度;优化治理功能相关 API。1.2.1)Go-SDK:修改新的手续费扣除模式,增加抵押 Cocos-BCX 的接口;增加投票给理事会,和见证人的接口;对接更新的投票系统内容;对接更新的链系统;增加hex格式私钥转换为 COCOS 私钥的转换方法;增加交易记录以 UTXO 格式的输出;增...阅读全文

go golang资料大全

#####go基础到实战,聊天系统,日志管理系统,秒杀系统,分布式。 ![微信图片_20181016102120.png](https://static.studygolang.com/181016/cebb68e695ae7c615edf78dacec2ab29.png) #####Google 资深工程师深度讲解go, 流量统计系统,实战流媒体系统 ![微信图片_20181016170811.png](https://static.studygolang.com/181016/a3b32019b6563faf00fc808eedddf864.png) 这些都是本人学go 看过,资料齐全,如有需要,关注公众号(程序员的视界)免费领取,或wx:1732607089...阅读全文

博文 2018-10-16 17:11:00 vaderboy

高可扩分布式 CDN 解决方案Traffic Control

Apache Traffic Control 是一个分布式、可扩展的冗余解决方案,可用于构建、监视和配置大型内容交付网络(CDN)。项目起源于 [Traffic Server](https://www.oschina.net/p/trafficserver) ,实现了现代 CDN 的所有核心功能。 借助 Traffic Control,运营商可以设置一个内容分发网络,为用户快速高效地提供高质量的 Live 和 VOD 流媒体视频。 降低延迟:找到更靠近用户的缓存和内容可减少传送内容所需的往返时间。 降低带宽成本:在内存和磁盘上缓存内容可减少原始服务器和瓶颈链接上的负载...阅读全文

让Chrome看不了WWDC直播的HLS技术详解

Requirements: Live streaming uses Apple’s HTTP Live Streaming (HLS) technology. HLS requires an iPhone, iPad, or iPod touch with Safari on iOS 7.0 or later, a Mac with Safari 6.0.5 or later on OS X v10.8.5 or later, or a PC with Microsoft Edge on Windows 10. Streaming via Apple TV requires an Apple TV (2nd or 3rd generation) with software 6.2 or la...阅读全文

博文 2017-06-06 09:06:57 又拍云

深入Go UDP编程

用户数据报协议(User Datagram Protocol,缩写为UDP),又称用户数据报文协议,是一个简单的面向数据报(package-oriented)的传输层协议,正式规范为 RFC 768。UDP只提供数据的不可靠传递,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份(所以UDP有时候也被认为是不可靠的数据报协议)。UDP在IP数据报的头部仅仅加入了复用和数据校验。 由于缺乏可靠性且属于非连接导向协议,UDP应用一般必须允许一定量的丢包、出错和复制粘贴。但有些应用,比如TFTP,如果需要则必须在应用层增加根本的可靠机制。但是绝大多数UDP应用都不需要可靠机制,甚至可能因为引入可靠机制而降低性能。流媒体(流技术)、即时多媒体游戏和IP电话(VoIP)一定就是典型的UDP应用...阅读全文

博文 2016-10-20 16:00:01 jimoforever

Defer, Panic, and Recover[翻译]

文: http://golang.org/doc/articles/defer_panic_recover.html (被墙) 中文: http://zh-golang.appsp0t.com/doc/articles/defer_panic_recover.html Go语言提供一般的流程控制语句: if, for, switch, goto. 同时它还提供go语句来执行一个 goroutine. 这里我们将介绍几个不太常见的语句: defer, panic, 和 recover. 一个 defer 调用的函数将被暂时保存到调用列表中. 保存的调用列表在当前环境返回的时候被执行. Defer 一般可以用于简化代码, 执行各种清理操作. 让我们演示一个文件复制的例子: 函数需要打开两个文件,...阅读全文

博文 2015-05-03 22:20:00 chai2010

IPFS周刊——周刊回归!官方宣布协作集群!

星际文件系统 (IPFS)是一种新的超媒体分布协议,通过内容和标识来寻址。IPFS 支持创建完全分布式的应用程序。它的目标是使网络更快、更安全、更开放。以下是本期官方周报内容:欢迎回到IPFS周报。最近十大亮点▲宣布协作集群,这是第一批公共协作集群,为加入IPFS网络创造了一种简单的方式。▲一个IPFS用例,或者说为什么IPFS非常适合处理数据的买卖。▲IPFS文档测试版已经上线了!快去了解更多有关帮助测试,使它发展得更好。▲新版本:IPFS集群0.12.0!▲Golang的IPLD实践教程:如何从使用IPLD开始▲协议学院使社会共享成为可能。当用户完成教程中的所有课程时,他们现在会看到一条祝贺消息,并有机会在Twitter上分享他们的成功!▲比较IPFS和Dat:你想了解的关于这两者的一切...阅读全文

博文 2020-01-15 23:32:42 引力雾科技

学习记录:go语言中读写文件的小练习

package main import ( "os" "fmt" "bufio" "strings" "strconv" ) func main() { f, _:=os.OpenFile("a.txt", os.O_RDONLY, 0666) defer f.Close() m:=bufio.NewReader(f) char:=0 words:=0 lines:=0 for{ s, ok:=m.ReadString('\n') fmt.Println(s) char+=len(s) words+=len(strings.Fields(s)) lines++ if ok!=nil{ break } } fmt.Println("char:"+toString(char)+",words:"...阅读全文

博文 2014-10-04 19:26:30 明述道长

2018用go语言实战开发流媒体视频网站 架构解析 cloud native应用云实战

第1章 课程介绍介绍这门课程大纲,技术堆栈以及环境1-1 prestudy1-2 课程介绍及知识要点预习第2章 一个例子了解golang工具链通过一个简单的webservice具体从golang的工具链,到test,全面介绍golang在工程项目里需要掌握的知识点。2-1 一个例子了解golang常用工具链2-2 golang项目中test的写法2-3 golang项目中benchmark的写法2-4 章节总结第3章 流媒体网站架构以及API模块的实现本章通过实战演练,从网站的整体架构设计,到服务划分,数据库设计,到api模块的实现,全面讲述golang对webservice的实现以及代码分层架构的思想,同时辅以test cases的全程编写与指导,全面了解工程化golang项目的实现。3-...阅读全文

博文 2018-08-09 12:34:46 拥抱大数据

【TokenGazer评级】RChain:现金流问题暴露管理隐患,治理风险得到适当释放

TokenGazer观点:RChain当前市值估值区间在总市值200B前提下有95%的几率在22.5MM到79.2MM之间,TokenGazer项目指标为2分(满分5分,说明见文末),指标展望:上升趋势。RChain用Scala语言搭建核心平台,并在并发上有独特考虑,其DAG+Casper+RhoVM的技术架构随着项目进展将收到越来越多的关注。在现金流管理上暴露出严重的管理漏洞,董事长Greg Meredith未能对市场作出充足打算,董事会则未能对Greg的弱点起到足够的补充和制衡。目前主网上线前的资金缺口以及Mercury后续开发版本的资金筹措计划仍旧需要密切关注。Token供应缺乏规划的情况已经得到大幅度改善。1 估值、评分、变化预测1.1基本信息名称:RChain创立于:2017年3月...阅读全文

博文 2018-11-20 14:34:49 TokenGazer

Golang 流式解析 Json

json-iterator 库:https://github.com/json-iterator/go 动机 现有的golang解析json的库都是push模式的,缺少一种基于pull api的库。另外就是看一下golang解析json的速度到底如何,还有多少的提高空间。 API 风格 api 风格上是以 StAX 为基础,但是针对 JSON 做了特别的优化。比 StAX 和 SAX 都更简单可控。当然如果需要最简单,还是 DOM 类的 api 最简单。使用流式pull的api为的就是最大化控制解析过程。 解析 Array iter := ParseString(`[1,2,3]`) for iter.ReadArray() { iter.ReadUint64() } 可以看到,pull a...阅读全文

博文 2017-02-10 10:31:36 taowen

golang协程为什么比线程轻量?

先理解下进程、线程跟协程的概念: 进程    计算机的操作系统模式是一种多任务系统,操作系统接管了所有的硬件资源,并且本身运行在一个受硬件保护的级别。所有的应用程序都以进程(process)的方式运行在比操作系统权限更低的级别,每个进程都有自己独立的地址空间,使得进程之间的地址空间相互隔离。CPU由操作系统统一进行分配,每个进程根据进程的优先级的高低都有机会得到CPU,但是如果允许时间超出了一定的时间,操作系统会暂停该进程,将CPU资源分配给其他等待的进程。这种CPU的分配方式即所谓的抢占式,操作系统可以强制剥夺CPU资源并且分配给它认为目前最需要的进程。如果操作系统分配给每个进程的时间都很短,即CPU在多个进程间快速地切换,从而造成了很多进程都在同时运行的假象。 线程   线程有时被称为轻...阅读全文

博文 2019-07-07 17:32:41 one_zheng

【币码翁•技术】 最新 HTTP/2 漏洞曝光,我们该如何保护个人信息安全? ​

在这个数据、应用横行的时代,漏洞的出现早已屡见不鲜。在尚未造成大面积危害之前,我们该如何做好防御措施?或许从过往经常发生漏洞的事件中我们能够得到一些启发。近日,Netflix、Google 及 CERT/CC 披露了 HTTP/2 相关的 8 个安全漏洞,就连用来打造 Kubernetes 的 Go 语言也受到其中两个漏洞的波及,导致 Kubernetes 所有版本都受到相关漏洞影响,可能造成服务阻断。不过好在现在漏洞已修复,而我们在这个过程中又可以学习到什么? 几周前,Netflix公开了许多第三方HTTP/2实现中都存在的资源耗尽漏洞——由Jonathan Looney发现。该漏洞会直接影响Kubernetes中的HTTP/2端点(由net/http、x/net/http2等GoLang...阅读全文

博文 2019-09-30 16:33:49 aside section ._1OhGeD

对称加密算法和分组密码的模式

对称加密算法,即加密和解密使用一样的密钥的加解密算法。 分组密码(block cipher),是每次只能处理特定长度的一块(block)数据的一类加解密算法。 目前常见的对称加密算法DES、3DES、AES都是属于分组密码。 DES DES,全称Data Encryption Standard,是上一代标准对称加密算法,现已不推荐使用。 密钥:DES是一种将64bit的明文加密成64bit的密文的对称密码算法,它的密钥长度是64bit(每隔7bit会设置一个用于错误检查的bit,因此实际使用密钥长度56bit)。 分组:DES是以64bit的明文作为一个单位来进行加密的,这64bit的单位称为分组。一般来说,以分组为单位进行处理的密码算法称为分组密码(block cipher),DES就是分...阅读全文

博文 2017-05-15 02:45:06 linjinhe

【新功能】媒体处理MPS全新支持自适应多码率、多语言音轨

摘要: 视频内容的分发与播放已经深入了各行业的各类业务场景之中,对于视频平台而言,在不同网络状况下,都能以最优质的状况播放视频,满足用户对于观看体验的更高追求是一个不变的目标。为了更好的满足视频云客户的需求,阿里云媒体处理MPS产品在目前已经全面支持自适应多视频码率、多语言音轨和字幕等功能。 功能优势与适用场景 自适应多码率: 根据用户实际网络带宽条件,自动匹配视频流,兼顾清晰度和流畅度 适用场景: 实际上在视频内容传输过程中因为网络不稳定,播放卡顿、无法观看等问题时常发生。平台方一般会输出多个固定码率的视频(流畅、标准、高清、超清),在播放中用户如果遇到卡顿等问题,可以手动将视频清晰度调低,来保证播放顺畅,反之如果网络情况较好,用户再手动将视频清晰度调高来实现...阅读全文

【Golog】学习go

缘起 在写A new way to cpp的时候我想用数据库来引入 I/O模型,并发,数据结构的概念。发现我很尴尬的不知道从何起笔。找遍互联网的资料,知乎大佬上来就是大三作业做过数据库,高屋建瓴的说这说那,太不接地气。 恰好此时,我发现了TiDB发起了一个Talent Plan的项目,可以选择学习路线。我就选择了这个项目。 然后发现预备知识有go语言。那么这个是我第一次接触的语言我想知道我一宿能走到哪一步。毕竟我学习过编译原理,也学习了MIT6.001 SICP,所以这次我想直接站在词法分析到代码生成的角度考虑这个go语言。想想就兴奋的睡不着觉。 现在是2020/5/1-0:27。反正这次春招也是0 offer,不如学个习放松一下。给大脑来个马杀鸡 目录 练习题 练习 基础 包 变量 方法(...阅读全文

博文 2020-05-05 17:32:43 石渊友

关于结构化并发的笔记 —— Go 语言中有害的声明语句

## 前言 每一个并发的 API 背后的代码都需要允许并发运行的,以下是使用不同 API 的例子: ``` go myfunc(); // Golang pthread_create(&thread_id, NULL, &myfunc); /* C with POSIX threads */ spawn(modulename, myfuncname, []) % Erlang threading.Thread(target=myfunc).start() # Python with threads asyncio.create_task(myfunc()) # Python with asyncio ``` 在不同的符号和术语中有许多变体,但语义是一样的。上面的例子是以并发的方式运行 `my...阅读全文

博文 2018-07-09 09:30:40 lightfish-zhang

【译】The Clean Architecture

Robert C. Martin (Uncle Bob) 原文:https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html译:时序 在过去几年我们看到关于系统架构的很多想法。这些包括: Alistair Cockburn的六边形架构(也叫做端口与适配器),Steve Freeman, 和 Nat Pryce在他们精彩的著作Growing Object Oriented Software(http://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627)采用。 Jeffrey Palermo的Onion ...阅读全文

博文 2019-04-27 16:23:47 时序

go-grpc-流式接口(streaming rpc)

上一篇我们介绍了rpc最基本的应用,今天我们来看看rpc的另外一个数据交互方式streaming rpc,也就是流式接口。 streaming rpc相比于simple rpc来说可以很好的解决一个接口发送大量数据的场景。 比如一个订单导出的接口有20万条记录,如果使用simple rpc来实现的话。那么我们需要一次性接收到20万记录才能进行下一步的操作。但是如果我们使用streaming rpc那么我们就可以接收一条记录处理一条记录,直到所以的数据传输完毕。这样可以较少服务器的瞬时压力,也更有及时性 下面们来看看streaming rpc具体是怎么交互的。 IDL syntax = "proto3"; package proto; message Order { int32 id = 1;...阅读全文

博文 2020-02-20 22:32:42 旧梦发癫

兄弟连区块链技术培训分享Go语言笔记-控制流

Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,Go语言广泛应用于Web应用、API应用、下载应用等;除此之外,Go语言还可用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。 兄弟连Go语言+区块链培训课程共计22周学习时长,划分为9个学习阶段,即区块链主流语言-Go语言开发实战、区块链后端技术体系-Go语言高并发和服务器开发、Go开发区块链公链(区块链密码学、分布式编程、共识算法、基本概念,Golan公链开发)、eth与智能合约与DAPP开发、区块链分布式应用开发、区块链系统框架开发-超级账本与区块链3.0EOS、Go与区块链面试强化和高级企业级项目实战。控制语句条件语句条件语句不需要使用括号将条件包含起来(...阅读全文

博文 2018-08-28 14:35:30 兄弟连区块链培训