软件工程师进阶系列
文章平均质量分 90
软件工程师进阶知识,包括:涨粉技巧、编码规范、优雅的代码、设计模式、封装、全面思考等。
希望_睿智
中国科学技术大学毕业,专注于音视频领域近二十年,全网访问量近500万,粉丝近10万。在嵌入式开发、运营级平台、音视频编解码、视频图像处理、流媒体、深度学习、人工智能等多个方向具备实战开发经验和技术积累,共发表发明专利十余项,软件著作权几十项。商务合作和推广,可私信联系。
展开
-
软件工程师,用100天时间让CSDN粉丝数从0狂飙到10000
不用着急,我们先去主动关注别人,三个主动:主动去添加各种榜单上的大佬,主动阅读和学习他人的博文,主动添加优质博文的博主。但坚持一到两个星期后,先后进入了“新人榜”、“新晋作者榜”和“原力榜”,阅读量短时间内就有了质的提升,粉丝数也快速涨到了1000人左右的规模。发布新的博客文章后,可以利用群发功能向全部粉丝或活跃粉丝发送文章的链接,这样将大大提升我们博文的阅读量和人气值,而阅读量和人气值又会带来更多的粉丝。下面来点干货,聊一聊新加入CSDN的博主,如果在较短时间内,实现粉丝数量和访问量的快速增长。原创 2023-05-07 17:13:25 · 17554 阅读 · 92 评论 -
软件工程师,要么不写代码,要么就写优雅的代码
平均来说,一次编写的代码会被阅读十次,所以尽力保持代码优雅是有意义的。当养成习惯后,你会发现基本不需要花什么力气,更优雅、更具维护性的代码很快就会产生收益。优雅的代码有助于理解开发语言、模式和架构,也有利于提升开发水平。史蒂芬·金在《关于写作》中说,想要成为优秀的作家需要大量的阅读和大量的写作。当人们问Henny Youngman如何能做到在卡内基音乐厅演奏的时候,他的答案是:“练习,练习,再练习。”对于软件开发也是如此:阅读他人优雅的代码,编写代码,不断练习。原创 2023-05-13 21:15:38 · 1424 阅读 · 39 评论 -
软件工程师,不懂点设计模式怎么行
□设计模式描述了在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该解决方案而不必重复劳动。□设计模式实际上就是类与相互通信的对象之间的组织关系,包括它们的角色、职责、协作方式等各个方面。□设计模式通常和面向对象编程结合起来使用。面向对象设计模式是“好的面向对象设计”,所谓“好的面向对象设计”是指那些可以满足 “应对变化,提高复用”的设计。□现代软件设计的特征是:需求频繁变化。原创 2023-05-30 08:47:00 · 3912 阅读 · 47 评论 -
软件工程师,学会封装不香么
从面向对象编程的角度来说,封装是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。从软件开发的角度来说,封装是指把复杂度隐藏于实体内部,对外提供简单、精练的访问接口。从现实生活的角度来说,封装是指为了使物品的使用者和生产者分离而采用的一种信息隐藏技术。总结:封装的本质是隐藏,封装的目的是简单。原创 2023-06-07 08:38:47 · 861 阅读 · 44 评论 -
软件工程师,学习下JavaScript ES6新特性吧
作为一名软件工程师,不管你是不是前端开发的岗位,工作中或多或少都会用到一点JavaScript。JavaScript是大家所了解的语言名称,但是这个语言名称是Oracle公司注册的商标。JavaScript的正式名称是ECMAScript。1996年11月,JavaScript的创造者网景公司将JS提交给国际化标准组织ECMA(欧洲计算机制造联合会),希望这种语言能够成为国际标准。随后,ECMA发布了规定浏览器脚本语言的标准,即ECMAScript,这也有利于这门语言的开放和中立。原创 2023-07-10 06:00:00 · 1734 阅读 · 40 评论 -
软件工程师,全面思考问题很重要
1、全面思考问题的前提条件是经验和积累,只有具备丰富的经验和充足的积累后,才能做到全面思考。因此,需要我们多拓展知识面的宽度,多挖掘知识面的深度。2、全面思考问题时,需要考虑一个问题的所有影响因素,以及这些因素之间的关联关系和相互作用。3、多从各个角度、各个层面考虑问题,比如:从代码规范的角度看有没有遵守,从封装的角度看合不合理,从逻辑的角度看严不严密,从效率的角度看还能否优化,等等。4、当一种思维方式行不通或遇阻时,不要“钻牛角尖”。多尝试跳出这种思维方式,换一个角度,换一种思维方式思考和分析问题。原创 2023-06-10 20:09:02 · 882 阅读 · 37 评论 -
软件工程师,不了解64位程序开发你就out了
□ 64位Windows系统下也能运行32位程序,是因为有一个WOW64子系统。它能将32位应用程序的API调用转换成对原生64位系统的调用。正是因为WOW64的存在,32位应用程序在64位系统下并不能发挥最佳的性能,反而比在32位系统下有大约2%的性能损失。如果开发的是64位应用程序,则不需要依赖WOW64运行,并可带来大约5%-15%的性能提升(5%-10%由于采用了64位架构,1%-5%由于未使用WOW64)。□ 32位程序的最大地址空间是4GB,64位程序的最大地址空间是可以大于4GB的。原创 2023-06-17 18:07:27 · 958 阅读 · 34 评论 -
软件工程师,入门下深度学习吧
ChatGPT,英文全称为Chat Generative Pre-trained Transformer,是OpenAI研发的聊天机器人程序。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流。除此之外,还能进行撰写邮件、脚本、文案、翻译、代码,写论文、写诗、绘画等任务。ChatGPT是人工智能深度学习的技术产物。对于软件工程师,了解下深度学习的发展历程、基本概念和基本原理等知识,还是很有必要的。原创 2023-06-30 22:02:01 · 1094 阅读 · 28 评论 -
软件工程师,TypeScript值得你拥有
默认情况下,null和undefined是所有类型的子类型,也就是说,你可以把null和undefined赋值给number类型的变量。□ TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。□ 从ECMAScript 2015开始,JavaScript引入了模块的概念,TypeScript也沿用了这个概念。TypeScript是一种给JavaScript添加特性的语言扩展,是JavaScript 的一个超集。□ 类型转换(类型断言)原创 2023-07-12 07:00:00 · 600 阅读 · 30 评论 -
软件工程师,超过35岁怎么办
随着科技行业的飞速发展,软件开发工程师的职业道路充满了各种机遇和挑战。对于已经在这个行业摸爬滚打了十多年的软件开发工程师来说,当他们步入35岁这个年纪时,可能会感到一些迷茫和焦虑。许多人担忧,在以创新、活力、快速迭代为特点的IT领域,年龄是否会成为职业发展的绊脚石呢?作为一名超过35岁的软件开发工程师,我们又该如何应对这些挑战,继续前行呢?面对“35岁”这个所谓的“门槛”,软件开发工程师应如何有效应对?答案并非固定不变,而是取决于每个人如何根据自身的兴趣、能力和市场需求调整职业路径。原创 2024-02-17 10:51:14 · 2281 阅读 · 19 评论 -
软件工程师,OpenAI Sora驾到,快来围观
近期,OpenAI在其官方网站上公布了Sora文生视频模型的详细信息,展示了其令人印象深刻的能力,包括根据文本输入快速生成长达一分钟的高清视频。Sora的强大之处在于其能够根据文本描述,生成长达60秒的视频,其中包含:精细复杂的场景、生动的角色表情以及复杂的镜头运动。Sora发布后,马斯克评价道:“人类对Sora认赌服输。Sora文生视频模型具备独特的技术特性,它不仅能够生成具有多个角色、复杂场景设置的视频,还能精确地模拟物理细节和背景信息。原创 2024-02-17 11:49:25 · 1906 阅读 · 32 评论 -
软件工程师,为什么不喜欢关电脑
你是否注意到,软件工程师们似乎从不关电脑,也不喜欢关电脑?别以为他们是电脑“上瘾”,或是沉迷于电脑,这一现象背后蕴含着多种实际原因。1、代码保存与恢复。在编写代码过程中,遇到问题时可能会暂时离开去查阅资料或者休息,而不想打断当前的思路和工作进度。如果电脑不关机,他们可以迅速回到上次中断的地方,继续解决问题,避免了重新加载项目和找回思考线索的过程。2、远程访问与协作。很多软件工程师采用分布式团队协作模式,需要通过SSH等远程访问手段进行代码部署、调试或监控线上服务。原创 2024-02-17 15:39:58 · 1111 阅读 · 10 评论 -
软件工程师,AI手机元年到来,我们怎么办
OPPO创始人、总裁、CEO陈明永在2024年2月18日发表了名为《开启AI手机新时代》的内部信。陈明永认为:“2024年是AI手机元年。未来五年,AI对手机行业的影响,完全可以比肩当年智能手机替代功能机”。他预测AI手机时代将成为继功能机、智能手机之后,手机行业的第三阶段。这一提法预示着2024年将成为人工智能技术在智能手机领域实现突破性应用并大规模普及的关键时间节点,标志着手机行业进入了一个新的发展阶段。原创 2024-02-19 22:19:25 · 2399 阅读 · 25 评论 -
软件工程师,是时候了解下Rust编程语言了
Rust是一种系统级编程语言,专注于提供内存安全和并发性,同时保持高性能。它由Mozilla Research领导开发,并得到了全球开发者的广泛支持和采用。如果你也想系统学习Rust语言,可以订阅专栏《30天拿下Rust》。原创 2024-03-15 20:29:58 · 1965 阅读 · 24 评论 -
软件工程师,该偿还一下技术债了
在软件开发领域,有一个特殊的概念——“技术债”,它源于Ward Cunningham的一个比喻,主要用来描述那些为了短期利益而选择的快捷方式、临时解决方案或者未完成的工作,它们会在未来产生额外的技术成本。就像金融债务一样,如果不及时偿还,利息会不断累积,最终可能导致项目质量下降、维护困难、扩展性受限等一系列问题。技术债,通常是指在软件开发过程中,由于时间压力、资源限制、技术选型不当等原因,而做出的妥协和折中。原创 2024-03-16 09:14:06 · 2403 阅读 · 14 评论 -
软件工程师,如何搞副业赚钱
在这个数字化时代,软件工程师凭借其深厚的技术功底与创新思维,早已成为推动社会经济发展的重要力量。然而,随着生活成本的提升以及对个人价值实现的追求,越来越多的软件工程师开始思考如何利用自身技能和业余时间开展副业,以实现“财务自由”和职业发展的双重目标。当然,这里的“财务自由”打了引号。想通过副业实现“财务自由”还是非常有挑战性的,可能需要一定的机遇和运气。但在完成本职工作的基础上,通过搞副业赚钱,可以提升我们全方位的能力,并为后续的创业打下坚实的基础和储备。原创 2024-04-12 21:10:27 · 1244 阅读 · 6 评论 -
软件工程师,如何有效缓解工作压力
在这个快速迭代、技术日新月异的数字时代,软件工程师们常常站在技术创新的最前沿。他们肩负着构建高效、可靠软件系统的重任,同时也面临着紧迫的截止日期、复杂的技术难题和持续的学习需求,这些因素共同构成了巨大的工作压力。如何在高压环境下保持冷静、高效与创新,同时维持良好的身心健康,成为了每位软件工程师必须面对的课题,也成为了这一行业亟待解决的问题。软件工程师的征途虽充满挑战,压力巨大,但只要我们掌握了正确的航向和技巧,就能在代码的海洋中乘风破浪,找到属于自己的心灵港湾。原创 2024-04-29 21:20:22 · 907 阅读 · 17 评论