曾经废寝忘食学到的技术,现在都没用了......

误入歧途的COM之旅(1):为什么我说是误入歧途 误入歧途的COM之旅(1)前言为什么将误入歧途呢?**COM历史**com简介com设计的出发点com的坑说说com的优点最后放一点com的争论贴总结 前言 首先此com非彼com(www.com),而是Windows的com机制! 最近在项目中遇到了com相关的问题,说起来就离谱,我们要实现一个动态链接库提供服务,但是调用方是用com机制去调用的,并且要求这个调用方exe不能修改,也就是我要实现适应com接口去实现一个dll。 但是更离谱的是,这个动态库应该是跨平台的,同时支持com和跨平台,咨询了好多 阅读详情

昨晚做了一个梦,我学过的那些语言和技术都来找我了,争吵不休。

C语言:老刘你肯定记得我,我是你的“初恋”语言,在大学里用指针把你蹂躏得痛不欲生。

我:当然,我自以为学会了,可是工作后看到林锐写的《高质量 C++/C 编程指南 》,里边有一套试题,做过以后才知道我对指针的理解还是一塌糊涂。

C语言:哈哈,你那时候还不知道我的主要用途是系统级编程,像操作系统,数据库,虚拟机,编译器,Web服务器都是用C语言写的,总是觉得只能在命令行窗口折腾呢。

我:可不是,所以我“急功近利”地学了几个能快速创建GUI应用的语言,也是为了做点儿项目赚外快,包括VB、Visual FoxPro,还有PowerBuilder,在上面可是花了不少精力, 现在呢, 除了VB变成了VB.NET, 另外两个早已不见踪影,可惜啊。

Linux :还有我,你那时候学了Linux的基本操作和Shell编程,我一直很纳闷,你怎么不把vi 给好好练练呢,你看看你现在用起来还是那么笨拙,一点儿都不丝滑流畅。

我:唉,我那时候热爱GUI啊,再说了vi的命令太变态了。

C语言:现在你明白了吧, 没有GUI的东西生命力更长久啊!

我:是啊,时间证明了一切,C和Linux太重要,我后来才意识到你们的好处,能让我对系统级的东西有更深的理解,对学习OS,网络编程都有极大的帮助。《深入理解计算机系统》这本神书,通篇用C和汇编来描述, 操作系统的源码,Ngnix源码, Redis源码, 都是C语言, 几乎都跑着Linux之上。

C++ :老刘,难道我就不重要了?我刚看了下你放在杂物间最下层的C++书,有侯捷的《深入浅出MFC》,潘爱民的《COM原理与应用》, 《Inside MFC》,《COM技术内幕》,《COM本质论》。还有C++的经典书《C++ Primer》,《深入探索C++对象模型》,《Effective C++》等, 你有10年没有搭理过他们了吧,真是让人心痛啊。

我:抱歉抱歉,C++老大,我确实是学不会,你看看这幅漫画就会理解我的心情了。

《21天自学C++》

数据结构:哈哈哈,太形象了,老刘,我还记得你当时为了考高程,用C语言把书上的习题都做了一遍,感觉如何啊?

我:非常酸爽!估计和现在大家刷LeetCode的感觉差不多吧!不过真是受益匪浅啊,虽然工作中设计数据结构的机会极少,但是确实培养了逻辑思维能力,必须得感谢你啊。

ASP :老刘老刘,可别忘了我, 我是带着你入门做动态网页的, 你还记得用我做了哪些网站不?

我:当然记得,我那时候抱微软的大腿啊!用ASP来写动态的Web界面,用COM组件来实现业务逻辑,这事儿我干过不少,我花了很多时间学习COM,不信你看看杂物间最下层的书。唉,当时的ASP连MVC都没有,页面之间的跳转链接都写在页面中,幸亏业务不复杂,要不然这意大利面条式的代码怎么读啊!

