2021 个人年度小结

因为不用考研,所以大四一整年可以自由自在地学习一直以来想学却又没时间去学的东西。快乐的大四时光总是显得十分短暂,这篇博客主要用来总结过去一年所学的知识。

计算机组成原理

上的是哈尔滨工业大学的慕课,讲了计算机的几个组成部分,包括CPU、存储器、总线和 IO,上起来没什么新鲜感,和大二下的微机系统很像。

深入理解计算机系统

上的是 CMU15-213,《深入理解计算机系统》的两位作者亲自授课,第一次上国外网课,每集一个小时,体验和每集 10 分钟左右的慕课完全不同。这门课主要讲解了计算机的信息表示方式(整数和浮点数)、x86-64 指令集、存储器层次结构、链接、异常控制流、虚拟内存和并发编程,就像是大杂烩,把计算机中的很多知识都汇集到了一起,包括操作系统,但是又没有把各个知识点讲的很深入。

这门课有几个小巧精致的实验,令人印象深刻的是汇编相关的实验,包括拆炸弹和利用缓冲区溢出错误进行攻击,光看书上的知识而不做这些实验是没有灵魂的,做了之后才能知道自己的掌握程度。

数据库系统

上的是 CMU15-445,主讲教师 Andy 的语速飞快,还好在知乎找到了老哥为爱发电的熟肉视频😇,不然真就当场劝退。这门课讲解的是磁盘数据库,包括磁盘管理器、缓冲池管理器、索引、SQL 执行计划、并发控制理论和错误恢复几个部分。并发控制部分名词太多了,没怎么听懂(中间有 3 集是别人代课的),以后有时间再二刷吧。

配套一个 bustub 实验,会让你完成数据库的几个主要组件,因为要用 C++14 进行开发,所以为了完成实验还复习了一周的《C++ Primer》,这门课可以说是十分硬核了,和实验相关的博客汇总在 标签 – CMU15445

操作系统

上的是南京大学蒋炎岩老师在疫情期间录的网课,教材用的是《操作系统导论》,分成三个部分:虚拟化、并发和持久化,但是老师把并发放在了第一个讲。虚拟化分为 CPU 的虚拟化和内存虚拟化,并发部分讲了自旋锁、互斥锁、读写锁、条件变量和信号量以及几种协议,持久化讲了 Windows 古老的 FAT 文件系统,和教材有较大的差异(推荐看教材上讲的)。说实话,操作系统如果不敲代码的话很快就忘了上课所讲的东西,说的就是自己 😇

后端技术栈

上的也是动力节点老杜的课程,感觉这部分的知识还是挺旧的,学了 MyBatis 之后就没用过了。

上的是动力节点老杨的课,讲解了互联网通信模型和使用 Servlet 和 JSP 进行 Web 开发的方式。这老师天天开车,还举了一个香蕉应该横着吃还是竖着吃的例子,记忆犹新🥵

上的是动力节点王鹤老师的 Spring 系列课程以及尚硅谷雷丰阳老师的 SpringBoot 源码解读,前者是应用类的,后者则是原理类的(所以会有些枯燥)。先是学了 Spring,包括 IOC 和 AOP 的思想,然后是持久层的 MyBatis,接着是用于 Web 开发的 SpringMVC 框架,三个框架加起来好几个配置文件,做起项目来简直是配置地狱。还好有 SpringBoot,把配置浓缩到一个文件中,使用注解进行开发就是香啊。

但是写了一段时间之后发现平时用 Spring 全家桶也都是写 CRUD 的接口,发请求啥的还是用 Python 的 requests 方便啊。

刚开始看的是周志明老师的《 _深入理解_Java虚拟机》,看了三章之后实在是太枯燥无聊了,所以上了尚硅谷宋红康老师的 JVM 课程,主要有三个篇章:内存与垃圾回收篇、类加载器篇以及性能监控与调优篇,极力推荐这门网课!如果你只看了网上的博客或者一些过时的网课可能会告诉你类对象和字符串常量池是放在方法区(Java8 开始称作元空间)中的,但实际上是放在堆里面的,如果没学过这门课光看帖子很容易被误导。

上的是尚硅谷周阳老师的 JUC 课程,主要讲解了 CompletableFuture、并发中的各种”锁”事、多线程中断机制、Java 内存模型、CAS 原理、LockSupport 原理、ThreadLocal 技术、synchronized 锁升级以及最重要的抽象同步队列 AQS 原理。周阳老师会讲解源代码,并且一步步地进行源码拆分、调试和讲解,十分清晰,这不比《Java 并发编程之美》燃?

前端技术栈

这些其实大二和大三的时候就有接触过一些,主要是写爬虫用到了。JavaScript 是大三看《JavaScript高级程序设计(第4版)》 学的,红宝书又大又全,和《C++ Primer》 属于同一个级别的书籍,感觉不太适合入门,所以看了一段时间后就忘了😭 大四寒假又看了尚硅谷的 JS 课程才回忆起来。

上的是尚硅谷张天禹老师的 Vue 2 + Vue 3 全家桶课程,老师说话又好听,而且没有一开始就用脚手架进行教学,符合小白认知过程,课程内容可以覆盖 Vue 中的方方面面,推荐食用!

