Git 仓库7K stars!学Java开源项目austin要多久?
我是3y,一年CRUD
经验用十年的markdown
程序员常年被誉为职业八股文选手
开源项目消息推送平台austin仓库地址:
消息推送平台推送下发【邮件】【短信】【微信服务号】【微信小程序】【企业微信】【钉钉】等消息类型。
今天来跟想聊下大家很关注的一个问题:「搞完Austin消息推送平台要花多长时间?」
这个问题我被很多股东问过,大多数都是想要将Austin消息推送平台写进简历上,想要知道在秋招前能不能给整明白,整出来。
我在Austin的群也看过有个小伙连续好几天在群里问,想知道搞完要多久,这个系统难不难,适不适合在校的。
说白了,就是想要在心里有个底。这种问题很正常,我在正式工作前也想知道要达到实习/工作需要什么技能。
不过,我给不了具体的时间,这对我来说挺难的。因为每个人的学习时间、所掌握的基础是不同的。像我在大学的时候,我早上8点去图书馆,晚上9点从图书馆回宿舍,我也不知道你是不是跟我一样的。
还有就是可能你就刚刚整完SpringBoot
,还没有做过任何项目,对很多技术都还没理解好。这样即便我文档很全了,但对于这部分同学来说,门槛还是相对较高。
而如果你已经有过Redis/Kafka
这种基础了,只是Flink
/xxl-job
这种中间件没怎么用过,可能知道它们是干啥的,但不知道原理。那在这种条件下,上手项目的门槛又相对较低点。
也有在滴滴的、腾讯的工作几年了,把README
文档刷一遍,就能直接去看代码的整个流程了。虽然会对细节有很多疏漏,但毕竟架构的见识和工作经验摆在那,上手会快很多。
它适不适合在校生?肯定是适合的。它不像商城系统要熟悉业务细节,有各种的商品信息。它不像广告系统要了解各种的专业名词才能看懂业务,广告系统有各种专业名词CPT
/CPS
/CPC
/CPM
/ROI
/CVR
...
Austin消息推送平台核心功能是很好理解的,就是推送各种渠道的消息。而推送消息为什么能是一个平台,只是我们围绕着核心功能的基础上加多了很多基础建设,它的存在不再是一个小功能,所以它就是一个消息推送平台。
每个公司几乎都会有发送消息的需求,也几乎都会有类似的封装。Austin消息推送平台的架构和解决方案是通用的,跟别的公司相比只在于这个推送系统它的规模以及所提供的平台能力差异性。
「搞完Austin消息推送平台要花多长时间?」
以我为例吧,我当时接手消息推送平台到熟悉它大概花了两个多月时间,一方面我当时刚实习,技术确实也就那样,在生产环境没用过JSON
,没用过MQ
,没用过Redis
。另一方面,文档确实没有像我现在的那么齐全,生产环境下的代码经过了几代同事的迭代,代码风格差异也挺大的。
不过这两个多月不意味着我对这个系统就了如指掌了,我只是掌握了整个推送消息的流程,很多发送渠道的细节还是不懂的。
比如以前的小程序消息推送需要有下发凭证(formId
)才能对消息下发,这是我后来对小程序消息迭代的时候才知道的。比如对于push通知栏消息它的链路十分长,我们做了一整套打点体系,但由于迭代和交接的问题,这个链路也是后面才慢慢摸索出来哪些是关键的位置...比如对于短信计费原来是要把发送凭证+手机号才能产生唯一的key,不然统计就会乱掉了...
话又说回来,如果把消息推送平台写在简历上去面试。以我的经验,面试官并不在意某个渠道的消息下发细节(除非他也是搞消息推送的),更多的关注是系统的架构和整体的流程,就没遇到过需要针对某个消息渠道做过多解释的。
经过我的迭代,现在Austin消息推送强依赖MySQL
/Redis
和Kafka
。对于MySQL
和Redis
来说,差不多是每个项目的标配了,而Kafka
后续我可能会考虑抽象出来由你们自己适配对应的MQ实现,MQ在这个场景下还是有必要的。
在面试前更多的是准备MySQL
/Redis
和MQ
这几块技术栈,理论上中间件在公司都有专门的人负责,但这几个确实我们在日常开发中用得非常多,建议多去看看原理和源码。
像分布式配置中心、分布式定时任务、分布式计算引擎、分布式日志框架、监控告警框架这种你们要是对哪个熟悉的,就写上自己熟悉的框架。如果不熟悉的,面试的时候简单提一嘴流程就好了(建议去看看这些框架的设计思想)。
最后不负责下个结论吧:
1、如果你曾经做过些小的项目,了解MySQL
/Redis
和MQ
的使用,大概三周到1个月+时间能对项目有所了解
2、如果你没做过小项目,只是刚学完SpringBoot
,起码2个月+时间能对项目有所了解
3、如果你已经了解过各种的中间件(分布式配置中心、分布式计算引擎),在工作中也并不完全是后台的CRUD。相信我,你那时候就不会问要多久才能搞完这个消息推送平台。
很多时候我们做一件事之前都是充满着未知,但如果未知的成本不高的话,建议先行动起来!一直犹豫不行动,相当于什么都没做。
推荐项目
如果想学Java项目的,我还是强烈推荐我的开源项目消息推送平台Austin,可以用作毕业设计,可以用作校招,可以看看生产环境是怎么推送消息的。
开源项目消息推送平台austin仓库地址:
消息推送平台推送下发【邮件】【短信】【微信服务号】【微信小程序】【企业微信】【钉钉】等消息类型。
Git 仓库7K stars!学Java开源项目austin要多久?的更多相关文章
- 【我整理的java开源项目】
摘要: 1. 整理出一些使用比较广或者个人觉得比较好的java开源项目和资料供参考. 2. 如果你觉得好但是我没有列出的开源项目请告诉我,方便我添加到列表里. 3. 如果你发现信息描述有误请联系我,我 ...
- 3月份GitHub上最热门的Java开源项目
今天,我们来盘点3月份GitHub上最热门的Java项目的时候了,如果你每月都有关注猿妹发布的排行榜,那么本月的Java项目对你来说一定不陌生,这些都是曾经多次出现在榜单中的项目: 1 advance ...
- 硬核! Github上 ,star超高的Java 开源项目分享给你!
Awsome JavaGreat Java project on Github(Github 上非常棒的 Java 开源项目). English Version 大家都知道 Github 是一个程序员 ...
- 网上下载的 java开源项目 如何 打jar包
目前很多java开源项目(例如qlexpress)只提供了源码,没有提供jar,下面提供maven打jar包的方法. 1.进入qlexpress下载后源代码所在的目录,此目录应包含pom.xml,如下 ...
- 用Java开源项目JOONE实现人工智能编程
http://www.robotsky.com/ZhiN/MoS/2011-08-25/13142461416649.html 用Java开源项目JOONE实现人工智能编程 https://sourc ...
- 硬核! 逛了4年Github ,一口气把我收藏的 Java 开源项目分享给你!
Awsome Java Great Java project on Github(Github 上非常棒的 Java 开源项目). English Version 大家都知道 Github 是一个程序 ...
- 阿里巴巴的26款Java开源项目
阿里巴巴的26款Java开源项目 开源展示了人类共同协作,成果分享的魅力.没有任何一家网络公司可以不使用开源技术,仅靠自身技术发展起来.“取之于开源,用之于开源,才能促进开源的良性发展”,阿里巴巴各个 ...
- java开源项目
原文地址:http://blog.longjiazuo.com/archives/2625 1.整理出一些使用比较广或者个人觉得比较好的java开源项目和资料供参考.2.如果你觉得好但是我没有列出的开 ...
- 我的第一个 60 k+ Star Java开源项目
JavaGuide([Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识):https://github.com/Snailclimb/JavaGuide. 人生总有各种各样的 ...
- 不想加班开发管理后台了,试试这个 Java 开源项目吧!
本文适合有 Java 基础并了解 SpringBoot 框架的同学 本文作者:HelloGitHub-嘉文 这里是 HelloGitHub 推出的<讲解开源项目>系列,今天给大家带来一款开 ...
随机推荐
- django学习:转载
https://www.cnblogs.com/ginvip/p/6894690.html https://www.cnblogs.com/yangmv/p/5327477.html https:// ...
- Android studio学习第一期
下载工具 Android studio 参考博客https://blog.csdn.net/weixin_45406151/article/details/114531103 汉化完成 并创建了虚拟手 ...
- 20191317Exp3-免杀原理与实践
20191317Exp3-免杀原理与实践 基础问题回答 1.1 杀软是如何检测出恶意代码的? 基于特征码进行检测:杀毒软件的病毒库记录了一些恶意软件的特征码,一段特征码就是一段或多段数据.如果一个可执 ...
- java 类对象四种方法加载方式
public static void main(String[] args) throws Exception { //第一种 //这里需要做异常处理,或的加载类的类对象类. Class<?&g ...
- Delphi实现大写字母键打开提示
uses XPMan 编辑框的passwordChar属性设置成 *
- TFLCD编程过程中遇到的问题之.\Objects\EXTI_Project.axf: Error: L6218E: Undefined symbol POINT_COLOR (referred from tflcd.o).
在TFLCD屏幕中遇到的问题及解决方案 1.问题提出 在对正点原子提供的有关TFLCD屏幕做移植过程中,编译过程中没有报错,但是链接时就出现了报错,报错信息如下图所示: 像这种错误,无法定义到错误所在 ...
- JAVA——》微信分账
做一个推荐分享的功能,场景:每推荐成功奖励推荐人一定的推荐金. 这里,我就用调用了微信支付分账接口.链接:https://pay.weixin.qq.com/wiki/doc/api/allocati ...
- Markdown基础使用学习
Mark Down学习 标题:#+标题名字 二级标题:## +标题名字 三级... 字体 两个*+字+两个=加粗 一个=斜体 引用 一个大于号+内容 图片  符号全部小写 超链接 ...
- 20220720 第七组 陈美娜 Java String用法
关于String引用数据类型 1.字符串中,两个变量的==指的是虚地址 2.String一旦声明不可改变:赋值进去,原值不会被替代.原值也可能指向其他地址: 3.s.length():字符的个数 4. ...
- 获取客户端ip,请求头伪造ip,解决办法
可以在请求头加入 X-Forwarder-For 来伪造访问的ip地址 //Nginx支持X-Forwarded-For 配置 proxy_set_header X-Forwarded-For $pr ...