要上传档案,你需要知道的事-stream binary

Do you want a better understanding of Buffer in Node.js? Check this out.

串流平台、串流平台,常听人这样形容netfliex 、 spotify ,但一直不明白到底是啥意思,刚好最近在接触档案上传的任务,藉此认识到 stream binary 概念,爬了许多文章,找到这篇,作者用很平近人好懂的方式,解释 Binary Data 、Buffer 、Stream 的概念,激推

以下纪录我的理解重点

  1. 什麽是 Binary Data ?

    To store or represent a piece of data, a computer needs to convert that data to its binary representation

    Binary Data 使用Google 翻译就是 二进位资料,我对 Binary Data 理解是,他是资料的最小型态由许多01组成,每个0、1 都是一个bit ,一如我们在浏览器看到12这个数字,但是在电脑理解和处理则是 1100 ,你会发现原来你在画面上看到12数字,其实是电脑编码 1100 後的结果,显示在画面上.
    以上数字只是其中一个举例,我们日常的档案如 图片、影音等其他不同类型的资料.

  2. 什麽是 Stream ?

    The whole concept is, you have a huge amount of data to process, but you don’t need to wait for all the data to be available before you start processing it.

    我的理解是有顺序的,把资料从一端送到另一端去,以上引述作者原文,我的理解是,其实为了让使用体验更好,使用资料串流的技术,将一份切割成为细块,然後有顺序的递送到显示端,显示端也不需要等到完整资料到齐,可以根据顺序,先来先处理,这样的好处是让使用者可以节省时间及早操作资源,实际应用如Youtube,载入多少看多少

    从生活经验发想,假如今天来去吃餐厅,点了一份套餐,有汤、沙拉、饮料、主菜,通常在完成点之後,餐厅会先送汤品、沙拉让你先开始享受,争取时间处理主菜,等到你吃得差不多了,主菜也吃差不多,刚好可以送上让你享受,所这样我可以说,送餐的过程使用了串流的概念,把餐点切割成几个部分,依序递送到客户端,让客户节省时间、及早存取资源.

  3. 什麽是 Buffer ?

    Buffer 中文是缓冲区,作者举一个例子,我觉得满贴切的

    作者提到,客运站通常会有个设定,就是需要等待车上的乘客都到齐了、发车时刻到了,才会出发,但在过程中乘客可能不会都准时抵达,因此会需要有个等待区,让顾客依序就位,准备出车,通常是车子上的车位.

    所以在这里等待区的概念就是 buffer ,用於暂存资料,依序等待被处理,乘客就是被切割成小块的资料,通常资料是暂存在电脑的记忆体中

  4. 所以这个上传档案的任务有什麽关系?了解了带来了什麽好处?

    最近的任务有需要做转档案的任务,在查看doc 时候,发现他是需要先取得档案的buffer,然後再进行转档案,因此理解了这个概念,我可以知道,只要我成功取得buffer 就可以执行後续转档案,不需要透过doc范例必须读取实际档案


<<:  Day 25 Azure machine learning: Pipeline for data- 建立工作流程来收集资料

>>:  D-5.Rails route scope

每个人都该学的30个Python技巧|技巧 6:各种运算子(下)(字幕、衬乐、练习)

昨天认识了Python三种运算子中,分别是算术运算子、比较运算子以及逻辑运算子,你还记得分别是哪些吗...

新新新手阅读 Angular 文件 - ngFor(2) - Day20

本文内容 将 ngIf 和 ngFor 彼此之间怎麽搭配使用的方法记录下来。 structural ...

Day19【Web】网路攻击:网路钓鱼(Phishing)

网路钓鱼常被简称为网钓, 即攻击者透过伪装成正规的法人媒体, 以获得如使用者名称、密码和信用卡明细等...

生存法则三:磨练远距工作者特殊技能

通常要一件事,自己一个人做是做是最快的,因为从构思、设计,只需要在自己大脑传递就完成了,执行的结果也...

Day2 安装<Cocoapods>,以及第三方套件<RealmSwift>

首先打开终端机输入此行 接下来系统会要求输入你电脑的密码 输入完之後按enter,之後就会自己跑,跑...