0%

1 安装dart环境

1.1 Linux

使用apt-get包管理器安装:

  1. 更新包和安装安全HTTP包
    1
    sudo apt-get update && sudo apt-get install apt-transport-https
    2、下载和添加google 的Linux GPG 公共密钥
    1
    2
    wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub \
    | sudo gpg --dearmor -o /usr/share/keyrings/dart.gpg

3、添加dart包仓库到你的Linux系统

1
2
echo 'deb [signed-by=/usr/share/keyrings/dart.gpg arch=amd64] https://storage.googleapis.com/download.dartlang.org/linux/debian stable main' \
| sudo tee /etc/apt/sources.list.d/dart_stable.list
4、使用apt-get命令安装
1
sudo apt-get update && sudo apt-get install dart

上面的1~3步是第一次安装才需要的

1.2 MacOS

首先确保你有brew包管理器,没有则安装,之后执行下述命令

1
2
brew tap dart-lang/dart
brew install dart

2 dart简介

类定义的面向对象编程范式,具有单继承特性,语法结构近似C语言且支持转译为JavaScript,提供接口、混入、抽象类、具体化泛型、可选类型及健全类型系统等编程特性。2015年开发了基于该语言的移动应用框架flutter

1 net/http库

2 压缩前缀树Radix Tree

3 Gin框架架构

4 Gin框架使用

1 什么是容器化技术

容器共享主机内核,轻量、隔离且高效,不像虚拟机需要完整的操作系统,下图展示了 Docker 容器的基本架构:

  • 上层: 是多个容器(App A~F),每个容器独立运行一个应用。
  • 中间层: 是 Docker,负责管理这些容器。
  • 底层: 是主机操作系统(Host OS)和基础设施,为容器提供硬件和系统支持。

阅读全文 »

1. go简述

1.1 为什么要创造一门编程语言

  • C/C++ 的发展速度无法跟上计算机发展的脚步,十多年来也没有出现一门与时代相符的主流系统编程语言,因此人们需要一门新的系统编程语言来弥补这个空缺,尤其是在计算机信息时代。
  • 相比计算机性能的提升,软件开发领域不被认为发展得足够快或者比硬件发展得更加成功(有许多项目均以失败告终),同时应用程序的体积始终在不断地扩大,这就迫切地需要一门具备更高层次概念的低级语言来突破现状。
  • 在 Go 语言出现之前,开发者们总是面临非常艰难的抉择,究竟是使用执行速度快但是编译速度并不理想的语言(如:C++),还是使用编译速度较快但执行效率不佳的语言(如:.NET、Java),或者说开发难度较低但执行速度一般的动态语言呢?显然,Go 语言在这 3 个条件之间做到了最佳的平衡:快速编译,高效执行,易于开发。
阅读全文 »

1 go的工具链

2.1 核心重点(总览)

序号 核心命令 功能说明
1 go run 快速运行程序,不生成可执行文件
2 go build 构建项目,生成可执行文件
3 go install 安装程序或模块到$GOPATH/go/bin 目录(直接安装成为二进制)
4 go test 运行单元测试
5 go mod 模块管理命令(init/tidy/get/vendor)
6 go fmt 自动格式化代码
7 go vet 静态检查,查找常见错误
8 go list 查看模块或包信息
9 go doc 查看文档
10 go clean 清理构建生成的临时文件
阅读全文 »

1 CSS

css是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为 .css。通过使用 CSS 我们可以大大提升网页开发的工作效率!其语法如下:

  • 选择器通常是需要改变样式的 HTML 元素
  • 每条声明由一个属性和一个值组成。
  • CSS声明总是以分号 ; 结束,声明总以大括号 {} 括起来
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<style>
p
{
color:red;
text-align:center;
}
</style>
</head>

<body>
<p>Hello World!</p>
<p>这个段落采用CSS样式化。</p>
</body>
</html>

css的注释是同c++的/* */

阅读全文 »

1 vue简介

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面

Vue 是一个框架,也是一个生态。其功能覆盖了大部分前端开发常见的需求。但 Web 世界是十分多样化的,不同的开发者在 Web 上构建的东西可能在形式和规模上会有很大的不同。考虑到这一点,Vue 的设计非常注重灵活性和“可以被逐步集成”这个特点。根据你的需求场景,你可以用不同的方式使用 Vue:

  • 无需构建步骤,渐进式增强静态的 HTML
  • 在任何页面中作为 Web Components 嵌入
  • 单页应用 (SPA)
  • 全栈 / 服务端渲染 (SSR)
  • Jamstack / 静态站点生成 (SSG)
  • 开发桌面端、移动端、WebGL,甚至是命令行终端中的界面
