2022-09-23

19 篇热帖

1. 像我前女友这样的是不是现在女生的常态?

lz 大概半年前分手的,确实受了很大的伤然后中间也接受不了新人,对找对象失去了信心,情绪也不大稳定,借此问下各位这样的女生是不是大家正常女朋友的样子,还是说我作为一名不大社交的程序员,对于现在妹子的品性缺乏了解。我自己总共谈过两次,第一次渣女,不提了。第二次这次性格两个人其实相处挺开心的,总共在一起一年吧,然后分手主要是对方一些事情让我觉得双标,实在接受不了。把这些事情说出来其实也是想发下牢骚,可能也会被网友吐槽或者讽刺吧,但是我也尽量平常心去面对了,毕竟这半年过的真的挺难受的。

  1. 我买房子的时候大部分首付是我出的,妹纸对此不开心,说我爸妈对我不好,首付就出这一点,要是她一定会和爸妈吵架。我爸妈先前准备卖掉一套房子给我的,但是后来没卖掉,手上的现金两年前买了一套房子老了住,因为地段好点,买之前也问过我的。这些我都和妹纸说了,但是她说了好几次我爸妈坏话,然后那段时间也弄得我觉得爸妈对我不好。后来有天她说,我的钱不拿去付首付她就可以拿去花了。

  2. 我房子离妹子工作地点开车 40 几分钟吧。她觉得远了,刚开始商量说,婚前两家出钱再买一套,我问,那写谁的名字,她笑了笑说她一个人。我问,那反过来你爸妈愿意?她说不愿意,然后她说,那婚后买的话两家一起出钱我的房子卖掉把两家一起买的房子的贷款还了。当时我就觉得她有点自私了。后来她就不停叫我和爸妈说他们名下的一套便宜点卖掉之类的话。

  3. 我自己做项目,具体就不说了。有段时间比较难,因为美金打回国那个卡还没寄到,我每个月又要付个 1w 的服务器费用。手上就十几万了,还有每月两万的房贷(不过我收入还行,家里条件也还行,所以我知道自己肯定可以面对)。我给妹纸看了银行卡余额,但妹纸还是让我给她买个奢侈品 1w 多,说得证明下感情。我说现在真的比较困难。她叫我买,没钱了问爸妈要之类的。那段时间可以是我的低谷期了,面对工作压力,她还不停叫我买这个,还说娶她 60w 彩礼。反正压力爆炸。最让我伤心的是我生日她买了个 300 的电动牙刷,其实我觉得挺好的。但是后来有天说起来,她说她那时候只能买这么多因为手上就 1.5w ,不可能买个 1k 的。我当时就很郁闷问她,那为什么我手上十几万还压力这么多你觉得可以买个 1w 多的奢侈品。她笑笑就不说话了。

  4. 上面那些事情后,妹子坚持要我花钱证明。刚开始每个月 1k 吧,护肤品。后来每个月递增,2k 的丝绸睡衣,3k 的衣服。到了年初,又提了那个 1w 多的手链。我实在受不了就提了分手。她叫我买了再分手,不然就来我家敲门。这里大家别骂我,我买了。

  5. 本以为我买了后就结束了。妹纸又来缠着我说不能就这么结束,她不想这么放弃。她是老师,过完寒假又来找我。我说你去找新的男朋友吧,她给我看截图说有个男的在找她聊天什么的,她已经在接触了。我说那你来找我干嘛,她叫我再陪她一会。然后说什么同时给她介绍达摩院的程序员,她拒绝了。那我以为她真的就是让我再陪她一段时间。然后有天她说什么要是她找到新的男朋友就不能像现在这样陪着玩了。我心里顿觉不对,但是实在不敢问她是不是真的在找对象。后来有天,聊天的时候她说叫我买这么多的东西是为了分手她不至于啥都没有。我整人都懵了,就爆发了很激烈的争吵,那之后就断了联系。

  6. 上面之后三个月,我把她送的一些小东西都扔了。因为她给我买过几件衬衫,几百块的海澜之家的那种,还有几件外套,总共 2k 吧估计。那天我哭了很久,就和她说了。聊天中她说有了男朋友,而且感觉在一起有段时间的那种。并承认了最后那段时间和我在一起的时候已经接触新人了,我整个人抑郁了。甚至之后有次,她男朋友在上班她说工作累,想找人倾诉下还打电话给我。我后来才意识到她男朋友没空,所以她找我来聊天。我太懦弱了,她找我倾诉说压力大我根本没办法拒绝,而且她还说什么她男朋友不会介意的。哎,后来越想越难受。

