高效学习方法论
2023.03.17 《程序员的三门课:技术精进、架构修炼、管理探秘 / 于君泽等著》学习笔记
学会学习
- 一、高效学习的方法
- 1、管理好自己的目标
- 1)评估能力
- 2)制定目标
- 3)评估目标
- 2、利用好碎片时间
- 3、在同一时间只做一件事
- 二、高效学习的途径
- 1、阅读书籍
- 2、参加在线课程
- 3、参加线下会议
- 4、贡献开源项目
- 5、编程竞赛
- 6、创建博客
- 7、编码训练营
一、高效学习的方法
高效学习的方法:管理好自己的目标、利用好碎片时间、在同一时间只做一件事。
1、管理好自己的目标
目标管理,主要可以分为如下几步:评估能力、制定目标、评估目标。
1)评估能力
目标管理的第一步,就是正确评估自己的能力。
每个人都有不同的能力,并且自己其实是最了解自己能力的人。
在评估自己的能力时,可以给自己画一个简单的雷达图,并正确评估自己在各个方向上的能力指标。
示例:
例如在学习方面,可能要依赖如下几种能力:理解能力、自控能力、坚持能力、智商能力、专注能力。
2)制定目标
在正确评估自己的各方面的能力之后,就可以根据实际情况及时间等因素,给自己制定目标了。
在制定目标时,建议给自己制定两个目标,一个长期目标和一个短期目标。短期目标可以有长期目标分解而来。这里的目标其实等同于计划,不仅有自己要达成的目的,还伴随着时间节点。目标的设定模板可以是:
在什么时间节点完成什么事。
示例:
比如计划在三个月内学会 Java 9 的新特性,那么可以计划第1个月学会Jigsaw,第2个月学会JShell,第3个月学会Stack-Walking API。
3)评估目标
在评估好能力并制定好目标之后,还要养成定期评估自己目标的习惯。这就是我们为什么要设置短期目标,以及为什么要有时间节点,因为这样可以方便我们进行目标的回顾和调整。
示例:
例如,对于学习 Java 9 的新特性这件事,在第1个月要完成时,要及时检查一下自己是否真的学会了Jigsaw,并根据实际完成的情况重新评估自己的能力和制定新的短期目标,以期完成自己的长期目标。
2、利用好碎片时间
3、在同一时间只做一件事
在碎片的时间里如何更好地达成目标呢?那就是专注,即在同一时间只做一件事。在学习方面就是指在同一时间只专注地学习一种技术。
示例: 比如计划学习 Java 9 和 Spring Boot 2.0,则最糟糕的做法是同时或者交叉学习,这会导致两个技术都学不好。只有专注,才能达到高效学习的效果。
小结:
通过管理好自己的目标、利用好碎片时间及在同一时间只做一件事这三种方法,读者就可以高效的学习了。
二、高效学习的途径
1、阅读书籍
开卷有益。一般来说,学习知识最好的途径就是阅读,这是一种很古老也极其有效的方法。
互联网上各种平台,为我们提供了不同领域的内容,但这些内容大多数比较零散,不成体系。
阅读书籍则是一种比较好的选择,而且对于技术类知识来说,书籍中的内容也相对权威一些。书籍内容的特点:
成体系
、相对权威
。
如果你想高效地学习,那么阅读相关书籍绝对是很好的选择,它可以让你对所学的知识建立一个很好的知识体系,并且在学习过程中通过反复翻阅来巩固那些容易遗忘的知识点。另外,你在读书的过程中有足够的时间来思考,这个思考的过程在学习中是十分关键的。
阅读书籍的优势:有助于
建立很好的知识体系
、可通过反复翻阅来巩固知识点
、读书过程中有足够的时间来思考
。
非常适合
原理性
的技术知识,也适合实战类
的知识学习。
- 适合对象:所有人
- 目标:构建知识体系、巩固知识点、有足够时间思考。
2、参加在线课程
对技术知识的学习,主要包含两方面:原理和实战。对于原理性的技术知识,建议通过阅读书籍等方式来学习;对于实战性的技术知识,则可以考虑学习在线课程,这或许会更高效一些。
优势:比较直观,可以看到真正的操作步骤,比较容易理解,很适合实战类的知识学习。
弊端:不容易使参与者集中注意力、没办法带动参与者一起思考等。
比较适合
实战类
的知识学习。
- 适合对象:所有人
- 目标:可以更好地学习和理解实战类的技术知识。
3、参加线下会议
线下会议,也是近年来比较流行的一种方式,适合有一定经验的开发者,人们可以在会议中和其他人交流。很多时候,别人的经验是很宝贵的,所以,也是一种很不错的学习方式。
国内有很多类似的线下会议可供参加,比如 QCon、ArchSummit 等。
- 适合对象:有一定经验的开发者。
- 目标:可以在会议中和其他人交流,吸取别人的一些宝贵经验。
4、贡献开源项目
对于有经验的程序员来说,保持自我进步的最好方法就是参与开源项目。
- 适合对象:有经验的程序员
- 目标:保持自我进步。
5、编程竞赛
解决问题是提升开发者编程能力的最好方式。
国内外编程竞赛网站:TopCoder、CodeForces、Hackerrank、LeetCode 等。
- 适合对象:所有人
- 目标:提升开发者编程能力。
6、创建博客
创建并记录博客也是一种学习技术的好方式。“教是最好的学习”,学习某技术的最终效果,就是能够把学到的新知识经过自己的理解给其他人将清楚。
相比其他几种学习方式,创建博客也有很多好处。
能更深入地了解技术。在很难多时候,当我们想学习一个知识并且把它写成文章时,为了避免文章的内容出错,一般都会尽量阅读很多文献,来确保内容是正确的。所以,写文章之前的准备也是自我学习的一个阶段,而且学习的内容往往是比较深入和透彻的,这样才能保证自己写的内容具备权威性。
能更好地记忆知识点。写作的过程就是最好的记忆过程。因为在写文章的过程中会仔细推敲每一句话。这个过程就是多次记忆的过程。很多时候,你记不住别人说的话是因为其思维方式和你的不一样,但是通过自己的思维方式表达出来的内容就会很难容易记住。
- 适合对象:所有人
- 目标:能更深入地了解技术;能更好地记忆知识点。
7、编码训练营
我们一般称其为参加培训机构。
- 适合对象:新手
- 目标:成为一名开发者。
相关文章:
高效学习方法论
2023.03.17 《程序员的三门课:技术精进、架构修炼、管理探秘 / 于君泽等著》学习笔记 学会学习一、高效学习的方法1、管理好自己的目标1)评估能力2)制定目标3)评估目标2、利用好碎片时间3、在同一时间只做一件事二、高效学习的途径…...
C语言结构体(一篇学会)
C语言结构体 在C语言中,结构体是一种自定义的数据类型,它允许用户将不同类型的数据组合在一起。结构体由多个变量组成,这些变量称为结构体的成员。结构体成员可以是不同的数据类型,如整数、浮点数、字符或其他结构体等。 结构体…...

