如何培养对技术的热爱
这篇博文主要针对计算机专业相关的同学,对于理工科专业的同学有一定的借鉴意义,对于其他专业的同学,还请自行取舍。
背景
初学计算机,可能并不是每个人都能对其产生兴趣,更不要说从其中获得快乐。对于如何培养兴趣,有可遵循的过程,这里不展开讨论,笔者也没有这方面的经验。如果需要获取系统地培养兴趣的知识,请移步心理学相关文章。这里主要是以一个技术爱好者的身份,简单谈论下个人对培养技术的热爱的一些关键品质,希望能对期望培养对技术热爱的同学有一些帮助。
方法论
这里介绍下笔者认为对培养技术热爱有一些帮助的方法论,仅供参考,不做理论上的证明。
保持好奇心
笔者认为好奇心是驱动一个人进步的源动力。在接触事物的时候,多问一下为什么,多探究下原理,对我们更好的解决问题是有帮助作用的,可能这些帮助并不是立即的。比如,需要基于数据库的增删改查实现一个业务功能,如果只是一个工具人,可能只会考虑功能实现。但是,如果带着好奇心去实现这个功能的话,首先可能考虑的并不是该怎么写代码,而是需求来源的背景。虽然了解需求背景对完成这个功能没有直接的作用,但是可以回答自己为什么要实现这个功能。这就如上战场大战,首先要做的是思想工作,只要思想统一了,才能凝聚人心,为获得战争的胜利起到促进作用。其次,了解需求背景,还为我们对功能实现提供可能的改进设计。并不是说领导设计的方案就是完成正确的方案。在软件领域,没有银弹,只要基于一定场景的取舍。如果对需求有了更深的了解,可能会给出更优的改进方案。
不断学习的意识和能力
作为技术人,要有终身学习的意识和能力。不止是软件技术,任何一门技术,只要有应用的场景,都会不断的演进。作为技术人,要对新技术持开放态度,能快速接受和掌握新技术。这里有个误区,是不是说来了新技术就要学习。其实不是这样的。技术发展百花争鸣,我们也不可能把所有的技术都要学会。按照鸿沟理论,我们应重点学习早期大众和后期大众,进入到这个阶段的技术,已经足够成熟,且有稳定的技术支持(说的直接点,就是别人已经帮你踩过坑了)。但是,我们也应关注创新者和早期采用者,因为这些技术很有可能会成为主流技术,掌握了主流技术,就相当于掌握了技术竞争力,这对产品的价值是由促进作用的。
比如,对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时实际上互相没有感知࿰…...
概率论与数理统计:第二、三章:一维~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:在Vue中不失去响应式的情况下解构属性 文章目录 Vue toRefs:在Vue中不失去响应式的情况下解构属性什么是响应式?解构Props的挑战使用toRefs保持响应式结论 在Vue开发中,我们经常会在组件之间传递数据。这时候ÿ…...
自定义element-plus的弹框样式
项目中弹框使用频繁,需要统一样式风格,此组件可以自定义弹框的头部样式和内容 一、文件结构如下: 二、自定义myDialog组件 需求: 1.自定义弹框头部背景样式和文字 2.自定义弹框内容 3.基本业务流程框架 components/myDialog/index.vue完整代码: &…...
Linux:iptables防火墙
目录 绪论 1、防火墙 1.1 保护范围 1.2 网络协议划分 1.3 协议:tcp 1.4 四表 1.5 五链 1.6 iptables的规则 1.7 匹配顺序 流入本机:prerouting ------->iuput---------->用户进程(httpd服务)------请求--------响应--------->数据要返…...
MongoDB文档-进阶使用-spring-boot整合使用MongoDB---MongoTemplate完成增删改查
传送门: MongoDB文档--基本概念_一单成的博客-CSDN博客 MongoDB文档--基本安装-linux安装(mongodb环境搭建)-docker安装(挂载数据卷)-以及详细版本对比_一单成的博客-CSDN博客 MongoDB文档--基本安装-linux安装&…...
设计模式十四:责任链模式(Chain of Responsibility Pattern)
责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许你将请求沿着处理者链进行传递,直到有一个处理者能够处理该请求。 在责任链模式中,多个处理者对象被连接成一个链。当接收到一个请求时…...
将商城项目放到docker-centos7中
1、docker pull centos:7 2、docker run -d -it --privileged 仓库名称/shopcentos:1.1 /usr/sbin/init 注意: /usr/sbin/init 必须加,否则没法使用systemctl启动mysql 3、安装mysql教程 安装msyql教程:https://blog.csdn.net/davice_li…...
C# Winform 自动获取 软件版本号
C# Winform如何自动获取版本号 方案一 缺点是不适配,clickones发布的版本 public static string GetVersion() {try {return System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString();}catch{return System.Ref…...
基于C++实现了最小反馈弧集问题的三种近似算法(GreedyFAS、SortFAS、PageRankFAS)
该项目是一个基于链式前向星存图、boost(boost::hash、asio线程池)以及emhash7/8的非官方实现,实现了最小反馈弧集问题的三种近似算法。该问题是在有向图中找到最小的反馈弧集,其中反馈弧集是指一组弧,使得从这些反馈弧…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
