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

【跟我学K8S】45天入门到熟练详细学习计划

目录

一、什么是K8S

核心功能

架构组件

使用场景

二、入门到熟练的学习计划

第一周:K8s基础和概念

第二周:核心对象和网络

第三周:进阶使用和管理

 第四周:CI/CD集成和监控

第五周:实战模拟和案例分析

第六周:综合练习和准备面试


一、什么是K8S

Kubernetes(常简称为K8s)是一个开源的容器编排平台,用于自动化容器应用的部署、扩展和管理。它最初由Google设计并捐赠给Cloud Native Computing Foundation(CNCF)来维护和发展。Kubernetes 成为了容器化应用部署和管理的事实标准,广泛支持跨主机的容器协调。

核心功能

  • 自动化容器部署与回滚:Kubernetes 能够确保应用部署按照用户定义的状态进行,自动替换任何失败的实例。
  • 服务发现和负载均衡:Kubernetes 可以自动发布服务IP和DNS名给容器组,并能够负载均衡网络流量以实现高效的服务。
  • 水平扩缩:根据 CPU 使用情况或其他选择标准自动扩展或收缩应用容器的数量。
  • 自我修复:它能够重新启动失败的容器、替换和重新调度容器到其他节点、杀死不响应用户定义的健康检查的容器。
  • 密钥与配置管理:Kubernetes 允许你存储和管理敏感信息,如密码、OAuth 令牌和ssh密钥,可以在不重构应用程序镜像的情况下更新应用配置和密钥。

架构组件

  • Master节点:控制平面的组成部分,负责管理集群的状态,包括调度应用、维护应用的所期望的状态、扩展应用以及滚动更新。
  • 工作节点:这些节点包含运行应用容器的机器,每个节点都有一个 Kubelet,用于管理节点并与 Kubernetes master 节点通信。
  • etcd:可靠的分布式数据存储,用于保存所有集群数据,实现集群的状态备份和恢复。
  • Pod:Kubernetes 的基本构建块,是一组一个或多个容器,这些容器共享存储和网络资源,规定了如何运行这些容器。

使用场景

Kubernetes 非常适合微服务架构,因为它支持服务的自动发现和负载均衡。此外,它也支持CI/CD实践,自动化测试和部署。

由于其强大的功能和灵活性,Kubernetes 已经成为云环境中部署容器化应用的重要平台。

二、入门到熟练的学习计划

本专栏假定你是一个对计算机运维技术有一定的了解的初级运维开发人员,我将花45天时间带大家完成从K8S入门到熟练使用。我们需要将K8S的学习内容分解到每天的学习任务中,这个计划假设你每天能够投入大约3-4小时进行学习和实践。请根据个人情况灵活调整。

第一周:K8s基础和概念

Day 1

  • 了解K8s的背景和优势
  • 安装和配置K8s学习环境(Minikube,Docker等)

Day 2

  • 学习Pods和Nodes的基本概念和功能
  • 使用Minikube启动第一个Pod

Day 3

  • 学习Services和Deployments的基本概念
  • 用kubectl创建和管理Deployments

Day 4

  • 学习K8s的架构和主要组件(Master, etcd, kubelet等)
  • 实践:查看Minikube集群状态和组件

Day 5

  • 学习使用kubectl命令行工具进行集群管理
  • 实践:使用kubectl运行不同的命令查看和管理资源

Day 6

  • 学习K8s的Labels和Selectors
  • 实践:给Pods和Deployments添加Labels

Day 7

  • 复习本周学习的内容
  • 完成一个小项目:部署一个简单的多Pod应用

第二周:核心对象和网络

Day 8

  • 学习K8s的Networking模型
  • 实践:创建一个Service并连接几个Pods

Day 9

  • 深入理解Volumes和Persistent Volumes
  • 实践:为Pods添加Volumes

Day 10

  • 学习ConfigMaps和Secrets
  • 实践:使用ConfigMap配置应用

Day 11

  • 学习K8s的Namespaces
  • 实践:创建和管理不同的Namespaces

Day 12

  • 学习Ingress资源和Ingress Controllers
  • 实践:配置简单的Ingress规则

Day 13

  • 学习StatefulSets和DaemonSets
  • 实践:部署一个StatefulSet应用

Day 14

  • 复习本周学习的内容
  • 实践:搭建一个具有前端、后端和数据库的多层应用

