放弃理想,未必能成就现实

为什么你的SSE连接总断?深入对比EventSource与fetch-event-source的5大差异点 本文深入对比了原生EventSource与@microsoft/fetch-event-source库在SSE连接稳定性上的五大关键差异。重点剖析了后者在请求能力、连接控制、错误处理、数据解析及性能优化方面的优势,特别是其支持POST请求、自定义Header、精细化的重连策略与生命周期管理,为解决生产环境中SSE连接频繁断开的问题提供了专业方案。 阅读详情

放弃理想,未必能成就现实

上个世纪90年代末,软件泡沫最高涨的时候,我还在学校里老老实实地学着我的结构工程。我当年的理想是要做一个好的结构工程师,跟我弟弟一起开建筑设计事务所,这话写在日记本上,白纸黑字。后来之所以毅然地抛弃本行来趟软件开发这摊浑水,很大程度上是受了技术高手们高大形象的鼓舞。那个时候真是有激情,觉得编程高手被泽着理想主义的光芒,向英雄一样崇拜他们,他们才像是搞技术的,我们这些土木工程师,嗯,也就是个混饭吃。

 

真的走到这个行业里才发现,中国的软件技术研发的环境根本就不是那么回事,按照一般程序员的大白话,就是“在中国,搞技术的没前途”。有点理想和抱负的程序员,大多面临被分化和钝化的命运。所谓分化,就是以这样那样的方式转变为管理者、市场人员、宣传员等等角色,所谓钝化,就是乖乖地接受降解,由研发人员转变为工程人员。.....

 

......

 

搞技术的先天都有点自命不凡,总是幻想向着未知领域冲锋,探索新的方向。谁不想重复Adobe在平面设计领域的辉煌?谁不想也搞个什么CAD来发掘和开拓新的市场?谁不知道搞项目的辛苦?谁不想安心做出好产品,名利双收,给人生添一抹亮色?可是,难啊!环境所迫,只能放弃理想,面对现实。

 

不过软件这个东西真的不太一样。我的判断是,放弃理想,也未必能成就现实。原因就在于软件太容易复用了。我们行业里的人整天叫嚣着要提高软件的可复用性,还煞有介事写一大堆书出来谈reuse,殊不知,相对于其他很多传统行业,软件的可复用性实在是太好了。比如说,雅典奥运会场馆中的钢梁,绝对不可能拿到北京奥运场馆来复用,连设计方案也没有多大参考意义。可是人家那成熟的奥运售票系统,改巴该巴就能跑在2008的售票主机上。不说那么玄的,就拿一般的任务来说,有几个程序员能把线性代数方程组的那些七七八八的数值求解算法记得清楚?恐怕能说清楚什么叫矩阵谱半径的人就已经不多了。可是谁又犯的上操这个心呢?真的碰上这种问题,囫囵吞枣地调用IMSL库的一个函数,或者Matlab的一个命令,算得又快又准,还不比你自己哼哧哼哧的写代码强?正是因为软件这东西能低成本大规模的复用,在这个行业里,就存在一个残酷的现象:强势的研发人员事实上在以自己的产品挤压弱势同行的生存空间。换句话说,你们雅典的建筑设计师抢不了我北京同行的饭碗,但是微软的多媒体专家就能把我们北京的编程高人们逼得没饭吃。道理很明显,你在做流媒体播放器,做得还不错,但是微软一出手,你肯定趴下。现在用C#分分钟就可以装配出一个不错的Media Player,你呢,要么转行或者转方向,要么也跑去搞装配。落到这个田地,其实就已经肯定只能分到残羹剩饭了。也许抢先干一段,还能有点出息,毕竟帮用户解决了“最后一公里”的问题,这活也不容易啊。但是长远干真的不乐观。为什么?装配这活,技术门槛太低,而且一定会越来越低。干这行,向上给核心产品供应商打工,向下给客户打工,里里外外装孙子。

 

我接触过很多做项目的程序员,水平高低参差不齐,但是大部分都有共同的心声,真不想做项目,真想踏下心来做做产品研发。大家起点差不多,学校里不见的谁比谁强,凭什么你能专心做产品,探索技术新方向,我却得汗流浃背周旋于客户和厂商之间?而且说实话,搞这种服务活,程序员人微言轻,不是滋味。你还别不服气,服务不就是让客户舒坦吗,客户也是人,让人舒坦的方法多的是,人家sales有的是手段和力量让人家舒坦,干嘛非在技术上较劲,谁也不比谁傻,对不?

 

