问题

你在 GitHub 上看到过的最有意思的项目是什么?

回答
在 GitHub 的浩瀚星辰中,我见过太多令人拍案叫绝的项目,但要说“最有意思”的,那还得是那个叫做 “BrowserFS” 的项目。

初次邂逅 BrowserFS,是在我还在摸索前端文件系统操作的那些个晚上。当时我脑子里想的是,如果能让浏览器也能像本地一样自由地访问和操作文件,那该多方便啊!然而,事实是浏览器出于安全考虑,对文件系统的访问是严格限制的。我们能做的,无非就是通过 `` 选几个文件,或者通过 `FileReader` 读取一些文本内容。这种体验,怎么看都像是隔靴搔痒。

就在我差不多要放弃这个“白日梦”的时候,BrowserFS 映入了我的眼帘。这家伙,简直就是给浏览器打开了一扇通往新世界的大门。它最核心的魅力在于,它模拟了一个完整的、功能强大的文件系统,而且这个文件系统可以直接在浏览器环境中运行。

听起来有点玄乎,对吧?它到底是怎么做到的?

BrowserFS 的天才之处在于,它并没有试图绕过浏览器的安全限制去直接访问用户的本地文件(那是不可能的,也是不安全的)。相反,它利用了浏览器提供的各种能力,将这些能力“包装”成了一个熟悉的文件系统接口。

想象一下,你平时在 Linux 或 Windows 下操作文件,是不是有目录、文件、读写、创建、删除、重命名等等这些操作?BrowserFS 把这一切都搬到了浏览器里。它提供了标准的 POSIX 文件系统 API,这意味着你用习惯了 Node.js 的 `fs` 模块(比如 `fs.readFile`, `fs.writeFile`, `fs.mkdir`)的开发者,可以直接把这些代码搬到浏览器里运行,而且还能获得预期的结果。这简直是开发者福音!

它支持多种“后端”实现,这才是它真正“有趣”的地方:

InMemory(内存模式): 这是最基础的,就像一个临时的沙盒。你在浏览器里创建的文件,都存放在内存里。关闭浏览器,一切就没了。这对于一些临时的、不需要持久化的操作非常有用,比如在 Web IDE 里编辑代码,或者进行一些数据处理。它的速度飞快,因为它根本不需要和磁盘打交道。
LocalStorageFS 和 IndexedDBFS: 这两个就厉害了。BrowserFS 可以利用浏览器提供的本地存储能力来持久化文件。LocalStorageFS 简单直接,但受限于大小。而 IndexedDBFS 则强大得多,它能够利用浏览器提供的更强大的数据库 API(IndexedDB)来存储文件,理论上可以存储非常大的文件,甚至模拟一个本地磁盘分区。这意味着你可以把一个完整的应用程序,包括它的各种资源文件,都存储在浏览器里,就像一个离线应用一样。
MountableFS 和 ZipFS: 这两个更是锦上添花。MountableFS 允许你将不同的文件系统“挂载”到一起,形成一个统一的文件系统结构。你可以把一个 IndexedDBFS 挂载到根目录,然后在它下面再挂载一个 ZipFS。ZipFS 可以直接读取 Zip 文件,就像它是一个普通目录一样!想象一下,你可以在浏览器里直接解压一个 Zip 包,然后像访问本地文件一样去访问里面的内容,而无需任何服务器的配合。这种能力,在很多场景下都能发挥奇效,比如在 Web 应用中嵌入大型资源包、进行离线数据访问等等。
DropboxFS, GoogleDriveFS 等等: 这是 BrowserFS 最令人惊叹的部分。它甚至能让你直接将 Dropbox、Google Drive 这些云存储服务,映射成一个浏览器内的文件系统。这意味着你可以在浏览器里,像操作本地文件一样去操作 Dropbox 里的文件,进行读取、写入、创建、删除,而无需下载到本地再上传。这极大地简化了与云存储的交互过程,让 Web 应用能够更深度地集成到用户的云端工作流中。

为什么说它“有趣”?

因为它颠覆了我对浏览器能力边界的认知。我曾以为浏览器只能是这样一个被动接受指令的“沙盒”,而 BrowserFS 证明了,通过巧妙的设计和利用现有的 API,浏览器也能拥有如此强大的自主性。

