呵,老板不过如此,SQL还是得看我

打印 上一主题 下一主题

主题 335|帖子 335|积分 1005

2018年7月,大三暑假进行时,时间过得飞快,我到这边训练都已经一个月了。
我在没工作之前,我老是以为生产项目标代码跟我平常自学练的会有很大的区别
以为生产项目代码啥的都会规范很多,好比在接口上会做很多安全性的工作(自学练的时候确实学到的类似的案例),代码计划上会有很多计划模式的应用。
但实际上,并不像想象中那样。跟以前平常练的没有太大的区别,生产项目标代码也写不出花,接口的参数也没啥校验,甚至发现很多地方都是bad smell
最大的区别就是代码量很大,数据库里躺着百来张密密麻麻的表,代码上的Controller/Service/Dao的数量足以占满整个屏幕。

在这个过程中会出现一些之前没学过的技术栈,好比lombok/svn/swagger等,不过这些都很勤学,不是什么大问题。
最近令我头疼的是SQL,SQL是真的难写。我本以为我是写Java的,但大多数时间都是去写SQL。
我是很想去理解我所负责的接口对应的底层数据库表是怎么计划的,但始终都没领悟到。
我只知道,我可以在这个表查这个字段,在那个表查那个字段,前端要什么数据,我就把这俩张表给关联起来,一起查出来就好了。
一个接口出去的数据,底层关联5、6张表,是很正常的事。
有的其实我也不知道为啥要关联的,反正看到历史代码是这么写,我就这么复制上去就完了

还是老样子,不乱改历史的代码,只管往里面增加,除非是真的被测试妹子报出bug了。
对接口的性能也没有啥要求,写出来的SQL索引不索引啥的,根本就不需要我操心,接口能出数据,我就是乐成的。
有次需求也是令我发麻,既要得到明细的聚合值,又要展示对应明细数据,这可真的难倒我了。
我琢磨了两天,都没把SQL给写出来,后来就直接去问领导了,说这我卡住了,让他帮帮我。
“前两天不是有个需求嘛?既要统计每个售货机货道补货的数量,又要将每个货道的详细商品查询出来,然后要分页显示,我这边SQL没写出来”
他琢磨了会,说帮我看看,然后让我多训练些SQL相关的题。
我又回工位继续琢磨了,训练SQL相关的能力,我想到的就只有LeetCode了。没想到我还要在LeetCode刷SQL啊。

过了几小时,他喊我去他工位,发了一条SQL给我,让我看行不可,符不符合需求。
我都不用跑sql,这显着就不可。(原来他也写不出来)
我对老板说:”不可哦,这只有统计信息,还要展示sku的明细呢,我根据你的SQL,在这底子上我再想想
最后我嵌套多个子查询,组合使用concat和group_concat完成信息查询,然后在程序里解析字符串完成数据的组装。
这能写出来真不轻易,感觉自己Java技术没啥进展,SQL能力倒是提升了不少。

虽说系统貌似用了SpringCloud,但是没看到远程调用的地方,SpringCloud只有在配置文件才能看到他的踪影,不过我在业余的时间里学了下。我终于踏进了分布式/微服务领域的大门了。
其他的就没啥特别的,来来去去都是针对后台做一些增删改查,也没啥时机接触到高级的技术栈。
上班一个月了,领到工资的感觉是真的爽,行政是支付宝转账的,实打实的3500转在支付宝上。
底层程序员》我的故事持续连载中...

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

李优秀

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表