V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ahhtree
V2EX  ›  职场话题

后端老鸟耍不要脸

  •  
  •   ahhtree · 2023-11-21 06:16:45 +08:00 · 20250 次点击
    这是一个创建于 401 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    背景:

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

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

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

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

    我对于他的看法:

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

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

    3 、和稀泥,脸皮厚;

    请问各位 v2 大佬:

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

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

    第 1 条附言  ·  2023-11-21 07:11:13 +08:00
    对于第二个问题:我的职业发展规划是全栈工程师,我认为思考这个问题对于我的职业发展有益;
    我在现公司唯一一次加班是因为 response-body 为空的问题无法解决(可参见我上一篇帖子),加班 20 分钟。其他时候都是准时下班。
    第 2 条附言  ·  2023-11-21 14:36:22 +08:00
    诸位说的都太对啦,不管是针对问题的回复还是针对我本人的回复都太对啦!我丝毫没有反驳的余地。
    第 3 条附言  ·  2023-11-21 18:27:02 +08:00
    关于我上个帖子里面的那句话,我的本意是“我的年龄越大见到的傻 x 越多”,我觉得和“年龄越大越。。。”是不一样的;

    如果有人觉得我冒犯了他......😜[中指]
    157 条回复    2023-11-23 09:24:13 +08:00
    1  2  
    ahhtree
        1
    ahhtree  
    OP
       2023-11-21 06:25:47 +08:00
    对于第二个问题:

    他的解决方案:在数据库从新建一个表,这个表只有两个字段:id 和另一个用于计算的关键信息,利用 PostgreSQL 内部的数据库函数进行计算;

    我的解决方案:id 和另一个关键信息放在缓存中(如 redis ),把数据库函数转换为外部程序函数,利用多线程计算。

    该场景尽管需要按照计算结果 排序后 分页显示,似乎全表扫描计算是不可避免的。
    ahhtree
        2
    ahhtree  
    OP
       2023-11-21 06:26:56 +08:00
    @ahhtree “尽管” 两个字去掉
    happy32199
        3
    happy32199  
       2023-11-21 06:54:46 +08:00 via iPhone   ❤️ 25
    感觉你这样的才是职场毒瘤啊……
    个人看法!
    ahhtree
        4
    ahhtree  
    OP
       2023-11-21 07:00:35 +08:00
    @happy32199 理由是什么?
    kkwa56188
        5
    kkwa56188  
       2023-11-21 07:09:36 +08:00
    我大概看懂了, 可能没全懂, 就问一下:
    他提出的解决方案 似乎已经很明显了 是将由他自己来实现.
    那 OP 提出的解决方案, 打算 让谁来实现呢?
    ahhtree
        6
    ahhtree  
    OP
       2023-11-21 07:16:27 +08:00
    @kkwa56188 我只向 leader 提出了我的方案,具体谁来实现取决于 leader 。 我可以独自实现、也可以作为协助者协助后端实现。

    关键一点在于实现这一方案需要时间,而 leader 总认为没有那么多时间而因此要求改进现有实现,因此其实也浪费了很多时间。
    lrh3321
        7
    lrh3321  
       2023-11-21 07:43:22 +08:00   ❤️ 4
    你的解决方案不太适合只有两个开发的公司,感觉你在面向简历编程。别人是因为数据库不好扩容才节省数据库计算资源放到应用层来计算。你这样一弄架构复杂了,维护成本直线上升了。
    IndexOutOfBounds
        8
    IndexOutOfBounds  
       2023-11-21 08:00:11 +08:00   ❤️ 1
    从架构简单性原则出发,复杂方案没明显收益的话,不敢轻易认可
    ahhtree
        9
    ahhtree  
    OP
       2023-11-21 08:06:58 +08:00
    @lrh3321

    这家公司组织结构不完善是导致现在问题的根本;

    我认定工作本来就是为了简历;

    之所以放在应用层是因为那个计算函数最初放在了数据库里面,是一个数据库函数。

    他不会节省数据库资源,因为数据库缓存 已经因为查询慢而调大了,但还是慢。

    利用缓存这个方案他后来也提出过,但就是不用。

    他是出于维护成本高才不用?我觉得不是,以下两点纯属我个人臆测。

    第一,如果他用了说明我的方案一开始方向就是对的,他面子挂不住;

    第二,他太懒了,连个 token 错误的校验都不写,他会做架构升级?
    0xsui
        10
    0xsui  
       2023-11-21 08:11:22 +08:00
    1kw 条不算多,有现成的框架和包,用 mybatisplus 配个分页,前端分页查询,显示就行了,分分钟就解决的问题。
    另外,术业有专攻,leader 要是专业内的懂行的人,能力很强,但是不懂代码,这问题很大。。。
    ahhtree
        11
    ahhtree  
    OP
       2023-11-21 08:20:01 +08:00
    @0xsui 实际业务需求是:一张表中 1000 万多的数据,每次查询需要扫描全表逐个计算过滤,拿到通过的数据,按结果排序后,前端分页展示。
    kuituosi
        12
    kuituosi  
       2023-11-21 08:20:16 +08:00   ❤️ 9
    你在错误的时间错误的地点做错误的事情。
    3 、leader 人不错,能力很强,但是不懂代码;这种奇葩的事情也能忍?
    真有技术追求去找有技术实力的公司,为啥你会在这么奇葩的公司,是不是优秀的匹配机制在起作用?
    因为你的能力还配不上你的梦想
    ahhtree
        13
    ahhtree  
    OP
       2023-11-21 08:21:46 +08:00
    @0xsui 组织架构确实是根本问题
    witcat
        14
    witcat  
       2023-11-21 08:21:56 +08:00
    混子混到 5 年也是可以的
    ahhtree
        15
    ahhtree  
    OP
       2023-11-21 08:24:18 +08:00
    @kuituosi 我现在做的事情就是努力让我的能力跟上我的野心。而现实需要一步一步来,我需要解决这个问题。
    bigha
        16
    bigha  
       2023-11-21 08:26:35 +08:00   ❤️ 5
    这个问题简单啊 和你领导申请你要当全栈
    sordidclown
        17
    sordidclown  
       2023-11-21 08:28:37 +08:00
    @kuituosi 尖锐了老哥,有被激励到
    bkdlee
        18
    bkdlee  
       2023-11-21 08:32:57 +08:00
    1.公司就两个开发人员,就不要强求开发流程了,这样徒增开发和交流成本。
    2.你认为接口没有统一的返回值,那你就设计一个符合你们公司应用场景的接口规范,和后端讨论后一起修改,毕竟你的目标是成为全栈工程师的男人。有这样的代码经验有助于你的人生规划。
    3.对于你第二个问题里的解决方案,他的方案才是正解。
    lscho
        19
    lscho  
       2023-11-21 08:35:41 +08:00 via iPhone   ❤️ 4
    你都进这种公司了,还职业规划个毛线啊

    非互联网公司、两个人、leader 不懂技术,这不纯纯的负负负积累
    block0
        20
    block0  
       2023-11-21 08:37:24 +08:00 via Android   ❤️ 1
    你们两个都解决方案都没有问题,如果这套系统只是为了支持稳定的业务,不是快速增长的业务。从性价比角度,后端提供的方案更合理。如果处于快速增加的业务场景下,系统要提供更好的弹性,你的方案更合理。
    keymao
        21
    keymao  
       2023-11-21 08:37:40 +08:00
    第二个问题人家的方案是没问题的,利用数据库函数计算比你这套要快。 缓存一般是存放需要经常读取且变动频率不高的数据,放可变数据是不靠谱的。
    jjx
        22
    jjx  
       2023-11-21 08:38:22 +08:00
    这个,不理解你们的逻辑, 说的可能没用

    你们纠结在 每次查询需要扫描全表逐个计算过滤

    不能拆查询条件, 把个别条件的查询放到索引表中, 最后用得到的主键去查询主表
    vincentxue
        23
    vincentxue  
       2023-11-21 08:42:06 +08:00   ❤️ 69
    同事之间还是以和为贵,大家是各司其职,如果你不懂或者不负责别人的东西,最好不要去指点,别人没问你,不要发表意见。如果他的交付对你的交付有很大影响,你完全可以说你做不了,如果对方说可以做,就让他来做。示弱有时候比逞强更好用。但这种其实是 B 类的做法。

    就说那个千万表的分页,如果响应时间达到要求,你管那么多做什么,如果达不到要求,责任也不在你这边,你又不是 leader ,同样轮不到你来指指点点啊。索引得当的情况下,亿级的表查询都没问题,何况用的还是 pg 。说实话,你的解决方案其实不好,没必要增加额外的组件,而且 id 通常不是查询的瓶颈所在。这种问题还是要解决问题本身,而不是去绕路。

    说到底,像你说的 123 点,业务上的问题,就事论事,好好沟通,沟通不了,提级沟通,凡事还是多沟通,有技巧地沟通。你这样已经是有对人不对事的倾向了,自己臆想猜测别人,是情商低的表现,在职场上不会受欢迎的。如果你要否定别人的方案,你至少要拿出你自己的方案,并且你的方案一定是比对方更优的。正常的做法是你应该拿出你的方案和建议,虚心请对方指导,看看是否对问题的解决有帮助,而不是上来直接 say no 。是否采纳完全取决于对方因为对方才是这件事情的 owner ,要对结果负责。

    你值得肯定的一点是你有这种心思,对自己有高的标准,但是目前看起来沟通和做事都还有很长的路要走,硬实力重要,软实力更重要。你刚刚入行,还是要多虚心,低调,多向别人学习,这才是正确的态度。
    chicbian
        24
    chicbian  
       2023-11-21 08:43:06 +08:00   ❤️ 1
    你就直接问后台要代码库权限,然后加班把这事情搞定了,leader 高兴,老人高兴,你也高兴了。毕竟你是要全栈,那肯定要全都会啊,不是搞纸上谈兵。就当下班学习充电了。
    redocxz
        25
    redocxz  
       2023-11-21 08:44:36 +08:00
    大学里一个大创项目都不止两个开发者吧
    zengguibo
        26
    zengguibo  
       2023-11-21 08:46:41 +08:00   ❤️ 1
    1 ,token 过期这种肯定要返回统一的错误码,哪里能直接跳转
    2 ,1000 万多的数据肯定要优化的,实时性不高的话,再搞个表把计算好的存进去,然后定时更新
    我也是做后端的,一般都是前端叫我改我就改,大家是有共同目标的,不是来扯皮的
    gps949
        27
    gps949  
       2023-11-21 08:46:54 +08:00   ❤️ 1
    前提声明:本人技术小白,以下均是不成熟意见。

    1 、对于第二个问题,基于业务情况和你司资源情况,我认为他方案没问题。而且这本身就是人家岗位的事情,你有自己的想法可以提建议、可以自己实验,但无法越俎代庖;
    2 、看你对他上人身评价了,好奇他对你上人身评价上高度没?如果没有,建议技术人间的讨论就永远停留在技术层面,哪怕互相觉得对方说的技术内容纯纯扯淡,也永远不要上人身评价,谁先上高度谁输;

    另外你们分歧的事情,根据你的规划、野心以及你司情形,私以为从缓和到激进唯有三策:
    1 、各司其职,搞好团结,就俩人就别再内讧了。有技术意见积极地提但不要强求,一听领导的、二听专业的。至于你的全栈规划私下多学习多练手就好了;
    2 、你看不惯他又想并且觉得自己可以全栈,就和你领导谈,让把他优化掉,承诺你短期内可以一个顶一个半,通过无偿加班弥补不足的半个,三到六个月可以做到一个顶两个;
    3 、找到更适合你发挥发展又没有他的环境;
    Vindroid
        28
    Vindroid  
       2023-11-21 08:48:23 +08:00   ❤️ 1
    就两个人开发,怎么简单怎么来,别去想架构,至少在与他人合作的项目上别去过多的想架构
    happy32199
        29
    happy32199  
       2023-11-21 08:48:40 +08:00 via iPhone
    @ahhtree 你的野心比较大,leader 不懂技术 你都想把他换了 😄
    512357301
        30
    512357301  
       2023-11-21 08:49:13 +08:00 via Android   ❤️ 11
    离了吧,费这个劲呢,你看不上他,他还看不上你呢。
    你们还守着一个啥也不懂的婆婆,这婆婆估计更是和稀泥的高手,否则他握着一个 5 年后端早该拉偏架了爆锤你了,5 年后端不好找,1 年前端多的是。
    多说一句,他不是逃避复杂的东西,而是没人,不能搞复杂的东西,否则就是无尽的加班,你又不加班。。。
    skywalkerfc
        31
    skywalkerfc  
       2023-11-21 08:55:39 +08:00
    @512357301 哈哈,这个模版套用很合适
    NutChocHoney
        32
    NutChocHoney  
       2023-11-21 08:58:35 +08:00
    就 2 个开发商量着来就行了,规范这种是为了多人协同的效率,就一年前端经验的话,个人感觉应该先深耕自己的领域.
    对于第二个问题我觉得 leader 的意思很明显了,对于小公司来说,性能扩展性都是其次.
    另外我感觉楼主喜欢恶意揣测别人,至少我很怕在职场遇到这种人
    dayeye2006199
        33
    dayeye2006199  
       2023-11-21 09:00:34 +08:00 via Android
    Leader 能力很强,但不懂代码

    不懂技术的领导带个毛的技术团队。
    lrh3321
        34
    lrh3321  
       2023-11-21 09:02:32 +08:00 via Android   ❤️ 1
    @ahhtree #9
    要不你一个人加班,吭哧吭哧全改了,让他们能用你这套替换掉原来的。要不你还是赶紧跑,换个你看得上的公司。
    guabimian
        35
    guabimian  
       2023-11-21 09:02:57 +08:00   ❤️ 1
    KISS 原则是业界总结出的,有何不妥?非必要不引入更复杂架构。
    别人负责的模块,技术方案上不采用你的建议就拿年龄扣帽子,
    这真不是技术问题了,小伙,你不仅仅是年轻,技术方案争执再激烈
    都没问题,但拿年龄扣帽子就是人品问题啦。
    silentsky
        36
    silentsky  
       2023-11-21 09:04:52 +08:00 via Android
    如果体验和性能都没问题最好别瞎改
    guabimian
        37
    guabimian  
       2023-11-21 09:06:31 +08:00
    再说一句网上的一些大厂经验和架构真的不一定适合小作坊,想证明自己的技术架构更适合,应该是拿数据说话,同时也去证明别人的不可行,灌数据做下模拟测试不需要多少时间,打嘴仗扣帽子那不是技术人员应该去专注的。
    wangtian2020
        38
    wangtian2020  
       2023-11-21 09:10:36 +08:00
    对工资来说,对个人发展来说。第一家公司待满一年就该跑路,虽然当下新岗位不好找
    debuggerx
        39
    debuggerx  
       2023-11-21 09:11:41 +08:00
    1. 建议跳槽,感觉公司环境和自己的追求不符时就没必要熬了,换个公司你可能就是对的了,现在这家你反而可能是不对的那个。
    2. 只要你现在明面上还是前端,就建议不要过度插手后端的方案和实现,有想法就自己开个人项目去实践。
    3. 对面拖你也拖就行了,领导问为什么没做完就说是因为后端不配合,别太把公司的项目当回事。

    以前我也干过看后端代码不顺眼,就自己改好一个 pr 扔过去,确实很省事。后来就不这么做了,因为想通了,公司领导和其他人都不在意代码质量,那自己有什么好搞的,把精力放在自己个人的项目上不好吗
    NessajCN
        40
    NessajCN  
       2023-11-21 09:12:25 +08:00   ❤️ 1
    「我不懂 Java 」
    「我的职业发展规划是全栈工程师」
    那你有这撕逼和发帖的时间,自己赶紧把 Java 学了不就完了吗
    KOMA1NIUJUNSHENG
        41
    KOMA1NIUJUNSHENG  
       2023-11-21 09:13:01 +08:00
    一千万条有什么好优化的,自己瞎搞反而发效果。
    sun1993
        42
    sun1993  
       2023-11-21 09:13:47 +08:00
    他的解决方案就是纵向拆分,在不改变现有架构的基础下很合理
    ma836323493
        43
    ma836323493  
       2023-11-21 09:17:12 +08:00
    @ahhtree #1 你的方案复杂了,redis 你放千万条在 redis 里面, 不是这么用的, 后端老鸟, 一句 sql 就能解决的事,
    crazyTanuki
        44
    crazyTanuki  
       2023-11-21 09:17:17 +08:00
    建议自己学一下 nodejs 自己写,不鸟他
    ahhtree
        45
    ahhtree  
    OP
       2023-11-21 09:18:46 +08:00
    @bkdlee 我一开始也没有要求什么统一返回值,结果他接口状态码字段都用的不一样的,害我改整个项目代码(也怪我一开始没统一封装请求); leader 满脑子上线,不给时间; 关于您回复中的第三点,能否说下原因??
    maguazhou
        46
    maguazhou  
       2023-11-21 09:20:24 +08:00
    面向业务编程,只要业务人员没问题,技术随便弄
    gazi
        47
    gazi  
       2023-11-21 09:23:38 +08:00
    从后端的角度看,这些操作就是再给他额外加活儿,他自然不想搞。老玩家只想钱多事少回家早,其它的都不鸟。
    zzfer
        48
    zzfer  
       2023-11-21 09:25:03 +08:00
    你的方案不太好,redis 不能这么用,肯定不能放一千条数据到缓存里。数据库查询千万级别建立索引就好了。或者按他说的,新建一个表
    zzfer
        49
    zzfer  
       2023-11-21 09:27:11 +08:00
    基础返回格式,系统架构什么的,时间充足的话或许你自己迁个分支搞一搞,毕竟要走向全栈,这正是个好的锻炼机会,
    vaaagle
        50
    vaaagle  
       2023-11-21 09:29:27 +08:00
    只说一点,多线程计算真不好写,说起来很容易操作起来很容易出问题。举个不恰当的例子,大家都知道大别墅住起来舒服,为什么不每个人都上别墅呢,量力而行。
    forgottencoast
        51
    forgottencoast  
       2023-11-21 09:30:23 +08:00
    @ahhtree
    努力换一个有技术实力的公司。
    上面很多回复在你眼里可能也是躺平派。
    躺平还是不躺是个人选择,无关对错,但是两者在一起共事肯定是不合拍的。
    所以你要努力找到适合你的组织。
    在这之前,努力做好自己的工作,和不同的人打交道也是工作的一部分,沟通技巧一直都是一个很重要的技能。
    能有办法推动一件事或一个人也是工作中极其重要的一种能力,这些都是靠锻炼来获得的。
    nerkeler
        52
    nerkeler  
       2023-11-21 09:31:08 +08:00
    各司其职,不涉及自己的工作内容,点到为止,如果有意见,明确拿出你的方案对比的关键性优点
    qinxi
        53
    qinxi  
       2023-11-21 09:31:27 +08:00
    1. 统一返回值如果是 统一所有返回格式 {code, msg, data} 那确实不是必要的,可以只返回业务对象. 只需要统一非 2xx 的异常格式就够了.
    2. 前后端分离 这个重定向有问题. 他在用传统后端渲染的逻辑来做. 如果双方完全不想沟通你可以判断 http 状态码+目标地址?
    3. 跨域纯前端无解, 不过前面套 nginx 可解
    fgwmlhdkkkw
        54
    fgwmlhdkkkw  
       2023-11-21 09:32:36 +08:00
    可怕,,,你要是有枪,他早被你崩了吧……
    fgwmlhdkkkw
        55
    fgwmlhdkkkw  
       2023-11-21 09:33:40 +08:00
    你的父母对你也这么冷漠残忍吗?
    chenPiMeiHaoChi
        56
    chenPiMeiHaoChi  
       2023-11-21 09:34:29 +08:00
    这里不适合你,你当前应该去一家对技术更执着的公司。当然了,再过个五六年你就会理解现在的他们。
    lyxxxh2
        57
    lyxxxh2  
       2023-11-21 09:34:56 +08:00
    之前我遇到过个 3 年前端, 菜 脾气大 爱甩锅
    记得上线出 bug, 前端: 前端绝对没问题,以前都可以,好像说成我的问题。
    最后我一抓包,域名都写成测试服了。
    开发个 app, 连抓包都不会,都不知道他怎么开发的,html+jq 打包的。

    我跟领导说不想跟他合作。
    开了他再找个前端,两个月我把重构项目完,领导也同意了,毕竟领导天天和我们在一起,知道我技术。
    不过最后我离职了,才入职两个月。(只是因为我个人对公司加班制度不满的原因 刚好年轻气盛 跑去个 965 的公司)
    dif
        58
    dif  
       2023-11-21 09:37:41 +08:00   ❤️ 1
    作为后端,这问题最根本的原因就是两个:
    第一、懒。不愿意改,会胡拉乱扯的给前端解释一堆,欺负前端不懂后端这一块的技术。
    第二、能力不行。自己不会改就交给别人。

    至于怎么打交道,说白了,如果这个人只是懒,还有的干,一般相处久了关系都不错,虽然偶有争吵,但一码归一码,关系好了,懒这个问题就很好解决。 能力不行这个确实没办法,因为他知道自己搞不定,关系再好也搞不定。搞不定又不愿意学习,公司的老油条一般都是这种。没得办法,能换个合作的就换个,没得选要么忍要么自己学习后端,取代他,前后端本身也没太大的壁垒。
    debuggerx
        59
    debuggerx  
       2023-11-21 09:40:22 +08:00   ❤️ 7
    发现很多人总喜欢滥用 redis ,张口“追求性能”闭口“架构设计”。其实很多系统真的没必要上 redis ,本来就没什么性能瓶颈的项目,只要能把 sql 写对索引加对就完事了,代码简洁可维护 bug 少可靠性又高,为了用 redis 而用反而是降低可靠性,以及各种缓存机制错误导致的 bug 。(老鸟们可以回忆下有多少陈年老屎山一出问题就是手动清理 redis 或者 es )
    所以个人建议是,除非某些很简单的小项目,对数据可靠性要求不高的,可以不用数据库而直接把 redis 当 db 用,否则就老老实实用数据库别整那些幺蛾子,最少别开发早期就引入各种缓存机制,顶多注意一点把项目写得规整一些,做一点该有的抽象和必须的封装,直到项目上线出现性能问题了再考虑要不要加 redis 一类的东西。
    xlmo
        60
    xlmo  
       2023-11-21 09:41:03 +08:00
    最烦这种了:前端对后端实现指指点点,后端对前端功能说这个很容易。
    你可以对你的本职工作提意见去改进,但是请不要提到别人的专业领域去了,除非确实影响到了你的工作。因为对对方来说,你就是一外行。
    AoEiuV020JP
        61
    AoEiuV020JP  
       2023-11-21 09:42:09 +08:00
    我刚来公司也觉得公司项目垃圾的不行,啥限制都让客户端做,服务器就负责增删改查转发消息,
    但现在习惯了,有些东西存在就是合理,不是说怎么好就能怎么做,各有各的难,没必要去卷别人,
    magicZ
        62
    magicZ  
       2023-11-21 09:42:43 +08:00
    缓存不是那么用的,如果每行都要计算,后端数据维护一个大宽表,直接查就完事了。
    abc1310054026
        63
    abc1310054026  
       2023-11-21 09:43:41 +08:00   ❤️ 1
    说句实在话,小公司里面不太有“在工作中学习”这种情况。
    iOCZS
        64
    iOCZS  
       2023-11-21 09:44:32 +08:00
    归根结底是缺少约束,没人可以左右规范
    ydpro
        65
    ydpro  
       2023-11-21 09:45:16 +08:00
    这个问题简单你把 leader 踢了自己上就解决了
    yc8332
        66
    yc8332  
       2023-11-21 09:48:19 +08:00
    如果老项目,后端可能只是加点东西支持下接口调用,又不是像前端整个项目新写的。不一定能很好支持前后端分离
    renmu
        67
    renmu  
       2023-11-21 09:48:46 +08:00 via Android   ❤️ 1
    就两个开发的公司还想干出什么东西,懂得都懂,大家都是来摆的,建议早点离职换个符合你野心的公司
    ZZ74
        68
    ZZ74  
       2023-11-21 09:49:02 +08:00
    他对 sql 优化确实有点东西,但他擅长 mysql ,公司用的 PostgreSQL ;、
    这又有什么关系呢....
    业务场景:一张表中 1000 万多的数据。
    才千万就要 redis ,多线程.....我支持 TA 的做法。

    OP 完全可以申请全栈,小公司都喜欢的。
    retNu1l
        69
    retNu1l  
       2023-11-21 09:50:15 +08:00
    不得不服你们领导的 PUA 技术,”人不错,能力很强,但是不懂代码"看到这句话的时候笑死我了。
    docx
        70
    docx  
       2023-11-21 09:50:46 +08:00 via iPhone
    打工人不要为难打工人
    doanything
        71
    doanything  
       2023-11-21 09:51:56 +08:00
    我有点好奇。前后端分离,能在 token 过期,后端直接重定向到首页吗
    wooyulin
        72
    wooyulin  
       2023-11-21 09:52:51 +08:00
    就事论事,前面的你占理。后面的方案,redis 这么用能为你带来什么?明显不如他的可靠
    c2const
        73
    c2const  
       2023-11-21 09:52:52 +08:00
    1.公司就两个开发,流程、架构啥都不用想,肯定是能用就行,代码能跑就行,用新技术可能性也不大 :)

    2.互相看不上也正常,OP 可以考虑换个好一点的公司,如果怕风险就骑驴找马,今天开始就投简历,这周就请假去面试呗 :)
    chf007
        74
    chf007  
       2023-11-21 09:57:36 +08:00   ❤️ 2
    唯一一次加班才加 20 分钟,这种公司你要求不了别人啥。

    对于这种老油条,你又要想往全栈转,那你就自已改了(Java 也不是特别难)提个 mr 就是了,自已心理上就过去了。这种老油条,自已不是不知道这些东西不合理,只是懒的改了,你来帮忙改,他巴不得呢。

    如果你是想这又不是我的事,我就是觉得这个后端不行,那这就是上级的事了,看你如何推动上级了。上级会怎么搞,在唯一一次加班才加 20 分钟的公司里,估计上级大概率会和稀泥。

    所以你最好的办法是抓住机会都学会,不久以后跳槽,但是估计很难找只加班 20 分钟的公司了。
    lin07hui
        75
    lin07hui  
       2023-11-21 10:02:42 +08:00
    都前后分离,你甭后端事的。后端向你提供接口,接口提供什么,你就用什么。接口满足不了你的需求,你就向他提需求。如果谁也不让谁,你就去找 leader 的麻烦,让 leader 决定。
    voya
        76
    voya  
       2023-11-21 10:09:12 +08:00
    可怕,可怕的是公司有你们三
    ZGame
        77
    ZGame  
       2023-11-21 10:13:58 +08:00
    @ahhtree 全表查询的方式是 es 这种 不是 redis
    RedBeanIce
        78
    RedBeanIce  
       2023-11-21 10:23:29 +08:00
    回家学 Java ?????

    冲啊,,
    woodfizky
        79
    woodfizky  
       2023-11-21 10:25:01 +08:00
    刚工作不久吧?

    先不谈论技术,你疑似有点越界了,最好不要跨越边界进到别人的边界里侵犯别人的工作内容(除非对方太离谱)。
    我刚开始工作也这样,分不清别人的事情和自己的事情,会导致看不到对方的难处,会产生一些矛盾。

    或者你换位思考一下,你是这个后端,有个同事有想法但是又没有用很好的方式去跟你沟通,又想把他的想法施加到你身上,你难受不?

    沟通交流是双向的,不管是上下级还是同级同事,你得先用对方能接受的良好方式去沟通,才能有效果。

    反正你把自己的本职工作做好,如果觉得别人的工作结果影响到你的工作了,你好好沟通,能不能有效果再说,和谐的同事关系其实是很宝贵的。
    runzekk
        80
    runzekk  
       2023-11-21 10:25:32 +08:00   ❤️ 1
    把技术精力投入到开源社区。

    别对不该你负责的东西指指点点。

    公司做事要考虑 roi ,投入产出比。

    你以为统一简洁的架构设计最能体现技术吗?那你就错了,很多公司尤其是大点的公司,有很多技术债,怎么能在垃圾山中找到最合适的切入点,用最优雅的代码在其中横跳才是体现技术的。

    哪怕一个命名都能体现技术含量,不要以为只有架构才是体现技术含量的东西。
    djasdjds
        81
    djasdjds  
       2023-11-21 10:27:33 +08:00
    你也是个人才
    MrSheng
        82
    MrSheng  
       2023-11-21 10:28:16 +08:00
    要不先试下 PG 的并行计算?

    另外不大理解为何要引入 Redis ,如果要在应用层使用多线程,本身也是可以使用多线程将数据从数据库分段查出来的。
    wzhaoyang
        83
    wzhaoyang  
       2023-11-21 10:28:23 +08:00
    1.restful api 中并没有要求返回的 body 一定是固定格式,一般是由 http status code 来确定请求结果的,所以后端个人觉得没啥技术上的问题,说不定别人完全按照 restful api 来做的 api 呢
    2.前后端分离,后端直接重定向,这个做法不能说有问题,反正是不太好,但是如果前后端沟通好,说明清楚,未登录跳转某个地址,这样做也是没有问题的
    3.有关跨域,并不是一定要后端允许跨域的,前端开发环境是能做代理的,线上环境 nginx 也能做代理,目前我司也是这样做的,市面上大多数也应该是这样做的

    后面方案的问题
    1.两种方案我觉得后端的比较合理,也是改动比较小没增加太多工作量并且性能足够好的方案
    2.增加 redis ,有没有考虑过部署成本 ,redis 成本,源码改动成本,是否能及时交付
    3.你有新的方案可以和后端沟通,毕竟是前辈,你所考虑的方案说不定别人早就想过呢,别人没有用是一定有原因的,还是要多沟通,这样才能进步
    pxiphx891
        84
    pxiphx891  
       2023-11-21 10:31:09 +08:00   ❤️ 1
    我是一个后端开发,就第二个问题而言,100%是他的方案更好
    sky857412
        85
    sky857412  
       2023-11-21 10:35:37 +08:00
    就 2 个人团队,应该想的是如何快速解决公司的开发需求,然后你自己去学习提高,写自己的项目,在小公司想通过公司项目提高的,都是不切实际的想法。
    koloonps
        86
    koloonps  
       2023-11-21 10:36:00 +08:00   ❤️ 1
    有事没事就上 redis?面向简历编程吧
    somebody1
        87
    somebody1  
       2023-11-21 10:40:19 +08:00
    @ahhtree #4
    理由跟前天那个自挂东南枝的一样,你在你不擅长的领域,固执的觉得自己有道理。
    somebody1
        88
    somebody1  
       2023-11-21 10:46:01 +08:00
    ”我认定工作本来就是为了简历;“

    你都这么说了,那还有什么道理好讲的,可不是招聘考察什么上是什么,而不是业务需要什么用什么
    OneOrange417
        89
    OneOrange417  
       2023-11-21 10:46:10 +08:00
    幸好没有和 op 这样的人共事过。
    OneOrange417
        90
    OneOrange417  
       2023-11-21 10:48:26 +08:00
    如果复杂的架构没有实在的收益的话,为什么要复杂化?况且这是他那边的职责,你可以提建议,如果别人不采纳那是别人的事情。况且在你说明的场景下,他的方案 100% 是更合理的。要么你和 leader 说你来做后端,直接变全栈,否则成年人要懂得有些边界不要跨越。
    wtfedc
        91
    wtfedc  
       2023-11-21 10:50:18 +08:00   ❤️ 1
    返回值不统一比较普遍,商量着改吧。

    前后端分离的情况下,token 过期直接重定向到首页,一般是有问题的。

    跨域一般是后端解决。

    懂 mysql 优化,自然对 pg 也熟,相通的地方很多。用视图+数据库函数应该是个通用的思路。redis 不是你那个用法。

    有兴趣转后端,越早越好,从数据库入手,顺便把 nodejs 玩起来,要积累的东西还有很多。我是前端转后端,全栈是个伪命题,并不 NB ,人不可能面面俱到,慢慢找个喜欢的方向,深入挖掘才有竞争力。
    sambawy
        92
    sambawy  
       2023-11-21 10:53:26 +08:00
    仿佛看到刚刚成为全栈时候的自己,什么都想用,什么都想试,做久了才发现业务不赚钱技术就是个屁,折腾再多不如多做一个让业务赚钱的功能。
    me1onsoda
        93
    me1onsoda  
       2023-11-21 10:57:21 +08:00
    第二个问题就是怎么设计索引的事,别做复杂了。实在不好设计的话,1000kw 的数据不算多,马马虎虎做吧,数据量大到用亿算的话,考虑一下是否一定要分页
    hjw45611
        94
    hjw45611  
       2023-11-21 11:06:39 +08:00
    让我想起了我刚入行的公司,技术也就三个人,做一个社群聊天 app ,老大做后端,什么都要自己研发,就连三方库都要把源码拉到本地,一年都没做出个能给老板交差的,我来不到俩月就觉得有问题,离职走人了,走后没两三个月老板就不想投入就黄了
    小公司就要保证快速产出没 bug 就好,其他都是次要。你要有追求,你就去有追求的公司
    tbv
        95
    tbv  
       2023-11-21 11:08:04 +08:00
    对你的上进心表示赞同
    但是你的上进心不是用来衡量别人的标准

    也许在人家后端眼里,你就是一个没事找事,自以为是的人;

    打工者就要抱着打工人的心态,不要上升到公司高层的战略眼光去看待别人和处理问题;

    追求进步是没人任何问题的,但是尊重别人和了解别人是职场情商的表现,你讨厌别人的时候有没有思考过你在别人的眼里是什么样的人呢?
    oppoic
        96
    oppoic  
       2023-11-21 11:11:36 +08:00   ❤️ 5
    crayhuang
        97
    crayhuang  
       2023-11-21 11:13:28 +08:00
    工作中还是倡导对事不对人的沟通方式,大家可以很激烈争论问题和讨论解决方案,但从你的描述里面,更多感受到你明显是对人不对事,不是就事论事的心态。
    CaptainD
        98
    CaptainD  
       2023-11-21 11:20:26 +08:00
    @ahhtree #1 这个解决方案明显是他的更好,你们两人小队,最重要的是开发维护过程要简单,你引入了多线程还把计算函数放到代码里,复杂度提高了很多,既然能用成熟方案为何要自己造轮子,而且说句实话你别介意,大概率你们自己造的轮子各方面(稳定性易用性可维护性)都不如成熟方案
    katsusan
        99
    katsusan  
       2023-11-21 11:21:01 +08:00 via iPhone
    @koloonps 问题是 lz 前端选手,后端上了 redis 也写不到他简历上吧😂
    dedemao
        100
    dedemao  
       2023-11-21 11:26:03 +08:00
    OP 想把工作做好,对待工作认真负责的态度还是值得肯定的。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2879 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 14:54 · PVG 22:54 · LAX 06:54 · JFK 09:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.