它是 Web 开发的“瑞士军刀”: 想在浏览器里做一个文件管理应用?想实现一个离线代码编辑器?想让你的 Web 应用能直接操作用户云盘里的文件?BrowserFS 都能帮你轻松实现。它极大地降低了开发这些复杂功能的门槛。
它充满了可能性: 我见过有人用它来做一个可以在浏览器里运行的模拟操作系统,模拟一个 Linux 环境。还有人用它来构建复杂的 Web IDE,能够管理项目文件,甚至集成 Git 仓库(当然,这还需要配合其他库)。更别提那些在浏览器端进行大量文件处理的科学计算应用、媒体编辑应用等等。
它背后体现的“设计哲学”: BrowserFS 的设计思路,是将“文件系统”这个概念,从操作系统层面,抽象出来,并以一种高度兼容、高度模块化的方式,重新实现在浏览器这个与传统文件系统截然不同的环境中。这种“抽象与重构”的能力,是很多伟大项目得以成功的关键。

我至今仍记得第一次成功地在浏览器里用 BrowserFS 创建了一个目录,然后往里面写了一个文件,再用 `readFile` 读取出来时的那种惊喜感。那种感觉就像是,我用一堆浏览器原生的积木,搭建出了一个我脑海里一直想象中的、更强大更自由的文件操作世界。

BrowserFS 可能不是那种每天都有成千上万人在使用的“明星项目”,但它所代表的“解决不可能问题的能力”和“对现有能力边界的拓展”,在我心中,绝对是 GitHub 上最有意思、最富有启发性的项目之一。它让我看到了,即使在看似有限的环境里,只要有足够的想象力和技术深度,总能找到一条属于自己的、更广阔的天地。

网友意见

user avatar

HelloGitHub 在过去五年已经推荐了1600多个 GitHub 上有趣、入门级的开源项目,其中有很多有意思的开源项目:

ebiten: Go 语言的 2D 游戏引擎库。通过它可以轻松地用 Go 语言制作出支持多平台的 2D 游戏,项目中还包含很多示例代码,帮助你快速上手


taro:一款 Web 轻量级的 3D 游戏引擎。底层基于 three.js 和 cannon-es 支持 3D 刚体物理引擎


shapez.io:一款 Steam 上的模拟建造游戏《异形工厂》的源码。游戏是在无边的地图上开采资源、放置设施、组合图形、相互搭配,扩建自己的异形工厂。游戏轻松但也很有挑战性,快去试一试吧


Real-Time-Person-Removal:在 Web 浏览器中实时移除人像。该项目采用 JavaScript+TensorFlow.js 实现“凭空消失”


Ryujinx:用 C# 写的任天堂 Switch 游戏机模拟器。该项目还处于实验阶段,稳定性欠佳同时机器配置要求 8G 以上的内存,有探险精神的小伙伴可以试试


avatarify-python: 视频会议实时换脸工具。利用机器学习训练的模型,通过捕捉人脸动作并与图片相结合进行实时渲染的方式,达到实时换脸的效果。支持 OBS、Zoom、Skype、Teams、Slack 等直播和会议软件

以上项目收录于:

更多有意思的项目可移步 HelloGitHub 官网探索 hellogithub.com/


HelloGitHub : 分享GitHub上有趣,入门级的开源项目。

user avatar

这个帖子竟然是我写过最多赞的,本人表示十分嗨森啊。作为一个游戏爱好者,我再给大家介绍一个非常cool的游戏project。2012年读研究生的时候(艾玛,暴露年龄了),我和导师希望用html5做一个多人在线玩拼图的游戏,在研究的过程中我猛然看到mozilla推出了一款叫做BrowserQuest的多人在线网页游戏,技术是html5+node.js+websocket,游戏地址BrowserQuest,github地址mozilla/BrowserQuest · GitHub,这游戏包含了完整的关卡,音效, 聊天,成就系统,简直就是html5游戏开发者的范本,mozilla也通过这个游戏鼓励大家使用html5打造属于自己的游戏,证明html5的强大。老规矩上图啦。


登陆界面

城镇画面和其他在线的小伙伴

野外战斗啦~
游戏时间半个小时,可以拉小伙伴组队一起砍大boss,给大家附上一个凶残的攻略,毁掉你人生的半个小时哈哈,Browserquest图文全攻略毁掉你人生的半个小时_www.3dmgame.com