ASP:那都是过去时了,微软推出.NET战略以后,我们现在都升级为.NET了,MVC不在话下,可是你怎么狠心抛弃了我们,跑着向Java大献殷勤去了?

我:这个....

Java :这有什么奇怪的,向我献殷勤的又不止老刘一个,开放的Java是大势所趋,封闭的.NET是比不上的。我那时候多火啊,Applet, JSP, Servlet , Tomcat, Struts,老刘一直闷着头学,对了还有人气爆棚的EJB, 老刘你说说,你花了多少时间在EJB上?

我:唉,每个晚上的时间都用来学习了,Session Bean , Entity Bean , JBoss, WebLogic......  《精通EJB》,现在回头看,真是浪费时间啊,这些东西也就Servlet和Tomcat还活着,其他的几乎没人用了!

Java:话不能这么说,你处于那个时代,就得学习那个时代的东西,你不学,连工作都找不到。

Ruby : 是啊是啊,我火爆那几年,你不是也抱着两本书狂啃吗?《Programming Ruby》,《Agile Web Development with Rails》, 你还用RoR开发过小项目呢,现在怎么不搭理我了?

我:这就冤枉我了,Ruby的语法我可是非常喜欢啊,我现在电脑里还安装着Ruby呢!

Ruby:  骗谁呢?!你不光安装着Ruby ,还安装着Java, Python,Rust, 还有ErLang这种没人用的语言,我看你昨天还用Python写了个小程序,帮你老婆处理Excel , 你怎么不用我来写呢?

我:这个......

Java : 还是我Java生态更加丰富,老刘你学了Struts,Hibernate以后,是不是看了一本叫做《J2EE Development without EJB》,开始转向Spring? 还研究过Spring早期的源码?

我:没错没错,我记得很清楚,大热天的,没有空调,我满头大汗,一行行地调试Spring源码,在笔记本上画图记录,真是行行皆辛苦啊 !Spring 发展了这么多年,一直挺立在时代潮头,对Spring的投资没有白费,很值!

(Spring课程乱入:想自己造轮子的可以关注下老刘的课程啊 《从零开始造Spring》)

模式:让开让开,什么COM, EJB, Ruby , JBoss, 你们太容易过时了 ! 信模式者得永生 !老刘你说说你花了多少时间在模式上?

我:嗯,还真不少,四人帮的《设计模式》读了一遍,感觉迷迷糊糊,只记住了面向接口编程而不是面向实现编程, 发现变化并且封装变化。还看了一本《Java与模式》,只记住了击鼓传花的责任链。真正对设计模式有深刻认识,还是阅读了Jive的论坛源码(里边简直是设计模式大宝库)之后,开始理解模式的妙处,然后正好在一个类似的项目中使用,这才有所体会。

模式:《企业应用架构模式》,《Head First设计模式》,《重构与模式》你难道忘了吗?

我:怎么可能忘记?还有《敏捷软件开发:原则,模式与实践》这都是我当年的最爱啊,不过时间长了我就发现,这些都是面向对象的设计,本质上对程序员的要求是“抽象的能力”, 这是软件开发的内功啊,掌握了它才能无招胜有招啊。现在很多人都去追求高并发、大流量的系统设计和开发,但实际上,大部分时间还是在做面向业务的开发,OOD和抽象能力是非常重要的。

模式:没错,高并发、大流量的系统有时候还有章可循,但是把业务需求做出良好的抽象,就太考验人了。

分布式系统:这么说就是太瞧不起我们分布式系统了,老刘虽然主要做企业应用开发,但是花在我们身上的时间一点也不少啊,什么负载均衡,数据复制,BASE,CAP,数据分片......  哪一项都很厉害啊!

我:同意,这些都是内功啊!

操作系统:不不不,老刘,你不能这么说,软件开发的内功是我们这些计算机基础知识啊,我,计算机网络,数据库,编译原理,组成原理,上大学的时候你没好好学,毕业了才去恶补,你想想你在我们身上投入了多少时间?

