译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。
编者按:JavaScript在前端的地位不可撼动,相关职位的薪资待遇也在稳步提升。在这种繁荣的局面下,各种框架和工具层出不穷,一时间令初学的开发者眼花缭乱,不知该做何选择。为此,从事软件开发教学创业的Eric Elliott通过分析Google搜索趋势、State of JS Survey、Stack Overflow等调查数据,以及NPM下载量、汇总的职位发布情况等,给出了有助于获得一份JS编程工作的相关推荐,并且对未来十年的前沿技术进行了展望。原文发表在medium上,标题是:Top JavaScript Frameworks and Topics to Learn in 2020 and the New Decade
如果您想获得一份出色的JavaScript工作,或者想跟上2020及今后10年的重要技术,那这篇文章你找对了。本文的目的不是要告诉你哪些技术栈和框架是“最好的”或者最受欢迎的技术,而是要介绍一下哪些技术栈和框架能为你在2020年及今后拿到一份好工作提供最佳机会。
我们会研究各种来源的数据:
按照主题跟踪Google Search趋势
State of JS Survey的数据
Stack Overflow Survey调查
Npm下载量
汇总的职位发布情况
这些指标都不完美,但就我们的目的而言,npm下载量和职位发布情况最为重要,当我们把这些指标汇总起来看的时候,就能清晰一致地描绘出JavaScript技术的版图和趋势。根据这些指标来选择要学习什么框架是个好主意吗?那要取决于你的目标是什么。
既然我们有一个明确的目标——为求职者寻找学习的投资回报率——那这项任务就比告诉每个人什么是最好的要容易多了。尽管没有对所有目的而言都是最佳的东西,但客观地定义什么能为你实现特定的具体目标提供最大的机会还是比较容易的。我们不妨看一些数据。
在你开始太过操心技术栈之前,还是请先学习好JavaScript以及怎么用它来编写软件吧。如果你还没有办法解释什么是函数组合,什么是对象组合,什么模块,请从此处开始(https://medium.com/javascript-scene/composing-software-the-book-f31c77fc3ddc)。一切软件开发都是组合:我们把一个庞大而复杂的问题分解成可以用软件的建构块(函数、对象、模块等)解决的小问题。然后再把这些解决方案组装成我们的应用。我们的2020就先从充分了解JavaScript和软件组合开始吧。
我喜欢npm下载量这个指标,因为它能够很好地说明框架使用的活跃度*。业界常用的框架中下载量方面的得分会高得离谱,因为用户是在本地机器上跑npm install的。
注:此处并不包括jQuery ,因为很多jQuery 项目都是不用npm的老项目,所以不管怎样它都会被严重低估。把Svelte放进来是为了让大家看看它在市场当中的相对地位如何,并解释为什么它会缺席图表的其他地方——因为还没有足够的数据可供Svelte做出有意义的展示。比方说,Google搜索趋势里面还没有这个主题。
此图统计了目前提到了某个特定框架的职位空缺。*
按UI框架统计的岗位需求
跟去年相比,React的领先优势扩大了,而Angular和jQuery都输给了Vue 。这个饼图显示了每个框架的相对就业市场份额:
顶级框架在工作市场的份额
2019年,JavaScript开发人员的平均工资再次上涨,从11.1万美元年收入增加到11.4万美元。
*统计方法:在Indeed.com上搜索求职情况。为了消除假阳性,我把搜索跟关键字“软件”进行配对以增强相关性,然后乘以〜1.5(这大概是编程岗位列表中使用了“软件”与与不使用“软件”的之间的差异。 )所有搜索结果页均按日期排序,并抽查过相关性。这里得出的数字不是100%准确的,但是对于本文来说,这种精度已经足够好了。
就像你可能会想到的那样,搜索兴趣*多少反映出就业市场的份额情况,但有一些有趣的差异。我们可以清楚地看到,从2017年到今天,大家对jQuery的兴趣正在减弱,而对Vue.js的搜索兴趣出现了强劲增长。以下是搜索的份额情况:
跟招聘广告一样,React有很大的领先优势,吸引了前端框架36%的搜索量,其次是Angular(约27%)和jQuery (25%)。对Vue.js的搜索兴趣比其在招聘市场的份额要大得多,但该数据通常与排名中的招聘市场数据一致。看来我们已经成功地证实了这一点。
*研究方法:所有术语、数据均按主题而不是搜索字收集,以便从无关的关键字匹配中排除掉假阳性。
跟其他受欢迎但使用不那么广泛的框架(比方说Svelte或Vue,这两个的满意度排名都很高,但行业采用率相对较小)相比,更多的岗位要找的是具备React技能的人。
学习Svelte或Vue 可能显得很酷——但是,如果你的目标是找到一份工作的话,如果你先去学习React就会有更好的机会。
尽管如此,Svelte和Vue 在《State of JavaScript 2019》调查当中都获得了很高的用户满意度分数。在过去,React的用户满意度得分高预示着会抢占当时占主导地位但满意度得分相对不高的Angular的份额。
2019年,React的用户满意度排名最高,用户满意度达到了89%。紧随其后的是Svelte(88%)和Vue.js(87%,低于去年的91%)。Svelte或Vue 不太可能抢夺太多的React用户,但是还有有很多的Angular和jQuery 用户可能会变节转投Svelte或Vue ,从而在2020年推动这两个框架取得进一步的强劲增长。
可以肯定的是,掌握React会增加你在2020年找到并保住好工作的几率。
毫无疑问,过去几年的时间里TypeScript的增长非常迅速,根据State of JavaScript调查,89%的TypeScript 用户会再次选择使用这门语言,有66%的受访者要么用过TypeScript ,要么对使用TypeScript感兴趣(略低于去年的71%)。
但是,尽管大家对TypeScript很感兴趣,且使用率似乎也在迅速增长,但是招聘市场对具备TypeScript经验的要求还不高。只有约7%的JavaScript招聘广告的岗位描述中提到了TypeScript。当然这可能会低估了对TypeScript 职位的需求情况,因为招聘经理一般预期JavaScript开发人员掌握起TypeScript来不会有太大麻烦 所以有可能不会在岗位描述中提及TypeScript 。
但我个人坚持认为学TypeScript这门语言的投资回报率可能会比较低,甚至是负的。这有可能会降低而不是提高生产率,并且,如果您已经有TDD,代码审查和设计审查等很好的漏洞预防措施的话,则用TypeScript编程不太可能会带来显著的减少漏洞的好处。
话虽如此,并不缺少对TypeScript的热爱,所以你当然不应该怕它,或者因为人家用的是TypeScript 而不是JavaScript而拒绝别人求职。由于TypeScript 是JavaScript的超集,所以从JavaScript转到学TypeScript并不像学习完全不同的语言那样具有挑战性。
想在2020年的就业市场竞争中脱颖而出你也许不需要学习TypeScript,但是TypeScript 引擎相当有用,哪怕对于标准JavaScript也是如此。
我每天用Visual Studio Code的时候都用他来给标准JavaScript 提供智能感知。甚至还可以利用JSDoc (TypeScript引擎可理解并解释这种类型注释)或外部d.ts 文件来增强这种智能感知,VS Code会自动获取你所使用的模块的TypeScript 定义。
注:用TernJS 和Atom这么多年我也一直享受着类似的好处,但是这种结合缺乏TypeScript 引擎+ VS Code 的维护性和社区支持。
如果你还没用过Visual Studio Code,你可以先试用一下VS Code。顺便说一句,VS Code在JSState调查受访者心目当中是JavaScript IDE市场的领导者,占有57%的市场份额(其次是WebStorm ,占有14%的市场份额)。
Redux 在状态管理器的竞赛中仍然具有领先优势,但是GraphQL 和Apollo在满意度和兴趣方面是增加的。预计2020年GraphQL会继续保持增长。
话虽如此,哪怕你用的是GraphQL ,我仍然认为使用Redux 状态管理有充分的理由,而且我认为即使不用框架,每个人都将从学习Redux中受益。
GraphQL 是近年来流行的查询语言。它的语法简单,但是由于它是跨整个技术栈使用的,而且学这个东西意味着必须学习怎么把它连接到数据存储层,因此集成可能会令人生畏——但这是值得付出的努力。
GraphQL 不会在短期内完全取代JSON REST API,但是它在2019年的增长甚至变得更快了,我预计这种强劲的增长会持续到2020年。
Express 是主导性的Node框架,用户满意度很高,2020年Express不会遇到重大的挑战者,但是随着无服务器(serverless)的兴起,我预计在新的十年到来之际,Express的统治地位会逐渐下滑。
Next.js是一个一开始建构在Express基础之上的全栈React框架,但此后已从Express转换到到无服务器和静态优化,然后就像疯了一样发展起来。
当我们把EricElliottJS.com从Express换到无服务器的Next.js时,我们的托管费用降低了90%,而且页面加载速度也加快了。所以我再怎么强烈推荐这个都不够。我们现所有的应用都是用Next.js和Zeit 托管的。
Jest和Cypress分别单元测试和功能测试最受欢迎的工具,但是我个人非常喜欢RITEWay 和TestCafe 。RITEWay 是单元测试之禅 :一个始终回答了每个单元测试必须要回答的5个问题的测试框架。
跟Cypress一样,TestCafe也是一种功能测试工具,这个工具不需要你跟Selenium纠缠不清,但是拥有更好的跨浏览器支持和一个很酷的测试记录器/ IDE。我强烈建议QA小组试试TestCafe 。
Lodash 、Ramda 、Immer、Redux以及RxJS都是我经常使用的函数工具。
Ramda在 2019年进步神速,它提供了一些Lodash 所没有的工具,比如lenses(透镜)和transducer(变形器)。RxJS通过pipeable运算符提供transducer风格的函数性。
Immer使得在不改变JavaScript对象的情况下对其进行操作变得很容易。而Redux 是一种状态管理工具。
在接下来的十年时间里,有几种新兴技术即将对人类生活产生巨大影响。以下是这些技术最新发展情况的概要:
AI
人工智能也许是有史以来最具变革性的技术。不同的学者和自以为是的亿万富翁都把AI说成是奇迹般的乌托邦,或者人类的终结。
这肯定是我们所知的人类的终结,但也可能是人类与机器之间美好合作的开始。我们才刚刚开始瞥见AI可能会变成什么样子。其中有些令人恐惧(比方说深度伪造),而另一些则非常有用(比方说Adobe Premiere对视频编辑的新的auto-reframe功能)。事实上,到目前为止,人工智能既极其可怕又极其有用。人工智能会继续制造一些令人恐惧的事情,但是通过人工智能改善人类生活的潜力是巨大的。潘多拉的盒子已经打开,再也无法关闭,所以我希望你善加利用好AI,用来解决重要问题和改善生活。
2019年在AI领域取得了许多重要突破。近年来,研究团队一直在各种视频游戏领域争相实现超人的表现,但有些游戏类型对AI来说仍然充满挑战,比方说像《星际争霸》II这样的策略游戏。DeepMind的AlphaStar程序利用跟人类玩家能用到的相同资源,在Battle.net官方服务器实现了大师级的水平。《星际争霸》是一款复杂的游戏,需要进行长期的策略思考,这种能力曾经被认为是AI所不能及的。战略思维代表了通向通用AI道路上的一个重大的里程碑。
如果说把资源用到游戏上看起来似乎很愚蠢的话,不妨想想DeepMind 这样的项目在文本转语音方面也取得了令人难以置信的进步, AI代理和私人助理被赋予了表现更自然的声音,但同样重要的是,通过这样可以把声音还给那些失声的人。
人工智能还被用来诊断癌症,预测蛋白质折叠(可用于了解疾病和发现新药),恢复残疾人的肢体控制,生成逼真的图像等。
无人车
无人车在变革性AI技术当中应该有自己的一席之地。这个生态体系的大玩家主要包括Cruise、Uber、Waymo、Nuro\Aurora以及福特等。这项技术仍处在初级阶段,过分乐观已给这个行业带来了真正的问题,但毫无疑问,2020年代我们将见证超越人类水平的自动驾驶能力。2015年我曾对自动驾驶技术做出过预测:
“到2045年的时候,一俩人开的车看起来会像马拉的双轮单座车一样。”
现在距离这一预测已过去5年,我想我可能低估了自动驾驶汽车进入市场的速度。Waymo的车在2018年的行驶里程超过了100万英里,美国已经有24座城市的道路上有无人车上路。现在我的预测是到2025年,多个制造商将会推出多种L5级(全自动)的车型。请密切关注Tesla、通用、福特及宝马的表现。
在过去十年的时间里,AI研究论文的出版量增长了10倍,现在,AI正在把实用、有用的工具交到主流用户手中,预计这种趋势在未来十年仍将持续。
我们已经开始看到AI能做到一些几年前大多数人都不敢相信的事情。预期AI在2020年代会取得更大的奇迹。
区块链和加密货币
2019年对于区块链和加密货币来说是具有里程碑意义的一年。区块链技术开始进入主流。我预计2020年会有更大的发展并为主流所采用。
对用户友好,实现无需许可,无需银行的借贷的DeFi (去中心化金融)出现了爆发式增长。目前,有6.5亿美元(包括4.5亿美元的无银行贷款)被锁定进DeFi 合同里面,而2019年是该技术出现的元年。随着越来越多的人投资于加密货币,我预计将来会出现更多有加密支持的DeFi 贷款。
大家可以在不牺牲自己的加密货币投资机会成本的情况下获得流动性,或利用DeFi贷款对加密货币进行杠杆投资(投资的风险/回报均增加了)。
加密货币和区块链技术正在突破主流。比特币和以太坊的日活地址在2018年1月达到了顶峰,随后一年,由于市场下跌,大家的兴趣变弱了(每上涨10倍之后,加密货币的价格就会大幅回落,然后又会在下一个周期攀爬到比上一个高峰高出10倍的新高)。
比特币和以太坊区块链上的日活地址数
Square的Cash App的Android下载量已超过1000万次,在有着出色UX的简单app里面,用户可以购买,出售,接收比特币。
Coinbase 的Android下载也超过一千万。
Brave推出了内置的以太坊钱包,月活用户数一下子从2019年10月的870万增加到11月底的1040万。
因为有了Sliver.tv和DLive,2000万视频游戏迷正在利用Theta网络进行去中心化的流媒体直播。
2019年我最喜欢的进展是Fortmatic 的推出。不管你是不是在开发加密应用,你都可以用Fortmatic来替换用户身份验证并提高安全性,并且摆脱被供应商锁定,还可以增加诸如端到端加密,签名交易等功能。
如果你打算在2020年开发新应用,不妨考虑一下Fortmatic,而不是再得输入自己的用户名/密码进行身份验证(2020年没人应该再这样做了),或者把身份验证这件事交给Google、Facebook等。
我曾经写过一篇文章讨论如何利用加密技术来改善应用的身份验证和安全性。我很期待在2020年能看到主流应用开始采用Fortmatic等技术。
2019年以太坊轻松赢下了智能合约平台大战的胜利。我预计2020年以太坊仍将继续占据主导地位。
扩展现实(XR)
自2015年以来,我每年都对AR未来充满希望我,从小就梦想着它的实现。将来,XR将会取代手机。这只是个时间问题。需要多长时间仍然有待讨论,但似乎这种转变可能会在未来十年内出现。甚至可能在未来5年内开始。
随着VR与AR之间的界限逐渐模糊,该行业现在正在把整个领域泛指为XR(扩展现实)。自问世以来,ARKit 和ARCore (分别是苹果和Google的增强现实SDK)自引入以来已取得了长足的发展。月活用户数已从2017年的4700万增长到2019年5月的1.5亿。
WebAR 在2019年已站稳了脚跟,2020年很可能会继续发展。如果你对此感到好奇的话,不妨看看AR.js、React 360或Viro React。
硬件也取得了很多进展。2016年推出的Hololens 1大概是5000美元。自此之后又发生了什么呢?
Hololens 2的价格仍然高达3500美元,他们还没有为消费者准备。剪切、SLAM(实时定位与地图构建)及视野等方面仍然存在问题。你不会想一整天都戴着这样的东西。但是,因为现在它的定价是每月99美元上手个开发者工具包还是有可能的,虽说你得在等待名单上等一段时间。
无人机
在美国已经售出了大约200万架无人机,它们已经改变了建筑,地理调查,制图,电影,航空摄影,农业,环境科学和娱乐等领域。2020年商用无人机物流配送最终可能在美国成为现实。
FPV无人机比赛是我最喜欢的观赏运动,还有Drone Racing League直播赛事。如果你想了解它是什么样的,他们还提供了精心设计的模拟器。
所有这些新的无人机活动均需要大量软件支持,包括图像处理,无人机地图软件,物流飞行规划,遥测记录和处理,分析,行业应用集成等。
这跟AI也有很多重合之处——自主飞行的无人机需要图像处理,碰撞避免等。
2010年代为我们提供了大量变革性技术,其中许多我们已经视为理所当然,但其实是产生了巨大影响的:
Spotify
虚拟助手
无线耳机
主流VR
增强现实(热门游戏“精灵宝可梦”就用这个)
经济实惠的Tesla
共享经济(汽车,电动滑板车,自行车)
主流平板电脑
主流生物识别技术(触摸ID,面部ID)
众筹
我已经迫不及待想看看你在新的十年会创造出什么样的东西。
开始表演你的魔术吧。
译者:boxi。
自TowardsDataScience
作者:Adrien Treuille
机器之心编译
参与:魔王、一鸣
机器学习开发者想要打造一款 App 有多难?事实上,你只需要会 Python 代码就可以了,剩下的工作都可以交给一个工具。近日,Streamlit 联合创始人 Adrien Treuille 撰文介绍其开发的机器学习工具开发框架——Streamlit,这是一款专为机器学习工程师创建的免费、开源 app 构建框架。这款工具可以在你写 Python 代码的时候,实时更新你的应用。目前,Streamlit 的 GitHub Star 量已经超过 3400,在 medim 上的热度更是达到了 9000+。
Streamlit 网站:https://streamlit.io/
GitHub地址:https://github.com/streamlit/streamlit/
用 300 行 Python 代码,编程一个可实时执行神经网络推断的语义搜索引擎。
以我的经验,每一个不平凡的机器学习项目都是用错误百出、难以维护的内部工具整合而成的。这些工具通常用 Jupyter Notebooks 和 Flask app 写成,很难部署,需要对客户端服务器架构(C/S 架构)进行推理,且无法与 Tensorflow GPU 会话等机器学习组件进行很好的整合。
我第一次看到此类工具是在卡内基梅隆大学,之后又在伯克利、Google X、Zoox 看到。这些工具最初只是小的 Jupyter notebook:传感器校准工具、仿真对比 app、激光雷达对齐 app、场景重现工具等。
当一个工具越来越重要时,项目经理会介入其中:进程和需求不断增加。这些单独的项目变成代码脚本,并逐渐发展成为冗长的「维护噩梦」……
机器学习工程师创建 app 的流程(ad-hoc)。
而当一个工具非常关键时,我们会组建工具团队。他们熟练地写 Vue 和 React,在笔记本电脑上贴满声明式框架的贴纸。他们的设计流程是这样式的:
工具团队构建 app 的流程(干净整洁,从零开始)。
这简直太棒了!但是所有这些工具都需要新功能,比如每周上线新功能。然而工具团队可能同时支持 10 多个项目,他们会说:「我们会在两个月内更新您的工具。」
我们返回之前自行构建工具的流程:部署 Flask app,写 HTML、CSS 和 JavaScript,尝试对从 notebook 到样式表的所有一些进行版本控制。我和在 Google X 工作的朋友 Thiago Teixeira 开始思考:如果构建工具像写 Python 脚本一样简单呢?
我们希望在没有工具团队的情况下,机器学习工程师也能构建不错的 app。这些内部工具应该像机器学习工作流程的副产品那样自然而然地出现。写此类工具感觉就像训练神经网络或者在 Jupyter 中执行点对点分析(ad-hoc analysis)!同时,我们还想保留强大 app 框架的灵活性。我们想创造出令工程师骄傲的好工具。
我们希望的 app 构建流程如下:
Streamlit app 构建流程。
与来自 Uber、Twitter、Stitch Fix、Dropbox 等的工程师一道,我们用一年时间创造了 Streamlit,这是一个针对机器学习工程师的免费开源 app 框架。不管对于任何原型,Streamlit 的核心原则都是更简单、更纯粹。
Streamlit 的核心原则如下:
1. 拥抱 Python
Streamlit app 是完全自上而下运行的脚本,没有隐藏状态。你可以利用函数调用来处理代码。只要你会写 Python 脚本,你就可以写 Streamlit app。例如,你可以按照以下代码对屏幕执行写入操作:
import streamlit as stst.write('Hello, world!')
2. 把 widget 视作变量
Streamlit 中没有 callback!每一次交互都只是自上而下重新运行脚本。该方法使得代码非常干净:
import streamlit as stx = st.slider('x') st.write(x, 'squared is', x * x)
3 行代码写成的 Streamlit 交互 app。
3. 重用数据和计算
如果要下载大量数据或执行复杂计算,怎么办?关键在于在多次运行中安全地重用信息。Streamlit 引入了 cache primitive,它像一个持续的默认不可更改的数据存储器,保障 Streamlit app 轻松安全地重用信息。例如,以下代码只从 Udacity 自动驾驶项目(https://github.com/udacity/self-driving-car)中下载一次数据,就可得到一个简单快速的 app:
使用 st.cache,在 Streamlit 多次运行中保存数据。代码运行说明,参见:https://gist.github.com/treuille/c633dc8bc86efaa98eb8abe76478aa81#gistcomment-3041475。
运行以上 st.cache 示例的输出。
简而言之,Streamlit 的工作流程如下:
如下图所示:
用户事件触发 Streamlit 从头开始重新运行脚本。不同运行中仅保留缓存。
感兴趣的话,你可以立刻尝试!只需运行以下行:
网页浏览器将自动打开,并转向本地 Streamlit app。如果没有出现浏览器窗口,只需点击链接。
这些想法很简洁,但有效,使用 Streamlit 不会妨碍你创建丰富有用的 app。我在 Zoox 和 Google X 工作时,看着自动驾驶汽车项目发展成为数 G 的视觉数据,这些数据需要搜索和理解,包括在图像数据上运行模型进而对比性能。我看到的每一个自动驾驶汽车项目都有整支团队在做这方面的工具。
在 Streamlit 中构建此类工具非常简单。以下 Streamlit demo 可以对整个 Udacity 自动驾驶汽车照片数据集执行语义搜索,对人类标注的真值标签进行可视化,并在 app 内实时运行完整的神经网络(YOLO)。
这个 300 行代码写成的 Streamlit demo 结合了语义视觉搜索和交互式神经网络推断。
整个 app 只有 300 行 Python 代码,其中大部分是机器学习代码。事实上,整个 app 里只有 23 次 Streamlit 调用。你可以试试看:
我们与机器学习团队合作,为他们的项目而努力时,逐渐意识到这些简单的想法会带来大量重要的收益:
Streamlit app 是纯 Python 文件。你可以使用自己喜欢的编辑器和 debugger。
我用 Streamlit 构建 app 时喜欢用 VSCode 编辑器(左)和 Chrome(右)。
纯 Python 代码可与 Git 等源码控制软件无缝对接,包括 commits、pull requests、issues 和 comment。由于 Streamlit 的底层语言是 Python,因此你可以免费利用这些协作工具的好处。
Streamlit app 是 Python 脚本,因此你可以使用 Git 轻松执行版本控制。
Streamlit 提供即时模式的编程环境。当 Streamlit 检测出源文件变更时,只需点击 Always rerun 即可。
点击「Always rerun」,保证实时编程。
缓存简化计算流程。一连串缓存函数自动创建出高效的计算流程!你可以尝试以下代码:
Streamlit 中的简单计算流程。运行以上代码,参见说明:https://gist.github.com/treuille/ac7755eb37c63a78fac7dfef89f3517e#gistcomment-3041436。
基本上,该流程涉及加载元数据到创建摘要等步骤(load_metadata → create_summary)。该脚本每次运行时,Streamlit 仅需重新计算该流程的子集即可。
为了保证 app 的可执行性,Streamlit 仅计算更新 UI 所必需的部分。
Streamlit 适用于 GPU。Streamlit 可以直接访问机器级原语(如 TensorFlow、PyTorch),并对这些库进行补充。例如,以下 demo 中,Streamlit 的缓存存储了整个英伟达 PGGAN。该方法可使用户在更新左侧滑块时,app 执行近乎即时的推断。
该 Streamlit app 使用 TL-GAN 展示了英伟达 PGGAN 的效果。
Streamlit 是免费开源库,而非私有 web app。你可以本地部署 Streamlit app,不用提前联系我们。你甚至可以在不联网的情况下在笔记本电脑上本地运行 Streamlit。此外,现有项目也可以渐进地使用 Streamlit。
渐进地使用 Streamlit 的几种方式。
以上只是 Streamlit 功能的冰山一角而已。它最令人兴奋的一点是,这些原语可以轻松组成复杂 app,但看起来却只是简单脚本。这就要涉及架构运作原理和功能了,本文暂不谈及。
Streamlit 组件图示。
我们很高兴与社区分享 Streamlit,希望它能够帮助大家轻松将 Python 脚本转化为美观实用的机器学习 app。
原文链接:https://towardsdatascience.com/coding-ml-tools-like-you-code-ml-models-ddba3357eace
参考文献:
[1] J. Redmon and A. Farhadi, YOLOv3: An Incremental Improvement (2018), arXiv.
[2] T. Karras, T. Aila, S. Laine, and J. Lehtinen, Progressive Growing of GANs for Improved Quality, Stability, and Variation (2018), ICLR.
[3] S. Guan, Controlled image synthesis and editing using a novel TL-GAN model (2018), Insight Data Science Blog.
经常收到后台的私信或者现实生活周边的朋友咨询:有什么免费实用的Office学习教程或者网站。
这倒是个大需求,基本只要涉及点到需要处理文字,数据等的工作都会要求会一点Office办公软件,当然了,岗位的不太所需要的Office熟练程度会有不同的要求。不过,能根据自己需求学会一些Office办公软件的技能,相信一定对你的工作或者学习效率提升有很大的帮助。
当然,Office从1985年发行至今,满打满算已经35年了。相关的教程非常多,而售卖相关的office教程课程现在也是满地都是,几乎每次office更新都会出版对应版本的教程,其实除了新增功能外,绝大多数的核心功能都是一样的,所以没必要一定要追最新的教程。
不过如果你是一个热爱学习并且自律的人,挖掘挖掘,认真研究,大部分免费的教程一样可以让你成为Office高手。为了方便大家,今天我就分享自己个人比较常去的Office自学站点。(WPS也一样,两个软件大部分核心功能都是能相通使用)
网址:https://www.bilibili.com/
没错!我个人首推的便是「B站」,相信很多人还记得央视曾点名表扬「B站」正在成为年轻人学习的首要阵地...
「B站」作为早期做ACG起家的能在今时今日获得这个殊荣确实难得。而确实我个人不少技能学习的知识都是由B站来的...Office办公软件的技能也一样,只要你搜索相关的office教程等关键词,按照热度来排,百万级别播放量的课程基本都不会太水,免费无片头广告,认真学习绝对够你获得合格的办公软件使用技能。
其实「B站」里面还有很多热门软件的学习,像pr,ae等视频剪辑课程,编程摄影什么的都有,作为一个免费学习网站确实是不错的,其它的内容就见仁见智了。
网址:https://support.microsoft.com/zh-cn/office
微软在官网其实就有一个Office全套的学习指引,涵盖几乎Office全家桶的全部软件:Outlook、OneDrive、Word、Excel、PowerPoint、OneNote、SharePoint、Microsoft Teams、微软待办、Access等等,有很多使用的官方教程,而且不止图文,还有视频哦,全免费。别漏了还有这个学习好去处。
网址:https://www.wps.cn/learning/
习惯用WPS的小伙伴,也别忘了金山WPS官网也有一个官方教程页面,里面也囊括了WPS三件套的学习教程,都是手把手教学课程。里面大部分都是免费课程,当然有些付费的精品课程,就看个人需不需要了,能把免费部分都学会了已经很不错了...
网址:http://www.excelhome.net/
针对Excel的教程站点,比较老牌了,图文,视频都有。虽然视频的教程版本旧了一些,不过上面我也说过了,office的核心功能,你能学习到的精髓技术,都不会因为版本的新旧有改变的,经典教程没有那些花里胡哨,更容易学到扎实的知识。
网址:http://www.rapidbbs.cn/forum-11-1.html
锐普PPT论坛就国内而言,算得上是做得比较大的PPT论坛,里面不少PPT的爱好者分享不少实用PPT教程,虽然现在没什么人发帖了,不过还是有挺多干货在里面的,去挖一挖,够满足你的学习很久了。
*请认真填写需求信息,我们会在24小时内与您取得联系。