仅一个文件,好玩的开源项目 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xueweihan
V2EX    分享创造

仅一个文件,好玩的开源项目

  •  
  •   xueweihan
    521xueweihan 2022-03-23 10:36:25 +08:00 4696 次点击
    这是一个创建于 1349 天前的主题,其中的信息可能已经有所发展或是发生改变。

    你是否记得:刚学完编程基础那会儿特别想写个东西,但动起手来却发现到处碰壁?

    你是否发现:一个好玩的开源项目,结果卡在了部署环境、安装依赖上?最后,"含恨而终"!

    你是否在寻找:一个文件、运行简单、一看就懂的开源项目呢?

    介绍

    OneFile 汇集了仅一个文件,好玩的开源项目。

    这里有游戏、编译器、服务器、工具、实用库等,它们简单有趣甚至复制代码就能跑

    加入一个文件的编程挑战:写你感兴趣的代码,用一个文件惊艳所有人!

    如果只用一个文件展示“平生所学”,编程语言不限!你会交出什么样的作品呢?

    项目

    轻点 即可提交项目,开启开源之旅。

    名称 语言 描述 作者 操作
    tinyhttpd C 不到 500 行的超轻量型 HTTP Server... J. David Blackstone 源码
    si78c C 用 C 语言实现的《太空侵略者》命令行游戏 loadzero 源码
    minilisp C 用 C 语言写的 Lisp 解释器。实现了整数、符... rui314 源码
    threadpoll C++ 一个简单的 C++11 线程池实现 progschj 源码
    minesweeper HTML 扫雷游戏 terrymckay 试玩
    2048 HTML 2048 游戏 bxm0927 试玩
    ascii-cam HTML 把视频图像转成 ascii iveseenthedark 试玩
    looptap HTML 消磨时间的小游戏,把球停在有颜色区域 vasanthv 试玩
    the-super-tiny-compiler Javascript 人人都能看懂的微型编译器 jamiebuilds 源码
    pico Javascript 200 行实现的面部识别库 nenadmarkus 试玩
    parsedown PHP 一个小而美的 PHP 的 Markdown 解析库 erusev 源码
    httpstat Python 用更优雅的方式展示 curl 结果的命令行工具 reorx 源码
    py2sec Python 一款轻量级跨平台 Python “加密”、加速的脚... cckuailong 源码
    tomato-clock Python Python 写的命令行番茄工作法定时器 coolcode 源码
    neofetch Shell 展示操作系统信息的命令行工具,支持 100 多种操... dylanaraps 源码

    项目: https://github.com/521xueweihan/OneFile

    官网: https://hellogithub.com/onefile/

    10 条回复    2022-09-21 20:51:54 +08:00
    rv54ntjwfm3ug8
        1
    rv54ntjwfm3ug8  
       2022-03-24 02:48:31 +08:00
    感觉做成一个文件完全是 Geek 创造的伪需求,理由如下:
    1. 做成一个文件不会减少外部依赖,也不会降低部署难度“运行简单”。假设你的项目依赖.NET Runtime ,你很难把.NET Runtime 打包进你的一个文件中,用户还是有可能“卡在了部署环境、安装依赖上”,就算打包进去了程序体积也会变得非常大。
    2. 逻辑复杂的代码全集中在一个文件,找一个功能的代码时定位困难,较为影响开发效率,更不用说给“刚学完编程基础”的人参考。
    baobao1270
        2
    baobao1270  
       2022-03-24 12:13:20 +08:00
    对于 PHP/JS 这类语言,全部放在一个文件其实不难吧,甚至有现成的工具可以直接帮你合并出几十兆的文件
    rekulas
        3
    rekulas  
       2022-03-24 13:41:42 +08:00
    如果以炫技性、可维护性、功能性来描述一个库
    单文件:炫技性低,可维护性低,功能性与正常库没有区别
    所以确实意义不大

    还不如纯炫技 https://js1k.com/
    GPLer
        4
    GPLer  
       2022-03-25 05:12:31 +08:00
    建议增加这个仓库里的
    https://github.com/nothings/single_file_libs
    sewer
        5
    sewer  
       2022-03-25 17:38:10 +08:00
    @theklf4 geek 伪需求?不理解 这不看项目的类型 就一顿批判吗。写个 hello world 也要拆文件吗
    buffzty
        6
    buffzty  
       2022-03-25 17:56:16 +08:00
    @sewer 拆文件这个问题. 如果是 java 的话 写 hello world 不仅要拆文件还要拆模块
    sewer
        7
    sewer  
       2022-03-28 16:40:08 +08:00
    @buffzty 啊 对对对对对
    xueweihan
        8
    xueweihan  
    OP
       2022-04-01 09:27:05 +08:00
    @sewer 感谢您的支持。
    您大可不必理会杠精的回复,他们想看我删项目、停更,我做 HelloGitHub 的时候也收到过类似的回复。
    您放心我会持续维护下去,打他们的脸。
    xueweihan
        9
    xueweihan  
    OP
       2022-04-01 09:27:56 +08:00
    @GPLer 感谢~
    sinmu
        10
    sinmu  
       2022-09-21 20:51:54 +08:00
    我觉得可以,干就完事儿了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     953 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 19:43 PVG 03:43 LAX 11:43 JFK 14:43
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86