1024程序员节,我被喷上了热搜!(代码片段)

我是springmeng 我是springmeng     2023-02-22     745

关键词:

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

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

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

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

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

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

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

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


看下我分享的技术栈:

下面是系统的核心代码

@Controller
@RequestMapping("/addressInfo")
public class AddressInfoController extends BaseController 

    @Resource
    private 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")
    @ResponseBody
    public ReturnDataForLayui getList(AddressInfo addressInfo) 
        addressInfo.setIsDeleted(PageBean.isDeletedNo);
        return addressInfoService.getList(addressInfo);
    

    @MustSetForOrderNoAnnotation
    @AuthenticationAnnotation
    @RequestMapping("/add")
    @ResponseBody
    public ReturnData add(AddressInfo addressInfo) 
        return addressInfoService.add(addressInfo);
    

    @MustSetForOrderNoAnnotation
    @AuthenticationAnnotation
    @RequestMapping("/update")
    @ResponseBody
    public ReturnData update(AddressInfo addressInfo) 
        return addressInfoService.update(addressInfo);
    

    @MustSetForOrderNoAnnotation
    @AuthenticationAnnotation
    @RequestMapping("/updateDelete")
    @ResponseBody
    public ReturnData updateDelete(AddressInfo addressInfo) 
        addressInfo.setIsDeleted(PageBean.isDeletedYes);
        return addressInfoService.updateDelete(addressInfo);
    

    @MustSetForOrderNoAnnotation
    @AuthenticationAnnotation
    @RequestMapping("/updateDeleteBatch")
    @ResponseBody
    public ReturnData updateDeleteBatch(String ids) 
        List<Long> idList = JSON.parseArray(ids, Long.class);
        return addressInfoService.updateDeleteBatch(idList);
    



@Controller
@RequestMapping("/blindBoxInfo")
public class BlindBoxInfoController extends BaseController 

    @Resource
    private 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")
    @ResponseBody
    public ReturnDataForLayui getList(BlindBoxInfo blindBoxInfo) 
        blindBoxInfo.setIsDeleted(PageBean.isDeletedNo);
        return blindBoxInfoService.getList(blindBoxInfo);
    

    @MustSetForOrderNoAnnotation
    @AuthenticationAnnotation
    @RequestMapping("/add")
    @ResponseBody
    public ReturnData add(BlindBoxInfo blindBoxInfo) 
        return blindBoxInfoService.add(blindBoxInfo);
    

    @MustSetForOrderNoAnnotation
    @AuthenticationAnnotation
    @RequestMapping("/update")
    @ResponseBody
    public ReturnData update(BlindBoxInfo blindBoxInfo) 
        return blindBoxInfoService.update(blindBoxInfo);
    

    @MustSetForOrderNoAnnotation
    @AuthenticationAnnotation
    @RequestMapping("/updateGoodsLevel")
    @ResponseBody
    public ReturnData updateGoodsLevel(GoodsLevelInfo goodsLevelInfo) 
        return blindBoxInfoService.updateGoodsLevel(goodsLevelInfo);
    

    @MustSetForOrderNoAnnotation
    @AuthenticationAnnotation
    @RequestMapping("/updateIsOnSale")
    @ResponseBody
    public ReturnData updateIsOnSale(BlindBoxInfo blindBoxInfo) 
        return blindBoxInfoService.updateIsOnSale(blindBoxInfo);
    

    @MustSetForOrderNoAnnotation
    @AuthenticationAnnotation
    @RequestMapping("/updateDelete")
    @ResponseBody
    public ReturnData updateDelete(BlindBoxInfo blindBoxInfo) 
        blindBoxInfo.setIsDeleted(PageBean.isDeletedYes);
        return blindBoxInfoService.updateDelete(blindBoxInfo);
    

    @MustSetForOrderNoAnnotation
    @AuthenticationAnnotation
    @RequestMapping("/updateDeleteBatch")
    @ResponseBody
    public 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迈步。

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

1024程序员节,我被喷上了热搜!(代码片段)

一年一度的程序员节日到了,小孟祝大家往后写代码无bug,不脱发,财务自由。对于1024节日,CSDN也举办了技术交流大会,我的很多博主小伙伴也都去了,因为我离的比较远就没有去。最近,没事的时... 查看详情

榜单公布1024征文结果出炉,快来看看你上榜了没?

...实体5分钟教会你用Python采集CSDN的热榜171.1我是springmeng1024程序员节,我被喷上了热搜!166考古学家lx快手滑块验证码分析165.6梦想橡皮擦拿它们练Python爬虫,是在法律边缘试探吗?爬虫圈香饽饽之视频网站的评论区... 查看详情

榜单公布1024征文结果出炉,快来看看你上榜了没?

