精华内容
下载资源
问答
  • 各大互联网公司技术分享
    千次阅读
    2019-05-15 10:37:27

    转自文章:https://mp.weixin.qq.com/s/WMsLuc7sktL952I-29EPyg

     

    各大公司对外开放的分享

    1. 腾讯

    github 

    https://github.com/tencent

    技术公众号

    • 腾讯 Bugly 

    • 腾讯音乐技术团队

    • QQ 空间开发团队(很久未更新)

    • QQ 音乐前端团队(FE)

    腾讯全端 AlloyTeam 团队

    http://www.alloyteam.com/

    2. 阿里

    github

    https://github.com/alibaba

    技术站点(语雀 -阿里巴巴公开对外的干货文章汇集)

     https://www.yuque.com/alidoc/dry

    技术站点(语雀 - 闲鱼技术 - flutter)

    https://www.yuque.com/xytech/flutter

    阿里云前端技术周刊(FE)

    https://github.com/aliyunfe/weekly

    支付宝技术团队

    http://blog.itpub.net/69904796/

    阿里中间件团队博客

    http://jm.taobao.org/

    阿里技术网站

    https://102.alibaba.com/tech/index/

    UC 国际研发团队

    https://zhuanlan.zhihu.com/ucit2018

    3. 百度

    github

    https://github.com/baidu

    技术公众号

    百度 App 技术

    百度 FEX

    http://fex.baidu.com/

    百度用户体验中心

    http://ued.baidu.com

    4. 头条

    github

    https://github.com/bytedance

    公众号

    字节跳动技术团队

    技术博客

    https://techblog.toutiao.com/

    https://www.jianshu.com/u/b3f97f005731

    5. 美团 & 点评 & 猫眼

    github

    https://github.com/meituan

    https://github.com/meituan-dianping 

    公众号

    美团技术团队

    猫眼前端团队

    技术博客

    https://tech.meituan.com/

    https://www.zhihu.com/org/mei-tuan-dian-ping-ji-shu-tuan-dui/posts

    6. 网易

    github 

    https://github.com/netease

    公众号

    网易传媒技术团队

    网易杭州前端技术部(很久未更新)

    网易云音乐开发组

    https://zhuanlan.zhihu.com/p/59634061

    网易考拉移动端团队

    https://blog.klmobile.app/

    7. 滴滴

    github

    https://github.com/didi

    公众号 

    滴滴技术

    滴滴 FE 博客

    https://github.com/DDFE/DDFE-blog

    8Qihoo360

    github

    https://github.com/Qihoo360

    360 核心安全技术博客

    http://blogs.360.cn/

    奇舞团博客

    https://75team.com/archives/

    9. 饿了么

    github

    https://github.com/eleme

    饿了么前端(FE)

    https://zhuanlan.zhihu.com/ElemeFE

    饿了么物流技术团队

    https://juejin.im/user/5aa892d0f265da23815550ca/posts

    10. 知乎

    github

    https://github.com/zhihu

    知乎技术专栏

    https://zhuanlan.zhihu.com/hackers

    11. 携程

    github

    https://github.com/ctripcorp

    https://github.com/CtripMobile 移动开发团队

    公众号

    携程技术中心

    12. 爱奇艺

    https://github.com/iqiyi

    公众号:

    爱奇艺技术产品团队

    13. 微店

    github

    https://github.com/weidian

    公众号

    WDApp技术团队

    微店技术团队 (很久未更新)

    微店 App技术团队

    https://juejin.im/post/5c41a112f265da6164144630
    14. 其他

    小米

    github

    https://github.com/xiaomi

    京东

    公众号:京东技术

    大搜车

    https://blog.souche.com/

    bilibili

    https://github.com/bilibili

    有赞

    github

    https://github.com/youzan

    有赞技术团队

    https://tech.youzan.com/

    随手记

    随手记技术团队

    https://juejin.im/user/59ffc8b1f265da430c113357/posts

    贝壳

    公众号:贝壳产品技术

    贝壳技术团队
    https://juejin.im/user/5c9dbc39f265da610209a109/shares

    即刻技术团队

    https://juejin.im/post/58db17b961ff4b006ce2ebc9

    芦苇科技App技术团队

    https://juejin.im/user/5bff5372e51d453410190973/posts

    咕咚移动技术团队

    https://juejin.im/user/5b42ca98e51d45195759ee35/posts

    各个大厂对外分享的技术,基本都是比较进阶类的,而且有非常强的参考价值,很多都经过线上稳定测试,正如我周末给大家写的:

     

    Android 进阶探索  为什么别人成长那么快?

     

    更多相关内容
  • 上海对外科学技术交流中心2019招聘模拟试题及答案解析.docx
  • 上海对外科学技术交流中心工作人员2019招聘模拟试题及答案解析.docx
  • 对外交流 (2011年)

    2021-05-13 10:26:02
    对外交流 (2011年)
  • 深圳市教育对外交流培训中心.docx
  • 广西东盟技术转移中心(广西壮族自治区对外科技交流中心)2019年招聘人员试题及答案解析.docx
  • 唐朝的对外交流和科技文化成就.pptx
  • 近年来,随着我市社会经济和对外交流的快速发展,我市旅馆,尤其是高档旅馆正 在不断兴建中。为了充分运用现代先进技术,构建实用、可靠、先进、经济的安全技术防范体系,维护旅馆的治安秩序,提高旅馆的安全技术...
  • 自动油脂润滑技术

    2020-07-13 16:48:50
    马脊梁煤矿所使用的MG400/930-WD型交流电牵引采煤机外牵引部由于润滑不良,经常出现故障,严重地制约正常生产...引进自动油脂润滑技术,对外牵引部所有轴承进行润滑,大大降低了事故率,同时降低了生产成本,提高了经济效益。
  • 企业网实施VoIP技术,尽管实际组网方案会有...VoIP商用技术的成熟,给企业网现阶段融合这一技术带来了可选择的空间,为满足企业对外信息交流能力的日益需求,也为企业网未来逐步向真正的多媒体宽带网过渡奠定了基础。
  • 直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够你学几年...

    原文链接:https://blog.csdn.net/zgpeace/article/details/108552358

    说明

    本文包括原理篇/思路篇/实践篇/方案篇/前端篇/总结

    • 直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够你学几年的。

    • 直播易:已经有各个领域的大牛,封装好了许多牛逼的框架,我们只需要用别人写好的框架,就能快速的搭建一个直播app,也就是传说中的站在大牛肩膀上编程。

    通用直播模型

    在这里插入图片描述

    在这里插入图片描述

    1. 首先是主播方,它是产生视频流的源头,由一系列流程组成:第一,通过一定的设备来采集数据;第二,将采集的这些视频进行一系列的处理,比如水印、美颜和特效滤镜等处理;第三,将处理后的结果视频编码压缩成可观看可传输的视频流;第四,分发推流,即将压缩后的视频流通过网络通道传输出去。

    2. 其次是播放端,播放端功能有两个层面,第一个层面是关键性的需求;另一层面是业务层面的。先看第一个层面,它涉及到一些非常关键的指标,比如秒开,在很多场景当中都有这样的要求,然后是对于一些重要内容的版权保护。为了达到更好的效果,我们还需要配合服务端做智能解析,这在某些场景下也是关键性需求。再来看第二个层面也即业务层面的功能,对于一个社交直播产品来说,在播放端,观众希望能够实时的看到主播端推过来的视频流,并且和主播以及其他观众产生一定的互动,因此它可能包含一些像点赞、聊天和弹幕这样的功能,以及礼物这样更高级的道具。

    3. 我们知道,内容产生方和消费方一般都不是一一对应的。对于一个直播产品来讲,最直观的体现就是一个主播可能会有很多粉丝。因此,我们不能直接让主播端和所有播放端进行点对点通信,这在技术上是做不到或者很有难度。主播方播出的视频到达播放端之前,需要经过一系列的中间环节,也就是我们这里讲的直播服务器端。

    4. 直播服务器端提供的最核心功能是收集主播端的视频推流,并将其放大后推送给所有观众端。除了这个核心功能,还有很多运营级别的诉求,比如鉴权认证,视频连线和实时转码,自动鉴黄,多屏合一,以及云端录制存储等功能。另外,对于一个主播端推出的视频流,中间需要经过一些环节才能到达播放端,因此对中间环节的质量进行监控,以及根据这些监控来进行智能调度,也是非常重要的诉求。

    5. 实际上无论是主播端还是播放端,他们的诉求都不会仅仅是拍摄视频和播放视频这么简单。在这个核心诉求被满足之后,还有很多关键诉求需要被满足。比如,对于一个消费级的直播产品来说,除了这三大模块之外,还需要实现一个业务服务端来进行推流和播放控制,以及所有用户状态的维持。如此,就构成了一个消费级可用的直播产品。

    但是正如刚才所说的直播通用模型一样,实际上这里很多功能都可以抽象成一个通用功能,也就是说各家直播产品的需求和实现方式都类似。

    直播架构

    在这里插入图片描述

    在这里插入图片描述

    直播App 架构 和 技术点

    在这里插入图片描述
    直播APP的业务逻辑不复杂,使用基本的MVC框架即可。

    • 部分Controller的业务逻辑较多,独立的业务可以拆分出去作为一个单独的Catagory;
    • Model的数据变化采用event(notification)的形式通知,便于做多处数据绑定;
    • Model之间的相互独立,如果由业务需要,需要交换Model的数据,由Controller代为处理;
    • HTTPService为AFNetworking封装,回调Model以Block块为主,特殊的业务逻辑以event(notification)的形式通知;

    在这里插入图片描述

    一个完整直播APP功能

    1. 聊天: 私聊、聊天室、点亮、推送、黑名单等;
    2. 礼物: 普通礼物、豪华礼物、红包、排行榜、第三方充值、内购、礼物动态更新、提现等;
    3. 直播列表: 关注、热门、最新、分类直播用户列表等;
    4. 自己直播: 录制、推流、解码、播放、美颜、心跳、后台切换、主播对管理员操作、管理员对用户等;
    5. 房间逻辑: 创建房间、进入房间、退出房间、关闭房间、切换房间、房间管理员设置、房间用户列表等;
    6. 用户逻辑: 普通登陆、第三方登陆、注册、搜索、修改个人信息、关注列表、粉丝列表、忘记密码、查看个人信息、收入榜、关注和取关、检索等;
    7. 观看直播: 聊天信息、滚屏弹幕、礼物显示、加载界面等;
    8. 统计: APP业务统计、第三方统计等;
    9. 超管: 禁播、隐藏、审核等;

    一个完整直播app实现流程

    1.采集、2.滤镜处理、3.编码、4.推流、5.CDN分发、6.拉流、7.解码、8.播放、9.聊天互动

    在这里插入图片描述

    了解流媒体(直播需要用到流媒体)

    1. 流媒体开发:网络层(socket或st)负责传输,协议层(rtmp或hls)负责网络打包,封装层(flv、ts)负责编解码数据的封装,编码层(h.264和aac)负责图像,音频压缩。

    2. 帧:每帧代表一幅静止的图像

    3. GOP:(Group of Pictures)画面组,一个GOP就是一组连续的画面,每个画面都是一帧,一个GOP就是很多帧的集合。
      ☞ 直播的数据,其实是一组图片,包括I帧、P帧、B帧,当用户第一次观看的时候,会寻找I帧,而播放器会到服务器寻找到最近的I帧反馈给用户。因此,GOP Cache增加了端到端延迟,因为它必须要拿到最近的I帧
      ☞ GOP Cache的长度越长,画面质量越好

    4. 码率:图片进行压缩后每秒显示的数据量。

    5. 帧率:每秒显示的图片数。影响画面流畅度,与画面流畅度成正比:帧率越大,画面越流畅;帧率越小,画面越有跳动感。
      ☞ 由于人类眼睛的特殊生理结构,如果所看画面之帧率高于16的时候,就会认为是连贯的,此现象称之为视觉暂留。并且当帧速达到一定数值后,再增长的话,人眼也不容易察觉到有明显的流畅度提升了。

    6. 分辨率:(矩形)图片的长度和宽度,即图片的尺寸

    7. 压缩前的每秒数据量:帧率X分辨率(单位应该是若干个字节)

    8. 压缩比:压缩前的每秒数据量/码率 (对于同一个视频源并采用同一种视频编码算法,则:压缩比越高,画面质量越差。)

    9. 视频文件格式:文件的后缀,比如.wmv,.mov,.mp4,.mp3,.avi,
      ☞ 主要用处,根据文件格式,系统会自动判断用什么软件打开,
      注意: 随意修改文件格式,对文件的本身不会造成太大的影响,比如把avi改成mp4,文件还是avi.

    10. 视频封装格式:一种储存视频信息的容器,流式封装可以有TS、FLV等,索引式的封装有MP4,MOV,AVI等,
      ☞ 主要作用:一个视频文件往往会包含图像和音频,还有一些配置信息(如图像和音频的关联,如何解码它们等):这些内容需要按照一定的规则组织、封装起来.
      ☞ 注意:会发现封装格式跟文件格式一样,因为一般视频文件格式的后缀名即采用相应的视频封装格式的名称,所以视频文件格式就是视频封装格式。

    11. 视频封装格式和视频压缩编码标准:就好像项目工程和编程语言,封装格式就是一个项目的工程,视频编码方式就是编程语言,一个项目工程可以用不同语言开发。

    直播基础知识介绍

    采集视频、音频

    采集视频、音频编码框架:AVFoundation:AVFoundation是用来播放和创建实时的视听媒体数据的框架,同时提供Objective-C接口来操作这些视听数据,比如编辑,旋转,重编码

    视频、音频硬件设备

    • CCD:图像传感器: 用于图像采集和处理的过程,把图像转换成电信号。
    • 拾音器:声音传感器: 用于声音采集和处理的过程,把声音转换成电信号。
    • 音频采样数据:一般都是PCM格式
    • 视频采样数据: 一般都是YUV,或RGB格式,采集到的原始音视频的体积是非常大的,需要经过压缩技术处理来提高传输效率

    视频处理(美颜,水印)

    • 视频处理原理:因为视频最终也是通过GPU,一帧一帧渲染到屏幕上的,所以我们可以利用OpenGL ES,对视频帧进行各种加工,从而视频各种不同的效果,就好像一个水龙头流出的水,经过若干节管道,然后流向不同的目标
    • 现在的各种美颜和视频添加特效的app都是利用GPUImage这个框架实现的,.

    视频处理框架

    • GPUImage : GPUImage是一个基于OpenGL ES的一个强大的图像/视频处理框架,封装好了各种滤镜同时也可以编写自定义的滤镜,其本身内置了多达120多种常见的滤镜效果。
    • OpenGL:OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。
    • OpenGL ES:OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。

    视频编码解码框架

    • FFmpeg:是一个跨平台的开源视频框架,能实现如视频编码,解码,转码,串流,播放等丰富的功能。其支持的视频格式以及播放协议非常丰富,几乎包含了所有音视频编解码、封装格式以及播放协议。
      ☞ -Libswresample:可以对音频进行重采样,rematrixing 以及转换采样格式等操 作。
      ☞ -Libavcodec:提供了一个通用的编解码框架,包含了许多视频,音频,字幕流 等编码/解码器。
      ☞ -Libavformat:用于对视频进行封装/解封装。
      ☞ -Libavutil:包含一些共用的函数,如随机数生成,数据结构,数学运算等。
      ☞ -Libpostproc:用于进行视频的一些后期处理。
      ☞ -Libswscale:用于视频图像缩放,颜色空间转换等。
      ☞ -Libavfilter:提供滤镜功能。
    • X264:把视频原数据YUV编码压缩成H.264格式
    • VideoToolbox:苹果自带的视频硬解码和硬编码API,但是在iOS8之后才开放。
    • AudioToolbox:苹果自带的音频硬解码和硬编码API

    视频编码技术

    • 视频压缩编码标准:对视频进行压缩(视频编码)或者解压缩(视频解码)的编码技术,比如MPEG,H.264,这些视频编码技术是压缩编码视频的
      ☞ 主要作用:是将视频像素数据压缩成为视频码流,从而降低视频的数据量。如果视频不经过压缩编码的话,体积通常是非常大的,一部电影可能就要上百G的空间。
      ☞ 注意:最影响视频质量的是其视频编码数据和音频编码数据,跟封装格式没有多大关系
    • MPEG:一种视频压缩方式,它采用了帧间压缩,仅存储连续帧之间有差别的地方 ,从而达到较大的压缩比
    • H.264/AVC:一种视频压缩方式,采用事先预测和与MPEG中的P-B帧一样的帧预测方法压缩,它可以根据需要产生适合网络情况传输的视频流,还有更高的压缩比,有更好的图象质量
      ☞ 注意1:如果是从单个画面清晰度比较,MPEG4有优势;从动作连贯性上的清晰度,H.264有优势
      ☞ 注意2:由于264的算法更加复杂,程序实现烦琐,运行它需要更多的处理器和内存资源。因此,运行264对系统要求是比较高的。
      ☞ 注意3:由于264的实现更加灵活,它把一些实现留给了厂商自己去实现,虽然这样给实现带来了很多好处,但是不同产品之间互通成了很大的问题,造成了通过A公司的编码器编出的数据,必须通过A公司的解码器去解这样尴尬的事情
    • H.265/HEVC:一种视频压缩方式,基于H.264,保留原来的某些技术,同时对一些相关的技术加以改进,以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。
      ☞ H.265 是一种更为高效的编码标准,能够在同等画质效果下将内容的体积压缩得更小,传输时更快更省带宽
      ☞ I帧:(关键帧)保留一副完整的画面,解码时只需要本帧数据就可以完成(因为包含完整画面)
    • P帧:(差别帧)保留这一帧跟之前帧的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。(P帧没有完整画面数据,只有与前一帧的画面差别的数据)
    • B帧:(双向差别帧)保留的是本帧与前后帧的差别,解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。B帧压缩率高,但是解码时CPU会比较累
    • 帧内(Intraframe)压缩:当压缩一帧图像时,仅考虑本帧的数据而不考虑相邻帧之间的冗余信息,帧内一般采用有损压缩算法
    • 帧间(Interframe)压缩:时间压缩(Temporal compression),它通过比较时间轴上不同帧之间的数据进行压缩。帧间压缩一般是无损的
    • muxing(合成):将视频流、音频流甚至是字幕流封装到一个文件中(容器格式(FLV,TS)),作为一个信号进行传输。

    音频编码技术

    AAC,mp3:这些属于音频编码技术,压缩音频用

    码率控制

    • 多码率:观众所处的网络情况是非常复杂的,有可能是WiFi,有可能4G、3G、甚至2G,那么怎么满足多方需求呢?多搞几条线路,根据当前网络环境自定义码率。
      ☞ 例如:常常看见视频播放软件中的1024,720,高清,标清,流畅等,指的就是各种码率。

    视频封装格式

    • TS : 一种流媒体封装格式,流媒体封装有一个好处,就是不需要加载索引再播放,大大减少了首次载入的延迟,如果片子比较长,mp4文件的索引相当大,影响用户体验
      ☞ 为什么要用TS:这是因为两个TS片段可以无缝拼接,播放器能连续播放
    • FLV: 一种流媒体封装格式,由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,因此FLV格式成为了当今主流视频格式

    推流

    数据传输框架

    • librtmp:用来传输RTMP协议格式的数据

    流媒体数据传输协议

    • RTMP(Real Time Messaging Protocol,实时消息传输协议)属于五层TCP/IP体系中的应用层,它是基于TCP传输的流媒体协议,默认端口为1935,是一个协议族,包括RTMP基本协议及RTMPT、RTMPS、REMPE等多种变种。RTMP协议是Adobe System公司为Flash播放器和FMS服务器之间音视频和数据传输开发的私有协议,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题,基于此协议,abobe提供完善的音视频解决方案,比如点播、直播、互动。
      ☞ RTMP协议用于对象、视频、音频的传输。
      ☞ 这个协议建立在TCP协议或者轮询HTTP协议之上。
      ☞ RTMP协议就像一个用来装数据包的容器,这些数据可以是FLV中的视音频数据。一个单一的连接可以通过不同的通道传输多路网络流,这些通道中的包都是按照固定大小的包传输的
      ☞ chunk:消息包

    流媒体服务器

    常用服务器

    • SRS:一款国人开发的优秀开源流媒体服务器系统
    • BMS:也是一款流媒体服务器系统,但不开源,是SRS的商业版,比SRS功能更多
    • nginx:免费开源web服务器,常用来配置流媒体服务器。

    数据分发

    • CDN:(Content Delivery Network),即内容分发网络,将网站的内容发布到最接近用户的网络”边缘”,使用户可以就近取得所需的内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度.
      ☞ CDN:代理服务器,相当于一个中介。
      ☞ CDN工作原理:比如请求流媒体数据
      ☞☞ 1.上传流媒体数据到服务器(源站)
      ☞☞ 2.源站存储流媒体数据
      ☞☞ 3.客户端播放流媒体,向CDN请求编码后的流媒体数据
      ☞☞ 4.CDN的服务器响应请求,若节点上没有该流媒体数据存在,则向源站继续请求流媒体数据;若节点上已经缓存了该视频文件,则跳到第6步。
      ☞☞ 5.源站响应CDN的请求,将流媒体分发到相应的CDN节点上
      ☞☞ 6.CDN将流媒体数据发送到客户端
    • 回源:当有用户访问某一个URL的时候,如果被解析到的那个CDN节点没有缓存响应的内容,或者是缓存已经到期,就会回源站去获取搜索。如果没有人访问,那么CDN节点不会主动去源站拿.
    • 带宽:在固定的时间可传输的数据总量,
      ☞ 比如64位、800MHz的前端总线,它的数据传输率就等于64bit×800MHz÷8(Byte)=6.4GB/s
    • 负载均衡: 由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助.
      ☞ 通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。
      ☞ 均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题。
      ☞ 这种群集技术可以用最少的投资获得接近于大型主机的性能。
    • QoS(带宽管理):限制每一个组群的带宽,让有限的带宽发挥最大的效用

    拉流

    • 直播协议选择:
      ☞ 即时性要求较高或有互动需求的可以采用RTMP,RTSP
      ☞ 对于有回放或跨平台需求的,推荐使用HLS
      在这里插入图片描述
    • HLS:由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件。可实现流媒体的直播和点播,主要应用在iOS系统
      ☞ HLS是以点播的技术方式来实现直播
      ☞ HLS是自适应码率流播,客户端会根据网络状况自动选择不同码率的视频流,条件允许的情况下使用高码率,网络繁忙的时候使用低码率,并且自动在二者间随意切换。这对移动设备网络状况不稳定的情况下保障流畅播放非常有帮助。
      ☞ 实现方法是服务器端提供多码率视频流,并且在列表文件中注明,播放器根据播放进度和下载速度自动调整。
    • HLS与RTMP对比:HLS主要是延时比较大,RTMP主要优势在于延时低
      ☞ HLS协议的小切片方式会生成大量的文件,存储或处理这些文件会造成大量资源浪费
      ☞ 相比使用RTSP协议的好处在于,一旦切分完成,之后的分发过程完全不需要额外使用任何专门软件,普通的网络服务器即可,大大降低了CDN边缘服务器的配置要求,可以使用任何现成的CDN,而一般服务器很少支持RTSP。
    • HTTP-FLV:基于HTTP协议流式的传输媒体内容。
      ☞ 相对于RTMP,HTTP更简单和广为人知,内容延迟同样可以做到1~3秒,打开速度更快,因为HTTP本身没有复杂的状态交互。所以从延迟角度来看,HTTP-FLV要优于RTMP。
    • RTSP:实时流传输协议,定义了一对多应用程序如何有效地通过IP网络传送多媒体数据.
    • RTP:实时传输协议,RTP是建立在UDP协议上的,常与RTCP一起使用,其本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于低层服务去实现这一过程。
    • RTCP:RTP的配套协议,主要功能是为RTP所提供的服务质量(QoS)提供反馈,收集相关媒体连接的统计信息,例如传输字节数,传输分组数,丢失分组数,单向和双向网络延迟等等。

    解码

    解封装

    • demuxing(分离):从视频流、音频流,字幕流合成的文件(容器格式(FLV,TS))中, 分解出视频、音频或字幕,各自进行解码。

    音频编码框架

    • fdk_aac:音频编码解码框架,PCM音频数据和AAC音频数据互转

    解码介绍

    • 硬解码:用GPU来解码,减少CPU运算
      ☞ 优点:播放流畅、低功耗,解码速度快,
      ☞ 缺点:兼容不好
    • 软解码:用CPU来解码
      ☞ 优点:兼容好
      ☞ 缺点:加大CPU负担,耗电增加、没有硬解码流畅,解码速度相对慢

    播放

    • ijkplayer:一个基于FFmpeg的开源Android/iOS视频播放器
      ☞ API易于集成;
      ☞ 编译配置可裁剪,方便控制安装包大小;
      ☞ 支持硬件加速解码,更加省电
      ☞ 简单易用,指定拉流URL,自动解码播放.

    聊天互动

    *IM:(InstantMessaging)即时通讯:是一个实时通信系统,允许两人或多人使用网络实时的传递文字消息、文件、语音与视频交流.
    ☞ IM在直播系统中的主要作用是实现观众与主播、观众与观众之间的文字互动.

    • 第三方SDK
      腾讯云:腾讯提供的即时通讯SDK,可作为直播的聊天室
      融云:一个比较常用的即时通讯SDK,可作为直播的聊天室

    如何快速的开发一个完整的iOS直播app

    1、利用第三方直播SDK快速的开发

    2、第三方SDK公司为什么要提供SDK给我们?

    • 希望把我们的产品和它绑在一条船上,更加的依赖它。
    • 技术生钱,帮养一大批牛B的程序员

    3、直播功能:自研还是使用第三方直播SDK开发?

    • 第三方SDK开发: 对于一个初创团队来讲,自研直播不管在技术门槛、CDN、带宽上都是有很大的门槛的,而且需要耗费大量的时间才能做出成品,不利于拉投资。

    • 自研:公司直播平台大,从长远看,自研可以节省成本,技术成面比直接用SDK可控多了。

    4.第三方SDK好处

    • 降低成本
      ☞ 使用好的第三方企业服务,将不用再花高价请猎头去挖昂贵的大牛,也不用去安抚大牛们个性化的脾气
    • 提升效率
      ☞ 第三方服务的专注与代码集成所带来的方便,所花费的时间可能仅仅是1-2个小时,节约近99%的时间,足够换取更多的时间去和竞争对手斗智斗勇,增加更大的成功可能性
    • 降低风险
      ☞ 借助专业的第三方服务,由于它的快速、专业、稳定等特点,能够极大地加强产品的竞争能力(优质服务、研发速度等),缩短试错时间,必将是创业中保命的手段之一
    • 专业的事,找专业的人来做
      ☞ 第三方服务最少是10-20人的团队专注地解决同一个问题,做同一件事情。第三方服务所带来的支持效果,绝不是通过1-2个人处理所能对比的,难道不是吗

    优质资源

    喜欢请帮忙点赞,收藏!!!

    参考

    https://github.com/f2e-journey/xueqianban/issues/61

    https://www.jianshu.com/p/bd42bacbe4cc

    https://www.jianshu.com/p/d99e83cab39a

    展开全文
  • 企业容器平台技术交流 DockerWindows容器和Azure容器功能 ;日程安排;Microsoft Love Linux;Docker是什么;所有业务都是软件业务;Docker官网赫然写着三个大字 BuildShipRun ;Windows;对外表现和作用类似于小型虚拟机;...
  • 除此之外,崔宝秋还要负责小米的对外技术合作(比如说跟武汉大学、哈尔滨工业大学的合作)和工程师文化的打造,当然,这也是崔宝秋在此前的任职中一直在做的事情,他在接受雷锋网采访时表示,自己一直在小米内部推动...

    点击上方“朱小厮的博客”,选择“设为星标”

    后台回复”1024“获取公众号专属1024GB资料

    作者丨晓乐

    来源丨AI早餐汇(ID:AImorningshow)

    本文由21CTO晓乐综合央广网、雷锋网、36氪等报道而成

    2019年,PC互联网用户规模持续减少,虽降速放缓,但人口红利不断流失已是不争的事实,2019年9月用户规模达5.92亿,同比减少1.5%。用户以男性用户为主(52.6%),30岁以上用户增多,本专科用户为主心骨,用户城市下沉趋势依旧。时长红利也消失殆尽,2019年6月人均上网时长已不足1.5小时,同比减少6.3%,寻找行业出口及应用场景已是关键。

    2019年移动互联网月独立设备数逼近14亿台,但增速明显放缓,同比增加6.7%。男性与女性网民规模均有所上升,35岁以下用户是主要群体。人均单日上网时长达3.6小时,取得新高,但增速放缓(同比+11.7%),占有用户时间的天花板逐渐显露,行业迈进厮杀更为激烈的局面。

    可以看到,以中国网民的数量趋向饱和为基础,流量红利时代即将结束,增量市场转变为存量市场,而企业的生存发展也遇到诸多难题。

    下沉市场变成所有互联网企业的必争之地。若问下沉市场将带来怎样的商机?阿里巴巴整个财年超过1亿的新增用户有77%来自于三线及以下城市。依靠下沉市场快速登陆资本市场的拼多多过去一年股价涨幅达到103.98%,市值一举超过百度和京东。瞄向下沉市场是一场危机下的狂欢,如今成了流量红利消失后的增长机会。

    从另一侧来看,在国内移动互联网全面普及的大背景下,互联网正在以前所未有的程度从线上世界融入到社会行业发展的多个层面,并且推动了 5G、大数据、人工智能、区块链等技术的进一步发展。在这样的大拐点中,以 BAT为代表,身处其中的中国互联网企业也在以各自不同的方式积极寻求改变。 

    在之前,互联网或软件企业对技术的看法不一,它看不见摸不着,但有用,有多大?有运营的因素,也有其它因素,似乎技术很有用。在互联网生活中,远程视频,交流互动,共享图片,结识新朋友,做生意等,都是由全球千万计的工程师(开发者,决策者,组织,个人等)不断贡献,提出新想法,开发出创新服务。

    也正缘由于此,中国的IT互联网出现了一些共同点:包括 BAT,TMD 等大小巨头在内,这些代表性中国互联网企业在架构调整和人事变动中均竖起了技术之旗帜。

    腾讯技术委员会成立


    2019年,腾讯技术委员会正式宣布成立。这距离18年9月30日,腾讯宣告拉开产业互联网的大幕,转战互联网下半场已经过去了100多天。

    技术委员会的成立是腾讯的表决心,也是向外界释放的一个巨大讯号:过去一个季度,腾讯的组织架构调整已有了阶段性成果。互联网的下半场,腾讯希望用技术说话。

    据悉,腾讯技术委员会由腾讯高级执行副总裁、技术工程事业群总裁卢山和腾讯高级执行副总裁、云与智慧产业事业群总裁汤道生两名腾讯总办成员牵头,几大事业群的技术负责人悉数进入技术委员会的决策圈。技术委员会同时下设「开源协同」和「自研上云」项目组,发力内部代码的开源和协同,并推动业务在云上全面整合。

    技术委员会的成立意味着腾讯的“技术中台”初露端倪,人们开始对这次组织变革有了新的想象空间。不过探索与建设仍需耐心,同时也面临诸多挑战:技术委员会能否打破腾讯现有的各事业群之间技术封闭的僵局?它如何让腾讯重拾技术信念?整合的阵痛会不会给推进带来阻力?

    想要通过技术委员会来重新激活组织,20岁的腾讯恐怕还要回答这些问题。

    调整阵痛期后的方案落地

    2018年9月,腾讯启动战略升级,时隔6年后对组织架构进行变革,新成立了云与智慧产业事业群(CSIG)和平台与内容事业群(PCG)。

    这也是腾讯在2005年升级为BU(Business Unit)事业部制、2012年升级为 BG(Business Group)事业群制后,第三次主动战略升级。“成立技术委员会”、”内部分布式开源协同“、“打造具有腾讯特色的技术中台”等话语,也首次出现在官方公告内。

    其实开源对腾讯来说并不陌生。早在2011年,腾讯便在内部提倡以公共组件的形式共享和复用代码,并于次年发布了第一个对外开源项目。

    对于腾讯这家公司而言,所谓开源,本质上就是需要建立一个统一的技术中台,避免重复造轮子。

    但过去几年,腾讯开源做的并不足够彻底,主要受制于腾讯过去的组织结构。如果研究腾讯的发展历史不难发现,腾讯现有的公司结构大体来自2011-2012年前后公司的那次变革,当时云计算、大数据、AI技术都尚不成熟,组织变革主要为了应对移动互联网时代的到来。事实上,上一次变革也确实帮助腾讯很好的实现了从PC到移动时代的过渡。

    腾讯创始人张志东曾在腾讯学院演讲中表示,对腾讯而言,原有的生产模式好处是能以部门或产品组为单位,完成自主立项,快速试验,这种组织方法有其边界简明和利于快速尝试的优点。

    “但今天这个时代下,因为数据中台建设的缺课蛮多,除了在技术上会造成许多重复发明轮子的现象,在大数据的应用上,还会带来很重的数据墙和组织墙的问题。”

    这种结构性的矛盾也是腾讯的核心管理团队痛定思痛,产生变革决心的来源之一。在腾讯20周年内部分享上,关于开源协同的问题,卢山曾进行过深入讨论:“有了开源,我们能更好地了解彼此,团队之间也能更客观地评价,最终通过协同形成信任。希望五年以后项目、技术、研发同事都能很方便地在腾讯的‘技术地图’上自由选择要用的技术。”

    区别于对外开源采取的“自下而上”的推进节奏,技术委员会的成立意味着腾讯希望以“自上而下”的方式,强力推动内部开源协同的步伐,从而减少代码的重复开发,提升项目推进效率。

    截至2019年1月,腾讯正式发布的对外开源项目共计69个,开源项目累计在GitHub获得了19万Star数。诸如腾讯云T stack、蓝鲸智云BlueKing CMDB、微信开源系列(如WeUI)、TARS等,都是腾讯开源的模范案例。

    如果说2018年9月30日的架构调整彰显了云业务在腾讯未来战略发展中的重要地位,这次技术委员会的成立,也能看出腾讯在推动内部研发工作在云端深度整合、加速云上配置的一体化。

    针对云业务,汤道生曾在内部分享时提及,腾讯团队这几年不断去完善CDN、网络和虚拟管理的能力,都是锻炼技术的过程。只有敢于把这些工具、能力都放上云,都对外开放,才能够验证自己在行业里是否处于领先水平。

    毋庸置疑,这是一个巨大的挑战,在业内也几乎没有先例可循。

    补足中台缺失 迎来产品技术双驱动

    一直以来腾讯内部都有一种声音,认为公司的资源和研发力量存在分散浪费的情况。以AI研发为例,相比阿里和百度,腾讯的AI技术落地都在贴合场景需求推进,而不是先投入大量资源研发前沿技术再找落地场景,可谓非常接地气。但这也导致腾讯此前的AI研究院布局分散,几乎每条业务线都有自己的AI研发团队,比如微信就有自己的AI team,此外腾讯内部还有优图实验室和AI Lab。

    拆墙和融合,无疑将是腾讯技术委员会接下来要攻克的重点。但看起来,它面临的挑战还不止于此。

    腾讯自张志东后再无CTO,此次技术委员会的成立,虽有卢山和汤道生牵头,各技术事业群负责人群策群力,但是否真能补足腾讯在技术上的缺口并重振信心还尚未可知。

    一个积极的变化是,从企业文化层面考虑,腾讯技术委员或许能让腾讯的工程师文化再度发扬光大。

    针对这种变化,卢山就曾对内表示,希望今后的新员工会觉得,在腾讯做开发是很幸福的东西,能学到很多东西,能看到很多优秀的代码。“人们不仅谈论硅谷文化,也谈论我们中国开发人员的代码文化。”

    而在公有云上开发,也同样对腾讯员工的职业生涯意义深远:“我们希望员工在腾讯这几年所学习的技能同样在外面有用的,而不是只在腾讯有用。”汤道生说。

    技术委员会这样的考虑,是因在腾讯内部,工程师文化依然是主流,鼓励用代码、用技术说话——“talk is cheap, show me the code。”卢山曾提出要建立技术社区,给技术人员每人发十个别人的代码,让大家在“互喷”中进步。

    小米:技术事关生死存亡

    与腾讯相比,小米对自家技术委员会的定位颇有相通之处,但也有不同之处。

    小米成立技术委员会的时间是 2019 年 2 月 26 日。当时正值小米新一轮架构调整,此前担任小米首席架构师、小米人工智能与云平台副总裁的崔宝秋被任命为小米集团副总裁、集团技术委员会主席。

    对此,雷军表示,小米要继续强化技术立业,因为技术事关小米生死存亡,是小米持续发展最重要的动力和引擎;而崔宝秋的使命是要进一步强化技术文化和工程师文化,着力提升小米的技术方向决策,以及在技术人才招聘等方面加大力度,并探索未来技术趋势。 

    从这次任命以及后来 4 月份的具体人事任命来看,小米技术委员会不仅要承担技术研究、方向把握和技术合作的角色,也要负责小米整体的技术文化、技术角色和技术人才培养。

    关于自身小米技术委员会的角色变化,崔宝秋曾经在 CCF-GAIR 2019 上接受采访时表示:

    自己之前就负责小米的 ABC(AI、Big Data 和 Cloud)三块,现在是负责整个集团层面的所有技术,包括硬件、软件和互联网服务,也包括设计;核心的东西(比如说技术路线、技术演进、技术储备等)其实没有变化,区别在于之前更多是横向推动,而如今是从上往下推,推动起来更加方便了。 

    当然,在小米集团技术委员会之下,崔宝秋还要掌管小米的设计委员会和隐私委员会。除此之外,崔宝秋还要负责小米的对外技术合作(比如说跟武汉大学、哈尔滨工业大学的合作)和工程师文化的打造,当然,这也是崔宝秋在此前的任职中一直在做的事情,他在接受雷锋网采访时表示,自己一直在小米内部推动类似于硅谷创业公司的工程师文化,包括崇尚开源等。

    2019 年 11 月 19 日,在小米开发者大会上,崔宝秋作为小米集团技术委员会主席进行了《携手探索技术未来》的演讲,而小米的核心技术也由此第一次整体亮相。

    在现场,崔宝秋介绍了诸多小米核心技术,涵盖智能手机、Auto ML、小米移动端深度学习框架 MACE、NLP、Pegasus 和小爱同学 3.0 等,并总结出了 IoT 到 AIoT 的三大质变因素,可以说是 “小米技术大阅兵”。

    值得关注的是,这次大会上,国际语音识别和AI领域的知名专家、语音识别开源工具 Kaldi之父丹尼尔·波维Daniel Povey在加盟小米集团后首度亮相。

    丹尼尔·波维Daniel Povey表示,他之所以愿意远涉重洋来到中国工作,其中一个特别重要的原因就是以小米为代表的中国互联网公司纯粹、极致的开源文化,以及开放、共享的理念。业内人士分析,中国互联网企业近年来在人工智能取得的巨大成就,也是吸引相关领域的全球优秀科学家的主要原因。

    小米宣布启动“手机+AIoT”双引擎战略,提出未来5年将在AIoT领域投入100亿元,本次大会不仅吸引了AI、大数据、云计算、电商和智能硬件的开发者,还吸引了地产、酒店、家电等多个万亿级产业的众多代表们,他们都希望分享小米对AIoT产业发展的洞见。

    将AIoT列为核心战略,也为小米的增长注入了强劲的动力。据小米第二季度财报披露,截至2019年6月30日,IoT平台已连接的智能设备(不包括智能手机及笔记本电脑)数量达到约1.96亿台,同比增长69.5%。

    此外,人工智能助理“小爱同学”的月活跃用户于2019年6月达到4990万人,同比增长88.3%。智能电视及小米盒子的月活跃用户于2019年6月达到了2260万人,同比增长53.8%。机构分析认为,整体看来小米的AIoT平台已经处于领先地位,未来5G+AIoT将会持续赋能,以建立更丰富更具活力的生态系统。

    百度第三任 CTO 王海峰的新使命

    作为 BAT 之一,百度在市值上已经被另外两家远远甩在身后,但在技术层面,百度依然有着不可小觑的地位。而纵观百度在 2019 年的诸多动态,最为引入注目的莫过于其第三任 CTO 的任命,担任这个角色的,是技术大牛王海峰。

    在学术层面,王海峰履历亮眼。他是自然语言处理领域最具影响力的国际学术组织 ACL 历史上首位出任过主席的华人,也是唯一来自中国大陆的 ACL 会士,获得获国家科技进步奖二等奖一项,是首届吴文俊人工智能杰出贡献奖唯一获奖人,享受国务院政府特殊津贴。

    值得一提的是,王海峰还曾经被提名为中国工程院院士的候选人。

    在职业生涯方面,王海峰于 2010 年 1 月加入百度,至今已经有近 10 年的百度职业生涯。他历任高级科学家、基础技术首席科学家、副总裁、高级副总裁;他先后为百度创建了自然语言处理部、互联网数据研发部、推荐引擎和个性化部、多媒体部、图片搜索部、语音技术部等;协助创建了百度深度学习研究院 IDL,创建了百度 AIG,后来在 2018 年底担任 AI 技术平台体系(AIG)和基础技术体系(TG)总负责人。

    可以说王海峰无论是技术实力还是在百度的职业生涯,都都完全够得上百度 CTO 对技术本身的极高要求了,尤其是在 AI 时代,这种优势更加明显。不过,王海峰作为百度 CTO 还有另外一个优势:他在百度已经任职近十年,在一步步成长过程中,不仅仅对百度的技术进展贡献有加,也深刻地了解百度的技术发展和产品发展体系,在技术管理层面也已经积累大量经验。 

    从几乎所有角度来看,王海峰就任百度 CTO 都是最佳选择。 

    百度之所以重新设立 CTO 的角色,按照李彦宏的说法,是为了为了进一步建设和巩固公司核心技术优势,坚定不移地推进产品和用户体验提升,释放技术红利,推动产业智能变革。而王海峰要承担的,不仅仅是百度技术核心竞争力的提升,同时还要技术面向应用的转化,同时还要负责团队人才的培养及梯队建设。 

    值得重点关注的是,在王海峰担任百度 CTO 几个月后,李彦宏宣布进一步升级 “云 + AI” 的战略,百度智能云与 CTO 高效融合,百度副总裁、百度智能云总经理尹世明带领 ACG(智能云事业群组)向百度 CTO 王海峰汇报。

    李彦宏表示,这次组织架构的升级,有利于加速 TG 中台战略实施过程中积累的底层技术能力向云输入,更有利于加速 AIG 的 AI 能力的商业化,让技术更直接更有效率地在云平台上支撑业务。

    可见,在人工智能正在走向应用落地的大背景下,百度是希望推进利用底层技术来赋能云计算业务,并由此推动云计算赋能 AI 走向落地——而在这一次的任命中,作为 CTO 的王海峰所要担任的职责更为重大,不仅统领了百度的总体技术进展,还要重点负责百度 AI 等技术能力的商业化落地战略。 

    可以说,从业务层面来看,王海峰已经成为百度内部仅次于李彦宏的二号人物,这也充分说明百度对技术的极端重视。

    京东技术转型终于有了掌舵者

    2019 年 11 月 19 日,在 JDD(京东全球科技探索者大会)上,京东宣布了整体向技术转型的战略,旗下京东零售、京东数字科技、京东物流三大子集团业务首次集中亮相,同时,京东明确对外阐释了 “以零售为基础的技术与服务企业” 的集团战略定位。

    就这一定位,媒体在对其进行解读时认为,京东在技术投入、人才引入、技术进展和重视程度上都颇有作为,但对于业务链条超级复杂、流量巨大的京东来说,仍然缺乏的其实是顶层的技术架构设计,也就是 CTO 这一角色的空缺——然而很快,京东就作出反应确立了整个京东技术体系的掌舵者角色。

    只不过,这个角色的实际 Title 不再是京东 CTO,而是京东集团技术委员会主席,由周伯文担任。

    作为京东集团技术委员会主席,周伯文首先是一个技术大牛。在加入京东之前,周伯文曾担任 IBM Research 人工智能基础研究院(AI Foundations)院长、IBM Watson Group 首席科学家、IBM 杰出工程师等职位。同时,周伯文曾获得多个 IBM 技术奖项,还曾获 IBM 杰出技术领导成就奖和 IBM 公司最高奖“Best of IBM”。在学术层面,周伯文的简历表也颇为瞩目——值得一提的是,2019 年 11 月 27 日,周伯文还入选了 IEEE 2020 年新晋 Fellow 名单。  

    2017 年 9 月 29日,周伯文加入京东,京东集团副总裁,主要负责 AI 研究与平台部相关业务,明确聚焦于 AI 算法的创新,并结合应用场景和成果为相关模块赋能;他向京东 CEO 刘强东直接汇报。

    此后两年间,周伯文为京东 AI 技术基础的发展作出了不少贡献。 

    比如说,在周伯文的带领下,京东打造人工智能开放平台 NeuHub,目前,NeuHub 开放平台已经联合内外部生态力量,携手生态伙伴共研发了 200 余款产品及应用;其中,科技部宣布依托京东集团建设智能供应链国家新一代人工智能开放创新平台,其背后就是以以京东人工智能开放平台 NeuHub 为载体的。另外在人才方面,周伯文为京东招聘了何晓冬、梅涛等几十位科学家,并组成了一支 400 人上下的人工智能团队。

    但在任命周伯文为技术委员会主席之前,京东集团其实已经做了一些准备工作。12 月 6 日,京东集团宣布立京东云与 AI 事业部,该事业部整合了原京东云、人工智能、IoT 三大事业部的架构与职责,由周伯文掌舵,而原有的京东云事业部总裁申元庆宣告出局——如此一来,周伯文全面掌握了京东 AI、云和 IoT 等基础技术部门。 

    按照京东方面的说法,周伯文在担任京东云与 AI 事业部负责人之后,将带领京东云、人工智能、IoT 团队聚焦战略、技术、产品、创新、场景化顶层设计和商业落地,将京东的前沿技术与实体经济相融合,致力于实现学术前沿化、技术商业化的目标。由此可见,周伯文不仅仅是负责京东底层技术的进展和学术推动,还要推动技术走向应用和商业化。

    然而,就在周伯文被任命为京东云与 AI 事业部负责人 4 天之后,他就在新一轮架构调整中被任命为京东集团技术委员会。按照官方的说法,京东集团技术委员会将致力于构建技术品牌,统筹打造技术文化,培养技术人才队伍,推进京东技术转型和技术服务战略的落地,同时对外技术合作与交流,并打造对外技术影响力。

    由此,京东在整体技术层面终于迎来了名义和实质上的掌舵者,从而为京东的技术转型战略打下了一个好的根基。 

    美团:中国互联网要转向用户需求和核心技术双轮驱动

    美团点评CEO王兴在数字中国建设峰会等主题演讲几次提到技术的重要性。王兴表示,中国互联网的发展要从从用户需求驱动转变到用户需求和核心技术双轮驱动,要大力发展核心技术。

    王兴表示,在数字中国的建设中,互联网企业一是要坚持经济效益和社会效益相统一,更好承担起社会责任和道德责任;二是要大力发展核心技术,中国互联网发展要从用户需求驱动,转变到用户需求和核心技术双轮驱动。

    技术的重要性。团购是典型的O2O,消费者线上交易,线下消费。但这个过程很不容易,你既要线上的产品技术研发强,又要线下的商务谈判推广强,这两种基因不太一样,得均衡好。有人认为团购完全是一个线下的事情,跟技术没关系,其实不是这样的。“千团大战”我们能够逐步胜出,跟IT系统的领先有很大很大的关系。

    “互联网、大数据、人工智能都是数字中国建设的加速器。”王兴说,中国互联网发展的上半场充分享受了新兴市场的红利,有最多的人口、最多的互联网用户、最多的智能手机用户,所以能有很快的发展;但到了下半场,要从用户需求驱动转向用户需求和核心技术双轮驱动。他介绍称,美团除了连接消费者端,也参与到餐厅的数字化、信息化、网络化和智能化的建设当中。他还称每天近2000万单的外卖智能调度系统、在无人配送方面的研发、以及天眼推出的餐厅市民评价和大数据系统等等,都是美团点评的关键技术支撑。

    此外,王兴还在现场分享了父辈创业精神对他的影响,他父亲创建的水泥厂曾经参与到家乡的公路建设,王兴称,与父辈用水泥浇筑高速公路相比,“我希望在今天这样一个新时代,我们这代人能够真正搭建起信息高速公路,建设数字中国,打造网络强国,共创美好生活。”

    阿里巴巴技术生态的一次代际传递

    在中国互联网企业中,阿里巴巴在技术层面的战略布局和人才补充能力,可以说是出类拔萃、独树一帜的,其技术中枢和掌舵者角色早在多年前就已经确立,并随着时间的推移一路强化。体现在 2019 年,阿里巴巴在技术层面不仅仅有了巨大的收获和荣耀,也有了进一步的架构调整和升级。

    2019 年 11 月 22 日,在中国工程院公布的 2019 年当选院士名单中,赫然出现了来自阿里巴巴(中国)有限公司的王坚——这在两院院士的入选单位中是第一次,而王坚也成为中国民企院士第一人。

    在很长的一段时间里,王坚一直以阿里巴巴技术掌舵者的形象出现。他在 2008 年加盟阿里巴巴集团担任首席架构师,直接向马云汇报;此后为了解决大算力瓶颈问题,他带领阿里巴巴技术团队从零建立云计算系统,这个系统被定名为——飞天,而飞天也是中国唯一自研的云操作系统,它也奠定了今天的阿里云的基础。

    王坚在 2012 年 8 月被任命为阿里巴巴集团 CTO;到了 2015 年 6 月,王坚被任命为阿里巴巴技术委员会主席——而 2019 年 11 月,王坚正式当选为中国工程院院士,这当然首先是王坚本人的荣耀,但同时也可以说是阿里巴巴在技术上的荣耀。

    不过,在王坚功成名就的同时,阿里巴巴在技术架构方面的进化并没有停止。

    2019 年 12 月 19 日,阿里巴巴和与之关联密切的蚂蚁金服同时发布了内部信,宣布了新一轮架构调整和人事变动;其中,这一轮架构调整的一个重要着力点在于技术体系的变革。

    比如说,张建锋在以往担任达摩院院长、阿里云智能事业群的基础之上,又被赋予阿里巴巴技术委员会主席的角色,从而领导阿里巴巴未来的技术总战略,达摩院的建设,以及致力于阿里云智能业务的进一步突破。从 CTO 到技术委员会主席,张建锋在继续高升的同时,也把阿里巴巴 CTO 的角色留了出来,由原蚂蚁金服 CTO 程立担任。

    据悉,程立是在 2005 年加入支付宝,是支付宝技术平台的奠基人之一,主持了支付宝各代技术架构的规划与基础技术平台的建设,设计并实施了支付宝一系列关键业务系统,他被被支付宝员工誉为 “神一样的存在” ;他长期担任蚂蚁金服 CTO 一职,在 2016 年 12 月的蚂蚁金服架构调整中,程立还兼任蚂蚁金服国际事业群 CTO,后来还曾经担任蚂蚁金服国际事业群 COO。

    显然,张建锋作为阿里巴巴技术掌门人的地位得到了进一步的巩固,同时也凸显了阿里云智能事业群在阿里巴巴集团的整体技术支撑地位——相比之下,此前担任阿里巴巴技术委员会主席的王坚已经有了功成身退的感觉。

    当然,以阿里巴巴的技术体系之庞大,张建锋一个人是忙不过来的;某种程度上,程立从蚂蚁金服调任阿里巴巴担任 CTO,并且担任阿里巴巴技术委员会副主席,正是为了辅佐张建锋——但此处需要注意的是,程立的直接汇报对象也是阿里巴巴 CEO 张勇,而非张建锋。

    另外,在蚂蚁金服方面,由于程立在阿里巴巴有了新角色,蚂蚁金服的 CTO 一职胡喜担任。据悉,在升职之前,胡喜担任蚂蚁金服副 CTO、副总裁和首席架构师,也是阿里巴巴的合伙人——这次的调整,胡喜也是成功转正了。

    可以看到,在这一次的架构调整中,阿里巴巴充分发挥了其在技术人才方面的替补优势,并且在战略上对技术进行了更高的强调。而蚂蚁金服本质上也是属于属于阿里巴巴生态体系的范畴,所以实际上这次调整也是整个阿里巴巴生态在技术层面发生的一次升级。 

    实际上,伴随着阿里巴巴技术委员会的实际担任角色从王坚到张建锋,阿里巴巴的整个技术体系也完成了代际传递。

    总结:中国互联网行业走向技术驱动时代

    即使移动互联网时代已经过去,BAT 也依然是中国互联网行业的风向标。 

    2018 年,BAT 都在各自的架构调整中朝向 B 端迈进了一步,由此成为整个中国互联网行业发展开始向产业层面深入拓展的一个注脚。

    到了 2019 年,BAT 则再次罕见一致地在技术架构层面实现了进一步的动向,也许它们的重心和形式各有不同,但无一不反映了技术本身在它们自身发展中得到了更高的定位。更何况,在 BAT 的周围,还有京东、小米等中国最具代表性的互联网企业,也一同确立了技术在自身企业发展中的独特地位。

    如果借用历史眼光和上帝视角来看待 2019 年,这一年必将会被视为中国互联网行业发展史上的一个标志性年份。经历了二十余年的野蛮生长和激流冲荡,这个行业终于定位到自身长远发展的核心支撑力——技术,并且开始在定位中调整,在调整中沉潜,在沉潜中蓄力。而这种力量,也是中国互联网企业面对未来内外挑战的关键所在。

    由此,站在 2020 年的窗口,我们真诚地为中国互联网行业祝福,并同样做好了见证一切的准备。

    想知道更多?描下面的二维码关注我

    【精彩推荐】

    朕已阅 

    展开全文
  • 技术研发团队管理计划方案书

    千次阅读 2021-03-17 17:23:17
    组内工作气氛 固化团建活动 月/季度一次团队聚餐,逐渐固化团队之间工作,业务,技术,沟通交流机制,以一方为主导负责,另一方积极响应配合,避免临界地带出现和扩散。 员工福利建设 扩大员工福利范围和已有福利...

    目录

     

    第一部分 序

    目标

    第二部分 团队建议

    一 小组划分

    第三部分 小组计划

    一 小组任务管理

    二 小组工作氛围

    1 组员能力成长

    3 组员幸福感提升

    三 小组工作协同

    四 小组建设规划

    第四部分 2021目标和计划

    附件


    第一部分 序

    目标

    平台研发部计划按岗位划分成立4个小组:产品设计组、前端研发组、后端研发组、测试支持组,4个小组分别设立组长(主管),组长需在本周提出小组管理思路,要求如下:

    思路

    1. 小组工作任务管理:组员任务分配、任务跟踪管理、工作效率提升、交付质量提升、组员绩效评估
    2. 小组工作氛围管理:组员能力成长、小组工作气氛、组员幸福感提升思路
    3. 小组间的工作协同:小组间的协同管理思路、争端解决机制、任务协同,涉及到对外协同的需要有对外协同管理思路
    4. 小组建设规划:小组建设方向、2021年建设目标与执行计划、需要部门提供的支持

    第二部分 团队建议

    一 小组划分

    1. 平台研发部门根据人员职能划分4个小组,4个小组归属于部门,由部门直管。

    产品设计组、前端研发组、后端研发组、测试支持组,4个小组分别设立组长(主管)归属于部门直管。

    1. 同时根据产品业务线条设立itmg 底座, dvp ,dip 业务组,分别设立业务组技术经理(技术主管),归属于部门直管。
    1. 职能部门和业务线同时存在,根据团队情况可一实一虚。

    按照职能部门划分团队适用于团队规模小,团队技术力量薄弱,需要提高团队或部门凝聚力和某些任务战斗力。

    按照业务线划分团队适用于团队规模较大,团队技术实力强或者可以快速建设起来,需要在业务线深耕并且有高质量交付验收要求的或者业务是其生命线的情况。

     

    业务线/职能部门架构图

     

     

    第三部分 小组计划

    一 小组任务管理

    根据月/季度规划任务列表,按照敏捷开发模式快速迭代。

    1. 组员任务分配

    首先,任务拆分

    任务拆分遵循smart原则(S=Specific、M=Measurable、A=Attainable、R=Relevant、T=Time-bound)是为了利于员工更加明确高效地工作,更是为了管理者将来对员工实施绩效考核提供了考核目标和考核标准,使考核更加科学化、规范化,更能保证考核的公正公开与公平。下边简单介绍smart原则具体内容:

    1. 具体的(Specific)

    所谓明确就是要用具体的语言清楚地说明要达成的行为标准。明确的目标几乎是所有成功团队的一致特点。很多团队不成功的重要原因之一就因为目标定的模棱两可,或没有将目标有效的传达给相关成员。

    1. 可以衡量的(Measurable)

    衡量性就是指目标应该是明确的,而不是模糊的。应该有一组明确的数据,作为衡量是否达成目标的依据。如果制定的目标没有办法衡量,就无法判断这个目标是否实现。

    1. 可以达到的(Attainable)

    目标是要能够被执行人所接受的,如果上司利用一些行政手段,利用权力性的影响力一厢情愿地把自己所制定的目标强压给下属,下属典型的反映是一种心理和行为上的抗拒:我可以接受,但是否完成这个目标,有没有最终的把握,这个可不好说。

    1. 相关性(Relevant)

    目标的相关性是指实现此目标与其他目标的关联情况。如果实现了这个目标,但对其他的目标完全不相关,或者相关度很低,那这个目标即使被达到了,意义也不是很大。

    1. 绩效指标必须具有明确的截止期限(Time-bound)

    目标特性的时限性就是指目标是有时间限制的。

    其次,任务顺序合理

    任务前置依赖和后置顺序逻辑遵循连贯性,持续性,可迭代。

    最后,任务粒度大小适中

    任务可根据月/季度任务列表中选取优先级最高的任务进行里程碑规划,原子任务等,原子任务建议3-5天;里程碑任务建议2-4周。

    1. 任务跟踪管理

    从产品PRD评审,预计工期,预计交付约束,质量等;到UI设计稿交付;然后架构设计,任务拆分,详细设计,开发交付代码,自测,CODEREVIEW审核,集成测试,联调测试,版本合并,部署,提测等;再然后到测试,测试报告,产品人员验收和交付。任何一个环节跟踪,预警,危机处理机制等均会对产品整体质量,交付工期有不可估量的影响。

    总体分三大环节跟踪管理:

    1. 产品,UI设计端

    首先,交付件包括业务/产品PRD,原型,任务功能清单,UI设计搞,切图,样式等。

    其次,需求或者已审需求变更大必须评审。

    然后,评审参与人员研发负责人和测试负责人必须参与达成一致,最好参与研发和测试工程是,UI设计师也参与评审。

    最好,经过反复评审的需求通过后,方可交予UI设计师,研发和测试方。

    1. 研发,测试

    首先,接收到产品和UI交付件后,快速沟通和考虑产品设计逻辑,预计质量,条件约束,预计工期和研发实力和现状匹配程度等,一般情况是没啥问题的。

    然后,进行架构设计,设计评审,任务拆分和讨论,详细设计和评审,这个过程必须有研发设计评审,架构师参与评审来保证降低返工次数和返工。

    最后,进入开发阶段,开发完成,自测,代码走查或者评审(评审前开发责任人必须通过工具走查完成),开始集成,联调,联调完成后,发起提测,测试冒烟测试,功能测试,性能测试,总结测试报告,交予产品验收。

    在研发工作开展和持续过程中技术经理或者架构师需要把握和推动研发进度顺利进行,预测技术难点,开发工作量大小,同时保障风险预警,风险升级,风险处理渠道畅通无阻。

    1. 验收,交付

    验收,和交付主要有产品方完成。

    1. 工作效率提升
    1. 产品需求环节设计明确,交付件齐全,降低需求返工,临时变更,反复沟通和低效沟通次数和几率。
    2. 培训,团队之间培训,业务培训,技术培训,组内临时技术讨论会;后续考虑组织导师带领辅导机制。
    3. 任务,顺序设计合理,并且交付时间点固化,并且提取里程碑节点交付和验收。

     

    1. 交付质量提升
    1. 加强产品用户体验,用户行为,竞品分析,预测和规划,根据现实研发难易程度情况进行平衡。
    2. 增强研发团队整体实力,通过聘请高端技术人员,组织团队培训,激发员工自我提升,引导和奖励导师跟带模式等提升团队单兵作战和协同,团队作战和团队协同工作能力。
    3. 提升测试覆盖面,场景测试,主要功能频次测试,逐步规划和实施压力测试,性能测试,极限测试。
    1. 组员绩效评估

    以激励为主,对应配备惩戒机制辅助。

    1. 首先根据任务完成情况数量和完成质量。

    激励任务完成数量多,并且质量高的员工;惩戒任务完成数量少,并且bug多的员工。

    1. 其次根据团队协同支撑数量,工作方式匹配度,态度衡量。

    奖励团队协同获得要求方好评,并且工作方式匹配多高,效率高,太多好的员工。

    1. 最后参考纪律和考勤。

    二 小组工作氛围

    1 组员能力成长

    1. 任务分配科学

    主要任务分配因人而异,指导和协助,激励和惩戒因时因人而异,针对不同组员分配具有不同挑战的任务;在不同时间段分配技术难度和工作量大小不同,给予指导和帮助不同;对任务执行结果和质量好坏给予不同激励和惩戒。

    1. 建立可持续长效业务分享,技术分享机制以周/月为单位
    2. 根据月/季度任务量匹配员工,帮助,促使员工达成和成长

    引导和协助员工自己职业计划和工作任务统一匹配,帮助员工达成任务预计目标,让员工自己从中感受到成就感。

     

    1. 组内工作气氛
    1. 固化团建活动

    月/季度一次团队聚餐,逐渐固化团队之间工作,业务,技术,沟通交流机制,以一方为主导负责,另一方积极响应配合,避免临界地带出现和扩散。

    1. 员工福利建设

    扩大员工福利范围和已有福利分量(根据实际情况而定)

    1. 简化报销流程

    晚上加班10点后,企业微信打车回家;简化晚上加班晚餐报销流程,或者统一报销。

     

    3 组员幸福感提升

    1. 制造激励和奖励仪式感
    2. 建设和宣传团队文化氛围
    3. 组内创造惊喜机会和次数


     

    三 小组工作协同

    1. 组间协同

    以业务线,产品和职能两个维度划分和建设团队;一实一虚建立起小组员工,组长,部门之间对应的底层网络,中层组长和顶层部门的立体的协同的金字塔结构。

     

    1. 争端解决

    首先,任务组员负责制,如果出现停止,延期,质量预警,需由组员发起预警告知直接组长,组长保证预警和预警上升通道顺畅。

    然后,任务之间有依赖关系的,并且发生预警,需由任务责任人推动和跟进保证任务预警上升通道畅通。

    最后,任务依赖关系各自责任方必须保证阻塞任务及时解决并且跟进。

    1. 任务协同
    1. 任务归属责任人,两个和两个以上人负责必须有一个主leader主导负责,可以由任务执行部分的责任人担任并且跟进和转换。
    2. 前置任务完成情况必须有相应的审核,追责制度,定义清晰边界,边界只能是一条线,不能是一个区域。
    3. 协同任务在任意时间点必须归属于一个责任方,不能是多方,可以在不同时间点归属不同责任方。

     

    1. 对外协同
    1. 定义任务优先级,对外协同工作范围
    2. 安排合理人员
    3. 及时跟进关键节点交付物
       

    四 小组建设规划

    1. 小组建设方向

     

    2021年第一季度

    1. 主要保证基本的后端研发工作顺利推进
    2. 主要保证后端工程师人员稳定
    3. 提升工程师对技术兴趣心里认知和预期

    2021年第二季度

    1. 重点打造团队整体研发实力
    2. 逐渐培养业务线条技术核心骨干
    3. 思考研发团队内部的层次梯队建设
    1. 需要部门提供的支持

    1 增补后端工程师数量不足的现状

    2 考虑团队建设经费预算(可以考虑组内筹集)

    3 需要部门根据后端人员数量现状考虑团队支撑业务线任务量的大小,并且保证在合理区间内。

     

    第四部分 2021目标和计划

    序号

    团队稳定性

    团队技术实力

    业务支撑能力

    协同能力

    1

    激励员工,积极参与任务,并且从中获取成就感

    共同配合,适当迎接有些小挑战的任务

    支持顺利完成基本业务规划

    协助部门达成基本目标

    2

    安排团队聚餐和娱乐健身活动

    培养团队向心力和鼓励支持创造其参与业界业务技术论坛会机会

    指导帮助员工完成有挑战的任务

    对跨部门协同工作,激励员工积极参与和主动配合完成

    3

    考虑和指定奖励机制,营造奖励仪式感。

    考虑和保证优秀员工职级晋升渠道畅通和按时晋升甚至提前晋升。

    激发和安排业务,技术分享

    培养和组建组内最小核心员工,普通员工梯队

    引导激发员工主动去承担业务支撑研发工作。并且项目完工后积极复盘,发现盲区,亡羊补牢,提升员工认知。

    引导和创造协同完成后总结和复盘。发现不足和总结经验。

     

     

    附件

    1 PRD:描述产品需求的文档

    2 CODEREVIEW:检查代码中是否存在代码的一致性、编码风格、代码的安全问题、代码冗余、是否正确设计以满足需求(功能、性能)等等。

     

    展开全文
  • 曾负责过网易博客、游戏、易信,开源项目 Pomelo 研发工作,热爱开源和技术交流。  到 2016 年,云计算发展已有十个年头。  十年前,亚马逊点燃了一场颠覆传统软件服务业的云计算革命。而后的十年间,中外...
  • 技术加速隐私暴露,如何应对?

    千次阅读 2020-09-17 10:52:10
    技术加速隐私暴露,如何应对?(一) 原创数据玩家一个数据玩家的自我修养2019-10-09 收录于话题 #新技术与隐私保护 8个 点击上方蓝字关注数据玩家 正文约4000字,读完需11分钟 序 最近的大数据...
  • 前言 我是来自滴滴平台的陶文,今天很高兴能够在这里给大家做一些 golang 相关的分享和交流,我的演讲主要分为三个模块: 一、为什么不手写测试? 二、...
  • 华为C语言编程规范(精华总结)

    万次阅读 多人点赞 2020-03-24 09:48:55
    另外,一旦把私有定义、声明放到独立的头文件中,就无法从技术上避免别人include之,难以保证这些定义最后真的只是私有的。 5、禁止头文件循环依赖 头文件循环依赖,指a.h包含b.h,b.h包含c.h,c.h包含a.h之类导致...
  • 每个数据结点同时与对外和对内两个子网连接,并代替名称节点负责与外网直接的数据交流;名称节点本身只与对内子网连接。对外子网与外网之间使用防火墙设备加强安全性,并使用负载均衡设备将来自外网的数据请求合理的...
  • 技术经理应该具备哪些方面的能力

    千次阅读 2019-10-11 22:56:29
    作为技术团队管理者,今天组织团队的技术经理针对于技术经理应该具备哪些方面的能力展开了讨论 在技术团队建设的过程中,团队技术经理的综合能力显得尤为重要,如何做好技术经理是很多从技术迈向管理都需要关注和去...
  • 随着得物 App 对外影响力逐渐增大,有不少候选人一开始没有接受 Offer ,过了一段时间又联系入职。这都是公司发展越来越好的信号。 第三件事是主抓新人落地。 之前技术团队设计和文档等都很凌乱,对知识传递和新人...
  • 6月25日早上10:00,“HDG 华为开发者汇”西安站盛大开幕!本次分享主题围绕IoT,各路大神亲临现场介绍最前沿的IoT产品和技术。这样的好事没轮上?别急,小编带你装逼带你飞,让我们还原现场,感受精彩吧!
  • 开源对象存储MinIO技术白皮书

    万次阅读 多人点赞 2019-09-27 13:38:36
    ,对象数据被打散存放在不同节点的多块硬盘,对外提供统一命名空间访问,并通过Web负载均衡器或DNS轮询(DNS round-robin)在各服务器之间实现负载均衡。    2 统一命名空间  MinIO对象存储系统主要...
  • 技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要...
  • 一位大牛对于写技术博客的一些建议

    千次阅读 多人点赞 2017-11-09 15:00:47
    原文 :http://www.ityouknow.com/tech/2017/07/16/operating-technology-blog.html 写文章是一个短期没有收益,长期收益很大的...这篇文章我给大家分享如何提升技术博客的影响力,如何去写技术博客,是否应
  • 回声消除技术解析

    千次阅读 2017-03-27 17:54:26
    在做一问一答的语音对讲时候,不知道如何处理两个声音叠加在一起的时候,发现这个技术,真的很对应我当前的项目。 一、前言 因为工作的关系,笔者从2004年开始接触回声消除(Echo Cancellation)技术,...
  • 阿里妹导读:你是否有类似这样的问题——“天天写业务代码的程序员,怎么成为技术大牛,开始写技术代码?”今天,阿里资深无线开发专家李运华,系统梳理了自己的思考和理解,希望帮助更多同学少走一些弯路。 写在...
  • 对于对外汉语教学方面来说,语料库很多,但是对外开放的不多,真的是有点浪费。但是也有些语料库是面向社会开放的,今天,平台君花了大半天的时间,亲自测验,为大家整理了8大对外汉语专业常用的语料库,大家好好...
  • 首先,社区需要努力 维持他们技术交流的开放性与公开性。私人交流在社区中经常出现 ,对此我们建议将社区决策和结果向公众公开。信息的公开透明对我们项目来说很重要,因为技术或技术信息的私下交换可能不符合EAR...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,757
精华内容 14,702
关键字:

对外技术交流