|
| 1 | +--- |
| 2 | +title: "发布 CodeLab Adapter 4.3" |
| 3 | +date: 2021-02-07 |
| 4 | +tags: ["CodeLab"] |
| 5 | +Slug: adapter-4-3 |
| 6 | +--- |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | +> 我们如何制造计算机,使它们像细胞一样扩展到亿万倍? -- Alan Kay 《计算机革命尚未发生》 |
| 11 | +
|
| 12 | +--- |
| 13 | + |
| 14 | +CodeLab Adapter 4.3 是过年前的最后一个大版本,关注可扩展性。同时也为我们正在制作的《交互计算》课程提供更友好的支持。 |
| 15 | + |
| 16 | +# 关于《交互计算》课程 |
| 17 | + |
| 18 | +《交互计算》是一门围绕创意实现而设计的 Python 入门课程。 |
| 19 | + |
| 20 | +<video width='80%' src="https://adapter.codelab.club/video/6926376256734100952.mp4" controls="controls"></video> |
| 21 | + |
| 22 | +我们计划在4月份发布新课程。 |
| 23 | + |
| 24 | +# 支持 pip 安装第三方库! |
| 25 | +不少用户在邮件中要求 Adapter 开箱支持 pip 安装第三方库,主要有以下2个使用场景: |
| 26 | + |
| 27 | +* 允许用户自由引入Python社区生态数以百万计的第三方库 |
| 28 | +* 方便Adapter的定制分发: 每个用户都可以增删内置的库,进而分发个性化的编程环境 |
| 29 | + |
| 30 | +这些场景确实都很有价值,我们花了不少时间研究这个特性,终于在 4.3 版本中完成。 |
| 31 | + |
| 32 | +以下是一个例子, 打开Adapter后,[运行Jupyter插件](https://adapter.codelab.club/extension_guide/jupyterlab/) |
| 33 | + |
| 34 | +```py |
| 35 | +# 举个例子: 安装 furl |
| 36 | +pip.main(["install", "furl"]) |
| 37 | +# 你也可以使用国内的源: |
| 38 | +# pip.main(['install', 'furl', '-i', 'https://mirrors.aliyun.com/pypi/simple']) |
| 39 | +``` |
| 40 | + |
| 41 | +## 关于二次分发 |
| 42 | +Adapter的完整版,目前是绿色(免装)的,这意味着,用户只需修改好自己的本地软件,直接分发给下游用户即可!当然如果商业使用的话,需要得到我们的商业授权。 |
| 43 | + |
| 44 | +这能带来什么用户价值呢? 满足个性化需求。 |
| 45 | + |
| 46 | +设想有两家公司,一家使用 [Tensorflow](https://www.tensorflow.org/) 用于AI教学,另一家则使用 [PyTorch](https://pytorch.org/get-started). |
| 47 | + |
| 48 | +它们只需在下载 Adapter 之后,在自己的Adapter版本里安装好各自的依赖环境(Tensorflow或PyTorch),直接分发本地的Adapter给用户即可! |
| 49 | + |
| 50 | +这意味着将存在各种版本的 Adapter,它们各自服务于个性化的需求,却共有有我们维护的强大(开箱可用)内核: 连接一切的能力,以及对个人计算偏好的特性的持续支持: 消息/Linda/Scratch。 |
| 51 | + |
| 52 | +## 升级 codelab_adapter_client |
| 53 | +[codelab_adapter_client](https://github.com/CodeLabClub/codelab_adapter_client_python) 升级到 4.1.3, 为了更好服务于《交互计算》课程, 使 API 更为简洁。 《交互计算》中大量使用与消息有关的 API 在 Python 和 Scratch 中 talk,所以我们把与此有关的 API 做得更为简洁。 |
| 54 | + |
| 55 | +在旧版本中: |
| 56 | + |
| 57 | +```py |
| 58 | +from codelab_adapter_client.utils import run_monitor, send_simple_message |
| 59 | +``` |
| 60 | + |
| 61 | +4.3 版本中: |
| 62 | + |
| 63 | +```py |
| 64 | +from codelab_adapter_client import run_monitor, send_message |
| 65 | +``` |
| 66 | + |
| 67 | +# 新插件 |
| 68 | + |
| 69 | +## Overdrive |
| 70 | + |
| 71 | + |
| 72 | +与你的朋友或人工智能来一场速度与激情的较量。 |
| 73 | + |
| 74 | +<video width="80%" src="https://adapter.codelab.club/video/fe5fb1d3ce1d311740faf31eb7cb1f.MP4" controls="controls"></video> |
| 75 | + |
| 76 | +# 插件改进 |
| 77 | +主要的改进依然使为了服务《交互计算》课程 |
| 78 | + |
| 79 | + |
| 80 | +## Python kernel |
| 81 | +* 避免传递复杂数据结构,只传递消息(字符串),与 Scratch 消息保持一致 |
| 82 | +* 使得 Python Kernel 插件里的字符串积木保持Scratch风格(不带引号) |
| 83 | + |
| 84 | +--- |
| 85 | + |
| 86 | +为了与 Scratch 字符串风格保持一致,改进的插件还有: |
| 87 | + |
| 88 | +* NetworkZero 插件 |
| 89 | +* micro:bit Radio 插件 |
| 90 | +* OSC 插件 |
| 91 | +* EIM 插件 |
| 92 | + |
| 93 | +## RoboMasterEP 2.0 |
| 94 | +升级 RoboMasterEP 插件版本到 2.0.1: 添加已连接提醒、连接失败提醒 |
| 95 | + |
| 96 | + |
| 97 | +# 参考 |
| 98 | +* [The Computer Revolution Hasn't Happened Yet](https://catonmat.net/videos/the-computer-revolution-hasnt-happened-yet) |
0 commit comments