开源项目的「死与新生」

<p>::: tip 背景</p> <p>这是几个月前受司内开源办公室邀请所撰写的一篇关于开源的文章。</p> <p>近来也收到了一些咨询开源的邮件,特在此发出,也希望能为大家参与社区/公司开源提供一些帮助。</p> <p>其中包含了一些个人观点,可按需参考。如有谬误,欢迎指正。</p> <p>:::</p> <h2>导语</h2> <p>「<strong>生存还是毁灭?</strong>」这对开源项目来说也是个问题。</p> <blockquote> <p>「我曾见过那些你们人类不会置信的事。我曾目睹战舰在猎户座的边缘燃起烈火,我看过 C 射线在唐怀瑟之门边际的黑暗中明灭闪耀。所有这些瞬间,都会消逝在时间之中,一如眼泪消失在雨中。正是死期。」</p> </blockquote> <p>许多开发者早期带着一腔热血,加入到开源社区,无私地贡献代码。<br> 只是随着时间的流逝,政治、人员变更、技术迭代等种种因素接踵而至,许多开源项目最终逃脱不了的命运便是死亡。而我们所能做的便是尽可能地延缓它的死期。</p> <p>本文主要从作者自身视野出发,总结了一些关于项目开始与维护过程中,尽可能延长项目生命周期的个人经验。</p> <br/><p>访问 <a href="https://www.yunyoujun.cn/posts/death-and-rebirth-of-open-source-projects" target="_blank">https://www.yunyoujun.cn/posts/death-and-rebirth-of-open-source-projects</a> 阅读全文。</p>

2025/5/20
阅读更多

没有红包封面,但是 AI 春联……

<h2>AI 春联</h2> <p>开门见山,今年的整活是「AI 春联」~</p> <ul> <li>站点:<a href="https://ai-sfc.yunyoujun.cn/">https://ai-sfc.yunyoujun.cn/</a></li> </ul> <blockquote> <p>根据你的提示词,自由地定制属于你的春联!</p> </blockquote> <pre><code class="language-txt">    好运迎门 旧           新 岁     口     年 辞    口 口    喜 别   口 乐 口   迎 成    口 口    福 绩     口     气 斐           多 </code></pre> <br/><p>访问 <a href="https://www.yunyoujun.cn/posts/ai-sfc" target="_blank">https://www.yunyoujun.cn/posts/ai-sfc</a> 阅读全文。</p>

2024/2/9
阅读更多

家·烟花·红包封面

<blockquote> <p>🏠家,🎆烟花和🧧红包封面<br> 原文:<a href="https://mp.weixin.qq.com/s/XwyrAQ0cQBPaLSgQQLfXWw">https://mp.weixin.qq.com/s/XwyrAQ0cQBPaLSgQQLfXWw</a></p> </blockquote> <p>新的一年即将到来。</p> <blockquote> <p>但是……很不幸,时间的流逝永远不会停止。<br> 时光如箭,你的过去在不停增多,你的未来在不断减少,未知的可能性只会越来越少,而无法改变的后悔在累积如山。<br> 你明白了吗?</p> </blockquote> <br/><p>访问 <a href="https://www.yunyoujun.cn/posts/home-firework-red-bag" target="_blank">https://www.yunyoujun.cn/posts/home-firework-red-bag</a> 阅读全文。</p>

2023/1/21
阅读更多

云乐坊工作室的成立与缘起与有关的话

<h2>起因</h2> <p>18 年春天的某个午后,我突发奇想买下了 <a href="https://yunle.fun">yunle.fun</a> 这个域名。<br> 并在站点编年史中如下记载:</p> <blockquote> <p>又注册了个新域名:yunle.fun(云乐坊),以后要是能开工作室就用这个名字吧(笑)。</p> </blockquote> <p>也就是说从很久以前,我的脑海中便充斥着一些不切实际的幻想,比如希望拥有一个属于自己的工作室。</p> <p>而究其根本原因,无非是想要不用上班、财富自由之类的老生常谈。</p> <blockquote> <p>亦与诸君共勉。</p> </blockquote> <p>仔细想来,当初决定搭建博客,也无外乎此。<br> 「超自然9人组」动画中的我闻优太,用奇怪的网名经营着一个超自然博客,并一心想着靠联盟行销致富。<br> 于是,伴随动画播出的 16 年年底,「云游君的小站」诞生了。</p> <p>只是时至今日,虽然博客逐渐有了一些访问量,但与最初的动机似乎仍然有着道难以逾越的鸿沟。</p> <br/><p>访问 <a href="https://www.yunyoujun.cn/posts/the-birth-of-yunlefun" target="_blank">https://www.yunyoujun.cn/posts/the-birth-of-yunlefun</a> 阅读全文。</p>

