当前位置: 首页 > news >正文

如何培养对技术的热爱

这篇博文主要针对计算机专业相关的同学,对于理工科专业的同学有一定的借鉴意义,对于其他专业的同学,还请自行取舍。

背景

初学计算机,可能并不是每个人都能对其产生兴趣,更不要说从其中获得快乐。对于如何培养兴趣,有可遵循的过程,这里不展开讨论,笔者也没有这方面的经验。如果需要获取系统地培养兴趣的知识,请移步心理学相关文章。这里主要是以一个技术爱好者的身份,简单谈论下个人对培养技术的热爱的一些关键品质,希望能对期望培养对技术热爱的同学有一些帮助。

方法论

这里介绍下笔者认为对培养技术热爱有一些帮助的方法论,仅供参考,不做理论上的证明。

保持好奇心

笔者认为好奇心是驱动一个人进步的源动力。在接触事物的时候,多问一下为什么,多探究下原理,对我们更好的解决问题是有帮助作用的,可能这些帮助并不是立即的。比如,需要基于数据库的增删改查实现一个业务功能,如果只是一个工具人,可能只会考虑功能实现。但是,如果带着好奇心去实现这个功能的话,首先可能考虑的并不是该怎么写代码,而是需求来源的背景。虽然了解需求背景对完成这个功能没有直接的作用,但是可以回答自己为什么要实现这个功能。这就如上战场大战,首先要做的是思想工作,只要思想统一了,才能凝聚人心,为获得战争的胜利起到促进作用。其次,了解需求背景,还为我们对功能实现提供可能的改进设计。并不是说领导设计的方案就是完成正确的方案。在软件领域,没有银弹,只要基于一定场景的取舍。如果对需求有了更深的了解,可能会给出更优的改进方案。

不断学习的意识和能力

作为技术人,要有终身学习的意识和能力。不止是软件技术,任何一门技术,只要有应用的场景,都会不断的演进。作为技术人,要对新技术持开放态度,能快速接受和掌握新技术。这里有个误区,是不是说来了新技术就要学习。其实不是这样的。技术发展百花争鸣,我们也不可能把所有的技术都要学会。按照鸿沟理论,我们应重点学习早期大众后期大众,进入到这个阶段的技术,已经足够成熟,且有稳定的技术支持(说的直接点,就是别人已经帮你踩过坑了)。但是,我们也应关注创新者早期采用者,因为这些技术很有可能会成为主流技术,掌握了主流技术,就相当于掌握了技术竞争力,这对产品的价值是由促进作用的。
比如,对AI技术来说,大模型已经进入早期采用者阶段,对于期望基于大模型构建产品竞争力的公司来说,投资大模型是一件有利的事情。

关注业内技术发展动向

持续关注业内技术发展动向,是明确自身技术竞争力的有效手段。如果知道自身技术所处的位置,就能更好的明确后续的技术发展方向。这一点对应鸿沟理论创新者早期采用者

培养开源兴趣

对软件开发来说,推动软件发展的一个关键因素就是开源。开源对软件的价值这里不在赘述,这里重点说明下开源对培养技术兴趣的价值。开源可以看成是技术人的聚集地,在这里开发者可以寻求帮助、提供帮助、发布开源产品等,简单来说,开源可以让开发者获取志同道合的朋友、培养良好的沟通表达能力和团队协作能力。

善于归纳总结

学习技术,一个让人很头疼的事实是技术资料浩如烟海,让人有种力不从心的感觉。遇到这种情况,说明你对知识的掌握不够系统化,要学会善于归纳总结。对技术知识进行归档、总结、知识结构化、系统化、规范化。
最开始的时候,我们仅限于问题的了解,但是随着问题的深入,逐渐形成知识体系,知识结构化、知识规范化。
比如,编码阶段需要遵从编码规范,数据库设计阶段需要遵从数据库设计规范、接口设计需要遵从接口开发规范等等。此外,还有一些国际标准规范,如各种网络协议标准,软硬件规范等等。

注重实践

技术不会停留在纸上,还要落实到具体的行动。对于软件开发来说,学习了新技术后,接下来就是将该技术应用到具体的场景。实践是检验真理的唯一标准。只有那些经历过现网环境考验的技术才能算得上稳定的技术。
如果一种技术,其使用流程极其繁琐,那么对于这个技术的推广是不利的。比如CORBA技术,就因为过度复杂的使用步骤,使得其没有获得很好的推广,尽管该技术功能很强大。

注重交流与学习

对于技术学习来说,不应闭门造车。在软件开发领域,有个不成文的规定,尽量避免重复造轮子。如果已经有人实现了某个组件,如果该组件提供的能力,已经可以满足需求,且有广泛的使用基础,是没有必要重新写一个新的组件的。如果这个组件的能力不能满足自己的需求,且短时间内并没有新增相关功能的计划,那么这个时候才应考虑实现一个新的组件。
要充分考虑从零到一开发一个组件的难度,也要充分考虑基于现有实现实现一个类似功能的简易程度。