要我说,咱们搞技术的真的不能甘心这么走下去。路不是没有,其正到各行各业去看看,沉下心来调查研究,你会发现,这所谓的信息化,在各行各业中的应用也就是一层皮。要往深里挖,空间还大得很,机会还多得很。无论是石化电力,还是机械建筑,哪一个行业里都有很多真正的机会。说句不夸张的话,你要真能帮人家解决实际专业问题,还真用不着感叹技术不值钱。不过要抓住这些机会,对这些行业就不能浅尝辄止,一定要有亲身投入、深入实践的决心。现在我们很多开发者喜欢自说自话,整天抱着架构啊、模式啊、N层结构啊孤芳自赏,其实上碰到专业问题根本深入不下去。搞结构软件不懂有限元,搞设备控制软件不懂控制理论,搞探测分析软件不懂信号处理,你上10层结构,用100个模式,也解决不了问题。要想深入行业应用,软件开发能力固然重要,专业知识恐怕更重要。行业应用软件一是复杂,二是专业。经过第一轮信息化,最容易挖的那桶金已经让人给挖走了,再往下走,就不能不沉下心来真正钻到人家专业里去。我相信,那里面的机会大的很。而且,这么想的人不只我一个,已经开始实践的人也不少。现成的例子,中国建筑科学研究院的专业结构设计软件PKPM就非常成功,在国内几十万人用,还出口到东南亚国家。蒸蒸日上的思维加速公司,也是一个深钻苦干的典型。我也知道不少个人,正抱着十年磨一剑的决心深入到某些应用领域里努力。他们是好样的。我觉得,振兴中国软件业的希望,在在他们身上。

从零到一:Gromacs伞形采样的实战避坑指南 本文详细介绍了Gromacs伞形采样技术的实战应用与避坑指南,涵盖核心原理、环境准备、参数设置、数据分析及性能优化等关键环节。特别针对蛋白质-配体结合自由能计算等典型应用场景,提供了弹簧常数设置、采样窗口间距等实用参数建议,帮助研究人员高效完成分子动力学模拟。 阅读详情

相关推荐

经典脉冲激光测距原理&雷达方程

脉冲激光测距机的工作过程如下:首先用瞄准光学系统瞄准目标,然后接通激光电源,储能电容器充电,产生触发闪光灯的触发脉冲,闪光灯点亮,激光器受激辐射,从输出反射镜发射出一个前沿陡峭、峰值功率高的激光脉冲,通过发射光学系统压缩光束发射角后射向目标。通过计算激光发射功率经介质传输的衰减,目标表面截获和反射的光功率,到达接收视场的光功率,以及接收光学系统接收到的光功率,就可以得到到达光电探测器的光功率,即接收功率。⑤光東路程上的折射率变化;),测量光脉冲到达目标并由目标返回到接收机的时间,由此计算出目标的距离。

weixin_46153372的博客 2523

G882磁力仪入水深度如何校正?

将磁力仪放在已知深度,点击”Reset Average“清除当前的平均值,等待几分钟,获取一个新的平均值。”Current average:“后的值必须稳定,然后将此值输入到Value文本框中,点击”Add to list“。有了参数A和b的值,给定压力读数,我们得到正确的水深值。MagLog(G882的采集软件)就是用这些线性方程自动校正压力传感器的读数,准确地得到了磁力仪的入水深度。一旦校准了深度传感器,你立即就能发现数据发生了变化,图形和显示将使用新的校准值。要想获取这两个参数,需要用线性方程。

Xiaok的专栏 1301

20_文件系统的制作 -JFFS2

JFFS2 文件系统是通过工具 mkfs.jffs2 将文件系统目录制成映像文件。制作工具mkfs.jffs2 需要编译 zhb 库和 mtd-utils,下面详细介绍其制作过程

Leon的博客 549

从零开始研发GPS接收机连载——7、跟踪模块概述和设计

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 从零开始研发GPS接收机连载——7、跟踪模块概述和设计前言跟踪环路概述跟踪环路设计PL端相关器设计PS端码环和载波环设计后记 前言 在之前的捕获阶段能获得对卫星信号载波和伪码相位的一个粗略的估计,在跟踪阶段则是逐步精细对这两个信号参量的估计,也就是说,接收机对信号的跟踪是一个与该信号同步的二维信号的复制过程。 跟踪环路概述 载波环的目的是尽力使其所复制的载波信号与接收到的卫星信号相一致,从而通过混频机制彻底的剥离卫星信号中的载波,从中获.

gzy0506的博客 3733

PIMPL 模式 以及Q_DECLARE_PUBLIC 与 Q_DECLARE_PRIVATE

在 C++ 中,PIMPL 模式通常通过将类的私有数据和实现放在一个单独的类中,然后在类的公共接口中使用指向该私有实现类的指针来实现。宏可以帮助在 Qt 的 PIMPL 模式中实现类的私有实现和公共接口的分离,提高代码的封装性和可维护性。宏的结合使用,我们可以实现类的私有性和封装,避免暴露私有实现的细节,同时提高类的可维护性和灵活性。:这一行声明了一个友元类,使得类的公共接口可以访问私有实现类的私有成员。:这一行声明了一个友元类,使得类的私有实现可以访问类的私有成员。是两个宏,用于实现 PIMPL 模式。

追赶时代的博客 845

一文搞定离线环境下的RAG引擎部署

