后端老鸟耍不要脸

2023-11-21 06:16:45 +08:00
 ahhtree

我和他矛盾爆发直接原因:

1 、接口没有统一返回值;

2 、前后端分离的项目,token 过期他直接重定向到首页而没有任何提示信息;

3 、token 错误显示跨域错误,我怀疑压根没处理这种情况。

和他争辩,说不过了就以修改时间不确定拖着。

背景:

1 、非互联网公司,公司开发就两个人,我和他,我不懂 Java ;

2 、没有架构师、产品、设计人员,组织架构、开发流程很不完善;

3 、leader 人不错,能力很强,但是不懂代码;

4 、我前端一年经验,他后端 5 年经验。

我对于他的看法:

1 、他对 sql 优化确实有点东西,但他擅长 mysql ,公司用的 PostgreSQL ;

2 、逃避复杂的东西(算法、后端架构系统性设计);

3 、和稀泥,脸皮厚;

请问各位 v2 大佬:

1 、碰到这种人你们怎么和他打交道?我是见都不想见到;

2 、业务场景:一张表中 1000 万多的数据,每次查询需要扫描全表逐个计算过滤,拿到通过的数据,前端分页展示。对于该业务场景各位如何进行查询?

23375 次点击
所在节点    职场话题
158 条回复
wxm
2023-11-21 18:25:22 +08:00
看到了几个没有人力投入来改的 bug 或者跟你预想不一致的逻辑就开始觉得自己行了
rabbbit
2023-11-21 18:34:44 +08:00
提供一个解决办法,避免冲突两全其美,就是学 Java 。
主要的学习内容就是 Java 、Spring 、Spring Boot 、Redis 、MySQL
剩下的什么 MyBatis 、Netty 之类的看你们项目里有什么学什么。
Spring 增删改查其实没什么难度,难的都是算法、架构设计、并发、复杂业务这种。
然后缺啥接口、接口设计有啥问题但对方拒绝修改的自己加一个就是了,但是切记不要不打招呼未经允许修改别人的代码。
这样做有的时候工作效率往往会更高,因为省掉了和后端对接口参数 、Debug 的时间。
而且年终总结里还多了很多可以写的东西。
rabbbit
2023-11-21 18:37:35 +08:00
这样对方多了更多的摸鱼时间,又学到了后端知识,两全其美。
然后慢慢的参与进来,有新需求时给自己分一些表和接口的设计、开发工作,这样就算有后端的经验了,以后面试是加分项。
rabbbit
2023-11-21 18:40:54 +08:00
最后,大量数据的查询还是看具体场景吧。
不过多数情况下,我不认为把这么多数据在需要存数据库的情况下还塞到 Redis 里是个好主意。
Baoni
2023-11-21 18:57:32 +08:00
原来是辣个 op ,什么破感悟就当真理送给别人。结果自己不到四个月就已经要坚持不住了吗?
rabbbit
2023-11-21 19:01:34 +08:00
忘了补一句,有的时候代码质量、代码、乃至项目其实都不重言,不要太看重这个,不拖欠工资的公司就是好公司。
fkdtz
2023-11-21 21:21:41 +08:00
哈哈哈哈哈
别的不知道,就感觉内心戏挺多的
怎么说呢,感觉特别像网络短剧里面的人物
哈哈哈哈哈
lesismal
2023-11-21 22:05:12 +08:00
第二个问题,考虑下每条数据有更新时、按你们的规则计算一下该数据对应的结果值,如果线上业务频率不高、直接原表加字段、频率高则新表 id 关联。
新功能先跑一轮任务把每个字段按照当前值计算出来存入新的字段、为了避免线上业务与任务并发冲突、该任务执行时建议停服、或者有更新的相应接口暂停访问。

这样就可以避免每次全表、需要时一条 sql 查结果字段即可,如果规则比较复杂、一个结果字段不够、可以多加几个字段
ZC3746
2023-11-22 05:15:06 +08:00
@fyxtc 不懂就问,六字真言是什么?
awah
2023-11-22 07:43:27 +08:00
@ZC3746 #149 要么忍,要么滚
qping
2023-11-22 09:26:27 +08:00
@ahhtree #1 放在数据库还是放在 redis ,都没有什么区别,只是存储的形式不同,内存可能更快,但是磁盘也不一定不能满足需求。

如果能够满足要求,就不要考虑用更复杂的方式优化。
OceanBreeze
2023-11-22 13:55:41 +08:00
有个问题不大理解。

前后端分离的项目,后端 api 怎么做到重定向?
456789
2023-11-22 14:49:33 +08:00
token 过期直接重定向首页不对么
adgfr32
2023-11-22 16:44:39 +08:00
才 1000w, 还是 pg, 压根不用优化.
多线程计算写 redis, 你怎么保证每个线程的计算结果是成功的, 20 线程, 其中一个挂了你咋去重试组装数据, 徒增复杂度.
引入 redis, 就需要额外处理缓存不一致, 失效时间, redis 可用性这些问题.
adgfr32
2023-11-22 16:51:54 +08:00
而且就单纯说你这个方案, id 和关键信息放到 redis, 意思是你如果要对所有数据排序, 需要把 1000w 个 key 都取出来吗. 虽然 redis 数据在内存中, 但是你获取数据走的网络 io, 平白无故多了 1000w 次开销.
有时候有人会有个错觉, 就是 redis 总是比 db 快, 你也要看场景. db 天生擅长这种关系型的数据计算排序, redis 适合 kv 类型的, 强行使用会很尴尬.
qfdk
2023-11-22 22:36:04 +08:00
小心他急了 反手 thymeleaf 把你活都抢了
ZC3746
2023-11-23 09:24:13 +08:00
@luguhu 谢谢指点。
CEBBCAT
39 天前
太招笑了,还笑人家耍不要脸,现在看你这个账号也是灰溜溜地走了。两年要过去了,您这野心实现得怎么样了?

你才做一年,沟通、技术、都不懂就想指点江山,多少有点儿超雄,你真的可以往这方面想想。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/993673

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX