超越只读HTML

我爱Jupyter Notebook。 您可以使用它们来编写您的想法,测试它们的可行性,最后与世界分享它们及其工件。 即使大多数时候大多数人对内容的使用都保持被动(就像阅读此博客文章时所做的一样),您仍想学习并利用所学知识对周围的世界采取行动。 更好的环境应允许您执行所阅读的内容并查看其对环境的影响,并允许您试验这些操作的详细信息。

要了解当前网络存在的问题,让我们举一个例子:如果我告诉您笔记本是学习和发展新技能的好方法,您希望在实际操作中看到它并尝试使用这样的笔记本进行学习所需的技能。 同时,作为笔记本的作者,我希望您尽快发挥好奇心和注意力,以增加您这样做的可能性。 在互联网的“旧时代”中,活跃的主要方式是单击链接。 如果您想遵循一个想法并了解有关一个概念或主题的更多信息,那么本文的作者可以包括指向另一个只读页面的链接。 您可以通过这种方式获利的方式是将点击货币化。 在“旧互联网”中,开发了许多货币化机制,从以硬钱出售实物或虚拟商品的网站,到正在引起关注并利用您的注意力转移您对商业品牌或政治候选人的看法的网站。 由于人们喜欢阅读故事并使用它们来塑造自己的世界观,因此这种方法非常有效。 带有链接的只读HTML页面非常适合对有趣而引人入胜的叙述进行被动阅读。

只读页面上“改进”的一个方向是添加图像,无休止的提要或视频。 但是,这只会加深被动沉迷,并不能鼓励接受端的积极参与。

我们可以做得更好吗?

是的,我们可以使用Jupyter笔记本。 现在,我们不再只有几个主动作者和许多(单击)被动读者 ,而现在有了老师 (创作笔记本), 学生 (与笔记本互动)和管理员 (安全和资源提供者)。 在下一篇文章中,我们将在一个团队中讨论笔记本的管理方面,而在这里将探讨更多学生的方面。

让我们开始使用Jupyter笔记本。 以下示例显示了笔记本的一些单元格,这些单元是使用Amazon SageMaker生成用于为笔记本生成预签名URL的:

如果您单击上面的链接并在Google Colab上打开了简单笔记本,则可能会注意到从第一次单击播放按钮到看到输出结果之间的短暂延迟。 从第二次单击起,延迟消失了,因为笔记本计算机连接到可以执行代码单元的内核 。 一旦内核连接到笔记本,您也可以在页面右上方看到“已连接”状态。 此内核与现有HTML体验之间的细微差别,后者在我的浏览器中本地运行,并且仅当我调用远程端点时才使用服务器资源进行计算。 当认为您知道浏览器上正在运行的内容以及调用远程服务器时,如果使用HTTPS加密并将其发送到受信任的服务器,则当前的“只读”设置可能会带来很好的安全感。 但是,如果您曾经选中“检查”选项以查看浏览器的开发人员工具,则您可能知道运行的加密代码数量巨大。 例如,请参见下面的“检查”媒体视图。

如果您也很好奇,并想单击开发人员工具中的“网络”选项卡,您将看到代表您在幕后发生的许多网络通话:

我希望您理解浏览器界面不是那么简单和安全,当我们超越被动HTML格式时,我们可以更好地构建它。 因此,提供诸如Google Colab,Crestle或Amazon SageMaker之类的内核和服务的机会才刚刚开始,控制,保护,简化内容的发现并从笔记本生态系统中获利的竞赛仍在进行中。非常早期。

Jupyter笔记本电脑要去哪里?

Jupyter笔记本起初是一个简单的界面,供数据科学家素描,尝试和分享他们的研究,并且已经用于通过流行的“阅读文档”框架来教学和文档化基于技术代码的产品(例如,参见这些指南来学习PyTorch ,AWS SDK Boto3,Haskell Libraries,具有PolyGot的NLP或具有Toil的医疗工作管道。

许多DevOps团队,开放源代码项目以及任何希望人们使用和使用的优秀开发人员都已经使用了与文档和教程的开发同时使用相同工具进行代码开发的概念。从他们的辛勤工作中受益。 接下来的一个明显步骤是允许教程的读者在交互式笔记本中实际执行命令,然后每本教科书都可以变为交互式,并从被动工具演变为主动老师。

Jupyter笔记本将在科学实验室或教室之外的许多其他环境中使用。 正如我在使用jupyter笔记本计算机作为DevOps的云计算思想中简短写的那样,我们正在使用Jupyter笔记本计算机在AllCloud中开发许多专业服务项目。 我们不仅将它们用于数据科学或数据工程部分,还用于过去通过终端和其他命令行界面完成的DevOPs任务。 Netflix在此领域的出色工作令人印象深刻,这在Netflix的《超越互动:笔记本创新》中进行了解释,这给工具带来了很大希望,因为工具只会变得更好。

我相信,这些只是我们正在走向的更大趋势的小例子。 变更的一个支柱是将大型,复杂和整体的系统分解为微服务和API。 亚马逊网络服务就是这种变化的一个典型例子,在这种情况下,他们出售数千个小型API,而不是向Oracle数据库,SAP系统或Office 365出售单个许可证。对于首席财务官来说,批准六,七或七美元的预算要容易得多。八位数的许可证,而不是监视和控制他的团队和服务实际消耗的数千美元。 不过,从现在开始的几年后,一旦所有前期许可购买业务模式消失,“按使用付费”模式将成为在线服务的主要消费模式,并且很可能会使用微型服务和API。

趋势的第二个支柱是组织中更多的人具有利用技术进行创新的能力,这超出了每一个小的变化都需要专门的软件开发人员的能力。 此更改可能需要比以前的微服务更改更长的时间,并且它要求许多组织中的IT部门在诸如AWS之类的云提供商,如SalesForce之类的软件即服务(SaaS)系统,类似的变化正在取代传统的工作,如建立数据中心,安装基于数据的数据包和其他软件包以及开发大型整体系统。

IT部门的新角色将是为用户提供更多API笔记本 ,以连接和使用这些内部API和 API。

笔记本将不是这些API的唯一接口。 我还看到了自然语言界面,例如Slack,Alexa或Siri。 但是,这些接口中的大多数接口都是API的简单前端,其中人的言语或文本消息被转换为意图和位置,这是API调用及其参数的不同名称。 这些接口将用于快速交换信息,而不用于长期运行的项目,这些项目在将来的组织中构建有意义的创新服务。 这些项目将更好地使用笔记本构建,这些笔记本将跨多个API,跨时间(我明天可以再回到笔记本)和跨人员的努力融合在一起。

这两波更多的微服务和更多创新人员以及他们使用这些API的需求需要好的工具。 作为基于SaaS浏览器的平台,Jupyter笔记本电脑的位置非常好,可以扮演“胶水”的角色,超越HTML编辑器,WordPress甚至本网站Medium。 与在Word文档或Excel电子表格以外的每个知识工作者的工作工具中编写静态网站或移动网站相比,它们具有更大的灵活性来支持更多用例。

Jupyter笔记本仍然缺少许多功能,管理简便性,环境提供程序和可见性,但正如我们上面所讨论的,它们已经是许多用例的最佳基于Web的工具。 我将继续发布有趣的笔记本,以展示您可以使用此功能强大且开放的工具学习,构建和共享的内容。 请随时与我分享您的笔记本或有关使用笔记本以解决用例和问题的问题。 我们可以一起将网络推向新的高度。