我:哈哈,我的老底都被你拆穿了,没错,万丈高楼平地起,你们几位是基石啊。毕业后看了不少书,像《深入理解计算机系统》,《现代操作系统》,《操作系统:设计与实现》,《计算机网络》,《数据库系统实现》,《编译原理》,说实话,如果不和实践结合,干巴巴的理论学起来挺无趣的,所以我要写码农翻身公众号,用有趣的故事讲解计算机基础知识。 

操作系统:不过现在娱乐化严重,碎片化严重,真正想沉下心来看大部头,学习基础的人少了。

我:是啊,除非他切实感受到了基础知识的重要性。我现在很后悔那些浪费的大学时光, 如果再让我回到大学时代,我一定通过实践去学习,自己去折腾个小的OS,简单的数据库,简单的语言,Web服务器, 虚拟机。 我要在自己的操作系统上,运行自己的虚拟机,跑着自己的语言......

想到这里,我不由地笑醒了......

回想一下自己十多年花大精力学习过的技术,很多都已经随着时代的发展烟消云散了,剩下的都是长久不变的东西,主要包括:

C语言

Linux

OOD和抽象

网络和Web编程基础

分布式的基础知识

计算机基础知识

(完)

我的书《码农翻身》本周在京东大优惠,仅需5折,点击“阅读原文”链接即可直达购买,预购从速。

如何解决技术焦虑 从事软件编程已经长达8年之后,曾经中间有很长一段时间感觉自己的技术能力没有得到根本性提升,与那些优秀的同龄人相比,技术自卑油然而生,面对日新月息的技术变更和时不我待的岁月流逝,步入中年的我不得不变的焦虑起来。回顾自己的编程生涯,刚毕业的头几年,通过自主学习实现了编程语言的基本掌握,紧接着使用学到的技术完成各种项目,然后日复一日,有时候也会看看技术书籍,但是终究未能突破语言层而知晓技术背后的本质。而... 阅读详情

相关推荐

RK3576平台Buildroot嵌入式Linux镜像构建实战