嵌入式软件开发之Linux下C编程
目录 前沿 Hello World! 编写代码 编译代码 GCC编译器 gcc 命令 编译错误警告 编译流程 Makefile 基础 何为 Makefile Makefile 的引入 前沿 在 Windows 下我们可以使用各种各样的 IDE 进行编程,比如强大的 Visual Studio。但是在Ubuntu 下如何进…...

普通Java工程师 VS 优秀架构师
1 核心能力 1.1 要成为一名优秀的Java架构师 只懂技术还远远不够,懂技术/懂业务/懂管理的综合型人才,才是技术团队中的绝对核心。 不仅仅是架构师,所有的技术高端岗位,对人才的综合能力都有较高的标准。 架构路线的总设计师 规…...
Java:SpringBoot实现ApplicationEvent事件的监听和发布
通过发布订阅模式实现数据的异步处理,比如异步处理邮件发送 新建SpringBoot项目 项目结构 . ├── pom.xml └── src└── main├── java│ └── com│ └── example│ └── demo│ ├── Application.java│ …...

星戈瑞-Sulfo-Cyanine3 azide?磺酸基-Cy3-N3叠氮基水溶性染料
Sulfo-Cyanine3 azide? 品牌:星戈瑞 CAS号:2055138-89-9 外观: 暗红色晶体 分子量:720.83 分子式:C34H45N6NaO8S2 纯度:95% 储藏条件:-20C 下避光保存 Sulfo-Cyanine3 azide 是一种…...

十大经典排序算法(下)
🍓个人主页:bit.. 🍒系列专栏:Linux(Ubuntu)入门必看 C语言刷题 数据结构与算法 HTML和CSS3 目录 1.6 快速排序 1. 算法步骤 2. 动图演示 3.代码实现 1.7 堆排序 1. 算法步骤 2. 动图演示 3. 代码实现 1.8 计数排…...