...实体5分钟教会你用Python采集CSDN的热榜171.1我是springmeng1024程序员节,我被喷上了热搜!166考古学家lx快手滑块验证码分析165.6梦想橡皮擦拿它们练Python爬虫,是在法律边缘试探吗?爬虫圈香饽饽之视频网站的评论区... 查看详情

b站被骂上了热搜。。

Hollis的新书限时折扣中,一本深入讲解Java基础的干货笔记!B站又喜提热搜了。事情是这样的。最近,有用户反映 B站出现了付费视频。这个需要付费的视频是UP主「勾手老大爷邓肯」的《世界十大未解之谜》系列。... 查看详情

马斯克要办大学上了热搜

杨净明敏发自凹非寺量子位报道|公众号QbitAI招人不看学历的马斯克,想办大学了!得州理工。一个想法,就引起了全网围观。这周五时,网友们还将学校缩写T.I.T.S直接推上热榜。它应该有个计算机统计学院。会... 查看详情

因为毕业半年挣了100万,帅地在csdn被喷上热榜

第一次被喷上热榜那会是2018年底,那会我写了一个计算机网络文章,因为内容太简单了所以被喷上热榜,然而他们并不知道,我就是写给小白看的第二次被喷上热榜,是因为我说了自己毕业半年,挣了一... 查看详情

成都核酸检测系统崩溃,东软被骂上热搜!(代码片段)

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇作者丨轩辕之风O来源丨编程技术宇宙(ID:xuanyuancoding)9月2号,成都因为疫情又一次上了热搜,而这一次,热搜上的词条是一... 查看详情

2021b站1024程序员节网络攻防ctf(代码片段)

2021bilibili1024程序员节CTF题WPauthor:dr@g0n🐉0x1aes解密1024程序员节,大家一起和2233参与解密游戏吧~happy_1024_2233:e9ca6f21583a1533d3ff4fd47ddc463c6a1c7d2cf084d3640408abca7deabb96a58f50471171b60e02b1a8dbd32 查看详情

1024程序员节闯关题目:>_<:(代码片段)

背景:今天是1024程序员节,应公司人力资源中心的要求,设计了一套闯关题目(奖品丰厚),供大家竞赛。由于时间仓促,准备得不够充分,而且我司以嵌入式开发为主,因此试题部分代码为C... 查看详情

因为毕业半年挣了100万,帅地在csdn被喷上热榜

第一次被喷上热榜那会是2018年底,那会我写了一个计算机网络文章,因为内容太简单了所以被喷上热榜,然而他们并不知道,我就是写给小白看的第二次被喷上热榜,是因为我说了自己毕业半年,挣了一... 查看详情

java面试总结(2021优化版)发布&1024程序员节(代码片段)

...ava面试总结(2021优化版)文章汇总关于公众号1024程序员节Java面试总结(2021优化版)文章汇总Java面试总结(2021优化版)针对读者反馈的一些错误问题进行了修改,同时删除了一些不常见的面试题,... 查看详情

java面试总结(2021优化版)发布&1024程序员节(代码片段)

...ava面试总结(2021优化版)文章汇总关于公众号1024程序员节Java面试总结(2021优化版)文章汇总Java面试总结(2021优化版)针对读者反馈的一些错误问题进行了修改,同时删除了一些不常见的面试题,... 查看详情

1024程序员节为什么有些程序员下班比你早?(代码片段)

...,其实是程序猿翻身做主,拒绝加班的日子——程序员节(又称码农节)。所以,请关爱身边的濒危物种程序猿吧!为什么是10月24日?因为1024是2的十次方,二进制计数的基本计量单位 查看详情

1024程序员节|我在自研数据库,我为技术代言(代码片段)

随着互联网的发展,“程序员”这个名字逐渐为人们所关注到,其所代表的标签印象也变得更加多样——改变世界?Debug专业户?格子衫代言人?……事实上,有那么一群人,比如腾讯数据库工程师,他们将自己定义为“数字的... 查看详情

1024程序员节|基于springboot实现运动场馆预约信息管理系统(代码片段)

...料、面试题库、技术互助文末获取源码 在即将到来的1024程序员节,谨以此文献给CSDN和亲爱的同行们。项目编号:BS-XX-150一,项目简介随 查看详情

手把手教你开发一款1024程序员节日历提醒服务(代码片段)

...录前言正文一、主动查询二、回调通知结尾前言关于这次程序员节1024征文的内容,自己确实想了好久,作为一名后端研发工程师,不太想去搞一个酷炫的界面,感觉那是前端同学的蛋糕,想利用自己的Golang技... 查看详情

趁着1024程序员节,发布java编程路书(代码片段)

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!😄一、前言:授业解惑我知道,你不知道的还有很多!你了解计算机要从哪里开始学习吗?你清楚为了能找... 查看详情

趁着1024程序员节,发布java编程路书(代码片段)

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!😄一、前言:授业解惑我知道,你不知道的还有很多!你了解计算机要从哪里开始学习吗?你清楚为了能找... 查看详情