2022/11/9
阅读更多

聊聊四元数与万向锁及其实际意义

<p>在使用 Babylon 写 <a href="https://vrm.advjs.org/">ADV.JS VRM 模型编辑器</a> 的人物骨骼旋转动画的时候,我发现几乎所有的骨骼旋转均使用四元数(Quaternion)实现。</p> <p>于是我便打算好好了解一下相关的内容,但是网上搜到的不少帖子比如 Unity 欧拉角的旋转顺序都是互相矛盾的,导致自己也不知道相信哪个为好,决定还是自己实验下。</p> <p>同时写了下自己对四元数和万向锁的直观理解,希望能对有兴趣了解这方面的后来者有所帮助。</p> <p>因为有不少随手的截图和公式,所以就先放在了语雀上。也欢迎随时勘误!</p> <br/><p>访问 <a href="https://www.yunyoujun.cn/posts/quaternion-and-spatial-rotation" target="_blank">https://www.yunyoujun.cn/posts/quaternion-and-spatial-rotation</a> 阅读全文。</p>

2022/1/16
阅读更多

从零开始写一个 Web Component - GitHub Corners

<h2>Web Components</h2> <p>什么是 Web Components?</p> <blockquote> <p>Web Components 是一套不同的技术,允许您创建可重用的定制元素(它们的功能封装在您的代码之外)并且在您的 web 应用中使用它们。</p> </blockquote> <p>Web Components 实际上和现在 React/Vue 等前端框架的组件概念十分相似,或者倒不如说 Vue 的 SFC(单文件组件)其实正是借鉴自 Web Components 的概念。<br> 它本身 Shadow DOM 的方案做了 CSS 隔离,很好地解决了 CSS 命名污染等问题,但 Web Components 除了规范推进缓慢,也还有很多开发(效率、生态、兼容等)上的不足。</p> <p>简单来说 Web Components 其实就好比给予你一些浏览器的 API 权限,去定义一个 HTML 标签来自己使用。<br> 更多的介绍其实看 MDN 的介绍即可,也无需在这听我这二手的长篇大论。</p> <blockquote> <p><a href="https://developer.mozilla.org/zh-CN/docs/Web/Web_Components">Web Components | MDN</a></p> </blockquote> <p>我自己本身也向来讨厌<strong>通篇</strong>理论,而热衷实践,所以我们不妨动手一试,写一个<strong>真正实用</strong>的 Web Component - <code>github-corners</code>。(成果请到文章末尾取用)</p> <br/><p>访问 <a href="https://www.yunyoujun.cn/posts/how-to-write-a-web-component" target="_blank">https://www.yunyoujun.cn/posts/how-to-write-a-web-component</a> 阅读全文。</p>

2021/9/25
阅读更多

旋转吧!徽章!

<p>如何实现一个徽章惯性旋转动画?</p> <blockquote> <p>标题我只能说:懂得都懂。<a href="https://www.zhihu.com/question/393670234">如何评价「懂的都懂」这句话?|知乎</a></p> </blockquote> <h2>前言</h2> <p>距离上一次写技术文章过去了多久呢?大概已经屈指不可数了。<br> 与此前相比,无论心境还是境遇也都变化了许多,而我本打算记录的实习生涯还未动笔,便已接近尾声。但愿还有机会一叙。</p> <p>在家中慵懒地躺了数日,自觉不应继续如此,方翻了个身,决定将此文修整完,以略表奋发之意。<br> 总之,也由衷地希望大家能从中学习到什么或是给我一些更好的改进建议。</p> <p>那么,……,先旋转起来吧?</p> <br/><p>访问 <a href="https://www.yunyoujun.cn/posts/how-to-realize-badge-rotation" target="_blank">https://www.yunyoujun.cn/posts/how-to-realize-badge-rotation</a> 阅读全文。</p>

2021/9/5
阅读更多

又拍云—年轻人的第一个 CDN