网络协议分析期末复习(四)
目录 0.前言 1.IP层对改善TCP性能支持的机制 2.TCP防止半开放连接的机制 3.TCP协议中强推位(P)和紧急位(U)的用法 4.TCP的流量控制和拥塞控制的异同点 异: (1)两者的特点不同:…...
Matlab对图像和视频的简单处理(图像视频文件读取和输出,转灰度图,取指定帧的图像)
文章目录1.图像文件的读取2.图像效果展示3.将彩色图转换为灰度图4.视频文件的读取5.读取视频中指定帧的图像6.图片文件的报错1.图像文件的读取 语法介绍: A imread(filename) A imread(filename, fmt)参数介绍: filename:要读取的图像文…...

ArrayList源码分析
ArrayList源码分析目标:一、 ArrayList的简介二、ArrayList原理分析2.1 ArrayList的数据结构源码分析2.2 ArrayList默认容量&最大容量2.3 为什么ArrayList查询快,增删慢?2.4 ArrayList初始化容量1、创建ArrayList对象分析:无参数2、创建A…...

SpringBoot IOC、DI、@Autowired、@Resource、作用域
一、初识Spring1.1 Spring是什么Spring是一个轻量级Java开发框架,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,Java开发者可以专…...

链表相关oj题
1.Leetcode203 移除链表元素 解题思路:从头节点开始进行元素删除,每删除一个元素,需要重新链接节点 struct ListNode* removeElements(struct ListNode* head, int val){struct ListNode*dummyheadmalloc(sizeof(struct ListNode));dummyhea…...

【Linux】操作系统(Operator System)
操作系统(Operator System )一、操作系统的概念二、操作系统的作用三、系统调用和库函数一、操作系统的概念 操作系统是一组控制和管理计算机软硬件资源,为用户提供便捷使用的计算机程序的集合,是配置在计算机硬件系统上的第一层…...

机器学习自学笔记——感知机
感知机预备知识 神经元 感知机算法最初是由科学家从脑细胞的神经凸起联想而来。如下图,我们拥有三个初始xxx值,x1,x2,x0x_1,x_2,x_0x1,x2,x0。其中x01x_01x01为一个初始的常量,专业上称作“偏置”。每个xxx的值都会乘上一个权重…...
C++ Primer第五版_第三章习题答案(21~30)
文章目录练习3.21练习3.22练习3.23练习3.24练习3.25练习3.26练习3.27练习3.28练习3.29练习3.30练习3.21 请使用迭代器重做3.3.3节的第一个练习。 #include <vector> #include <iterator> #include <string> #include <iostream>using std::vector; usi…...

colmap+openmvs进行三维重建流程全记录
window下的colmapopenmvs进行三维重建流程全记录 1.colmap安装与配置 可参考:https://blog.csdn.net/weixin_44153180/article/details/129334018?spm1001.2014.3001.5501 2.openmvs安装与配置 可参考:https://blog.csdn.net/rdw1246010462/article…...

yolov8命令行运行参数详解
序言 整理来自yolov8官方文档常用的一些命令行参数,官方文档YOLOv8 Docs yolov8命令行的统一运行格式为: yolo TASK MODE ARGS其中主要是三部分传参: TASK(可选) 是[detect、segment、classification]中的一个。如果没有显式传递…...

分布式锁简介
Redis因为单进程、性能高常被用于分布式锁;锁在程序中作用是同步工具,保证共享资源在同一时刻只能被一个线程访问。 Java中经常用的锁synchronized、Lock,但是Java的锁智能保证单机的时候有效,分布式集群环境就无能为力了…...

【嵌入式Linux学习笔记】Linux驱动开发
Linux系统构建完成后,就可以基于该环境方便地进行开发了,相关的开发流程与MCU类似,但是引入了设备树的概念,编写应用代码要相对复杂一点。但是省去了很多配置工作。 学习视频地址:【正点原子】STM32MP157开发板 字符…...
2023年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛(同步赛)(H题)(线段树)
又到了万物复苏的季节,家乡的苹果树结果了。像往常一样小龙同学被叫回家摘苹果。 假设需要采摘的一棵树上当前有a颗苹果,那么小龙会采摘⌈a/3⌉颗苹果,其中⌈x⌉表示不小于x的最小整数。 但是,为了可持续发展,若a小于1…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...

Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...

spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...

[拓扑优化] 1.概述
常见的拓扑优化方法有:均匀化法、变密度法、渐进结构优化法、水平集法、移动可变形组件法等。 常见的数值计算方法有:有限元法、有限差分法、边界元法、离散元法、无网格法、扩展有限元法、等几何分析等。 将上述数值计算方法与拓扑优化方法结合&#…...
字符串哈希+KMP
P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...