写了这么多,我也不知道自己放没放下。主要一个是和她平时一起出去玩还挺开心,她脾气除了这些事情外还好,不容易生气,也相对情绪稳定不会忽冷忽热。然后长得确实也还行,但是在一起也是很有共同话题水到渠成的。我最近相亲遇到的妹纸,基本上没遇到聊的起来,或者情商高的让我觉得舒服的。所以可能多少有点怀念吧。例如有时候我写代码累了她还会给我按下太阳穴之类的小事,挺甜蜜的。

我不知道现在的妹子究竟是怎样的,还是说就是男生就该像她说的那样子无私付出?这次以后,我觉得可能我会变得认为男生这样花钱,接受她的任性,例如卖房子这些事情是正常的?可能那种愿意付出,各方面又满足我要求的妹纸不存在吧,哎。

2. 我是如何失去团队掌控的?(转)

我是一个不合格的技术总监,在过去的快三个月里。我带着从 40 多个人的研发团队(包含需求、开发、测试)里抽调出 20 多个人去为公司开疆拓土。在这快三个月中,我们一起奋战奋斗拼搏。在过程中,我通宵时间超过半个月,干到凌晨 4/5 点的日子数不胜数,干到凌晨 1/2 点日子更是习以为常。整个团队绝大多数人近乎两个月没有周末,辛苦异常,是实实在在的高峰体验。但是三个月后,我带着失败和一身的惨痛教训回到公司。

我在这次的经历中感受到了我是怎么失去团队掌控力的。我所谓的团队掌控,不是说兄弟们不听安排,不按计划行事。而是我对整个开发团队、测试团队、需求团队都有了新的认识,重新认识了团队,重新认识了这二十多个人。因为对个人和团队的能力判断误差和对项目难度的判断失误,导致了这次惨痛的教训。

我把我所面临的的困境和遇到的问题分享给大家,也将把我所做的决策分享给大家,并把我所意识到的错误分享给大家。希望能给每个面临此种局面的同行进行提醒。


项目和团队背景

  1. 共计三个月内有四个项目,没有正式的项目经理,只有三个实习项目经理
  2. 三个实习项目经理中,一个带过一个小型持续性项目(前后端共 3 人)接近一年;一个带过小项目( 4 人)一个月;一个带过两个中小项目( 7 人),共计半年时间
  3. 开发同事都相对年轻,工作年限最长的也就三年。朝气蓬勃但的确经验不足
  4. 团队中老同事新同事各占一半吧,超过半数的同事来公司不到一年
  5. 四个项目都基于同一个客户提供基础版本(或者说框架)进行开发
  6. 客户方使用的基础框架过于老旧,十多年前的前后端框架,前端使用技术特别偏门,学习成本巨大
  7. 框架混乱不堪,表就有快 2000 张,说是框架但杂含着各种各样的业务代码,且又必须使用
  8. 开发调试的环境配置困难,项目必须跑在 linux 上,只能远程调试。项目由于过大,启动缓慢,编译一次大概 10 多分钟。我们团队不熟悉此种模式,摸索浪费了一段时间
  9. 客户公司较大,研发部门较多。开发过程中部门协调工作占比超过一半,需要和各种各样的设备做对接,都是别的部门开发的。部门之间互相踢皮球,找人协助困难

错误一:高估团队水平

  1. 自以为很了解同事,其实了解的太片面。在过去一年中,由于做的项目比较稳定。持续产出在可控范围内,客户也比较认可。导致我产生了觉得我们团队还不错的错觉
  2. 整个团队在面对全新环境的情况下,适应能力偏弱。难以快速稳定的产出,项目开始了两个星期,基本都处于熟悉环境、熟悉项目的状态,一直没有有效产出。导致时间被浪费
  3. 比如某 A 刚入职 3 个多月,在其他项目中,项目负责人给出的评价还不错,导致我把他放在了重要的开发位置上。但项目一开始,我就发现某 A 技术水平差的有点厉害,多表联查的 sql 都写不溜。此时已无人可替他,只能我上去协助他 比如某 B 一年多来,带的项目一直稳定未出大问题。但到了新项目中,理解能力较弱无法快速全面理解需求。同时也暴露出了某 B 没有风险意识的致命缺陷,不能识别风险,识别出了风险也不反馈不作为,导致项目多次跳票