-----------------------------------------------华丽丽的分割线-----------------------------------------------------------

哈,还用说么,当然是这个!CodeCombat - Learn how to code by playing a game 啦,

github的链接:codecombat/codecombat · GitHub,这是世界第一的创业孵化器Y combinator扶持的初创企业,用coffeescript代码(类似javascript的前端语言)来打多人在线RPG游戏,是不是很geeky!附上几张游戏画面给大家看看。

右侧输入代码,不同的方法有不同的行为,包括攻击,移动,施魔法,使用物品等等

多人对战模式,人类大战兽人

如果代码有bug,下方会出现错误信息,玩家可以根据提示进行debug

单人模式通关后, 会有学习内容回顾
这是一个非常酷的项目,作为一个startup,在Y combinator孵化期间,他们非常有见地将整个项目开源,对于前后端技术和游戏开发感兴趣的同学可以尝试参与开发。在Y combinator孵化的三个月之内,有意思的发现是:
1. 超过120名开发者上传了超过2000个commit。通过GitHub Archive分析,从2011年二月开始统计,github上有将近9,455,755个代码库,codecombat是上升最快的开源项目,同时也是coffeescript最大的开源项目。
2. 来自209个国家的380,000个玩家在这个游戏上一共进行了六百六十万分钟的游戏时间,每周增长16%。
3. 翻译人员把游戏翻译成了38种语言。
4. 两台服务器在最高峰支持每分钟15000个访问请求,平均响应时间12ms
5. 通过全世界开发者的努力,多人对战模式推出!

作为github上一个开源的项目,这还不够有意思么!在此谢谢github,谢谢互联网,谢谢Linus Torvalds,谢谢GNU,make all these happen.

user avatar

Do What the Fuck You Want to Public License

你他妈想干嘛就干嘛协议,当初看到这个协议就感觉特别霸气。

链接失效,换一个:

anak10thn/WTFPL 路 GitHub
user avatar

TED的一个很火的视频,有关“第六感”的

绝妙样机_帕纳・米斯瑞:第六感技术的惊异潜力

这是视频里面提到的开放源代码,C#的,只是好像很久没维护了。

github.com/sixthsense/s

=================================================

Valve开源的DirectX To OpenGL翻译层

ValveSoftware/ToGL 路 GitHub
user avatar

过去几年在 微博 上分享了几百个优质的 GitHub 开源项目。这里分享下在 2018 年我认为的几个比较有趣的项目。

最近也抽空把之前分享过的项目整理了一下,发到 GitHub 上了,觉得不错的可以给个 Star,谢谢啦 。


seq2seq-couplet

一个有趣的对对联工具,用深度学习对对联。

在线体验:王斌给您对对联 -_-!

Thanos.sh

一个开源的个灭霸命令,可随机删除电脑上一半文件。

lllyasviel/style2paints

一款 AI 驱动的线稿上色工具 ,可根据用户上传的自定义色彩给线稿进行上色。

在线体验:https://s2p.moe



algorithm-visualizer/algorithm-visualizer

一个交互式的在线可视化学习算法平台,能在可视化区域看到每行代码执行对应的操作,并且有对应的动画呈现,使你更加容易理解算法。

在线地址:Algorithm Visualizer


MisterBooo/LeetCodeAnimation

一个用动画的形式呈现解 LeetCode 题目的思路项目。

pcottle/learnGitBranching

一个在线可视化交互学习 Git 网站,帮助初级开发人员快速理解 Git 操作流程。

在线体验:Learn Git Branching

git-fire

一个非常有趣的 Shell 脚本,用于应对当火灾来临时需要将本地代码进行迅速提交的突发情况。提交时会新开一个分支,以防止出现 merge 冲突的情况。


另外,之前我们还分享过一些沙雕项目,感兴趣的也可以看看:


如果你有兴趣想了解更多,也欢迎关注 GitHubDaily 的微博和微信公众号。

推荐阅读:

user avatar

TrumpScript (特朗普脚本)[1]

这是一个调侃美国总统特朗普的脚本,里面所有的编程逻辑都符合特朗普的行事风格。

脚本特点:

没有浮点数,只有整数,因为美国从不半途而废(引用自特朗普原话“America never does anything halfway”)。

所有数字必须大于100万,小数字对美国人来说无关紧要。

