V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vcfghtyjc
V2EX  ›  程序员

有什么有趣的 side project 可以做?

  •  
  •   vcfghtyjc · 124 天前 · 4801 次点击
    这是一个创建于 124 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看到 John Resig 的博客 《 Write Code Every Day 》,希望自己也能养成习惯每天写 30 分钟代码。最近把一个 side project 写的差不多了,想找个新的来做。

    在网上看到一些推荐的项目,有的是纯学习,最后的产出没有任何意义(比如做个订票网站);有的是太常见,GitHub 上类似的代码太多,感觉没什么重复造轮子的意义(比如做个计时器)。

    不知道大家有没有什么好的主意。我目前想到的一点是为开源软件贡献代码,但是只会在 issue 里面找有 "good first issue"。不知道怎么样才能找到适合的项目。

    第 1 条附言  ·  123 天前

    看到很多朋友分享自己的开源项目,只想说:加 大 力 度!

    有位朋友分享了个网站 Product Hunt, 感觉可以在里面找找灵感。

    抄热门服务也是个很有意思的想法,感觉可以通过“抄”研究一下热门服务使用的技术,也算拓宽了自己的视野。

    有位朋友提到发现有意义的新轮子并不容易,需要对某个领域的洞察力。我很同意这个观点。也许我们可以从洞察自己开始。观察自己有什么需求没有满足,现存的解决方案是否可以通过DIY某个软件来优化等。大家可以分享一下自己是如何使用代码优化自己的生活。比如我会把zsh和vim的配置文件放在GitHub上,并且提供一键部署的命令,这样每次使用新的机器就可以快速配置zsh和vim。

    33 条回复    2022-01-26 23:11:34 +08:00
    totoro52
        1
    totoro52  
       124 天前   ❤️ 7
    曾经我也这么纠结过,后面找了个班上就不会这么想了。
    anc95
        2
    anc95  
       124 天前   ❤️ 2
    我个人觉得,找工作中的业务的痛点、或者自己平时的一些需求痛点,来造轮子写一些,这样意义也大一些。
    如你想做的东西,已经有开源产品了,你可以试用一下,看看是否满足你的需求,可能你会发现 bug 提提 PR ,你有建议的功能可以提 Issue 讨论等等。

    更多的可以看看 https://www.zhihu.com/question/310488111 知乎上这个问题。
    totoro52
        3
    totoro52  
       124 天前
    “我目前想到的一点是为开源软件贡献代码” , 在实际开发使用这些开源软件时,实际上在开发中多多少少会遇到很多问题,比如逻辑上的不符合,代码上的错误,以及功能上的不足,就会引申出新的解决方案。
    christopheredwar
        4
    christopheredwar  
       124 天前
    可以做些文化整理的网站,类似网络文献保存博物馆
    ahmcsxcc
        5
    ahmcsxcc  
       124 天前
    看到 John Resig 的博客 《 Write Code Every Day 》,希望自己也能养成习惯每天写 30 分钟代码。最近把一个 side project 写的差不多了,想找个新的来做。


    你这个 side project 是啥
    xmlf
        6
    xmlf  
       124 天前 via Android
    给你推荐一个。
    https://github.com/fisharebest/webtrees
    唯一且独特,内涵又不失成就感。
    hello2090
        7
    hello2090  
       124 天前
    新手要找东西做?我推荐我老东家的项目 难易适当,容易上手,不像大型的开源项目因为你日常使用不到不知道从哪入手。手机号没验证发不了链接,github 上搜 'Atlas of Living Australia'
    makelove
        8
    makelove  
       124 天前   ❤️ 5
    这不简单吗,找个热门收费软件或服务,复制功能,半价收费,你又有事做又来钱
    zaunist
        9
    zaunist  
       124 天前
    要不自己写一个开源项目吧,哈哈
    KousukeSakurako
        10
    KousukeSakurako  
       124 天前
    写了一堆 daily tools.
    JamesChen
        11
    JamesChen  
       124 天前   ❤️ 1
    国内大部分的开源项目太没想象力了(电商、博客、刷题),真是给国内教育洗脑洗傻了。OP 要做的话,就要结合自己兴趣爱好来做,不然坚持不下来。
    我读大学的时候学日语,于是就做了一个兼有日语背单词、语法、刷 JLPT ( N1~N5 )考题的 APP ,前后端都做,后来这 APP 太侵权了,听说被抓的话,就要吊销 JLPT 证书,就没继续做下去。
    后来我学乐器,又想在 Web 端搞个通过 MIDI 键盘的输入,以如图( https://www.reddit.com/r/piano/comments/fsqyte/i_made_a_piano_visualizer_free_to_download/)形式展示,并自动生成对应的 ABC notation 形式(一种可以显示成五线谱的文本,并且这文本 /五线谱可以放到 Markdown 里)。当然,这个我还没做,已经有开源项目要维护,就没精力再开一个了。

    实在对啥都没兴趣,不如刷题。
    rapiz
        12
    rapiz  
       124 天前   ❤️ 9
    有意义的新轮子几乎只能靠自己去发现。一个新轮子应该含有或多或少的一些新的洞察,基于这些洞察对已有的东西进行改进,否则就容易变成如你说的没有意义的产出,只是自娱自乐的 toy project 。

    从个人浅显的观察来说,新事物的周边都很贫乏,有很多做轮子的机会。也可以思考新生技术的应用,机会也比较多。如果是非常成熟和火热的领域,可能都被别人做的差不多了。
    举个例子,之前我在寻求内核和容器、虚拟化方面的开源贡献,但是发现基本是大公司主导的社区,稳定成熟,没有大的创新点,大功能不会让一个 newcomer (或相对公司的“外人”)去做,而小的功能做出来不但没有 credit ,甚至别人 review 也不是很积极,虽然最后合进去了,但是中间被 delay 和要求 rebase 的体验很不好。

    后来我正好学了 Rust ,寻求做点东西。Rust 算相对年轻的技术,这几年越来越成熟。基于个人的经验,之前工作遇到的一些云原生、容器方面的基础设施,因为资源占用和性能开始从 Go 转用 Rust 的不少。我想这是一个好机会,即用 Rust 重写 Go 的驻留后台的系统服务软件,获取内存占用等等方面的优势。然后我想到 frp ,看了一些他的代码,觉得是一个机会,所以写了 https://github.com/rapiz1/rathole/ 确实在原来设想的内存占用和二进制方面上获取了优势。我想在资源受限的场景,比如嵌入式设备上会更有它的 niche 。这是一个从新技术应用入手的例子。

    总结一下,造一个有意义的新轮子其实还是一件创新的事情,从自身经验出发,关注机会多的新领域和新技术,比跟从别人的烂大街的项目列表要有意义。
    mirone
        13
    mirone  
       124 天前
    7gugu
        14
    7gugu  
       124 天前
    可以去帮忙做翻译,Crowdin 可以帮开源项目做翻译,为项目做贡献
    YadongZhang
        15
    YadongZhang  
       124 天前
    ecnelises
        16
    ecnelises  
       124 天前
    https://github.com/ecnelises/awesome-wheels

    之前有很多零零散散的想法,新开了个坑慢慢填,准备把收集的各种可以做的 Side Project 都拿来
    rpman
        17
    rpman  
       124 天前   ❤️ 1
    https://github.com/logseq/logseq
    A local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base.

    就是 ClojureScript 需要一点点学习成本
    darkengine
        18
    darkengine  
       124 天前   ❤️ 2
    根据经验,一天 30 分钟基本不可能搞出有产出的 side project 。
    magichacker
        19
    magichacker  
       124 天前
    @7gugu Crowdin 是啥?
    bojue
        20
    bojue  
       123 天前
    https://www.producthunt.com ,在上面找找看
    7gugu
        21
    7gugu  
       123 天前
    @magichacker 众包翻译平台 https://crowdin.com/
    leonkfd
        22
    leonkfd  
       123 天前
    浏览器起始页有兴趣吗?
    https://github.com/leon-kfd/Dashboard
    Shook
        23
    Shook  
       123 天前   ❤️ 1
    一起写个匿名漫画网站,取代一下濒临灭亡的动漫之家,现在缺少的:资源
    magichacker
        24
    magichacker  
       123 天前
    @7gugu 哦哦
    bl
        25
    bl  
       123 天前
    维护自己的开源 UGC 网站,哈哈
    zhennann
        26
    zhennann  
       123 天前
    一起来玩 CabloyJS 开源全栈框架: https://cabloy.com
    1 、内置 NodeJS 工作流引擎
    2 、独创 pc=mobile+pad 自适应布局
    3 、内置大量开箱即用的业务组件
    Haixiang
        27
    Haixiang  
       123 天前
    自己平常也写小玩意,个人觉得是否有趣来自于创新,而创新的前提是有足够多的抄袭。如果没有足够多的重复,要么你觉得这东西很简单,老子不屑于做,要么觉得这东西太难了,小白的我做不了,可能更多人觉得这东西都做出来的了,我还有做的必要么?实际上,无论你看哪个开源项目,就算是 Vue 或者 React 要也,它们都有自己的 Bug 和问题,并不是做了就不能再做了,也不是有了就等于完美的。可以先从自身的需求入手,造点轮子或者做个网页都行,实在没 Idea 了,就多抄抄别人的,只要深入了解某个轮子 /产品了,必然会发现里面的问题,这就是创新的时候了。
    dunizb
        28
    dunizb  
       123 天前
    @totoro52 哈哈哈😄
    hatsuyuki
        29
    hatsuyuki  
       123 天前
    @Shook 你好,我也在考虑搞个漫画网站,挽回大妈之家的颓势,如果可以的话,请联络我,我的邮件地址是 window.atob('a290b0BzYXNhbWVraS5hbm9uYWRkeS5tZQ==')
    KouShuiYu
        30
    KouShuiYu  
       122 天前
    Taikyo
        31
    Taikyo  
       118 天前
    @mirone 这个看起来有点意思,请问怎么加入?
    mirone
        32
    mirone  
       114 天前
    @Taikyo Issue 里面带 planned 都可以,还可以帮忙完善一下 examples 里面的内容
    Taikyo
        33
    Taikyo  
       113 天前
    @mirone 先 fork 看下。后面有问题我们交流下
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2609 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:55 · PVG 21:55 · LAX 06:55 · JFK 09:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.