• 开源者访谈录第 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 语言编写动画,但发现这样效率太低了,一个简单的题目动画编写需要耗费几个星期的时间。

    期间打算使用小程序来做动画,可能因为功夫不到家,技巧不太熟练,效果也不理想。

    640?wx_fmt=png


    百般尝试无果后,把做动画这个想法搁置到一边了,期间自己依旧笨拙的刷着 LeetCode 。

    后面是怎么重启这个想法的呢?

    一次的偶然机会,我发现 PPT 所创造出来的动画很丰富,使用技巧也不是很高深:只要你的想象力够丰富,只需要几分钟便能勾勒出思路动画。

    于是,经过一小段时间的学习,加上自己的想象力,马上做出了第一个动画。

    640?wx_fmt=gif

    可以明显的发现,这个动画的交互与形状的设置并不是很好,不过,我认识到了:用 PPT 动画来演示 LeetCode 解题思路的确行得通!

    当然,做 PPT 是个细致的活,于是花了一些时间摸索 PPT 功能,琢磨怎么把动画做的更好看、思路展现的更加流畅。

    然后,我想到了可以通过这种方式来将题目做成动画。

    具体的制作流程是这样的:

    640?wx_fmt=png

    很多时候,一道题目的解题只花费了几分钟,但做出动画来却要划分一到两个小时不等。

    自己是一个在职程序员,工作也比较饱和,动画的制作只能安排在夜深人静的时候,在去年十一月份的时候经常忙活着做动画做到凌晨一两点。

    这个过程痛快却快乐着,毕竟,这是做自己喜欢做的事情:)

    针对这个项目,未来的下一步计划是什么?

    正如我在 「LeetcodeAnimation」上写的:我会尽力将 LeetCode 上所有的题目都用动画的形式演示出来,计划用 3 到 4 年时间去完成它,期待与你见证这一天!

    现在基本上我一到两天都会制作一道题目的动画,状态好的周末,一天能做三四题:)

    期间得到了很多读者的认可,觉得这种动画的形式大大方便了对于 Leetcode 的理解。

    与此同时,有很多小萌新们觉得能不能从简单的数据结构开始,同样用动画的形式去解析一下。

    经过慎重考虑,并与「掘金」、「小专栏」等大佬们讨论之后,觉得「用动画呈现数据结构与算法」这个想法很棒!

    于是,最近开始停止更新「LeetcodeAnimation」,转为从简单的数据结构开始进行动画制作。

    但不用担心「LeetcodeAnimation」会不会因此「太监」,更新完数据结构与算法章节后,立马恢复更新「LeetcodeAnimation」,保守估计 2019 年会至少更新 130 道题目,敬请期待 :)

    有哪些学习算法的网站推荐?

    我是非科班出生的程序员,一开始学习算法是看视频入门的。看慕课网bobo老师的视频入门,反复看,保守估计看他的视频看了 1000 多个小时。(注:很多视频都是坐地铁时看的,这些视频都是离线下载好的,因此学习时长没有同步到网络上去)。

    640?wx_fmt=jpeg

    对于新手来说,视频的话推荐看 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

    「五分钟学算法」公众号:

    640?wx_fmt=jpeg


    好啦,本期的专访环节就到此结束,因为是首期专访,因此有不足之处,还请大家多多包涵,如果你有什么意见或建议,也欢迎到评论区分享给我们。

    另外,如果你有比较感兴趣的开源大佬,也欢迎到微信公众号(GitHubDaily)后台给我们私信举荐,我们会定期查阅私信,并视情况安排好专访日程。


    点击「阅读原文」可查看文章原内容。

    GitHubDaily - 挖掘开源的价值。

    • 微博: @GitHubDaily

    • 知乎:GitHubDaily

    • 公众号:GitHubDaily

    640?wx_fmt=jpeg


  • 相关阅读:
    MVC模式下 provider: SQL Network Interfaces, error: 50
    How to expose a JSON endpoint from a WCF-service
    net 后台任意设置 控件显示和隐藏就OK
    VS编程,快速折叠或者展开代码到 #region 级别的设置方法。
    java进阶(18)--Enum枚举
    java进阶(17)--Random
    java进阶(16)--System常用方法总结
    java进阶(15)--DecimalFormat、BigDecimal
    java进阶(14)--日期时间处理
    java进阶(13)--int、String、Integer互相转换
  • 原文地址:https://www.cnblogs.com/csnd/p/16675470.html
Copyright © 2020-2023  润新知