蓦然回首,发现过去一年还是学了不少东西,上课时间外不是在敲代码就是在敲代码的路上,但是有得必有失,敲了一年代码发现微积分和线性代数以及自己的专业课都忘光了,明天开学又得把大一到大三的知识复习一遍,以上 😇

Original: https://www.cnblogs.com/zhiyiYo/p/16667816.html
Author: 之一Yo
Title: 2021 个人年度小结

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582802/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 如何写出健壮可靠的shell脚本

    1 脚本失败时即退出 ; set -e 例子: 可以在脚本的开头设置如下set -e 2 打印脚本执行过程 sh -x test.sh #整个过程执行了哪些命令或者在开头加上set…

    Linux 2023年5月28日
    098
  • Linux网络编程基础API

    Linux网络API主要可分为: socket地址API socket基础API 网络信息API socket地址API 两种字节序 大端字节序:整数的高位字节存储在内存的低地址处…

    Linux 2023年6月13日
    076
  • Linux-系统启动与MBR扇区修复

    1.系统启动过程 1.1 MBR扇区 1.2 MBR扇区的备份与还原 1.3 修复MBR 1.3.1 dd备份MBR信息 1.3.2 光驱启动修复 1.4 grub故障修复 1.系…

    Linux 2023年5月27日
    0134
  • 这个世界上只有一种真正的英雄主义,那就是认清生活的真相并且仍然热爱它

    人生当中成功只是一时的,失败却是主旋律。但是如何面对失败,却把人分成了不同的样子。有的人会被失败击垮,有的人能够不断地爬起来继续向前。澳大利亚队是如此的,西班牙队也是如此。我想真正…

    Linux 2023年6月14日
    0141
  • 磁盘空间满,如何处理?

    作为运维人员,磁盘空间报警是最寻常遇到的情况,那么遇到空间如何处理呢?这里介绍一下处理办法及处理思路。 操作系统:centos系统 、Ubuntu 1 定位目录 收到空间报警信息,…

    Linux 2023年6月6日
    0108
  • 防止shell script多次运行

    防止shell script多次运行 一个思路是在script初期检测系统中是否存在同名进程。 if [ ps -ef | grep "test.sh" | g…

    Linux 2023年5月28日
    086
  • 009 Linux 文件大小统计与排序( du于df和sort)

    01 du 与 df 作用与区别? – du(disk usage) df(disk free) 02 du 常用命令示例 03 sort 常用参数 04 常用组合 d…

    Linux 2023年5月27日
    0164
  • 匿名远程启动jenkins的job

    安装jenkins插件Build Authorization Token Root job配置中的构建触发器,勾选触发远程构建,输入要用的令牌,如soul 通过jenkins地址调…

    Linux 2023年6月6日
    0136
  • Xshell的快捷键【转】

    删除ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dlctrl + h 删除光标所在位置前的字符相当于VIM里hx或者dhctrl + k 删除光标后面所有字符相当…

    Linux 2023年5月28日
    093
  • js阻止事件冒泡(phpcms,浮窗第一次10秒弹出后每30秒弹出,动态更换日期)

    /* v9_date_list 日期表 tiptime 考试日期(数据类型为日期) 如果要实现浮窗淡入淡出用jquery的(“#main0”).fadeIn…

    Linux 2023年6月13日
    0116
  • IDEA maven项目导包报红线

    原因:没有导入maven包 最后有设置一次,以后就无需设置 1、问题 2、打开Setting 3、将下载好的maven包导入 配置一次,就不用每次都需要配置 1、如果在这个界面先关…

    Linux 2023年6月14日
    0114
  • 30款提升组织效能 SaaS 工具,我们的宝藏工具箱大公开

    熟悉 Juicedata 的小伙伴知道,从2017年成立到第一款产品发布、从寻找PMF(Product Market Fit) 到开源,我们一直保持着一个精简的团队配置,不少人都很…

    Linux 2023年6月14日
    0192
  • 人人都写过的5个Bug!

    大家好,我是良许。 计算机专业的小伙伴,在学校期间一定学过 C 语言。它是众多高级语言的鼻祖,深入学习这门语言会对计算机原理、操作系统、内存管理等等底层相关的知识会有更深入的了解,…

    Linux 2023年6月14日
    0112
  • MySQL之变量

    mysql变量分类: 系统变量:系统自带的变量 状态变量:用于设置或保存系统的运行状态 用户自定义变量:用户自定义的变量 系统变量 使用@@标识一个系统变量,系统变量分为全局(gl…

    Linux 2023年6月7日
    0119
  • NRF24L01双向无线通信

    最近闲来无事,利用手头资源研究了一下基于nrf24L01的双向通信实验,整个系统如下图所示。原理:nrf24L01本身是一种单向通信的无线模块,但是,当nrf24L01工作在增强型…

    Linux 2023年6月14日
    095
  • 微服务网关Gateway实践总结

    有多少请求,被网关截胡; 一、Gateway简介 微服务架构中,网关服务通常提供动态路由,以及流量控制与请求识别等核心能力,在之前的篇幅中有说过Zuul组件的使用流程,但是当下Ga…

    Linux 2023年6月14日
    0111
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球