用 JS 写了两个 leetcode 的小工具,爬自己的 leetcode 代码和把代码用单页应用呈现出来

2016-12-23 20:21:10 +08:00
 ma63d

楼主是个前端小白,快要毕业了,最近也踏上了刷题的不归路。

然后用 JS 造了俩轮子,一个是leetcode-spider, leetcode 在国内访问实在太慢,看自己过往写的代码真的很头疼,所以基于 es6 的generatorco写了个爬虫,爬自己提交的代码到本地,代码就可以通过 github 等工具管理起来了。

另外一个就是leetcode-viewer。代码既然爬下来了,所以我想了想怎么把他呈现出来, 1 百多道题的解题源码,如果放到自己的博客上面去,那么要开一百多篇文章,太麻烦了,自己的博客也会被淹没这些在 leetcode 源码里。其实这些解题源码全都是静态文件呀,这个网页也不用动态逻辑,那我完全可以基于backend-free(无后台)架构来弄啊,如果你用 hexo 等静态博客,那你就明白我想做什么了。

我先把 leetcode 解题代码写进 json 里,然后用Vue2.x做一个单页应用的网页, JS 直接向静态服务器发 Ajax 请求,去请求这个 json 文件,并把里面的代码内容呈现出来,一个 leetcode 源码呈现网站就这么搞起来了,而且是纯静态的,发到 github pages 或者你自己的服务器上,就直接上线了!而且写了点逻辑,支持你在代码文件夹里写 markdown 文件,当做解题心得,也增加了对多说评论插件的支持。于是一个带搜索功能、带评论、带自己的解题心得、带源码、带 leetcode 题目的 leetcode 博客就这样搭建起来了。完全的静态网页,扔到 github pages 就上线了。

github pages 线上 demo 在此

自己结合自己的使用体验,对这两个工具做了挺多优化,感觉还挺好用了,爬虫支持增量爬取,静态网页每次有新代码下载下来时更新时间也只需要一秒钟甚至更短。而且搭起来的这个网页也相当于一个 leetcode 解题博客,可以跟刷题的同学们交流解题思路,也相当于做一个个人展示把,明年找工作的时候可以粘在简历里。现在分享出来,大家有需要的就自己使用吧。

leetcode-viewer

leetcode-spider

5475 次点击
所在节点    程序员
28 条回复
lancelot
2016-12-24 14:21:30 +08:00
做的很不错啊,很可以了。这才是 v2exer 的风格。
lijsh
2016-12-24 15:06:08 +08:00
支持一下,看过 co 的源码,叹服不已。
ma63d
2016-12-24 22:02:11 +08:00
@lijsh 是啊,真心觉得 tj 太神了,写出这样的程序真心佩服。。。关键是 koa , express , jade , ejs , stylus ,全都是他搞出来的,实在是大写的服
zhangolve
2016-12-25 22:47:58 +08:00
开头说自己前端小白,实在过谦了。
AlisaDestiny
2016-12-25 23:29:51 +08:00
@justyy 为什么都这么厉害啊。网站全英看不懂。。
@ma63d 为什么我在源码里没看到你页面里引用的 app.xxxxxx.js 呢
ma63d
2016-12-26 11:16:39 +08:00
@AlisaDestiny 额,这个 app.xxxxx.js 是用 webpack 打包出来自动插入到页面中的。
CallFold
2017-01-16 23:48:36 +08:00
赞一个~
daimao
2017-04-26 16:47:24 +08:00
楼主 666

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

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

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

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

© 2021 V2EX