练好基本功,优秀工程师成长第一步

news2024/12/25 23:59:41

计算机基础作用

举例1:若是我们要开发大规模应用系统,如电商服务系统,要考虑很多

1. 这个服务应用要用什么语言来编写?

2. 是采用单体进程,还是用多个进程来协同工作?

3. 如何管理长期使用的内存空间?如何避免系统 IO 抖动?

4. 如何处理网络带来的各种问题,比如通信拥堵、拒绝请求,甚至掉线?

这些问题,显然不是我们知道这些方面的几个接口函数就能解决的

举例2:在往生产数据库中导入部分数据时,会造成客户端的访问超时

如果你没能掌握文件系统、Cache、IO 等基础的话,就很难想到用 iotop、iostat 等工具去查看 IO 操作,也就无从发现 MySQL 在导入数据时还会产生大量的日志,而这些日志也需要存盘引发大量 IO 操作,导致 IO 带宽爆满,造成访问超时。更不用说想到可以用 MySQL 的 innodb_flush_log_at_trx_commit 来控制 MySQL 的 log 行为了

举例3:

如果你不知道操作系统与 CPU、RAM 等硬件的交互原理,就很难理解 JVM 为啥要抽象出堆、虚拟机栈和本地方法栈、程序计数器、方法区之类的概念来屏蔽硬件差异,更别说理解 JVM、JUC 中的内存管理、多线程安全的核心设计思想了。你看,写不出高并发、安全可靠程序的瓶颈,深究起来欠缺的竟然是底层基础知识。

想要成为优秀工程师,就需要你深入芯片、内存、语言、应用、IO 与文件等这些基础组件学习研究,甚至还要钻研语言指令的运转,搞懂芯片尤其是 CPU 的机制原理。这些基础,不仅仅是对计算机本身很重要,对从事计算机的任何细分行业的每个人都很重要。

计算机基础要怎么学?

一个人的自我学习能力和态度决定着技术成就,不然只会陷入 CRUD Boy 或者 API Caller 的圈子里,终日忙忙碌碌却依旧原地踏步。IT 人就是要时刻保持学习,才能不会被淘汰。

此文章为4月Day25学习笔记,内容来源于极客时间《计算机基础实战课》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/462984.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

( 栈和队列) 155. 最小栈 ——【Leetcode每日一题】

❓155. 最小栈 难度:中等 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。…

WiFi电子标签简介

WiFi电子标签系统概述: WIFI电子办公标牌系统是一种先进的无线自动更新系统,取代了传统的纸质标牌/桌牌需要人工更换的方式。WIFI ESL系统只需要一个电子办公标志设备,让它在办公或会议空间工作,快速改变人员或会议信息。这是一种…

Docker -compose 安装使用

命令 总结 yum install docker-compose-plugin docker compose version docker compose up docker compose up -d相关的配置。 创建docker-conpose 目录,并创建docker-compose.yml文件 version: 3 services: mysql: image: mysql restart: always co…

【基础算法】二叉树相关题目

系列综述: 💞目的:本系列是个人整理为了秋招算法的,整理期间苛求每个知识点,平衡理解简易度与深入程度。 🥰来源:材料主要源于代码随想录进行的,每个算法代码参考leetcode高赞回答和…

[ICLR 2023] Token Merging: Your ViT But Faster

Contents IntroductionToken MergingExperimentsImage ExperimentsDesign choicesModel SweepComparison to Other WorksVisualizations Video ExperimentsAudio Experiments References Introduction 作者提出了一种 token 合并方法 Token Merging (ToMe),能够在不…

【Tasking_IDE】-1-如何让目录下的C文件不参与编译

案例背景: 当您在使用Tasking TriCore Eclipse IDE集成开发环境编译时,是不是有时遇到这样一个问题:导入了一个算法/驱动文件夹,但文件夹里面不是所有的C文件都要参与编译,于是您可能想到把这些“不参与编译的文件”删…

Kafka3.0.0版本——生产者 数据去重

目录 一、数据传递语义1.1、至少一次1.2、最多一次1.3、精确一次 二、幂等性2.1、幂等性原理2.2、重复数据的判断标准2.3、如何使用幂等性 三、生产者 事务3.1、Kafka事务原理3.2、Kafka事务注意事项3.3、Kafka事务的5个API3.3.1、初始化事务API3.3.2、开启事务API3.3.3、在事务…

CMake Tutorial Step1