第三周:进阶使用和管理

Day 15

  • 学习K8s的日志和监控基础
  • 实践:查看Pod日志和集群事件

Day 16

  • 学习K8s的Autoscaling
  • 实践:配置Horizontal Pod Autoscaler

Day 17

  • 学习Helm的基本用法
  • 实践:用Helm部署一个chart

Day 18

  • 学习K8s的安全,RBAC
  • 实践:设置RBAC权限控制

Day 19

  • 学习K8s的网络策略
  • 实践:配置NetworkPolicies

Day 20

  • 学习K8s的高级调度(Affinity, Taints, Tolerations)
  • 实践:配置Pod的调度偏好

Day 21

  • 复习本周学习的内容
  • 实践:用学到的知识优化之前的多层应用部署

 第四周:CI/CD集成和监控

Day 22

  • 学习CI/CD的概念以及如何与K8s集成
  • 实践:了解Jenkins或其他CI/CD工具

Day 23

  • 实践:使用CI/CD工具自动化部署应用到K8s

Day 24

  • 学习Prometheus和Grafana进行监控
  • 实践:为K8s集群设置监控

Day 25

  • 学习ELK Stack或Elasticsearch进行日志管理
  • 实践:集成日志收集和分析工具

Day 26

  • 学习备份和恢复策略
  • 实践:备份K8s集群资源和数据

Day 27

  • 学习集群维护和升级策略
  • 实践:尝试升级K8s集群的版本

Day 28

  • 复习本周学习的内容
  • 实践:模拟CI/CD流程,从代码提交到部署

第五周:实战模拟和案例分析

Day 29

  • 研究并分析一个成功的K8s案例研究,例如高流量的web应用迁移到K8s的案例
  • 实践:尝试重现案例中提到的K8s配置和部署策略

Day 30

  • 研究关于K8s在机器学习和大数据处理中的应用案例
  • 实践:模拟一个小型的机器学习应用部署在K8s上

Day 31

  • 分析一个复杂的多层应用在K8s上的部署案例(包括前端、后端服务和数据库)
  • 实践:构建并部署一个类似的多层应用到你的Minikube或云环境中

Day 32

  • 研究K8s在不同行业(如金融、医疗、零售)中的实际使用案例
  • 实践:根据行业特定需求设计一个K8s部署方案

Day 33

  • 研究K8s的灾难恢复案例
  • 实践:设置并测试K8s集群的备份和恢复流程

Day 34

  • 准备面试题目,尤其是相关案例研究中可能提到的问题
  • 实践:和同伴或朋友进行模拟面试,专注于K8s的实际应用和问题解决

Day 35

  • 参与K8s社区,例如Kubernetes论坛、Slack频道或本地用户组
  • 实践:提出你的疑问并尝试帮助解答他人的问题

第六周:综合练习和准备面试

Day 36

  • 复习K8s基础架构和核心概念
  • 实践:检查你的集群状态,确保你理解每个组件的作用和状态

Day 37

  • 复习Pods、Deployments、Services和其他K8s对象
  • 实践:尝试设计一个复杂的部署,包括多个服务和网络配置

Day 38

  • 复习K8s的存储和持久化选项
  • 实践:部署一个需要持久化存储的应用,如数据库

Day 39

  • 复习K8s的安全特性,如RBAC、Secrets、Network Policies
  • 实践:审计你的集群安全设置,确保没有不安全的配置

Day 40

  • 复习CI/CD与K8s的集成以及监控和日志管理
  • 实践:优化现有CI/CD流程,确保监控和日志收集的有效性

Day 41

  • 总结学习笔记,准备面试常见问题
  • 实践:在一个真实的环境中,从零开始部署一个复杂的项目

Day 42

  • 参与开源项目,寻找可以贡献的K8s相关任务
  • 实践:为开源项目提交一个PR(Pull Request),无论是文档改进还是代码贡献

每天完成学习和实践后,都应该留出时间进行反思和总结,考虑哪些地方理解得不够深入,哪些操作还不够熟练,并根据这些反馈调整后续的学习计划。记住,实战经验是非常宝贵的,尽可能地将学到的知识应用到实际问题中去。同时,准备面试不仅是为了回答问题,更是一个巩固知识、发现盲点的过程。通过这个专栏45天的学习,你将成为一个能熟练应用K8S于实战的运维开发工程师。

