PowerJob 从 0 到 1.9k star 的经历
本文适合有 Java 基础知识的人群
作者:HelloGitHub-Salieri
本文就是《讲解 PowerJob》系列的最后一篇文章了,纯粹是写点经历写点心路历程啥的,和大家道个别。
惨淡的开端
本专栏的第一篇文章问世的时候,PowerJob 几乎处于一个无人问津的状态,为了宣传我可以说是绞尽脑汁,几乎能尝试的渠道我都尝试过,不过显然结果都一样——石沉大海。那时候我特别羡慕那些大厂的开源项目,它们含着金钥匙出生,从诞生的那一刻就有了十足的曝光度和流量,只要足够好用,能解决实际问题,注定能成为开源界一颗闪亮的 star。而 PowerJob 呢,直到现在我仍然认为自己给出的客观评价就是这是目前这个世界上最强大的任务调度框架(SchedulerX 没开源不算),就凭一个分布式计算功能差不多就能打遍天下无敌手了。然而,功能强大、简单好用也并不等于成功。这个社会本质上还是头部决定尾部,对于 PowerJob 这种三无框架(没有学校背景、没有公司背景、没有开源组织背景)来说,知名度就是最大的硬伤。
其实我一开始写这个框架并没有开源,然后做到今天这个地步的打算。一开始只是想着,“oh~以前公司那个 schedulerx 还挺猛的,不过不能很好支撑我们较为变态的业务,要不自己写一个试试,哪怕是熟悉原理也能方便以后排查问题”。抱着这种随便玩玩的心态,写着写着呢,这框架就像模像样起来了。像模像样了以后呢,看着市面上一大票调度框架,就开始为自己的作品鸣不平。既然从功能上完成了超越,又凭什么要默默无闻下去呢?难道仅仅是因为 PowerJob 背后没有大众点评、当当这样的大公司撑腰吗?
于是,出于“鸣不平、求认可”这样的心态,我开始了 PowerJob 的宣传。虽然总体可以用艰难来形容,不过偶尔还是有一些贵人贵事带来的转折点。
Gitee
第一个转折点,是 Gitee 的自荐功能,自荐成功以后,PowerJob 获取了 Gitee 开源推荐项目的一个推荐位,在那一周,OhMyScheduler(PowerJob 1.x 的名字)在 Gitee 上大概收获了 100 个 star。由于是第一次像模像样地搞开源,这 100 个 star 其实让我非常开心。虽然距离我期望的几千、甚至几万 star 还有这近乎无限的距离,但这至少是第一步。而第一步,往往是最让人有成就感的~感谢 Gitee 团队和红薯大大,让我走出了第一步,开始了开源的征程。
HelloGitHub
热度总是难以维持的,仅靠一时的推广,一个小小的个人开源项目是无法掀起什么风浪的。很快,PowerJob 的 Gitee 仓库再次陷入了无人问津的状态,更别说更加没有曝光度的 GitHub 仓库了。正当我无计可施时,偶然发现了一个“分享 GitHub 上 有趣、入门级的开源项目”的网站 & 公众号。没错,也就是 HelloGitHub 了,PowerJob 的第二个转折点。经过一系列投稿、审核后,PowerJob 幸运地进入了第 51 期推荐月刊。同时,HelloGitHub 官方向我安利了《讲解开源项目》这件事,简单说就是写系列文章剖析一下开源框架,帮助读者更好的理解和使用。这对于追求曝光度和宣传量的我来说,自然是一件不可错过的事。于是~就有了《讲解 PowerJob》专栏和这一系列文章~在这期间,PowerJob 算是有了一个比较稳定的流量入口,GitHub 的 star 也渐渐开始有起色。从 6 月底到现在近 3 个月时间,感谢 HelloGitHub 一直以来的支持~
赞助者
第三个转折点,是某位公司的一位产品经理。他在项目选型中选择了 PowerJob,并二话不说的前往 GitHub 填写了接入登记。其实做到这里,我已经非常心满意足了。
好了,扯回正题。那位产品经理呢,不仅光速填了接入登记,同时还给出了一笔捐赠,一笔我认为非常大额的捐赠:1000人民币。当然,钱本身其实并不是很重要,毕竟我本身也从来没想过靠开源赚钱。重要的是,靠着这件事,PowerJob 获取了一波爆发式的关注。
其实这件事对我来说感触还蛮大的,无论是钱的面额大小也好,伸手党和捐赠者之间鲜明的对比也好,还是被别人认可的喜悦也好,总之,在集结了许多感触后,我前往 v2ex 发了个帖,稍微讲述了下那段时间的心路历程...然后,就这样了...斩获了单日 300 star 的成就......
顺势登顶了了 GitHub Trending 月榜(Java),总榜第三~
来日方长
截止目前,PowerJob 已经有了近 1.9K star,也有了大量的用户接入(虽然 GitHub 接入登记看起来不是很多的样子...),其中不乏包括 OPPO、Cisco 等知名大厂。虽然我仍需要苦恼宣传啊推广啊各种问题,可相对以前来说,最难的那段路算是走过去了。
PowerJob 背后没有团队、没有学校、没有公司,有的,只有口碑和来自用户的支持。这一路走来,真的非常感谢大家!
一直以来,我对 PowerJob 用户的要求其实非常简单,不求别的,只要你用了,花 2 分钟时间去 GitHub 填一下使用登记,说一些自己小小的感想,这就足矣。
可奈何伸手党无处不在,有大量的人一边在群里抛出各种问题(绝大部分还能在文档中找到答案),一边却从来不会考虑回馈一下作者。即便是动动手指、几分钟解决的、小的不能再小的事,也不愿意。
所以有一段时间其实我还是比较烦躁的。看群里呢,每天都有比较多的活跃用户问各种各样的问题,看看 GitHub 呢,接入登记该是哪些仍旧是哪些,丝毫没有增加的迹象...
至于我为什么那么看中接入登记...那还不是因为一开始就提到的,PowerJob 是个人开源的“三无”框架。在没有任何框架自身背书情况下,只能让用户群体作为背书,只有积攒足够多的用户,PowerJob 才能健康发展。
道阻且长,虽然不知道路在何方,但我也要坚定的走下去~
项目地址:
HelloGitHub—削微寒:
首先,恭喜 PowerJob 完结讲解系列,从 HelloGitHub 顺利"毕业"(第一篇发布是 7.8 至 9.23 完结)。
在和 Salieri 合作的过程中,我发现他拥有很强的编程和执行力,文字透出的灵动(猥琐),源自真正的热爱。想把一件事情做好,不是想就完了。做讲解这段时间他经常是凌晨发稿给我,还会再加一句:“这篇文章全是干货!”,字里行间可以感觉到他对自己作品、文章的自豪。文章也确实有料!看过这个系列的同学,你们赚到了!
做开源贵在坚持,1.9k star 肯定不是 PowerJob 的终点,期待 PowerJob 能够越来越好。飞起来的时候,希望你还能想起曾经 PowerJob 和 HelloGitHub 一起登榜的那个时刻。
最后,欢迎广大开源作者加入 HelloGitHub 的讲解系列,把你的项目告诉给更多人。内容可以是单篇、也可以是系列讲解。增加我的微信:xueweihan(备注:讲解)
关注 HelloGitHub 公众号
PowerJob 从 0 到 1.9k star 的经历的更多相关文章
- Github 1.9K Star的数据治理框架-Amundsen
Amundsen的使命,整理有关数据的所有信息,并使其具有普遍适用性. 这是Amundsen官网的一句话,对于元数据的管理工作,复杂且繁琐.可用的工具很多各有千秋,数据血缘做的较好的应该是Apache ...
- Yii2.0 两次奇葩的数据库连接经历
经历一: 公司的项目经过阿里云的ECS升级后,发现在Yii2.0框架中,凡是数据库新增的字段(当然相关的表模型肯定是加了相应字段的),老是报“属性找不到”的问题,最后排查是数据库连接的问题.把127. ...
- redis5.0.0集群搭建【实战经历】
redis集群搭建 作者:陈土锋 时间:2020年6月2日 目录 一.环境介绍... 1 1.机器准备... 1 2.关闭防护墙和selinux. 1 3.时间同步... 1 二.Redis Clus ...
- The 3n + 1 problem 分类: POJ 2015-06-12 17:50 11人阅读 评论(0) 收藏
The 3n + 1 problem Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 53927 Accepted: 17 ...
- 【英语魔法俱乐部——读书笔记】 0 序&前沿
[英语魔法俱乐部——读书笔记] 0 序&前沿 0.1 以编者自身的经历引入“不求甚解,以看完为目的”阅读方式,即所谓“泛读”.找到适合自己的文章开始“由浅入深”的阅读,在阅读过程中就会见到 ...
- 升级SilverLight为5.1.50907.0后,VS调试时报“无法启动调试--未安装 Silverlight Developer 运行时。请安装一个匹配版本”的处理办法
作者: zyl910 一.问题 今天需要调试一个SilverLight程序.运行时ie弹出了一个升级提示,于是手贱点了升级. 随后便悲剧了,VS调试时报"无法启动调试--未安装 Silver ...
- 深入浅出OAuth2.0授权
一.前言 说到OAuth,先来一段百度到的比较官方的解释: OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信 ...
- Spring Security 实战干货: 简单的认识 OAuth2.0 协议
1.前言 欢迎阅读 Spring Security 实战干货 系列文章 .OAuth2.0 是近几年比较流行的授权机制,对于普通用户来说可能每天你都在用它,我们经常使用的第三方登录大都基于 OAuth ...
- 前端MVC Vue2学习总结(四)——条件渲染、列表渲染、事件处理器
一.条件渲染 1.1.v-if 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: <!-- Handlebars 模板 --> {{#if ok}} <h1&g ...
随机推荐
- 初学Linux (Linux_note)
根目录:/ /root: 存放root用户相关文件 /home: 存放不同用户的相关文件 /bin: 存放常用命令的目录 /sbin: 要具有一定权限才可以使用的命令 /mnt: 默认挂载光驱和软驱的 ...
- ipvsadm服务报错/bin/bash: /etc/sysconfig/ipvsadm: No such file or directory
问题: 在执行重启ipvsadm服务时报错: 提示没有找到/etc/sysconfig/ipvsadm 解决: [root@lvs1 ~]# ipvsadm --save > /etc/sysc ...
- 团队作业3:需求改进&系统设计
一.需求&原型改进: 1.1 选题需求改进 用户:同学你好,有什么事我们能帮到你 我:我要说的事……(咽口水)你们千万别害怕 用户:我们是杠精,我们不会怕,您请说 我:我们要做一个roguel ...
- Windows Server 2012 R2 时间同步
最近的项目两台服务器都是Windows Server 2012的系统,需要做时间同步,现在是一些从网上搜罗的步骤总结. 具体就是配置windows的注册表: 一.服务端配置 (NTP服务器,客户端将根 ...
- 阿里巴巴Java开发手册1.4.0
链接:https://pan.baidu.com/s/16kKzcRcu20SMDdydMm9ZUw 提取码:p9ef
- 解析WAV音频文件----》生成WAV音频文件头
前言:请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i WAV音频文件介绍: WAV文件是在PC机平台上很常见的.最经典的多媒体音频文件,最早于1991年8月出现在Windows3.1操作系统 ...
- XMLHttpRequest 简单封装
当开发简单页面的时候,不需要引入任何js库,这时需要封装一个用到 XMLHttpRequest 对象的好用的接口请求. simple 封装如下 ajaxRequest({ url: '', metho ...
- Unimrcp通过Vendor传递随路数据
摘要 项目中需要在MRCPV2的识别消息中,传递一些随路数据.
- java初探(1)之秒杀的安全
在秒杀的场景中还存在着很多的安全问题 暴露秒杀地址 秒杀请求可以很频繁 接口流量大,恶意刷接口 隐藏秒杀接口 为什么需要隐藏,事实上,页面上的所有东西都能被客户端拿到,包括js代码,因此,分析商品详情 ...
- 在react项目添加看板娘(react-live2d)
有留意到看板娘这么个东西,简直就是我们程序员+动漫迷的挚爱.但是回观网上,大多只是在老旧的html的静态引入.vue甚至也有几个不怎么维护的,还是老旧的不行的SDK2.X的版本.这这这这!我们的rea ...