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

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

  •  4
     
  •   monsterooo · 64 天前 · 3066 次点击
    这是一个创建于 64 天前的主题,其中的信息可能已经有所发展或是发生改变。

    简单介绍

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

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

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

    https://runjs.cn/

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