反思:

  1. 考核很重要,全面的考核反馈更重要
    • 在人员和团队方面,产生最要命的问题,我想就是考核机制的问题了。由于种种原因,对同事的了解都太片面。在用人方面把人放错了位置。狙击手放到了主攻手的位置上,主攻手放到了指挥员的位置上。这样战斗不失败才怪呢
    • 站在一个较高的位置,很容易对下面同事的能力判断失误。就我认为,在人数不多的情况下,最好的了解大家的方式,是一起战斗。在一场战斗里,观察每个人每天的态度表现、效率产出、代码质量、协调能力、对外沟通能力等。经过一个项目下来,就能对这个项目组中的成员有个较全面的了解。但这种方式不能只是站在项目外看,而要和大家一起就同一个项目开展工作
    • 从多方去了解一个人,不只听某一人之言。对如上的某 A 来说,就是因为只听了一人之言产生了较大的误判(某 A 在另一个项目中,只做了导出功能,未接触数据库)
  2. 不用静止的眼光看人,人都是在不断变化的
    • 人都是在不断变化的,而我用了以往的经验去评判大家。有的高估了,有的低估了。没有把最合适的人安排给最合适的项目
    • 不应把过去的错误或者功能记在今天的账上,要持续的跟进大家的变化,持续的保持对大家的新认识。不以固有的眼光看人
    • 也应通过积极的引导,帮助同事改掉自己的不足。而不是听之任之,由其自生自灭。只有这样,团队才能进步,这也是一个 leader 最应该做好的事情,我在这方面差的还太远
  3. 因事定人不可取
    • 某 D 之前由于某次技术预研的工作,让我认定他一般。但在这次的项目中,他却成了最稳定输出的一环
    • 由此可见,不能因为某人一时做的好或者不好,就给这个人定了型,先入为主的下定论。要客观的评价一下个人,需要了解他的全部历史和全部工作。也就是第一条说的,要有全面的考核反馈机制

错误二:低估项目难度

  1. 项目共计 4 个,每个项目(只支持 IE )都需要和额外的客户自研中间件、插件( ActiveX )、多种硬件设备对接。此前未做过和硬件对接的设备,低估了对接的难度
  2. 中间件、插件、硬件设备的对接我万万没想到,什么文档都没有。只能去搜历史代码学习测试,或者到相关部门去问问。而此前沟通过程中,我心中默认对接是有文档或专人指导的,没有问清楚
  3. 前端使用框架( 2006 年的框架和版本)过于老旧,由于对前端了解不足,错误的估计了学习曲线,团队前端同事开发前期非常吃力,进度在这块也拖延了一大段
  4. 跨部门沟通的难度远超我的想象,此前沟通过程中,明确好跨部门沟通有专人负责,但到了实际工作中,都变成了我们自己去对接。各个部门互相踢皮球,一个摄像头到底是什么型号的问题(测试需要特定型号的摄像头,对接人不清楚借来的是什么型号),我能花 3 个小时跑遍五层楼才得到答案。更不用说代码层面的指导了
  5. 没有了解到客户方框架的真实情况,心中以为是在 spring 上封装的脚手架。没想到框架中包含了快 2000 张表,数百万的历史代码。光用户模块就有不同的三套(该框架会在各个定制的基础上,定期的把定制内容合到框架主干上,导致了各种没有用的历史遗留代码),找想要使用的功能搜索难度大增

反思:

  1. 经验很重要,但经验也很致命
    • 在此次前期沟通中,很多我以为,我认为都是经验主义所害。比如对接文档的问题,多问一句,可能情况就很不一样
    • 经验也可能成为风险之一,需要警惕
  2. 想法设法获取更多信息
    • 四个项目的对接人了解的信息都不全面,到我这的信息就缺失更多,而我当时以为这就是全部的情况。信息的缺失是会让判断失去方向
    • 在现有信息中,要去挖掘出更多的问题和信息,并找对接人确认。越多的信息越能为判断提供更准确的方向
    • 对接人也不清晰的情况,需要推动对接人去找相应人员获取,得到相对准确和完善的信息
  3. 锁定项目核心重难点
    • 在这几个项目中,有的项目没有在一开始就抓住项目核心重难点。比如甲项目中核心功能是存储,且需要使用客户自研存储设备,项目初期未锁定该重点问题,导致后期项目核心功能全部返工
    • 一般采取排除法来锁定核心重难点。把所有的页面可见功能点和隐含功能点列上,以排除法排除独立的关联少的模块。留下的就是重难点的核心要素
    • 针对每个核心要素搞清楚联系关系,得到最终的功能关系图(业务架构图)

错误三:战术错误,同时面对过多的项目

  1. 回过头来看,人手不足的情况同时接了过多的项目是错误的。但这的确是一个两难的问题,不能简单的用错或者对来概述
  2. 接或者不接,这本就是一个博弈的过程。综合分析项目是否确定会交由我们来做,再分析是否有能力完成,考虑清楚后再下结论

反思:

  1. 项目中总是会面临资源不足的情况,永远不要想着项目中拥有最适合的资源、人员。毕竟最适合的人员不可能一直等着你的项目
  2. 带项目就像打牌,一手好牌做好了项目是应该。而一手烂牌打赢了才是你的能力

错误四:管理不是轻松的事

  1. 最后一个错误,是在项目无人可带的时候,迫不得已我去带了项目。陷入了某个项目的具体细节后,没有了统一对所有项目进行管理协调的人
  2. 管理是很耗费精力的,需要专人专职的去处理。管理者一大职责就是沟通协调,尤其在这种需要强沟通的项目中
  3. 一旦陷入了具体的某个项目中,就很难有精力去维持其他项目了
  4. 授权很重要,但检查更重要。交付出去的工作,要定期检查,保证交付物是完成的、完整的、不返工的

我所吸取的教训总结

  1. 建立更全面的考核反馈体系对认识团队至关重要
  2. 不要局限于经验,沟通胜于一切
  3. 反思每一次战术失误,保证下一次的精确打击
  4. 专人专事,专职管理的人,就不要陷入开发细节中,一旦大量精力投入了开发。这将是致命的风险
3. 不结婚不生娃不买房是不是可以免除 99%的烦恼

rt ,不为时代接盘,提前日韩化,国内是否有这种趋势?

4. AirPods Pro2 初体验
早上一觉醒来看了眼快递信息,耳机已经到邮政快递点了,然后起床去了一趟快递点拿了耳机,路上刚好是早高峰时间,车辆多,施工地段也开始了一天的施工作业,所以正好给了我一个不错的测试环境。
1/降噪效果来看,跟一代初代版本固件效果差不多,可能比一代还要好那么一点。自适应通透这块的话,我在路上骑车的时候手表提示我外界噪音音量过大(当时记得是 91 ),但是我的耳朵里噪音感觉是正常接受水平,不会感觉很吵的那种。
2/路上测试的歌曲是杜比全景声版本的 bad guy-billie eilish 跟 pink venom-black pink 以及无损版本的 get lucky-daft punk ,杜比的声场效果比一代好很多,一代给我的感觉是有些歌曲声场效果处理得很好,有些歌曲处理得比较粗糙。
3/现阶段固件还没支持无损,但是我昨天跟我朋友讨论之后发现最新的 14 系列才支持 Le audio 的那个蓝牙 5.2……所以我不知道我的 11 会不会被支持进去,如果没法支持那只能等明年换了 15 再议无损的事儿了。。
5. 车型:汉 dmi、A4L、CT5、雅阁选择建议
概述:落地 30w 以内。现在看中的几款分别是汉 dmi 尊享,A4L 豪华,CT5 尊贵,雅阁混动顶配。四款落地价差最大不超过 5w 。均在 24+到 29+区间内。
各车型吸引点:
1 )汉 dmi:喜欢外形与内饰,试驾静谧性非常好。
2 ) A4L:做工确实不错,豪华车的底子确实还是有的。
3 ) CT5:驾驶者之车,外观也真的帅(有点蹿)。
4 )雅阁:销量扛把子,各方面都中规中矩吧,没亮点也没毛病。
背景:两口之家,一两年内不打算有小孩。不限牌,没有安装私桩条件,但是所在城市充电还算便捷(汉 dmi 所需条件)。
需求:有开过以上一辆或者多辆车型的 V 友,或者经历过类似心路历程 V 友,麻烦结合日常使用感受,提供下宝贵的选车意见和建议。
6. 如果人生是网游,重开一局你们会选什么性别?
A:男性,附带出生技能点 => 肌肉加成。(好像对码农职业没太大用,都是电脑办公)

B:女性,附带出生技能点 => 性别优势,在 25 岁之前,任性都是可以被大家原谅的。对于年轻男性杀伤力极大,在 25 岁后效果递减,在 45 岁技能点彻底消失。
7. Web 会取代操作系统吗?

现在 web 的功能越来越强大了,在很久之前还需要视频播放器、音频播放器、PDF 阅读器等等...

现代浏览器都能解决这些问题。

紧跟着 WebGPU 的发展,感觉 Web 能做的事情越来越多,之前许多需要安装的应用现在在我眼里看来完全没必要。

大家怎么看待未来 Web 是否会取代操作系统?

8. 迷茫,是否离开上海,回济南,求交流

毕业后留上海至今 9 年,夫妻都在国企,收入一般,有上海户口+两套房产(郊区商品房+学区老破小),月供 1w 左右,父母不愿在上海带孩子,想让回济南,理由是在上海无亲戚朋友、工作加班多不利于身体健康,居住条件一般(以后上小学要住学区房)、不好要二胎等;老婆已拿到济南的 offer (国企,税前 20w ),本人在找工作中,回济南亲戚较多、能买大面积学区房,但总有种逃兵的感觉,且回济南涉及新工作、户口迁移、转学、卖房、买房等诸多未知,迷茫!

9. 2022 年了,阻碍我离开 iPhone 的原因竟然是 CarPlay
因为搞了一个流量卡,所以想整一个双卡双待的手机,可是我本人受不了 PWM 所以只能用 SE3

看到小米的 Note11T 是 LCD 的屏幕,也是 DC 调光,想入手

结果突然想起来,换了安卓,我开车就用不了 CarPlay 了

没想到 iPhone 留住我的功能不是 AppStore 什么的,而是平时最不起眼的 CarPlay
10. 羊了个羊只要发请求就可以通关,如何在设计层面避免这种情况

羊了个羊之前只要抓包拿到 token ,然后向他的服务器发一个 get 请求,就算通关了

所以好多人刷了 99999+次

如何在设计层面去防止这样的情况

11. 如何提高 Python 数组操作性能.
最近正在写一个小系统. 涉及到把 CT 影像转换成 PNG.
CT 影像不是不是标准通用格式, 所以需要从读取 bytes 再转成数组..
这个过程中需要两次处理数组数据, 但是性能很慢..有相关经验的朋友可以给点建议嘛?
以下是详述:

我读出来的 bytes 数据处理成 uint8 后. 是这样的形式:
[208, 4, 208, 4, 208, 4...196, 8]
不懂图像处理的知识, 我的理解就是, 一个灰度, 一个 Alpha 通道值(透明值?).
第一次处理数组是要把上面的数组, 改成如下形式: <- 暂且叫 生成数组阶段.
[208, 208, 208, 4, 208, 208, 208, 4.......]
就是把 208 这个灰度值变成 rgb 的形式.
然后再通过一个循环变成 pillow 支持的格式, 如下: <- 暂且叫 数组转换阶段吧.
[
[ [r, g, b, a], [r, g, b, a], [r, g, b, a], ],
[ [r, g, b, a], [r, g, b, a], [r, g, b, a], ],
[ [r, g, b, a], [r, g, b, a], [r, g, b, a], ],
]

然后这个数组要通过 numpy 转换成 uint8 类型才能提交给 pillow 或者类似图片处理的库..

所以大致耗时分为三个阶段:
1. 生成数组
2. 转换数组
3. 通过 numpy 转换数组类型为 uint8.

数组大小为: 5022 * 4200 * 4 = 84,369,600

