开源者访谈录第|开源者访谈录第 1 期(如何在 3 个月内斩获 14000 个 GitHub Star!)

没错,被采访者正是在下,(逃
原文如下:

大家好,这里是 GitHubDaily,从 2015 年起,我们开始在微博上坚持每日推荐优质的开源项目,至今已三年有余。
2019 年初,我们同时开通了知乎专栏与微信公众号,并开始以文章的形式分享 GitHub 上那些优质的开源项目。
近期,我们筹划的访谈类节目 -「开源者访谈录」已正式启动。
该节目将通过问答的方式,对一些优秀的开源项目作者进行专访,并撰写成文,推送到我们微信公众号与知乎专栏等渠道,与大家一起学习,共同见证一个伟大开源项目的成长(感兴趣的可到文章底部点击链接关注)。
本期我们邀请到了开源项目「LeetcodeAnimation」的作者 - 程序员小吴,来跟我们分享开源项目过程中的一些有趣经历。
「LeetcodeAnimation」项目通过有趣的动画交互方式,向开发者呈现解 LeetCode 题目的思路。从 2018 年 12 月正式开源以来,在短短三个月时间内便收获了 14000 个 Star,实在令人佩服。
下面是正式的访谈环节。
请简单介绍下你自己。 大家好,我是程序员吴师兄,哈工大毕业学渣,28 岁老腊肉,一线开发人员,平时喜欢敲代码和看源码,偶尔跑跑步。
之前为什么会想到要做这样的一个项目? 在刷 Leetcode 的过程中,遇到很多有意思和有难度的题目,有时候自己能做出来,有时候需要看别人的分析才能解开,但往往隔一段时间再去看原题的时候又是一头雾水。
这时,我在考虑:有没有一种方法可以把抽象的算法具体化、生动化,加深或者加快解题的思路?
LeetcodeAnimation 便由此诞生。
项目具体实施过程中,有遇到过哪些问题吗? 其实在开源这个项目前,我还开源过一个排序动画的项目「Play-With-Sort-OC」。这个项目在 GitHub 上也获得了不少 Star,效果不错。
因为每次想起动画场景的时候就能知道排序的思路,进而白板编程写成相应的排序算法代码。因为这个能力,自己在不少的面试的算法环节能轻松应对。
于是,我就开始尝试将解题的思路用动画的形式记录下来。
一开始尝试像之前一样用 Objective-C 语言编写动画,但发现这样效率太低了,一个简单的题目动画编写需要耗费几个星期的时间。
期间打算使用小程序来做动画,可能因为功夫不到家,技巧不太熟练,效果也不理想。
开源者访谈录第|开源者访谈录第 1 期(如何在 3 个月内斩获 14000 个 GitHub Star!)
文章图片



百般尝试无果后,把做动画这个想法搁置到一边了,期间自己依旧笨拙的刷着 LeetCode 。
后面是怎么重启这个想法的呢? 一次的偶然机会,我发现 PPT 所创造出来的动画很丰富,使用技巧也不是很高深:只要你的想象力够丰富,只需要几分钟便能勾勒出思路动画。
于是,经过一小段时间的学习,加上自己的想象力,马上做出了第一个动画。
开源者访谈录第|开源者访谈录第 1 期(如何在 3 个月内斩获 14000 个 GitHub Star!)
文章图片

可以明显的发现,这个动画的交互与形状的设置并不是很好,不过,我认识到了:用 PPT 动画来演示 LeetCode 解题思路的确行得通!
当然,做 PPT 是个细致的活,于是花了一些时间摸索 PPT 功能,琢磨怎么把动画做的更好看、思路展现的更加流畅。
然后,我想到了可以通过这种方式来将题目做成动画。
具体的制作流程是这样的:
开源者访谈录第|开源者访谈录第 1 期(如何在 3 个月内斩获 14000 个 GitHub Star!)
文章图片

很多时候,一道题目的解题只花费了几分钟,但做出动画来却要划分一到两个小时不等。
【开源者访谈录第|开源者访谈录第 1 期(如何在 3 个月内斩获 14000 个 GitHub Star!)】自己是一个在职程序员,工作也比较饱和,动画的制作只能安排在夜深人静的时候,在去年十一月份的时候经常忙活着做动画做到凌晨一两点。
这个过程痛快却快乐着,毕竟,这是做自己喜欢做的事情:)
针对这个项目,未来的下一步计划是什么? 正如我在 「LeetcodeAnimation」上写的:我会尽力将 LeetCode 上所有的题目都用动画的形式演示出来,计划用 3 到 4 年时间去完成它,期待与你见证这一天!
现在基本上我一到两天都会制作一道题目的动画,状态好的周末,一天能做三四题:)
期间得到了很多读者的认可,觉得这种动画的形式大大方便了对于 Leetcode 的理解。
与此同时,有很多小萌新们觉得能不能从简单的数据结构开始,同样用动画的形式去解析一下。
经过慎重考虑,并与「掘金」、「小专栏」等大佬们讨论之后,觉得「用动画呈现数据结构与算法」这个想法很棒!
于是,最近开始停止更新「LeetcodeAnimation」,转为从简单的数据结构开始进行动画制作。
但不用担心「LeetcodeAnimation」会不会因此「太监」,更新完数据结构与算法章节后,立马恢复更新「LeetcodeAnimation」,保守估计 2019 年会至少更新 130 道题目,敬请期待 :)
有哪些学习算法的网站推荐? 我是非科班出生的程序员,一开始学习算法是看视频入门的。看慕课网bobo老师的视频入门,反复看,保守估计看他的视频看了 1000 多个小时。(注:很多视频都是坐地铁时看的,这些视频都是离线下载好的,因此学习时长没有同步到网络上去)。
开源者访谈录第|开源者访谈录第 1 期(如何在 3 个月内斩获 14000 个 GitHub Star!)
文章图片