不断培养工程能力

如果说上面的几条建议都是为了让我们具备最佳实践的能力,那么对工程能力的培养,就是将上面的所有最佳实践变成可复制的流程。工程化能力让技术的复用程度达到最大化。

找到技术价值

这里之所以说到价值,还是因为需要一些崇高的东西来进一步凝聚人心。如果从理性的角度出发,人类的一切活动都没有价值。但是作为文明社会,人类的一切活动都有价值。就如一个公司会提出愿景,技术也有自身的价值。明确所参与的项目或研发的产品的技术价值,是让自己更好工作的基础。比如参与购物网站的开发,可以让人们获取更好的购物体验。参与制造汽车,可以帮忙人们更好的出行,等等。

总结

对技术热爱的培养,并非朝夕之事,需要不断的对技术进行投入,并相信技术可以更好的改变自己的生活、他人的生活。这里,笔者梳理出以下方法论帮忙期望培养技术热爱的同学,它们是:(1) 保持好奇心;(2) 不断学习的意识和能力;(3) 关注业内技术发展动向;(4) 培养开源兴趣;(5) 善于归纳总结;(6) 注重实践;(7) 注重交流与学习;(8) 不断培养工程能力;(9) 找到技术价值。最后通过一个脑图来收尾当前文章:
请添加图片描述

参考

https://zhuanlan.zhihu.com/p/604419303 如何提高对计算机专业的兴趣?
《人类简史》 尤瓦尔·赫拉利 著, 林俊宏 译

相关文章:

如何培养对技术的热爱

这篇博文主要针对计算机专业相关的同学,对于理工科专业的同学有一定的借鉴意义,对于其他专业的同学,还请自行取舍。 背景 初学计算机,可能并不是每个人都能对其产生兴趣,更不要说从其中获得快乐。对于如何培养兴趣&a…...

Vue响应式数据的原理

在 vue2 的响应式中,存在着添加属性、删除属性、以及通过下标修改数组,但页面不会自动更新的问题。而这些问题在 vue3 中都得以解决。 vue3 采用了 proxy 代理,用于拦截对象中任意属性的变化,包括:属性的读写、属性的…...

pytest fixture 用于teardown工作

fixture通过scope参数控制setup级别,setup作为用例之前前的操作,用例执行完之后那肯定也有teardown操作。这里用到fixture的teardown操作并不是独立的函数,用yield关键字呼唤teardown操作。 举个例子: 输出: 说明&…...

39 printf 的输出到设备层的调试

前言 在前面 printf 的调试 我们只是调试到了 glibc 调用系统调用, 封装了参数 stdout, 带输出的字符缓冲, 以及待输出字符长度 然后内核这边 只是到了 write 的系统调用, 并未向下细看 我们这里 稍微向下 细追一下, 看看 到达设备层面 这里是怎么具体的 impl 的 测试用例…...

数字普惠金融、数字创新与经济增长—基于省级面板数据的实证考察(2011-2021年)

参照陈啸(2023)的做法,本对来自经济问题《数字普惠金融、数字创新与经济增长——基于省级面板数据的实证考察》一文中的基准回归部分进行复刻。数字普惠金融、数字创新已经成为驱动经济高质量发展的关键。利用省级面板数据,构建固…...

控制renderQueue解决NGUI与Unity3D物体渲染顺序问题

NGUI与Unity3D物体渲染顺序问题,做过UI的各位应该都遇到过。主要指的是UI与Unity制作的特效、3D人物等一同显示时的层次问题。 由于UI与特效等都是以transparent方式渲染,而Unity与NGUI在管理同是透明物体的render queue时实际上互相没有感知&#xff0…...

概率论与数理统计:第二、三章:一维~n维随机变量及其分布

文章目录 Ch2. 一维随机变量及其分布1.一维随机变量1.随机变量2.分布函数 F ( x ) F(x) F(x)(1)定义(2)分布函数的性质 (充要条件)(3)分布函数的应用——求概率3.最大最小值函数 2.一维离散型随机变量及其概率分布(分布律)3.一维连续型随机变量及其概率分布(概率密度)4.一般类型…...

BOLT- 识别和优化热门的基本块

在BOLT中,识别和优化热门的基本块之所以关键,是因为BOLT的主要目标是优化程序以更好地利用硬件特性,特别是指令缓存(ICache)。以下是BOLT如何识别和优化热门基本块的流程: 收集性能数据: BOLT开始的时候并不…...

Golang 中的 time 包详解(四):函数详解

在日常开发过程中,会频繁遇到对时间进行操作的场景,使用 Golang 中的 time 包可以很方便地实现对时间的相关操作。接下来的几篇文章会详细讲解 time 包,本文讲解一下 time 包中的函数。 func Now() Time 返回当前的系统时间。 package mai…...