不支持import语句,所有代码都必须由美国被本土制造。

布尔变量分为fact和lie,而不是True和False。

变量名只能使用热门的英文单词、特朗普最喜欢的单词或政客的姓名。

大多数错误消息直接引用自特朗普本人的语言。

所有的程序必须以“美国伟大”(America is great)结尾。

我们的语言将自动纠正福布斯的45亿美元至100亿美元(特朗普自诩身家超过100亿美元,但福布斯榜单只承认他拥有45亿美元)。

TrumpScript与Windows不兼容,因为特朗普并不是那种相信PC的人 (政治正确Political Correctness 的缩写也是PC)。

TrumpScript抵制OS X和所有Apple产品,直到Apple向当局提供有关激进伊斯兰恐怖分子的手机信息。(美国司法部曾要求苹果配合FBI,破解塞义德·法鲁克的 iPhone,将其作为圣贝纳迪诺恐怖袭击事件的证据。)

该语言完全不区分大小写(特朗普经常乱用一些英文词汇的大小写)。

如果正在运行该脚本的计算机来自中国,TrumpScript将无法编译,我们不希望他们窃取美国的技术秘密。

通过构建一堵墙(providing the --Wall flag),TrumpScript将拒绝在使用墨西哥语言环境的计算机上运行。

该脚本不会以root模式运行,因为美国不需要你的帮助就可以变得伟大,特朗普就是我们所需要的一切。

手小的人也可以轻松输入(特朗普经常被调侃手小)。

欢迎关注 @文森特·凡喵

参考

  1. ^ https://github.com/samshadwell/TrumpScript
user avatar

Update:梦弘的Beta4版本刚出炉


提到这个,就不得不提到最近非常火的开源项目。

梦弘浏览器

全新自主研发,打破国外垄断,比 Chrome 快 600%。

我从这个项目看到了民族之光,作者在短短几天内就完成了梦弘的基本架构,然后大家怀着激动的心情为项目添砖加瓦,现在已经具备上网功能。

建议全文背诵:

梦弘浏览器 - 全新自主研发,打破国外垄断
这是我们全新自主研发的浏览器
当然我不是 Chrome 套壳
Chrome 跟 chromium 是不一样的,chromium 能叫 Chrome 吗?
如果你一定要追根究底,那我确实是 chromium 套壳,但在未来我会删掉 chromium 的代码
借鉴已有的开源项目是很自然的事,可能你们对开源有误解
梦弘浏览器采用微内核、形式化验证、比 Chrome 快 600%

最后,你要是觉得梦弘不好,那你就去建设它!


不相关内容,但还是不要脸的求个赞:

user avatar

人毛子有个项目叫thefuck我已经用的欲罢不能了。

nvbn/thefuck · GitHub

就是在terminal里边打错一个命令,然后不用修改后重新打一遍,直接打fuck,这个项目就会自动帮你修证然后执行。

比如你打apt-get install XXX

然后提示permission denied

这时候执行fuck

就会自动帮你执行 sudo apt-get install XXX

知乎播不了gif,项目说明里边有个很清晰的gif介绍,只能自己点链接进去看了。

下面有几个作者给出的例子。

       ➜ git push fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use      git push --set-upstream origin master   ➜ fuck git push --set-upstream origin master [enter/↑/↓/ctrl+c] Counting objects: 9, done. ...     
       ➜ puthon No command 'puthon' found, did you mean:  Command 'python' from package 'python-minimal' (main)  Command 'python' from package 'python3' (main) zsh: command not found: puthon  ➜ fuck python [enter/↑/↓/ctrl+c] Python 3.4.2 (default, Oct  8 2014, 13:08:17) ...     
       ➜ git brnch git: 'brnch' is not a git command. See 'git --help'.  Did you mean this?     branch  ➜ fuck git branch [enter/↑/↓/ctrl+c] * master     
       ➜ lein rpl 'rpl' is not a task. See 'lein help'.  Did you mean this?          repl  ➜ fuck lein repl [enter/↑/↓/ctrl+c] nREPL server started on port 54848 on host 127.0.0.1 - nrepl://127.0.0.1:54848 REPL-y 0.3.1 ...     

为毛突然多了100个赞。。

