经历专栏目录

成功上岸字节!共享一些 Idea!

入职字节一个月,我总结了 10 条心得与领会。

想要入职大厂,应该怎么预备八股文?方法论共享!

怎么从 0 到 1 落地你的榜首个开源项目?破局共享!

深夜,我被自己 “rm -rf” 删库了…

前言

咱们好,我是 「周三不Coding」。最近立刻就要到秋招提早批啦,信任许多小伙伴都在忙着温习八股文、刷算法题、预备简历中。

最近我也重视到了许多同学都在问一个问题,怎么做一个自己的项目。

项目的重要性想必咱们都清楚,假如你的项目在开源社区内有必定知名度,在面试中会十分加分(一位腾讯面试官在面试时亲口和我说的)

那么如安在接近秋招,落地一个开源项目呢?今日这篇文章主要从开源项目的 「破局之道」 与 「破局之法」视点出发,具体和咱们剖析怎么从 0 到 1 落地你榜首个真实含义的开源项目。

个人经历

在开端具体的解说前,不妨先听我讲讲我的故事。

从触摸编程开端,我便是个躁动不安的人,总喜爱搞点工作。尽管那时分什么都不会,但常常去 Github 和各大编程论坛上逛,Star 一些项目,梦想着以后自己也有才能能够做出来一个开源项目。

可是,有个最大的问题,我信任许多同学也正在面对该问题,自己有主意,可是却忧虑无法落地,忧虑做得不够好,总而言之便是一万个忧虑。我其时也是如此,有过一些自以为很不错的主意,但在还没有迈出榜首步时就夭折了。

最近,或许是伴随着我代码才能的提高,以及继续躁动不安的心,我总算迈出了自己的榜首步,跟了一波 ChatGPT 的风,做出了 GPT Terminal

其实回过头看一看,做的进程真的很快。从我有主意,到我开端做,到最终项目发布到 Github,耗时只有一周。

项目原理很简略,关键是我怎么寻觅主意、获取灵感、战胜完美主义、战胜害怕失败的惊骇,这才是今日我要说清楚的工作。

咱们对项目感爱好的话能够看看我这个专栏 —— GPT Terminal 专栏

破局之道:执行力 >> 主意

首要,我给咱们抛出一个我以为正确的结论

  • 开源项目能够落地的两个必要条件 —— 主意 & 执行力
  • 执行力 >> 主意

破局之道其一:主意

做自己的开源项目与跟着教程、视频做项目的最大不同在于:一个是自动输出,一个是被迫输出。两者的不同十分之大。

  • 被迫输出
    • 你只需求具有「做题家思维」,走一条「阳关道」,前方的坑都现已被教程的作者所填平,做的进程会十分顺畅。你不需求过多的考虑与规划,即可顺畅地完结该项目。
    • 可是这种项目注定容易烂大街,很难照搬到简历或作为自己的开源项目,导致面试求职时天花板低。
  • 自动输出
    • 你需求具有「出题家思维」与「产品知道」,一路上会遇到多个「十字路口」,你需求剖析现有的用户需求,做产品的规划与规划。需求方可所以你自己,也可所以社会群众。在做的进程中,你会去不断地考虑处理计划,并从多个计划中挑选出你以为的最优解。
    • 经过这一系列的尽力,最终你孵化出的开源项目,交融了你的考虑,具有有你的价值导向。并且这种项目一旦具有立异性或趣味性,或处理了某种特定的需求,很容易成为爆火的开源项目。

要想做到自动输出,首要你得有一个主意,不论这个主意是否现实、是否可落地。信任许多同学就难倒在这榜首步,因为长时间的「做题家思维」,头脑空白,很难真实地发掘本身需求或周边用户需求,或者想到有意思的产品内容。

接下来,我从三个视点和咱们聊聊,我是怎么 “破局”、怎么生产主意。

如何从 0 到 1 落地你的第一个开源项目?破局分享!

开拓者心态

这一点说起来其实有点中二。咱们在学习的时分,或许扮演的人物更多的是一个 Follower,跟着大牛的脚步,步步为营学好基础常识。诚然,这一点十分重要,让你能够兢兢业业地学本领,可是,假如在学习的进程中,一同保持一个开拓者心态,常常性地去考虑,我可不能够在某个细分范畴,成为该范畴的带头人,我也当一次大牛,出一些专栏、教程、视频等?耳濡目染中,这种意念力会将你代入到这个开拓者人物中,考虑一些结构、产品的规划,并梦想自己有朝一日也可做出来类似的产品。其实在考虑中,你无知道地在向「出题家思维」改变,这一点至关重要。

产品思维

