一年一度的程序员节日到了,小孟祝大家往后写代码无bug,不脱发,财务自由。

对于1024节日,CSDN也举办了技术交流大会,我的很多博主小伙伴也都去了,因为我离的比较远就没有去。

最近,没事的时候,拍拍视频,和大家分享下技术、私活、职场经验。

没想到的是,我竟然被喷上了热搜。骂声一片!搞不懂我做错什么了!

三周我开发完了一个小程序的系统。本来是很正常的一个系统,一个很正常的开发周期。

前面的这个系统,我也在CSDN发了文章:

小孟5w接了个盲盒小程序,三周开发完毕!

三周开发完被喷,用分库分表被喷,有头发被喷。三周开发完很难吗?现在框架这么多,关键我重构了一套属于自己的系统,现在哪个公司开发让你从搭建框架开始写?。大部分的crud,我都可以一键生成,复杂逻辑的我才会去写。很多系统我一两天就搞完。如果我说这个,还不被骂s!


看下我分享的技术栈:

下面是系统的核心代码

@Controller
@RequestMapping("/addressInfo")
public class AddressInfoController extends BaseController {@Resourceprivate AddressInfoService addressInfoService;@MustSetForOrderNoAnnotation@AuthenticationAnnotation@SetMenuAnnotation@RequestMapping("listPage")public ModelAndView listPage(ModelAndView modelAndView) {modelAndView.setViewName("addressInfo/list");return modelAndView;}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("addPage")public String addPage() {return "addressInfo/add";}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("editPage")public ModelAndView editPage(ModelAndView modelAndView, Long id) {modelAndView.addObject("id", id);modelAndView.setViewName("addressInfo/edit");return modelAndView;}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("/getList")@ResponseBodypublic ReturnDataForLayui getList(AddressInfo addressInfo) {addressInfo.setIsDeleted(PageBean.isDeletedNo);return addressInfoService.getList(addressInfo);}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("/add")@ResponseBodypublic ReturnData add(AddressInfo addressInfo) {return addressInfoService.add(addressInfo);}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("/update")@ResponseBodypublic ReturnData update(AddressInfo addressInfo) {return addressInfoService.update(addressInfo);}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("/updateDelete")@ResponseBodypublic ReturnData updateDelete(AddressInfo addressInfo) {addressInfo.setIsDeleted(PageBean.isDeletedYes);return addressInfoService.updateDelete(addressInfo);}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("/updateDeleteBatch")@ResponseBodypublic ReturnData updateDeleteBatch(String ids) {List<Long> idList = JSON.parseArray(ids, Long.class);return addressInfoService.updateDeleteBatch(idList);}}
@Controller
@RequestMapping("/blindBoxInfo")
public class BlindBoxInfoController extends BaseController {@Resourceprivate BlindBoxInfoService blindBoxInfoService;@MustSetForOrderNoAnnotation@AuthenticationAnnotation@SetMenuAnnotation@RequestMapping("listPage")public ModelAndView listPage(ModelAndView modelAndView) {modelAndView.setViewName("blindBoxInfo/list");return modelAndView;}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("addPage")public String addPage() {return "blindBoxInfo/add";}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("editPage")public ModelAndView editPage(ModelAndView modelAndView, Long id) {modelAndView.addObject("id", id);modelAndView.setViewName("blindBoxInfo/edit");return modelAndView;}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("goodsLevelEditPage")public ModelAndView goodsLevelEditPage(ModelAndView modelAndView, Long id) {BlindBoxInfo blindBoxInfo = new BlindBoxInfo();blindBoxInfo.setId(id);ReturnDataForLayui list = blindBoxInfoService.getList(blindBoxInfo);ArrayList<BlindBoxInfo> blindBoxInfos = (ArrayList<BlindBoxInfo>) list.getData();BlindBoxInfo blindBoxInfoDb = blindBoxInfos.get(0);String goodsLevel = blindBoxInfoDb.getGoodsLevel();GoodsLevelInfo goodsLevelInfo = JSONUtils.json2pojo(goodsLevel, GoodsLevelInfo.class);if (goodsLevelInfo == null) {goodsLevelInfo = new GoodsLevelInfo();}goodsLevelInfo.setId(id);modelAndView.addObject("goodsLevelInfo", goodsLevelInfo);modelAndView.setViewName("blindBoxInfo/goodsLevelEdit");return modelAndView;}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("/getList")@ResponseBodypublic ReturnDataForLayui getList(BlindBoxInfo blindBoxInfo) {blindBoxInfo.setIsDeleted(PageBean.isDeletedNo);return blindBoxInfoService.getList(blindBoxInfo);}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("/add")@ResponseBodypublic ReturnData add(BlindBoxInfo blindBoxInfo) {return blindBoxInfoService.add(blindBoxInfo);}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("/update")@ResponseBodypublic ReturnData update(BlindBoxInfo blindBoxInfo) {return blindBoxInfoService.update(blindBoxInfo);}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("/updateGoodsLevel")@ResponseBodypublic ReturnData updateGoodsLevel(GoodsLevelInfo goodsLevelInfo) {return blindBoxInfoService.updateGoodsLevel(goodsLevelInfo);}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("/updateIsOnSale")@ResponseBodypublic ReturnData updateIsOnSale(BlindBoxInfo blindBoxInfo) {return blindBoxInfoService.updateIsOnSale(blindBoxInfo);}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("/updateDelete")@ResponseBodypublic ReturnData updateDelete(BlindBoxInfo blindBoxInfo) {blindBoxInfo.setIsDeleted(PageBean.isDeletedYes);return blindBoxInfoService.updateDelete(blindBoxInfo);}@MustSetForOrderNoAnnotation@AuthenticationAnnotation@RequestMapping("/updateDeleteBatch")@ResponseBodypublic ReturnData updateDeleteBatch(String ids) {List<Long> idList = JSON.parseArray(ids, Long.class);return blindBoxInfoService.updateDeleteBatch(idList);}

系统的核心数据库:

DROP TABLE IF EXISTS `address_info`;
CREATE TABLE `address_info`  (`id` bigint(19) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键id',`person_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',`phone` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电话',`gender` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '性别',`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '地址',`user_id` bigint(19) NOT NULL COMMENT '用户',`is_deleted` char(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否删除',`gmt_create` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`gmt_update` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '收货地址信息' ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of address_info
-- ----------------------------
INSERT INTO `address_info` VALUES (1, 'zhy', '18034272031', '2', '河北省 衡水市', 1, '0', '2021-09-08 14:39:49', '2021-09-08 15:37:20');
INSERT INTO `address_info` VALUES (2, '张红雨', '18034272031', '2', '北京市 海淀区 中央电视台大楼对面 富尔大厦 3008', 1, '0', '2021-09-08 15:21:00', '2021-09-08 15:37:00');-- ----------------------------
-- Table structure for blind_box_info
-- ----------------------------
DROP TABLE IF EXISTS `blind_box_info`;
CREATE TABLE `blind_box_info`  (`id` bigint(19) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键id',`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '标题',`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',`price` bigint(19) NOT NULL COMMENT '单价',`sort` int(9) NOT NULL COMMENT '排序',`is_on_sale` char(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否上架',`goods_level` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '概率',`is_deleted` char(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否删除',`gmt_create` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`gmt_update` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '盲盒信息' ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of blind_box_info
-- ----------------------------
INSERT INTO `blind_box_info` VALUES (1, '擎天柱重装上阵', '变形金刚变身“咔咔咔咔咔咔”', 1, 0, '1', '{\"id\":1,\"level1\":25,\"level2\":25,\"level3\":25,\"level4\":25}', '0', '2021-09-02 17:21:15', '2021-09-19 13:30:47');
INSERT INTO `blind_box_info` VALUES (2, '苹果iPhone纯享', '苹果手机笔记本平板主机耳机', 1, 0, '1', '{\"id\":2,\"level1\":0.01,\"level2\":0.01,\"level3\":0.01,\"level4\":99.97}', '0', '2021-09-02 17:35:39', '2021-09-19 13:30:48');
INSERT INTO `blind_box_info` VALUES (3, '燃烧生命吧!你的可能性是无限可能,无所不能', '概率所得限量真骨雕新品!', 11, 1, '1', '{\"id\":3,\"level1\":0.01,\"level2\":0.02,\"level3\":0.03,\"level4\":99.94}', '0', '2021-09-02 17:53:36', '2021-09-12 21:44:13');
INSERT INTO `blind_box_info` VALUES (4, '111', '111', 1100, 1, '1', '{\"id\":null,\"level1\":25,\"level2\":25,\"level3\":25,\"level4\":25}', '0', '2021-09-19 13:32:10', '2021-09-19 13:32:27');-- ----------------------------
-- Table structure for file_upload_info
-- ----------------------------
DROP TABLE IF EXISTS `file_upload_info`;
CREATE TABLE `file_upload_info`  (`id` bigint(19) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键id',`path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '路径',`file_size` bigint(19) NULL DEFAULT NULL COMMENT '大小',`data_from` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源',`is_deleted` char(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否删除',`gmt_create` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`gmt_update` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 102 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文件上传信息' ROW_FORMAT = Dynamic;

被喷其实我的心还比较平静。但我知道大部分的程序员在公司做的还是比较低端的代码,一直CRUD,没有自己封装的系统,没有重构过代码。接私活的话,考察的能力比较全。

整个项目,需求、原型设计、UI、前端、后端、数据库设计,基本都是我自己干完的。

作为程序员,如果你也想全能,下面可以看下我写的,如果我上面写的瞎吹,可以直接划走 。

第一, 喜欢搞技术,往架构师、CTO迈步

这是我搞技术的时候,最初的梦想,也是最纯粹的想法。

开始写程序的时候,没有任何的我杂念,参加比赛、给导师做项目、泡图书馆、深夜写代码。

做了8年程序员后,我发现我不再适合做程序员,因为我做不到架构师的那个层面。

我没有造轮子的心,虽然也在学习底层、算法,但是和我的博士老婆对比,我找出了差距。

如果你工作几年后,觉得还喜欢代码,喜欢研究技术,就往架构师、CTO迈步。

具体需要什么要的能力,看一些招聘网站就知道了。例如:



第二, 往管理层迈步

如果你觉得写代码不行,可以去做业务,专精业务。当然职场有kpi,有勾心斗角,这需要你情商较高,有一定的沟通能力。

这种小孟就不适合,我原来经常怼产品经理。

但是仅仅靠沟通、关系远远是不够的,要成为管理者,也需要技术,不然也说服不了众人呀,比如Java这一块
你要懂:

Java基础;

SSM框架;

SpringBoot;

微服务;

JDK底层;

中间件;

缓存;

数据库;

Vue、React等前端。

如果你没有学习的框架,看我整理的这个学习的路线:

第三,创业

我创业这几年,感受颇深。

孤独、无奈、沮丧,鬼tm直到我怎么过来的。关键是有时候父母的不理解,一直数落我:

你说你一个硕士,不找个好点的单位上班,整天游荡什么,和一个无业游民有什么区别?

我知道自己想要什么,年轻的时候不拼一把,难道要等到50岁的时候拼 吗?父母是传统的父母,我尊重、理解他们的想法,但是我是一个独立的个体,我有自己的思想和追求。失败了,我会承担后果,其实也没什么后果。大不了,再回职场敲代码。

还好媳妇比较支持我,有一个人支持我就够了。

我深知创业和风险成正比,上班一个月两三万是比较安稳,但是改变不了现状。现在的收入比原来也好了很多。单单zfb的收入都还可以。商业的单子收益更大。

创业操心比较多,就是费心的事,为了节省成本,公司的技术都是我来做,还有其他的很多事。

现在我发布的文章、视频很多都是我凌晨一两点搞定的。

纵观我所有的技术朋友,他们都有一个共同的特点:

有非常清晰的职业规划。

梦想还是有的,万一实现呢!乾坤未定,你我皆黑马!

鸡血打完了,1024快乐,我去继续码代码了!

求个三连,点赞,收藏,更多干货的更新ing:

为了帮助大家快速提高技术,我整理了很多100个项目。

​​​​​​​

1024程序员节,我被喷上了热搜!相关推荐

  1. 微信小程序 长按图片不出现菜单_微信更新,新功能上了热搜

    微信在推出新功能方面相当克制,但每一次总能引起全网关注. 昨天,微信又因为一个小功能的改进再次上了热搜,在安卓最新的 7.0.17 版本当中,微信取消了两分钟内删除功能. 在新版微信中,发出的消息在两 ...

  2. 一年75次上微博热搜!宇宙首富Tony老师上线!马斯克DIY发型

    来源:新智元 马斯克,很狂. 宇宙首富Tony老师上线了,还自己剪了个新发型. 嗯!有点儿杀马特味道. 马斯克顶着前卫的新发型一时引起众多网友讨论,有人甚至挖出他20年前头顶稀疏的旧照. 从稀疏到茂密 ...

  3. 人工智能还能登上微博热搜?热搜关键词你得看看!

    AI人才年薪80万登上微博热搜 图片来源于微博热搜截图 据报道,今年的AI应届博士生年薪已经涨至80万,与去年的50万相比,整整涨了60%,并且随着人才缺口的扩大,涨薪的趋势在近期估计还会持续走高. ...

  4. 微博数据解析:综艺节目如何频上微博热搜?以《令人心动的offer》为例

    随着经济的发展.互联网的崛起以及精神世界的需求等一系列原因,使得网络综艺顺应时代蕴运而生.如今,网络综艺已经广泛渗透到人们的日常生活当中,潜移默化的影响着观众. 目前综艺节目市场规模庞大,各种综艺节目 ...

  5. 你知道这一周有哪些程序员好书上了热搜吗?

    马上新年了,小伙伴们爱学习.爱读书的热情依旧在线,今年在外漂着的大都是就地过年,多补充点知识还是好的. 和小编一起来看看这一周里有哪些程序员好书上了热搜. 第一本 机器学习的数学 从机器学习的角度讲述 ...

  6. python爬虫后进行诗词接龙_飞花令今天看了诗词大会特别有感触,还上了热搜,史上最长飞花令...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 飞花令 今天看了诗词大会特别有感触,还上了热搜,史上最长飞花令.接的圆周率,接到小数点后边第204位!真的很佩服各位的诗词储量.故此开了本帖,依葫芦画瓢, ...

  7. ig夺冠后服务器不稳定,IG夺冠,王思聪上微博热搜,网友:一个让服务器瘫痪的男人...

    11月3日,LPL等了七年,终于等到了这一天. IG3:0 打败FNC赢得了S8冠军.比赛结束后,IG赢得冠军的消息传遍了整个网络.这次不仅让LOL又火了一把,也让校长王思聪成为大家的终极偶像,正在观 ...

  8. 新版《鹿鼎记》被骂上了热搜,看看豆瓣的评价是怎样的?

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章源于明日IT部落 ,作者明日科技 刚接触Python的新手.小白,可以复制下面的链接去免费 ...

  9. 怎么上微博热搜榜?如何推广?

    作为中国最大的社交媒体平台之一,微博每天都会推出热搜榜单,成为了无数用户获取信息和关注热点话题的必备工具.对于企业和个人而言,上榜成为热搜话题是提升知名度和推广效果的绝佳机会. 一.话题选择关键 要上 ...

最新文章

  1. 挂起和阻塞区别以及sleep和wait的区别
  2. SQLite中SELECT基本形式
  3. MySQL的索引特性
  4. 如何关闭SAP Fiori的病毒扫描设置
  5. QT中使用OpenGL绘制图形
  6. 一起玩转CoordinatorLayout
  7. trang.jar转换xml到Javabean
  8. Python 之 %s字符串、%d整型、%f浮点型
  9. 【论文写作】试验管理系统如何写可行性报告
  10. 定时任务周期短导致FTP文件重复读问题
  11. 1983年图灵奖--肯尼斯·汤普森和丹尼斯·里奇简介
  12. 【verbs】ibv_reg_mr()
  13. 公园遛狗(小 * 逛公园)
  14. 关于np.percentile函数的自己的理解(我觉得很对)
  15. 微信小程序实现:输入手机号点击按钮查询手机号归属地
  16. linux python 调试_Python安装与环境配置
  17. Lambda表达式和Stream类的使用
  18. 人力资源机器_人力资源部门的机器学习和AI
  19. 因特网(Internet)与万维网(www)区别
  20. 图片稀疏表示去噪算法

热门文章

  1. 计算机模拟多孔碳,华南农业大学刘应亮教授课题组:废弃板栗壳制备多孔碳材料,用于用于储能设备...
  2. 人工智能常用评估指标
  3. [转载]巴塞罗那神圣家族教堂
  4. Python计算机视觉——SIFT描述子
  5. linux系统或者是在服务器上安装anoconda环境和虚拟环境配置
  6. Vue + Element 实现导入导出Excel
  7. 【操作系统之考前垂死挣扎】02进程管理
  8. mysql Excel导出文件损坏_phpexcel 导出excel无法打开,提示文件格式或文件名无效,文件损毁,解决办法...
  9. 《企业管理概论》在线平时作业3
  10. K7的PLL使用问题