font-family:'Microsoft yahei','Arial';
摘要 物联网技术的快速发展和云服务的推动使得云计算模型已经不能很好的解决现在的问题,于是,这里给出一种新型的计算模型,边缘计算。边缘计算指的是在网络的边缘来处理数据,这样能够减少请求响应时间、提升电池续航能力、减少网络带宽同时保证数据的安全性和私密性。这篇文章会通过一些案例来介绍边缘计算的相关概念,内容包括云卸载、智能家居、智慧城市和协同边缘节点实现边缘计算。希望这篇文章能够给你一些启发并让更多的人投入边缘计算的研究中来。 简介 云计算自从它与2005年提出之后,就开始逐步的改变我们生活、学习、工作的方式。生活中经常用到的google、facebook等软件提供的服务就是典型的代表。并且,可伸缩的基础设施和能够支持云服务的处理引擎也对我们运营商业的模式产生了一定的影响,比如,hadoop、spark等等。 物联网的快速发展让我们进入了后云时代,在我们的日常生活中会产生大量的数据。思科估计到2019年会有将近500亿的事物连接到互联网。物联网应用可能会要求极快的响应时间,数据的私密性等等。如果把物联网产生的数据传输给云计算中心,将会加大网络负载,网路可能造成拥堵,并且会有一定的数据处理延时。 随着物联网和云服务的推动,我们假设了一种新的处理问题的模型,边缘计算。在网络的边缘产生、处理、分析数据。接下来的文章会介绍为什么需要边缘计算,相关定义。有关云卸载和智慧城市的一些研究,有关边缘计算下的编程、命名、数据抽象、服务管理、数据私密和安全性的问题也会在下文讨论。 什么是边缘计算 在网络边缘产生的数据正在逐步增加,如果我们能够在网络的边缘结点去处理、分析数据,那么这种计算模型会更高效。许多新的计算模型正在不断的提出,因为我们发现随着物联网的发展,云计算并不总是那么高效的。接下来文章中将会列出一些原因来证明为什么边缘计算能够比云计算更高效,更优秀。 为什么需要边缘计算 云服务的推动: 云中心具有强大的处理性能,能够处理海量的数据。但是,将海量的数据传送到云中心成了一个难题。云计算模型的系统性能瓶颈在于网络带宽的有限性,传送海量数据需要一定的时间,云中心处理数据也需要一定的时间,这就会加大请求响应时间,用户体验极差。 物联网的推动: 现在几乎所有的电子设备都可以连接到互联网,这些电子设备会后产生海量的数据。传统的云计算模型并不能及时有效的处理这些数据,在边缘结点处理这些数据将会带来极小的响应时间、减轻网络负载、保证用户数据的私密性。 终端设备的角色转变: 终端设备大部分时间都在扮演数据消费者的角色,比如使用智能手机观看爱奇艺、刷抖音等。然而,现在智能手机让终端设备也有了生产数据的能力,比如在淘宝购买东西,在百度里搜索内容这些都是终端节点产生的数据。 下面两幅图,图1是传统云计算模型下的范式,最左侧是服务提供者来提供数据,上传到云中心,终端客户发送请求到云中心,云中心响应相关请求并发送数据给终端客户。终端客户始终是消费者的角色。 图2是现在物联网快速发展下的边缘计算范式。边缘结点(包括智能家电、手机、平板等)产生数据,上传到云中心,服务提供商也产生数据上传到云中心。边缘结点发送请求到云中心,云中心返还相关数据给边缘结点。 什么是边缘计算 边缘计算指的是在网络边缘结点来处理、分析数据。这里,我们给出边缘结点的定义,边缘结点指的就是在数据产生源头和云中心之间任一具有计算资源和网络资源的结点。比如,手机就是人与云中心之间的边缘结点,网关是智能家居和云中心之间的边缘结点。在理想环境中,边缘计算指的就是在数据产生源附近分析、处理数据,没有数据的流转,进而减少网络流量和响应时间。 边缘计算的优点 在人脸识别领域,响应时间由900ms减少为169ms 把部分计算任务从云端卸载到边缘之后,整个系统对能源的消耗减少了30%-40%。 数据在整合、迁移等方面可以减少20倍的时间。 案例研究 云卸载 在传统的内容分发网络中,数据都会缓存到边缘结点,随着物联网的发展,数据的生产和消费都是在边缘结点,也就是说边缘结点也需要承担一定的计算任务。把云中心的计算任务卸载到边缘结点这个过程叫做云卸载。 举个例子,移动互联网的发展,让我们得以在移动端流畅的购物,我们的购物车以及相关操作(商品的增删改查)都是依靠将数据上传到云中心才能得以实现的。如果将购物车的相关数据和操作都下放到边缘结点进行,那么将会极大提高响应速度,增强用户体验。通过减少延迟来提高人与系统的交互质量。 视频分析 随着移动设备的增加,以及城市中摄像头布控的增加,利用视频来达成某种目的成为一种合适的手段,但是云计算这种模型已经不适合用于这种视频处理,因为大量数据在网络中的传输可能会导致网络拥塞,并且视频数据的私密性难以得到保证。 因此,提出边缘计算,让云中心下放相关请求,各个边缘结点对请求结合本地视频数据进行处理,然后只返回相关结果给云中心,这样既降低了网络流量, 也在一定程度上保证了用户的隐私。 举例而言,有个小孩儿在城市中丢失,那么云中心可以下放找小孩儿这个请求到各个边缘结点,边缘结点结合本地的数据进行处理,然后返回是否找到小孩儿这个结果。相比把所有视频上传到云中心,并让云中心去解决,这种方式能够更快的解决问题。 智能家居 物联网的发展让普通人家里的电子器件都变得活泼了起来,仅仅让这些电子器件连上网络是不够的,我们需要更好的利用这些电子元件产生的数据,并利用这些数据更好的为当前家庭服务。考虑到网络带宽和数据私密保护,我们需要这些数据最好仅能在本地流通,并直接在本地处理即可。我们需要网关作为边缘结点,让它自己消费家庭里所产生的数据。同时由于数据的来源有很多(可以是来自电脑、手机、传感器等任何智能设备),我们需要定制一个特殊的OS,以至于它能把这些抽象的数据揉和在一起并能有机的统一起来。 智慧城市 边缘计算的设计初衷是为了让数据能够更接近数据源,因此边缘计算在智慧城市中有以下几方面优势: 海量数据处理:在一个人口众多的大城市中,无时无刻不在产生着大量的数据,而这些数据如果通通交由云中心来处理,那么将会导致巨大的网络负担,资源浪费严重。如果这些数据能够就近进行处理,在数据源所在的局域网内进行处理,那么网络负载就会大幅度降低,数据的处理能力也会有进一步的提升。 低延迟:在大城市中,有很多服务是要求具有实时特性的,这就要求响应速度能够尽可能的进一步提升。比如医疗和公共安全方面,通过边缘计算,将减少数据在网络中传输的时间,简化网络结构,对于数据的分析、诊断和决策都可以交由边缘结点来进行处理,从而提高用户体验。 位置感知:对基于位置的一些应用来说,边缘计算的性能要由于云计算。比如导航,终端设备可以根据自己的实时位置把相关位置信息和数据交给边缘结点来进行处理、边缘结点基于现有的数据进行判断和决策。整个过程中的网络开销都是最小的。用户请求得以极快的得到响应。 边缘协作 由于数据隐私性问题和数据在网络中传输的成本问题,有一些数据是不能由云中心去处理的,但是这些数据有时候又需要多个部门协同合作才能发挥它最大的作用。于是,我们提出了边缘协同合作的概念,利用多个边缘结点协同合作,创建一个虚拟的共享数据的视图,利用一个预定义的公共服务接口来将这些数据进行整合,同时,通过这个数据接口,我们可以编写应用程序为用户提供更复杂的服务。 举个多个边缘结点协同合作共赢的例子。比如流感爆发的时候,医院作为一个边缘结点与药房、医药公司、政府、保险行业等多个节点进行数据共享,把当前流感的受感染人数、流感的症状、治疗流感的成本等共享给以上边缘结点。药房通过这些信息有针对性的调整自己的采购计划,平衡仓库的库存;医药公司则能通过共享的数据得知哪些为要紧的药品,提升该类药品生产的优先级;政府向相关地区的人们提高流感警戒级别,此外,还可以采取进一步的行动来控制流感爆发的蔓延;保险公司根据这次流感程度的严峻性来调整明年该类保险的售价。总之,边缘结点中的任何一个节点都在这次数据共享中得到了一定的利益。 机遇和挑战 以上是边缘计算在解决相关问题的潜力和展望,接下来会分析在实现边缘计算的过程中将要面临的机遇和挑战。 编程可行性 在云计算平台编程是非常便捷的,因为云有特定的编译平台,大部分程序都可以在云上跑。但是边缘计算下的编程就会面临一个问题,平台异构问题,每一个网络的边缘都是不一样的,有可能是ios系统,也有可能是安卓或者linux等等,不同平台下的编程又是不同的。因此我们提出了计算流的概念,计算流是数据传播路径上的函数序列/计算序列,可以通过应用程序指定计算发生在数据传播路径中的哪个节点。计算流可以帮助用户确定应该完成哪些功能/计算,以及在计算发生在边缘之后如何传播数据。通过部署计算流,可以让计算尽可能的接近数据源。 命名 命名方案对于编程、寻址、事物识别和数据通信非常重要,但是在边缘计算中还没有行之有效的数据处理方式。边缘计算中事物的通信是多样的,可以依靠wifi、蓝牙、2.4g等通信技术,因此,仅仅依靠tcp/ip协议栈并不能满足这些异构的事物之间进行通信。边缘计算的命名方案需要处理事物的移动性,动态的网络拓扑结构,隐私和安全保护,以事物的可伸缩性。传统的命名机制如DNS(域名解析服务)、URI(统一资源标志符)都不能很好的解决动态的边缘网络的命名问题。目前正在提出的NDN(命名分发网络)解决此类问题也有一定的局限性。在一个相对较小的网络环境中,我们提出一种解决方案,如图3所示,我们描述一个事物的时间、地点以及正在做的事情,这种统一的命名机制使得管理变得非常容易。当然,当环境上升到城市的高度的时候,这种命名机制可能就不是很合适了,还可以进行进一步的讨论。 数据抽象 在物联网环境中会有大量的数据生成,并且由于物联网网络的异构环境,生成的数据是各种格式的,把各种各样的数据格式化对边缘计算来说是一个挑战。同时,网络边缘的大部分事物只是周期性的收集数据,定期把收集到的数据发送给网关,而网关中的存储是有限的,他只能存储最新的数据,因此边缘结点的数据会被经常刷新。利用集成的数据表来存储感兴趣的数据,表内部的结构可以如图4所示,用id、时间、名称、数据等来表示数据。 如果筛选掉过多的原始数据,将导致边缘结点数据报告的不可靠,如果保留大量的原始数据,那么边缘结点的存储又将是新的问题;同时这些数据应该是可以被引用程序读写和操作的,由于物联网中事物的异构性,导致数据库的读写和操作会存在一定的问题。 服务管理 边缘结点的服务管理我们认为应该有以下四个特征,,包括差异化、可扩展性、隔离性和可靠性,进而保证一个高效可靠的系统。 差异化:随着物联网的发展,会有这种各样的服务,不同的服务应该有差异化的优先级。比如,有关事物判断和故障警报这样的关键服务就应该高于其它一般服务,有关人类身体健康比如心跳检测相关的服务就要比娱乐相关服务的优先级要高一些。 可扩展性:物联网中的物品都是动态的,向物联网中添加或删除一件物品都不是那么容易的,服务缺少或者增加一个新的结点能否适应都是待解决的问题,这些问题可以通过对边缘os的高扩展和灵活的设计来解决。 隔离性:所谓隔离性是指,不同的操作之间互不干扰。举例而言,有多个应用程序可以控制家庭里面的灯光,有关控制灯光的数据是共享的,当有某个应用程序不能响应时,使用其他的应用程序依然能够控制灯光。也就是说这些应用程序之间是相互独立的,互相并没有影响;隔离性还要求用户数据和第三方应用是隔离的,也就是说应用不应该能够跟踪用户的数据并记录下来,为了解决该问题,应当添加一种全新的应用访问用户数据的方式。 可靠性:可靠性可以从服务、系统和数据三方面来谈论 从服务方面来说,网络拓扑中任意节点的丢失都有可能导致服务的不可用,如果边缘系统能够提前检测到具有高风险的节点那么就可以避免这种风险。较好的一种实现方式是使用无线传感器网络来实时监测服务器集群。 从系统角度来看,边缘操作系统是维护整个网络拓扑的重要一部分内容。节点之间能够互通状态和诊断信息。这种特征使得在系统层面部署故障检测、节点替换、数据检测等十分的方便。 从数据角度来看,可靠性指的是数据在传感和通信方面是可靠地。边缘网络中的节点有可能会在不可靠的时候报告信息,比如当传感器处于电量不足的时候就极有可能导致传输的数据不可靠。为解决此类问题可能要提出新的协议来保证物联网在传输数据时的可靠性。 私密性 现存的提供服务的方法是手机终端用户的数据并上传到云端,然后利用云端强大的处理能力去处理任务,在数据上传的过程中,数据很容易被别有用心的人收集到。为了保证数据的私密性,我们可以从以下这些方面入手。 1,在网络的边缘处理用户数据,这样数据就只会在本地被存储、分析和处理。 2,对于不同的应用设置权限,对私密数据的访问加以限制。 3,边缘的网络是高度动态化的网络,需要有效的工具保护数据在网络中的传输。 最优化指标 在边缘计算当中,由于节点众多并且不同节点的处理能力是不同的,因此,在不同的节点当中选择合适的调度策略是非常重要的。接下来从延迟、带宽、能耗和花费这四个方面来讨论最优化的指标。 延迟: 很明显云中心具有强大的处理能力,但是网络延迟并不单单是处理能力决定的,也会结合数据在网路中传输的时间。拿智慧城市距离来说,如果要寻找丢失的小孩儿信息,在本地的手机处理,然后把处理结果返回给云明显能加快响应速度。当然,这种事情也是相对而言的,我们需要放一个逻辑判断层,来判断把任务交给哪一个节点处理合适,如果此时手机正在打游戏或者处理其他非常重要的事情,那么手机就不是很适合处理这种任务,把这种任务交给其他层次来处理会更好些。 带宽:高带宽传输数据意味着低延迟,但是高带宽也意味着大量的资源浪费。数据在边缘处理有两种可能,一种是数据在边缘完全处理结束,然后边缘结点上传处理结果到云端;另外一种结果是数据处理了一部分,然后剩下的一部分内容将会交给云来处理。以上两种方式的任意一种,都能极大的改善网路带宽的现状,减少数据在网络中的传输,进而增强用户体验。 能耗:对于给定的任务,需要判定放在本地运算节省资源还是传输给其他节点计算节省资源。如果本地空闲,那么当然在本地计算是最省资源的,如果本地正在忙碌状态,那么把计算任务分给其他节点会更合适一些。权衡好计算消耗的能源和网络传输消耗的能源是一件非常重要的事情。一般当网络传输消耗的资源远小于在本地计算消耗的能源时,我们会考虑使用边缘计算把计算任务卸载到其他空闲的节点上,帮助实现负载均衡,保证每一个结点的高性能。 花费:目前在边缘计算上的花费包括但不限于边缘结点的构建和维护、新型模型的开发等。利用边缘计算的模型,大型的服务提供商在处理相同工作的情况下能够获取到更大的利润。 小结 物联网的发展和云计算的推动使得边缘计算的模型出现在社区之中。在边缘结点处理数据能够提高响应速度,减少带宽,保证用户数据的私密性。这篇文章当中,我们提出了边缘计算可能在以后的生活中一些相关场景的运用,也提到了边缘计算以后发展的展望和挑战。希望以后有更多的同僚能够关注到这么一个领域。 注:本篇翻译自施巍松教授的论文《Edge Computing : Vision and Challenges》
Serverless不代表再也不需要服务器了,而是说:开发者再也不用过多考虑服务器的问题,计算资源作为服务而不是服务器的概念出现。Serverless是一种构建和管理基于微服务架构的完整流程,允许你在服务部署级别而不是服务器部署级别来管理你的应用部署,你甚至可以管理某个具体功能或端口的部署,这就能让开发者快速迭代,更快速地开发软件。   以亚马逊的AWS Lambda为案例,Lambda能让不用思考任何服务器,也就是说,不用你处理服务器上的部署、服务器容量和服务器的扩展和失败容错,还有服务器上选择什么OS操作系统,语言的更新,日志等等问题。你的应用程序只需要和多个第三方的API或服务打交道,也可以自我创建一个无服务器的API。   Serverless有以下几个特点: Serverless意味无维护,Serverless不代表完全去除服务器,而是代表去除有关对服务器运行状态的关心和担心,它们是否在工作,应用是否跑起来正常运行等等。Serverless代表的是你不要关心运营维护问题。有了Serverless,可以几乎无需Devops了。 Serverless不代表某个具体技术,有些人会给他们的语言框架取名为Serverless,Serverless其实去除维护的担心,如果你了解某个具体服务器技术当然有帮助,但不是必须的。 Serverless中的服务或功能代表的只是微功能或微服务,Serverless是思维方式的转变,从过去:“构建一个框架运行在一台服务器上,对多个事件进行响应。”变为:“构建或使用一个微服务或微功能来响应一个事件。”,你可以使用 django or node.js 和express等实现,但是serverless本身超越这些框架概念。框架变得也不那么重要了。   Serverless规模扩展性方面由于充分利用云计算的特点,因此其扩展是平滑的,同时由于Serverless是基于微服务的,而一些微功能微服务的云计算是零收费,这样有助于降低整体运营费用。   将来下述具体应用将可能使用Serverless架构: 静态网站的管理 替代WordPress(Serverless Blog Project) 个人媒体服务器(less!) 物联网Iot或家庭自动框架或项目 (使用 AWS IoT)   2018年Google推出Serverless世界的利器:Knative,可在任何公有私有云上实现无服务器架构,这样用户使用无服务器编程可以不限于特定的云平台如亚马逊AWS。
Wi-Fi是现代人生活中必不可少的一个角色,现在去别人家做客人们一定会问一个问题:“你们家Wi-Fi密码是多少?”去年年底,Wi-Fi联盟宣布改变Wi-Fi的命名方式,复杂的命名方式已经不复存在,Wi-Fi 6(也就是原来的802.11.ax)将是下一代Wi-Fi标准的名称,从1999年使用至今的802.11a命名格式正式退出历史舞台。 除了新的名字之外,Wi-Fi 6还带来了许多好处,并且不仅仅是简单的速度提升。Wi-Fi 6今年就将进入到人们的生活中,你的下一部手机或笔记本电脑就可能支持Wi-Fi 6,不妨先提前了解一下它。 Wi-Fi 6有多快? 简单的回答是:9.6 Gbps。作为对此,Wi-Fi 5的速度是3.5 Gbps,可见提升幅度还是不小的。 不过更现实的回答是:这个速度只是理论最大值,在现实生活中很难实现。即使可以实现,但估计你的网速也不达标。 但是,Wi-Fi 6的速度提升这一事实仍然很重要。因为9.6 Gbps的网速可能并非单一设备独享,可以分配给整个网络中的所有设备,这意味着每个设备的潜在速度会更快。 Wi-Fi 6最重要的不是速度提升 可以说,Wi-Fi 6的最重要改进是减少拥塞并允许更多设备连接到网络。Wi-Fi 6使用了名为MU-MIMO(多用户多入多出)的技术来实现这一点,该技术允许路由器同时与多个设备通信,而不是依次进行通信。目前,MU-MIMO允许路由器一次与四个设备通信,Wi-Fi 6将允许与多达8个设备通信。Wi-Fi 6还利用其他技术,如OFDMA(正交频分多址)和发射波束成形,两者的作用分别提高效率和网络容量。 总之,Wi-Fi 6允许路由器同时与更多的设备进行通信,还允许路由器将数据发送到同一广播中的多个设备。 所有这些技术的目的都是为了解决大量设备连接到网络导致的网络拥堵问题,解决这个问题对现代生活非常重要。有调查显示,当Wi-Fi 5刚问世时,美国家庭平均拥有大约五个Wi-Fi设备。现在,美国家庭平均拥有9个Wi-Fi设备,有公司预测这一数字将在几年内达到50个。 另外,Wi-Fi 6还会在有大量人群的地方提供更好的体验,Wi-Fi联盟特别提到了零售商,公寓楼,交通枢纽和体育场馆。 Wi-Fi 6还可以提高电池续航 Wi-Fi 6中的另一项新技术允许设备规划与路由器的通信,减少了保持天线通电以传输和搜索信号所需的时间,这就意味着减少电池消耗并改善电池续航表现。 这个技术名为Target Wake Time(目标唤醒时间),它允许路由器安排与设备的通信时间。但该技术并不是对所有设备都有帮助,例如你的笔记本电脑需要持续的互联网访问,因此不太可能过多地受益于此功能(或许进入睡眠状态时影响更大)。该技术对偶尔需要更新其状态的小型、低功耗设备更有益处,例如放置在家中监控煤气泄漏的传感器或智能家居等。 Wi-Fi 6也意味着更好的安全性 去年,Wi-Fi技术获得了十年来最大的一次安全更新,开始支持新的安全协议WPA3,WPA3使黑客更难以通过不断猜测的方式来破解密码,并且即使黑客设法获取密码,它也会使一些数据变得不那么有用。 目前的设备和路由器可以支持WPA3,但并非是强制性的。然而,Wi-Fi 6设备要想获得Wi-Fi联盟的认证,则必须使用WPA3,因此一旦认证计划启动,大多数Wi-Fi 6设备都会具有更强的安全性。 怎样才能使用Wi-Fi 6? 要想使用Wi-Fi 6,你必须购买新的设备。因为Wi-Fi技术更新依赖于新的硬件,而不仅仅是软件,因此你需要购买新手机、笔记本电脑等,当然还有支持Wi-Fi 6的路由器,才能使用新版本的Wi-Fi。 Wi-Fi 6何时到来? 支持Wi-Fi 6的设备目前还处于起步阶段,虽然现在已经可以购买支持Wi-Fi 6的路由器,但价格都十分昂贵。少数笔记本电脑也支持Wi-Fi 6,但显然还远没有达到普及的程度。 不过,今年高端旗舰智能手机将开始布局Wi-Fi 6。高通公司的旗舰处理器骁龙855已经支持Wi-Fi 6,不过搭载骁龙855并不保证手机就一定支持Wi-Fi 6,只是可能性会更大:例如三星的Galaxy S10就搭载了骁龙855,该机就支持Wi-Fi 6。 Wi-Fi联盟将于今年秋季推出其Wi-Fi 6认证计划,以保证Wi-Fi设备的兼容性。虽然设备并不是一定要通过该认证,但该认证的推出意味着行业已准备好迎接Wi-Fi 6的到来,估计明年会有更多的设备支持Wi-Fi 6。 你需要Wi-Fi 6吗? 升级到新的的Wi-Fi 6标准当然是一件好事,但显然并非所有人都需要。 如果你的网速还远没有达到千兆的话,那么Wi-Fi 6对你的意义可能不大。另外,即使在拥有大量联网设备的环境中,例如商场、办公室或公共建筑,要想充分利用Wi-Fi 6的优势,还必须保证网络上的所有设备都支持该标准。 如果你目前的路由器只支持Wi-Fi 4(802.11n)或更早的标准,不妨先将其升级到支持Wi-Fi 5,等Wi-Fi 6路由器降价时再做考虑可能是更好的选择。
2018 年,国际版抖音 TikTok 席卷日本各类以年轻人为调查对象的流行语排行榜。Mynavi 实验室“10 余岁女生特选趋势榜单”中,TikTok 获“流行物排行”第二名,仅次于奶茶。另外,此榜单“流行事排行”第 6 位的“俘虏舞”和第 7 位的“全力颜”也均出自 TikTok。 AMF 公司发布的“2018 初高中生流行语大奖”中,TikTok 更是荣登软件类榜首。指代 TikTok 播主的“TikToker”一词也在词语类上榜,排名第四。 TikTok 于 2017 年 8 月登陆日本,依靠一轮轮猛烈的营销迅速聚拢了人气。同年 11 月底首次登上日本软件商店免费榜第一。第二年年初举办的“TikToker 挑战赛”收到超过 6 万份投稿,3 月 19 日至 25 日的一周时间里,获奖作品在东京涩谷的 4 块巨型广告屏上滚动播放。 这些广告屏所在的涩谷十字路口是全球最为繁忙的十字路口,每天有超过 250 万人经过。但在这里投放广告并不仅仅意味着高曝光率,更意味着 TikTok 的未来与中学生紧紧联系在了一起。 如果说银座属于成熟社会人、新宿属于青年人,那么涩谷就是少年和亚文化的圣地。 从 1885 年山手线涩谷站开业到 1978 年半藏门线通车,涩谷逐步成长为连接 8 条地铁线路的巨大交通枢纽。它既靠近都内众多中学与高校,又直通郊外的新兴住宅区,自然而然成为了周边学生放学后消遣的去处。 繁重学业中仍有余暇消遣的无非两类人——成绩不佳者、富裕人家子弟。这些年轻人聚集在涩谷,于标新立异中寻找学习之外的自我价值。70 年代的“暴走族”、80 年代的“涩谷休闲族”、90 年代的“小辣妹”等风靡日本的亚文化风潮都源自这里。 从上世纪至今,涩谷的年轻人一向走在时尚流行最前沿。飞机头、牛仔服、美国大牌、里原宿原创,一切新鲜事物都能够迅速被接受。但不论是扮酷、扮靓还是扮娇,“受欢迎”才是这些年轻人的终极追求。 在互联网出现前,人气难以衡量。“暴走族”以能够聚拢多少人一同飙车为指标,普通学生则以手握多少人的电话号码为骄傲。但缥缈的人气总是像青春一样稍纵即逝。相比之下,互联网时代的“点赞”和“粉丝”等数据无疑更加可靠。 TikTok 虽然来自海外,却准确抓住了日本少年的痛点:想看到时尚的最前沿,更想“时尚的我”被所有人看到。经过 3 月在涩谷的这一轮投放,TikTok 在 4 月和 5 月再次登上软件商店免费榜榜首。随后逐步向全东京、全日本辐射影响。 截至目前,TikTok 日活跃用户超 900 万人,平均每天使用时间达 40 分钟。24 岁以下用户占 56%,其中大部分为 10 余岁的中学生。 短视频软件对于日本学生来说并不陌生,此前被今日头条收购的 musical.ly 和 2017 年初停止服务的 6 秒短视频 Vine 都曾拥有一批忠实用户。但 TikTok 登陆后,学生用户纷纷倒戈:“还是 TikTok 好用。有好多模板可以照着做,还能把自己 P 得美美的。” 与中国抖音多样化的内容不同,受用户群体影响,TikTok 呈现出满屏“漂亮小哥哥小姐姐”的状态。“对口型”和“做鬼脸”是最受投稿者欢迎的两个题材。这两个题材不仅新奇搞怪,还可以尽情展现自己可爱的风情。
16年的时候买了一块树莓派3B,应该是这么叫吧,也懒得查了,那会儿是在网上看到了一个项目,国外一个哥们用树莓派,加上自己加工的镜子屏幕,搞了一个能够显示天气、资讯等信息的“大屏”,项目叫做魔镜,成品大概长下面这样 看到这玩意,我来了兴趣,这要是放家里很爽啊,就开始查资料,考虑到这玩意的体积,放不下太大的东西,想来想去,就像老外一样,还是树莓派最合适,随即上淘宝搞了一个回来,结果拿回来鼓捣了几天,放弃了,linux基础太差、英文资料阅读能力也不行,代码能力也不够扎实,而且,这块镜子弄起来应该也很麻烦。 前一段时间,我搞路由器的时候,又想起了这块树莓派,想着怎么也给他用起来,当然,中间我对这块魔镜也是念念不忘,中间想起这玩意的炫酷效果,简单勾勒了一下大概可以实现的内容,除了常规的内容显示外,如果能实现触控效果就好了,同时,还可以跟现在流行的米家、homepod等等这些智能中枢联系起来就更好了,想着想着不由得也激动起来——还真是容易激动啊。 既然有了想法,那就开动吧,首先,给这个项目起个给力的名字,想起之前单位做过不少可视化的项目,那这个就叫HomeViz好了,家庭可视化,其实还应该加上中枢、触控等特点的名字,可是貌似太长,就索性只叫HomeViz好了。 接下来就是大概步骤了, 屏幕 屏幕这块的话,我想着先用显示器来做测试用,先把显示和键鼠控制这块做好,后期再考虑触控的问题。 硬件 树莓派的废物利用,只需要跑个WEB服务,当然后期不是用浏览器,而是应该做个壳,实现全屏效果即可。 软件 1.考虑采用WEB方式来提供,采用spring全家桶,顺便重新练练手;当然不排除如果有更好的方式,那么采用更合理的方式。 2.树莓派上安装最小的linux系统,如果用WEB方式的话,需要跑个WEB容器及数据库 暂时先想这么多,后期有进展的话,再来更新流水账。
近日,多家媒体报道称,北京市市属机关单位将于近期搬迁至北京城市副中心行政办公区。 这被认为是北京城市副中心正式投入使用的标志性事件,引起广泛关注。11月15日上午,21世纪经济报道记者来到北京城市副中心行政办公区,进行实地探访。 记者在现场发现,已有办公人员在北京市委市府新址办公,但早上8点半至9点的上班高峰期,从靠近地铁站的北门进入的工作人员寥寥,办公区内仍有零散的工作人员在做道路修整等收尾工作。 不过,北京市人大与政协办公楼的国徽、政协会徽与各自门牌正在安装上挂中,且已覆有揭牌红布,正式揭牌或已在倒计时。
Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。 社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。  一、安装docker 1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。 通过 uname -r 命令查看你当前的内核版本 $ uname -r   2、使用 root 权限登录 Centos。确保 yum 包更新到最新。 $ sudo yum update   3、卸载旧版本(如果安装过旧版本的话) $ sudo yum remove docker docker-common docker-selinux docker-engine   4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 $ sudo yum install -y yum-utils device-mapper-persistent-data lvm2   5、设置yum源 $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 6、可以查看所有仓库中所有docker版本,并选择特定版本安装 $ yum list docker-ce --showduplicates | sort -r   7、安装docker $ sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0 $ sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce   8、启动并加入开机启动 $ sudo systemctl start docker $ sudo systemctl enable docker 9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)…
近几年,全世界对于互联网创业的风潮越来越盛,以软件公司而言,产品经理(Product Manager)、工程师、设计师和运营人员都是不可或缺的要角,相较之下,项目经理(Project Manager)似乎就不是必要的存在,这篇文章主要探讨的是,到底一个好的项目经理的重要性在哪? 之前有人把产品经理和项目经理做过比较:PM:Project Manager v.s. Product Manager,每次别人跑来找我讨论PM工作的时候,我都会反问他们比较想做哪份工作——Project Manager还是Product Manager? 通常我都会得到一样的答案: “恩,项目经理吧,因为感觉学到比较多,而且感觉比较重要一些。” 这里必须要强调的是如果各位觉得项目经理是产品经理的老板的话,那我想这篇文章可以先跳过了,因为这篇文章,不是说给上下级管理的思维的人看的。 项目经理与产品经理的定位 在创业公司里面,讲求角色责任与扁平化管理,项目经理跟产品经理其实是有共同存在的必要的,项目经理讲究的是规划产品策略与质量方向,技术其实只是其中一环,而产品经理讲究的是技术方向的确认与如何执行。 很多人理解成项目经理跟产品经理是主管与下属的关系,其实他们专注的面向不同,项目经理大多是整理的项目管理以及产品质量和过程化开发把控,而产品经理更多的是面向程序员、设计师等等各个环节的开发者,良好的产品开发仰仗的是项目经理跟产品经理完美配合。 为什么不把两个角色放在同一个人身上? 很多创业公司碍于公司人手的问题,会用同一个人来做项目经理与产品经理的综合体,我必须说,这只能是救急的方法,绝对不能是常态,因为项目经理跟产品经理有一个先天本质上的不同,项目经理需要顾虑的,是客户的沟通,需求的归纳,甚至进行需求的可行性分析,以及整体的项目流程和质量把控,考验的更多的是一个人的综合实力。 而产品经理又不一样了,产品经理需要梳理整个产品的功能点,根据用户增减功能点需求,并且确保整个开发团队迭代任务的顺利完成,所以需要做产品的原型设计和用户情景分析来明确需求定义,如果这些都不懂的产品经理,会被程序员打死,你以为我在开玩笑吗? 很多时候好的项目经理通常都是和产品经理吵完架以后,才会列出明确的开发需求给程序员开发团队去做,如果一个人同时兼职项目经理和产品经理两个职位,很容易人格分裂,太偏向技术思考容易忽略很多用户体验,太偏向用户体验提出不合理的想法需求又会被程序开发团队讨厌,总之经常两边都不讨好。 怎么做好一个项目经理该做的工作呢? 作为一个好项目经理的不二心法当然就是:让工程师可以专心快乐去写代码。不过,在问这问题之前,我们还是先来来看看现在软件开发的状况,现在的软件产品开发,讲究的是拼凑而非原创,用很多的开源产品或是第三方的服务就可以做出产品,所以快速的构架通常会比较讨喜一些,这也是为什么Agile的理念在近几年发展得比Waterfall更为热烈的主要原因。 所以作为一个好的项目经理,要做的可说是包山包海,因为需求统筹完后,要沟通产品经理做原型设计跟用户情景分析,做完这两者后,整理开发需求和功能点开发计划,然后再分派任务给程序员,这时候可能还要兼着做Scrum Master,然后程序员开发完还要兼着做产品测试,最后做上架的管理,这些都是项目经理一条龙管理完成的。之后项目经理最重要的工作,其实是把所有过程文件化。 很多时候我跟程序员朋友在聊,他们都说在他们公司这些事情都是程序员在做,而没有请专业的项目经理负责。但事实上,如果这些事情都是程序员做的话,只会有两个结果:浪费程序员的专业写代码技能、很多环节都会出问题,例如文件写的很烂。 怎么做到良好的风险管理? 很多人问我说项目经理是否需要具有超强的技术能力?其实不一定,虽然好的项目经理在开Ticket的时候甚至可以把一些演算的逻辑都写进去,还可以做Code Review,不过这种人超级难找,所以能够把上述的事情做完的项目经理,已经算是相当厉害。 我认为真正好的开发管理,是必须要分工明确,也就是认知项目经理其实是一门专业。而项目经理的专业主要在于做好项目的风险管理。什么是风险管理?就是当程序员跑不见人或是项目开发出问题的时候,项目经理必须要有能力让伤害减到最低。很多人也许无法真正体会风险管理的重要,但是只要被程序员坑过一次的创业者,看到这段恐怕是会痛哭流涕的。 风险管理的目的,最大的目的是让每一段工作可以阶段性的「保留结果」或「告一段落」。举个例子来说,把API规格定好后,交给程序员去做,如果原先的程序员功力很差,写的代码构架不好,这时候项目经理能做的事情便是,保留原有API规格,把可用的API拿来用,再请一组新的程序员去改进那些写不好的API,然后再逐个Review API,这样的一个淘汰程序员的过程,既不会影响太多原有的开发进程,也不用怕程序员一个API做不好,就要全部砍掉重做,然后整个开发的时程就会因此延误一到两个月,错过一次还好,错个两三次恐怕对于一个互联网创业公司来说,已经把资金烧得差不多了。 一定要明白项目管理的重要性 谈项目管理跟谈软件技术开发的项目管理,可能有些不同,尤其对于创业公司,一个良好的项目经理,绝对比找到一个程序员来得更为重要,也希望大家重视项目经理这个专业,这个专业,并不是写代码写不动的程序员才来做项目经理的,项目经理处理的很多事情,是很多程序员不愿意做的苦活累活,但是随着产品的技术范畴越来越大,这些所谓的苦活累活往往可以救你一命。 我不会说产品经理比较不重要,更不会说程序员或是设计师比较不重要,我想说的是,如果你正在互联网创业的话,请务必搞懂每个工作程序背后的重要,然后让各种不同专业的人来处理,最后养出的这个环境,才会是公司的核心价值。 如何成为一个合格的项目经理 产品开发的问题总结起来无非下面三类: 需求进度分工问题。总觉得提供的需求不合理、项目给的截止时间太短、这个功能不是该我做的感觉。 态度或水平问题。一些情况下对于自己写的代码都是写完求保佑的姿态,留坑太多不愿意改bug,因为可能改一个引入一堆新问题;拒绝他人怀疑自己的实现方法。 天生傲娇闹情绪。产品经理煞笔、设计师煞笔、后端煞笔、钱少活多我不干了。 自从在程序员客栈工作,接触过很多非常优秀的项目经理,这些人的履历会都让我惊呆了。但是为什么还是有时候工作出错呢?当然这里面有程序员老是推卸责任、完成得不及时、代码写得不够优化,我们确实习惯性的认为别人的工作更加容易,喜欢给人贴标签。然而在程序员客栈,却还是有很多让我佩服的项目经理,他们雷厉风行,能把工作粉的特别细,时间规划的很合理,让程序员和企业方无处可挑剔。 其实,项目经理就是针对以上问题做工作,外加协调各种资源保证项目进度和质量。 针对上面需求进度分工问题:项目经理就需要『清晰的规划』『明确的分工』两手抓;态度或水平问题,需要项目经理在技术实现上有深刻认识,不被程序员兜着走,再是注意挑选一定水平的程序员合作;天生傲娇闹情绪,要求项目经理自身态度、心态要好,听的批评挨得骂,一心只想把项目做好。总之,预防各种问题,把工作做到细处,排除一切困难障碍,让项目准时保证质量交付的就是好项目经理。
著名linux面板 AMH出双11优惠咯,现在购买授权享双11价格, 国内首个开源云主机面板 国内首个弹性云主机面板 国内首个支持组建 SMTP 邮局面板。 国内首个支持 PHP7 环境面板 国内首个支持 HTTP/2 环境面板 国内首个支持 Apache2.4 环境面板 国内首个支持 HHVM 环境面板 2018年双11活动官方说明: 目前AMH已经新上线支持年付,双11活动期间新购买授权或续费授权年付都可返款50%金额, 个人用户72元即返款36元、VIP返款72元、VIP2返款210元、企业授权返款3300元。 完成赠送金额至 https://amh.sh/user/gift.htm 使用即可返款到账号。 活动时间:2018-11-09至2018-11-12 参与限制:无限制、新老用户都可参与 赠送限制:无限制、新购或续费都支持 活动截止于11月12号结束,欢迎各位参与。   安装教程:   1) AMH5.5 极速安装 AMH 国内领先的云主机面板,安装请使用纯净系统。 极速免编译安装方式 (安装时间1至3分钟) 1) 使用 root 账号登录 Linux 服务器。 2) 执行 amh 安装脚本。 急速安装脚本 编译安装脚本 3) 选择使用距离您当前服务器所在位置最佳的amh源码镜像。 中国[CN] 输入1,美国[USA] 输入2,日本[JP] 或其它输入3,回车即可自动完成安装。 极速安装方式大约只需要1至3分钟(以服务器性能为准) 成功安装后系统会提示AMH与MySQL默认账号密码。 可使用普通连接访问面板,http://ip:8888 或加密的连接访问面板,https://ip:9999   AMH5.5 极速安装支持的系统 支持目前 CentOS、Ubuntu、Debian 已发行的所有版本 如果您系统不在列表中,请使用编译安装方式 CentOS 7 x64 CentOS 6 x64 CentOS 6 i386 Ubuntu 18 x64  New Ubuntu 17 x64 Ubuntu 17 i386 Ubuntu 16 x64 Ubuntu 16 i386 Ubuntu 15 x64 Ubuntu 15 i386 Ubuntu 14 x64 Ubuntu 14 i386…
背景: 适用于由GRUB引导的CentOS,Ubuntu,Debian系统. 使用官方发行版去掉模板预装的软件. 同时也可以解决内核版本与软件不兼容的问题。 只要有root权限,还您一个纯净的系统。 注意: 全自动安装默认root密码:Vicer,安装完成后请立即更改密码. 请使用 passwd root 命令更改密码. 特别注意:OpenVZ构架不适用. 需要: 1.Debian/Ubuntu/CentOS 系统(由GRUB引导); 2.wget 用来下载文件,获取公网IP; 3.ip 获取网关,掩码等; 4.sed awk grep 处理文本流; 5.VNC 安装系统(此项为可选)。 ======================================== 确保安装了所需软件: #Debian/Ubuntu: apt-get install -y gawk sed grep #RedHat/CentOS: yum install -y gawk sed grep ======================================== 如果出现了错误,请运行: #Debian/Ubuntu: apt-get update #RedHat/CentOS: yum update ======================================== 一键下载及使用: wget --no-check-certificate -qO DebianNET.sh 'https://moeclub.org/attachment/LinuxShell/DebianNET.sh' && chmod a+x DebianNET.sh Usage: bash DebianNET.sh -d/--debian [dist-name] -u/--ubuntu [dist-name] -v/--ver [32/i386|64/amd64] --ip-addr/--ip-gate/--ip-mask -apt/--mirror -dd/--image -a/-m   ======================================== 全自动/非全自动示例: 全自动安装: bash DebianNET.sh -d wheezy -v i386 -a VNC手动安装: bash DebianNET.sh -d wheezy -v i386 -m   ======================================== 全自动安装(指定网络参数): # 将X.X.X.X替换为自己的网络参数. # --ip-addr :IP…