1024code

1024Code 是一个免费的、协作式的、基于浏览器的 IDE 环境,支持 10 多种编程语言,支持 Spring 、Vue 、React 等框架,还支持很多图形库,是刚入门的程序员学习编程,与朋友一起创造作品,分享交流的最佳选择。

background

1024code 全新在线开发环境, 值得体验, 以及判定最合适来折腾什么

goal

  • 关键功能体验
  • 记录直觉痒点
  • 规划小规模使用策略

tracing

几个工程过程中的体验

Jerry

可能的爆点

  • 不知道基于哪种级别的 GPT
  • 至少对自然语言的理解和生成是足够流畅的, 生成回答也足够及时
  • 当然, 少不了其它 AI 回答时的车轮话

Jerry

~/app$ nix-env -i htop
nix-env: /nix/store/jsp3h3wpzc842j0rz61m5ly71ak6qgdn-glibc-2.32-54/lib/libc.so.6: version `GLIBC_2.33' not found (required by /nix/store/mc6f3fxw7zv1gshdff7wyb17kyxhymnd-gcc-10.3.0-lib/lib/libstdc++.so.6)

PS:

Jerry 有了, 就等 Tom 了...

PPS:

针对 Jerry 给出的各种提示语建议, 可能是整个系统中最有意思的地方:

我需要你扮演编程专家的角色。我会提供关于我的编程问题所需的所有信息,你的角色是解决我的 XX 题。你应该运用你的计算机科学、网络基础设施和编程领域相关知识来解决我的问题。在回答中,使用智能、简单和易于理解的语言对各个层次的人都会有帮助。最好用分步和项目符号解释您的解决方案。尽量避免过多的技术细节,但在必要时使用它们。我希望您以解决方案的形式回复,而不是写任何解释。

如果可以有机制推荐用户们使用最多, 最有效果的提示语, 那么, 随着时间的积累, 1024code 很可能成为最大的中文编程提示工程库... 这个市场空间可比普通的在线 IDE 要有想象现在了...

囧:

~/app$ cargo build

在 shell 中并没有合适的自动完成支持, 导致所有常用指令只能人工记忆全部键入, 不吻合日常工作效率期待

warning: build failed, waiting for other jobs to finish... error: build failed

Rust 工程中最常见的依赖追加行为:

  • 修改 Cargo.toml
  • cargo build 或是其它指令
  • 自动下载/编译/安装模块

失败了...

[dependencies.ncurses]
git = "https://github.com/jeaye/ncurses-rs.git"

尝试其它形式的模块依赖, 也无法正确安装...

标签

一般 IDE 在打开的文件有内容变化时, 再打开其它文件,将保留原有 tab 以便提示开发者要保存...

现在 1024 中, 因为有高速自动保存, 所以, 永远只能打开一个文件? 那么, 想快速切换文件时, 就只能在目录树中每次人眼定位打开...

IMHO

头42小时初步直觉...

简单说 1024code 可以认为是一个 SaaS 服务:

  • 提供立即可以开始的基础开发界面
  • 相对完备的真实 Linux 运行时
  • 配套 VSCode 风格的编辑器以及 Vim/Emacs 等常见快捷键支持
  • 足以日常使用的 git 支持, 并可以流畅关联/引入/绑定 外部仓库
  • 原创惊喜:
    • 直接有 MySQL 真实数据库资源可以随时启用
    • Jerry AI 助手
    • 内置聊天窗口
  • ...

也就是说:

  • 作为一个 demo 级别的探索开发/自习室, 足够了
    • 问题在, 又无法解决独自学习时难以坚持的无反馈问题
  • 但是, 是否能作为一个轻量级别的正式项目开发时, 得观察
    • 毕竟 Nix 并不是流行的发行版环境, 如果真进行正式项目的开发
    • 那就要首先解决了和其它 Ubuntu/Gentoo/... 常见发行版的 DevOps 兼容问题

如果是日常开发, 比如 Python , 也都有越来越完备的最佳实践: 比如: Hypermodern Python Cookiecutter documentation

但是, 无论哪种组合, 日常要自行构建起来, 都不是一件容易的事儿, 如果 1024code 能针对每种开发语言社区中探索出来的实践经验, 事先配置好, 那么, 大家可能越来越习惯在这儿开展开发, 不得以时, 才迁移回本地...

进一步的, 可以作为更好的在线课程发布平台呢?

  • 如果是公开课程, 感觉比以往只有视频或是只有代码和文字的, 要好一些
  • 有点像更加吻合日常开发过程的 Jupyter 界面, 虽然缺少一些可能关键的特性, 但是, 已经比自己构建这种环境要可用的多了
  • 但是, 课程和开发并不是一个逻辑
    • 不说其它反焦虑的伪课程哈
    • 一般课程就两种类型:
      • 通用入门
      • 专用技能
    • 前者面对小白, 后者专注具体框架/系统/应用/问题
    • 不过, 都要解决一个核心问题:
      • 如何知道自己知道的过程是对的?
      • 或是说, 过程中如何及时获得针对性合理的反馈
    • 当前虽然有 Jerry 触发式反馈, 可有触发门槛
    • 也有聊天窗口, 可这个窗口是随机的, 还不知道是否是集中式的:
      • 也就是说, 如果有多名学习者同时打开一个工程时,
      • 大家在聊天窗口输入是所有人可见的
      • 针对工程发布者, 另外有管理界面, 可以回顾/总结/统计/私聊/...
      • 否则, 这个关键功能很难和课程配套起来
      • 这个渠道, 有点儿像开源工程中真实用户的反馈
      • 正确的反馈, 都可能引发课程内容的追加和增强
  • 另外其它付费可见, 打赏 ... 配套功能先不论
  • 单说以 1024codr 为背景一个可用课程的过程:
    • 导师先构建课程, 包含所有阶段的问题, 引导, 示例
      • 可能分解到不同分支, 或是目录
      • 通过 README 进行引导
      • 不过, rust-lang/rustlings at 5.0.0 这种和代码结合起来的闯关式环境是更加好的交互
        • 当然, 这要求语言本身能支持
        • 又如何确保每个学员有自己的进度, 不影响导师的构建?
        • 这是另外一个问题了...
    • 学员随机或是组织进入
    • 跟随 README 探索并调试
      • 定期进行直播回答聊天中提出的问题, 或是组织进行相同节奏问题的共同尝试
      • 这其中小组结对编程, 又是编程课程的关键场景, 在 1024code 中如何实现?
    • 完成所有课程内容后, 经过一定的考核, 获得对应 证书/徽章
    • 进一步的, 如果能允许优秀学员可以获得对应工程的联合维护权限, 那么以在线代码仓库为核心的编程课程, 就可能形成完全不同的体验了...
  • 以上 MVP 流程中最大的问题在:
    • 导致不知道有谁在学习
    • 学习者不知道如何自然的接触导师和其它同学
    • 学习者的探索行为无法自然记录下来并共享在课程空间/组织里:
      • 比如, 一个学员打开了课程
      • 在一个文件中进行了修改, 触发了 bug
        • 那么此时, git 是无法操作的, 这是导师的仓库
        • 如果 fork 为自己的, 可以记录变化
        • 但是, 又没有理由 pull-request 回去, 这是自己学习过程中的个性问题
        • 同时, 也没有什么可追踪的邀请方式, 来请导师或是其它同学过来一起解决
      • 也就是说, 学习过程中真实的学习行为, 没有一个合理的流程进行记录和针对性分享/追踪, 并进一步变成课程本身的知识积累...

logging

  • 230520 ZQ 吐糟阶段小结
  • 230514 ZQ 尝试开辟
  • 230513 ZQ init.

Comments


大妈的多重宇宙 - YouTube

全新自媒体系列...科学幻想,读书,说故事...

任何问题

随时邮件提问可也:
askdama@googlegroups.com


Copyright 2001-2023 by Zoom.Quiet
Content licensed under the Creative Commons attribution-noncommercial-sharealike License.
Contact me via , mail ,github or gitlab . Tip me via || (ATOM)