首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  程序员

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

  •  4
     
  •   monsterooo · 24 天前 · 2903 次点击

    简单介绍

    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 回复  |  直到 2019-11-21 16:39:39 +08:00
        1
    justin2018   24 天前
    楼主 会有补全功能吗~?
        2
    monsterooo   24 天前
    @justin2018 目前有补全功能在设置里面有快捷键提示,目前支持的语言较少(browser、chai、jquery、ecma、jquery、react、underscore)。后期会再增加。
        3
    yamedie   24 天前   ♥ 1
    https://sm.ms/image/oz4OCFpjT1sL2PG

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

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

    https://runjs.cn/

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