V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xueweihan
V2EX  ›  分享创造

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

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

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

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

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

    介绍

    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   ·   实用小工具   ·   1071 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:12 · PVG 03:12 · LAX 11:12 · JFK 14:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.