3333奔驰游戏网址

  • <tr id='AYwslB'><strong id='AYwslB'></strong><small id='AYwslB'></small><button id='AYwslB'></button><li id='AYwslB'><noscript id='AYwslB'><big id='AYwslB'></big><dt id='AYwslB'></dt></noscript></li></tr><ol id='AYwslB'><option id='AYwslB'><table id='AYwslB'><blockquote id='AYwslB'><tbody id='AYwslB'></tbody></blockquote></table></option></ol><u id='AYwslB'></u><kbd id='AYwslB'><kbd id='AYwslB'></kbd></kbd>

    <code id='AYwslB'><strong id='AYwslB'></strong></code>

    <fieldset id='AYwslB'></fieldset>
          <span id='AYwslB'></span>

              <ins id='AYwslB'></ins>
              <acronym id='AYwslB'><em id='AYwslB'></em><td id='AYwslB'><div id='AYwslB'></div></td></acronym><address id='AYwslB'><big id='AYwslB'><big id='AYwslB'></big><legend id='AYwslB'></legend></big></address>

              <i id='AYwslB'><div id='AYwslB'><ins id='AYwslB'></ins></div></i>
              <i id='AYwslB'></i>
            1. <dl id='AYwslB'></dl>
              1. <blockquote id='AYwslB'><q id='AYwslB'><noscript id='AYwslB'></noscript><dt id='AYwslB'></dt></q></blockquote><noframes id='AYwslB'><i id='AYwslB'></i>
                • 利用PoE技术为5G网络中的新一代IoT和其他设备供电

                  利用PoE技术为5G网络中的新一代IoT和其他设备供电

                  新一代5G技术能够提供具有更高速度的先进移动互联网连接,可助力实现各种IoT和大数据应用,从而创造新的商机。这些应用以空前的速度推动了将更多类型的受电设备(PD)连接到以太网网络的需求,这些设备包括IP监控摄像头、802.11ac和802.11ax接入点、LED灯具、5G小型基站以及其他IoT电器。以太网供电(PoE)技术给在5G部署中为这些设备供电带来了诸多优势,通过将供电设备(PSE)和受电设备(PD)的功率限值分别设定为90W和71.3W,最新的IEEE® 802.3bt标准让这种可能性成为现实。 面临的挑战是如何部署支持这项最新一代PoE技术的PD,以便它们能够与现有IEEE 802.3bt标准之前的2对和4对PD协同工作,也就是支持早期符合之前标准的通用PoE(UPOE)和HDBaseT供电(POH)规范的PD。如今,行业已经弥合了这种互操作性差距,可确保符合之前标准和全新IEEE 802.3bt-2018标准的PD能够共用相同的以太网基础设施,而无需更换现有的交换机或布线。 通向IEEE 802.3bt之路 自2003年批准第一个PoE标准以来,PoE的应用范围大幅增长,并且在新应用方面不断取得进展。在简化安装、节省CAPEX和OPEX成本以及为全球使用提供统一且安全的电源标准方面,PoE拥有巨大优势。 在新应用中影响PoE使用的主要限制因素是可用功率的大小。尽管15.4W的电源足以满足大多数IP电话和802.11a/b/g接入点的需求,但却不足以为IP视频电话、802.11n和云台变焦控制(PTZ)IP摄像机供电。因此,电气电子工程师协会(IEEE)在2009年发布了IEEE 802.3at标准,规定了功率为30W的PoE电源。 如今,需要更高的功率来为连接到以太网的其他设备(例如PTZ监控摄像头、自助服务终端、POS终端、瘦客户端、802.11ac和802.11ax接入点、小型基站以及智慧之骨则成了所有人都惦记联网LED照明)提供支持,而这类设备均可从PoE中受益。为了满足这一需求,新的IEEE 802.3bt标准主要通过利用全部四对结构化布线来提才能在首领面前证明自己比五七五更加优秀高PoE的最大可用功率。IEEE 802.3bt扩展了在初始协商期间交换的电源分类信息,可实现高效的电源管理功能,支持多个PoE等级,同时还可向后兼容。这些增强功能解决了更高功率和更高效PoE供电系统带来的挑战。 IEEE 802.3bt标准意向征集(CFI)活动于2013年初开始,并于2018年9月获得正式批准。由于新标准通过将PSE和PD的功率限值分别设定为90W和71.3W来拓展PoE的使用场景,因此它不但能够满足现有市场需求,还被普遍认为是PoE市场增长的主要推动因素。 不过,在IEEE 802.3bt实施之前,也有一些同步开展的工作在努力提高PD的供电性能。从IEEE 802.3af-2003 PoE标准开始,能够通过两对5e类(Cat5e)线缆为每个设备提供最高达15.4W的输出功率。IEEE 802.3at-2009标准(也称为PoE+)引入了支持30W输出功率和25.5W负载功率的“Type 2”PSE/PD。后者主要是对第一个标准的扩展。随后,HDBaseT联盟对HDBaseT协议进行了标准化,允许通过Cat5e或更高标准的线缆将HDMI链路扩展到最长100m。2011年,HDBaseT联盟创建了HDBaseT供电(PoH)标准,这项标准将四对线缆的最大供电功率扩展到95W。 下表汇总了IEEE 802.3bt之前的标准: 注1:如果通道长度已知,则扩展功率容量能够实现最高95W的PD输入功率。 IEEE 802.3bt添加了许多功能。除了引入Type 3和Type 4 PSE/PD以及通过四对线缆工作之外,这项标准还支持单签名和双签名PD结构,并将等级5到等级8添加到了改进的双向认证过程中。只要通道长度已知,就会添加自动分级功能,功率容量也会得到扩展。最后,这项标准还包含低功耗待机功能,并且支持采用PoE的10G-BASE-T。下表给出了在IEEE 802.3bt标准批准后提供的PoE功能。 注1:如果通道长度已知,则扩展功率容量能够实现最高60W(Type 3)和90W(Type 4)的PD输入功率。 IEEE 802.3bt标准的目标之一是符合ISO/IEC 60950中定义的有限电源和安全特低电压(SELV)要求。但是,这种合规性意味着每个端口的功率都不能超过100W。尽管存在这一功率上限,但每个端口100W的功率仍足以满足先前在原有IEEE标准下不支持的应用的需求,这样便能扩展PoE端口部署的潜在数量。 确保互操作性 只有PSE能够(在功率方面)支持PD并且两者均符合标准,IEEE 802.3bt规范便可确保IEEE 802.3bt系统能够自动与传统Type 1和Type 2设备配合工作。如果PD需要更高的功率(IEEE 802.3bt PD)而PSE无法支持该PD(IEEE 802.3af/at PSE),那么PD将保持关闭状态,或者进入开启状态而只消耗来自PSE的可用功率。 最早提供这种互操作性的解决方案示例之一是Microchip的PSE芯片组,它实现了符合之前标准的交换机与符合新IEEE 802.3bt-2018标准的产品之间的互操作。该芯片组基于Microchip的早期PSE芯片组,用于实现已广泛采用的PoH四对供电标准(适用于95W PD)。另外,它也是符合IEEE 802.3bt-2018标准的PoE供电器和中跨产品的核心,可为用户弥存在合互操作性差距。 通过在PD与现有交换机之间安装符合IEEE 802.3bt-2018标准的PoE注入器和中跨,用户能够为符合之前标准的PD与符合IEEE 802.3bt-2018标准的PD的任意组合供电。通过使用单端口和多端口选项,符合新IEEE 802.3bt标准的交换机也能够为满足之前标准的PD供电。 对于系统开发人员而言,IEEE 802.3af/at/bt PoE芯片组提供了可扩展性,能够将支持符合之前标准和符合IEEE 802.3bt-2018标准的PoE所需的两对和四对系统集成到单板设计中。这些芯片组必须能够均衡整个系统的散热,并且应包含构建PSE设备所需的所有管理器和控制器功能,这些设备可为每个端口提供90W至99.9W的功率,同时为IEEE 802.3bt Type 3(1-6级)和Type 4(7-8级)应用提供最多48个端口的支持。需要额外考虑的是,基于这些芯片组的系统应具有无需更改硬件即可通过软件更新将早期标准升级到IEEE 802.3bt的能力。 开发人员的最后一个担忧是能否保护PD免受反极性连接的影响,并减少提供IEEE 802.3bt Type 4 8级电源所需的电源空间和成本。借助在PoE连接的供电侧所使用的全桥整流器,最新的IEEE 802.3bt解决方案也解决了这一问题。 新的IEEE 802.3bt标准能够通过四对Cat5e线缆及更高标准的线缆提供90W的功率。这一PoE等级预计是已定义的最高级别,因为更高的级别对于当今基础设施中部署的现有线缆和连接器可能并不安全。此标准将取代目前提供60W/75W/95W的所有现有符合之前标准的解决方案,例如UPOE或4PPoE。PoE系统和设备供应商提供了实现这些新标准的路线图,同时也为早期符合之前标准的实现方案(包括支持UPOE和POH规范的实现方案)提供支持。符合之前标准的PD和符合新IEEE 802.3bt-2018标准的PD在合理实现后可以共用相同的以太网基础设施,而无需更换现有的交换机或线缆。

                  Microchip 交换机 5G 以太网

                • Microchip嵌入式控制工程师在线培训课程“Microchip University”现已开放注册

                  Microchip嵌入式控制工程师在线培训课程“Microchip University”现已开放注册

                  由开发Microchip产品和设计工具的创新专家授课,讲授如何在流行的各类嵌入式系统应用中更好地使用Microchip产品和设计工具 Microchip Technology Inc.(美国微芯科技公司)今日宣布已开放注册面向工程师的在线课程,涵盖从C语言编程和密码学等内容在内的各种嵌入式设计主题,帮助他们更有效地使用Microchip相关产品。Microchip University在线培训课三大长老军团程提供了实现各种系统的最佳实践,如物联网(IoT)、蓝牙、通用串行总线(USB)和控制器区域网(CAN)等通信协议,以及自举程序和使用现场可编程门阵列(FPGA)的高速数据分析。 Microchip技术应用部门全球副总裁Ken Pye表示:“我们的客户现在可以随时随地获得业界最全面的高质量通用嵌入式系统控制设计课程。这些免费课程将教授工程师如何更快、更有效地将新设计推向市场,同时最大限度地利用我们的产品和开发工具。我们一直致力于为客户提供关于我们产品的高质量培训,通过开放在线课程,我们可以帮助看着剑无虚各种经验水平的工程师更方便地获得培训机会。” 以往,Microchip只在年度会议期间提供现场的专场培训。如今,Microchip University已将相关培训课程搬到了网上。工程师们可以学习如何使用Microchip的MPLAB®代码配置器(MCC)和独立于内核的外设(CIP),以及创建嵌入式Linux®应用的解决方案。培训课程内容丰富,涵盖了电机控制、电池充电基础知识、电源、安全、模拟系统设计等方面的最佳实践。Microchip University课程覆盖Microchip的全线产品。

                  Microchip Microchip 嵌入式 控制器区域网

                • 交流电机测试供电解决方案

                  交流电机测试供电解决方案

                  摘要:交流电机广泛应用于多领域内,在使用过程中,电机通过软起动方式直至满功率工作。PSA可编程交流电源为交流电机性能测试提供操作便捷、功能丰富的测试供电方案,准确把握电机各阶段启动特性。 交流电机是一种将交流电的电能转变为机械能的装置,主要由一个用以产生磁场的电磁铁绕组或分布的定子绕组和一个旋转电枢或转子组成。因其结构简单、工作效率高、制造方便等优势,广泛应用于工农业生产、交通运输、商业及家用电器等领域。 交流电机测试过程中通常不能直接将其启动至最大功率,尤其未配置调速功能电机。电机直接满全功率启动会产生过高的启动电流,会导致供电设备输出电压跌落波动或触发过流保护,导致无法正常启动。通过缓慢增加电机工作电压实现转速逐渐达到预期设定值,也是俗称电机软启动,显著降低电机 轰隆隆整片空间猛然颤动了起来启动电流,确保测试正常开展。ZLG-PSA6000系列可编程交流电源为交流电机提供便捷操作、精准供电的测试供电方案, 即LIST/STEP编程与调节输出电压的变化速率等两种方案,实现交流电机供电缓慢提升。 一、LIST/STEP编程方案 PSA6000系列可编程交流电源STEP/LIST功能,允许灵活地设置起始电压值、结束电压值、电压步进值以及每一步电压的持续时间等,实现电压由低至高步阶式升高。 STEP设定界面图 STEP编程输出电压 二、调节输出电压的变化速率 PSA6000系列可编程交流电源允许设定电压的变化速率。通过改变电压的变化速率,实现交流电机两端输入电压由低至高线性的升高。 电压的变化速率的设定界面 电压按某变化速率输出 ZLG PSA6000系列高性能可编程交流电源是具有高精度、宽范围输出的电网模拟输出设备,输出功率2~21kVA,输出频率超过5000Hz,支持输出自校正能显著提升输出精度,集成丰富的前沿应用解决方案,为电子产品性能测试与品质验证提供正常或异常供电工况,配备完善的保护功能(OVP/OCP/OPP/OTP 等),可轻松应对交流电机的研发、认证、生产等阶段的复杂测试。

                  致远电子 致远电子 交流电机 LISTSTEP编程

                • MySQL面试重点篇27问27答

                  26、数据库三大范式精讲 第一范式 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。 如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。 简而言之,第一范式就是无重复的列。 第二范式 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。 为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主关键字或主键、主码。第二范式(2NF)要求实体的属性完全依赖于主关键字。 所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。 简而言之,第二范式就是非主属性非部分依赖于主关键字。 第三范式 满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。 例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在员工信息表中列出部门编号后就不能五级仙帝愤怒大吼了起来再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。 简而言之,第战斗到现在三范式就是属性不依赖于其它非主属性。 27、数据库三大范式精要总结 (1)简单归纳: 第一范式(1NF):字段不可分; 第二范式(2NF):有主键,非主键字段依赖主键; 第三范式(3NF):非主键字段不能相互依赖。 (2)解释: 1NF:原子性。字段不可再分,否则就不是关系数据库;; 2NF:唯一性 。一个表只说明一个事物; 3NF:每列都与主键有直接关系,不存在传递依赖。 28、MySQL常见的存储引擎InnoDB、MyISAM的区别?适用场景分别是? 1)事务:MyISAM不支持,InnoDB支持 2)锁级别:MyISAM 表级锁,InnoDB 行级锁及外键约束 3)MyISAM存储表的总行数;InnoDB不存储总行数; 4)MyISAM采用非聚集索引,B+树叶子存储指向数据文件的指针。InnoDB主键索引采用聚集索引,B+树叶子存储数据 适用场景: MyISAM适合:插入不频繁,查询非常频繁,如果执行大量的SELECT,MyISAM是更好的选择, 没有事务。 InnoDB适合:可靠性要求比较高,或者要求事务;表更新和查询都相当的频繁, 大量的INSERT或UPDATE 29、事务四大特性(ACID)原子性、一致性、隔离性、持久性? 第一种回答 原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。。事务在执行过程中发生错误,会被恢复(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。一致性:在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作。隔离性:数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离分为不同级别,包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)。持久性:事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。 第二种回答 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回今天我就亲眼看看滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。 一致性(Consistency) 事务开始前和结束后,数据库的完整性约束没有被破坏。比如A向B转账,不可能A扣了钱,B却没收到。 隔离性(Isolation) 隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。 同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。比如A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转账。关于事务的隔离性数据库提供了多种隔离级别,稍后会介绍到。 持久性(Durability) 持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。 30、SQL中的NOW()和CURRENT_DATE()两个函数有什么区别? NOW()命令用于显示当前年份,月份,日期,小时,分钟和秒。CURRENT_DATE()仅显示当前年份,月份和日期。 31、什么是聚合索引 ? 聚簇索引就是按照拼音查询,非聚簇索引就是按照偏旁等来进行查询。 其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查"安"字,就会很自然地翻开字典的前几页,因为"安"的拼音是"an",而按照拼音排序 汉字的字典是以英文字母"a"开头并以"z"结尾的,那么"安"字就自然地排在字典的前部。如果您翻完了所有以"a"开头的部分仍然找不到这个字,那么就 说明您的字典中没有这个字;同样的,如果查"张"字,那您也会将您的字典翻到最后部分,因为"张"的拼音是"zhang"。也就是说,字典的正文部分本身 就是一个目录,您不需要再去查其他目录来找到您需要找的内容。 我们把这种正文内容本身就是一种按照一定规则排列的目录称为"聚集索引" 32、什么是非聚合索引? 如果您认识某个字,您可以快速地从自动中查到这个字。但您也可能会遇到您不认识的字,不知道它的发音,这时候,您就不能按照刚才的方法找到您要查的字,而 需要去根据"偏旁部首"查到您要找的字,然后根据这个字后的军队首领页码直接翻到某页来找到您要找的字。 但您结合"部首目录"和"检字表"而查到的字的排序并不是 真正的正文的排序方法,比如您查"张"字,我们可以看到在查部首之后的检字表中"张"的页码是672页,检字表中"张"的上面是"驰"字,但页码却是63 页,"张"的下面是"弩"字,页面是390页。 很显然,这些字并不是真正的分别位于"张"字的上下方,现在您看到的连续的"驰、张、弩"三字实际上就是他 们在非聚集索引中的排序,是字典正文中的字在非聚集索引中的映射。 我们可以通过这种方式来找到您所需要的字,但它需要两个过程,先找到目录中的结果,然后 再翻到您所需要的页码。 我们把这种目录纯粹是目录,正文纯粹是正文的排序方式称为"非聚集索引"。 33、聚集索引与非聚集索引的区别是什么? 非聚集索引和聚集索引的区别在于, 通过聚集索引可以查到需要查找的数据, 而通过非聚集索引可以查到记录对应的主键值 , 再使用主键的值通过聚集索引查找到需要的随后低声吼道数据。聚集索引和非聚集索引的根本区别是表记录的排列顺序和与索引的排列顺序是否一致。 聚集索引(Innodb)的叶节点就是数据节点,而非聚集索引(MyisAM)的叶节点仍然是索引节点,只不过其包含一个指向对应数据块的指针。 34、创建索引时需要注意什么? 非空字段:应该指定列为NOT NULL,除非你想存储NULL。在 MySQL 中,含有空值的列很难进行查询优化,因为它们使得索引、索引的统计信息以及比较运算更加复杂。你应该用0、一个特殊的值或者一个空串代替空值; 取值离散大的字段:(变量各个取值之间的差异程度)的列放到联合索引的前面,可以通过count()函数查看字段的差异值,返回值越大说明字段的唯一值越多字段的离散程度高; 索引字段越小越好:数据库的数据存储以页为单位一页存储的数据越多一次IO操作获取的数据越大效率越高。唯一、不为空、经常被查询的字段 的字段适合建索引 35、MySQL中CHAR和VARCHAR的区别有哪些? char的长度是不可变的,用空格填充到指定长度大小,而varchar的长度是可变的。 char的存取数度还是要比varchar要快得多 char的存储方式是:对英文字符怒吼声彻响而起(ASCII)占用1个字节,对一个汉字占用两个字节。varchar的存储方式是:对每个英文字符占用2个字节,汉字也占用2个字节。 36、MySQL 索引使用的注意事项 MySQL 索引通常是被用于提高 WHERE 条件的数据行匹配时的搜索速度,在索引的使用过程中,存在一些使用细节和注意事项。 函数,运算,否定操作符,连接条件,多个单列索引,最左前缀原则,范围查询,不会包含有NULL值的列,like 语句不要在列上使用函数和进行运算 1)不要在列上使用函数,这将导致索引失效而进行全表扫描。 select * from news where id / 100 = 1 为了使用索引,防止执行全表扫描,可以进行改造。 select * from news where news_year = 2017 and news_month = 1 事实上,MySQL 只能使用一个单列索引。为了提高性能,可以使用复合索引 news_year_month_idx(news_year, news_month) 保证 news_year 和 news_month 两个列都被索引覆盖。 4)复合索引的最左前缀原则 复合就是都是为之一呆索引遵守“最左前缀”原则,即在查询条件中使用了复合索引的第一个字段,索引才会被使用。因此,在复合索引中索引列的顺序至关重要。如果不是按照索引的最左列开始查找,则无法使用索引。假设,有一个场景只需要针对资讯的月份进行查询,那么,SQL 语句可以写成: select * from news where news_weekth = 1 and enable = 1 然而,并不是所有的范围查询都可以进行改造,对于必须使用范围查询但无法改造的情况,我的建议:不必试图用 SQL 来解决所有问题,可以使用其他数据存储技术控制时间轴,例如 Redis 的 SortedSet 有序集合保存时间,或者通过缓存方式缓存查询结果从而提高性能。 7)索引不会包含有NULL值的列 只要列中包含有 NULL 值都将不会被包含在索引中,复合索引中只要有一列含有 NULL值,那么这一列对于此复合索引就是无效的。因此,在数据库设计时,除非有一个很特别的原因使用 NULL 值,不然尽量不要让字段的默认值为 NULL。 8)隐式转换的影响 当查询条件左右两侧类型不匹配的时候会发生隐式转换,隐式转换带来的影响就是可能导致索引失效而进行全表扫描。下面的案例中,date_str 是字符串,然而匹配的是整数类型,从而发生隐式转换。

                  架构师社区 事务 范式 MySQL

                • 90 后少年,开源传奇!

                  大家好,我是小林。 今天给大家分享下小林一位朋友的大喜事。 先来介绍下这位朋友,他是位热爱开源的 90 后小伙,同时也是爱猫咪的程序员,因此大家都称他为喵大人。 喵大人一个人创办了 Dromara 开源社区,自己一人也开源了很多分布式事务框架,后面他的开源社区吸引了很多志同道合的朋友,社区也在逐渐扩大。 最近就发生了一个喜事,喵大人开源的分布式网关框架 Soul,经过多位社区朋友的共同维护和努力,这个开源项目成功已经加入到了 Apache 基金会孵化阶段。 喵大人受了那么大和他社区的朋友们这股开源精神值得大家学习,期待未来他们的项目能成为顶级项目! 接下来,是「喵大人和他社区的朋友们」想说的。 北京时间 2021 年 5 月 3 日,Dromara 开源社区我黑蛇的 Soul 网关经过 Apache Incubator 的投票,正式步入 Apache 基金会孵化器。 根据投票结果,我们获得了10个约束性投票(binding votes)和 7 个无约束性投票(non-binding votes)的投票,全部持赞同意见,无弃权票和反对票,投票顺利通过。 随后,Soul网关项目将改名为 ShenYu。 功能特点 提供了诸如限流、熔断、转发 、重写、重定向、和路由监控等插件; 支持 HTTP、RESTFul、WebSocket、Dubbo、 GRPC、 Tars、 Spring Cloud 代理; 支持热插拔,用户可以定制化开发; 为了灵活的适配,选择器和规则可以动态的适配; 支持集群部署; 支持 A/B 测试和灰度发布。 模块 soul-admin : 插件和其他信息配置的管理后台 soul-bootstrap : 用于启动项目,用户可以参考 soul-client : 用户可以使用 Spring MVC,Dubbo,Spring Cloud 快速访问 soul-disruptor : 基于disruptor的封装 soul-register-center : 为soul-client提供各种rpc接入注册中心的支持 soul-common : 框架的通用类 soul-dist : 构建项目 soul-metrics : prometheus(普罗米修斯)实现的 metrics soul-plugin : Soul 支持的插件集合 soul-spi : 定义 Soul spi soul-spring-boot-starter : 支持 spring boot starter soul-sync-data-center : 提供 ZooKeeper,HTTP,WebSocket,Nacos 的方式同步数据 soul-examples : RPC 示例项目 soul-web : 包括插件、请求路由和转发等的核心处理包 插件化设计 无论请求何时进入,Soul 会通过响应链执行所有已打开的插件。 插件是 Soul 的灵魂,并且插件也是可扩展和热插拔的。 不同的插件实现不同的功能。 当然,用户也可以定制化插件去满足他们自己的需求。 如果你有定制化插件的需求,请参看这里:https://dromara.org/zh/projects/soul/custom-plugin/ 数据缓存 & 数据同步 所有的数据都被缓存在 JVM 的 ConcurrentHashMap 中,所以它非常快。 当用户在后台界面改变配置信息时,Soul 通过监听 ZooKeeper node,WebSocket push,HTTP longPull 来动态更新缓存。 为什么叫神禹 ShenYu (神禹)是我们古代君王夏禹的尊称(后世也尊称大禹),为造福百姓,成功治理黄河水患,留下了三过家门而不入的感人故事。其和尧舜并称为中国古代最伟大的三位君王 首先,取名为ShenYu是弘扬我们中华文明的传统美德。 其次,网关最最重要的是对流量的治理。 最后,社区将会以公平,公正,公开,任人唯贤的做事方式,致敬神禹的同时也非常符合Apache Way。 感谢 我在 2018 年 3 月写下 soul 网关的第一行代码和创立 Dromara 开源社区的时候,并没有想到过,社区的力量是如此的强大,社区的同学会如此的热情,非常感谢每一位同学提交的代码,写下的每一篇源码解析的文章,参与的每一次分享活动以及每一个Issue。 感谢 Apache 基金会孵化器的每一位导师,他们耐心的布道,提供了建设性的意见,让孵化之路更加通畅。 在进入 Apache 基金会孵化器后,社区将谨遵 Apache Way,这是我们的新挑战,新启航! 最后,如果大家想了解 ShenYu 开源项目,可以点击「阅读原文」,跳转到 Github。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我传闻五行神尊们,谢谢!

                  小林coding 开源 Dromara ShenYu

                • 为什么看起来不是很复杂的网站,却需要大量顶尖高手来开发?

                  为什么很多看起来不是很复杂的网站,比如 Facebook 需要大量顶尖高手来开发? 子柳: 就拿淘宝来说说,当作给新人一些科普。 先说你看到的页面上,最重要的几个: 搜索商品:这个功能,如果你有几千条商品,完全可以用select * from tableXX where title like %XX%这样的操作来搞定。但是——当你有10000000000(一百亿)条商品的时候,任何一个数据库都无法存放了,请问你怎么搜索?这里需要用到分布式的数据存储方案,另外这个搜索也不可能直接从数据库里来取数据,必然要用到搜索引擎(简单来说搜索引擎更快)。好,能搜出商品了,是否大功告成可以啵一个了呢?早着呢,谁家的商品出现在第一页?这里需要用到巨复杂的排序算法。要是再根据你的购买行为做一些个性化的推荐——这够一帮牛叉的算法工程师奋斗终生了。 商品详情:就是搜索完毕,看到你感兴趣的,点击查看商品的页面,这个页面有商品的属性、详细描述、评价、卖家信息等等,这个页面的每天展示次数在30亿以上,同样的道理,如果你做一个网站每天有10个人访问,你丝毫感觉不到服务器的压力,但是30亿,要解决的问题就多了去了。首先,这些请求不能直接压到数据库上,任何单机或分布式的数据库,承受30亿每天的压力,都将崩溃到完全没有幸福感,这种情况下要用到的技术就是大规模的分布式缓存,所有的卖家信息、评价信息、商品描述都是从缓存里面来取到的,甚至更加极致的一点“商品的浏览量”这个信息,每打开页面一次都要刷新,你猜能够从缓存里面来取吗?淘宝做到了,整个商品的详情都在缓存里面。 商品图片:一个商品有5个图片,商品描述里面有更多图片,你猜淘宝有多少张图片要存储?100亿以上。这么多图片要是在你的硬盘里面,你怎么去查找木机一愣其中的一张?要是你的同学想拷贝你的图片,你需要他准备多少块硬盘?你需要配置多少大的带宽?你们的网卡是否能够承受?你需要多长时间拷贝给他?这样的规模,很不幸市面上已经没有任何商业的解决方案,最终我们必须自己来开发一套存储系统,如果你听说过google的GFS,我们跟他类似,叫TFS。顺便说一下,腾讯也有这样的一套,也叫TFS。 广告系统:淘宝上有很多广告,什么,你不知道?那说明我们的广告做的还不错,居然很多人不认为它是广告,卖家怎么出价去买淘宝的广告位?广告怎么展示?怎么查看广告效果?这又是一套算法精奇的系统。 BOSS系统:淘宝的工作人员怎么去管理这么庞大的一个系统,例如某时刻突然宣布某位作家的作品全部从淘宝消失,从数据库到搜索引擎到广告系统,里面的相关数据在几分钟内全部消失,这又需要一个牛叉的后台支撑系统。 运维体系:支持这么庞大的一个网站,你猜需要多少台服务器?几千台?那是零头。这么多服务器,上面部署什么操作系统,操作系统的内核能否优化?Java虚拟机能否优化?通信模块有没有榨取性能的空间?软件怎么部署上去?出了问题怎么回滚?你装过操作系统吧,优化过吧,被360坑过没,崩溃过没?这里面又有很多门道。 不再多写了,除了上面提到的这些,还有很多很多需要做的技术,当然并不是这些东西有多么高不可攀,任何复杂的庞大的东西都是从小到大做起来的,里面需要牛叉到不行的大犇,也需要充满好奇心的菜鸟,最后这一句,你当我是别有用心好了。 知乎网友@蔡正海 : 刚看了一篇很有意思的文章,讲的很清楚——《你刚才在淘宝上买了一件东西》 你发现快要过年了,于是想给你的女朋友买一件毛衣,你打开了淘宝网址。这时你的浏览器首先查询DNS服务器,将淘宝网址转换成ip地址。不过首先你会发现,你在不同的地区或者不同的网络(电信、联通、移动)的情况下,转换后的IP地址很可能是 不一样的,这首先涉及到负载均衡的第一步,通过DNS解析域名时将你的访问分配到不同的入口,同时尽可能保证你所访问的入口是所有入口中可能较快的一个 (这和后文的CDN不一样)。 你通过这个入口成功的访问了淘宝官网的实际的入口IP地址。这时你产生了一个PV,即Page View,页面访问。每日每个网站的总PV量是形容一个网站规模的重要指标。淘宝网全网在平战狂一拳就朝那道尘子日(非促销期间)的PV大概是16-25亿之间。同时作为一个独立的用户,你这次访问淘宝网的所有页面,均算作一个UV(Unique Visitor用户访问)。最近臭名昭著的12306的日PV量最高峰在10亿左右,而UV量却远小于淘看着宝网十余倍,这其中的原因我相信大家都会知道。 因为同一时刻访问淘宝的人数过于巨大,所以即便是生成淘宝首页页面的服务器,也不可能整体实力更加强大仅有一台。仅用于生成淘宝官网首页的服务器就可能有成百上千台,那么你的一次访问时生成页面给你看的任务便会被分配给其中一台服务器完成。这个过程要保证公正、公平、平均(暨这成百上千台服务器每台负担的用户数要差不多),这一很复杂的过程是由几个系统配合完成,其中最关键的便是LVS(Linux Virtual Server),世界上最流行的负载均衡系统之一,正是由目前在淘宝网供职的章文嵩博士开发的。 经过一系列复杂的逻辑运算和数据处理,用于这次给你看的淘宝网首页的HTML内容便生成成功了。对web前端稍微有点常识的童鞋都应该知道,下一步浏览器会去加载页面中用到的css、js、图片、脚本和资源文件。但是可能相对较少的同学才会知道,你的浏览器在同一个域名下并发加载的资源数量是有限制的,例如IE6-7是两个,IE8是6个,Chrome各版本不大一样,一般是4-6个。我刚刚看了一下,我访问淘宝网首页需要加载126个资源,那么如此小的并发连接数自然会加载很久。所以前端开发人员往往会将上述这些资源文件分布在好多个域名下,变相的绕过浏览器的这个限制,同时也为下文的CDN工作做准备。 据不可靠消息,在双十一当天高峰,淘宝的访问流量最巅峰达到871GB/S。这个数字意味着需要178万个4Mb带宽的家庭宽带才能负担的起,也完全有能力拖垮一个中小城市的全部互联网带宽。那么显然,这些访问流量不可能集中在一起。并且大家都知道,不同地区不同网络(电信、联通等)之间互访会非常缓慢,但是你却发现很少发现淘宝网访问缓慢。这便是CDN(Content Delivery Network),即内容分发网络的作用。淘宝在全国各地建立了数十上百个CDN节点,利用一些手段保证你访问的(这里主要指js、css、图片等)地方是离你最近的CDN节点,这样便保证了大流量分散在各地访问的加速节点上。 这便给老夫滚出现了一个问题,那就是假若一个卖家发布了一个新的宝贝,上传了几张新的宝贝图片,那么淘宝网如何保证全国各地的CDN节点中都会同步的存在这几张图 片供用户使用呢?这里边就涉及到了大量的内容分发与同步的相关技术。淘宝开发了分布式文件系统TFS(Taobao File System)来处理这类问题。 好了,这时你终于加载完了淘宝首页,那么你习惯性的在首页搜索框中输入了'毛衣'二字并敲回车,这时你又产生了一个PV,然后,淘宝网的主搜索系统便开始为你服务了。它首先对你输入的内容基于一个分词库进行分词操作。众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思。例如,英文句子I am a student,用中文则为:“我是一个学生”。计算机可以很简单通过空格知道student是一个单词,但是不能很容易明白“学”、“生”两个字合起来才表示一个词。把中文的汉字序列切分成有意义的词,就是中文分词,有些人也称为切词。我是一个学生,分词的结果是:我 是 一个学生。 进行分词之后,还需要根据你输入的搜索词进行你的购物意图分析。用户进行搜索时常常有如下几类意图: 浏览型:没有明确的购物对象和意图,边看边买,用户比较随意和感性。Query例如:”2010年10大香水排行”,”2010年流行毛衣”, “zippo有多少种类?”; 查询型:有一定的购物意图,体现在对属性的要求上。Query例如:”适合老人用的手机”,”500元 手表”; 对比型:已经缩小了购物意图,具体到了某几个产品。Query例如:”诺基亚E71 E63″,”akg k450 px200″; 确定型:已经做了基本决定,重点考察某个对象。Query例如:”诺基亚N97″,”IBM T60″。通过对你的购物意图的分析,主搜索会呈现出完全不同的结果来。 之后的数个步骤后,主搜索系统便根据上述以及更多复杂的条件列出了搜索结果,这一切是由一千多台搜索服务器完成。然后你开始逐一点击浏览搜索出的宝贝。你开始查看宝贝详情页面。经常网购的亲们会发现,当你买过了一个宝贝之后,即便是商家多次修改了宝半空中贝详情页,你仍然能够通过‘已买到的宝贝’查看当时的快照。这是为了防止商家对在商品详情中承诺过的东西赖账不认。那么显然,对于每年数十上百亿比交易的商品详情快照进行保存和快速调用不是一个简单的事情。这 其中又涉及到数套系统的共同协作,其中较为重要的是Tair,淘宝自行研发的分布式KV存储方案。 然后无论你是否真正进行了交易,你的这些访问行为便忠实的被系统记录下来,用于后续的业务逻辑和数据分析。这些记录中访问日志记录便是最重要的记录之一, 但是前边我们得知,这些访问是分布在各个地区很多不同的服务器上的,并且由于用户众多,这些日志记录都非常庞大,达到TB级别YUU礭[](看小说就到叶 子·悠~悠 土皇星之外非常正常。那么为了快速及时 传输同步这些日志数据,淘宝研发所以我们到时候按照规矩来就是了了TimeTunnel,用于进行实时的数据传输,交给后端系统进行计算报表等操作。 你的浏览数据、交易数据以及其它很多很多的数据记录均会被保留下来。 使得淘宝存储的历史数据轻而易举的便达到了十数甚至更多个PB(1PB=1024TB=1048576GB)。如此巨大的数据量经过淘宝系统1:120的极限压缩存储在淘宝的数据仓库中。并且通过一个叫做云梯的,由2000多台服务器组成的超大规模数据系统不断的进行分析和挖掘。 从这些数据中淘宝能够知道小到你是谁,你喜欢什么,你的孩子几岁了,你是否在谈恋爱,喜欢玩魔兽世界的人喜欢什么样的饮料等,大到各行各业的零售情况、各类商品的兴衰消亡等等海量的信息。 说了这么多,其实也只是叙述了淘宝上正在运行的成千上万个系统中的寥寥几个。即便是你仅仅访问一次淘宝的首页,所涉及到的技术和系统规模都是你完全无法想 象的,是淘宝2000多名顶级的工程师们的心血结晶,其中甚至包括长江学者、国家科学技术最高奖得主等众多大牛。同样,百度、腾讯等的业务系统也绝不比淘宝简单。你需要知道的是,你每天使用的互联网产品,看似简单易用,背后却凝聚着难以想象的智慧与劳动。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

                  架构师社区 淘宝 Facebook

                • ERP已死,“中台”已凉,“低代码”称王!

                  业界有个说法,认为ERP经过了20多年的发展,理念已经不行了、跟不上时代了;而后起之秀“中台”,经历了兴起、火爆、被唱衰等阶段,也已经凉凉了。 再加上,最近一年“低代码”、“零代码”的迅速崛起,似乎企业数字化领域又要“改朝换代”了。 难道ERP“死”了,“中台”凉了,“低代码”要称王了? 其实,企业数字化领域从来都不缺新概念,每隔几年就来墨姑娘一波。但是,在企业里搞数字化转型的朋友就懵圈了,这么多新概念出来,你们倒是很“敏捷”,可是企业消化不了呀。 企业里的MRP2 报表数字还没对齐,中台就来了,说是要“去烟囱”化,花了几千万上“中台”。刚把“数据孤岛”打通,又说要搞“低代码”了,要干掉程序员,把企业数字化的能力重新交回给业务人员。 01 ERP,中台,低代码的本质是什么? 我们先来思考Why的问题,ERP、中台、低代码的本质是什么? 任何的企业管理软件都只是技术手段,技术解决的是业务的问题,企业治理软件的你是说本质就是企业治理思想的体现。 所以,企业购买软件,实际上买的是企业治理方法论。是要解决企业运作过程中出现的问题,是要降本增效。否则excel表格就够了,要说灵活的话,哪个软件比excel更灵活? 那么,从ERP,到中台,再到低代码,演进的逻辑是什么? 先说结论,从根本上来说就是企业治理的主要矛盾发生了变化。 1、ERP解决的是,企业大规模生产管理问题 ERP,是由美国Gartner公司于1990年提出的。但是ERP的起源则是要追溯到1965年,针对当时企业出现的供应滞后、交货不及时等问题,APICS协会提出了MRP(物料需求计划)的概念。通过MRP管理软件的信息集成系统,企业对生产制造过程中的“销、产、供”等实现了信息集成,使得企业在库存管理上进行有效的计划和控制。 2、中台解决的是,企业快速创新的问题 “大中台,小前台”,是阿里巴巴在2015年提出来的概念,通过合并相似组织,沉淀核心能力到中台,很好地支撑前台快速试错、快速创新。极大释放企业创新和变革的能力,如盒马鲜生、钉钉就是阿里中台创新的成果。 之前,老K的文章说过阿里开始“拆”中台、把中台做薄,也是为了更好的支撑阿里的“五新”战略,帮助阿里打造出颠覆式创新业务,如:代表着新制造的“犀牛制造”等等。 3、“低代码”满足了企业“敏捷能力”的诉求 老K、流水姐写过不少低代码的文章,低代码之所以这两年火了,得益于中小企业对“敏捷能力”的迫切需求。 最近几年,由于疫情、中美关系等外部环境的变化,导致企业的经营策略发生改变。比如线下培训机构要转变成线上线下结合的模式、国内电商公司都纷纷出海。越来越多的企业意识到“敏捷能力”的重要性。 “低代码”、“零代码”帮助企业快速建立“敏捷能力”:即买即用、工具模板化、支持少量定制,云端部署,实时在线。 比如,一家传统培训机构,在疫情期间,一周之内就部署完成:在线课堂、教师管理、员工管理、客户管理、客服管理等模块。如果按照传统的方式来建设系统,需定制开发或购买套件、采购服务器、买带宽/租IDC、培训员工等等。 如果使用“低代码”平台,只要购买SAAS服务模板、对员工进行简单的培训,就可以对一个全新业务模式进行MVP试错。这在以前是不可想象的。 总结一下,ERP、中台、低代码的本质是企业治理方法论,其演进的底方向看了过去层逻辑就是,企业治理的主要矛盾发生了变化。 02 企业数字化转型方法论 下面介绍两个具有代表性的企业数字化转型方法论,一个国内的,一个国外的。 一、华为的“企业数字化转型1234法” 华为在2019年发表了白皮书《企业数字化转型方法论》,正式提出了:企业数字化转型“1234法”。 该方法论包含4个部分: 一个战略。就是要把企业数字化转型战略,定为企业的一级战略,进行全局谋划,配备战略级资源的支持。 二个保障。通过组织转型,激发组织活力;通过文化转型,创造转型氛围。 三个核心原则。战略统筹、技术业务驱动、自主&合作并行作为三个核心原则。将核心原则贯穿转型全过程,保证转型始终在正确的道路上。 四个关键行动。包括顶层设计、平台赋能、生态协同、持续迭代,通过四个关键行动控制转型关键过程。 感兴趣的话可以去下载该白皮书来研究,篇幅有限就不展开了,否则推文就变成论文了。 二、埃森哲数字化转型“三步曲” 埃森哲数字化转型方法论,围绕企业三大价值维度:数字化运营、主营业务增长、商业创新。 埃森哲的方法论,既具有科学性,也很接地气。其实企业转型的根本目的就是提升运营效率,驱动业务增长,激化业务创新。并不是去追什么新的概念。 埃森哲的企业数字化方法论,提出了转型三步曲: 第一步:制定数字化转型目标 企业领导层需要对未来技术发展、行业发展、消费者趋势等诸多因素进行综合分析,定义对本公司最优的数字化目标。 比如沃尔玛的嗯转型目标就是提升营销精准度,他们建立了基于用户行为和偏好的算法模型,为用户推送最感兴趣的商品,为沃尔玛带来了10%~15%的交易量提升。 第二步:采取数字化转型行动 企业需要在全公司范围内提升各方对数字化转型的认同感,并建立起数字化思维方式。 为打造数字化企业,企业应当借助产业物联网、人工智能和敏捷创新等数字技术对其运营进行改造升级,提高内部运营效率。 比如,一家日本连锁便利店,采集并分析了来自全球4000万忠实用户的数据,用以优化营销投资方案和改善货架空间分配及利用率,该项目为其带来了125万美元的利润,以及超过1.25亿美元的年收入增长。 第三步:达成数字化转型成果 数字化转型的诸多努力最终要落到可持续的数字化商业模式,以及能支持该商业模式成功运行的运营模式上。 在“数字中国”的大潮中,数字化转型已成为每个企业的当务之急。借力数字化打造和提升竞争力,企业将在数字时代迸发出更大的活力。 埃森哲数字化转型方法论,提出了5大关键行动: 1、制定面向未来的数字化战略。 2、数字生态所以我们才抵挡不住建设,实现全面业务升级。 3、打通研发、产品、用户,实现智能创造价值。 4、产品服务智能化升级,打造全生命周期用户差异化服务。 5、建立高韧性、高扩展性和敏捷性组织,支持业务发展和调整。 03 结语 企业数字化转型,是一项长期持久的战略举措,需要企业具备足够的重视度,配备相应的资源作为支撑,并且要有变革的决心和魄力。 从事企业数字化转型的IT同行,也要具备业务洞察力、深度思考的能力,不要盲目追捧层出不穷的新概念。任何的方法论从提出,到企业进行消化,再到落地,都要经历3到5年,甚至更长的时间。 ERP也好,中台也罢,或是低代码,都要结合企业当前的情况进行深入研究。一昧迷信方法论,生搬硬套别人的解决方案,只有死路一条。 作者| Mr.K   整理| Emma 来源| 技术领导力一阵阵九彩光芒暴涨而起(ID:jishulingdaoli) 作者简介:Mr.K,企业数字化转型观察员、知名电商公司技术老K级人物。文出过畅销书,武做过CTO,若非生活所迫,谁愿一身才华。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

                  程序员小灰 中台 ERP

                • 安徽省,出过哪些牛人?

                  熟悉小灰的朋友们都知道,小灰很喜欢去旅游。因为旅游不止可以欣赏到当地的风景,也可以了解一个地方的历史和文化。 前一你去吧段时间,小灰去了一趟安徽,先后游览了黄山、西递宏村、呈坎村、合肥市,总共历时十天,累并快乐着。 安徽这片土地,曾在春秋战国时期归于楚国,也曾在三国时期分属吴魏。千百年来,这里诞生过不少影响历史进程的伟大人物,小灰希望把他们介绍给大家,让大家更了解历史,更了解安徽。 本文所介绍的人物,按照时间顺序来排列,截止到近代。 1. 管仲 管仲,生于公元前723年,安徽省颍上县人,春秋时期齐国经济学家和政治家,也是法家代表人物,被后人称为“管子”。管仲辅佐齐桓公成为春秋五霸之首。 2. 老子 老子(是三声不是轻声),真名李耳,生于公元前571年,春秋时期陈国(位于安徽省涡阳)人,道家学派创始人,其著作《道德经》流传后世。 3. 庄子 庄子,名周,生于公元前369年,战国时期宋国蒙(位于安徽蒙城县)人,道家代表人物,著有《逍遥游》、《齐物论》、《养生主》等,被后人收录于《庄子》一书。 4. 刘安 刘安,公元前176年生于淮南国寿春县(今安徽省淮南市寿县),汉高祖刘邦之孙,西汉文学家、思想家、美食家。刘安被封为淮南王,曾招揽众多有识之士写成当时的百科全书《淮南子》,同时也是豆腐的发明者。 5. 曹操 曹操,生于公元155年,沛国谯县(今安徽省亳州)人,东汉末年统一中国北方地区建立魏国,死后被追封为魏武帝。 6. 周瑜 周瑜,生于公元175年,庐江舒城(今安徽省舒城)人,东汉末年名将和颜值担当,于赤壁击败曹操军队。 7. 朱温 朱温,生于公元852年,宋州砀山(今安徽省砀山县)人。唐朝末年,朱温参与黄巢的农民起义军,后归附唐军,镇压黄巢起义军,被唐僖宗赐名“全忠”。 随后朱温势力逐渐壮大,进而控制朝廷,杀死唐昭宗,逼迫唐哀帝禅让位(真够忠诚的),建立后梁。 8. 包拯 包拯,生于公元999年,庐州合肥(今安徽省合肥东)人,北宋名臣,任职的最高官位是枢密副使黑蛇目光一闪(从二品)。包拯的形象也出现在清代小说《三侠五义》当中,被后人所神化,啊不,黑化了。 9.朱元璋 朱元璋,生于公元1328年,安徽凤阳嗤人,年轻时追随郭子兴起义,灭陈友谅、张士诚,随后北伐推翻元朝,成为明朝开国皇帝,年号“洪武”。 10.李鸿章 李鸿章,生于公元1823年,安徽合肥人。李鸿章曾追随曾国藩,组建淮军,镇压太平天国和捻军起义,因战功升至直隶总督。李鸿章是洋务运动的重要领导人,也是北洋水师的组建者。 李鸿章先后参与签订了《马关条约》《辛丑条约》等30多个条约,使他成为后世毁誉参半的历史人物。 以上列出的10个人,是对中国古代和近代历史影响最大的10位安徽人。当然,在安徽这片人杰地灵的土地上,著名人物七八个仙帝正聚集在一起远远不止这些,还包括左慈、华佗、曹仁、郭子兴、李善长、常遇春、胡宗宪、年羹尧、胡雪岩、丁汝昌......由于篇幅有限,小灰就不详细介绍了。 大家最欣赏的是哪一个人物呢?欢迎留言说出你的看法。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

                  程序员小灰 安徽 李鸿章 管仲

                • 线程的故事:我的3位母亲成就了优秀的我!

                  作者 | 王磊 来源 | Java中文社群  声明:本故事纯属虚构,如果雷同那就是真事了! 大家好,我是线程,我的英文名叫 Thread,别看我现在风光无限,好像人尽皆知的样子,然而我的身世却悲惨离奇。 我出身在一个小山村,那是一个与世隔绝的世外桃源,然而年纪轻轻的我,却展现出了与众不同的性格。比如:当身边的同龄人还在沉浸于玩泥巴的喜悦时,我就开始思考如何避免下雨天对出行造成的阻碍?当身边的同龄人还在沉浸于夕阳下的奔跑时,我已经开始思考为什么太阳会东升西落?而我们人类又为什么会生存在地球上?于此可见一斑。 当时的我在所有人眼里就是一个“怪人”,村里面的阿猫、阿狗走路都要躲着我。但我的母亲牵引之力临身懂我,她知道这个小伙子器宇不凡、骨骼惊奇,必是练武奇才,将来保护宇宙的重任和维护世界和平的重任可能要交付与我这个神童身上了,于是在我刚满 3 岁那天,母亲就把我过继给了她的一位远房亲戚了。 首位母亲:继承Thread 接下来我要把我的出生过程演示给你看,这也是我的第一段人生经历。 创建方式一 线程最原始的创建方式,只需要继承 Thread 类,重写 run() 方法即可,实现代码如下: // 创建方式 1:继承 Thread class MyThread extends Thread { @Override public void run() { System.out.println("你好,线程~"); } } // 测试 public class ThreadExample { public static void main(String[] args) { // 创建线程 Thread thread = new MyThread(); // 启动线程 thread.start(); } } 变种方法 以上创建线程的方式略显繁琐,我们也可以使用匿名对象的方式,在创建 Thread 类的时候就直接重写 run() 方法,实现代码如下: // 变种 1:匿名方式创建线程 Thread t1 = new Thread() { @Override public void run() { System.out.println("线程变种"); } }; // 启动线程 t1.start(); 继承Thread的缺点 Java 语言的设计是单继承,所以当继承了 Thread 之后,就不能再继承其他类了。 也就是说,如果我一直呆在亲生母亲(extends Thread)的身边,那么就得不到好的教育这群讨厌,所以长大之后也注定会普普通通,这可能就是母亲把我过继给远房亲戚的原因冰雨尊者吧。 第二位母亲:实现Runnable 在 Java 语言中,虽然不能实现多继承,但可以实现多接口,所以我在第二位母亲家,过得也算如鱼得水。 创建方式二 和继承 Thread 类差不多,实现 Runnable 接口也是重写 run() 方法,具体实现代码如下: public class ThreadExample2 { // 创建方式 2:实现 Runnable 接口 static class MyThread implements Runnable { @Override public void run() { System.out.println("你好,线程~"); } } // 代码测试 public static void main(String[] args) { // 创建 Runnable 子类 MyThread myThread = new MyThread(); // 创建线程 Thread thread = new Thread(myThread); // 启动线程 thread.start(); } } 变种方法1:匿名Runnable 以上实现 Runnable 的接口有更简单的实现方法,我们可以使用匿名 Runnable 来创建一个线程,如下代码所示: // 变种 1:匿名 Runnable 方式 Thread t2 = new Thread(new Runnable() { @Override public void run() { System.out.println("我是线程变种方法~"); } }); // 启动线程 t2.start(); 变种方法2:Lambda创建Runnable 在 JDK 8 之后,我们可以使用 Lambda 表达式来操作代码了,所以对于创建匿名 Runnable 类,我们也有了更简单的实现方法,如下代码所示: // 变种 2:使用 Lambda 匿名 Runnable 方式 Thread t3 = new Thread(() -> { System.out.println("我是变种 2~"); }); // 启动线程 t3.start(); 注意:以上实现代码只支持 JDK 1.8+ 版本。 第三位母亲:村里的首富 虽然我的前两位母亲对我都很好,但对于我这样一个气宇轩扬、骨骼惊奇将来要拯救宇宙和维护世界和平的少年来说,只在国内混未免局限性太大,所以我一直想去大洋彼岸追寻自己的梦想,然而以「前两位」母亲的财力不足以支撑我这样做。 然而我的第二个家庭和村里的首富一家是至交,得知我的志向之后,他们一家愿意倾囊相授,举一家之力帮我去大洋彼岸追寻我的梦想。于是在感激之余,我的第二位母亲让我当场认下首富一家为我的干爹、干妈。就这样,我就有了第三位母亲了。 创建方式三 前两种创建方式虽然不错,但都不能接收线程执行之后的返回值,于是在 JDK 1.5 之后就加入了 Callable 和 Futrue,用于接收线程执行之后的返回值,具体的实现代码如下: import java.util.Random; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; /** * 线程创建示例 3 */ public class CreateThreadExample3 { // 创建方式 3:实现 Callable 接口 static class MyCallable implements Callable<Integer> { @Override public Integer call() throws Exception { int num = new Random().nextInt(10); System.out.println("生成随机数:" + num); return num; } } // 代码测试 public static void main(String[] args) throws ExecutionException, InterruptedException { // 创建 Callable 子对象 MyCallable callable = new MyCallable(); // 使用 FutureTask 配合 Callable 子对象得到执行结果 FutureTaskfutureTask = new FutureTask<>(callable); // 创建线程 Thread thread = new Thread(futureTask); // 启动线程 thread.start(); // 得到线程执行的结果 int result = futureTask.get(); System.out.println("主线程中拿到子线程执行结果:" + result); } } 使用 Callable 配合 FutrueTask 可以正确拿到线程执行之后的返回值。而我的故事也在这里结束了,我最终不负三位求支持母亲所望,虽不能拯救宇宙和维护世界和平,但却也能在程序界作出自己的一些贡献,这就是我和天雷珠一下子就融入了我三位母亲的故事。 总结 本文使用第一人称“我”(Thread)的视角讲了线程创建的三种方式,第一种是继承 Thread,但因为 Java 语言不允许多继承,所以当继承了 Thread 之后就不能继承其他类了,于是就有了第二种方式实现 Runnable 接口的方式。然而前两种实现虽然可以创建线程,但不能接收线程执行之后的返回值,于是就有了第三种实现 Callable,通过它我们可以取得线程执行之后的返回值。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

                  架构师社区 线程 Java Thread

                • 一个技术总监的忠告

                  这篇文章我们继续说架构师大刘的故事: 老田升职了,年薪涨到了百万级别! 这是大刘在加班搞技术攻坚的时候,听别的同事聊了那么一嘴。 大刘心里不是滋味儿。老田和大刘其实在这家公司之前就是同事了,老田能到这家公司,说起来还是大刘推荐的。 但是,在公司的这几年,老田越来越受领导赏识,到如今,晋升成功,赫然成了大刘的上司。大刘百思不得其解。 大刘和老田本身在前家公司都是高级程序员,前后脚跳槽到了现在这家公司。 大刘来的早,成了架构师。老田呢,技术本就不如大刘,被大刘拉来后,先是当了个高级工程师,只是为了避嫌,没跟大刘一个团队。 后来,老田被那时候的 Leader 赏识,做了带项目的组长,再后来,就是现在成功的晋升总监了。而大刘,好几年了却依然在架构师这岗位原地踏步,动弹不得。 大刘陷入了浓浓的迷茫,他自问自己工作态度毫无问题,做事情也兢兢业业。公司的技术攻关,经常也是大刘牵头搞定。公司眼中冷光一闪的技术培训,作为架构师的大刘俨然是一个非常权威的大牛讲师。 就算是老田,也需要时不时去找大刘请教一些技术难题和技术方向。可是,即使这样,在公司技术领域造诣很深的大刘,却依然没有获得进身之阶,被老田压了一头。 大刘没忍住,找了个不忙的日子,拉着老田去了个小饭馆,在饭桌上,大刘就说起了他自己的尴尬处境以及对老田升职加薪的不解。 老田对大刘并没有藏着掖身上一阵阵青色光芒闪烁着,在饭桌上,他和大刘坦诚沟通了他的经验,并列出了他认为他可以升职加薪的一些非常突出的能力。 二人酒足饭饱,大刘回到家后,仔细琢磨深究,他总结了以下几点。 1. 尽量努力的多去阅读别人的代码,越多越好 这点大刘开始并没当回事,可是在和老田沟通的过程中,大刘发现,老田理解的不会认人阅读别人的代码和他理解的阅读代码是两回事。 大刘阅读代码,特别喜欢看那些开源的好代码。跟着文档品读那些开源的优秀代码的卓越之处,每当看到妙处,大刘都觉得学到了新东西,感觉自己技术进步了许多。 但是,当大刘阅读自己公司的各种代码的时候,大刘是相当没有耐心的。他觉得别人代码写的太次了,他把这些代码统统成为“屎山”。 而老田恰恰相反。老实说,老田对市面上各种开源框架的了解水平,对各种中间件的内部原理理解都是远远不如大刘的,经常还需要咨询大刘。 但是,对于公司的各项目代码,老田却是了如指掌,对各项目中的那些代码和问题都是有十分深入的了解。 那么最终升职加薪不是大刘,这是为什么? 二人聊完之后,大刘终于明白了。 首先,公司除了需要大刘的技术能力,更需要的是作为技术专家解决公司实际问题的能力。 由于大刘抵触阅读公司很多项目的代码,所以,往往大刘的某些技术方案在落地的时候会出现脱节。有时候,又由于对项目代码的不理解,甚至没有给出有效的解决方案。 而老田,由于对公司项目代码了解的很深入,虽然技术能力或者说知识面不如大刘,但是却总是能给出最合理的解决方案来。 长此以往,老田反而比大刘更展示出了一位高级技术人员应该具有的能力。 很多程序员和大刘其实是一样的,他们不喜欢自己公司的很多代码,认为这些代码质量极差,文档也非常欠缺,对自己的成长帮助不大。 其实这个观念其实是很有问题的。 对这些所谓“屎山”的代码,你如果全都读进去,研究下去,你起码会有两个好处: 你能具体知道代码烂在什么地方,那么以后你的代码就不会出现同样的问题——由于你知道了烂代码烂在哪里,你一定能写出更好的代码,从而让那些屎山的代码逐渐会被自己写的好代码所替代。这样一比较不知道他还有没有隐藏,你的专业能力会显得非常突出,让更多的人认可你这位架构师的能力。 你对公司这些代码读的越多,掌握的越多,你越不可替代——对公司这些代码读的越通透,你越能更快速轻松地把控这些代码,让以后对这些代码的变革变得更容易。而轻松修改、革新这些代码的能力,就会变成你在这家公司不可替代性的重要因素。 所以,各种代码,无论质量好坏,都需要能读懂读通,并且读的越轰隆隆面对恶魔之主多越好。 能读懂读通任何质量的代码,才是真正的掌握了阅读代码的能力。读的越多,则能识别代码质量的能力就越强,将来自己就越能写出更好质量的代码。 2. 能准确判断项目的发展方向 大刘和老田谈的时候,让大刘印象最深刻的就是,老田对项目发展状态的精准判断。 三年前,俩人一起搞了个供公司所有业务项目用的监控系统,目的是解决公司项目错误无法及时发现和处理的问题。 当时,这套监控系统公司要的急,大家匆匆设计了一版,就赶紧赶鸭子上架的做了一版。 技术方案也没花太多心思,怎么快怎么来。搞完之后,大刘觉得这项目以后也就这样了,公司内部项目,既没有发展,也没有什么前景。 可是,如今和老田沟通后,大刘才吃惊的发现,老田居然一直跟着这个项目,并对这项目进行了无数次总结分析和优化。 随着不断地改进,这套项目竟然发展出来了一套非常完备的 APM 系统,使用体验非常不错。公司的商务给客户出解决方案的时候,经常也会连带着把这套监控系统包含到解决方案里。客户的反馈也很好,为公司拿下了更多的订单。 而大刘自己呢,为公司的核心系统设计了一套加上我毁天底层的服务调度编排框架,公司很多系统的底层都依赖于这套框架。 虽然这套框架大刘自己认为写的很棒,但是由于部署复杂,对应的一些辅助工具链也由于大刘的忽视,没有及时开发出来。导致后续的新项目,大家宁肯用一些开源框架自己改进,也不再使用大刘的这套框架。 分析起来,其实这也算是大刘和老田对各自项目的发展判断能力的差距导致的。 老田根据用户反馈和市场行情,他感觉监控系统本身应该是有前途的。并在调研了市面上竞对产品的基础上,让这套监控系统迸发出来了绚烂的色彩。 而大刘,高开低走,写出来一个好框架,但是由于对框架的预期判断错误,加上对用户反馈重视不够,最终导致杀气也越来越强本来应该非常出彩的框架就此沉沦了下去。 3. 去主动管理会议 作为公司比较重要的技术专家,大量的会议是免不了的。 大刘对此非常烦恼,经常因为这些冗长的会议,耽误了许多手头的工作。 特别是,大刘作为架构师,需要大块连续的时间去思考技术难题,解决系统问题,以及考虑新项目的架构设计。但是频繁的会议,把大刘的时间搅和的支离破碎。 对于这个问题永远是最没地位,大刘在饭桌上请教了老田。老田说,他也面对了这些问题,好在他通过一些自己的方法,很大程度缓解了这些问题。 老田做了如下几个事情: 老田对第二天的会议提前和参会各方沟通,开会时间尽量协调到一起,这样老田能腾出一整块儿时间,把当日所有可能的会议都集中开完。后续老田就会有连续的时间去深度工作了。 老田会在开会前一天,把会议内容和可能出现的问题都预先做功课。一方面是防止会议开着开着跑题;二是万一出现争议问题,老田可以列举出来事先准备的技术方案,这样也能加快会议进度。 还有,对于一些不那么重要的会议,老田一定会态度坚决的避开或者指派别人参加。 4. 版本控制工具的熟练应用 这个问题是老田主动和大刘提出来的。 老田发现,对于版本工具使用不当,会耽误开发人员很多时间。而版本控制工具,即使一些工作多年的程序员,往往也经常会使用不当。 这些不当的使用,会造成许多问题。比如,各种各样的代码冲突、版本重叠,莫名其妙的代码丢失。 对此,老田每次负责一个新项目,都会严格指定版本工具的使用规范,会花时间对开发人员统一培训版本工具的使用。同时,也会把各种技巧、注意事项、常用命令整理好,放在内部的共享文档中。 老田的这些举措,在实践中,大大改善了版本控制工具不当使用造成按道理来说的问题。 有一个项目组在规范使用之后,竟然比之前的开发速度快了三分之一。可想而知,这个问题有多严重了。 5. 不要把解决方案复杂化 老田和大刘谈了谈关于技术和技术落地之间存在的问题。 老田和大刘都发现有些程序员特别喜欢炫技,这些炫技某些时候会导致整个系统复杂化,最终产出反而不尽如人意。 老田举了个例子,比如,一套内部使用的资产管理系统,中间有一个需要调用公司其他项目接口的小功能,这种简单的东西交给了一个比较年轻的程序员。 结果这个程序员又是考虑对方接口不稳定的情况,又是考虑这个功能会有使用过度频繁的情况,还使用了缓存去储存一些状态,防止频繁调用数据库。 对于这种情况,从纯技术角度,当然会鼓励人们想的越全面越好。但是,在实际落地的时候,你要明白他们要攻打这只是一个公司内部使用的小项目,没必要为了各种概率很低的风险,把明明很小的一个功能给做的很复杂。 针对这种问题,就需要技术 Leader 及早发现、介入,防止出现过度设计、过度开发。 6. 把任务安排的井井有条 老田其实和大刘一样,每天杂事儿很多,每天的任务也很多。大家对这些任务的管理能力自然就有高有低。 老田对于任务紧急程度的判断都是经过深思熟虑、实际分析过的,任务之间的先后顺序,也和任务交付人认真沟通过。对一些根本没必要的任务,老田会态度坚决的对这些任务说 No。 大刘自我总结,他这方面做的不好。首先,他安排任务容易被任务交付人的情绪影响,对方催的急,他就优先安排。其次,任何任务大刘都没有拒绝过,顶多是排期靠后。最后,大刘没有考虑任务和任务之间的关系,有些任务之间是关联的,完全可以融合一起搞定,大刘却没有思考,从而割裂开安排,这也是很大的问题。 比如上次,大刘接到两个任务:1、去掉 VMware;2、MQ 版本升级。 这两个任务都需要业务系统停服才能干,大刘当时也没在意,两个任务放在两天,连续两天停服,虽说每天停的不要让对方有援军出现在星主府时间不长吧…… 这俩任务完全可以放在一起,利用一次停服集中解决。这样应该也有黑蛇了对用户影响更小,业务部门也不会那么不满。 7. 不要死板的写代码 很多程序员知识面很宽,基本功也非常扎实。但是,有一种能力,是学校教不出来、面试也不容易看出来的,就是代码能力。 所谓的代码能力,有的是指写代码不出 Bug 的能力,有的是指算法落地能力……但这里想说的,是不写死板的呆代码的能力。 这是什么意思呢? 我们都知实力太弱了道,程序员少不了要维护老项目。在维护项目的时候,我们面对各种不断的新需求,经常要去修改代码。 修改代码是个很危险的事情,因为我们修改的代码往往会和别的功能耦合住。改了一点代码,结果影响一大片功能的情况经常出现。最虐心的是,这种连带影响可能不会马上出现,不知道哪天就突然冒出来折腾一把。 如果改代码经常出问题,这谁扛得住啊!别说你自己的技术话语权了,也别说在职场脱颖而出了,工作能不能保得住都不好说。 所以,对于修改代码的事情,我们需要学会的是不要写呆代码。再说的直白点就是,你不能写完代码运行下没问题就觉得正常了,你在写代码之前需要好好思考。 这种思考,既不是什么搞设计模式松耦合,也不是搞功能切分独立成块。这种思考本质是需要你写代码前去理解业务,去真正明白业务在实际是怎么运作的。 简单说两个例子: 7.1. 修改完代码后,用户会怎么使用你现在修改的功能? 比如,你修改了注册功能,可以兼容第三方登录。那么,可能有的老用户会重新注册一个账号,以方便第三方登录。那你对这种情况,其实该做的是绑定,而不是让用户重新注册个新账号。 这种疏漏,等到上线之后才发现就晚了。这不能完全依赖产品经理,作为一个技术人员本来就应该对自己的功能做通盘的考虑,这才是真正的负责。 7.2. 你现在修改的功能,会不会由于运营需要,会换成你完全没想过的用法? 比如,你搞一个用户充值功能。本来你只是想着用户游戏内购直接充值即可。但是,在实际上线后,有时候运营为了方便 vip 客户或者为了和第三方渠道互换资源,也会使用这个充值功能。 运营大批量的连续充值,并且这些充值转换成系统中的货币,就像游戏中的元宝,就有可能超出 Java 中的整数上限,从而造成问题。如果你提前知道用户、运营人员都是怎么使用这个功能的,你就会把数据类型修改成 Long 了。 类似的例子有很多,老田还虽然达到了中级散神要继续说下去的时候,大刘给他打断了,“扎心了,你说这些坑我没少掉进去。” 后记 通过和老田沟通,大刘知眉头皱起道自己的问题出在哪了。他明白了,技术只是技术人员的基础,在实际工作中想脱颖而出,除了要有过硬的技术,还需要你的态度、你的各种软实力,需要你把技术转化为实际生产力的能力。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

                  架构师社区 架构师 技术总监

                • Microchip发布可信平台设计套件(TPDS)加速嵌入式安全部署,向第三方开放生态系统

                  Microchip发布可信平台设计套件(TPDS)加速嵌入式安全部署,向第三方开放生态系统

                  2019年,Microchip Technology Inc.(美国微芯科技公司)发布了用于CryptoAuthentication?系列的Trust Platform(可信平台),这是业界首个基于硬件的安全元件预配置解决方案,旨在帮助各种规模的企业以简便方式实现安全认证。Microchip今日宣布推出可信平台设计套件(TPDS)的最新增强版,进一步丰富产品阵容。TPDS是一款专门用于设备配置和加入Microchip嵌入式安全预配置服务的软件平台。 TPDS第2版(v2)软件使Microchip合作伙伴能够将用例添加到丰富的安全解决方案入网(onboarding)生态系统,进一步扩大了开发者在部署一流安全方面业已非常广泛的选择。TPDS第2版现在还支持其他安全解决方案,如首款用于汽车市场的加密配套设备TA100。 简化开发 一个有经验的固件工程师可能需要几个月的时间来确定一个应用的威胁模型,以及开发一个包括安全认证、安全启动、IP保护等所有必要措施的安全用例。其中涉及的两个主要挑战在于配置设备的安全边界和预配置密钥,包括私钥以及对称密钥和其他形式的密钥数据。 TPDS软件飞马将军一愣通过提供预先定义的用例来解决最常见的市场要求,从而简化了开发过程。它可与三个可信平台流程中的两个一起使用——Trust&GO和TrustFLEX。这些方案使新的安全项目能一击够在几分钟内通过TPDS v2建立原型,同时根据客户的部署规模、用例要求和所需要的定制程度提供选择: · Trust&GO——设备是预先定义和预先配置的现货,用于基于TLS和LoRaWAN网络的安全云认证,最小可订购量(MOQ)仅为10台起订。 · TrustFLEX——客户可通过默认的通用证书或专用证书(自定义PKI)来使用此方案的预配置设备,同时支持比Trust&GO方案更广泛的预定义使用案例。 为了满足最苛刻的使用情况,Microchip的TrustCUSTOM系列让客户可以自由地完全定义安全认证配置和完全定制安全密钥存储。 借助完全集成的配置入网(onboarding)流程,TPDS v2软件允许客户选择安全解决方案,验证用例,制作原型,然后开始安全预配置过程,所有这些都只需几个简单步骤。 Microchip安全产品业务部副总裁Nuri Dagdeviren表示:“我们的TPDS v2软件通过将安全最佳实践融入直观和简化的流程,使开发人员能够轻松遵守现有标准和即将出台的嵌入式系统安全法规。我们将继续通过可靠的硬件和安全解决方案,帮助客户加快产品上市并赢得长期业务。TPDS还将支持Microchip安全解决方案在安全元件之外的入网(onboarding)和预配置服务。” 第三方集成 TPDS v2的最大优势之一是,它使第三方合作伙伴能够添加自有用例,丰富了客户对安全元件入网和安全功能的选择。Microchip合作伙伴之一EBV Elektronik(安富利集团)使TPDS v2用户能够通过ATECC608B TrustFlex配置,使用EBV-IoT“安全盾牌”评估工具包快速、安全地连接到安富利IoTConnect云。欲了解更多信息请点击这里。 EBV Elektronik技术开发副总裁Antonio Fernandez表示:“我们与Microchip有着紧密的合作关系,非常高兴能够成为可信平台设计套件v2计划的一部分,使所有客户在芯片和云端都能获得可扩展的安全性。采用最佳实践是实现我们为所有客户提供最佳安全平台共同目标的重要一步。我们相信,TPDS的增强功能提供了最简单、最经济的方式,让我们得以继续位于行业前列,助力客户部署一流的解决方案。” TPDS v2软件工作原理 可信平台设计套件V2使用户能够: · 通过培训视频和适用于各类用例的交互式应用笔记,实现安全入网; · 根据选定用例开发应用程序,最终确定安全解决方案的配置,执行秘密密钥交换; · 采购验证样本并开始生产。 开发工具 可信平台设计套件支持Windows®和macOS®环境。TA100配置器仅适用于Windows平台。 供货与定价 Microchip的开源可信平台设计套件(TPDS)可在Microchip网站免费下载,用于Trust&GO和TrustFLEX流程。网站还提供培训视频、互动应用笔记、C代码和其他项目支持。用于TPDS的TrustCUSTOM软件扩展可在签署NDA的条何林连忙低头件下提供,可通过Microchip直销网站购买,单价为20美元。 如需了解更多信息,请联系 Microchip 销售代表、全球授权分销商或访问Microchip网站。

                  Microchip Microchip 嵌入式 TPDS

                • 魔幻!2021年,6种将死的编程语言?

                  随着编程语言的更新迭代,编程界语言排行榜又要面临一次全新的洗牌,六大编程语言将要黄了!此消息一眼睛一亮出,令众多程序员心碎!那么这将“亡”的六大语言中有你所擅长的吗?? ?壹?dashuju Perl 曾几何时,几乎每个人都在使用Perl语言编程。但是那些经常使用的人慢慢地发现,关于这个Perl语言似乎总是有点不对劲。至少我知道有这么个叫做“piecemeal”的编程语言,它的创造者似乎就只是将这个功能堆在另一个功能上面而已,并没有好好考虑将它们结合在一起。 事实上,甚至是它的创造者也不得不承认这种编程语言是有问题的。经过完整地改造之后,现在的开发工作开始倾向于使用Perl6,这个大概是在2000年的时候。至于Perl?俨然已经销声匿迹了!所以完全没有必要去学习它了。顺便说一句,下面这个“Goodbye World”就是用Perl写的: #!/usr/bin/perlprint “Content-type: text/html\n\n”;print “Goodbye, world!\n”; 上面这个例子会出来一个网页。现在的Perl,由于可以作为CGI脚本语言,所以使用的最广泛的是在生成web页面上。但是为了适应时代的变化,我们最好还是将Perl语言“弃之如敝履”。 ?贰?dashuju Haskell 据说,Haskell 即将在今年进行重大更新。有很多巨头公司和项目(Facebook、GitHub 等)曾经使用 Haskell 开发过一些重要项目。不过,Haskell 在 RedMonk 语言排行榜上的表现一直都很平淡,这表明没有更多的开发者在关注这门语言。它要死了,还是已经死了? 另外一种声音: 在以前的Haskell 用户调查 中,我们可以看到下面五大亮点: 1.Haskell 社区已经开始更加多样化和专注于项目,虽然 Haskell 一直以来以“仅限科学家”著称。 2.Haskell 不仅被用于混合语言项目,还被用于构建完全用 Haskell 编写的端到端解决方案。3.Haskell 社区被认为能给用户提供许多支持。 4.Haskell 在商业环境,特别是 FinTech 中的应用日益增多,但在网络安全和电子商务方面的应用规模仍较小。 5、在过去三年中,Haskell的工具已经有了很大的改进,Stack和Cabal等工具已有大约80%的用户使用。 对于两种声音你们怎么看? ?叁?dashuju Ruby 关于Ruby,可以这么唱“十年之后,我不认识你你不属于我……”。因为就在10年前,Ruby语言可谓是风靡一时。它出生于1995年,5年左右达到它的鼎盛时期。如果你经常使用的话,绝对会义无日后绝对是前途无量反顾地爱上它。但是,像我们这些学着C语言风格长大的孩子在学习Ruby时往往会觉得有点囧。 下面是用Ruby写的“Goodbye World”: puts ‘Bye bye, Miss American Ruby! Drove my Chevy to the Levie…’puts ’2011 was the day that Ruby died, yeah…’ 下面是一个用于计算阶乘的例子: def fact(n) ?if n == 0 ? ?1 ?else ? ?n * fact(n-1) ?endendputs fact(ARGV[0].to_i) 我测试了这个例子,来计算1000的阶乘。下面是结果(由于篇幅限制,中间略过了2569个数字): ruby fact.rb 100040238726007709377354370243392300…0000000 从各方面来看,Ruby都很好,几乎是一片赞誉声……除了Twitter。在2011年4月,Twitter宣称他们已经将几乎大部分的代码都改写过了,以便不必使用Ruby和它的web框架——Ruby on Rails,据他们所说这个平台非常之低效。不过,我想说的是,也正是那一天起,Ruby开始走下坡路,使用的人数也是越来越少。 ?肆?dashuju Visual Basic.NET 十年前,我应聘到一个需要重写大量代码的公司,名字我已经忘记了,主要工作就是将VB6转换为Visual basic.NET。大概就只干了一两个月吧,我就跳槽了:真心太痛苦了。 微软钟爱于BASIC编程语言的扩展可以一路追溯到1991年,那时他们刚刚采购了来自Alan Cooper的一个非常酷(对于那个时候而言)的可视化编程设计。Alan Cooper初期使用的是别的编程语言,但是比尔盖茨让他换成BASIC语言,因为盖茨认为那是当时最为简单的编程语言。于是乎,大名鼎鼎的Visual Basic,就从BASIC中衍生出来——对象这一概念以及新的编程技术问世了。 后面又发生了一些很有意思的事情。Borland Delphi的创造引领者,Anders Hejlsberg也到微软工作,并且引领创建了一个新的编程语言——C#。这种编程语言非常类似于Java语言。刚开始的学习或许有点难,但是一旦上手,你绝对会对它爱不释手。C#很快就成为了微软的旗舰编程语言。现在的话,在软件行业中,有很多很多需要C#的工作岗位,不少都是高薪聘用的。 虽然针对自己的CLR运行,微软创建了C#,但是它的工程师们另外还创建了一个盖茨深爱的BASIC语言版本,命名为Visual Basic.NET。该编程语言借用了BASIC语言的语法,但是它的编码方法却与C#相似。虽然Visual Basic.NET也在发展,但是优胜劣汰总是不可避免的——大家都选择了C#,于是Visual Basic.NET就成为了明日黄花。 下面是摘自微软网页上的一段Visual Basic.NET程序: ‘ Allow easy reference to the System namespace classes.Imports System‘ This module houses the application’s entry point.Public Module modmain ? ‘ Main is the application’s entry point. ? Sub Main() ? ? ‘ Write text to the console. ? ? Console.WriteLine (“Hello World using Visual Basic!”) ? End SubEnd Module (这里的“Hello World”也可以替换成“Goodbye World”,这个没关系。 ?伍?dashuju Adobe Flash和AIR 从技术上讲,这些都是平台,而非编程语言。我之所以将它们包含进来是因为如果你想要使用它们,就必须安装Adobe自己的ECMAScript版本,即ActionScript。ActionScript是JavaScript(当前最流行的编程语火镜目光一闪言之一,因为它能用于所有的浏览器)的一个近亲。ActionScript在ECMAScript(这是JavaScript实现标准的官方名称)中增加了一些细节;但是除了Adobe Flash,其他地方几乎没有ActionScript的用武之地。 你使用Flash不?乔布斯非常讨厌它,并且也不允许iPhone使用它。然后随着iPhone(以及随后的iPad)的逐渐普及,Web开发人员不得不创建不必依赖于Flash的网站。那些以ActionScript为生的开发人员也不得不纷纷下岗。(我曾经看到过一个Flash开发人员指责另一个JavaScript开发人员毁了他的职业生涯。) Adobe也曾试图通过AIR以求得其编程平台的一线生机,于是配建了一个用于构建AIR app的工具,称为Flex。至于AIR,许多人都说,这是一场灾难。不过我们目前也不知道为什么Adobe会推出AIR,可能是想用AIR取代Flash?也可能是想要AIR和Flash相亲相爱共同发展? 记得有一段时间,得益于Twitter平台——TweetDeck(要求用户在电脑上安装AIR运行时)的使用,AIR很是红火了一阵子。那时大概有数以百万计的pc AIR应用被开发出来,只是后来Twitter在2011年买了TweetDeck之后,又改写本地代码取代了AIR。于是乎,AIR的辉煌就到此为止。 随着Flash和AIR的逐渐逝去,Adobe的ActionScript也开始向世界吻别。下面是一些用ActionScript写的代码示例。 package {import flash.display.*;import flash.text.*;public class HelloWorld extends Sprite { ? private var greeting:TextField = new TextField();public function HelloWorld() { ? ? greeting.text = “Hello World!”; ? ? greeting.x = 100; ? ? greeting.y = 100; ? ? addChild(greeting); ? } }} (你可能会发现这与JavaScript非常相似,都使用var、function和new,并且也使用小数点来访问成员变量。) ?陆?dashuju Delphi’s Object Pascal 首先我得向我曾经的好伙伴Delphi表示歉意,因为我不得不公布Object Pascal的“死讯”。well,Delphi(用于发Object Pascal的工具)历经变迁之后,依然苟延残喘着(它起源于Borland公司,现在抱着Embarcadero公司的大腿)。 早先Delphi和它的Object Pascal语言确实给我们提供了一个良好的工作环境:虽然有点啰嗦,但是编译器很快,而且相比Visual Basic(这里指的是pre-Visual Basic.NET,1995年左右),创建Windows程序更容易。 但是它的优势并没有持续下去。也很难说是什么原因,因为这个平台真心是不错的。就在这时,Borland公司开始在其Delphi的产品线上支持C#和C++。发展到后来,Borland公司甚至直接将Delphi卖给了Embarcadero公司,然后Embarcadero公司继续使用Delphi开发产品。话说,它做得相当不错,但是重点再也不是Pascal了。当然,你依然可以用Pascal编程,但是几乎没人走这条路了。事实上,我们可以使用Delphi建立许多不同的平台,包括iOS、Android,以及Linux操作系统。 但是,如果你去Embarcadero公司的网站看看,你会发现他们主要是在促进Delphi’s C++ 的支持。因此,换言之就是,Object Pascal已然逝去了。写到这里,我不禁悲从心来,因为我花了很多很多时间来学习Pascal语言,特别是Delphi’s Object Pascal。但是没办法,现实就是如此残酷,不转行就只能饿死。 下面请看Object Pascal的代码: program HelloWorld;begin ? ?writeln(‘You say goodbye.’) 译者注:以上观点仅代表作者个人观点,请文明礼貌按秩序吐槽。 译文链接:http://www.codeceo.com/article/5-die-programming-language.html英文原文:5 Programming Languages Marked for Death翻译作者:码农网 –?小峰 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

                  架构师社区 嵌入式 编程 C语言

                • 百度一 29 岁程序员因使用CURL命令“篡改数据”被判有期徒刑一年九个月

                  整理 | 王晓曼 出品 | 程序人生 (ID:coder _life) 近日,中国裁判文书而另一个则汇聚了无数雷霆本源网公布了一起非法控制计算机信息系统、给赌博网站“大开方便之门”的案件,涉及金额达374万元。据案件显示,在百度时代网络技术(北京)有限公司担任研发工程师的陈某,出生于1992年,利用其职务之便,超越权限,通过篡改数据、编写脚本等方式,违规通过了735个媒体网站账号加入“百度联盟”的申请,致使公司374万元广告分成遭到损害。 经查,陈某在2017年9月至2018年3月的半年间,以审核每个网站300元的价格,据此收受他人给予的人民币235935.4元。 1,为“挣外快”,92年程序员被“拉下水” 根据裁判文书显示,2015年9月16日,陈某入职百度时代网络技术(北京)有限公司,担任研发工程师,所在部门为展示广告平台部的union团队,主要负责展示广告平台部流量端系统的开发工作,权限范围是百度联盟流量端系统的功能开发以及日常上线与维护。 陈某负责该系统的开发与维护工作,无权审核媒体资质,也没有权限对媒体审核服务器计算机系统程序里的数据进行非研发、调试和维护性需要的修改。 2017年8月,自称刘某的男子通过微信联系到陈某,称有“私活”可以“挣外快”,问其能否做快速审核(审核网站是否能有资质承接百度联盟广告),但被陈某拒绝了。 没过多久,刘某从哈尔滨到了北京,在对外经贸大学附近一个饭馆约陈某吃饭,说还是想做审核网站的事情,需要使用百度在职员工的权限,帮助其快速通过审核网站。 这一次,陈某动摇了。他找刘某要了9000元钱,审核每个网站300元,共审核30个。 2,程序员改当“审核员”,篡改数据违规“开绿灯” 百度公司进行网站审核的正常方式是审核部门的员工,依据联盟业务审核标准,对百度联盟风险防控平台待审核联盟潜在客户进行审核。联盟的网站需要通过两道审核,方可上线。 正常流程是客户提交网站先过机器审核策略,机器审核策略过滤掉问题网站(如包含无ICP备案,网址打不开等情况的),将没有触犯机器审核策略的网站推送至人工待审列表中,最终上线需要经过人工审核。 按照流程,百度公司与任何媒体进行广告合作,应该首先由媒体通过流量端系统进行登记网站信息,而后由公司业务审核部门员工进行审核,对符合合作标准的媒体才能通过审核,这些合作媒体后续才能通过百度系统投放线上百度接入的广告,从而获得百度公司的广告分成。 但陈某就职于展示平台广告部,工作职责不包括审核工作。 据裁判文书显示,陈某违规登录联盟风控平台篡改了待审核客户的状态,将不能通过审核的网站直接变更为审核通过状态,从而直接上线。 陈某使用的其中一种方式是通过CURL命令调用流量端系统的媒体审核接口,另一种是通过编写脚本批量操作的方式调用了流量端系统的媒体审核接口,从而篡改数据。 据悉,经过陈某走“绿灯”通过的网站内容,甚至涉及到赌博、彩票等业务。 3,事情败露,陈某当场承认违规操作获利 2018年2月27日,百度公司相关部门发现在风控平台审核媒体时,部分媒体无法进行正常审核操作。 经排查发现,这些媒体在UNION平台中是审核通过状态,但这些媒体在风控平台和UNION平台的审核状态不一致,可能存在人工调用审核接口使这些媒体绕过业审,有异常审核通过的情况存在; 进一步排查分析,发现疑似存在陈某在相关机器上进行了工作职责不相符合的操作,对部分没有经过业审审核的媒体,进行了“媒体审核通过”的操作,异常审核通过的媒体有735个,分成金额3745054元。 2018年3月2日,百度公司相关部门将上述情况以电子邮件形式发送给百度时代网络技术(北京)有限公司职业道德委员会。 公司得知此事后,于2018年3月5日指派相关工作人员找到陈某商谈此事,他当场就承认了通过CURL命令调用流量端系统的媒体审核接口,以及通过编写脚本批量操作的方式调用了流量端系统的媒体审核接口,从而篡改数据,使得部分媒体获利的情况。 公安机关于2018年3月11日接到百度公司报案称公司员工陈某涉嫌破坏计算机信息信息系统犯罪,后于同年4月20日将前往百度公司接受约谈的被告人陈某传唤到案。 4,法院这样判 北京市海淀区人民法院一审认为,陈某违反国家规定,对计算机信息系统中存储、处理的数据进行修改,后果特别严重,其行为已构成破坏计算机信息系统罪,应予惩处。 法院指出,被告人陈某利用其工作便利,在没有得到单位授权,也不是基于对单位计算机信息系统进行研发、维护、调试等工作需要的情况下,而是为了谋取其个人私利,超越其工作权限,采用技术手段擅自调用媒体接口,违规使大量网站通过媒体资质审核,将待审核的数据变更为审核通过的数据,系违规修改百度时代网络技术(北京)有限公司计算机信息系统内所存储、处理的相应分类数据的范围,因此该行为符合破坏计算机信息系统罪中对破坏行为的定义。 鉴于被告人陈某犯罪以后此时主动投案,到案后能如实供述其所犯罪行,系自首,且积极退缴全部违法所得,并赔偿了所在单位因本案而支出的信息技术服务费,亦取得了所在单位的谅解,有较好的悔罪表现,故本院对其依法减轻处罚。 最终,被告人陈某以犯破坏计算机信息系统罪,被判处有期徒刑一年九个月,并没收所有违法所得。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

                  架构师社区 百度 程序员

                • 新东西:KubeSphere 3.1.0 GA

                  2021 年 4 月 29 日,KubeSphere 开源社区激动地向大家宣布,KubeSphere 3.1.0 正式发布!为了帮助企业最大化资源利用效率,KubeSphere 打造了一个以 Kubernetes 为内核的云原生分布式操作系统,提供可插拔的开放式架构,无缝对接第三方应用,极大地降低了企业用户的使用门槛。 KubeSphere v3.1.0 主打 “延伸至边缘侧的容器混合云”,新增了对 “边缘计算” 场景的支持。同时在 v3.0.0 的基础上新增了 计量计费,让基础设施的运营成本更清晰,并进一步优化了在 “多云、多集群、多团队、多租户” 等应用场景下的使用体验,增强了 “多集群管理、多租户管理、可观测性、DevOps、应用商店、微服务治理” 等特性,更进一步完善交互设计提升了用户体验。 云原生产业联盟撰写的《云原生发展白皮书》提到,万物互联时代加速了云-边协同的需求演进,传统云计算中心集中存储、计算的模式已经无法满足终端设备对于时效、容量、算力的需求,向边缘下沉并通过中心进行统一交付、运维、管控,已经成为云计算的重要发展趋势。 面对这一发展趋势,KubeSphere 与 KubeEdge 社区紧密合作,将 Kubernetes 从云端扩展至边缘,以统一的标准实现了对边缘基础设施的纳管。通过与 KubeEdge 集成,解决了边缘节点纳管、边缘工作负载调度和边缘可观测性等难题,结合 KubeSphere 已有的多集群管理将混合多云管理延伸至边缘侧。 并且,v3.1.0 得到了来自青云 QingCloud 之外的更多企业与用户的贡献和参与,无论是功能开发、功能测试、缺陷报告、需求建议、企业最佳实践,还是提供 Bug 修复、国际化翻译、文档贡献,这些来自开源社区的贡献都为 v3.1.0 的发布和推广提供了极大的帮助,我们将在文末予以特别致谢! 解读 v3.1.0 重大更新 KubeSphere 3.1.0 增加了计量计费功能,支持集群、企业空间的多层级与多租户在应用资源消耗的计量与统计。通过集成 KubeEdge,实现应用快速分发至边缘节点。同时还提供了更强大的可观测性能力,如兼容 PromQL、内置主流告警规则、可视化对接钉钉、企业微信、Slack 和 Webhook 等通知渠道。DevOps 的易用性在 3.1.0 也上了一个台阶,例如内置多套常用流水线模板,支持多分支流水线和流水线复制等,关于重大更新详情请查看文末海报。 多维度计量计费,让 K8s 运营成本更透明 在企业运营和管理 Kubernetes 容器平台时,通常需要分析资源消耗,查看集群及其中租户的消费账单,洞察资源使用情况,分析基础设施运营成本。 在 KubeSphere 3.1.0 中,可从多个维度来分析平台资源消耗: 从集群维度,可查看每个集群资源消耗,深入到节点中分析运行的工作负载,精准规划每个节点中工作负载的资源使用状况。 从企业空间维度,可查看每个企业空间资源消耗,获取企业空间中项目、应用、工作负载的消费账单,分析多租户环境中各个租户的资源使用是否合理。 另外,除了可以通过界面查看和导出数据,KubeSphere 计量计费平台也提供了所有操作的 API。接下来在后续的版本里,会持续加强并构筑端到端完整的计量计费可运营系统。 边缘节点管理 KubeEdge[1] 是一个开源的边缘计算平台,它在 Kubernetes 原生的容器编排和调度能力之上,实现了 云边协同、计算下沉、海量边缘设备管理、边缘自治 等能力。但 KubeEdge 缺少云端控制层面的支持,如果将 KubeSphere 与 KubeEdge 相结合,可以很好解决这一问题,实现应用与工作负载在云端与边缘节点进行统一分发与管理。 这一设想在 v3.1.0 中得一个小小以实现,KubeSphere 现已支持 KubeEdge 边缘节点纳管、KubeEdge 云端组件的安装部署、以及边缘节点的日志和监控数据采集与展示。结合 KubeEdge 的边缘自治功能和 KubeSphere 的多云与多集群管理功能,可以实现云-边-端一体化管控,解决在海量边、端设备上统一完成应用交付、运维、管控的需求。 强化微服务治理能力 KubeSphere 基于 Istio[2] 提供了金丝雀发布、蓝绿部署、熔断等流量治理功能,同时还支持可视化呈现微服务之间的拓扑关系,并提供细粒度的监控数据。在分布式链路追踪方面,KubeSphere 基于 Jaeger 让用户快速追踪微服务之间的通讯情况,从而更易于了解微服务的请求延迟、性能瓶颈、序列化和并行调用等。 KubeSphere 3.1.0 对微服务治理功能进行了强化,将 Istio 升级到了 1.6.10,支持图形化流量方向检测,图像化方式显示应用流量的流入/流出。同时还支持对 Nginx Ingress Gateway 进行监控,新增 Nginx Ingress Controller 的监控指标。 多云与多集群管理 虽然 KubeSphere 3.0.0 带来的多云与多集群管理提供了面向多个 Kubernetes 集群的中央控制面板,实现了应用跨云和跨集群的部署与运维,但 member 集群管理服务依赖 Redis、OpenLDAP、Prometheus 等组件,不适合轻量化部署。KubeSphere 3.1.0 移除了这些依赖组件,使 member 集群管理服务更加轻量化,并重构了集群控制器,支持以高可用方式运行 Tower 代理服务。 更强大的可观测性 可观测性是容器云平台非常关键的一环,狭义上主要包含监控、日志和追踪等,广义上还包括告警、事件、审计等。3.1.0 除了对已有的监控、日志、告警等功能进行优化升级,还新增了更多新特性。 监控:支持图形化方式配置 ServiceMonitor,添加集群层级的自定义监控,同时还实现了类似于 Grafana 的 PromQL 语法高亮。 告警:在 v3.1.0 进行了架构调整,不再使用 MySQL、Redis 和 etcd 等组件以及旧版告警规则格式,改为使用 Thanos Ruler 配合 Prometheus 内置告警规则进行告警管理,兼容 Prometheus 告警规则。 通知管理:完成架构调整,与自研 Notification Manager v1.0.0 的全面集成,实现了以图形化界面的方式对接邮件、钉钉、企业微信、Slack、Webhook 等通知渠道。 日志:新增了对 Loki 的支持,可以将日志输出到 Loki [3]。还新增了对 kubelet/docker/containerd 的日志收集。 更易用的 DevOps KubeSphere 3.1.0 新增了 GitLab 多分支流水线和流水线克隆等功能,并内置了常用的流水线模板,帮助 DevOps 工程师提升 CI/CD 流水线的创建与运维效率。大部分场景下可基于流水线模板进行修改,不再需要从头开始创建,实现了真正的开箱即用。 灵活可插拔的集群安装工具 KubeKey 不仅支持 Kubernetes 1.17 ~ 1.20 在 AMD 64 与 ARM 64 的安装,还支持了 K3s。并且,Kubekey 还新增支持 Cilium、Kube-OVN 等网络插件。鉴于 Dockershim 在 K8s 1.20 中被废弃,Kubekey 可用于部署 containerd、CRI-O、iSula 等容器运行时,让用户按需快速创建集群。 运维友好的网络管理 KubeSphere 将 IaaS 云平台强大的网络能力继承到容器云平台,让用户在 Kubernetes 之上获得与 IaaS 一样稳定、安全和易用的网络使用体验。v3.1.0 新增了网络可视化拓扑图,你可以通过拓扑图洞悉各个服务之间的网络调用关系。 鉴于 Calico 是目前最常用的 Kubernetes CNI 插件之一,v3.1.0 现已支持 Calico IP 池管理,也可以为 Deployment 指定静态 IP。此外,v3.1.0 还新增了对 Kube-OVN[4] 插件的支持。 完全开源:社区化与国际化 借助于开源社区的力量,KubeSphere 迅速走向全球,目前 KubeSphere 在全球的 90 多个国家和地区有超过 10w 下载量。v3.1.0 Console 支持中、英、繁中和西班牙语,KubeSphere 未来将进一步拓展海外市场。 KubeSphere 3.1.0 将继续秉承 100% 开源的承诺,3.0.0 版本带来的诸多新功能也早已在 GitHub 开源,例如 Porter[5]、OpenPitrix[6]、Fluentbit Operator[7]、 KubeKey[8]、KubeEye[9]、Notification Manager[10]、Kube-Events[11],还开源了一套前端组件库 Kube Design[12],这些新特性的代码与设计文档在 GitHub[13] 相关仓库都可以找到,欢迎大家在 GitHub 给我们 Star + Fork + PR 三连。 安装升级 KubeSphere 已将 v3.1.0 所有镜像在国内镜像仓库进行了同步与备份,国内用户下载镜像的安装体验会更加友好。关于最新的 v3.1.0 安装与升级指南,可参考 KubeSphere 官方文档[14]。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

                  小林coding 开源 KubeSphere

                • 20年前毁誉参半的网游《传奇》,背后是怎样的故事?

                  这款游戏的背后,是 陈天桥白手起家,缔造中国网络游戏产业的神话传说,从娱乐帝国到投资公司,从游戏向人脑探索, 从人生的巅峰,到如今黯淡离场,这位曾经在商业界叱咤风云的企业家陈天桥的一生颇具传奇色彩。 1 在他年少的时候,就已崭露头角,成绩总是名列前茅,能够轻松掌握所学知识,生成自己独到的见解,是大家口中“别人家的孩子”。 在复旦上学期间,他也丝毫没有懈怠。面对周围来自全国各地的优秀人才,他变得更加积极勤奋,学习了大量的经济学知其中一道人影就是抓住了前方飞速逃窜识,这同时也为以后创业打下了良好的基础。 毕业之后,他进入了上海陆家嘴集团,担任董事长的秘书职位。刚入职,他就很快地适应了工作内容,迅速掌握了公司的运营模式。 日复一日的工作让陈天桥觉得十分枯燥,拥有着过人能力的他不甘于此,渴望去更大的地方施展自己的才能。 当时互联网刚刚兴起,网络游戏的市场仍处于一片空白,陈天桥通过一番分析和调查,决定要搭上网络游戏这股热潮。 陈天桥对于游戏虽然一窍不通,仅仅凭借的是自己对于市场的敏感度而坚持开设了盛大网络。 2000年,盛大网络幸运地得到了中华网的300万美元投资。这时,陈天桥在得到了一笔资金后,逐渐产生了将盛大网络打造为“网上迪士尼”的想法。 他想打造一个属于盛大的动画IP,为此特地买下了《黑猫警长》的版权,可因公司的种种问题,后来便放弃了这个计划。 到了2000年年底,互联网行业进入了寒冬。陈天桥眼看着公司濒临破产,满心焦虑,试图寻找能够解决公司危机的办法。 偶然中,陈天桥发现了一款韩国游戏开发商Wemade的热门游戏《传奇》想要打入中国市场,正在寻找代理商。 并且最后给陈天桥下了命令:如果盛大执意要代理游戏而就在这时候,那么中华网将撤回投资。 陈天桥却很执着,十分相信自己的选择,花费了30万美元买下了《传奇》在中国的代理权。从此,盛大网络和中华网也一拍两散。 《传奇》让盛大网络起死回生,使它度过了最艰难的一段时期。可以说,陈天桥的眼光并没有看错,凭着他的“冒险精神”让盛大成为了我国网络游戏产业界的霸主。 2 之后盛大网络相继代理了《泡泡堂》、《冒险岛》、《疯狂坦克》等多款游戏,深受国民欢迎,公司也逐渐开始回暖。 2004年,盛大决定在纳斯达克上市。上市后的盛大名声大噪,成为了全国市值排行榜第二名的中国互联网企业。 他仅仅用了5年时间,就登上了中国的首富宝座,也是用时最短的中国首富。彼时的他风光无限,无人不羡慕。 当时的盛大可谓是如日中天。盛大在给陈天桥带来巨大盈利的同时,也带来了一系列的舆论与质疑声。 当时发生了一件轰动一时的事件:一名男性青年手里拿着一瓶汽油和一个打火机冲进了盛大,打算自焚,多亏员工及时把火扑灭,才没有导致灾难发生。 之后,《今日说法》还报道了15岁孩子因《传奇》杀人的事件。名为龙龙的15岁孩子,因为迷恋《传奇》这款游戏便和另一个小孩子起了争执,龙龙一怒之下买了一把刀杀死了另一个孩子。 对陈天桥的舆论铺天盖地席卷而来,大众称他为“电子鸦片贩卖者”,甚至连中央电视台也展开调查,将《传奇》公开指责其为残害青少年的“精神鸦片”。 面对无休止的辱骂和指责,陈天桥一下从云端跌至谷底,在巨大压力下被迫关闭了游戏。 陈天桥思前想后,想出了一个所有人都极力反对的转型战略——盛大盒子,即把电视升级为网络终端,使用户通过电视享受互动娱乐存在了和资讯。 陈天桥孤注一掷,在这个计划中投入了将近10亿美元。然而由于其业务触碰到了太多壁垒,被广电总局点名指为违规,项目无奈遭遇夭折,这个耗资巨大的项目也寿终正寝了,盛大因此也失去了网游大佬的地位。 3 2008年,盛大在收购起点中文网的基础上成立了盛大文学公司,后来又投资红袖添香网、收购晋江原创文学网……盛大文学几乎占据了整个网络文学的市场份额。 经历了上市搁浅后,盛大文学的核心团队开始上演“出走”戏码。盛大文学总裁吴文辉递交了辞呈,之后20多名起点的作者、编辑纷纷出走。 面对内外交困的局面,盛大文学CEO侯小强面临着巨大的压力,逐渐精神崩溃,患上了抑郁症,不得不选择告病离职。 如今,盛大游戏日渐衰老,盛大文学也节节溃败,盛大集团已经不能挽回颓势。 谁知,陈天桥却突然经历了人生的最大变故。迫于无奈,陈天桥将盛大公司私有化,出售了自己在盛大的股份,盛大最终也没有成为他期望中的“网络迪士尼”。 再一次把陈天桥推向风口浪尖的是在2015年。他在这一年中从公司里套现88亿美元前往美国发展,但是他之后做的事情却激起了中国人民的愤怒。 陈天桥的行为引起了轩然大波,遭到了许多人的口诛笔伐。质问他身为中国人,为何愿意花钱给美国,却不愿意拿这钱帮助中国来进行科学研究。 后来他意识到自己的言论不太恰当,又补充道:他创办的脑科学研究院,如果能有技术成果的话,将来可以造福全人类。 但与之相对的是,我国著名神经科学专家对陈天桥的行为进行了肯定,他认为陈天桥没有选择国内的机构,其中恐怕也是有很多原因的,但是对科研事业的重视是值得称赞的。 1998年,陈天桥在股市赚到50万的第一桶金,31岁时又一跃成为最年轻的中国首富,这个在商业界叱咤风云的企业家一手缔造了白手起家的创业神话。 然而,历史的车轮总是滚滚向前发展,一切随着陈天桥隐退后,盛大几乎消失在中国互联网巨头的队伍中。 也许正如他所说:“我不想重复自己做的事情,30岁做的事情如果40岁还在做,我会觉得自己的人生很失败,我的梦想是一直向前看。” 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

                  程序员小灰 互联网 网游

                首页  上一页  1 2 3 4 5 6 7 8 9 10 下一页 尾页
                发布文章