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 ...
随机推荐
- RSA加密算法和SSH远程连接服务器
服务器端与客户端的密钥系统不一样,称为非对称式密钥系统 RSA算法的基础是模运算x mod n,事实上: [(a mod n) + (b mod n)] mod n = (a+b) mod n [(a ...
- KNN手写数字识别
import numpy as np import matplotlib .pyplot as plt from sklearn.neighbors import KNeighborsClassifi ...
- Linux系统下部署项目流程
一.系统架构 linux系统 centOS 6.9 应用服务器:Tomcat /JDK 数据库服务器:MySQL 二.连接远程工具FinalShell 1.Centos 6: 启动服务:service ...
- Java高级特性——反射机制(第二篇)
在Java高级特性——反射机制(第一篇)中,写了很多反射的实例,可能对于Class的了解还是有点迷糊,那么我们试着从内存角度去分析一下. Java内存 从上图可以看出,Java将内存分为堆.栈.方法区 ...
- 焦大翻译:提防一些seo错误认知(完整版)
http://www.wocaoseo.com/thread-179-1-1.html 多人在开始做seo的时候,都曾经尝试通过黑盒测试来找出哪些因素对排名有效果. 黑盒测试是我们IT行业常用术语,它 ...
- Promise对象入门
简介 promise对象可以获取异步操作的消息,提供统一的API,各个异步操作都可以用同样的方法进行处理. promise对象不受外界影响,其有三种状态:pending(进行中).fulfilled( ...
- Welcome To CUG_YZL's cnblogs
Welcome To CUG_YZL's cnblogs My name is YZL, studied in China University of Geosciences Wuhan now.W ...
- android开发之当设置textview多少字后以省略号显示。限制TextView的字数
设置多少字后以省略号显示 <TextView android:id="@+id/tv" android:layout_width="wrap_conten ...
- Intermediate English Book 1
List x1.0 x1.5 Lesson 1 Reading Lesson 1 Details Lesson 2 Dialogue Lesson 2 Details Lesson 3 Reading ...
- 笔记-Linux 内存优化
1.清理前内存使用情况 free -m2.开始清理 echo 1 > /proc/sys/vm/drop_caches 3.清理后内存使用情况 free -m 4.完成! 查看内存条数命令: d ...