相关文章:

【跟我学K8S】45天入门到熟练详细学习计划

目录 一、什么是K8S 核心功能 架构组件 使用场景 二、入门到熟练的学习计划 第一周:K8s基础和概念 第二周:核心对象和网络 第三周:进阶使用和管理 第四周:CI/CD集成和监控 第五周:实战模拟和案例分析 第六周…...

ubuntu下载Nginx

一、Nginx下载安装(Ubuntu系统) 1.nginx下载 sudo apt-get install nginx2.nginx启动 启动命令 sudo nginx重新编译(每次更改完nginx配置文件后运行): sudo nginx -s reload3.测试nginx是否启动成功 打开浏览器访问本机80端口…...

【区分vue2和vue3下的element UI Dialog 对话框组件,分别详细介绍属性,事件,方法如何使用,并举例】

在 Vue 2 和 Vue 3 中,Element UI(针对 Vue 2)和 Element Plus(针对 Vue 3)提供了 Dialog 对话框组件,用于在页面中显示模态对话框。这两个库中的 Dialog 组件在属性、事件和方法的使用上有所相似&#xff…...

docker push 推送镜像到阿里云仓库

1.登陆阿里云 镜像服务,跟着指引操作就行 创建个人实例,创建命名空间、镜像仓库,绑定代码源头 2.将镜像推送到Registry $ docker login --username*** registry.cn-beijing.aliyuncs.com $ docker tag [ImageId] registry.cn-beijing.aliy…...

伯克利、斯坦福和CMU面向具身智能端到端操作联合发布开源通用机器人Policy,可支持多种机器人执行多种任务

不同于LLM或者MLLM那样用于上百亿甚至上千亿参数量的大模型,具身智能端到端大模型并不追求参数规模上的大,而是指其能吸收大量的数据,执行多种任务,并能具备一定的泛化能力,如笔者前博客里的RT1。目前该领域一个前沿工…...

昇思25天学习打卡营第17天(+1)|Diffusion扩散模型

1. 学习内容复盘 本文基于Hugging Face:The Annotated Diffusion Model一文翻译迁移而来,同时参考了由浅入深了解Diffusion Model一文。 本教程在Jupyter Notebook上成功运行。如您下载本文档为Python文件,执行Python文件时,请确…...

【Leetcode笔记】406.根据身高重建队列

