1. 在浏览器中“运行” js/ipython + 后端执行
- jupyter notebook
http://wwj718.github.io/post/%E6%9E%B6%E6%9E%84/jupyter-notebook-architecture/
https://zhuanlan.zhihu.com/p/33105153
https://www.bilibili.com/video/BV1Q4411H7fJ?p=2&spm_id_from=pageDriver
简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示的程序。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。
依赖后端服务器。所以本质上是webshell
image.png
一个有趣的扩展案例是美团拿来对接spark 等大数据平台:
https://www.infoq.cn/article/f32x6fc88r5rext8ulqz
有一些Jupyter的云托管服务,比如 google colab
https://www.ikkaro.com/zh-TW/%E8%B0%B7%E6%AD%8C%E5%90%88%E4%BD%9C%E5%AF%A6%E9%A9%97%E5%AE%A4%E6%88%96%E8%B0%B7%E6%AD%8C%E5%90%88%E4%BD%9C%E5%AF%A6%E9%A9%97%E5%AE%A4/
2. 浏览器浏览文档/教程+ 云端执行
给用户一个在浏览器里操作的虚拟机 + 教程文档,文档里的脚本点一下就能在虚拟机里执行。
-
shiyanlou
-
Katacoda
https://developer.aliyun.com/article/752183
更open 些,能自己写教程
已停运:
https://mp.weixin.qq.com/s/oT9qch7OUjH6oYjLsxxcIQ -
Killercoda
https://killercoda.com/
Katacoda to Killercoda Migration Guide -
CloudYuga
https://cloudyuga.guru/
课程比 killercoda 多
3. 浏览器中通过wasm执行
https://en.pingcap.com/blog/tidb-in-the-browser-running-a-golang-database-on-webassembly/
- JupyterLite
https://blog.jupyter.org/jupyterlite-jupyter-%EF%B8%8F-webassembly-%EF%B8%8F-python-f6e2e41ab3fa
https://github.com/jupyterlite/demo
体验地址(有bug的话可以挂梯子):
https://jupyterlite.readthedocs.io/en/latest/_static/lab/
把jupyter后端的python服务器跑在wasm里。支持很多解释型语言:
image.png
4. 运行markdown中的脚本
在网页里渲染 markdown、运行其中的 js
https://www.cnblogs.com/guoxiaoming/p/9550075.html
https://guoxiaoming.com/react-code-view/
IDE/编辑器 里执行
IDE装插件即可
https://hxyxyz.top/index.php/%E6%8A%80%E6%9C%AF/335.html
https://marketplace.visualstudio.com/items?itemName=Sycl.markdown-command-runner
或者用 Rmarkdown
https://sspai.com/post/42841
在jupyter中运行markdown格式脚本
https://zhuanlan.zhihu.com/p/39481175
命令行运行 markdown 中的 shell
最好能断言返回状态是不是异常
-
mdx
自己写的
https://github.com/seeflood/mdx
todo:
扫描指定目录所有md文件,按顺序执行其中的脚本,支持写断言块 -
mdsh
https://seeflood.github.io/layotto/#/zh/development/test-quickstart
https://github.com/bashup/mdsh
https://gist.github.com/pjeby/c137ace4d91e61e8f1f80e92d84e8b70 -
Rmarkdown有命令行工具么?
没找到
idea
-
Online lab using wasm
可以侧边栏打开一个 terminal, wasm运行一个 os,可以预先安装一些软件,例如docker.
点击命令,右边terminal会自动执行 -
online lab using docker desktop
同上,但是点击后通过本地docker desktop执行
网友评论