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

高效学习方法论

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_01x0​1为一个初始的常量,专业上称作“偏置”。每个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安装与配置 可参考&#xff1a;https://blog.csdn.net/weixin_44153180/article/details/129334018?spm1001.2014.3001.5501 2.openmvs安装与配置 可参考&#xff1a;https://blog.csdn.net/rdw1246010462/article…...

yolov8命令行运行参数详解

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

分布式锁简介

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

【嵌入式Linux学习笔记】Linux驱动开发

Linux系统构建完成后&#xff0c;就可以基于该环境方便地进行开发了&#xff0c;相关的开发流程与MCU类似&#xff0c;但是引入了设备树的概念&#xff0c;编写应用代码要相对复杂一点。但是省去了很多配置工作。 学习视频地址&#xff1a;【正点原子】STM32MP157开发板 字符…...

2023年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛(同步赛)(H题)(线段树)

又到了万物复苏的季节&#xff0c;家乡的苹果树结果了。像往常一样小龙同学被叫回家摘苹果。 假设需要采摘的一棵树上当前有a颗苹果&#xff0c;那么小龙会采摘⌈a/3⌉颗苹果&#xff0c;其中⌈x⌉表示不小于x的最小整数。 但是&#xff0c;为了可持续发展&#xff0c;若a小于1…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...