「开拓者心态」其实是一种虚无缥缈的东西,每个人都能够想入非非,浅显点来说叫 YY。所以说,它还需求与切实的思维逻辑相绑定,然后发挥出最大的效果。「产品思维」在其间起着重要的效果,这意味着你需求去站在用户的视点考虑问题,重视用户需求,然后想清楚你要做一个什么样的项目或产品。假如你找不到需求,那也没关系,你只需求重视你以为有意思的东西。假如它能够起到娱乐效果,那么相当于你发现了用户的潜在需求,甚至你是在引导用户需求。

常识输入堆集

当你具有了前两者之后,你应该很快就会发现身边的需求,发生一些初步的主意。可是,你还需求很多的常识输入堆集,才能支撑着你把项目做下去、做成功。举个,小学打游戏的时分,我就想做一个游戏脚本,辅佐刷怪晋级,可是我其时并没有对应的编程才能与技能,所以说这个主意在其时就只或许是主意。前期的「常识输入」重要的,当你有了满足的「输入」,你就会发现「输出」是顺从其美的工作。

Idea 共享

说了这么多,有没有什么实践的主意呢?其实是有许多的,这儿给咱们说几个比较简略的。现在 AIGC 十分炽热,那么咱们可不能够从最简略的 ChatGPT 入手,考虑一下怎么基于 GPT 来建立一个新项目或优化咱们的现有项目?

  1. 我之前写过一个编程论坛的项目,其间有问答模块,可是其实有许多问题都是比较重复的、简略的。假如网站用户重复地看到这些问题,会以为网站质量较低,丧失用户粘性。那么咱们是不是能够将重复的问题过滤并收集起来,做成一个数据集,并 Feed 给 GPT 模型,将其训练为一个编程助手语言模型,这不就处理了网站中的重复性问题吗?(咱们假如不知道怎么可视化训练模型,能够看看我这一篇文章)
  2. 做一个自媒体助手,经过 AIGC 辅佐创造者创造文章、视频、音频等内容,你需求完善你的渠道服务,提高用户创造内容的功率。这也是个不错的主意,而你需求做的工作比较简略,只需求对 ChatGPT 进行微调,使其能够起到辅佐创造的效果即可。
  3. GPT Terminal 项目的出发点是爱好,我觉得将 GPT 与终端结合在一同比较酷。此外,我也是为了提高我日常的工作功率,我在规划之初加入了命令行翻译人物、中英文互译人物、SQL 翻译人物。这三类都是我最常常用到 ChatGPT 的地方。

破局之道其二:执行力

这一点重要性其实显而易见。在我看来,执行力 >> 主意

主意很有或许是你在吃饭、漫步、打游戏、刷视频时,突然冒出来的奇思妙想。思维活跃的人或许一天一个主意。可是怎么将主意落地,最关键的是你的执行力。在有了主意之后,你假如确定主意是可落地的,那么你就不需求再继续想下去,究竟你做的不是真实的产品,不需求你进行很多的需求剖析,就算是真实上线的产品,也不需求你一次性做到完美,究竟现在最盛行的是「敏捷开发」嘛,经过多次迭代后创造出成功的产品。

所以说,在有了主意之后,不用继续深想,不用瞻前顾后。你只需求想方设法做出榜首版 Demo,将你的主意落地,并不断完善,那么它便是一个有价值的开源项目。

这一进程中,执行力十分重要。你需求继续付出尽力,完结你在每一个阶段设下的既定目标。

破局之法:从 0 到 1 落地开源项目

其实,做开源项目就像是建立一个房子。

  • 你需求担任房子的户型规划

  • 你需求考虑修正房子需求用到哪些原材料

  • 你需求为房子打好地基

  • 你需求一层一层地将房子盖起来

  • 你需求购置家具、装饰样板房

  • 你需求将你的房子卖给用户。

这每一步环节,其实都能够一一对应到咱们做开源项目的进程。

信任聪明的咱们现已猜到大概内容啦,接下来我给咱们进行具体的拆解。

如何从 0 到 1 落地你的第一个开源项目?破局分享!

“规划你的摩天大楼” —— 项目需求、技能选型、规划计划

在有了项目主意之后,你需求对项目的主意进行细化,即你需求进行具体的需求剖析,拆分你项目的功用点。这些功用中,有的是中心功用,有的是非中心功用。这也意味着,中心功用有必要在你的榜首版 Demo 中完结,而非中心功用能够排到后期完结。这其间咱们采用了「分治思维」,将大问题拆分为小问题,逐个击破。这样一来,在做的进程中,咱们不会有太大的压力,能够快速发布榜首个版本。