对于新手来说,视频的话推荐看 bobo 老师的视频。
书籍的话建议先看《算法图解》与《我的第一本算法书》。
看完这两本再看其他的算法书籍应该就不会头大了。
网站的话推荐一个:https://visualgo.net/en
这个网站能帮助开发者可视化的理解数据结构与算法。
有哪些建议可以给算法初学者? 思来想去,还是觉得这篇的建议最好了。
https://www.imooc.com/article/26624
推荐近期看到的几个比较有意思的开源项目。 1) 上班听歌的小插件。
https://github.com/nondanee/vsc-netease-music
2) 准备面试必须看的一个库。
https://github.com/CyC2018/CS-Notes
3) 很酷炫的小程序 UI。
https://github.com/weilanwl/ColorUI
4) 快速建个人博客的工具。
https://github.com/halo-dev/halo
作者信息 最后,附上该作者的一些信息。大家可以多去骚扰哈~
网站:http://www.cxyxiaowu.com
GitHub 地址:https://github.com/MisterBooo/LeetCodeAnimation
「五分钟学算法」公众号:
开源者访谈录第|开源者访谈录第 1 期(如何在 3 个月内斩获 14000 个 GitHub Star!)
文章图片

好啦,本期的专访环节就到此结束,因为是首期专访,因此有不足之处,还请大家多多包涵,如果你有什么意见或建议,也欢迎到评论区分享给我们。
另外,如果你有比较感兴趣的开源大佬,也欢迎到微信公众号(GitHubDaily)后台给我们私信举荐,我们会定期查阅私信,并视情况安排好专访日程。
点击「阅读原文」可查看文章原内容。
GitHubDaily - 挖掘开源的价值。

  • 微博: @GitHubDaily
  • 知乎:GitHubDaily
  • 公众号:GitHubDaily
开源者访谈录第|开源者访谈录第 1 期(如何在 3 个月内斩获 14000 个 GitHub Star!)
文章图片



    推荐阅读