有趣的GayHub-狗屁不通文章生成器

755 阅读6分钟

对于技术人来说,GitHub大家肯定都不陌生,这个平台汇聚了无数开源人的优秀作品,不管你有没有在GitHub上贡献过开源代码,你一定在你的项目里应用过 GitHub 的优秀开源库;

我们都说不要重复造轮子,GitHub 为我们提供了一个检索现有轮子的绝佳平台,而且 GitHub 也是我们打造技术影响力,体现我们技术实力的绝佳平台,没事儿的时候可以多逛逛,再没事儿的时候贡献点代码,说不定一不小心就变成万种瞩目的那个 Gay~,咳咳,技术精英了呢

Github 被广大同行戏称为全球最大同性交友网站,别称 GayHub,别提多不正经了,有趣的 GayHub 系列预计会为大家呈现一系列有趣的开源库,敬请期待~

今天给大家分享的是截至目前 GayHub 上标星 10.7k 的一个有趣的开源项目:

BullshitGenerator

看看这充满霸气的名字,一句 Bull shit 脱口而出~

这个库的中文名字就更霸气了:

狗屁不同文章生成器

哈哈,看到标题就知道这是一篇逗比中夹杂着复杂技术的文章。

项目地址:请戳这里

如果想体验一下生成的狗屁不通的文章长什么样,请戳这里

这个开源库的体验效果是这样式儿的:

你没看错,真的就是狗屁不通的效果~

当然,你如果有兴趣,可以自己去扩充它的语料库,去生成更有意思的,优雅的,狗屁不通的文章;

其部分语料库如下:

{    "title":"学生会退会",    "famous":[    "爱迪生a,天才是百分之一的勤奋加百分之九十九的汗水。b",    "查尔斯·史a,一个人几乎可以在任何他怀有无限热忱的事情上成功。b",    "培根说过,深窥自己的心,而后发觉一切的奇迹在你自己。b",    "歌德曾经a,流水在碰到底处时才会释放活力。b",    "莎士比亚a,那脑袋里的智慧,就像打火石里的火花一样,不去打它是不肯出来的。b",    ...    ],    "after":[    "这不禁令我深思. ",    "带着这句话, 我们还要更加慎重的审视这个问题: ",    "这启发了我. ",    "我希望诸位也能好好地体会这句话. ",    "这句话语虽然很短, 但令我浮想联翩. ",    "这句话看似简单,但其中的阴郁不禁让人深思. ",    "这句话把我们带到了一个新的维度去思考这个问题: ",    "这似乎解答了我的疑惑. "    ],    "before":[    "曾经说过",    "在不经意间这样说过",    "说过一句著名的话",    "曾经提到过",    "说过一句富有哲理的话"    ]}

这个库还有一个特别有意思的地儿,就是为了方便大家理解,方法名都是中文命名的,其核心生成逻辑如下:

function 生成文章(){    let 文章 = []    for(let 空 in 主题){        let 章节 = "";        let 章节长度 = 0;        while( 章节长度 < 6000 ){            let 随机数 = 随便取一个数();            if(随机数 < 5 && 章节.length > 200){                章节 = 增加段落(章节);                文章.push(章节);                章节 = "";            }else if(随机数 < 20){                let 句子 = 来点名人名言();                章节长度 = 章节长度 + 句子.length;                章节 = 章节 + 句子;            }else{                let 句子 = 来点论述();                章节长度 = 章节长度 + 句子.length;                章节 = 章节 + 句子;            }        }        章节 = 增加段落(章节);        文章.push(章节);    }    return 文章.join("\n");}

逻辑很简单,效果很有趣,严格来说,还很不极客风~

但是就是这么一个库,却在 Github 收获了 10.7k 的 star,作者可谓一炮而红,收获了无数精纯的技术向的粉丝,这积累的都是个人影响力啊,小马哥我反正是羡慕坏了。

好啦,逗比的部分告一段落,下面来一点正经的总结思考。

这篇文章的技术思路其实很简单,提供简单的语料库与标记,然后拼接就行了。

但是作者设计这个库的目的,仅仅是为了应对日常开发时偶尔中文文字用于GUI开发时测试文本渲染的场景,按我理解,说白了就是在测试阶段,没有真实数据,写的 UI 看不出效果,所以自己模拟数据看一眼效果。

这种事儿我相信我们每个人都没少干,但是我们往往把这个事儿干的空洞乏味且无聊,就是一遍一遍哗啦啦在键盘上敲一堆无意义的很长的一串字,然后测测,然后删除,遇到下一个类似场景,再哗啦啦在键盘上敲一堆无意义的很长的一串字。

而这个作者通过简单的技术手段就把这件事儿变得很有意思,而且顺道收获了大批流量,这是一件很值得我们思考的事情。身为一个逼格很高的工程师,我们除了日常吭哧吭哧干需求之外,原来我们还可以在这些不经意的小细节里,玩出这么多乐趣。而逐渐油腻的我们,是不是经常习惯性的忽略这些细节呢? 或者我们发现日常工作中的一些繁琐重复的事,但是我们总是一遍又一遍无意义的重复,而没有想着把这些事自动化?哪怕不自动化,趣味化也是很好的选项啊,这能让我们的工作更有滋味。

另一点思考就是,我们应该意识到 Github 作为一个程序员的集散地,是一个建立技术影响力的好平台,而通过这个开源库我们不难发现,要在 GitHub 上建立一个热门高星的库,除了可以贡献深技术性的开源库之外,贡献趣味性的库也是一个很好的方式,如果我们想借这个平台打造影响力,这是一个很好的思路,996.icu 和狗屁不同文章生成器都是很好的浅技术性,高趣味性引起大家关注的典型。

好啦,今天的文章到这里就结束啦,欢迎关注,在看,分享一条龙,哈哈

也欢迎大家在 Github 上 follow me,这样我star/fork/create 的项目就会出现在你的时间线上,让你能够打开 GitHub 通过看我的时间线,就能了解到最新、最热的开源项目,把握技术动向。

我的 GitHub 个人主页,请戳这里,欢迎 follow

有趣的 GayHub 系列文章预计会持续更新,囊括有趣的、有用的、热门的开源库深度分享,敬请期待!

下一篇文章预计会写一个有趣的互联网故事,《流氓软件诞生史》,说一说国内早期的互联网玩家的故事,如果感兴趣,欢迎关注 小Mark技术分享 防走丢哦。

完结,撒花