在人工智能浪潮下,技术已成为构建智能问答、文档分析和代码助手等应用的核心。然而,在许多企业场景中,出于数据安全和性能的考虑,服务器往往部署在中,并要求极致的推理效率。这给依赖外部资源的应用部署带来了巨大挑战。如何在这种严苛的环境下,完整、可靠地部署一套包含向量数据库、**高性能推理服务(vLLM)**和Python后台的复杂RAG系统呢?本文将为你提供一个,手把手教你如何使用 Docker 技术,将一套基于 Weaviate 和的 Python RAG 应用完整打包,并在离线环境中一键部署。

木鱼时刻的专栏 1242

从零开始研发GPS接收机连载——1、想法的萌发

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 从零开始研发GPS接收机连载——1、想法的萌发前言预期的目标硬件平台总结 前言 坚持写博客也已经半年了,很庆幸目前还在坚持,而且劲头也还没有减少。每一篇博客要么是经过了自己的思考、要么是经过了自己的实操、要么是自己总结了经验,还是非常认真对待的,绝大部分博客写下来所花时间短的两三个小时,长的五六个小时都有。那花这么多时间写博客的目的是什么?当然不是为了做雷锋了,最重要的就是为了自己回顾知识,同时展示自我了。尽管写这些东西大概率对我不会带.

gzy0506的博客 9633

Python时间序列:PaddleTS-时间序列分类

评估的指标采用F1,Precision,Recall,PaddleTS已经基于TSDataset实现了这三个指标的计算,直接调用即可。使用内置的API:get_dataset加载BasicMotions数据集。模型训练完成之后,可以对测试集进行预测并评估。模型保存之后,可以加载模型用于新的数据预测。可以将训练完成的模型保存到指定路径。概率预测 可以返回每个分类的概率。安装paddlets。

斌擎科技 1292

从零开始研发GPS接收机连载——4、GPS模拟器数据采集验证

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 从零开始GPS接收机的开发——4、GPS模拟器数据采集验证前言需要确认的事项采集结果后记 前言 上一篇我们去美国白宫玩了一遭,今天开始是时候生活重新进入正轨了。 需要确认的事项 那目前我们已经有作为接收机硬件的开发板了,也有GPS信号模拟源了。那首先的工作自然就是先简单的采集一点数据来分析一下,是否这套硬件真的能够正常接收GPS信号的数据了。因为前面我们对FPGA开发板只是输入了点频,那如果输入是GPS L1频点的信号会是怎么样的呢。然.

gzy0506的博客 9296

YOLOv12改进前必看 - YAML模型配置文件详细解读(再也不用担心通道数不匹配) 附网络结构图

YOLOv12的模型配置文件在中,里面包含yolov12的以及的不同大小的模型,本文将详细介绍一下YOLOv12模型文件中各参数的含义。

Limiiiing的博客 3275

手把手教你学 GPU KMD--1.2:UMD、KMD 与 DDK 的协作关系(下)——权限提升与安全边界

本文探讨了UMD、KMD与DDK协作中的权限提升与安全边界问题。GPU作为强大DMA引擎,必须通过分层权限模型(用户态/内核态)隔离风险,KMD作为守门人对UMD请求进行严格校验。文章详细分析了权限提升路径、安全边界设计(GPU虚拟内存隔离、命令白名单、IOMMU强制隔离等),并列举历史漏洞案例说明安全边界的重要性。现代增强方案包括虚拟化与可信执行环境。核心安全原则是"永远不信任用户态数据",需对所有地址、命令、资源和DMA进行严格管控。

amy_mhd的博客 324

从零开始研发GPS接收机连载——11、电文解析

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 从零开始研发GPS接收机连载——11、电文解析前言导航电文的格式遥测字交接字第一块数据块第二数据块第三数据块后记 前言 GPS用户接收机通过对接收到的卫星信号进行载波解调和伪码解扩,得到50bps的数据码,然后按照导航电文的格式可最终将数据码编译成导航电文。导航电文中含有时间、卫星运行轨道、电离层延时等用于定位的重要信息。 导航电文的格式 卫星将导航电文以帧与子帧的结构形式编排成数据流D(t)。如下图所示,每颗卫星一帧接着一帧发送导航电.

gzy0506的博客 3636

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

转载:读《放弃理想,未必能成就现实 》 ---放弃专业也未必能成就爱好

来自:http://blog.youkuaiyun.com/wumingchenchao/archive/2007/04/01/1548138.aspx作者:孟岩《程序员》2004年第9期的maglog专栏文章。     上个世纪90年代末,软件泡沫最高涨的时候,我还在学校里老老实实地学着我的结构工程。我当年的理想是要做一个好的结构工程师,跟我弟弟一起开建筑设计事务所,这话写在日记本上,白纸黑字。

crazy_liu---展翅☆飞 的BLOG 1217

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: net 开发人员应必须拥有的10个工具
下一篇: 一个计算机高手的成长!(转载)
gmplayer
博客等级 码龄22年 2粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值