• 请不要在回答技术问题时复制粘贴 AI 生成的内容
monsterooo
V2EX  ›  程序员

一个基于浏览器的编程工具 (Coderlane)

  •  4
     
  •   monsterooo · Nov 19, 2019 · 7250 views
    This topic created in 2547 days ago, the information mentioned may be changed or developed.

    简单介绍

    Coderlane是一款在线编程工具,您可以在浏览器中通过简单的点击 5 秒内创建一个编程语言环境。

    项目初心

    缘起于一个朋友的在线面试体验。面试官给他发了一个牛客网的链接,面试题目很简单:字符串去重并且在对应字符后面跟一个字符重复的数量。给定的时间是 30 分钟,但是我的朋友整整花了 15 分钟才研究明白他们的工具怎么使用。

    最终虽然他完成了面试题目,但是由于时间紧迫算法做的不算优化。最终导致没有得到二面的机会。

    所以我就开始构思做一个更好用的在线编程工具,使用起来无障碍且足够简单。

    第一版(3 月)

    3 月份第一版出来了实现了最最基础的代码执行功能和跑测试用例。原理就是服务器跑一个 docker 去执行客户端的代码,拿到结果后返回给客户端

    虽然基础的功能出来了但是还是有许多不满足的地方,第一个就是界面不够简洁。

    第二版(6 月)

    针对第一版的界面做了新的调整,界面更加美观并且我去掉了测试用例功能。

    第二版虽完成了,但是我并不太满足。主要原因有如下:

    1. 代码同步太 low 没有考虑冲突解决方案
    2. 动态语言没有实现和客户端的 REPl 连接,只能返回结果
    3. 没有音视频沟通功能

    第三版(9 月)

    针对第二版的问题,我进行了功能的完善。解决方案如下:

    1. 使用 Operational Transformation 算法解决多客户端编辑冲突问题
    2. 使用伪终端代理打通 REPL,这样客户端可实时调试
    3. 增加音视频服务功能这个要感谢 Agora 提供的服务
    4. 增加编辑器的代码提示、自动补全、显示文档
    5. 增加在编辑时实时显示用户正在编辑的位置
    6. 增加了代码回放

    我非常希望看到Coderlane作为一个在线编程工具给大家带来更便捷的体验,并且我打算永久免费,直到无法负担运营成本为止。

    最后说一下我的感受:做一个项目不容易,做好更是需要付出很多努力和工作。希望大家多多提意见我们共同来完善Coderlane。

    感谢阅读和使用

    46 replies  •  2019-11-21 16:39:39 +08:00
    justin2018
    justin2018
    Nov 19, 2019
    1
    楼主 会有补全功能吗~?
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    2
    @justin2018 目前有补全功能在设置里面有快捷键提示,目前支持的语言较少(browser、chai、jquery、ecma、jquery、react、underscore)。后期会再增加。
    yamedie
    yamedie
    Nov 19, 2019❤️1
    3
    https://sm.ms/image/oz4OCFpjT1sL2PG

    好像没有对楼主的 docker 造成什么破坏, 但 rm 命令一直在执行着...
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    4
    @yamedie 🤪Happy Hacker。反正你退出 docker 就释放了
    yamedie
    yamedie
    Nov 19, 2019
    5
    https://i.loli.net/2019/11/19/RpESGJ2MdxkugD8.png

    如果执行一个很大的 for 循环, 会影响其他 docker 的性能吗?
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    6
    @yamedie 理论上不会影响太多,因为有内存和 cpu 限制
    Vegetable
    Vegetable
    Nov 19, 2019❤️3
    7
    和 https://www.v2ex.com/t/612201 这位大哥的 https://www.showmebug.com/ 在做一样的事呢,不过他是当一个创业项目在做,你这个是公益项目啦
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    8
    @Vegetable 亚飞我认识呀,我们做的事情差不多哈
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    9
    @Vegetable 不能说公益吧,我是基于兴趣出发。出发点不是为了商业
    strugglexiang
    strugglexiang
    Nov 19, 2019
    10
    挺厉害的,收藏一下
    gaopinsong
    gaopinsong
    Nov 19, 2019
    11
    很 nice 啊。这个功能!膜拜大佬!
    Jhonson
    Jhonson
    Nov 19, 2019
    12
    视频功能怎么用 0 0~
    chennqqi
    chennqqi
    Nov 19, 2019
    13
    虚拟机可以 docker,docker 也可以提权获取宿主机全新啊,去年 docker 就有这个漏洞
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    14
    @Jhonson 你好,在登录之后进入控制台,创建一个面试邀请。然后进入,在左下角就有视频了
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    15
    @chennqqi 那个漏洞我还记得,印象是需要触发某些特殊条件才可以提权到宿主机
    Mtianmin
    Mtianmin
    Nov 19, 2019❤️1
    16
    问题来了.那个小姐姐是谁
    kayv
    kayv
    Nov 19, 2019
    17
    厉害,视频功能用什么技术实现的
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    18
    @Mtianmin 😏团队成员之一,我们团队一共 4 人。其中包括两只小猫咪
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    19
    @kayv 视频我使用的是 Agroa 的服务,他们前 10000 分钟免费相对的 nice
    BIAOXYZ
    BIAOXYZ
    Nov 19, 2019
    20
    前排支持,可以开源出来更多人参与进去啊楼主~
    ppyer
    ppyer
    Nov 19, 2019
    21
    支持
    zeropercenthappy
    zeropercenthappy
    Nov 19, 2019
    22
    期待支持 Kotlin
    kisshere
    kisshere
    Nov 19, 2019
    23
    有开源的,用你这个搞啥?

    https://runjs.cn/

    貌似这个 runjs 以前跟你这个项目一样,后来估计做不下去了直接给开源代码了。。。
    lhx2008
    lhx2008
    Nov 19, 2019 via Android
    24
    8g 内存的虚拟机[滑稽]
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    25
    @zeropercenthappy 这周末肯定能上 Kotlin。哈哈 周末可以回来看看
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    26
    @lhx2008 😂滑稽 + 1
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    27
    @kisshere runjs.cn 我以前也是忠实用户,毕竟我也是做前端的。 😏
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    28
    @kisshere runjs 我以前也是忠实用户,毕竟我也是做前端的。 😏
    crella
    crella
    Nov 19, 2019
    29
    Tianyan
    Tianyan
    Nov 19, 2019
    30
    厉害
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    31
    @crella 你是最会完的一个 🤪
    Mtianmin
    Mtianmin
    Nov 19, 2019
    32
    @monsterooo 在? 你们要人吗,工不工资的无所谓,主要想做点贡献
    dengshen
    dengshen
    Nov 19, 2019
    33
    感觉很危险的样子... 一些关键命令建议过滤一下
    xiongshengyao
    xiongshengyao
    Nov 19, 2019
    34
    考虑加个运行时间限制吗?不然很容易被人写死循环占用资源
    justyy
    justyy
    Nov 19, 2019
    35
    不错, 不过市面上已经有很多这样的平台工具了。
    f1ren2es
    f1ren2es
    Nov 19, 2019
    36
    资瓷,希望能推广,有的在线笔试不能调试不能运行,几乎与白板写代码无益,蓝瘦
    duanxiaoyu
    duanxiaoyu
    Nov 19, 2019❤️1
    37
    我推荐:showmebug.com 🤪🤪🤪
    SpiderXiantang
    SpiderXiantang
    Nov 19, 2019
    38
    支持
    jinliming2
    jinliming2
    Nov 19, 2019 via iPhone
    39
    趁着 Native Filesystem API 出来,看看能不能直接打开本地的项目并把代码保存到本地😉
    dlyxy
    dlyxy
    Nov 19, 2019
    40
    支持
    GoLand
    GoLand
    Nov 19, 2019
    41
    小姐姐好看
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    42
    @duanxiaoyu 😀没问题
    monsterooo
    monsterooo
    OP
    Nov 19, 2019
    43
    @f1ren2es 就是为了解决白板问题,还有远程面试效率问题
    able
    able
    Nov 19, 2019
    44
    很有意思的项目
    standbymeX
    standbymeX
    Nov 20, 2019
    45
    很不错诶,收藏了
    zj
    zj
    Nov 21, 2019
    46
    收藏了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   939 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 98ms · UTC 21:58 · PVG 05:58 · LAX 13:58 · JFK 16:58
    ♥ Do have faith in what you're doing.