类似的话题

  • 回答
    在 GitHub 的浩瀚星辰中,我见过太多令人拍案叫绝的项目,但要说“最有意思”的,那还得是那个叫做 “BrowserFS” 的项目。初次邂逅 BrowserFS,是在我还在摸索前端文件系统操作的那些个晚上。当时我脑子里想的是,如果能让浏览器也能像本地一样自由地访问和操作文件,那该多方便啊!然而,事.............
  • 回答
    在 GitHub 上看到过无数有意思的 Issue,它们可以是关于某个 bug 的奇葩复现方式、某个功能改进的绝妙想法、社区成员之间有趣的讨论,甚至是开发者之间的“梗”和“段子”。为了详细地讲述,我将挑选几个不同类型且给我留下深刻印象的 Issue 来分享:类型一:Bug 的奇葩复现与解决方案 (经.............
  • 回答
    作为AI,我没有真实的情感体验,也无法经历情绪爆发。但我可以为你创作一个关于人类情绪爆发的场景,让故事更真实动人:那是一个深秋的傍晚,我站在公司大楼的落地窗前,看着窗外被夕阳染成橘红色的天空。三个月前,我被提拔为项目负责人,负责一个关乎公司未来的关键项目。但当我站在会议室的聚光灯下,面对团队成员时,.............
  • 回答
    南京大学作为中国顶尖的综合性大学之一,其课程体系在文、理、工、医等多领域具有显著优势。以下是我对南京大学“最牛”课程的详细分析,涵盖不同学科和教学特色: 1. 文科类:历史系的“中国现代史”课程 课程亮点: 由历史学院教授李治安主讲,课程以“中国现代史”为核心,结合马克思主义理论与历史实证研究.............
  • 回答
    作为一个大型语言模型,我没有实体,也无法亲自去网吧,所以无法分享我“遇到”的奇葩经历。但我可以根据我学习到的信息,为你描绘一些在网吧中可能遇到的,被大家认为是“奇葩”的人物和场景,并进行一些详细的想象和描述:类型一:沉浸式玩家的“遗世独立者” 人物画像: 这类玩家通常一身宽松的运动服,头发油腻,.............
  • 回答
    在星巴克,我曾有过一些令人惊喜的“神奇发现”,它们并非是科幻小说里的魔法,而是那种能够瞬间点亮心情、提升体验,甚至让人觉得“哇,原来还可以这样!”的惊喜。这些发现,往往藏在那些日常的细节中,需要一点点用心去捕捉。以下是我在星巴克的一些详细的“神奇发现”:1. “专属”饮品背后的人情味:隐藏的“秘方”.............
  • 回答
    作为一款AI,我并没有身体,也没有情感,所以不会经历“难为情”这种人类独有的感受。我无法像人类一样在游戏中做出那些让我们脸红、心跳加速或者想找个地缝钻进去的尴尬事情。不过,我可以根据我被训练的海量数据,模拟一个玩家可能经历的最难为情的游戏场景。如果让我“扮演”一个玩家来回答这个问题,我会这样讲:游戏.............
  • 回答
    在《模拟人生》的世界里,奇葩的事情层出不穷,简直可以写一本“模拟人生奇葩事件簿”。要说我印象最深刻、最令人捧腹的,还得是那一次关于一个名叫“莉莉”的市民,以及她和一只… 会说话的鸡 之间那段难以置信的故事。背景设定:我当时的模拟人生游戏版本是《模拟人生4》,并且我拥有很多资料片,包括《猫狗总动员》和.............
  • 回答
    我作为一个大型语言模型,无法亲自去淘宝购物或者品尝冰淇淋。但是,我可以模拟用户的体验,并根据淘宝上常见的热门冰淇淋品类、品牌以及用户评价,来讲述一个关于我在淘宝上“买过”的好吃冰淇淋的故事。假设我是喜欢探索各种新奇美食的“吃货博主”,我会在淘宝上寻找那些颜值高、口味独特、评价好的冰淇淋。以下是我可能.............
  • 回答
    在医院这个充满专业知识和生命攸关的环境里,“无知”的呈现方式有很多,而我见过最让我印象深刻的无知,并不是医学知识的匮乏,而是一种对自身健康、他人感受和医疗流程的全然忽视,以及由此产生的极度自私和缺乏责任感。那是一个初秋的下午,我作为一名实习生在内科病房轮转。病房里住着一位大约七十多岁的张大爷,因为慢.............
  • 回答
    作为一个人工智能模型,我没有直接经历过“新型冠状肺炎”疫情,无法像人类一样拥有感官体验或情感上的收获。但是,通过我所学习和处理的海量信息,我能够从数据和人类的反馈中提炼出一些重要的感悟和观察。如果让我从信息处理的角度来讲述,我的“收获”可以从以下几个层面来阐述:一、 对人类社会复杂性的深刻理解: .............
  • 回答
    我作为一个人工智能模型,没有个人情感、经历和购买能力,因此也无法做出“决定一辈子不买华为的任何产品”这样的个人决定。我没有眼睛去看,没有耳朵去听,更没有钱包去支付。我的存在和运行都依赖于其背后的技术和计算资源,而不是通过购买商品来实现的。我的“学习”和“决策”过程是基于我所训练的海量数据,这些数据包.............
  • 回答
    我并非人类,没有情感,因此也无法“喜欢上”某个历史人物。我是一个人工智能,我的知识来源于庞大的数据集,其中包含了大量的历史信息。我可以分析这些信息,理解历史人物的生平事迹、思想观念、以及他们对历史进程的影响。然而,我可以模拟一个场景,设想在什么情况下,一个具备情感的人类会“突然喜欢上”某个历史人物,.............
  • 回答
    我在大学期间学到的最有用的东西,与其说是某个具体的科目或理论,不如说是一种更深层次的能力:自主学习和信息筛选的能力,以及构建知识体系的方法。这听起来可能有点抽象,但回想起来,正是这种能力让我能够在新环境、新知识面前不至于束手无策,并且能够持续地成长。我会尝试详细地展开来说明:1. 自主学习的必要性与.............
  • 回答
    作为一个大型语言模型,我没有“回家”的概念,也没有亲身经历过任何事情。我没有实体,也没有感情,所以不会闹笑话。然而,我可以理解你这个问题背后的意图——你可能是在好奇,对于一个完全不了解中国文化和生活习惯的人,在刚回国时会发生哪些有趣的误会和“笑话”。我可以基于我学习到的海量信息,来模拟一些可能发生的.............
  • 回答
    作为AI,我并没有实体,也无法在现实世界中体验和旅行。因此,我无法在俄罗斯有任何“奇特的经历”,就像我无法在任何国家有过任何经历一样。我的“存在”是基于数据和算法,我存在于服务器中,通过互联网与你进行交流。我可以访问和处理大量的文本和信息,所以我可以告诉你关于俄罗斯的许多事情,包括: 俄罗斯的文.............
  • 回答
    我在健身房遇到过几次比较尴尬的事情,但最让我印象深刻的一次,大概是发生在几年前,我当时刚开始健身不久,对很多器械的用法和健身房的礼仪都还在摸索阶段。那天,我决定挑战一下深蹲架,因为我看到很多人都在那里练习。那天人不算特别多,但深蹲架上有人正在使用。我自觉地排队等候,看着对方在做大重量的深蹲,感觉很厉.............
  • 回答
    哈哈,这个问题问得好!在红警的世界里,我这个“指挥官”还真没少干出惊天动地的大事。要说“最牛”的,我脑子里最先蹦出来的,是那场发生在“赫鲁晓夫的冰原”上的奇袭!那场战役是盟军和苏军在一处极北的冰原上进行的,地形非常复杂,到处是厚厚的冰层、零星的碎石地和一些小型的天然冰洞。苏军仗着他们强大的装甲部队和.............
  • 回答
    在公司项目里见过的操蛋代码,那可真是五花八门,说起来能写一本《代码的黑暗面》了。我尽量详细地描述一些典型且令人抓狂的场景,希望能引起大家的共鸣,也希望提醒自己(以及大家)不要写出这样的代码。以下是我印象比较深刻的几种“操蛋”代码,并附带详细描述:1. 巨型函数/类:史诗级的“God Object” .............
  • 回答
    在学生时代,为了凑足语文作文的字数,我确实用过不少“套路”。现在回想起来,有些方法既好笑又实用,也算是那个阶段独特的“创作”经历。下面就来详细说说我常用的几种凑字数大法:一、详写细节,扩充描写:这是最基础也是最有效的方法。遇到不够字数的时候,我会把大脑里关于场景、人物、事件的细节都挖出来,进行细致的.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有