CMake Tutorial Step1 参考资料:Step 1: A Basic Starting Point — CMake 3.26.3 Documentation Tutorial工程:官方Tutorial工程 开发环境:CLion CMake简介 方便起见直接问New Bing。 为什么要学习CMake? CMake的最大特点和…

微服务---分布式搜索引擎 elasticsearch基础

分布式搜索引擎 elasticsearch基础 0.学习目标 1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 例如: 在GitH…

centos7操作yum命令失败

前言设置网卡开机自动启动设置国内dns服务器系统修改CentOS-Base.repo中的地址 前言 刚安装完的CentOS7的系统,发现无法使用yum命令进行更新,在更新的时候会出现下面这种内容,为此问题有以下这些解决方案可以尝试。 One of the configured r…

两段视频合成一个视频用什么软件 怎么把两段视频合成一段看不出来

两段视频合成一个视频用什么软件?无论是两段视频的合成,还是三段视频的合成,用视频编辑软件都能轻松搞定。但怎么把两段视频合成一段看不出来?这就比较考验制作者的功力了,不过我们还是有捷径的,下面一起来…

new和delete

目录 malloc: 开辟失败:返回值为空指针 new: 内置类型: 申请一个int对象(开辟一块存储int类型数据的空间,只能存储一个int数据): 申请5个int对象(开辟一块存储int类型数据的空间&#xff…

Blender3.5 边的操作

目录 1. 边操作1.1 边的细分 Subdivide1.2 边的滑移 Edge Slide1.3 边的删除1.4 边的溶解 Dissolve1.5 边线倒角 Bevel1.6 循环边 Loop Edges1.7 并排边 Ring Edges1.8 桥接循环边 1. 边操作 1.1 边的细分 Subdivide 在边选择模式,选中一条边,右键&…

JVM系列(十一) 垃圾收集器之 Concurrent Mark Sweep 并发标记清除

垃圾收集器之 Concurrent Mark Sweep 并发标记清除 上几篇文章我们讲解了单线程垃圾收集器 Serial/SerialOld ,多线程垃圾收集器 Parallel Scavenge/Old, 本文我们讲解下 Concurrent Mark Sweep 简称CMS垃圾收集器 垃圾收集器 新生代收集器: Serial、ParNew、Par…

图解 | 原来这就是网络

​​ 你是一台电脑,你的名字叫 A 很久很久之前,你不与任何其他电脑相连接,孤苦伶仃。 ​ 直到有一天,你希望与另一台电脑 B 建立通信,于是你们各开了一个网口,用一根网线连接了起来。 ​ 用一根网线连接起来…

[晕事]今天做了件晕事7

今天在使用iptables与grep的时候碰到一件晕事; 第一步添加了一条rule到OUTPUT: iptables -A OUTPUT --source 10.87.51.2 --destination 10.87.51.10 -p tcp --sport 5060 -j DROP 第二步使用:iptables -nL | grep DROP 发现这条记录跑到了FO…

玩转ESP32 PWM输出,制作炫酷呼吸灯效果

文章目录 什么是PWM软硬件使用ESP32实现PWM输出代码讲解结语 什么是PWM PWM(Pulse Width Modulation)是一种常用的模拟信号产生技术,它通过对一个定时器的计数值进行调整来改变输出信号的占空比,从而控制输出信号的平均电压值&am…

idea使用 ( 二 ) 创建java项目并导入依赖jar

3.创建java项目 3.1.创建普通java项目 3.1.1.打开创建向导 接 2.3.1.创建新的项目 也可以 从菜单选择建立项目 会打开下面的选择界面 3.1.2.不使用模板 3.1.3.设置项目名 Project name : 项目名 Project location : 项目存放的位置 确认创建 3.1.4.关闭tips 将 Dont s…

Spring Boot集成ShardingSphere实现数据分片(一) | Spring Cloud 40

一、背景 传统的将数据集中存储至单一节点的解决方案,在性能、可用性和运维成本这三方面已经难于满足海量数据的场景。 从性能方面来说,由于关系型数据库大多采用 B 树类型的索引,在数据量超过阈值的情况下,索引深度的增加也将使…

Mail 邮件服务

~ Postfix ~ sdskill.com 的邮件发送服务器 ~~ 支持smtps(465)协议连接,使用Rserver颁发的证书,证书路径/CA/cacert.pem ~ 创建邮箱账户“user1~user99”(共99个用户),密码为Chinaskill20!; ~ Dovecot ~ sdskill.com 的邮件接收服务器; ~ 支持imap…