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

2019-11-19 11:08:16 +08:00
 monsterooo

简单介绍

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

感谢阅读和使用

5435 次点击
所在节点    程序员
46 条回复
justin2018
2019-11-19 11:13:15 +08:00
楼主 会有补全功能吗~?
monsterooo
2019-11-19 11:21:48 +08:00
@justin2018 目前有补全功能在设置里面有快捷键提示,目前支持的语言较少(browser、chai、jquery、ecma、jquery、react、underscore)。后期会再增加。
yamedie
2019-11-19 11:26:57 +08:00
https://sm.ms/image/oz4OCFpjT1sL2PG

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

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/620951

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX