Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.
Get Feederplink.anyfeeder.com
Get the latest updates from 架构师之路 directly as they happen.
Follow now 56 followers
Last updated about 14 hours ago
about 22 hours ago
70天短视频行动营,二期如约而至。首周结束,大部分学员,第一条内容都被平台推荐了。真的,动起手来,没想象的这么难。【1】央企,程序员,AI思考这是我的第一条短视频,欢迎关注+互动。【2】中年,程序员,碎碎念这是我的第一条短视频,欢迎关注+互动。【3】DataFun,数据智能技术传播与普及这是我的第一条口播,欢迎关注+互动。画外音:优秀作品太多,后续会持续分享。个人品牌,第二曲线,其不难。就像学员所说:动手,就超过了99%的人...勇敢的人,先享受世界...一期复盘:《复盘来了,4周,人均41W+》阅读原文,预订三期。 阅读原文 文章原文
2 days ago
'有小伙伴问我说,做了几十年工程师,心态和20年前入行相比,有没有什么变化?有没有更加成熟? 40多的技术人了哈,随便说几句,大家看我说的对不对哈。 最开始的时候,我认为技术无所不能,认为自己学的技术就是最好的技术,这其实是一种“输不起”的心态。其实,如果不是技术驱动的公司,技术的价值是通过业务的价值,产品的价值,需求的价值去体现的。如果业务做不好,用户量数据量上不去,架构没这么复杂,大部分时候,也是在增删改查。也就是说,编程没想象中那样高大上,也就是谋生的一种手段。 还有,刚入行的时候,很多很酷的技术想去学习,并且想学以致用,立刻上到线上去,觉得很厉害。但真的当了CTO才知道,不要乱堆砌所谓的新技术,优先选用经过多年考验的成熟技术,程序员为自己的履历负责,不为公司的技术体系负责。员工搞了一个新技术,垮了,拍拍屁股走了,烂摊子还得我们来收拾,面向履历的架构设计特别坑人。 另外哈,我是个I人,最早选择程序员行业,以为程序员不用和人打交道。但多年以后,我认为职场发展,除了个人努力是基础。人际关系在哪里都重要,靠谱的老板,靠谱的产品,靠谱的同事,真的都非常重要。没有哪里真正不需要处理人际关系,如果真碰到了不用处理人际关系的“理想"环境,这种环境中的自己一般是可以随时被代替的螺丝钉。 接着哈,是关于副业和变现哈。一定要提前考虑,收入的高可用,为什么先在很多人焦虑,不就是除了工资,现金流收入没有实现高可用吗。要提前思考,怎么做产品,怎么变现自己的技术,技术不能当饭吃,生活还得靠技术变现得来的钱。很多人,经历一次减员,才意识到这一点,才从幼稚到成熟,这个就太晚了。 最后一点哈,多年以后才想通的哈,家庭比工作重要,身体比挣钱重要。一定要爱护身体,不要32岁就... 哎... 希望大家比我醒悟得更早一些,共勉!' 文章原文
3 days ago
《架构师之路:架构设计中的100个知识点》116.幂等性单库,多个数据要同时操作,如何保证数据的完整性,以及一致性?答:事务。举个栗子:用户下了一个订单,需要修改余额表,订单表,流水表,于是会有类似的伪代码:start transaction; CURD table t_account; any Exception rollback; CURD table t_order; any...
4 days ago
复制、粘贴、微调、运行…这或许是外界对程序员工作最深的误解,也是不少新入行朋友最大的困惑。当我们发现解决难题的“神奇代码”往往来自搜索引擎或开源项目时,一个扎心的问题便产生了:如果核心是“抄”,那程序员凭啥拿着令人羡慕的高薪? 主题:如何看待程序员抄代码还拿着高薪这一现象?https://www.zhihu.com/question/564514321【回答1】很早以前流传了一个段子。程序员的工资构成:会复制粘贴值1块,知道去哪复制值5K,知道粘贴在哪值5K,粘贴完了能跑起来值10K。【回答2】我不懂程序员,但是我懂你的意思,我们工作中每天都会遇到你这样的问题,保安不就是站着不动吗?保洁不就是扫扫地吗?老师不就是把前辈的备课拿过来读一遍吗?厨师不就照着菜谱来一遍吗?行啊,你看上哪个职业你去干不就行了,反正我觉得我干不了程序员的工作,但愿你能。【回答3】以前面试过一个公司,老板是美国回来的,面试时介绍说是做数据处理公司,聊下来印象很好。后面叫了一个项目经理来,他看上去热情不高。老板拉着硬聊,到后面老板离开一会儿,此人和我说,你要想来我们公司,你需要知道一件事,公司不允许上外网。老板回来后我就找了个理由离开了,你不让我复制,我不给你干活。【回答4】你可以把允许抄的编程叫开卷考试,不能抄的叫闭卷。众所周知,开卷考试出题难度往往大于闭卷。写论文用到的资料与知识都是公开的,但有人觉得写论文简单吗?其实程序员抄程序是个伪命题,这就好比说作家可以从字典上抄字词句一样,字典都是开放、公开的,这就不叫写作了?事实上,现代编程的难度已经达到了就算开卷考试,很多人还得考零分的程度。你以为那些大厂为什么要给程序员开高薪吗?就因为开卷给你抄,也招不来那么多会抄的程序员。【回答5】其实吧,很多时候,你觉得很简单的事情,并不简单。 就拿程序员抄代码这件事情来说吧,你觉得抄代码,你也行。你要实现某个功能,然后你去翻阅了搜索引擎,结果,抄过来一段代码,你发现,各种报错?(假设你已经会了怎么启动怎么编译代码)不知道原因,然后继续查询,搜索引擎告诉不了你什么,然后被某个群里的哥们给指明了原因,你的项目是Java的,结果你抄了一段Python的代码,你在搜索引擎前面加上Java的前缀,一并搜索。一顿搜索之后,你的代码终于能跑起来了,结果发现,这玩意不行啊,结果跟预期不对。于是你开始测试这个方法传入的每种可能的存在的极限情况,发现,当前你正好遇到一种极限的情况,这个复制的方法正好没有考虑到,于是,你又去搜索解决方案(假设你知道该怎么调试了) 搜到了解决方案,成功的解决了这个极值。但是你遇到了更棘手的问题,跑了一会,你的接口应用很卡。 然后你去搜索引擎搜索,要怎么解决卡。然后搜索引擎告诉你,要使用高深的算法,于是你吭哧吭哧去学了,去优化了,发现有效果,但是效果不大。于是,搜索引擎又告诉你,去用多线程。 好,你再吭哧吭哧去复制黏贴多线程的代码,修改一波,好了,效果不错。没几天,发现,蹦了,怎么回事?访问量太大了,数据库承受不住。 搜索引擎又告诉你加缓存、加消息队列,你又按着搜索引擎的教程搞。成了,终于你能舒口气了。然后接着几天,发现你的应用太好了,太多人访问了,又蹦了。怎么办?还是搜索引擎,搜索引擎继续告诉你,使用负载均衡、微服务架构,分库分表。这些名词,可能大家有些很熟悉,有些则是极度陌生。但是却是支撑起我们业务的支柱。你可以说我们抄代码,那是因为我们有无数的开源先辈们趟过路,记录了下来,有丰富的资料可查,有丰富的经验可以寻找。所以我们解决问题的时候,都可以从底层的单体应用,一步步的能做到某宝双十一支撑起几百亿交易规模的程度。“抄,是因为站在了先辈们的肩膀上”,至于高薪,其实我想说一句,你行你上。我把程序员能拿到高薪的成长路径都写在上面的,你只要学会了,也能高薪,没什么密码。但你显然没学会,物以稀为贵,这句话从来都没错过。==全文完==周六直播:2026年适合技术人的机会?欢迎预约。 阅读原文 文章原文
5 days ago
《数据库架构100讲》12. InnoDB主键与唯一索引约束今天聊聊MySQL的主键与唯一索引约束:PRIMARY KEY and UNIQUE Index Constraints文章不长,保证有收获。什么时候会触发主键与唯一索引约束检查?1. insert;2. update;当检测到违反约束时,不同存储引擎的处理动作一样吗?不一样。case1:如果存储引擎支持事务,SQL会自动回滚。例子:create table t1 (id...
6 days ago
'有不少朋友想做短视频,问我意见,“沈老师,你觉得我究竟适不适合做短视频?” 问我这个问题的朋友,他们的特点是:都还没起步。还没开始拍几条视频,就开始担心做不做得成,有没有收入,适不适合等等问题。 我通常会回复,拍两条就知道了。 我也曾经是这样。 我适不适合写代码? 我适不适合做架构? 我适不适合带团队? 其实,这些答案我不应该问别人,自己试一试就知道了。 拍短视频,如同敲代码一样,其实自己做一段时间就会有答案。 对我而言,看到自己做出的东西能有种正向激励,自己能提高,大伙有收获,个人品牌力有加强,所以就一直做下去了。写代码,做架构,带团队,写文章,拍短视频,都类似... 元认知,和自己对话,面对一个事情,我为什么会对自己提出这一类问题? 我的内心回应:给自己找不开始找理由,本身是一种自我保护。毕竟,只要不开始,就不用学习,就不用行动,就不会失败,就不会是自己的问题,对吧?我果然就是这么想的。...
7 days ago
'年底晋升与涨薪,对于职场人来说,非常重要。 前段时间问卷的调研,有一些问题大家问得很多: 1. 评定标准透明吗? 2. 评审流程公平公正吗? 3. 有晋升名额与预算限制吗? 4. 绩效评估与晋升的关联吗? 5. 对未晋升者有反馈与发展计划吗?...
8 days ago
程序员的世界,从来都是用数据说话、以逻辑决策。面对电车这一出行选项,我们抛开情怀与跟风,只算能耗账、看技术参数、评智能体验、测续航实感。从电池性能到车机交互,从使用成本到维保逻辑,每一个选择背后,都是一次理性的利弊权衡。主题:作为程序员你们接受电车吗?https://www.zhihu.com/question/1961214179135431859【回答1】销量大的就可以啊,几亿人替我测试过了,难道那么巧第一个出问题的就是我?你是一点都不懂程序员,什么有没有bug,没测出来就叫没有bug,知道吗?【回答2】35岁以下的程序员,搞技术的,不太相信智驾35岁以上的。明白“代码能用就行了,业务场景更重要”这个道理后,对电动车的支持反而是最高的一批人。【回答3】大哥,到底是什么让你有了油车里面没有车载系统的认知啊?你就算没开过车也知道有个东西叫ECU,油车也有个小电瓶吧,你不会觉得ABS、ESP、安全气囊是一堆机械结构,碰到东西,把压缩空气罐的塞子一拔砰的一下吧?你不会真的以为方向盘就是一根杆子捅下去下面一个齿轮,油门就是一根线拉着进气门,刹车就是自行车的刹车线,你一踩就直接拉动刹车卡钳吧?【回答4】这个东西炸不炸就是看运气,不管怎么努力设计加多少软件/硬件/结构防护,它天生还是会爆炸的体质。这么大能量密度,追求绝对安全就是无解的,汽油柴油也同样不安全,区别就是坐在“炸弹上”,还是坐在“火炉”上。不在乎钱和面子的话,还是油车吧,有事儿了逃生时间长点。电影里那些一边看火蔓延,一边割开安全带,摔下来头晕目眩,再挣扎起来往外爬,然后卡车门上用力往外挤,爬出来了再从另一边敲碎窗子救乘客,这种紧张感只有油车能提供,电车的话,电影得用慢动作特技才能体现主角的超人反应。【回答5】汽车的电子系统基本分为两大块,车机座舱的娱乐系统和车身驱动的行车系统。前者更接近于大众概念中的软件开发,灵活性高。坏消息是,这东西BUG会很多,好消息是BUG再多最差情况也就是车机死机重启。而大众认知中的控制车子行驶、操控、主被动安全的部分,属于行车系统,这玩意儿属于实时系统,跟上面说的车机系统天然隔离,这块的开发也十分慎重,远不是什么车机系统能比的。对于“有多大的信心能保证系统一直稳定运行不出bug”的问题,上面我提到了,跟安全相关程度低的部分随意出BUG,危险可控;与安全相关的部分,审慎开发、大量测试,尽量全面覆盖用户环境即可,这也是很多传统厂商的优势所在,毕竟数十年的积累并非一朝一夕就能超过。另外我看特意提到电车,想必是认为油车就不会有相关问题。然而即使是油车,也会被分割成上面提到的两个大系统,而且落后的车机系统反而会因为用户少出现更多的兼容性、稳定性问题。而至于行驶系统,现代民用车上有大量的ESP/ESC(电子稳定程序/电子稳定控制系统)、ABS(刹车防抱死)、TCS/ASR(牵引力控制系统、驱动访华系统)等电子控制的系统,都是和安全至关重要而且视车型、供应商不同都需要重新设计的。甚至即使是简单的踩油门和刹车,发动机供油量、刹车助力的大小也都是电子计算产生的,而不是单纯的机械控制。也就是说,仅针对电子系统而言,电车和油车的安全性并没有本质性的差距,更多的是因为电车突破更多而验证相对不足的客观差距,这些差距显然会随着电车越卖越多行驶时间越来越久而得到解决。甚至于,电车的一些天然优势更能抵消上面带来的劣势,电驱动会有更精细的输出调整,例如BYD等厂商提供的各种爆胎稳定功能、更好的麋鹿测试成绩都说明电车会提供过去油车可望而不可及的主动安全水平。==全文完==周末直播:年底究竟如何晋升涨薪?欢迎预约。 阅读原文 文章原文
9 days ago
《数据库架构100讲》11. InnoDB死锁调试近期写了不少InnoDB锁相关的文章,不少小伙伴问,如何在MySQL终端模拟并发事务,今天,咱们一起动起手来,模拟并发事务的互斥与死锁。 【事前准备】1. 安装MySQL服务端;2. 安装MySQL客户端;3. 安装能够模拟多个并发事务的终端;画外音:楼主使用的是MySQL5.6,官方客户端mysql,模拟并发终端用的SecureCRT。【配置的确认与修改】要测试InnoDB的锁互斥,以及死锁,有几个配置务必要提前确认:1. 区间锁是否关闭;2. 事务自动提交(auto commit)是否关闭;3. 事务的隔离级别(isolation level);这几个参数,会影响实验结果。间隙锁是否关闭区间锁(间隙锁,临键锁)是InnoDB特有施加在索引记录区间的锁,MySQL5.6可以手动关闭区间锁,它由innodb_locks_unsafe_for_binlog参数控制:1. 设置为ON,表示关闭区间锁,此时一致性会被破坏(所以是unsafe);2...
10 days ago
'[-] 我曾经也这么纠结过? 白天在公司被项目追着跑,晚上到家累得只想躺平。一刷朋友圈,谁谁副业又月入过万了,心里那叫一个羡慕。 于是,熬夜写了篇技术文章,发出去却没几个阅读,哎,换个方向吧。几个月毫无起色,只剩下满满的挫败感和更深的焦虑。 太内耗了,这个问题我必须想清楚:我每天就这么点时间和精力,到底该怎么规划与投入第二曲线? [-] 为啥我会纠结这个问题? 我后来发现,我的纠结来自于想要“立刻收获”的贪心,想做的事情很多,想把副业一夜做成,结果就是哪个都没投入足够的、连续的、高质量的注意力,最后在“虚假繁忙”中自我感动,在“没有结果”中自我怀疑。 [-] 这个问题的内核是什么? 再往深了想,我的时间和精力,就是我最宝贵的本金。第二曲线,就像我投资的“标的”应该是聚焦成长股,中长期定投,而不应该“撒胡椒面”。 不要指望一次性All-in就成功。目标是“长期复利”,建立可积累的资产(内容、产品、品牌)。...
11 days ago
有HR说:“招聘条件已经降到很低了,薪资也还不错,就是没人。”主题:为什么现在招聘C++程序员这么难?https://www.zhihu.com/question/491876804【回答1】要不是我正在找工作,我就信你了,现实情况是C++求职者其实很多,但是岗位不多,而且有些岗位并不仅仅是C++。【回答2】一般20岁学C++,应该在35岁到40岁学成,独当一面。结果,招聘要求35岁以下,滑天下之大稽。我学C++19年了,大大小小的项目见过太多了,GitHub也懒得翻了,都是新手之作,要么就是老标准的繁琐作品。C++的精髓就在于转化和复现。因为快,所以可以时间来换空间,来弥补架构的缺陷,各种层面的延时调用和抽象分发、汇聚,现在根本就没人懂。作为企业不组局,人才心寒,新人看到这种下场,都吓跑了,结果恶性循环。【回答3】我招C++,也做C++。我觉得说难的话取决于你想做什么:如果是做界面,那任何一个C++框架或控件的开发速度,都比不上前端或C#;如果是做服务端软件,在不设计很强的性能要求时,java完全可以满足需求,而且得益于国内的开发环境,很多成熟的工具都可以复用,更重要的是人力成本更低。所以,目前软件行业的现状是C++的性能优势在逐渐被抹平,真正需要C++的地方,是超大型服务器、云计算、专业领域如视频音解码、有限元仿真、3D引擎等等。还有没有java虚拟机的地方,如嵌???式,国产linux系统等。那既然这样,到这些环境去面试,C++就变成了需求的一部分,更重要的是懂业务,只会C++是没用的。其实,C++终究只是一门编程语言,不是目的,每种语言都有自己的适用场景,你想要开发一个简单的应用程序,拿着java程序员的待遇和水平要求去找C++程序员,那肯定没人搭理你。 【回答4】拿修仙小说打比方,学C++就是炼体,大后期很厉害,但对心性、资质、耐力等等的要求可不是一般的高,修炼过程也异常痛苦,还得有靠谱的师傅指点,不然一不小心就走火入魔。学Java,Python,Go,Javascript等其他语言是炼气,稍微学学就能御剑飞行,各大宗门也多,灵石丹药供给充足,师门经常组织长老带队去十万大山里打怪练级。如果是小说主角,那肯定是炼体,修炼到后期秒天秒地。但大部分人其实是小说里连名字都没有的店小二之类的角色,比较明智的选择应该是炼气,然后拜入当地小门派叶玑门,然后小成之后去大宗门奇峨派、福宝宗。末法时代,炼体高手都隐匿在各大宗派,偶有一两个炼体新人,中途都炼气去了。大宗派也不愿投入灵石培养炼体新鲜血液,自然就青黄不接了。但不管你炼体还是炼气,当你35岁还没有炼成元婴,三九小天劫就会降下来劈断你修炼一途,这就是无情的天道。【回答5】2026年了,但凡还在用C++的成规模的公司,都不是在招C++程序员了,而是在招特定领域有积累的工程师。社招的话,业务部门多半都不会盯着C++问,而是使劲用业务场景问题怼着问,你说就一个只有C++知识的程序员,过得去这种面试吗?所以与其说招聘C++程序员难,倒不如说C++应用领域窄,导致有经验的对口候选人少,C++语言本身还有一个特点就是语言体系庞大、杂,而且还在不断迭代新特性,这就导致学习成本一直居高不下(尤其是还动不动喜欢自己手搓轮子)。同时,其它应用的领域,游戏,金融,嵌入式,流媒体这些领域,哪个不是一入深似海,在这里面工作很多年的老C++工程师,写算法题可能不一定比得上新人,但普遍能独立撰写多篇高难度的领域专业文章。领域本身又窄又深,这才是招聘难的核心原因。==全文完==周末直播:年底究竟如何晋升涨薪?欢迎预约。 阅读原文 文章原文
12 days ago
《数据库架构100讲》10. InnoDB快照读先简单解释下快照读,读提交,可重复读。快照读(Snapshot Read)MySQL数据库,InnoDB存储引擎,为了提高并发,使用MVCC机制,在并发事务时,通过读取数据行的历史数据版本,不加锁,来提高并发的一种不加锁一致性读(Consistent Nonlocking Read)。读提交(Read Committed)1. 数据库领域,事务隔离级别的一种,简称RC;2. 它解决“读脏”问题,保证读取到的数据行都是已提交事务写入的;3. 它可能存在“读幻影行”问题,同一个事务里,连续相同的read可能读到不同的结果集;可重复读(Repeated Read)1. 数据库领域,事务隔离级别的一种,简称RR;2. 它不但解决“读脏”问题,还解决了“读幻影行”问题,同一个事务里,连续相同的read读到相同的结果集;在读提交(RC),可重复读(RR)两个不同的事务的隔离级别下,快照读有什么不同呢?先说结论:1...