SegmentFault 最新资讯 2021-02-20T12:10:07+08:00 http://www.tvxinternet.com/feeds/questions http://www.creativecommons.org/licenses/by-sa/2.5/rdf IBM壮士断臂砍掉前AI明星的沃森业务,全力发展混合云 http://www.tvxinternet.com/a/1190000039237783 2021-02-20T12:10:07+08:00 2021-02-20T12:10:07+08:00 宗恩 http://www.tvxinternet.com 1 <p><img src="/img/remote/1460000039237785" alt="" title=""></p><p>来自外媒消息,据知情人士透露 IBM 即将出售 IBM Watson Health(沃森健康) 业务,目的是精简公司,并提升其在云计算领域的竞争力。最大的可能是出售给一家私人股权公司或行业参与者,不过也有可能以 SPAC (特殊目的收购公司)方式合并上市。</p><p>IBM Watson Health 的主要业务是采用人工智能帮助医院、保险公司和药品制造商管理数据,年收入约为10亿美元,但目前还没有盈利。其旗下品牌包括分析乳房X光检查和核磁共振成像的Merge Healthcare、协助患者沟通的Phytel以及分析复杂医疗数据的Truven Health Analytics。</p><h2>在比赛中名声大噪</h2><p>IBM Watson Health 最出名的产品当属人工智能 「沃森」,2011年「沃森」参加节目危险边缘(Jeopardy),这是该节目有史以来第一次人与机器对决,「沃森」在比赛前两轮中与对手打平,最后一场 「沃森」打败了最高奖金得主布拉德·鲁特尔和连胜纪录保持者肯·詹宁斯,赢得了第一笔奖金100万美元。</p><p>虽然沃森如此引人注目,但他的商业化发展却让人失望,虽然努力在肿瘤学和基因组学在内的领域取得了进展,但它从未成为IBM的凝聚力业务,并且近年来失去了几位关键的高管。IBM Watson Health的失败还有一个很重要的原因,就是无法说服医生们采用人工智能。</p><h2>全力发展混合云</h2><p>随着IBM等云计算竞争对手微软、亚马逊等公司的估值飙升至10倍以上,IBM已经被远远甩在身后。去年IBM任命曾负责公司云计算和认知软件部门的 Arvind Krishna 担任首席执行官,这表明了IBM未来的重点,专注于提升其混合云业务,同时退出一些不相关的业务。</p><p>IBM还公开表示,红帽的交易是其历史上最大的一笔交易,也是在云计算领域获得竞争对手的机会。IBM计划通过分拆年收入约190亿美元的管理基础设施业务后,实现可持续的个位数收入增长。</p><p>不过这听起来并不那么那容易实现,因为在过去十年中,IBM的销售额在二十多个季度中下降。</p><p><img src="/img/bVcOEC4" alt="image.png" title="image.png"></p> 火星无人机全部代码公开!毅力号带着手机芯片和 Linux 系统上太空 http://www.tvxinternet.com/a/1190000039232948 2021-02-19T17:32:01+08:00 2021-02-19T17:32:01+08:00 芒果果 http://www.tvxinternet.com 7 <p><img src="/img/bVcOMqN" alt="毅力号登陆火星,带着手机芯片和 Linux 系统上太空了!" title="毅力号登陆火星,带着手机芯片和 Linux 系统上太空了!"></p><p>历经 203 天,穿越了 4.72 亿公里之后,美国“毅力号”火星车终于在美东时间下午 3:55 成功登陆火星。</p><p>结束近 7 个月的旅程后,“毅力号”传回了通过避险摄像机拍摄的第一张火星表面景象。这次,“毅力号”的主要任务是——寻找古代生命的迹象,并收集火星岩石和土壤样本带回地球研究。</p><p>值得一提的是,配合“毅力号”完成探测任务的“机智号”无人机搭载的是骁龙 801 处理器。没错,就是那个用在手机上的骁龙 801。当年,小米 4 用的就是这款芯片。</p><p>此外,这也是人类第一次在火星上运行 Linux 系统。“毅力号”上的无人机“机智号”实际上是通过 Linux 操作系统控制的。不止如此,NASA 还把这个专门为火星无人机开发的 Linux 飞行控制系统开源了!</p><p>这就是毅力号在火星表面拍摄的第一张图像:</p><p><img src="/img/bVcOMqP" alt="image.png" title="image.png"></p><h2>“恐怖 7 分钟”艰难着陆</h2><p>2020 年 7 月 30 日,耗资 24 亿美元的毅力号从美国佛罗里达州的卡纳维拉尔角太空部队站发射升空,带着收集火星样本的任务迈出了火星探索的第一步。</p><p>美国宇航局科学副主任托马斯说,“毅力号是从火星带回岩石的第一步,我们不知道这些来自火星的原始样本会告诉我们什么,但无疑是非常重要的,甚至可能包括曾经存在于地球之外的生命。”</p><p><img src="/img/bVcOMqT" alt="image.png" title="image.png"></p><p>毅力号进入下降阶段时,以大约 20000 km/h 的速度飞行,尽管火星的气氛很稀薄,但它仍将给毅力号带来极大的阻力。进入火星大气层大约 80 秒钟之内,航空器外壳外部的温度将达到 1300 摄氏度。</p><p>约四分钟后,毅力号的“降落伞”展开,保护性航空器外壳脱落。当毅力号下降到火星表面上方约 4 公里时,它将激活其地形导航系统。</p><p>410 秒后(将近 7 分钟),毅力号终于在火星成功着陆。与 2018 年 8 月的“好奇号”火星车非常相似,它也在着陆时经历了类似的“恐怖 7 分钟”。</p><p><img src="/img/bVcOMq4" alt="image.png" title="image.png"></p><h2>火星表面首次有直升机起飞</h2><p>毅力号首次将直升机带上了火星,机智号火星无人机将在火星表面飞起几英尺的高度,并在毅力号火星车的周围盘旋,收集图像信息。这将是直升机在火星极薄的大气层中首次实现动力飞行。</p><p><img src="/img/bVcOMq5" alt="image.png" title="image.png"></p><p>机智号无人机仅重 1.8 公斤,通过顶部安装的 4 个碳纤维螺旋桨提供动力,每分钟转速为 2400 转,功率为 350 瓦。为了配合毅力号的探测任务,它要面对许多挑战。</p><p>要知道,实现直升机在火星上飞行是有很大难度的。一方面火星的稀薄大气使得难以获得足够的升力。另一方面由于火星大气层的密度比地球密度低 99%,直升机的旋转叶片也要做的更大,并且转速要非常快才能起飞。</p><p><img src="/img/bVcOMq7" alt="image.png" title="image.png"></p><h2>机智号采用骁龙 801 处理器,带着 Linux 系统上火星</h2><p>由于太空探索对硬件设备的稳定性要求极高,很多设备都采用了已经在地面运行了多年的处理器,机智号也是如此。但值得注意的是,机智号这次没有采用商业级别的处理器,而是用于手机的民用处理器。这是因为,机智号被 NASA 视为一项“技术演示”,因此愿意接受更多风险,于是采用了民用的骁龙 801 处理器。</p><p><img src="/img/bVcOMq9" alt="image.png" title="image.png"></p><p>此外,由于毅力号的任务对信息的收集和处理要求极高,需要捕捉图像、分析特征,并以 30 赫兹的频率从一帧到另一帧跟踪它们。以往已经使用多年的商业级处理器已无法达到标准。而骁龙 801 的本质是一款手机处理器,而且它的主板非常小。它的功能远比其他火星车上的处理器多得多,拥有更强大的计算力。</p><p>除了手机处理器,机智号还带来了一个惊喜,将 Linux 带上了火星。</p><p>这是人类第一次在火星上使用 Linux 飞行控制系统,据 NASA 介绍,机智号使用的软件框架是JPL 为立方体卫星和仪器开发的,并在几年前就开源了。也就是说,任何人都能使用这个在火星直升机上的软件框架,并将它用在你自己的项目上。</p><h2>将开源进行到底,火星无人机代码已全部公开</h2><p>F Prime 是火星无人机“机智号”的飞行软件框架,目前已在 GitHub 上全部公开!</p><p>F Prime 是为机智号量身定制的一个组件驱动的框架,可以快速开发和部署太空飞行及其他嵌入式软件应用程序。</p><p>那么,有了这些公开的代码,我们是不是也能下载机智号同款代码搞个火星无人机出来了呢?</p><p><img src="/img/bVcONud" alt="image.png" title="image.png"></p><p>NASA 开源的 F Prime 提供了一个完整的开发生态系统,包括建模工具、测试工具和地面数据系统。开发人员使用建模工具编写高级规范,自动使用 C ++ 生成实现,并使用特定领域的代码填充实现。框架和代码生成器提供 F Prime 部署所需的所有样板代码,包括用于线程管理的代码,用于组件之间通信的代码以及用于处理命令,遥测和参数的代码。测试工具和地面数据系统简化了在工作站和实验室中的飞行硬件上的软件测试。</p><p><strong>此外,F Prime 还实现了以下几个关键功能:</strong></p><p>1.可重用性:基于组件的体系结构可实现高度的模块化和软件重用。</p><p>2.可移植性:F Prime 在从微控制器到多核计算机的多种处理器以及多种操作系统上运行,将其移植到新的操作系统非常简单。</p><p>3.高性能:采用点对点架构,最大程度地减少了计算资源的使用,非常适合较小的处理器。</p><p>4.量身定制,可满足小型任务所需的复杂程度,不仅易于使用,还能同时仍支持多种任务。</p><p>5.可分析性:类型化的端口连接为编译时的正确性提供了有力的保证。</p><h2>快速安装指南</h2><p><strong>前提条件:</strong></p><ul><li>cmake</li><li>git</li><li>Python 3.5+ with pip</li></ul><p>安装这些实用程序后,即可安装 F Prime Python 依赖项。在 Python 虚拟环境中安装依赖项可以防止系统级问题,但是不需要在虚拟环境中进行安装。</p><p>要快速安装 F Prime,请输入:</p><p><img src="/img/bVcONut" alt="image.png" title="image.png"></p><h2>太空冒险迈上新台阶,“移民火星”不是梦</h2><p>毅力号将在火星完成一系列高度复杂的任务,为人类探索古代生物信息和火星土壤研究提供有力支持。随着毅力号一起登陆火星的机智号也为人类的太空事业迈上了一个更高的台阶。</p><p>与此同时,中国的“天问一号”火星车也即将今年 5 月登陆火星。人类的太空冒险仍在继续,也许“移民火星”在未来的某一天真的将不止是梦想,而真正照进现实。</p><p>参考链接:<a rel="nofollow noreferrer">https://spectrum.ieee.org/aut...</a><br><a rel="nofollow noreferrer">https://www.futurezone.de/sci...</a><br>GitHub 地址:<a rel="nofollow noreferrer">https://github.com/nasa/fprime</a></p><p><img src="http://www.tvxinternet.com/img/bVcOxTk" alt="segmentfault 公众号" title="segmentfault 公众号"></p> GitHub 2020 数字洞察报告:JavaScript 和 Python 蝉联冠亚军,HTML、CSS 全域语境下更受欢迎 http://www.tvxinternet.com/a/1190000039230439 2021-02-19T14:19:03+08:00 2021-02-19T14:19:03+08:00 思否编辑部 http://www.tvxinternet.com 0 <p><img src="http://www.tvxinternet.com/img/remote/1460000039230376" alt="图片" title="图片"></p><blockquote>摘要:开源软件已经成为人类数字社会的基石,是全人类共同努力的结晶,开源协作对人类数字文明的发展起到了巨大的推动作用。GitHub 作为全球范围内最主要的开源协作平台,无数个开源社区在其上孕育而生,其背后海量的开发者行为数据蕴含了大量的个体贡献规律、群体协作模式、社区健康状况、生态发展趋势、以及商业战略价值。<p>《GitHub 2020?数字洞察报告》是由 X-lab 开放实验室发起,联合多家科研机构与开源社区所共同完成的一个反映全球开源现状与趋势的开源项目。报告涵盖了当今全球开源的总体情况分析、开发者分析、项目分析、领域案例、每月之星等众多内容,希望以此绘制人类的"开源数字生态地图",推动开源社会创新,繁荣开源数字文明。</p></blockquote><hr><p><strong>引言</strong></p><p>2020 注定是个不平凡的数字,开源的 2020 也是如此。</p><p>即便是在新冠疫情肆虐的今天,开源依旧大发展,甚至发展的更加迅速。从各项数据指标都能发现:GitHub 的日志数 2020 年达到了 <strong>8.6</strong> 亿条,相较 2019 年增长了 <strong>42.6%</strong>;活跃代码仓库达到了 <strong>5,421 万</strong>个,相较 2019 年增长了 <strong>36.4%</strong>;活跃开发者数达到了 <strong>1,454 万</strong>人,相较 2019 年增长了 <strong>21.8%</strong>。</p><p>管理学大师彼得·德鲁克曾经说过:<strong>“你如果无法度量它,就无法管理它”(If you can not measure it,?you can not manage it),进而也无法提高它,</strong>而软件行业至今也还没有找到一个可以有效度量软件开发生产效率(Productivity)的方法。</p><p>整个开源生态系统更是如此,个体如何度量、社区如何度量、管理者如何利用这些数字做更好的决策,这些都是问题。但在我们看来,这些既是挑战,也是机遇。要想有效的开展开源治理的工作,就难以绕开度量的问题,GitHub 全域数据给予了我们这样一个极佳的机会。</p><p><strong>度量也是一把双刃剑。</strong>度量具有极强的引导性,它会激励你重视并改善能够度量的元素,但也可能使你忽视无法度量的元素并使之恶化。在全球大规模的开源社区与生态构建的过程当中,如何找到合理的度量,并合理的利用这些度量呢?希望本报告能够给大家带来一些启示,这也是本报告的重要目的之一。</p><p>今年的<strong>《GitHub 2020 数字洞察报告》</strong>主要的变化包括:</p><ul><li>整个报告的迭代以开源项目的形式协作完成,涉及数据、代码以及文字内容;</li><li>提出更加全面的度量指标,以及更加科学的计算方法;</li><li>用更加专业化、丰富的手段进行数据可视化与洞察;</li><li>在活跃度的基础上,更加关注时间维度、多样性维度、协作网络维度上的信息;</li><li>首次提出开源星系(OpenGalaxy)与开源象限(OpenQuadrant)的概念,并进行了落地实现;</li><li>增加了单个项目开发者协作网络的深度分析案例;</li><li>增加了短期内受到大量关注的开源每月之星内容。</li></ul><p>本次报告的主要<strong>开源洞察</strong>概述如下:</p><ol><li>全球开源事业大发展,社区活跃行为、开发者数量、开源仓库数量均大幅提升;</li><li>开源软件生产流水线自动化程度大幅提升,多样化的数字协作机器人成为主流;</li><li>基于海量数据的活跃度模型能够有效地持续反映开发者与社区的整体状况;</li><li>主流开发者的工作时间具有较强规律,并和工作时间开始重合,公司化开源成为绝对主流,996 开源项目开始出现;</li><li>美洲开发者分布最多,欧洲拥有最高的单时区开发者比例,亚洲开发者数量依然较少,中国相较其他亚洲国家具有较高的开源活跃度;</li><li>JavaScript 和 Python 依旧是语言排行榜上的冠亚军,HTML 和 CSS 在全域开发者语境下更受欢迎,而 TypeScript 和 Rust 语言则上升明显;</li><li>谷歌、微软等老牌企业依旧为活跃的开源贡献大户,国内的企业阿里活跃度排名第一,PingCAP 的表现则非常亮眼;</li><li>第一次通过开源星系认识 GitHub 开源项目的全貌,主流技术领域的开源生态已经形成,新的开源社群则不断涌现,极少量项目还是协作孤岛;</li><li>CNCF、LF、Apache 等基金会在技术领域上各有侧重,通过开源象限能够进一步区分同类项目的发展阶段与成熟水平;</li><li>开发者时区分布图和协作网络成为开源社区多样性与健壮性的有效分析手段,能够更好地指引社区经理的开源治理工作。</li></ol><p>以下是<strong>《GitHub 2020 数字洞察报告》</strong>正文。</p><h2>一、总体情况</h2><p>从总体数据来看,2020 年全年,GitHub 全域事件日志数量总计约 8.6 亿条,较 2019 年 6.1 亿条增长约 42.6%,是近五年来增长最快的一年。本次报告通过项目与开发者行为数据,统计得到 2020 年 GitHub 全域活跃项目数量约 5,421 万个,活跃开发者账号约 1,454 万个,分别较 2019 年增长了 36.4%?与 21.8%。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230378" alt="图片" title="图片"></p><p><em>GitHub 2015 - 2020 年事件日志量、活跃仓库数量、活跃账号数量总体情况</em></p><h2>二、开发者分析</h2><p>开源世界的核心是贡献开源的开发者们,如同 Apache Way 所推崇的 Community Over Code,由开发者组成的社区才是开源生命力的源泉。本报告将从全域开发者活跃情况、GitHub Apps 使用情况、开源开发者典型工作时间画像、全球开发者时区分布、开发者使用语言分布等多个角度对 GitHub 2020 年全域开发者进行全面分析。</p><p><strong>全域开发者活跃情况</strong></p><p>通过对全域开发者进行活跃度与活跃仓库数量的统计,我们得到 GitHub 全域开发者的活跃度分布情况和单个开发者活跃仓库数量分布情况如下:</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230377" alt="图片" title="图片"></p><p><em>开发者活跃度与活跃仓库数量分布图</em></p><p>经统计,活跃度超过 <strong>2,000</strong> 的开发者数量为 <strong>5,445 个</strong>,占全域开发者数量不足万分之六。而大部分开发者活跃度都在 <strong>[0, 500]</strong> 区间内,占全域开发者数量的 <strong>99.45%</strong>,说明大多数开发者还是处于低活跃度的一个状态。</p><p>观察曲线尾部,我们发现开发者活跃仓库数量在最后有一个回升,其实是由于部分未被过滤掉的自动化协作类账号的活跃仓库数量巨大,远超正常人类开发者,因此尾部形成 V 形曲线。</p><p>另外,我们通过活跃度统计了全域活跃排名最高的 10 个开发者,其中 8 个账号为 GitHub Apps,另外两个账号为自动化协作的开发者账号。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230386" alt="图片" title="图片"></p><p><em>GitHub 2020 年全域开发者账号活跃度统计 Top 10</em></p><p>自动化协作机器人由于运行在服务端,可以同时服务于众多项目,从而具有极高的活跃度和协作仓库数量。</p><p>本文所涉及到的诸如活跃度的详细计算方法请参阅完整的报告内容。</p><p><strong>GitHub Apps 使用情况</strong></p><p>在全球最活跃开发者账号中,大部分为 GitHub Apps,故本报告对 GitHub Apps 数据做出相关统计,GitHub Apps 年活跃账号数量(活跃数量)与所产生日志总量占全年日志占比(日志占比)的变化如图所示。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230379" alt="图片" title="图片"></p><p><em>GitHub Apps 活跃账号数量与日志占比</em></p><p>通过图可以看到,GitHub Apps 自 2016 年推出以来,在近年得到了迅猛发展。从日志占比来看,2019 年相较于 2018 年提升了 <strong>288%</strong>,2020 年相较 2019 年增长 <strong>141%</strong>,达到了 <strong>12%</strong> 以上。</p><p>未来,基于 GitHub Apps 的自动化协作机器人会被更加广泛的用于项目的自动化协作,更好的帮助开源项目进行大规模协作的管理。</p><p><strong>全域日志时间分布</strong></p><p>由于 GitHub 事件日志具有详细的时间戳信息,故可以通过对时间维度的统计分析进行洞察,例如在 UTC 标准时间下,全球的工作时间分布如图所示。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230382" alt="图片" title="图片"></p><p><em>GitHub 2020 年全球日志时间分布情况</em></p><p>若我们认为主流开发者正常的工作时间为每日 9 时至 21 时,则在全球视角下,通过日志量来看,可以看到 GitHub 平台上的开发者由<strong>欧美主导</strong>。而且周末的活跃明显低于工作日,也与 GitHub Octoverse 2020?报告中更多开发者使用 GitHub 工作而不仅仅是基于兴趣开发相吻合。</p><p><strong>全球开发者时区分布</strong></p><p>开发者的地理分布情况一直是开源项目全球化指标的一个重要方面。通过对 GitHub 全域开发者活跃度前 5 万名开发者的统计,我们得到全球开发者在各时区分布估计如图所示。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230381" alt="图片" title="图片"></p><p><em>GitHub 2020 年全球开发者时区人数分布图</em></p><p>可以看到,在高活跃开发者中,美洲(美国、加拿大、南美)开发者分布最多,虽然单时区的开发者比例不是最高,但总体开发者占比高达 <strong>33%</strong> 左右。而欧洲拥有最高的单时区开发者比例。亚洲的开发者数量依然较少,但中国、俄罗斯开发者相较其他国家还是有较高的开源活跃。而太平洋地区则由于人口分布原因,开发者比例最低。</p><h2>三、项目分析</h2><p><strong>全域项目总体数据</strong></p><p>基于开发者活跃度定义,我们也给出<strong>开源项目活跃度</strong>的计算方法。在给定的活跃度计算方法下,过滤了 GitHub Apps 相关账号的协作行为,共统计得到 2020 年有效的总活跃项目数量约 <strong>1167 万</strong>个。这些项目的活跃度分布情况与项目中的参与开发者数量分布情况如下图所示。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230383" alt="图片" title="图片"></p><p><em>GitHub 2020 项目活跃度及参与开发者数量分布情况</em></p><p>经统计,2020 年全年项目的活跃度值最高为 <strong>971.1</strong>,但高活跃度的项目数量占比极低,超过 <strong>99.95%</strong> 的项目活跃度值都低于 <strong>10</strong>,即绝大部分项目处于低活跃状态。另外,项目中的参与开发者数量最高达 <strong>85546</strong> ,即在 2020 年内最多有 85546 个开发者参与了同一个项目。但有 <strong>71.21%</strong> 的项目参与开发者数量都低于 <strong>10</strong>,即 2020 年全年 GitHub 上大部分项目的参与人数都在 10 人以内。</p><p><strong>项目活跃度 Top 20</strong></p><p>根据项目活跃度定义,我们对 2020 年全年活跃项目进行了活跃度统计与排名,这里给出世界活跃度 Top 20 项目的列表。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230387" alt="图片" title="图片"></p><p>GitHub?2020?年全域项目活跃度?Top 20</p><p>同时,我们也通过各种渠道采集了中国的开源项目列表,并同样给出了中国项目的活跃度排名情况,如下表所示。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230380" alt="图片" title="图片"></p><p><em>GitHub?2020?年中国项目活跃度?Top 20</em></p><p>从这个列表中,我们发现,<strong>PingCAP</strong> 在开源领域的表现非常地亮眼。Top 20 项目中上榜的项目有6个。<strong>阿里</strong>在开源领域中的成绩也是非常不错。Top 10项目中上榜的项目有2个。<strong>百度</strong>在人工智能领域的表现非常不错,其深度学习平台 <strong>PaddlePaddle</strong> 占据了2个项目。</p><p>中国的 Top 20 项目列表中,包括<strong>阿里</strong>的 <strong>Ant-Design</strong> 组件库,<strong>京东</strong>基于 React 前端框架的开发框架 <strong>taro</strong>,由<strong>饿了么</strong>(已被阿里收购)前端团队开源的 Vue UI 组件库<strong>Element</strong>等等,这说明了在国内,前端群体在社区更为活跃;另外前端代码一般也不太涉密,因此公司在心态上更开放一些。不过这其中也有一点需要引起注意,上榜的前端项目组件库居多,但是缺少核心项目。</p><p>而在各大开源项目的背后,基本都有科技公司的支持,我们计算出了科技公司所维护的开源项目在 2020 年的活跃情况,结果如下表所示。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230388" alt="图片" title="图片"></p><p><em>GitHub?2020?中国企业开源项目活跃度一览</em></p><p>在国内企业的开源数据中,我们可以看到阿里巴巴的数据在很多指标上的表现里都非常不错,有的指标值甚至是其它公司之和,并且在社区化/开放等方面也做得不错。</p><p><strong>OpenGalaxy</strong></p><p>通过活跃度的数据统计得到的结果会受到自动化协作行为的影响,并且不同生命周期阶段的项目的活跃度可能不具备可比性,故在本次报告中我们引入了全域项目协作关系网络,<strong>开源星系?——?OpenGalaxy</strong>。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230384" alt="图片" title="图片"></p><p><em>GitHub 2020 全域项目协作关系网络——OpenGalaxy 2020</em></p><p>GitHub 2020 最活跃的 <strong>22.1 万</strong>个开源项目组成的协作网络图。该图中节点的大小表示项目的影响力大小,节点的着色表示节点所属的协作聚类结果。在协作网络的影响力评估下,得到 GitHub 2020 全域影响力最高的项目 Top 20 如下表所示。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230385" alt="图片" title="图片"></p><p><em>OpenGalaxy?2020?全域项目影响力?Top 20</em></p><p>可以看到,<strong>VSCode</strong> 的影响力从活跃度的第 5 跃升为第 1,且高于排名第 2 的 flutter 约 64.7%,以巨大的优势成为全球最具影响力的项目。事实上这是由于 VSCode 在成为全球最流行的 IDE 的同时,也与其他各领域的顶级项目产生了大量的协作关联。</p><p>OpenGalaxy 具有优秀项目会因优秀开发者而关联在一起的特性,从而不会因自动化行为导致影响力指标虚高,具有较好的算法稳定性,影响力指标的变化背后一定意味着开发者群体的活跃行为迁移,从而可以较好的反映出 GitHub 全域的项目影响力状况。其它详细内容请参见完整的报告正文。</p><h2>四、案例分析</h2><p>本报告提出一种<strong>开源象限(OpenQuadrant)</strong>的方法来分析一个开源项目在影响力、全球化、社区规模三个核心特性方面的表现。基于该开源象限分析,使用散点图来表示,横纵两个维度为项目影响力指标和项目全球化指标,为了方便可视化,我们采用取对数的形式呈现上述两个指标,而使用散点图上的点的大小来刻画项目参与的活跃人数,用来反映一个项目的社区规模。</p><p>基于以上,开源象限将整个平面分成了四块区域,分别是:</p><ul><li><strong>前瞻(Foresighted)</strong>:落在该区域的项目影响力强,同时项目全球化程度高;</li><li><strong>引领(Leading)</strong>:落在该区域的项目影响力强,但项目全球化程度较低;</li><li><strong>行动(Acting)</strong>:落在该区域的项目影响力较弱,但项目全球化程度高;</li><li><strong>进入(Incubating)</strong>:落在该区域的项目影响力较弱、同时项目全球化程度也较低。</li></ul><p><strong>基金会项目分析</strong></p><p><strong>CNCF</strong> 的英文全称是 Cloud Native Computing Foundation,即“云原生计算基金会”。</p><p>下图为 CNCF 下云原生领域开发者时区分布图,可以看到该领域的开发者时区分布与全域项目的开发者时区分布较为接近,说明 CNCF 云原生领域的项目全球化程度较高。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230390" alt="图片" title="图片"></p><p><em>CNCF 下云原生领域开发者时区分布</em></p><p>CNCF 下云原生领域的开源象限分析可视化结果如下图所示。<strong>Kubernetes</strong>项目无论是在影响力、全球化、还是社区开发者体量上面,当之无愧的处于第一的位置。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230389" alt="图片" title="图片"></p><p><em>CNCF 下云原生领域的开源象限</em></p><p><strong>LF AI&Data</strong> 是 Linux Foundation下的一个综合型基金会,支持人工智能、机器学习、深度学习和数据方面的开源创新。</p><p>LF AI &amp; Data 下数据与人工智能领域的开源象限分析可视化结果如下图所示。可以看到该领域有不少全球化做得比较好的项目,非常符合人工智能全球走热的趋势。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230391" alt="图片" title="图片"></p><p><em>LF AI &amp; Data 下数据与人工智能领域的开源象限</em></p><p><strong>Apache 软件基金会</strong>(ASF)成?于 1999 年, 是?个依据 501(c)在美国成?的非营利性公共慈善组织,基金会的使命是为公共利益而提供软件。</p><p>Apache 下大数据领域的的开源象限分析可视化结果如下图所示。可以看到该领域的项目整体分布具有较好的分散性,Spark、Flink、Hadoop 等明星项目占据着头牌位置。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230393" alt="图片" title="图片"></p><p><em>Apache 下大数据领域的开源象限</em></p><p>Apache 软件基金会下来自<strong>中国的项目</strong>的开源象限分析可视化结果如下图所示。可以看到该领域的 <strong>Echarts、Skywalking、Dubbo 和 Shardingsphere</strong> 四个项目处于第一方阵,体现了较强的实力。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230392" alt="图片" title="图片"></p><p><em>Apache 软件基金会下中国项目的开源象限</em></p><p>更加具体的详细信息请参见完整报告正文。</p><p><strong>VSCode 案例分析</strong></p><p>VSCode 项目作为开源生态中的一颗北极星,在 2020 年依旧保持着旺盛的生命力,这一年,共有 <strong>206645</strong> 条记录由 VSCode 产生,相比 2019 年的 121490 条,增长了接近一倍;这一年,VSCode 的项目年平均活跃度分值为 <strong>385</strong>,在全域项目中排名第 7 位;这一年,有 <strong>46639</strong> 位开发者(包含协作机器人账号)在项目中活跃过,在这艘开源航母上发出有力的协作信号。</p><p>同时我们通过开发者在项目中的协作关系构建了 VSCode 在 2020 全年的开发者协作网络,如图所示。</p><p><img src="http://www.tvxinternet.com/img/remote/1460000039230394" alt="图片" title="图片"></p><p><em>VSCode 项目开发者协作网络</em></p><p>在这个由 2 万多个开发者组成的协作网络中,节点为开发者账号,边为协作关系,节点的大小为对应开发者账号的活跃度。在这个协作网络中,处在网络核心位置的较大的节点是 VSCode 的核心团队成员,他们不仅有很高的活跃度,而且与其他开发者均具有较高的协作关系,这个群体的数量在百人左右。紧接着外侧是 VSCode 的重度使用者或贡献者,他们可能随时提交 Issue 或 PR 进行讨论或贡献,这个群体的数量在千人级别。最外侧,也是最大量的开发者是 VSCode 的一般用户和偶发贡献者,大部分仅在自己关心的问题上提问或讨论。</p><h2>五、每月之星</h2><p>除了顶级项目之外,GitHub 上还有一些短期内受到广大开发者大量关注的项目。这些项目可能是<strong>现象级项目</strong>,也有可能在未来成为顶级项目。这些项目可能与社会热点有关,例如,与新冠疫情相关的项目,与学生毕业求职相关的项目等等。发现这些项目以及解释这些项目在短期内受到大量关注的原因是很有意义的。因此,本部分<strong>“每月之星”</strong>列举了在 2020 年每个月里受到开发者大量关注的项目。以下是我们挑选出来的项目,具体介绍可以参见报告全文内容:</p><p>1月:microsoft/playwright</p><p>2月:wuhan2020/wuhan2020</p><p>3月:CSSEGISandData/COVID-19</p><p>4月:labuladong/fucking-algorithm</p><p>5月:design-resources-for-developers</p><p>6月:CnC_Remastered_Collection</p><p>7月:JaidedAI/EasyOCR</p><p>8月:geekxh/hello-algorithm</p><p>9月:cli/cli</p><p>10月:developer-roadmap</p><p>11月:ytdl-org/youtube-dl</p><p>12月:beurtschipper/Depix</p><h2>六、总结与展望</h2><p>《GitHub 2020 数字洞察报告》作为一个数据驱动的可视化工具,主要为大家提供一个新的视角来观察今天的开源世界,进而结合各自的行业经验获得洞见。从本次年报开始,我们将这个作品也作为一个开源项目进行运营,逐渐缩短发布的周期,甚至按需提供个性化的按需服务。</p><p>如若发现数据错误或遗漏,欢迎提交 Issue 或 PR 到项目的 GitHub 仓库,本报告文本部分采用 CC-BY-4.0 许可协议。具体请参见完整报告内容。</p><h2>七、致谢</h2><p>《GitHub 2020 数字洞察报告》是由 X-lab 开放实验室发起,由“源光闪烁”开源科技媒体策划,联合了华东师范大学数据科学与工程学院、开源社、上海开源信息技术协会、开源社会工程研究院(筹)等多家科研机构与开源社区所共同完成。</p><p>在春节期间从零开始,完全通过线上远程协作的方式,在十天内协作完成了报告的全部内容,并由来自美国和欧洲的顾问专家提出意见与建议。</p><p>本次数字洞察报告的主要贡献者包括:赵生宇、王伟、周添一、翁振杰、王皓月、夏小雅、朱香宁、杨鸣、宁泽欣、林海铭、王福政、史经犇、娄泽华、顾业鸣、李思颖等,特别感谢吴雪(雪哥)和 Kate(杨佳)作为项目顾问,为数字洞察报告提供指导与建议。</p><p>我们欢迎更多的开源爱好人士加入我们,共同推动开源在世界的发展。</p><p>完整的报告内容,请点击<strong><a rel="nofollow noreferrer">“传送门”</a></strong>获取,或通过以下链接获取:<a rel="nofollow noreferrer">http://oss.x-lab.info/github-...</a></p> 研究人员披露新型 Office 恶意软件,黑客对 30 多个国家用户发起攻击 http://www.tvxinternet.com/a/1190000039229601 2021-02-19T12:04:34+08:00 2021-02-19T12:04:34+08:00 芒果果 http://www.tvxinternet.com 0 <p><img src="/img/bVcOLzn" alt="研究人员披露新型 Office 恶意软件,黑客对 30 多个国家用户发起攻击" title="研究人员披露新型 Office 恶意软件,黑客对 30 多个国家用户发起攻击"></p><p>网络安全研究人员披露了一种新型 Office 恶意软件,该恶意软件是作为恶意电子邮件活动的一部分分发的,该活动针对全球 80 多个客户,以试图控制受害计算机并远程窃取信息。</p><p>这个名为“ APOMacroSploit”的工具是一种是一种宏漏洞利用程序生成器,用户可以创建一个 Excel 文档,从而绕过防病毒软件、 Windows Antimalware Scan Interface (AMSI)),甚至 Gmail 和其他基于电子邮件的钓鱼检测。</p><p>APOMacroSploit 被认为是两个法国黑客 Apocaliptique 和 Nitrix 的作品。据估计,他们在不到两个月的时间内在 Hackforums 上出售该产品至少赚了 5000 美元。</p><p>据说总共有大约 40 名黑客参与了这次行动,他们利用 100 个不同的电子邮件发送者发起了一系列针对 30 多个国家用户的攻击。网络安全公司 Check Point 称,这些攻击在 2020 年 11 月底首次被发现。</p><p>Check Point 在一份报告中表示: “当 XLS 文档的动态内容启用,XLM 宏自动开始下载 Windows 系统命令脚本时,恶意软件感染就开始了。”</p><p>这个系统命令脚本是从 cutt.ly 中检索到的,它指向托管多个 BAT 脚本的服务器,这些 BAT 脚本将客户的昵称附加到文件名中。这些脚本还负责在 Windows 系统上执行恶意软件(“ fola.exe”) ,但必须在 Windows Defender 文件的排除路径中添加恶意软件位置,并禁用 Windows 清理功能。该恶意软件是一个 Delphi Crypter 和一个名为 BitRAT 的第二阶段远程访问特洛伊木马</p><p>在其中一次攻击中,人们在保加利亚的一个医疗设备和用品网站上发现了这种恶意软件。攻击者入侵了该网站,存储了恶意可执行文件。</p><p><img src="/img/bVcOLzt" alt="image.png" title="image.png"></p><p>使用“crypters”或“packers”的想法在威胁参与者中越来越流行,这不仅可以压缩恶意软件样本,而且可以使恶意软件样本更具规避性和逆向工程性。</p><p>去年 8 月正式记录在案的 BitRAT 提供了以下功能: 挖掘加密货币、入侵网络摄像头、记录击键、下载和上传任意文件,以及通过命令控制服务器远程控制系统。在这种情况下,服务器解决了保加利亚一个合法视频监控系统网站的子域名问题。</p><p><img src="/img/bVcOLzv" alt="image.png" title="image.png"></p><p>在 Check Point 的进一步调查中,他们追踪了这两家运营商留下的数字踪迹,最终导致研究人员揭露了 Nitrix 的真实身份。他在 Twitter 上发布了自己 2014 年 12 月购买的一张演唱会门票的照片,并透露了自己的真实姓名。</p><p>Nitrix 是一位来自 Noisy-Le-Grand 的软件开发人员,并拥有 4 年的软件开发经验。而 Apocaliptique 的身份还未确定,根据他使用的其他名称“apo93”和“apocaliptique93”,研究人员怀疑他是法国居民。<br>Check Point 公司表示,他们已经向执法部门通报了攻击者的身份。</p><p><img src="http://www.tvxinternet.com/img/bVcOxTk" alt="segmentfault 公众号" title="segmentfault 公众号"></p> Android 12开发者预览版现已发布,包含众多亮点 http://www.tvxinternet.com/a/1190000039229462 2021-02-19T11:49:45+08:00 2021-02-19T11:49:45+08:00 宗恩 http://www.tvxinternet.com 0 <p><img src="/img/bVcOLxw" alt="image.png" title="image.png"></p><p>谷歌今天发布了适用于 Pixel 设备的 Android 12开发者预览版。按照谷歌的惯例,第一个预览版往往充满许多面向开发人员的更改,这次包括操作系统处理图像和视频与安全方面等更新。</p><p>谷歌通常会在五月份举行的谷歌I / O大会上保留一些主要UI的更改。尽管此开发人员预览版本确实包含一些通知UI的更改,但在正式安装该UI之前,我们无法知道它与本月早些时候看到的泄漏版本有哪些不同。</p><p>它适用于 Pixel 3 及更高版本的手机,需要通过刷新设备进行手动安装,目前尚未准备好为用户进行日常使用,但谷歌承诺它将在今年晚些时候继续为普通用户提供 Beta版。</p><p>尽管第一个预览版的目的是使开发人员能够快速为新版本的Android准备应用程序,但仍有一些功能会对用户产生明显的影响,具体来说Android将变得更加善于处理不同类型的媒体。</p><h2>ANDROID 12中的新媒体格式</h2><p>将会有一个新的转码层,自动使HEVC视频格式在本身不支持它们的应用程序中工作。当前,选择在Android手机上以HEVC拍摄可能意味着第三方应用程序将无法本地使用该视频。这些应用程序的新转码层应使用户更加自如地进行切换。</p><p>Android 12 将支持空间音频与MPEG-H,并为高达24个音频通道进行了优化(之前仅有8个)。它还将使开发者更容易将「隆隆声」效果与音频联系起来。</p><p>谷歌似乎正在将注意力放在AV1图像文件格式(也称为AVIF)后面。AVIF旨在将JPG替换为事实上的图像格式,以更少的伪像提供更好,更干净的压缩。Netflix特别是这种格式的大力支持者。如果说AV1听起来很熟悉,那是因为这是几年前主要技术公司提出的AV1视频格式的分支,而Netflix和谷歌都已部分采用。AVIF也不要与类似的HEIF混淆,后者已经被苹果的相机拍摄了一段时间。</p><p>谷歌表示,并不打算将AVIF作为相机应用的默认图像格式,所以这还只是第一步。</p><p>坚持使用多媒体,Android 12只是会更好地在应用之间移动不同种类的媒体。它正在创建一个新的 "丰富内容插入 "API,让你可以剪切和粘贴或拖放多种内容,包括 "纯文本和风格化的文本到标记、图像、视频、音频文件等"。</p><p><img src="/img/bVcOLxB" alt="image.png" title="image.png"></p><h2>ANDROID 12界面变化</h2><p>我们需要自己安装开发者预览版,才能更近距离地了解变化。谷歌的博客文章用有些笼统的语言描述了新的内容。可以肯定的是,谷歌今天所展示的内容是对年末重大改变的暗示,这些变化是否真的会与你上面看到的泄露的截图相吻合还有待观察。</p><p>以下是谷歌官方描述:</p><blockquote>我们正在刷新通知设计,以使它们更现代,更易于使用且功能更强大。在第一个预览中,您会注意到从抽屉和控件到模板本身的更改。我们还在整个系统上优化转场和动画,以使其更加流畅。作为更新的一部分,对于针对Android 12的应用,我们将使用带有图标的自定义内容来修饰通知,并扩展功能以匹配所有其他通知。<p>该应用程序图标确实与上面泄露的屏幕截图一致,不过,这不一定意味着最终版本将是这样。“扩展能力”也排成列,你可以在上面的屏幕截图中看到的指向下的插入符号比当前系统更容易使用。谷歌还指出,它正在要求开发人员使用API??,以便在用户点击通知时在正确的位置更快地打开应用。</p><p>它正在改变当您使用全屏应用(例如视频,Kindle书或视频游戏)时Android 12的行为方式。当前,退出这些应用程序通常需要两种手势,一种是调出用户界面,另一种实际上是退出。谷歌表示,在Android 12上,它正在“更改默认设置,以允许用户一次滑动即可浏览手机”。</p></blockquote><h2>隐藏的变化</h2><p>在2019年,谷歌开始直接在Android OS的深处更新某些组件,而不是等待运营商进行重大更新。它被称为“?Project Mainline?”,它意味着谷歌可以使用谷歌 Play基础结构为Android的关键部分发布安全更新。从那时起,它一直在向Mainline系统添加更多Android。Android 12是此系统的最大补充,Android Runtime(ART)是使Android应用程序运行的基本子系统。前述的媒体代码转换器也将成为Mainline模块。</p><p>Android 12会有一些隐私和安全方面的更新,但对用户来说不会那么显眼。第三方应用所使用的WebView引擎将采用Chrome最新的一个名为 "SameSite "的Cookie设置,这可能有助于减轻一些跟踪。谷歌表示,"更多的隐私和安全功能将在以后的预览版中出现"。</p><p>Android最近开始要求应用程序在需要运行后台活动时弹出通知,事实证明这确实让人分心,谷歌表示 "将阻止前台服务从后台启动",将开发人员重新引导到一个新的API。如果其中一个后台活动可以在10秒内完成,它可能根本不需要显示通知。</p><p>谷歌还将马上发布Android 12的Android TV预览版,包括让开发者有机会在谷歌自己的谷歌 TV平台上测试他们的应用。</p><h2>ANDROID 12的下一步</h2><p>谷歌今天发布了开发者预览版,但同样需要你刷新设备的系统映像,所以实际上它仅针对开发者使用。谷歌表示它可以在 "Pixel 3 / 3 XL,Pixel 3a / 3a XL,Pixel 4 / 4 XL,Pixel 4a / 4a 5G,或Pixel 5设备 "上工作,或者开发人员可以简单地在Android模拟器内运行它。</p><p>未来的某个时候会发布一个公开测试版,但预计需要几个月的时间,如果谷歌遵循过去的习惯,5月或6月会有一个更全面的Android 12的内容发布。</p><p>去年,Android的 "平台稳定性 "发布在7月初,但今年谷歌的目标是8月,正式发布通常在此后不久。这可能意味着,Android 12的到来时间会比平时稍晚一些。</p><p><img src="/img/bVcOxTk" alt="image.png" title="image.png"></p> 深入了解开源数据库 http://www.tvxinternet.com/a/1190000039229185 2021-02-19T11:18:01+08:00 2021-02-19T11:18:01+08:00 芒果果 http://www.tvxinternet.com 1 <p><img src="/img/bVcOLyR" alt="深入了解开源数据库" title="深入了解开源数据库"></p><p>开源数据库只是随其源代码一起分发的常规数据库。</p><p>用户可以自由地阅读、修改和扩展软件。对于许多人来说,最有吸引力的特性可能是它可以在任何时候在任何地方的任何硬件上运行它。源代码是所有程序员都可以根据自己的需要使用的公共资源。</p><h2>什么是开源数据库</h2><p>并不是说架构、语言或者定义开源数据库的特性集有什么不同。事实上,许多开源选项就像它们的专有版本一样使用 SQL 版本。</p><p>对于与专有软件供应商重新授权谈判的管理人员来说,许可一直很有吸引力。如果源代码不被共享,他们唯一的选择就是转移到另一个产品,这通常包括大量的重写。</p><p>但是,天下没有免费的午餐。这些源代码或许也存在一些“陷阱”,有些比较明显有些则是隐藏起来的。许多开源许可证中,有些对用户几乎没有任何限制,有些则坚持要求用户共享任何增强,从根本上确保公共代码对所有人保持开放。</p><p>另一个没有明确说明但对用户来说非常重要的就是,必须有人付钱给开发人员。</p><p>一些使用开放源码数据库的公司会雇人为代码库做贡献。他们不是购买专有许可证,而是通过向开发人员支付薪水。选择这种方式的公司倾向于他们对所获得的代码库的控制。</p><p>许多开源数据库是在混合模式下发布的。有些人会创建两个不同的版本,其中更简单、更通用的代码可以被称为“社区版”,并且可以自由发布。探索该技术并创建新原型的开发人员可以免费下载它。</p><p>支持开发的公司的账单通常由逐渐采用”商业版本”的公司支付,这种版本通常提供与处理较大数据集或提供更好的安全性有关的额外功能。它们通常是新开发人员不需要的特性,但是对于运行生产代码的团队来说,它们提供了长期的价值。设置多个版本并确保每个版本都有正确的特性是一门艺术。在商业版中保留太多的功能,没有人会去尝试。在社区版中留下太多,没有人会觉得需要升级和付费。</p><p>开放源码数据库可以分为很多类别,这些类别在很大程度上取决于它们的发展时代。最早的工具,如 MySQL 或 PostgreSQL,仿效了商业领袖。它们使用 SQL 语言,并将数据存储在按索引排序、由 JOIN 例程链接的关系表中。有时它们并不提供同样完整的特性选择,但是它们逐渐进化到支持相同的数据存储风格。</p><p>后来的 NoSQL 数据库,如 MongoDB 和 Cassandra,以其灵活的模式和文档风格的键值对存储而闻名。这种特殊类型的数据库在很大程度上演化为开放源码。</p><p>一些最新的数据库,比如那些支持分类账或地理数据的数据库,通常是几对产品的混合体。一个是免费提供的功能齐全的社区版本。另一个通常被称为“企业版”,因为它包含的特性支持更大的数据集,而这些数据集可能需要更高的稳定性和可靠性。这些额外的功能通常只有在付费的情况下才能使用。</p><h2>主要供应商是如何接受开源的</h2><p>甲骨文在 2009 年收购 Sun Microsystems 的过程中收购了 MySQL,有效地认识到了开源模式的力量,于是他们继续开发和支持数据库。用户可以选择免费版,也就是所谓的社区版,也可以选择更高级的版本,其中包含大公司所需的额外功能。其中,备份、额外的安全性和集群管理是需要付费的。</p><p>甲骨文还收购了 BerkeleyDB,这是一组常常被编译成程序的键值数据库。它们使开发人员可以减轻维护数据结构的工作。</p><p>微软已经选择在 Azure 云上托管一些主要的开源数据库。希望依赖 PostgreSQL 或 MySQL 的团队可以启动由微软管理的实例,从而省去配置和维护服务器的麻烦。</p><p>其他云供应商也在遵循类似的路径,亚马逊、谷歌、DigitalOcean、Rackspace 和其他几家公司都提供了租用全配置服务器的选择,这些服务器都有主流开源数据库的运行版本。亚马逊独自提供了大多数主要开源数据库的托管版本。</p><p>这些托管实例的出现使一些开发人员感到困扰。许多云计算提供商发布的新产品公告都提供了安装和维护开源软件包的信息。这些不是无关紧要的任务,但是工作可以自动化。这导致了工具开发人员和云公司之间的摩擦,而这些冲突还远未解决。</p><h2>从开源项目开始的新数据库</h2><p>许多新数据库都是从开源项目开始的。有数十家新公司根据社区开源许可证发布了新数据库。其中大多数公司还试图通过出售一些支持和额外的专有功能来支持自己。</p><p>这些开源项目中,有些项目建立在以前的版本之上。MariaDB 是 MySQL 的创始人之一 Monty Widenius 发起的 MySQL 的分支。在把 MySQL 卖给甲骨文后,他开始了这个新版本。早期版本始于原始的代码库,但最新版本增加了一些特性,可以加快处理极大数据集的速度。SQL 语法的许多基本特性和核心部分是相同的,所以许多开发人员可以在它们之间自由切换。在未来,这种差异可能还会扩大。例如,MariaDB 已经增加了与 Cassandra、 TokuDB 和 sphinx 等流行数据库的集成。</p><p>SequoiaDB 是一个支持 SQL、键值文档存储和直接 JSON 存储的大型分布式数据库。数据库将各种节点连接在一起,每个节点可能是不同的存储引擎,如 MySQL 或 PostgreSQL。数据库将查询路由到适当的节点,同时确保事务可以提供 acid 级别的并发性。核心是在 AGPL 下发布的,而有些连接器是由 Apache 许可证管理的。</p><p>虽然许多新的数据库都是开源的,但并非所有公司都接受这种模式。例如,Fauna 为它的分布式数据库选择了一个商业许可证。对企业友好的特性针对的是那些必须兼顾数据保留策略和快速扩展的管理人员。新的开发人员可能无法访问源代码,但是他们可以使用托管服务的免费层,该层严格限制每月可读或写的元素数量。</p><h2>如何治理开源数据库</h2><p>软件的控制是吸引许多用户使用开源数据库的原因,他们愿意为专有软件公司出售的产品按时支付工资,通常是为了避免供应商锁定可能带来麻烦。开源许可证明确地使用户成为控制代码的正式合作伙伴。</p><p>但是,这种伙伴关系的性质和局限性仍然受到质疑。最近,几家数据库公司对某些云公司将硬件和维护捆绑在一起的方式表示反感。MongoDB 和 Elastic 都对这一过程是否公平提出了质疑,部分原因是云公司不直接与原公司分享收入。云计算公司并没有违反开源许可协议的字面意思,但有些人认为他们保留了大部分的付款份额,违背了开源协议的精神。</p><p>最近,Elastic 的首席执行官 Shay Banon 宣布,他们正在将所有新的开发转移到一套更严格的许可证,旨在阻止大型云提供商自由转售他们的工具,同时不限制终端用户。</p><p>他说:“我们尝试了所有可能的途径,包括通过法院。但鉴于 AWS 的持续行为,我们决定改变我们的许可证,这<br>样我们就可以专注于生产产品和创新,而不是诉讼。”</p><p>作为回应,亚马逊宣布将为 Elastic“fork”代码。也就是说,他们将公开获取最新版本,并继续自己维护同时在云中转售它。 </p><p><img src="/img/bVcOLsp" alt="image.png" title="image.png"></p><p>亚马逊的 Carl Meadows、Jules Graybill、Kyle Davis 和 Mehul Shah “今天,我们在亚马逊 ES 上提供18个 Elasticsearch 版本,没有一个受到许可证变更的影响。未来,亚马逊的 ES 将由 Elasticsearch 和 Kibana 的新分支提供动力。我们将继续提供新的特性、修复和增强功能。”</p><p>这其中有两条路径可能沿着相同的方向发展,也可能不会。核心功能可能保持不变,但用户可能需要与其中一个保持一致。他们的代码可能在两者之间顺利工作,或者可能存在问题。我们不知道开发团队会做出哪些决定。</p><p>过去已经开发出了这种 Forks 这种方式,甲骨文版本的 MySQL 仍然与 MariaDB 非常相似,并且看起来两家公司都认为保持紧密的兼容性非常重要,至少在核心特性和语法上是这样。</p><p>另一家数据库公司 MongoDB 是采用限制性更强的许可证——服务器端公共许可证(SSPL)的先驱之一,该许可证限制非合作伙伴的云提供商。自 2018 年以来,它一直在这个许可下发布产品,平衡了公司和用户的需求。</p><p>MongoDB 首席执行官兼总裁 Dev Ittycheria 在一次采访中说,“我们希望为开发人员提供一种简单的方式来访问我们的产品,这样他们就可以以无摩擦的方式使用、修改和重新发布我们的产品,这在 SSPL 下没有什么不同。”</p><p>但他也指出,MongoDB 已经在研发方面投资了7亿美元,这是由合作伙伴支付的。他解释说: “我们希望对抗超级云供应商拿走我们的免费产品并提供服务而不付出任何回报的威胁。自从我们将许可改为 SSPL 以来,已经过去两年多了,这对用户接受程度和我们作为一家公司的成功没有产生任何负面影响。”</p><hr><p>开源的真正意义是,竭尽全力支持自由阅读、使用和修改代码的最初愿景。</p><p>作为开源软件运动的原始开发者之一,Richard Stallman 曾说过这样一句话:“Open source is free as in freedom, not as in beer.”</p><p><img src="http://www.tvxinternet.com/img/bVbOFol" alt="segmentfault 公众号" title="segmentfault 公众号"></p> 研究人员入侵 35 家公司系统,苹果、微软、特斯拉无一幸免 http://www.tvxinternet.com/a/1190000039224850 2021-02-18T18:09:38+08:00 2021-02-18T18:09:38+08:00 芒果果 http://www.tvxinternet.com 0 <p><img src="/img/bVcOKj9" alt="研究人员入侵 35 家公司系统,苹果、微软、特斯拉无一幸免" title="研究人员入侵 35 家公司系统,苹果、微软、特斯拉无一幸免"></p><p>一名罗马尼亚威胁研究员 Alex Birsan 在一份报告中详细说明了他是如何侵入世界上一些大公司的 IT 系统的。他成功地入侵了苹果、微软、特斯拉、贝宝、 Netflix 和其他 30 多家公司。</p><p>Alex Birsan 事先通知了这些公司,他将测试他们系统的安全性,但没有事先向他们提供细节。</p><h2>漏洞攻击成功率惊人</h2><p>Alex Birsan 通过启动一个相对简单的攻击模式完成了这些任务: 他用公共代码包定期地替换由服务器激活的私有代码包。当搜索代码包时,公司使用的自动化系统会进入公共存储库。如果执行某个特定功能需要 Javascript、 Ruby 或 Python 模块,公司服务器将自动将一个公共模块替换为自己的内部模块,如果它检测到一个名称相同的包,它认为这是一个更新的版本。</p><p>Birsan 说,他的漏洞暴露了“自动构建或安装工具中的漏洞或设计缺陷,这些漏洞或缺陷可能导致将公共依赖项误认为是名称完全相同的内部依赖项。”</p><p>Birsan 利用了这个漏洞,将代码注入到存储在 GitHub 等公共存储库中的包中。他把这种刻意的名称重复和随后的文件交换称为“依赖性混淆”。<br>他首先必须确定代码文件使用的公司名称,这样他就可以创建同名的伪造文件,但他发现这项任务相对容易。例如,Shopify 自动安装了一个来自 Birsan 的伪造文件,他猜对了这个文件是“ Shopify-cloud”。</p><p>Birsan 对自己的战绩做了评估,他说:“成功率简直令人吃惊,我们能够自动扫描目标公司的数百万个域名,并提取出数百个尚未在 npm 注册中被认领的 javascript 包名称。”</p><h2>研究员靠入侵测试赚了 13 万美元</h2><p>这种由恶意参与者植入的信息可能会对整个公司的网络造成严重破坏,扰乱公司运营,窃取数据或企图敲诈钱财。</p><p>Birsan 的代码并没有恶意,他只检索了每台受代码影响的计算机的基本信息,包括用户名、主机名和每个唯一安装的当前路径。当目标公司激活 Birsan 代码时,程序就会通知他。</p><p>除了外部 IP,这些数据足以帮助安全团队根据这份报告识别可能存在漏洞的系统,同时避免 Birsan 的测试被误认为是实际攻击。</p><p>作为回报,Birsan 收到了这些公司支付给发现漏洞的研究人员的“漏洞赏金”,他收到的赏金总额超过了 13 万美元。</p><p>此外,Birsan 的一位同事 Justin Gardner 检查了一个内部 JavaScript 包管理文件,他想知道如果将一个名字相同的文件放在一个公共存储库中会发生什么。他们很快发现,无论哪个文件有最近的版本号,都会被公司的服务器点击。</p><p>Birsan 表示大多数受影响的公司能够在收到入侵通知后迅速修补他们的系统。但他认为对开源平台依赖性的混淆仍然是一个问题。</p><p><img src="http://www.tvxinternet.com/img/bVbOFol" alt="segmentfault 公众号" title="segmentfault 公众号"></p> LG 正在为苹果生产可折叠显示屏?折叠屏 iPhone 或将在 2023 年公布 http://www.tvxinternet.com/a/1190000039223631 2021-02-18T16:03:52+08:00 2021-02-18T16:03:52+08:00 芒果果 http://www.tvxinternet.com 1 <p><img src="/img/bVcMWFU" alt="LG 正在为苹果生产可折叠显示屏?苹果的折叠屏 iPhone 或将在 2023 年公布" title="LG 正在为苹果生产可折叠显示屏?苹果的折叠屏 iPhone 或将在 2023 年公布"></p><p>据悉苹果已委托 LG Display 开发一种用于可折叠 iPhone 的显示屏。</p><p>业内消息人士称,苹果计划在 2023 年推出具有 7 英寸 OLED 显示屏和 Apple Pencil 支持的可折叠 iPhone。</p><h2>折叠屏 iPhone 传言不断</h2><p>2016 年有传言称 LG 将批量生产可折叠显示屏,并将在 2018 年向苹果和谷歌供货。</p><p>2017 年,又有消息传出苹果正与 LG 合作开发可折叠显示屏 iPhone。LG 有许多使用柔性 OLED 面板的可折叠显示器原型,其中一个可以像书本一样折叠起来,另一个可以像报纸一样卷起来。</p><p><img src="/img/bVcOJZo" alt="image.png" title="image.png"></p><p>去年曾有传言称三星将从 2020 年 9 月开始向苹果提供可折叠显示屏样本,以用于将来的可折叠 iPhone。最近,又有传言称 LG Display 也可能参与可折叠 iPhone 显示屏的开发。</p><p>据彭博社报道,苹果已经开始在可折叠 iPhone 上进行早期工作,但该公司尚未承诺将何时发布可折叠设备。据了解,苹果的实验室中还没有可折叠 iPhone 的原型。</p><p>目前,苹果已经讨论了几种可折叠的屏幕尺寸,其中一种可以折叠到类似于 iPhone 12 Pro Max 上的 6.7 英寸显示屏的尺寸。据说苹果的设计有一个“隐形铰链”。</p><h2>苹果“疯狂”申请折叠屏专利</h2><p>苹果确实为可折叠设备申请了相关专利,其中包括 2016 年的申请的,首个使用柔性 OLED 显示屏和铰链式金属支撑结构水平折叠的专利。</p><p><img src="/img/bVcOJZz" alt="image.png" title="image.png"></p><p>2019 年,苹果申请了具有内置加热元件或显示屏加热功能的可折叠智能手机,以减少在低温下折叠时的故障。</p><p><img src="/img/bVcOJZE" alt="image.png" title="image.png"></p><p>2020 年 2 月,苹果的新专利中描述了一种可防止显示被弄皱或折叠时损坏的铰链机构的折叠式装置。</p><p>所述铰链机构的设计可确保在显示器的第一部分和第二部分之间有足够的分离。当装置被展开,可动翼片延伸以覆盖所述间隙,然后当设备被折叠缩回。</p><p>到了 3 月,苹果又在新专利中描述了一个另类的设计,通过使用接近传感器将两个设备连接为一个。</p><p><img src="/img/bVcOJZU" alt="image.png" title="image.png"></p><p>该专利设想了两个单独的设备,当它们与共享的显示器放在一起时会自动相互检测,由两个彼此无缝通信的显示器组成。</p><hr><p>目前苹果官方还没有透露任何有关可折叠 iPhone 的具体消息,三星和华为的折叠屏手机分别提供了内折和外折的设计,但苹果的专利仍是概念性的。</p><p>我们不知道苹果的可折叠智能手机究竟将采用何种设计,但据称它已在开发中。</p><p><img src="http://www.tvxinternet.com/img/bVbOFol" alt="segmentfault 公众号" title="segmentfault 公众号"></p> 安全研究人员发现首批针对 M1 芯片的恶意软件 http://www.tvxinternet.com/a/1190000039223130 2021-02-18T15:21:58+08:00 2021-02-18T15:21:58+08:00 芒果果 http://www.tvxinternet.com 0 <p><img src="/img/bVcOJSG" alt="安全研究人员发现首批针对 M1 芯片的恶意软件" title="安全研究人员发现首批针对 M1 芯片的恶意软件"></p><p>安全研究人员发现了专门针对苹果 M1 芯片运行的恶意软件。</p><p>Mac 安全研究人员 Patrick Wardle 发布报告详细解释了恶意软件如何开始进行改编和重新编译以在 ?M1 ?芯片上本地运行。</p><hr><p>Patrick Wardle 以 Safari 广告软件扩展的形式发现了第一个已知的本地 M1 恶意软件,该扩展最初被编写为在 Intel x86 芯片上运行。</p><p>该恶意扩展名为“ GoSearch22”,是“ Pirrit” Mac 广告软件家族的知名成员,于 12 月底首次被发现。Pirrit 是最古老,最活跃的 Mac 广告软件系列之一,众所周知,它一直在不断变化以逃避检测 ,现在它已经开始适应 ?M1?。</p><p>GoSearch22 广告软件将自己展示为合法的 Safari 浏览器扩展程序,但会收集用户数据并投放大量广告,例如横幅广告和弹出窗口,其中包括一些链接到恶意网站以扩散更多恶意软件的广告。Patrick Wardle 说,该广告软件已在 11 月与 Apple Developer ID 签约,以进一步隐藏其恶意内容,但此后已被撤销。</p><p>Patrick Wardle 指出,由于 ?M1? 的恶意软件仍处于早期阶段,因此防病毒扫描程序无法像 x86 版本那样容易地检测到它,而诸如防病毒引擎之类的防御工具正努力处理修改后的文件。尚未真正观察到用于检测 M1 芯片上恶意软件威胁的签名,因此尚无法使用用于检测和处理它的安全工具。</p><p>安全公司 Red Canary 的研究人员称,他们还发现了与 Wardle 介绍的不同类型本地 M1恶意软件,并且正在对其进行调查。</p><p>目前只有 MacBook Pro、MacBook Air 和 Mac mini?具有 M1 芯片,但预计该技术将在未来两年内扩展到 Mac 系列产品中。考虑到所有新的 Mac 计算机都有望在不久的将来配备诸如“ M1”的苹果硅芯片,恶意软件开发人员最终将开始瞄准苹果的新计算机是不可避免的。</p><hr><p>尽管研究人员发现的 M1 原生恶意软件似乎并不罕见或没有特别危险,但这些新品种的出现也对安全研究人员和消费者提出了警告,未来类似的恶意软件可能回出现更多。</p><p>有关首批M1本地恶意软件的更多信息,可以参阅 Patrick Wardle 的完整报告:<a rel="nofollow noreferrer">https://objective-see.com/blog/blog_0x62.html</a></p><p><img src="http://www.tvxinternet.com/img/bVbOFol" alt="segmentfault 公众号" title="segmentfault 公众号"></p> 微软开源微服务新进展,Dapr 项目即将商用 http://www.tvxinternet.com/a/1190000039222932 2021-02-18T15:05:15+08:00 2021-02-18T15:05:15+08:00 芒果果 http://www.tvxinternet.com 1 <p><img src="/img/bVcOJPx" alt="微软开源微服务新进展,Dapr 项目即将商用" title="微软开源微服务新进展,Dapr 项目即将商用"></p><p>微软今天宣布,其开源项目 Dapr 现在已经可以投入生产了,它的 v1.0 版本作为 Alpha 项目进入社区开发 16 个月后便可在 GitHub 上 使用。</p><p>Dapr 是分布式应用程序运行时的缩写,在过去的十年中,由 Uber 和 Netflix 等公司领导了从单一的本地软件向云和微服务软件架构的转变。由较小的,基于功能的组件(通过 API 连接)构建的应用程序可以更轻松地开发和维护,并且由单个开发人员负责一项服务(或“微服务”)。</p><p>虽然 Dapr 可以在本地计算机上的自托管环境中使用,但它被定位为“可移植的、事件驱动的运行时”,这使得开发人员更容易在云或边缘(例如物联网)上构建基于微服务的应用程序。该项目的最终目标是通过提供所谓的“最佳实践构建块”,使开发人员能够使用任何语言或框架创建分布式应用程序。</p><p>这些构建块可以通过 HTTP 或 gRPC API 访问,包括服务到服务的调用(支持对远程服务的方法调用)和状态管理(支持同一应用程序中的有状态和无状态服务)。</p><p><img src="/img/bVcOJPM" alt="image.png" title="image.png"></p><p>Dapr 的核心是降低开发人员构建现代本地云应用程序的门槛,不再需要管理和理解跨越无数语言、框架和平台的复杂技术堆栈。这也符合一个更广泛的趋势,像 Nginx 和 Vfunction 这样的公司都得到了 VC 的支持,帮助企业从整体式服务向微型服务过渡。</p><h2>拥抱开源</h2><p>从历史上看,微软与专有软件的关系更为密切,但是在 Satya Nadella 的领导下,微软已经开始拥抱开源。Satya Nadella 负责 .NET 的开源,微软加入 Linux 基金会和 Linux 开放源代码促进会等等。</p><p>微软还表示,开放源码现在是“跨公司协作的可接受模式”,并指出大公司现在可以在几周而不是几个月内在软件项目上聚在一起。</p><p>值得注意的是,由于 Dapr 的设计是开放的且与供应商无关,它的各种组件可以很容易地与所有主要的公共云集成,包括亚马逊的 AWS、谷歌云、阿里巴巴,当然还有 Azure。</p><p>微软表示,在 v1.0 版本中,它将重点放在 Kubernetes 上,以便在云中运行可用于生产的应用程序。但随着 Dapr 的进一步发展,它预计它完全支持的托管环境将“增加和多样化”这将包括虚拟机(VM)、平台即服务(PaaS)和边缘环境。</p><p><img src="http://www.tvxinternet.com/img/bVbOFol" alt="segmentfault 公众号" title="segmentfault 公众号"></p> Chrome OS 去年市场占有率大涨,引开发者们重视 http://www.tvxinternet.com/a/1190000039221655 2021-02-18T12:05:34+08:00 2021-02-18T12:05:34+08:00 宗恩 http://www.tvxinternet.com 0 <p><img src="/img/remote/1460000039221657" alt="" title=""></p><p>来自IDC的最新数据显示,2020年 Chrome OS 电脑的销量首次超过 macOS 电脑 ,市场份额大幅增长,而 Windows 却大幅度下滑。</p><p>这个数据证明谷歌取得一定的胜利,对苹果和微软来说是一个警告。但最重要的是向应用程序和游戏开发者发出信号,Chrome 操作系统不应再被忽略,换句话说任何互联网产品或服务的公司都应预留资源,确保 Chrome 操作系统的体验可与 Windows 和 macOS 相提并论。</p><h2>数据分析</h2><p>2020年第一季度,苹果和谷歌并驾齐驱:Windows占据了87.5%的市场份额,macOS占据了5.8%的市场份额,Chrome OS占据了5.3%的市场份额。但是在2020年第二季度,Windows下降至81.7%,macOS增长至7.6%,Chrome OS跃升至10.0%。</p><p>2020年第三季度和2020年第四季度趋势更加明显:Windows在第三季度进一步下降至78.9%,然后在第四季度下降至76.7%;macOS在第三季度增长到8.4%,然后在第四季度回落到7.7%,而Chrome OS在第三季度占11.5%,然后在第四季度占14.4%。</p><p>以下是按年细分:</p><ul><li>Windows:下降4.9点,从2019年的85.4%下降到2020年的80.5%</li><li>Chrome操作系统:增长4.4点,从2019年的6.4%到2020年的10.8%</li><li>macOS:上升0.8点,从2019年的6.7%到2020年的7.5%</li></ul><p>连续三个季度Chrome OS高于macOS成为一种趋势。可以说,宏碁、华硕、戴尔、惠普和联想等PC厂商的Chromebook现在已经超过了苹果的一系列台式机Mac和笔记本MacBook。</p><hr><p>在经历了多年下降后,PC 出货量在2019年逆转局面,开始增长,却因为新冠病毒的突然爆发,在2020年第一季度发生大幅度下滑。好在2020年第二季度和剩下的时间里,供应紧张问题得到解决,远程办公和在线教育的兴起推动了企业和消费者的PC需求。</p><p>其实 Chrome OS在过去几年一直在增长,所以2020年增长加快并不太奇怪。值得关注的问题是这种增长是否会继续,又是否会以牺牲Windows为代价?虽然PC出货量全面上升,但 macOS的份额也在不断增加,而Windows几十年来首次跌破80%的门槛。</p><p>Chrome OS挑战Windows在低成本笔记本市场的统治地位,是传统PC销量更大反弹的一部分,也是微软将Windows 10X转移到最初在单屏设备上首发的原因之一。在疫情之前,Chrome操作系统的成功主要限于美国学校。2020年的需求似乎已经扩大到美国PC市场这一很小但至关重要的部分,未来Chrome 操作系统有很大可能份额继续上涨,扩展到美国以外的市场。</p><p><img src="/img/bVcOJue" alt="image.png" title="image.png"></p> 有钱任性!90 岁老爷爷因网速太慢,刊登 10000 美元报纸广告投诉! http://www.tvxinternet.com/a/1190000039221512 2021-02-18T11:49:55+08:00 2021-02-18T11:49:55+08:00 王治治 http://www.tvxinternet.com 0 <p><img src="/img/bVcOJsA" alt="AT&T" title="AT&T"></p><p>你家的网速怎么样?因为自己家的光纤速度太慢,一位 90 岁的老爷爷花了 10000 美元在报纸上刊登广告,最终效果很明显,不仅接到了 AT&T 首席执行官约翰·斯坦基(John Stankey)的私人电话,还造福了邻居,一起升级了光纤。</p><hr><p>这位老爷爷的名字叫做艾伦·爱泼斯坦(Aaron Epstein),曾经在 AT&T 工作过 60 年,退休在家后最喜欢在互联网上观看流媒体电影和看电视,但用他的话来说,他所在地区的光纤速度“快如闪电”,家里的网速最高也才 3M/s,看电影就像在看幻灯片。</p><p><img src="/img/bVcOJsU" alt="AT&T" title="AT&T"></p><p>在过去的五年中,他不断的给 AT&T 的客户服务部打电话投诉,但问题一直没有被解决。于是,一个想法冒了出来。</p><p>“好吧,只有一种方法可以解决了。让我在让我们在纽约市版的《华尔街日报》上刊登一则广告吧。”</p><p>最终,爱泼斯坦为《华尔街日报》的广告支付了 10,099 美元,刊登的内容包含他的电话号码、电子邮件地址以及给 AT&T 公司的公开信。</p><p>花钱能解决的问题果然都不是问题,广告刊登出去之后问题确实得到了解决。很多人给老爷子打来电话发来邮件,为其声援或者提供解决方案。据报道他还接到了 AT&T 首席执行官约翰·斯坦基(John Stankey)的私人电话。</p><p>电话的内容我们不得而知,但据 AT&T 公司的公开渠道消息表示,该公司将爱泼斯坦的邻里全部进行了升级,作为洛杉矶地区电信光纤网络计划扩展的一部分。</p><h2>光网改造的那些事儿</h2><p>随着现在网络的不断发展,百兆、千兆的宽带基本上成为了家庭宽带的标配。但在固话流行的年代,最初的宽带网络以ADSL方式接入,俗称电话线。宽带通过电话线接入,电话线接猫(学名调制解调器)出网线接电脑(或路由器),这种接入模式最高速率仅仅是 8M。</p><p>虽然现在看比较落后,但在那个年代电话线接入宽带上网却是极少数人才享受的,安装一户宽带往往得花费几千块。</p><p>近几年,ADSL 接入方式宽带网络不能适应互联网时代的发展趋势,渐渐走上被淘汰替换的道路。以光纤接入替代 ADSL 接入,实现光网络改造的工程,是为光网改造。</p><p>光纤接入,光纤到达楼栋、小区、单元、用户家,再以 pon 设备接入用户家,接入互联网,目前家用光纤接入模式速率已经可达千兆级别。</p><p>这也是光纤改造不用入户的原因,只要入户铜线支持百兆或者千兆网络,运营商只要升级小区的入户线路为光纤,然后升级网络设备就可以了。但如果光改以前用的是 ADSL 拨号上网,那就需要换一个光猫了。</p><blockquote>相关资料来源:<br><a rel="nofollow noreferrer">https://www.wistv.com/2021/02...</a></blockquote><p><img src="/img/bVcMrAG" alt="segmentfault 思否" title="segmentfault 思否"></p> 为回忆“上色”,GitHub 上一开源影像还原工具 Star 数已破万! http://www.tvxinternet.com/a/1190000039221508 2021-02-18T11:49:08+08:00 2021-02-18T11:49:08+08:00 芒果果 http://www.tvxinternet.com 1 <p><img src="/img/bVcOJrH" alt="为回忆“上色”,GitHub 上一影像还原工具 Star 数已破万!" title="为回忆“上色”,GitHub 上一影像还原工具 Star 数已破万!"></p><p>影像记录的方式让我们有机会直观的感受历史,一张张照片、一段段视频,承载的是一代代人的记忆。利用着色和还原技术修复老照片,成为了我们回忆亲人,回顾历史的新方法。</p><p>最近,GitHub 上就有一个名为 DeOldify 的黑白影像还原工具受到了很多关注,目前 Star 数已经破万了。值得一的是,这个项目还是开源的!</p><p><img src="/img/bVcOJrU" alt="image.png" title="image.png"></p><h2>三种模型各有所长</h2><p>DeOldify 可以对旧图像和胶片进行着色和还原,在 DeOldify 中可以选择三种模型,每一个都有关键的优点和缺点,因此具有不同的用例。</p><p><strong>艺术性模型:</strong>该模型在有趣的细节和鲜艳度方面实现了图像着色的最高质量结果。但是,最明显的缺点是,要获得最佳结果要花些力气,必须调整渲染分辨率或 render_factor 才能实现此目的。该模型在一些关键的常见场景,包括自然场景和肖像中表现不佳,它的重点放在解码器端的层深度上。</p><p><img src="/img/bVcOJrV" alt="image.png" title="image.png"></p><p><strong>稳定性模型:</strong>该模型在横向和纵向条件下可获得最佳效果,通常比艺术色具有更少的怪异色泽,该模型着重于解码器侧的层宽度。</p><p><img src="/img/bVcOJrW" alt="image.png" title="image.png"></p><p><strong>视频模型:</strong>此模型针对平滑,一致和无闪烁的视频进行优化。这肯定是这三种模型中色彩最少的一种,但是说实话,它与“稳定”相差不远。该模型在架构上与“稳定”相同,但在训练上有所不同。</p><p><img src="/img/bVcOJrZ" alt="image" title="image"></p><p>虽然旧照片还原技术让我们有机会看到过去你十年甚者上百年前的真实影像,但它仍可能存在一个问题,那就是这些照片和视频的颜色还原是否准确?</p><p>以下面这张图为例,还原出的照片中,桥的颜色是白色的,但经过调查,这座桥其实是红色的。也就是说,对于旧照片还原技术来说,历史准确性仍然是一个巨大的挑战。</p><p><img src="/img/bVcOJr0" alt="image.png" title="image.png"></p><h2>NoGAN 是啥?为啥用了它图像色彩更稳定?</h2><p><strong>什么是 NoGAN ?</strong></p><p>这是 DeOldify 创建者开发的一种新型 GAN 训练,用于解决以前的DeOldify模型中的一些关键问题。大部分训练时间都花费在通过更直接、更快速、更可靠的常规方法分别对生成器和注释器进行预训练。这种方法可以消除故障和伪影。</p><p>原始 DeOldify 模型:</p><p><img src="/img/bVcOJsz" alt="2.gif" title="2.gif"></p><p>基于 NoGAN 的 DeOldify 模型:</p><p><img src="/img/bVcOJsF" alt="image" title="image"></p><p>影像修复技术中,稳定的还原视频图像非常有难度。DeOldify 采用了 NoGAN 训练结合 GAN 训练的方式,不仅可以提供稳定的色彩图像修复,还能消除视频中的闪烁。</p><p>视频是使用隔离的图像生成来渲染的,而无需附加任何时间建模,一次使用 1% 到 3% 的 imagenet 数据。然后,与静止图像着色一样,在重建视频之前对各个帧进行“ DeOldify”处理。</p><p>除了提高视频稳定性之外,还有一件有趣的事情值得一提。虽然不同的模型和具有不同的培训结构的模型,但都都或多或少地得出相同的解决方案。甚至对任意的和不可知的事物进行着色的情况也是如此,例如衣服,汽车的颜色,甚至是特殊效果的颜色。</p><p>对此,DeOldify 的创建者猜测,这些模型正在学习一些有趣的规则,以根据黑白图像中存在的细微提示来着色。即使在运动场景中,这些渲染的结果也非常一致。</p><h2>关于开源支持的声明</h2><p>开源已经为世界带来了很多好处,DeOldify 的创建也得益于开源。</p><p>DeOldify 的创建者在声明中表示,“我们的立场是,我们提供的研究代码和文档,是有益于世界的。我们所提供的是关于彩色化、广域网和视频的新颖表现,希望对开发人员和研究人员有所帮助,以供学习和采用。”</p><p>他们并不打算提供一个可以随时使用的免费“产品”或“应用程序”,并且未来也不打算提供这种服务。他们说:“DeOldify 将继续是一个基于 Linux 的项目,没有 Windows 支持,用 Python 编码,并要求人们有一些额外的技术背景才能使用它。”</p><p>现在,已经有一些人通过 DeOldify 开发了自己的应用程序,有的是付费的,有的是免费的。对此,DeOldify 创建者的立场是,只要你有适当的背景和资源,则该项目将为你提供足够的入门资源。</p><h2>安装细节</h2><p>这个项目是围绕 Fast.AI 库构建的,现在已经可以使用 Anaconda 进行简单安装了。</p><p><strong>具体步骤如下:</strong></p><p>打开命令行并导航到要安装的根文件夹,然后键入以下命令:</p><p><img src="/img/bVcOJsT" alt="image.png" title="image.png"></p><p>然后开始使用以下命令运行:</p><p><img src="/img/bVcOJsV" alt="image.png" title="image.png"></p><hr><p>参考链接:<a rel="nofollow noreferrer">https://hackernoon.com/deoldify-can-colorize-your-black-and-white-photos-with-full-photorealistic-renders-5k2i33c3</a></p><p>GitHub 地址:<a rel="nofollow noreferrer">https://github.com/jantic/DeOldify#a-statement-on-open-source-support</a></p><p><img src="http://www.tvxinternet.com/img/bVbOFol" alt="segmentfault 公众号" title="segmentfault 公众号"></p> 下载量超 10 亿的 Android 应用被曝安全漏洞,三个月仍未修复 http://www.tvxinternet.com/a/1190000039215156 2021-02-17T11:04:00+08:00 2021-02-17T11:04:00+08:00 芒果果 http://www.tvxinternet.com 0 <p><img src="/img/bVcOHOF" alt="下载量超 10 亿的 Android 应用被曝安全漏洞,三个月仍未修复" title="下载量超 10 亿的 Android 应用被曝安全漏洞,三个月仍未修复"></p><p>一个被下载超过 10 亿次的 Android 应用程序包含了未修补的漏洞,而这个包含漏洞的应用程序的修复时间已经超过了三个月。</p><p>这些漏洞影响了 Android 版本的 SHAREit,一个允许用户与朋友或个人设备共享文件的移动应用程序。</p><h2>该漏洞可向应用发送恶意命令,擅自安装第三方应用</h2><p>安全公司 Trend Micro 分析师 Echo Duan 在一份报告中说,这些漏洞可以被用来在安装了 SHAREit 应用程序的智能手机上运行恶意代码。<br>Echo Duan 表示,安装在用户设备上的恶意应用程序,或者进行中间人网络攻击的攻击者,可以向 SHAREit 应用程序发送恶意命令,劫持其合法功能,以运行定制代码,覆盖应用程序的本地文件,或者在用户不知情的情况下安装第三方应用程序。</p><p>此外,这款应用还容易受到所谓的“Man-in-the-Disk”攻击,Check Point 在 2018 年首次描述了这种攻击,主要是在手机存储空间与其他应用共享的位置存储敏感的应用资源,这些资源可能会被删除、编辑或被攻击者替换。</p><h2>应用程序制造商三个月内未回应漏洞事件</h2><p>Echo Duan 称,“我们向应用程序制造商报告了这些漏洞,但他们至今还没有回应。”</p><p>他补充说: “我们在报告此事三个月后决定公布我们的研究结果,因为很多用户可能会受到此次攻击的影响,因为攻击者可以窃取敏感数据。”同时他还指出,从防御者的角度来看,这些攻击都很难被发现。</p><p>在其网站上,SHAREit 开发者声称他们的应用在全球200多个国家有18亿用户使用。这些漏洞不会影响运行在不同代码库上的 SHAREit iOS 应用程序。</p><p><img src="http://www.tvxinternet.com/img/bVbOFol" alt="segmentfault 公众号" title="segmentfault 公众号"></p> 什么是低代码数据库? http://www.tvxinternet.com/a/1190000039215142 2021-02-17T10:39:00+08:00 2021-02-17T10:39:00+08:00 芒果果 http://www.tvxinternet.com 2 <p><img src="/img/bVcOHOg" alt="什么是低代码数据库?" title="什么是低代码数据库?"></p><p>低代码数据库是使用简单的用户界面设计的工具,即使没有任何编程背景的人也可以成功地使用它。由于低代码开发的繁荣,它们的需求量很大。越来越多的新产品通过精心设计和简化的界面为非程序员提供了机会。</p><p>“低代码”这个术语意味着不需要多少编程就能完成这项工作。有时候,只需要拖拽一些图标,然后进行一些只需要点击的工作或者填写一些表单。这个术语广泛应用于各种企业产品,而数据库只是其中之一。事实上,许多产品都提供围绕核心数据库的专门服务。</p><p>随着劳动力和工作流变得越来越自动化,这种情况正在越来越频繁地出现,并驱使公司采用低代码数据库。</p><p>“低代码”这个术语不仅适用于一线产品。它还在 IT 堆栈的各个角落找到了归宿,比如数据库。无休止的命令行调用已被设置向导和更漂亮的用户界面缓慢而可靠地替换。</p><p>这些产品是否能够实现需求有很多争论,尽管可以带来更美观的屏幕和图形用户界面,但仍有一些棘手的技术问题隐藏在外观之下。有时需要一个熟练的编码人员来理解存储数据的最佳方式,以便能够有效地对数据进行排序和检索。</p><h2>低代码数据库用例</h2><p>传统的开发人员和新手都能够创建连接用户和数据库的基本应用程序。一些常见的用例包括:</p><ul><li>记录保存ーー办公室工作人员可以创建新的数据库表来跟踪办公室功能,而无需依赖全面的开发人员。</li><li>客户互动——需要收集请求或向客户发送更新的企业可以创建面向外部的应用程序,并填写大量数据表单。</li><li>伙伴关系ーー它不仅仅是面向客户的应用程序; 低代码工具可以通过减少支持新合同所需的迭代次数来加速新业务关系的发展。</li><li>实验ー低代码数据库用于构建原型和测试工作流程。他们不需要大型团队多月工作的投资。</li></ul><h2>低代码数据库的主要提供者</h2><p>微软是最早推出低代码数据库的公司之一。最初版本的 Access 于 1992 年首次发布,目标客户是普通的计算机用户,并最终与 Office 产品捆绑在一起,比如文字处理器。人们可以创建和填写一个数据库几乎像写备忘录一样容易。</p><p>最新的一套工具现在以“ Power App”的名义推出,它支持围绕数据库的复杂应用程序。这些工具与基本的 Office 应用程序紧密集成,并面向同一组用户销售。用户可能不会花太多时间担心数据的去向,但许多人可能会使用与微软高端旗舰 SQL Server 的连接。</p><p>甲骨文的数据库可能曾经是最难安装的数据库之一,但是今天该公司推出了一些“自动”版本也就是说,这个工具包括自动化程序,处理许多原本由人类完成的杂务。据说它是“自动调整”、“自动调整”、“自动修理”和“自动供应”还有“自动备份”和“自动故障转移”</p><p>许多这些特性使得数据库管理员的工作更加容易,并且使得其他开发人员更容易兼职处理这些工作。虽然有创建数据库的网络界面,但对于普通用户来说,它们可能仍然太复杂。</p><p>SAP 将其过程称为“快速应用程序开发”,并提供了几种工具来访问云中的数据。例如,Ruum 将把图标串在一起,将数据导入 SAP 进程。它的机器人过程自动化工具包括人工智能的特点,如文本识别,转换数据自动存储在数据库之前。</p><h2>新出现的提供商</h2><p>很难在低代码数据库和任何通用应用程序之间划清界限,许多应用程序只是包裹在数据库周围的薄前端,因此用户可能在没有意识到的情况下将自己的信息存储在传统数据库中。至少对于一般应用程序来说,自动化层可以简化流程。</p><p>一些开源工具包被设计用来简化这个过程。例如,Drupal 和 Joomla 是内容管理系统,用于创建充满页面和文章的数据库。Drupal 的 Webform 模块增加了创建详细调查的能力,这样用户就可以输入自己的数据。其他的内容管理系统,比如 WordPress,也可以做同样的事情,但是他们通常更专注于建立博客和其他文本文档。</p><p>主要的云服务正在添加工具,并提供多种方式来创建一个应用程序,在云的数据服务中存储数据。谷歌的 AppSheet 提供了一个快速的方法,将一个应用程序与 g Suite 中的办公产品紧密集成在一起。它是 App Maker 的一个替代品,这个早期的项目最近被关闭了。</p><p><img src="/img/bVcOHOi" alt="image.png" title="image.png"></p><p>套件还包括 Google Forms,这是将用户数据收集到电子表格中的最简单的方法之一。谷歌还支持 AppEngine 和 AppScript,这两个工具简化了应用程序的创建过程,但使用了足够多的编程语言,即使它们非常容易使用,也不会被认为是“低代码”。</p><p>亚马逊也在推出新的选择。它的 Honeycode 作为前端提供了纯粹的拖放操作。任何数据都可以使用 Lambda 函数路由到各种 AWS 存储服务和数据库。它还提供了 AppFlow,一个连接不同 AWS 服务和外部服务(如 Salesforce)的工具。</p><p>其他云服务专门用于使计算接近具有分布式端点的用户。的 Workers 在执行完传统语言的片段(比如 JavaScript)后,会从最近的 Cloudflare CDN 节点快速响应。</p><p>Airtable 正致力于改进用户界面,为浏览器增加一个优雅的表示层,将其云托管的数据库变成一个更漂亮、更复杂的应用程序。有几种主要的表示数据表的方法,从电子表格网格到日历到看板板。它们还以一些用于通用用例的模板开始。</p><p>在某种程度上,这些产品不再被认为仅仅是数据库,或者仅仅作为数据库销售。有几十个很好的例子被打包为“机器人过程自动化”或“超自动化”其中包括 Appian、Kissflow 或 Outsystems。它们都使用许多相同的技术,使普通用户能够以简单的方式编写代码。所有这些最终都将数据存储在数据库中。但在某种程度上,数据库深深地埋藏在代码中。</p><h2>低代码数据库做不到的事</h2><p>低代码工具的复杂性和完善性是很强的,许多简单的任务可以通过开发一个作为数据库基本前端的应用程序来完成。如果作业涉及创建、更新或删除数据库中的行,那么它可能是向用户交付工具的最快方法。</p><p>大多数时候,低代码工具提供了一个后门,用于安装较大的代码块,以处理标准特性可能无法完成的情况。熟练的开发人员可以利用低代码特性快速移动,然后求助于更传统的代码。例如,当由 Honeycode 触发时,AWS Lambda 函数可以执行相当大的代码块。一些人正在利用 Lambda 的低成本编写精细的模拟和计算工作。</p><p>但低代码解决方案,尤其是低代码数据库,往往会受到工作流程中一些细微但重要的警告的影响。例如,可能会涉及后台人员解释,当供应不足时,首先处理来自更好客户的订单,这些细节需要程序员编写代码。</p><p><img src="http://www.tvxinternet.com/img/bVbOFol" alt="segmentfault 公众号" title="segmentfault 公众号"></p> Android 12 有哪些新功能?开发人员测试版本即将发布 http://www.tvxinternet.com/a/1190000039216995 2021-02-17T08:20:50+08:00 2021-02-17T08:20:50+08:00 芒果果 http://www.tvxinternet.com 0 <p><img src="/img/bVcOIih" alt="Android 12 有哪些新功能?开发人员测试版本即将发布" title="Android 12 有哪些新功能?开发人员测试版本即将发布"></p><p>Google 可能即将发布 Android 12 的第一个开发人员测试版,但到目前为止,我们对即将到来的软件更新了解不多。</p><p>最近泄露的屏幕截图已经展示了 Android 12 可能具有的一些功能和升级。以下是外媒对 Android 12 的一些猜测:</p><h2>Android 12 何时发布</h2><ul><li>开发人员测试版现在可以随时发布</li><li>Google 通常会在几个月后跟随开发人员测试版发布公开测试版</li><li>官方发布大约在八月</li></ul><p>每个新版本的 Android 的开发过程都很漫长,通常会在今年年初发布开发者测试版。2020 年,Google 在 2 月 19 日发布了 Android 11 的第一个测试版。如果 Google 遵循相同的时机,我们很快就会看到 Android ?12。</p><p>公开测试版允许任何拥有兼容的 Android 手机(例如 Google Pixel 或 OnePlus 手机)的人注册并帮助 Google 测试下一代 Android。 </p><p>在开发人员有时间为新 API 准备好其应用程序之后,Google 便有正式发布版本,而 Google 则有时间完成构建并摆脱任何残留的错误。去年,Android 11 于 9 月 8 日发布。</p><h2>Android 12 有哪些更新</h2><p>关于 Android 12 的信息很少泄漏,XDA 开发人员最近发布了 一些屏幕截图,据报道是与 Google 合作伙伴共享的文档中的截图。</p><p><img src="/img/bVcOIii" alt="image.png" title="image.png"></p><p>从这些截图中可以发现,Android 12 小部件的外观焕然一新,类似于 iOS 14 上的小部件外观。还有一个新的颜色编码的隐私标签,当设备的麦克风和摄像头被使用时,它会点亮。这类似于 iOS 功能,当应用程序最近访问或当前正在使用您的麦克风和相机时,该功能会在屏幕上放置一个彩色圆点。 </p><p>在过去的几天中,XDA 发布了有关 Android 12 的更多信息。根据 XDA Developers 的说法,它在内部被称为 Material NEXT,它似乎鼓励硬件合作伙伴自定义应用程序,以在材料设计之上适应其品牌。 </p><p>Android 目前有一些可供单手使用的解决方案,目前尚不清楚它的工作方式,但是 XDA 声称,当它触发时,该窗口将通过手势缩小到其大小的 40%,使屏幕顶部附近的按钮和文本更靠近您的拇指。</p><p>Android 12 似乎还具有新的分屏多任务工作流程,这应该有助于提高生产率。该功能支持在分屏模式下同时启动两个经常使用的应用程序。</p><p>最后,有传言称 Android 12 即将推出另一个有趣的功能,那就是专用游戏模式。这项升级可以帮助那些希望在移动设备上玩游戏的人执行诸如触发不打扰,更改显示亮度以及在以下情况下禁用自动旋转等功能。</p><p>无论是通过泄漏还是官方公告,随着 Android 12 发布日期的临近,将有更多新的功能和升级泄露,我们将陆续带来最新消息。</p><p><img src="http://www.tvxinternet.com/img/bVcOHNT" alt="segmentfault 公众号" title="segmentfault 公众号"></p> 云游戏时代来了!微软 xCloud 实现浏览器玩游戏 http://www.tvxinternet.com/a/1190000039215108 2021-02-16T12:07:54+08:00 2021-02-16T12:07:54+08:00 宗恩 http://www.tvxinternet.com 0 <p><img src="/img/remote/1460000039215110" alt="" title=""></p><blockquote>我们在游戏领域的竞争不再是索尼和任天堂,而是谷歌和亚马逊——微软官方</blockquote><p>来自外媒消息,微软已经开始测试其xCloud通过网页浏览器进行云游戏的功能,该服务允许Xbox玩家通过浏览器访问游戏,并允许xCloud在iPhone和iPad等设备上工作。</p><p>就像xCloud目前在Android平板电脑和手机上的工作方式一样,网页版包括一个简单的启动器,其中有游戏推荐、恢复最近播放的游戏的功能,以及访问所有通过Xbox Game Pass Ultimate提供的云游戏。一旦你启动一个游戏,它将全屏运行,你仅需要一个控制器来玩通过浏览器流媒体的Xbox游戏。</p><p><img src="/img/remote/1460000039215111" alt="" title=""></p><p>目前还不清楚这个网页版云游戏的分辨率是多少。软件制造商在现有的xCloud基础架构中使用的是Xbox One S服务器「刀片」,因此在今年后端硬件升级到Xbox Series X组件之前,不会支持全4K流媒体。</p><p>需要注意的是网页版目前似乎仅限于谷歌Chrome和微软Edge、Chromium等浏览器,不过微软正计划在 Windows 10上的PC版Xbox应用中也捆绑这个网页版xCloud。</p><p>但这个网页版背后的最大驱动力其实是对iOS和iPadOS硬件的支持。此前苹果对iOS应用和云服务进行了限制,微软在去年为Android推出xCloud测试版时,并不能支持iPhone和iPad。苹果表示,微软需要提交单个游戏进行审核,微软不得不通过浏览器云游戏避过苹果的审核,这样的操作还有一个好处,就是可以不交苹果税,我们可以大胆猜测,未来会有越来越多的游戏开发者或软件开发者选择云平台。</p><h2>关键问题</h2><h4>云游戏费用多少?</h4><p>从某种角度看,xCloud是免费的,因为Microsoft已将其捆绑到其现有的Game Pass Ultimate订阅中。参考国外的价格约为每月100元,未来微软可能以低于此价格的价格单独提供xCloud作为独立服务,也许价格与索尼竞争对手的基于云的游戏流媒体服务PlayStation Now 每月约80元的费用<br>差不多。</p><h4>哪些国家支持云游戏?</h4><p>微软云游戏服务目前支持 26个国家/地区,包括奥地利、比利时、加拿大、捷克、丹麦、芬兰、法国、德国、匈牙利、爱尔兰、意大利、荷兰、挪威、波兰、葡萄牙、斯洛伐克、西班牙、南美、韩国、瑞典、瑞士、英国、美国、澳大利亚、巴西、日本和墨西哥。随着 Steam 国服的到来,相信微软云游戏也会马上登陆中国。</p><h4>哪些控制器可以与云游戏一起使用?</h4><p>对于大多数游戏而言,最简单的方法是使用官方的Xbox无线控制器-Xbox Series X或Xbox One版本,只要它是支持蓝牙的型号即可,但PlayStation所有者还可以使用其DualShock 4或DualSense游戏手柄。并且几乎所有第三方蓝牙控制器都应该也能正常工作。</p><p><img src="/img/bVcOHNT" alt="image.png" title="image.png"></p> 全世界第二受欢迎的 React UI 组件库,一夜之间不见了... http://www.tvxinternet.com/a/1190000039213106 2021-02-15T14:17:41+08:00 2021-02-15T14:17:41+08:00 王治治 http://www.tvxinternet.com 5 <p><img src="/img/bVcOHhk" alt="Ant Design" title="Ant Design"></p><p>据 Ant Design 官方账号表示,<code>Ant Design</code> 在 Github 上的仓库在没有任何原因的情况下突然消失了,团队正在联系 GitHub 官方寻求帮助和反馈。</p><p>截止发稿时间, Ant Design 官方 GitHub 账号页面仍然显示 404。</p><h2>全世界第二受欢迎的 React UI 组件库</h2><p>Ant Design 是蚂蚁金服推出的一套企业级 UI 设计语言和 React 组件库,从 2015 年推出开始便受到广泛的关注与使用,Ant Design 官网的标题也设置为: <strong>全世界第二受欢迎的 React UI 组件库。</strong></p><p>作为一个设计体系,Ant Design 包含的不仅仅是一个组件库。除了耳熟能详的 Ant Design React 外,还有 Angular 版本的 NG-ZORRO、Ant Desin Mobile、Ant Design Landing、HiTu React,以及来自社区志愿者的 Ant Design Vue。</p><p>垂直方向开箱即用的中台前端 / 设计解决方案 Ant Design Pro 和对应的区块市场,以及衍生组件库 Pro Layout 和 Pro Table。设计上也提供了非常多的规范文档以及相关的设计资产。</p><h2>一夜之间消失,原因不明</h2><p><img src="/img/bVcOHhp" alt="Ant Design" title="Ant Design"></p><p>账号页面消失的具体原因目前尚未公布,有网友表示或许是在从 GitHub 向 Gitee 进行迁移,也有网友表示疑似被黑客入侵导致。</p><p><img src="/img/bVcOHhy" alt="Ant Design" title="Ant Design"></p><p>具体原因我们尚未可知,但据悉 Ant Design 团队正在积极联系 GtiHub 官方进行协调帮助。开发者们依然可以在官网或者 Gitee 上查看及使用相关代码:</p><blockquote><a rel="nofollow noreferrer">https://ant-design.gitee.io</a><br><a rel="nofollow noreferrer">https://gitee.com/ant-design/...</a></blockquote><p><img src="/img/bVcOHhu" alt="segmentfault 思否" title="segmentfault 思否"></p> 黑客自述:我是如何侵入苹果、微软和数十家其他公司的... http://www.tvxinternet.com/a/1190000039213002 2021-02-15T12:46:32+08:00 2021-02-15T12:46:32+08:00 王治治 http://www.tvxinternet.com 0 <p>黑客的工作在我们普通人看来,更像是一门看不懂的“玄学”。但这项玄学的背后,很多看起来高深莫测的网络攻击,使用的都是非常简单却有效的方法。</p><p>最近,一位名叫 Alex Birsan 的黑客,正式通过一种非常简单却实用的方法,发现了 30 多家科技公司存在的漏洞,并因此获得了高额的漏洞赏金。</p><p>下面是这位黑客在个人博客中的自述,我们可以通过这篇文章了解一下玄学背后的故事。</p><hr><blockquote>作者:Alex Birsan<br>原文链接:<a rel="nofollow noreferrer">https://medium.com/@alex.birs...</a></blockquote><p>自从我开始学习如何编程以来,我一直对这一句简单的代码指令有些疑惑:</p><pre><code>pip install package_name </code></pre><p>某些编程语言(例如 Python)使用一种简单的官方方法来为项目安装依赖项。这些安装程序通常与公共代码存储库绑定,在那里任何人都可以自由上传代码包供他人使用。</p><p>当下载和使用其他来源的安装包时,我们基本上是信任其发行者在我们的机器上运行代码。那么这种盲目的信任会被恶意行为者利用吗?</p><p>答案是当然可以。</p><p>任何程序包托管服务都无法保证其用户上传的所有代码均不含恶意软件。过去的研究表明,「域名抢注(利用包名称的错字版本进行的攻击)」在获得对全球随机 PC 的访问方面非常有效。</p><p>其他众所周知的依赖项攻击路径包括使用各种方法来破坏现有软件包,或以不再存在的依赖项名称上传恶意代码。</p><p><img src="/img/bVcOHeY" alt="image.png" title="image.png"></p><h2><strong>想法</strong></h2><p>在 2020 年夏季尝试与我入侵 PayPal 时,Justin Gardner(<a rel="nofollow noreferrer">@Rhynorater</a>)分享了在 GitHub 上发现的有趣的 Node.js 源代码。</p><p>该代码是供内部 PayPal 使用的,并且在其 <code>package.json</code> 文件中似乎包含公共和私有依赖项的混合 —— 来自 npm 的公共软件包以及非公共软件包的名称,这些很可能是 PayPal 内部的私有软件包,由 PayPal 内部托管。因为这些名称当时在公共 npm 注册表中不存在。</p><p><img src="/img/bVcOHeZ" alt="image.png" title="image.png"></p><p>这个逻辑会引起一些问题:</p><ul><li>如果以这些名称将恶意代码上传到 npm 会发生什么?PayPal 的一些内部项目是否有可能开始默认为新的公共软件包而不是私有软件包?</li><li>开发人员或者一些自动化系统会开始在库中运行这些软件包吗?</li><li>如果这种方法行得通,我们可以借助这个方式从科技企业获得漏洞赏金吗?</li><li>这种攻击还会对其他公司起作用吗?</li></ul><p>事不宜迟,我开始制定计划来回答这些问题。</p><p>这个想法是将我自己的“恶意” Node 程序包以所有无人认名的名称上载到npm注册表中,这将从安装它们的每台计算机上“打电话回家”。如果最终将任何软件包安装在 PayPal 拥有的服务器上,则其中的代码会立即通知我。</p><p>在这一步中,我觉得很重要的一点是,必须明确指出,在此研究过程中所针对的每个组织都已允许通过公共漏洞赏金计划或通过私人协议来对其安全性进行测试。<strong>未经授权,请勿尝试这种测试。</strong></p><h2>“总是 DNS”</h2><p>值得庆幸的是,npm 允许在安装软件包时自动执行任意代码,这使我可以轻松创建一个 Node 软件包,该软件包收集有关通过其 <code>preinstall</code> 脚本安装在其上的每台计算机的一些基本信息。</p><p>为了在基于数据识别组织的能力与避免收集太多敏感信息之间取得平衡,我决定只记录用户名,主机名和每个唯一安装的当前路径。与外部 IP 一起使用的数据就足够了,可以帮助安全团队根据我的报告确定可能受到攻击的系统,同时避免将我的测试误认为是实际的攻击。</p><p>现在剩下的一件事 —— 如何将这些数据还给我?</p><p>知道大多数可能的目标都将位于受良好保护的公司网络内部,我认为 DNS 渗透是解决之道。</p><p><img src="/img/bVcOHe1" alt="image.png" title="image.png"></p><p>通过 DNS 协议将信息发送到我的服务器对于测试本身能否正常工作不是必不可少的,但它确实确保了在出站时不太可能阻止或检测到流量。</p><p>数据经过十六进制编码,并用作 DNS 查询的一部分,该 DNS 查询直接或通过中间解析器到达了我的自定义名称服务器。服务器配置为记录每个接收到的查询,实质上记录了下载软件包的每台计算机的记录。</p><h2>多多益善</h2><p>有了攻击的基本计划,现在是时候发现更多可能的目标了。</p><p>第一个策略是寻找类似的生态系统进行攻击。因此,我将代码移植到了 Python 和 Ruby 上,以便能够分别将相似的软件包上传到 PyPI(Python 软件包索引)和 RubyGems。</p><p>但是可以说,该测试最重要的部分是找到尽可能多的相关依赖项名称。</p><p>在搜索了一些目标公司的私有软件包名称的整整几天后,发现可以在 GitHub 以及主要软件包托管服务(偶然发布的内部软件包内部)甚至内部的主要软件包托管服务中找到许多其他名称,或者各种互联网论坛上的帖子。</p><p>但是,到目前为止,找到私有程序包名称的最佳位置竟然是在各家公司或平台的的 javascript 文件中。</p><p>显然,<code>package.json</code> 包含 javascript 项目依赖项名称的内部文件在其构建过程中会嵌入到公共脚本文件中,从而暴露内部包名称,这是很常见的。同样,<code>require()</code> 这些文件中泄漏的内部路径或调用也可能包含依赖项名称。苹果、Yelp 和特斯拉只是以这种方式公开内部名称的公司的一些例子。</p><p><img src="/img/bVcOHe2" alt="image.png" title="image.png"></p><p>在2020年下半年,由于<a rel="nofollow noreferrer">@streaak</a>的帮助和他出色的侦察技能,我们能够自动扫描属于目标公司的数百万个域,并提取数百个尚未在 npm 注册表中声明的 javascript 程序包名称。</p><p>然后,我将代码上传到所有找到的名称下的包托管服务中,并等待回调。</p><h2><strong>结果</strong></h2><p>成功率简直是惊人的。</p><p>从开发人员在自己的计算机上犯下的一次性错误,到内部或基于云的构建服务器配置不当,再到系统易受攻击的开发管道,一件事很明显:抢占有效的内部软件包名称几乎是一种不会失败的方法。一些最大的科技公司的网络,可以远程执行代码,并且可能允许攻击者在构建过程中添加后门。</p><p>迄今为止,我已经在超过 35 种组织中的所有三种经过测试的编程语言中检测到了这种类型的漏洞,我将这种漏洞称为「依赖混淆」。绝大多数受影响的公司属于 1000 多名员工类别,这很可能反映了大型组织内部使用内部软件库的普遍性。</p><p>由于更容易找到 javascript 依赖项名称,几乎所有已记录的回调中有 75% 来自 npm 软件包 —— 但这并不一定意味着 Python 和 Ruby 不太容易受到攻击。实际上,尽管在我的搜索过程中只能识别出属于八个组织的内部 Ruby 名称,但事实证明,其中有四家公司很容易通过 RubyGems 造成依赖混淆。</p><p>加拿大电子商务巨头 Shopify 是这样的公司之一,其构建系统 <code>shopify-cloud</code> 仅在我上传 Ruby 几个小时后自动安装了一个名为 Ruby 的 Ruby gem ,然后尝试在其中运行代码。Shopify 团队在一天之内准备好修复程序,并为发现问题的我提供了 30,000 美元的漏洞赏金。</p><p>在我于 2020 年 8 月上传到 npm 的 Node 包中的代码在其网络内的多台计算机上执行之后,苹果也提供了 30,000 美元的奖励。受影响的项目似乎与 Apple 的身份验证系统(外部称为 Apple ID)有关。</p><p>当我提出这个漏洞可能允许威胁者向 Apple ID 注入后门的想法时,Apple 并不认为这种影响水平可以准确地表示问题所在,而是说:</p><blockquote>在运营服务中实现后门需要更复杂的事件序列,并且这是一个带有附加含义的非常特定的术语。</blockquote><p>但是,Apple 确实确认使用此 npm 软件包技术可以在 Apple 服务器上执行远程代码。根据软件包安装的流程,该问题在我报告的两周内得到解决,但仅在发布此帖子之前不到一天就授予了赏金漏洞。</p><p><img src="/img/bVcOHe3" alt="image.png" title="image.png"></p><p>在针对其他公司的其他几次成功攻击中,可以看到在内部服务器和个人开发人员的 PC 上都安装了相同主题的 npm 软件包,其中一些安装通常是在软件包上载后数小时甚至数分钟进行的。</p><p>实际上,大多数已授予的 Bug 赏金都设置为每个程序的策略所允许的最高数额,有时甚至更高,这证实了依赖混淆 bug 的严重性通常很高。其他受影响的公司包括 Netflix,Yelp 和 Uber。</p><h2>“这不是一个错误,这是一个功能”</h2><p>尽管有大量的依赖混淆的发现,但一个细节在某种程度上仍然是(现在仍然是)尚不清楚:为什么会这样?此类漏洞的主要根源是什么?</p><p>可以理解,大多数受影响的组织都不愿透露有关其根本原因和缓解策略的更多技术细节,但是在我的研究过程中以及与安全团队的沟通中确实出现了一些有趣的细节。</p><p>例如,Python 依赖关系混乱的罪魁祸首似乎是错误地使用了“设计不安全”命令行参数 <code>--extra-index-url</code>。使用此参数 <code>pip install library</code> 指定您自己的包索引时,您可能会发现它可以按预期工作,但是 <code>pip</code> 幕后的实际操作是这样的:</p><ul><li>检查指定(内部)包索引上是否存在库</li><li>检查<strong>公共</strong>包索引(PyPI)是否存在库</li><li>安装找到的任何版本。如果两个软件包均存在,则默认从具有<strong>更高版本号</strong>的源进行安装。</li></ul><p>因此,<code>library 9000.0.0</code>在上面的示例中,上传名为 PyPI 的程序包将导致依赖关系被劫持。</p><p>尽管这种行为已经广为人知,但仅在 GitHub 上搜索 <code>--extra-index-url</code> 就足以找到一些属于大型组织的易受攻击的脚本 —— 包括一个影响 Microsoft .NET Core 组件的错误。不幸的是,该漏洞可能允许向 .NET Core 添加后门程序,但该漏洞在 .NET Bug 赏金计划中未被发现。</p><p>Ruby 的 <code>gem install --source</code> 工作方式也与此类似,但是我无法确定其用法是否是我发现的根本原因。</p><p>当然,更改 <code>--extra-index-url</code> 为 <code>--index-url</code> 是一种快速而直接的解决方法,但是事实证明,依赖混淆的其他一些变体很难得到解决。</p><p>与此同时,Microsoft 还提供了类似的名为 Azure Artifacts 的程序包托管服务。根据我的一份报告,对该服务进行了一些小的改进,以确保它可以为依赖项混淆漏洞提供可靠的解决方法。有趣的是,没有通过测试 Azure Artifacts 本身发现此问题,而是通过成功攻击 Microsoft 自己的基于云的 Office 365 来发现此问题,该报告得到了 Azure 可能获得的最高奖励 40,000 美元。</p><h2>未来的研究?</h2><p>尽管许多大型科技公司已经意识到这种漏洞,并已在其基础架构中对其进行了修复,或者正在努力实施缓解措施,但我仍然感到还有很多发现的感觉。</p><p>具体来说,我相信找到泄漏内部程序包名称的新方法将揭示更多易受攻击的系统,而寻找替代的编程语言和目标存储库将揭示依赖混淆错误的其他攻击面。</p><p>话虽这么说,无论您的经验水平如何,我都竭诚鼓励您花一些时间在脑海中尝试一下该想法 —— 无论它是否与依赖项管理安全性相关。</p><p><img src="/img/bVcOHfQ" alt="image.png" title="image.png"></p> 为什么CTO、技术总监、架构师都不写代码,还那么强? http://www.tvxinternet.com/a/1190000039202906 2021-02-10T13:14:19+08:00 2021-02-10T13:14:19+08:00 宗恩 http://www.tvxinternet.com 8 <p>作者:Mr.K<br>来源:技术领导力</p><p>常常会被问到这样的问题:CTO、技术总监、架构师很少写具体代码,为什么还很牛逼的样子,拿这么高工资?</p><p>其实,这个问题本身就错了。就好比问:导演、制片人为什么不懂演戏,还能指导演员,好像比演员厉害似的?其实不难理解,导演、制片人的核心能力并不是演戏,又怎么能跟演员作比较呢?</p><p>回答前面的问题,逻辑也是一样的,拿CTO、技术总监、架构师,跟程序员比写代码的能力,本身就是个错误。因为,他们的核心能力是不一样的。</p><p><strong>CTO、技术总监、架构师的核心能力是技术判断力</strong>。简单来讲,就是判断一个项目、一个系统架构、某个技术方向,是否符合企业当前现状,是否对企业的未来产生价值。</p><p><strong>程序员的核心能力是写代码的能力。</strong>就是做具体的代码实现。</p><p><strong>所以CTO/技术总监/架构师,跟程序员的核心能力,是完全不一样的能力,是没法作直接比较的</strong>。</p><p>通常我们说,CTO、技术总监、架构师们很牛逼,<strong>指的是他们的技术判断力牛逼,而不是他们写代码的能力牛逼</strong>。相反,他们写代码的能力可能还比不上一个资深程序员。</p><p>但是,<strong>他们所做的技术判断,给公司带来非常高的价值</strong>。比如,阿里云创始人王坚博士,在所有人反对的时候,他坚持云计算是未来,帮助阿里提前布局云计算,为阿里成长为万亿商业帝国,立下汗马功劳。这就是技术判断力,给企业带来的巨大价值。</p><p>大家之所以都很容易混淆这几个角色,以及它们的职责,其实很重要的一个原因就是,<strong>人们常常把CTO、架构师、技术经理的头衔,乱授予技术负责人</strong>。在国内这种现象尤其严重。</p><p>比如,一个初创公司的技术负责人,实际干的活就是个技术经理。老板为了显得高大上,硬要给他安一个CTO的头衔。这种情况很普遍,特别是全民创业的那几年,遍地都是CTO。</p><p>为了说清楚技术负责人的职责,我们以一个电商公司的成长为例,讲解企业在初创期、发展期、成熟期的不同阶段,都需要什么样的技术负责人,以及他们具体都干些什么。</p><p><img src="/img/remote/1460000039202681" alt="图片" title="图片"></p><h2><strong>第一阶段:高级程序员</strong><strong>实现复杂功能,解决技术难题</strong></h2><p>一个刚刚起步的创业公司,通常只有几个程序员,甚至连产品经理、项目经理都没有,老板自己就是产品经理,把想法跟开发人员一说,就快速地做出原型。</p><p>如果这个阶段对开发的能力不满,那么大概需要的只是一个高级开发人员,他能搞定一般的技术难题,实现复杂功能,思路清晰、干活利索。千万不要去大厂挖个技术总监,你家庙太小,供不起这么大的神,他真来了也发挥不了应有的作用。</p><p>老读者知道,老K有过一段创业经历,当时追随我的老领导出来创业,我就是名义上的CTO,带了7、8人的团队,我还同时带了两个项目,每个项目里我都贡献了30%以上的代码量。其实,当时的我,就是个高级程序员而已。</p><p>小结一下,高级程序员的主要职责是:</p><p>1,实现复杂功能,编写核心代码;</p><p>2,处理线上bug,解决技术难题。</p><h2><strong>第二阶段:技术经理</strong><strong>交付效率提高、质量提升</strong></h2><p>当公司的业务发展起来后,就需要一支相对完善的技术团队,有了专职产品经理、测试人员等,团队规模在15人左右,专注于一条产品线。</p><p>复杂功能、技术难题,高级开发人员可以搞定,但是如果要解决开发团队效率、技术人员能力提升、代码质量和编码规范等,就需要技术经理了。技术经理通常写少量的代码,更多做技术管理、项目团队等工作。</p><p>这就是许多创业公司A轮融资前的情况。由技术经理总体负责技术团队,产品经理对接业务需求,做产品规划、竞品分析,而不是抄袭哪个App。</p><p>小结一下,技术经理的职责是:</p><p>1、开发任务分派。开发工作量评估、分派,最大化资源利用率;</p><p>2、代码质量提升。Code Review、编码规范、线上bug分析;</p><p>3、项目管理。确保项目的按时交付,建立管理机制;</p><p>4、团队管理。团队搭建、人员招聘、人员培养。</p><p><img src="/img/remote/1460000039202679" alt="图片" title="图片"></p><h2><strong>第三阶段,技术总监</strong>:<strong>技术规划、多产品线、项目群管理</strong></h2><p>当技术团队发展到30人左右,有了多条核心产品线、有了多个技术经理时,就需要一个技术总监了。</p><p>技术总监,作为领域专家,站在更高的层面思考技术如何建立壁垒,构建技术竞争力。逐步开始建立公共技术平台,协调多条产品线在统一的技术平台上快速迭代,让产品线跑得快、跑得稳。</p><p>技术总监,在领域内有多年沉淀,来自知名互联网企业,能够把技术团队带上一个新的台阶。技术总监,更多是做技术判断了,也有些技术型的技术总监仍然会写些核心代码、做架构设计。</p><p>技术总监的职责:</p><p>1、搭建公司技术平台部,统一技术栈;</p><p>2、建立产品研发体系,让技术团队可持续性地快速交付;</p><p>3、管理和协调多条产品线,打造明星产品;</p><p>4、建立技术壁垒,形成技术竞争力;</p><h2><strong>第四阶段,架构师</strong>:<strong>架构设计、架构实现、架构评审</strong></h2><p>公司如果“跑到”了B轮,技术团队应该要接近百人了,此时的技术团队跟初创时期相比,已经很不错了。</p><p>有技术总监协调着各产品线,有开发经理带领技术团队快速迭代产品。代码规范、最佳实践的总结和推广也在逐步开展。</p><p>此时,需要把架构规划和架构评审的职能从技术总监和开发经理身上剥离,即分离专业岗和管理岗,专业人做专业事。</p><p>这时候就需要设立架构师岗位,专注于技术架构分析、架构设计、架构实现、推动重构、推行架构原则等工作,让技术总监和技术经理侧重在项目管理、团队管理。</p><p>架构师的职责是:</p><p>1、业务架构设计和实现。根据业务规划和应用场景,设计切合当前业务要求,并且具备一定前瞻性的应用架构、类、接口、业务抽象及业务建模等。</p><p>2、架构设计和实现。识别非功能性需求,如性能、可扩展性、安全性、高可用及易部署等。</p><p>3、重构计划及执行。关注全链路监控数据、线上bug、系统预警等信息,识别架构缺陷,提出重构建议并推动执行。</p><p><img src="/img/remote/1460000039202680" alt="图片" title="图片"></p><h2><strong>第五阶段,CTO</strong>:<strong>技术产品战略规划,提升技术竞争力</strong></h2><p>当技术团队有了几名总监、架构师,人数达到几百人,是时候引入真正意义上的CTO了,除非CTO是联合创始人,否则这个CTO会有“虎落平阳”的感觉,公司也会觉得这个人“满嘴跑火车,却落不了地”。</p><p>国内的中大型互联网公司,一般有产品VP和技术VP,有的技术VP就是CTO。如果CTO统管技术和产品,那么产品VP就给CTO汇报,否则他们是平级的。</p><p>在国外,CTO主要研究3~5年的技术发展趋势,为公司做中长期的技术规划,是具有行业影响力的技术大咖,公司技术领域的精神领袖。CTO较少关注当下的具体事务,这类工作主要由工程副总裁们处理。</p><p>以国内互联网公司CTO为例,总结一下CTO的主要职责:</p><p>1、技术赋能商业。敏锐的商业洞察、深入的产业研究、参与公司战略规划,技术引领业务增长,通过技术和产品实现战略落地。</p><p>2、技术趋势研究。思考未来3~5年的技术发展趋势,以及新技术发展给企业带来的机遇和风险,为企业提前布局。</p><p>3、技术治理体系。持续的过程改进、高效的研发流程、稳定的交付质量、高可用的系统。</p><p>4、组织与文化。建设学习型组织、自我完善型组织,建立符合企业特色的文化氛围。</p><h2><strong>结语</strong></h2><p>最后,<strong>不想当CTO的程序员,不是好骑手</strong>。从程序员到CTO的成长过程,需要不断提升技术能力、产品能力、项目能力、管理能力、商业视野、个人影响力、行业人脉等等。除了自身的奋斗之外,机会和运气同样重要,而且是可遇不可求的。但是,梦想还是要有的,万一见鬼了呢。</p><p><img src="/img/bVcOEC4" alt="image.png" title="image.png"></p> 一本到在线是免费观看_亚洲2020天天堂在线观看_国产欧美亚洲精品第一页_最好看的2018中文字幕