<h2>前言</h2> <p>距离上一次更新似乎又过去了很久,而我也成为了无聊的大人,被实习的工作压的喘不过气来。(此中又有不少波折,待尘埃落定,我再找机会记录它吧。)</p> <p>我的青春更是早在不知何时已经结束了。</p> <blockquote> <p>看,简单吧,谁也没有受伤的世界,达成了。</p> </blockquote> <a href="https://console.upyun.com/register/?invite=SyeQw09Bz" title="又拍云" target="_blank"> <img class="shadow-none!" src="https://cdn.yunyoujun.cn/img/logo/upyun-logo.png" alt="upyun"> </a> <p>故<a href="https://www.upyun.com/">又拍云</a>并非我的第一个 CDN,但它的确是我截至今日使用最久的 CDN。</p> <p>而我相信它也是新站长值得一试的服务。</p> <p>此中玄机,我们不妨先从 CDN 说起。</p> <br/><p>访问 <a href="https://www.yunyoujun.cn/posts/why-i-use-upyun-cdn" target="_blank">https://www.yunyoujun.cn/posts/why-i-use-upyun-cdn</a> 阅读全文。</p>

2021/5/27
阅读更多

云空调,便携小空调

<p><a href="https://github.com/YunYouJun/air-conditioner/"><img src="https://img.shields.io/github/stars/YunYouJun/air-conditioner?style=social" alt="GitHub Repo stars"></a></p> <h2>简介</h2> <blockquote> <p>❄️ 云空调,便携小空调,为你的夏日带去清凉!</p> </blockquote> <p>这又是一个差不多两年前的坑。</p> <p>那么它能做什么呢?没错,<strong>随时随地</strong>打开空调。唯一的缺憾是,没有<strong>风</strong>。但我们也许可以「望空调止热」。</p> <ul> <li>GitHub: <a href="https://github.com/YunYouJun/air-conditioner/">air-conditioner</a></li> <li>裸机: <a href="https://ac.yunyoujun.cn">云空调</a></li> <li>样板房: <a href="https://www.yunyoujun.cn/air-conditioner-room/">空调间</a></li> </ul> <p>遵从最宽松的 MIT 协议,你可以自行 <code>clone</code> 本项目,并自定义地构建它。当然也可以通过 <code>iframe</code> 的方式直接嵌入你的网站。</p> <pre><code class="language-html">&lt;iframe height=&quot;700&quot; src=&quot;https://ac.yunyoujun.cn&quot;&gt;&lt;/iframe&gt; </code></pre> <blockquote> <p>对了,最近因为小空调又火了起来。浮现出了许多去除页脚、售卖源码和冒名顶替的情况。</p> </blockquote> <p>MIT 协议虽然允许你以任何方式使用,但仍然规定署名作者,且原作者不承担代码使用后的风险。</p> <p>当然,国内并无法律承认开源协议,所以这更像是君子协定,各自问心无愧即可。</p> <br/><p>访问 <a href="https://www.yunyoujun.cn/posts/air-conditioner" target="_blank">https://www.yunyoujun.cn/posts/air-conditioner</a> 阅读全文。</p>

2021/4/17
阅读更多

char-dust 一个图片转字符画的 npm 包与示例站点

<p><img src="https://cos.yunle.fun/images/char-dust-jashin.jpg" alt="夹心酱"></p> <p>如题,它的全部作用就是将图片变成字符画(又称 <a href="https://zh.wikipedia.org/wiki/ASCII%E8%89%BA%E6%9C%AF">ASCII 艺术</a>)。</p> <ul> <li>GitHub: <a href="https://github.com/YunYouJun/char-dust/">https://github.com/YunYouJun/char-dust/</a></li> <li>示例站点: <a href="https://yunyoujun.github.io/char-dust/">https://yunyoujun.github.io/char-dust/</a></li> </ul> <p>似乎有些老生常谈,那么为什么会有它的诞生呢?</p> <br/><p>访问 <a href="https://www.yunyoujun.cn/posts/why-make-char-dust" target="_blank">https://www.yunyoujun.cn/posts/why-make-char-dust</a> 阅读全文。</p>

2021/3/13
阅读更多

推荐订阅

Chen's Blog,分享安全领域的所思、所想、所学。

空鸣深语

无论你是游戏死忠,还是轻度的休闲玩家,在这里都能找到感兴趣的东西。

分享免费、小巧、实用、有趣、绿色的软件

Cloudflare 官方博客中文版,涵盖安全、AI 和开发者相关内容