阅读全文 »

1 Django 简介

1.1 基本介绍

Django 是一个高级的 Python Web 框架,用于快速开发可维护和可扩展的 Web 应用程序。

使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务。

Django 本身基于 MVC 模型,即 Model(模型)+ View(视图)+ Controller(控制器)设计模式,MVC 模式使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。

Django想要理解,首先要明白的就是Django的大致组成,它大致由四部分组成,也就是提到的MTV模型:

  • Model(模型):负责业务对象与数据库的对象(orm)

  • Template(模板):负责把数据展示给用户(前端的东西)

  • View(视图):负责业务逻辑,并在适当的时候会调用Model和Template

  • URL分发器:通过前台请求的url,来分配调到相应的函数操作,类似于网络中的路由表,控制网络的下一跳的地址。

阅读全文 »

1 什么是OpenTelemtry

OpenTelemetry,也称为 OTel,是一个供应商中立的开源可观测性框架 用于检测、生成、收集和导出遥测数据,例如跟踪(trace)、指标(metric)和日志(log)等signal(信号)。OpenTelemetry 是一个可观测性框架和工具包,旨在创建和管理遥测数据,例如跟踪、指标和日志。至关重要的是,OpenTelemetry 是供应商和 与工具无关,这意味着它可以与各种可观测性一起使用

1.1 什么是可观测性?

可观测性是指通过检查系统的内部输出来了解系统内部状态的能力。在软件的上下文中,这意味着能够理解 通过检查系统的遥测数据来检查系统的内部状态,其中遥测数据包括跟踪、指标和日志

要使系统可观察,必须对其进行检测。也就是说,代码必须发出跟踪、指标或日志。然后,必须将检测的数据发送到可观测性后端

阅读全文 »

什么是虚拟化(VMVARE的实现原理是什么,为什么能够在一个系统上虚拟化实现另一个系统?)

VMware是一款强大的虚拟化软件,它能够在一个物理服务器上创建并运行多个虚拟机,每个虚拟机都像是独立的计算机系统,拥有自己的操作系统和应用程序。VMware实现虚拟化的原理主要基于以下几个关键组件和技术:

  • 虚拟机监视器(Hypervisor):VMware通过在物理服务器上安装虚拟机监视器(也被称为VMM或Hypervisor)来实现虚拟化。VMM是一个软件层,位于物理服务器和虚拟机之间,负责管理虚拟机的创建、启动、停止和运行。VMM能够抽象物理服务器的硬件资源,为虚拟机提供一个隔离的、安全的运行环境。

  • 资源隔离:VMM通过创建逻辑分区来将物理服务器的计算资源(如处理器、内存、存储等)分配给不同的虚拟机。每个虚拟机都在自己的逻辑环境中运行,与其他虚拟机相互隔离。这种隔离性确保了每个虚拟机都能够独立运行,互不影响,从而提供了更高的安全性和可靠性。

  • 资源共享:虚拟化平台利用资源池的概念,将物理服务器上的处理能力和存储容量整合在一起,然后动态地按需分配给虚拟机。这意味着物理资源可以根据虚拟机的需求进行灵活分配和调整,提高了资源的利用率和系统的灵活性。

  • 虚拟硬件:VMware虚拟化可以模拟多种虚拟硬件设备,包括处理器、内存、磁盘、网络接口等。每个虚拟机都认为自己拥有独立的硬件资源,可以在其内部安装操作系统和应用程序。这种模拟使得虚拟机能够像真实计算机一样运行各种软件和服务。

  • 内存和存储虚拟化:VMware使用内存分页技术将虚拟机的内存分成固定大小的页面,并映射到物理服务器的内存中。同时,它也将物理服务器的存储资源虚拟化为多个独立的虚拟存储设备,供虚拟机使用。

  • ** 迁移和克隆**:VMware还支持虚拟机的迁移和克隆操作,这意味着虚拟机可以在不同的物理服务器之间轻松迁移,或者创建虚拟机的副本以进行备份或扩展。

通过上述技术和组件的协同工作,VMware能够在单一系统上实现多个虚拟系统的运行。这种虚拟化技术不仅提高了硬件资源的利用率,还简化了系统的管理和维护,使得用户可以更加灵活和高效地部署和管理应用程序和服务。