文章目录 1. 题目要求2.解题思路 注意3.ACM模式代码 1. 题目要求 2.解题思路 首先,按照每个人的身高属性(即people[i][0])来排队,顺序是从大到小降序排列,如果遇到同身高的,按照另一个属性(即p…...

Linux 安装pdfjam (PDF文件尺寸调整)

跟Ghostscript搭配使用,这样就可以将不同尺寸的PDF调整到相同尺寸合并了。 在 CentOS 上安装 pdfjam 需要安装 TeX Live,因为 pdfjam 是基于 TeX Live 的。以下是详细的步骤来安装 pdfjam: ### 步骤 1: 安装 EPEL 仓库 首先,安…...

python+playwright 学习-90 and_ 和 or_ 定位

前言 playwright 从v1.34 版本以后支持and_ 和 or_ 定位 XPath 中的and和or xpath 语法中我们常用的有text()、contains() 、ends_with()、starts_with() //*[text()="文本"] //*[contains(@id, "xx")] //...

亲子时光里的打脸高手,贾乃亮与甜馨的父爱如山

贾乃亮这波操作,简直是“实力打脸”界的MVP啊! 7月5号,他一甩手,甩出张合照, 瞬间让多少猜测纷飞的小伙伴直呼:“脸疼不?”带着咱家小甜心甜馨, 回了哈尔滨老家,这趟亲…...

MySQL篇-SQL优化实战

SQL优化措施 通过我们日常开发的经验可以整理出以下高效SQL的守则 表主键使用自增长bigint加适当的表索引,需要强关联字段建表时就加好索引,常见的有更新时间,单号等字段减少子查询,能用表关联的方式就不用子查询,可…...

【MySQL备份】Percona XtraBackup总结篇

目录 1.前言 2.问题总结 2.1.为什么在恢复备份前需要准备备份 2.1.1. 保证数据一致性 2.1.2. 完成崩溃恢复过程 2.1.3. 解决非锁定备份的特殊需求 2.1.4. 支持增量和差异备份 2.1.5. 优化恢复性能 2.2.Percona XtraBackup的工作原理 3.注意事项 1.前言 在历经了详尽…...

【Git 】规范 Git 提交信息的工具 Commitizen

Commitizen是一个用于规范Git提交信息的工具,它旨在帮助开发者生成符合一定规范和风格的提交信息,从而提高代码维护的效率,便于追踪和定位问题。以下是对Commitizen的详细介绍。 1、Commitizen的作用与优势 规范提交信息:通过提供…...

ABB PPC902AE1013BHE010751R0101控制器 处理器 模块

ABB PPC902AE1013BHE010751R0101 该模块是用于自动化和控制系统的高性能可编程控制器。它旨在与其他自动化和控制设备一起使用,以提供完整的系统解决方案 是一种数字输入/输出模块,提供了高水平的性能和可靠性。它专为苛刻的工业应用而设计&#xff0c…...

大模型AIGC转行记录(一)

自从22年11月chat gpt上线以来,这一轮的技术浪潮便变得不可收拾。我记得那年9月份先是在技术圈内讨论,然后迅速地,全社会在讨论,各个科技巨头、金融机构、政府部门快速跟进。 软件开发行业过去与现状 我19年决定转码的时候&…...

element-ui Tree之懒加载叶子节点强制设置父级半选效果

效果: 前言: 我们是先只展示一级的,二级的数据是通过点击之后通过服务器获取数据,并不是全量数据直接一起返回回来的。 问题: 当你设置了默认选中的子节点,但是由于刚进入页面此时tree中数据暂是没有这个…...

Java项目:基于SSM框架实现的高校共享单车管理系统分前后台【ssm+B/S架构+源码+数据库+开题报告+任务书+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的高校共享单车管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、…...

【Android】自定义换肤框架02之自定义AssetManager和Resource

ResourceId是如何变成对应Resource的 在上一章中,我们已经讲过,apk中有个资源索引文件 其中保存了每个资源对应的id,name,type,path 资源文件的解析,主要涉及两个类,AssetManager和Resource …...

熵权法、熵值法、熵权TOPSIS三种方法的实用场景及优劣比较

在统计分析与决策分析中,熵权法、熵值法和熵权TOPSIS是三种常用的基于信息熵理论的方法。这些方法在处理多属性或多指标决策问题时,能够客观地反映数据的内在特性和各指标的相对重要性,为科学决策提供了有力支持。 熵权法 实用场景 熵权法是一种基于信息熵的客观赋权方法…...

无人机人员搜救

人员搜救-水域救援 水域搜救:快速水面搜查 物资抛投:救生物资抛投 绳索牵引:牵引救援绳索 领航船艇:水面侦察领航 人员搜救 昼夜搜救,精准定位 水域搜救 经纬 M300 RTK 搭载禅思 H20T 能够满足全天候作业需求&a…...

目标检测算法

讯飞星火 目标检测算法是计算机视觉领域的一项核心技术,用于在数字图像或视频中识别和定位一个或多个特定对象实例。这些算法通常需要确定对象的位置(例如通过边界框)和类别(例如人、汽车、狗等)。以下是一些流行的目…...

SpringSecurity 三更草堂学习笔记

0.简介 Spring Security是Spring家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。 一般来说中大型的项目都是使用SpringSecurity来做安全框架。小项目有Shiro的比较多,因为相比与Spring…...

鸿蒙生态应用开发白皮书V3.0

来源:华为: 近期历史回顾:...

CSS - 深入理解选择器的使用方式

CSS基本选择器 通配选择器元素选择器类选择器id 选择器 通配选择器 作用:可以选中所有HTML元素。语法: * {属性名;属性值; }举例: /* 选中所有元素 */ * {color: orange;font-size: 40px; }在清除样式方面有很大作用 元素选择器…...

动手学深度学习(Pytorch版)代码实践 -循环神经网络-54~55循环神经网络的从零开始实现和简洁实现

54循环神经网络的从零开始实现 import math import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2l import matplotlib.pyplot as plt import liliPytorch as lp# 读取H.G.Wells的时光机器数据集 batch_size, num_steps 32, …...

Python酷库之旅-第三方库Pandas(006)

目录 一、用法精讲 10、pandas.DataFrame.to_excel函数 10-1、语法 10-2、参数 10-3、功能 10-4、返回值 10-5、说明 10-6、用法 10-6-1、数据准备 10-6-2、代码示例 10-6-3、结果输出 11、pandas.ExcelFile类 11-1、语法 11-2、参数 11-3、功能 11-4、返回值 …...

智慧矿山:EasyCVR助力矿井视频多业务融合及视频转发服务建设

一、方案背景 随着矿井安全生产要求的不断提高,视频监控、数据传输、通讯联络等业务的需求日益增长。为满足矿井生产管理的多元化需求,提高矿井作业的安全性和效率,TSINGSEE青犀EasyCVR视频汇聚/安防监控综合管理平台,旨在构建一…...

Unix/Linux shell实用小程序1:生字本

前言 在日常工作学习中,我们会经常遇到一些不认识的英语单词,于时我们会打开翻译网站或者翻译软件进行查询,但是大部分工具没有生词本的功能,而有生字本的软件又需要注册登陆,免不了很麻烦,而且自己的数据…...

springboot2.7.6 集成swagger

在 Spring Boot 2.7.6 版本中集成 Swagger 的步骤相对直接,主要涉及添加依赖、编写配置以及在控制器中添加文档注解几个环节。 下面是集成 Swagger 的基本步骤: 1. 添加依赖 首先,在pom.xml文件中添加 Swagger 相关依赖。 对于 Spring Boot…...

面试篇-系统设计题总结

文章目录 1、设计一个抢红包系统1.1 高可用的解决方案:1.2 抢红包系统的设计1.3 其他 2、秒杀系统设计 这里记录一些有趣的系统设计类的题目,一般大家比较喜欢出的设计类面试题目会和高可用系统相关比如秒杀和抢红包等。欢迎大家在评论中评论自己遇到的题…...

如何摆脱反爬虫机制?

在网站设计时,为了保证服务器的稳定运行,防止非法数据访问,通常会引入反爬虫机制。一般来说,网站的反爬虫机制包括以下几种: 1. CAPTCHA:网站可能会向用户显示CAPTCHA,要求他们在访问网站或执行…...

68745

877454...

github仓库的基本使用-创建、上传文件、删除

1.第一步 先点击左侧菜单栏的远程仓库 2.点击NEW 3.创建仓库 然后点击右下角的 CREATE 4.点击code 点击SSH,然后我出现了You don’t have any public SSH keys in your GitHub account. You can add a new public key, or try cloning this repository via HTTPS. 1&#xff…...

[课程][原创]opencv图像在C#与C++之间交互传递

opencv图像在C#与C之间交互传递 课程地址:https://edu.csdn.net/course/detail/39689 无限期视频有效期 课程介绍课程目录讨论留言 你将收获 学会如何封装C的DLL 学会如何用C#调用C的DLL 掌握opencv在C#和C传递思路 学会如何配置C的opencv 适用人群 拥有C#…...

科研绘图系列:R语言双侧条形图(bar Plot)

介绍 双侧条形图上的每个条形代表一个特定的细菌属,条形的高度表示该属的LDA得分的对数值,颜色用来区分不同的分类群或组别,它具有以下优点: 可视化差异:条形图可以直观地展示不同细菌属在得分上的差异。强调重要性:较高的条形表示某些特征在区分不同组别中具有重要作用…...

计算机未来大方向的选择

选专业要了解自己的兴趣所在。 即想要学习什么样的专业,如果有明确的专业意向,就可以有针对性地选择那些专业实力较强的院校。 2.如果没有明确的专业意向,可以优先考虑一下院校。 确定一下自己想要选择综合性院校还是理工类院校或是像财经或者…...

AndroidKille不能用?更新apktool插件-cnblog

AndroidKiller不更新插件容易报错 找到apktool管理器 填入apktool位置,并输入apktool名字 选择默认的apktool版本 x掉,退出重启 可以看到反编译完成了...

非参数检测2——定义

定义:若研究二判定问题(即判断有无信号)的检测问题, 检测器的虚警概率可以由对输入数据统计特性提出微弱假设确定假设中不包含输入噪声的统计特性 则称该检测器为非参数检测器。 设计目标 在未知或时变环境下,有最…...

iOS多target时怎么对InfoPlist进行国际化

由于不同target要显示不同的App名称、不同的权限提示语,国际化InfoPlist文件必须创建名称为InfoPlist.strings的文件,那么多个target时怎么进行国际化呢?步骤如下: 一、首先我们在项目根目录创建不同的文件夹对应多个不同的targe…...

TZDYM001矩阵系统源码 矩阵营销系统多平台多账号一站式管理

外面稀有的TZDYM001矩阵系统源码,矩阵营销系统多平台多账号一站式管理,一键发布作品。智能标题,关键词优化,排名查询,混剪生成原创视频,账号分组,意向客户自动采集,智能回复&#xf…...

你的 Mac 废纸篓都生苍蝇啦

今天给大家推荐个免费且有趣的小工具 BananaBin,它可以在你的废纸篓上“长”一些可爱的苍蝇🪰。 软件介绍 BananaBin 是 macOS 上的一款有趣实用工具,当你的垃圾桶满了时,它会提醒你清理。这个软件通过在垃圾桶上添加互动的苍蝇…...

推出新的C2000™ F28P65x 实时微控制器,专为高效控制电力电子产品而构建(F28P650DH、F28P650DK、F28P650SH)

C2000™ F28P65x 实时微控制器是集中级性能、PWM 和模拟创新与系统成本优化等优势于一身。 F28P65x 系列是 C2000™ 实时微控制器 (MCU) 系列的中级性能系列产品,专为高效控制电力电子产品而构建。凭借超低延迟,F28P65x 通过更多的模拟功能和新的 PWM 功…...

使用Java实现分布式日志系统

使用Java实现分布式日志系统 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在分布式系统中,日志记录是一项至关重要的任务。它不仅用于故障排查和…...

Java 基础查漏补缺

1.深入解读:JDK与JRE的区别 JDK提供了完整的Java开发工具和资源,包括编译器、调试器和其他开发工具,满足开发人员的各种需求。 JRE则相对更为基础,它只提供了Java程序运行所需的环境,包含了Java虚拟机(JVM&…...

甲骨文首次将LLMs引入数据库,集成Llama 3和Mistral,和数据库高效对话

信息时代,数据为王。数据库作为数据存储&管理的一种方式,正在以势不可挡的趋势与AI结合。 前有OpenAI 收购了数据库初创公司 Rockset,引发广泛关注;Oracle公司(甲骨文)作为全球最大的信息管理软件及服…...

HumbleBundle7月虚幻捆绑包30件军事题材美术模型沙漠自然环境大逃杀模块化建筑可定制武器包二战现代坦克飞机道具丧尸士兵角色模型20240705

HumbleBundle7月虚幻捆绑包30件军事题材美术模型沙漠自然环境大逃杀模块化建筑可定制武器包二战现代坦克飞机道具丧尸士兵角色模型202407051607 这次HumbleBundle捆绑包是UE虚幻军事题材的,内容非常多。 有军事基地、赛博朋克街区、灌木丛景观环境等 HB捆绑包虚幻…...

SQL 别名

SQL 别名 在SQL(Structured Query Language)中,别名是一种常用的技术,用于给表或列指定一个临时的名称,以便在查询中使用。这种技术可以提高查询的可读性,使查询更加清晰和易于理解。本文将详细介绍SQL别名的概念、用途、语法以及在不同场景下的应用示例。 1. 什么是SQ…...

浅谈反射机制

1. 何为反射? 反射(Reflection)机制指的是程序在运行的时候能够获取自身的信息。具体来说,反射允许程序在运行时获取关于自己代码的各种信息。如果知道一个类的名称或者它的一个实例对象, 就能把这个类的所有方法和变…...

解决obsidian加粗中文字体显示不突出的问题

加粗字体显示不突出的原因:默认字体的加粗版本本来就不突出 解决方法:改成显示突出的类型Microsoft YaHei UI 【效果】 修改前:修改后: 其他方法: 修改css(很麻烦,改半天也不一定奏效&#…...

Shell echo命令

Shell echo命令 在Shell编程中,echo命令是一个常用的内置命令,用于在终端或控制台上显示文本或变量的值。它是与用户交互的一种基本方式,经常用于输出信息、创建文件内容或与脚本的其他部分进行通信。本文将详细介绍echo命令的用法、选项和实际应用示例。 基本用法 echo命…...