嵌入式Linux镜像构建是连接硬件能力与软件功能的核心技术环节,其本质是基于目标SoC架构的交叉编译、内核定制与根文件系统集成过程。原理上依赖工具链适配、设备树绑定、分区镜像生成等关键步骤,技术价值在于实现轻量、确定、可复现的系统交付。典型应用场景涵盖ARM64开发板(如RK3576)、工业边缘网关及国产化信创终端。本文以TaishanPi-3为载体,深入解析Buildroot在RK3576平台上的配置裁剪、并行编译优化、genimage分区合成及update.img烧录准备,覆盖从环境选型(Ubuntu

weixin_36047538的博客 139

到2030年你可能不会使用的5种编程语言

英文 |https://betterprogramming.pub/5-programming-languages-you-wont-likely-be-using-by-2030-7b...

web前端开发 942

Langchain4j 文档处理实战:从加载到分割的完整流程解析

本文详细解析了使用Langchain4j进行文档处理的完整流程,涵盖从文档加载、解析到分割的核心步骤。通过实战代码示例,重点介绍了如何利用文档分割器将大文档切割为适合大语言模型处理的片段,并提供了参数调优与避坑指南,帮助Java开发者高效构建AI应用的数据处理基础。

smartcontract5的博客 542

mvc设计模式现在过时了吗_初此尝试C# MVC设计模式,理解与不足

MVC(Model-View-Controller)称模型-视图-控制器设计模式,是一种常见的桌面软件设计模式。它的主要介绍在这篇文档中已经非常详尽(https://www.codeproject.com/Articles/613682/Your-first-program-using-MVC-pattern-with-Csharp-W)。在这里简单介绍其背景,MVC模式的软件系统,顾名思义,就是...

weixin_39530288的博客 387

在ubuntu20.04上配置VINS_Fusion(亲测有效,一应俱全)

最近在做科研训练的时候配置了HKUST-Aerial-Robotics实验室的VINS_Fusion代码项目,经历了一些编译报错的问题,在网上查找的时候博客内容良莠不齐,且实质针对性意见不多,于是在此记录下自己配置期间遇到的一些共性问题,留作自己日后参考和大家的交流学习。

wyr1849089774的博客 8266

TVS 管击穿电压与钳位电压的工程解析

TVS二极管的核心参数击穿电压(VBR)和钳位电压(VC)常被混淆,但二者具有本质区别。VBR是

硬核科技 477

被卷到“准下岗”,这9种编程语言要消失了!

上一篇:北京某公司裁员,从2000人裁到600译者 | 布加迪 审校 | 重楼技术在不断发展,我们使用的编程语言也不例外。随着人工智能日益普及,并影响这些语言的使用,人们更关注哪些语言将在未来依然坚挺,哪些会销声匿迹。包括Python、Java和JavaScript在内的用途广泛的编程语言占据主导地位,而其他语言比较小众,似乎正在失宠。唯有变化是不变的,你应该远离以下这9种语言,它们可能很快不会成...

Java和Android架构 243

那些年我们create generate clock遇到的坑

想必大家对create_generate_clock这个命令熟悉的不能再熟悉了,然而,在真正做实际项目的时候,会出现各式各样的问题,比如在report timing时,generate clock路径不是我们预想的,source latency丢失等等,今天小编就跟大家重点聊聊source latency丢失的情况。clock时,首先我们要对一个项目的时钟结构要比较清晰,同时针对一些复杂的生成时钟,我们也要学会画波形图进行分析;接下来,我们就来看看哪些case会导致source latency丢失。

芯冰乐 136

COM学习记录,1-----COM 的基本概念,优缺点,适用性

COM 是什么? COM 是一个说明如何建立可动态互变组件的规范。它提供了为保证能够互操作, 客户和组件应遵循的一些标准。   COM 组件是什么:COM 组件是以Win32 动态链接库(DLLs )或可执行文件( EXEs ) 的形式发布的可执行代码组成的。遵循COM 规范编写的组件将能够满足对组件架构的所有需求。COM 组件是动态链接的。COM 使用DLL 将组件动态链接起来。但动态链接...

商少 5470

【Unity大规模RTS/攻城战框架】Large Scale Combat System - RTS Sieges深度解析

本文介绍了Unity专业级大规模RTS战斗框架Large Scale Combat System(LSCS)。该系统通过Job System+Burst技术解决了万人级单位的性能问题,提供完整的RTS操作体系、动态阵型系统、战术AI和攻城战功能。其亮点包括可破坏城门、行走城墙、战术AI配置系统,支持URP渲染管线,适用于Total War风格的大规模兵团对战项目。LSCS不仅提供核心战斗系统,还包含UI、小地图等配套模块,是Unity中少有的专业级RTS解决方案,特别适合需要深度战术玩法和大规模战斗的开发者

2403_88403568的博客 1333

Calibre 3Dstack --每日一个命令day27【overlap】(3-27)

本文介绍了Calibre3Dstack中overlap命令的使用方法。该命令用于检查两个已放置层之间的重叠量是否符合要求,支持设置检查名称、层类型、堆叠范围、检查方向等参数。关键参数包括:-constraint指定重叠约束条件,-exact控制百分比精度,-by_area切换为面积检查模式,-intersection报告相交区域。检查结果可通过RVE选项定制显示方式,适用于3D堆叠设计中的层间重叠验证场景。

u013620135的博客 112

mvc设计模式现在过时了吗_曾经废寝忘食学到的技术,现在都没用了......

作者 | 刘欣来源 | 码农翻身(ID:coderising)头图 | 优快云下载自视觉中国昨晚做了一个梦,我学过的那些语言和技术都来找我了,争吵不休。C语言:老刘你肯定记得我,我是你的“初恋”语言,在大学里用指针把你蹂躏得痛不欲生。我:当然,我自以为学会了,可是工作后看到林锐写的《高质量 C++/C 编程指南 》,里边有一套试题,做过以后才知道我对指针的理解还是一塌糊涂。C语言:哈哈,你那时候...

weixin_29230901的博客 286

YOLOv11模型改进全攻略:利用轻量化模块实现精度与速度双跃升

如果你在实操中遇到模块替换导致的精度骤降或部署报错,不妨尝试调整轻量化模块的替换比例,或针对性地保留关键层的原始结构。记住,轻量化的核心是“在精度损失可接受的范围内最大化提升效率”,只要结合业务场景灵活取舍,你也能让YOLOv11在资源受限的环境中大放异彩。接下来,我们从模块选型到代码集成,一步步带你打造“轻量且能打”的YOLOv11,真正帮你解决工业落地中的效率与精度痛点。训练过程中关注模型的mAP和推理速度,若精度下降过多,可调整模块替换的比例(如仅替换Backbone的部分卷积层)。

m0_64661770的博客 501

那些学到废寝忘食的技术,现在还有多少有用的?

昨晚做了一个梦,我学过的那些语言和技术都来找我了,争吵不休。 C语言:老刘你肯定记得我,我是你的“初恋”语言,在大学里用指针把你蹂躏得痛不欲生。 我:当然,我自以为学会了,可是工作后看到林锐写的《高质量 C++/C 编程指南 》,里边有一套试题,做过以后才知道我对指针的理解还是一塌糊涂。 C语言:哈哈,你那时候还不知道我的主要用途是系统级编程,像操作系统,数据库,虚拟机,编译器,Web服务器都是用C语言写的,总是觉得只能在命令行窗口折腾呢。 我:可不是,所以我“急功近利”地学了几个能快速创建GUI应用的语言

Androidyuexia的博客 363

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

asp还有人用吗_那些学到废寝忘食的技术,现在还有多少有用的?

昨晚做了一个梦,我学过的那些语言和技术都来找我了,争吵不休。C语言:老刘你肯定记得我,我是你的“初恋”语言,在大学里用指针把你蹂躏得痛不欲生。我:当然,我自以为学会了,可是工作后看到林锐写的《高质量 C++/C 编程指南 》,里边有一套试题,做过以后才知道我对指针的理解还是一塌糊涂。C语言:哈哈,你那时候还不知道我的主要用途是系统级编程,像操作系统,数据库,虚拟机,编译器,Web服务器都是用C语言...

weixin_39630106的博客 649

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

mvc设计模式现在过时了吗_那些学到废寝忘食的技术,现在还有多少有用的?

昨晚做了一个梦,我学过的那些语言和技术都来找我了,争吵不休。C语言:老刘你肯定记得我,我是你的“初恋”语言,在大学里用指针把你蹂躏得痛不欲生。我:当然,我自以为学会了,可是工作后看到林锐写的《高质量 C++/C 编程指南 》,里边有一套试题,做过以后才知道我对指针的理解还是一塌糊涂。C语言:哈哈,你那时候还不知道我的主要用途是系统级编程,像操作系统,数据库,虚拟机,编译器,Web服务器都是用C语言...

weixin_42128988的博客 171

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

学了mvc还有必要学webform吗_那些学到废寝忘食的技术,现在还有多少有用的?...

昨晚做了一个梦,我学过的那些语言和技术都来找我了,争吵不休。C语言:老刘你肯定记得我,我是你的“初恋”语言,在大学里用指针把你蹂躏得痛不欲生。我:当然,我自以为学会了,可是工作后看到林锐写的《高质量 C++/C 编程指南 》,里边有一套试题,做过以后才知道我对指针的理解还是一塌糊涂。C语言:哈哈,你那时候还不知道我的主要用途是系统级编程,像操作系统,数据库,虚拟机,编译器,Web服务器都是用C语言...

weixin_39887846的博客 374

前端小白需要学到什么程度可以找工作?

点击上方前端瓶子君,关注公众号回复算法,加入前端编程面试算法每日一题群我自学入行的前端,已经是一个有五年两家大厂工作经验的老司机了。回顾了一下我的前端自学入坑的经历~希望能帮到初学者,少...

我本可以容忍阳光,如果我不曾见过太阳,然而阳光已使我荒凉,成为更新的荒凉。 954

幸运的技术者---读《京东技术解密》

自己作为一个搞技术的,就是喜欢看其他公司的技术发展故事,从那里可以找到自己的影子,也可以学到很多东西,见到很多不曾见过的风景。比如在刚入行时读过的一本介绍Windows NT研发细节的书《观止》,让我感受到做技术的刺激、挑战和成就感。《京东技术解密》也是这样一本书,让我透过京东的网页(亦或手机的App页面)看到他们的技术细节。那些伴随京东成长的技术者,是一批幸运的技术者。京东的成功有他们的一半,京

懒人的技术笔记 4380

程序员技术瓶颈期如何突破才是王道?看看前端大佬怎么说

瓶颈,生活中一种下宽上窄的瓶子颈部,瓶内物要倒出瓶外,一般在瓶颈处要么阻塞要么会限流。而“瓶颈”在事业上,一般用来形容事业发展中遇到的停滞不前的状态,这个阶段就像瓶子的颈部一样是一个关口,如果没有找到正确的方向有可能一直被困在瓶颈处。瓶颈出现的时候,大多有以下现象:觉得工作乏味,整日业务都熟悉,代码就是CV,闲着就摸鱼聊天;不知道目前自己技术水平如何,对自己前端知识的掌握程度边界含糊不清;知道该努力学习,想要学习,但不知道从哪入手;知识架构不清晰,无法形成知识网;时常技术焦虑,思维怠惰;

2301_79773949的博客 756

程序员技术瓶颈期如何突破才是王道?

瓶颈,生活中一种下宽上窄的瓶子颈部,瓶内物要倒出瓶外,一般在瓶颈处要么阻塞要么会限流。而“瓶颈”在事业上,一般用来形容事业发展中遇到的停滞不前的状态,这个阶段就像瓶子的颈部一样是一个关口,如果没有找到正确的方向有可能一直被困在瓶颈处。瓶颈出现的时候,大多有以下现象:觉得工作乏味,整日业务都熟悉,代码就是CV,闲着就摸鱼聊天;不知道目前自己技术水平如何,对自己前端知识的掌握程度边界含糊不清;知道该努力学习,想要学习,但不知道从哪入手;知识架构不清晰,无法形成知识网;时常技术焦虑,思维怠惰;

2201_75571291的博客 407

来,我们谈谈怎么学好计算机科学与技术

〇、序     本文主要是写给计算机专业的大一新生的,高手请自动略过。其中主要是一个先飞了一年的菜鸟的所感所想,属于主观意愿,如果文章中有什么不对的地方,欢迎大家批评指正。     首先介绍一下我本人的简况,以便大家在阅读此文的时候有个背景上的把握。     我在初中的最后一年,中国的计算机产业正蒸蒸日上。当时还没有计算机的我对计算机的认识就是它很有趣,并且还能做很多

一语成诺 7066

十年码农的肺腑之言:“技术不是万能”

作者 | 我不想种地责编 | 伍杏玲出品 | 程序人生(ID:coder_life)我是一个有着十年码龄的无证程序员,如果算上996那就更长了。我有读故事的喜好,别人的艰...

优快云资讯 1575
上一篇: 面向需求编程才是常态,聊聊我的经历
下一篇: 短网址有啥好处,用长网址不香吗?
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论 45
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值