拆分完需求之后,咱们需求进行技能选型。假如仅仅快速落地主意、将开源项目做成,我以为咱们直接采用最了解、最简略的技能栈即可。

  • 这儿就不得不说到「学生思维」啦:在做项目时,总是过度选型、过度规划,导致最终罗列出一堆看似巨大上,却完全用不到且不了解的技能栈。这样或许会使得你初期斗志满满,可是一旦受挫后就容易使项目夭折,半途抛弃。因而,我建议首选了解的技能栈,除非你以为你的执行力满足强,必定能坚持到最终。

至于规划计划的话,因项目而异,大部分在 Github 上都有类似的处理计划,只不过你需求将其整合到你的项目中。

“打地基,摆架子” —— 最艰难的一步

这一步我愿称之为最艰难的一步,也是最容易劝退的一步。万事开头难,从 0 到 1 去建立一个项目架构,很检测规划才能。关于完美主义的人来说,在这一步会浪费很多的时刻,想方设法地去构建项目结构,想让其做到「可扩展」、「可保护」、「可迭代」。可是咱们冷静下来细想一个问题,假如你的产品现已到了快要无法 “生计” 的境地,你还会去费尽心思提高用户体验吗?所以说,最关键的是先 ”活“ 下来,再去考虑 ”开展“ 的工作。

因而,怎么快速 ”渡劫“,关键之法在于,以做 Demo 的心态去摆架子,即使你最终写出来的是 ”屎山“ 代码,那你也能够第二版、第三版中不断保护、不断改进,任何工作都不或许一蹴而就

“筑高台,大力出奇观” —— 填充完善你的项目内容

恭喜你,迈过了最艰难的一步,顺畅走到了这个阶段。这时分,信任你现已初步建立起了项目的结构,并完成了部分中心功用。之后,你需求考虑的便是按照之前的层次结构,将其他功用点逐一完成并填充进去。假如你的项目比较简略,那么到了这一阶段,你只需求去复现其他的开源处理计划,将其集成到你的项目中即可。

大力出奇观,当你投入满足多的时刻到项目中,你的项目功用点会越来越多,并且越来越完善。

“门面工程,装饰艺术” —— 修饰完善 README 文档

总算到了最终的轻松 + 愉快阶段啦。这个时分,你现已完结了项目的主体开发,进入到了发布上线的阶段。而为了便于你之后推行项目,你需求对其进行必定的修饰与包装,即完善你的 README 文档。

我信任绝大多数用户在浏览开源项目时,榜首眼看的便是 README 文档。一个好的 README 文档能够给用户留下深入的形象,运用户想要尝试去运用你的项目。

“装饰” README 也是一门艺术,接下来我给咱们列一个大概的 “装饰” 结构。

具体示例能够参阅 GPT Terminal。

  • 项目 Logo:使你的项目巨大上一些,吸引用户(可选)

  • 项目简介:简明扼要告知用户你的项目中心是什么

  • 项目预览:经过图片、视频的方式,让用户直观地感受项目(可选)

  • 功用概览:分点告知用户项目的中心功用

  • 快速开端:明晰明确地告知用户,怎么从 0 到 1 运转该项目

  • 奉献指南:当你的项目吸引到用户时,你需求给用户一个渠道与方法,一同参与到开源项目的建设中(可选)

  • 特别鸣谢、开源协议(可选)

“出售之道,用户心智” —— 怎么推行你的项目

在《定位》一书中,多次说到获取「用户心智」在营销傍边起到至关重要的效果。

其实咱们细想一下各个互联网范畴的头部产品,其实它们正是做到了牢牢把握用户心智,成为了这一品类的代名词。

那么,咱们也是需求按照这一准则,去推行咱们的项目。在推行的进程中,它必定是具有明显的标签,有着差异于其他项目的亮点,这样才能让用户牢牢记住你的项目。

我在推行 GPT Terminal 项目的进程中,主要以两个亮点为主:「终端交互」&「人物定制」,环绕这两点进行宣传,让用户直观地感受到 GPT Terminal 项目与一般 ChatGPT 项目的差异在哪里。

并且你需求坚持地保护项目,因为长时间的保护本身便是一种宣传方式,这能够运用户感受到你是在用心做这一项目,必定程度上证明项目是可行的、可用的,出 Bug 的概率较低。

总结

信任咱们看到这儿,必定关于怎么建立一个开源项目,有了更加深入的了解与知道。不过还是要牢牢记住「破局之道」 —— 主意与执行力。这两点具有后,「破局之法」是顺从其美、顺理成章的工作。

假如咱们现在仍然没有一个具体的主意,能够参阅主意部分的 Idea 共享。假如咱们还需求我供给更多主意,我能够再写一篇文章,具体和咱们聊聊我最近关于开源项目的考虑~

祝咱们能够赶快拥有一个属于自己的开源项目,为自己的简历添加点儿真东西!

看在我这么仔细的份上,咱们点个 Star、点个赞不过分吧(磕头!)下期再见!