【前端 | CSS】5种经典布局

页面布局是样式开发的第一步,也是 CSS 最重要的功能之一。 常用的页面布局,其实就那么几个。下面我会介绍5个经典布局,只要掌握了它们,就能应对绝大多数常规页面。 这几个布局都是自适应的,自动适配桌面设备和移动设备…...

腾讯云宣布VPC网络架构重磅升级,可毫秒级感知网络故障并实现自愈

8月11日,腾讯云宣布VPC(Virtual Private Cloud,云私有网络)架构重磅升级。新架构采用多项腾讯核心自研技术,能够支撑用户构建业界最大 300万节点超大规模单VPC网络,并将转发性能最大提升至业界领先的200Gbp…...

vue 路由页面跳转

从index.vue跳转到data.vue index.vue <el-table-column label"客户数" align"center" :show-overflow-tooltip"true"><template slot-scope"scope"><router-link :to"/system/enterprise-data/index/ scope.ro…...

Vue toRefs:在Vue中不失去响应式的情况下解构属性

Vue toRefs&#xff1a;在Vue中不失去响应式的情况下解构属性 文章目录 Vue toRefs&#xff1a;在Vue中不失去响应式的情况下解构属性什么是响应式&#xff1f;解构Props的挑战使用toRefs保持响应式结论 在Vue开发中&#xff0c;我们经常会在组件之间传递数据。这时候&#xff…...

自定义element-plus的弹框样式

项目中弹框使用频繁,需要统一样式风格,此组件可以自定义弹框的头部样式和内容 一、文件结构如下: 二、自定义myDialog组件 需求&#xff1a; 1.自定义弹框头部背景样式和文字 2.自定义弹框内容 3.基本业务流程框架 components/myDialog/index.vue完整代码&#xff1a; &…...

Linux:iptables防火墙

目录 绪论 1、防火墙 1.1 保护范围 1.2 网络协议划分 1.3 协议&#xff1a;tcp 1.4 四表 1.5 五链 1.6 iptables的规则 1.7 匹配顺序 流入本机&#xff1a;prerouting ------->iuput---------->用户进程(httpd服务)------请求--------响应--------->数据要返…...

MongoDB文档-进阶使用-spring-boot整合使用MongoDB---MongoTemplate完成增删改查

传送门&#xff1a; MongoDB文档--基本概念_一单成的博客-CSDN博客 MongoDB文档--基本安装-linux安装&#xff08;mongodb环境搭建&#xff09;-docker安装&#xff08;挂载数据卷&#xff09;-以及详细版本对比_一单成的博客-CSDN博客 MongoDB文档--基本安装-linux安装&…...

设计模式十四:责任链模式(Chain of Responsibility Pattern)

责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为设计模式&#xff0c;它允许你将请求沿着处理者链进行传递&#xff0c;直到有一个处理者能够处理该请求。 在责任链模式中&#xff0c;多个处理者对象被连接成一个链。当接收到一个请求时&#xf…...

将商城项目放到docker-centos7中

1、docker pull centos:7 2、docker run -d -it --privileged 仓库名称/shopcentos:1.1 /usr/sbin/init 注意&#xff1a; /usr/sbin/init 必须加&#xff0c;否则没法使用systemctl启动mysql 3、安装mysql教程 安装msyql教程&#xff1a;https://blog.csdn.net/davice_li…...

C# Winform 自动获取 软件版本号

C# Winform如何自动获取版本号 方案一 缺点是不适配&#xff0c;clickones发布的版本 public static string GetVersion() {try {return System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString();}catch{return System.Ref…...

基于C++实现了最小反馈弧集问题的三种近似算法(GreedyFAS、SortFAS、PageRankFAS)

该项目是一个基于链式前向星存图、boost&#xff08;boost::hash、asio线程池&#xff09;以及emhash7/8的非官方实现&#xff0c;实现了最小反馈弧集问题的三种近似算法。该问题是在有向图中找到最小的反馈弧集&#xff0c;其中反馈弧集是指一组弧&#xff0c;使得从这些反馈弧…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

Linux-进程间的通信

1、IPC&#xff1a; Inter Process Communication&#xff08;进程间通信&#xff09;&#xff1a; 由于每个进程在操作系统中有独立的地址空间&#xff0c;它们不能像线程那样直接访问彼此的内存&#xff0c;所以必须通过某种方式进行通信。 常见的 IPC 方式包括&#…...

使用python进行图像处理—图像滤波(5)

图像滤波是图像处理中最基本和最重要的操作之一。它的目的是在空间域上修改图像的像素值&#xff0c;以达到平滑&#xff08;去噪&#xff09;、锐化、边缘检测等效果。滤波通常通过卷积操作实现。 5.1卷积(Convolution)原理 卷积是滤波的核心。它是一种数学运算&#xff0c;…...