环境 A 介绍:
Win10, 10900K, 64GB 3600, NVME 2TB SSD
Python 3.10.4, pillow 最新版
阶段一耗时: 9 秒左右
阶段二耗时: 45 秒左右
阶段三耗时: 5 秒左右

觉得太慢, 尝试全部改成 numpy 操作.
但是阶段二慢的出奇, 后来查资料发现, numpy 在大量数组下标赋值操作的性能还不如 Python 原生 list.
阶段二, 上厕所, 洗把脸回来还没跑完, 就直接放弃了. 也尝试过 np.insert 操作, 一样慢.

后来尝试环境 B, 基于 pypy 的.
pypy3.8, numpy, pillow, 同样的硬件.
第一阶段耗时: 0.2 秒
第二阶段耗时: 9.7 秒
第三阶段耗时: 77 秒
查阅资料得知, pypy 的 C 扩展接口性能很差, 不如原生 python.
而 Numpy 就是 C 扩展的库..所以导致 Numpy 性能急剧下降.

好了..剩下的办法超出我的知识范畴了..
有朋友能分享一下经验或者给个可能的方向我去看也行.

需要转换的数据量大约有 23 万个 CT 文件. 按照一个文件 1 分钟, 我即便 4 个进程跑(文件转换的服务器 4 核 8GB 内存, 还要跑一些其他服务.), 5 万分钟 / 60 分钟 / 24 小时 一点意外没有的情况要跑 42 天...

顺便吐槽以下, 朋友给写了个 nodejs 的版本, 转换一个图 2.3 秒, WTF!!
12. 2000 元左右推荐哪款手机
如题 没有刷机需求 能用 google 套装 NFC
13. 请教下 Java 热替换代码的技术
场景:把接收处理数据的类 源码放在 web 后台页面中在线编辑,编辑完这个类直接提交到 redis 中。然后线上服务就替换了这部分代码,不需要打包发布实现了更新服务。
请问这是什么技术,什么关键字可以查询,有没有现成的 demo 可以学习下。感谢!
14. 分享一个自己写的打字网站,平时摸鱼玩。

请戳

www.eletypes.com

github 地址: https://github.com/gamer-ai/eletype-frontend

本来是自己写着玩,模仿 monkeytype 的打字规则写的,后来开始有人用了以后就陆续写了些新的小玩意儿。

下班偶尔写一写想到啥就往里加,代码质量相当的随意。

欢迎大家摸鱼时玩玩,更欢迎提 Issue ,fork ,star ,contribute !

因为收获些老铁每天开始用了,有动力维护了!准备开始好好清理清理代码,可能过段时间后端会上线,还有些别的新功能在路上。

希望大家玩的愉快。

15. 130 平的房子,软硬装下来, 20 个能搞定不
130 平的毛坯房,软硬装加一起下来,20 个能搞定不,坐标郑州。
首套房,纯小白,是住小帮还是咋弄。。。好贵呀装个修。。
16. 自问自答,为什么用苹果?

用苹果(手机和电脑)的主要原因其实很简单。 摄像牛逼?抱歉,我就扫码 音效最好?抱歉,我用耳机 互传方便?抱歉,偶尔用一次 屏幕素质?抱歉,其实只要分辨率差不多,什么色差啊我看不出,至少对我个人来说不那么重要

用苹果的唯一原因仅仅是它对应用的规范。 如果 windows 的应用都和在苹果上一样安安静静,我不会用 mac 如果安卓的应用和苹果上一样老老实实,我也不会用 iphone 这是一个比烂的时代,仅此而已。

17. 这两天早上 14pro 大量补货啊,可惜没有 max

今早随手就抢到 pro 线下取货了,可是我要 max 啊。

18. 发现美国人来我国旅游不能用我国 SIM 卡的场景实际不成立.

人还得用 FB 啥的和自己人交流, 不可能用我朝 SIM 卡享受🧱. 也不可能特意买个🚀并学习用法.

要么直接原套餐漫游, 要么弄个香港套餐.

19. 为什么新电脑第一次安装的 Windows 11 自动激活了
自组的 PC ,配件都是新买的,用微软官方的工具制作的 U 盘镜像,安装好 Windows 11 的时候发现系统状态是已激活,这是什么原因呢?
如图: https://imgur.com/a/JYLa6jD