Go 语言核心编程-环境入门篇

news2024/12/26 11:53:33

第 1 章 Golang 开山篇

1.1 Golang 的学习方向

Go 语言,我们可以简单的写成 Golang

在这里插入图片描述

1.2 Golang 的应用领域

1.2.1区块链的应用开发

在这里插入图片描述

1.2.2后台的服务应用

在这里插入图片描述

1.2.3云计算/云服务后台应用

在这里插入图片描述

1.3 学习方法的介绍

在这里插入图片描述

1.4 讲课的方式的说明

  1. 努力做到通俗易懂
  2. 注重 Go 语言体系,同时也兼顾技术细节
  3. 在实际工作中,如何快速的掌握一个技术的分享,同时也是我们授课的思路(怎么讲解或者学习一个
    技术)。(很多学员反馈非常受用)
    在这里插入图片描述

第 2 章 Golang 的概述

2.1 什么是程序

程序:就是完成某个功能的指令的集合。画一个图理解:
在这里插入图片描述
在这里插入图片描述

2.2 Go 语言的诞生小故事

2.2.1Go 语言的核心开发团队-三个大牛

在这里插入图片描述

2.2.2Google 创造 Golang 的原因

在这里插入图片描述

2.2.3Golang 的发展历程

  • 2007 年,谷歌工程师 Rob Pike, Ken Thompson 和 Robert Griesemer
    开始设计一门全新的语言,这是Go 语言的最初原型。
  • 2009 年 11 月 10 日,Google 将 Go 语言以开放源代码的方式向全球发布。
  • 2015 年 8 月 19 日,Go 1.5 版发布,本次更新中移除了”最后残余的 C 代码”
  • 2017 年 2 月 17 日,Go 语言 Go 1.8 版发布。
  • 2017 年 8 月 24 日,Go 语言 Go 1.9 版发布。 1.9.2 版本
  • 2018 年 2 月 16 日,Go 语言 Go 1.10 版发布。

2.3 Golang 的语言的特点

简介:
Go 语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发维护的高效率
,使用一个表达式来形容 Go 语言:Go = C + Python , 说明 Go 语言既有 C 静态语言程
序的运行速度,又能达到 Python 动态语言的快速开发。

  1. 从 C 语言中继承了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等
    等,也保留了和 C 语言一样的编译执行方式及弱化的指针
    举一个案例(体验):
//go 语言的指针的使用特点(体验)
func testPtr(num *int) {
	*num = 20
}
  1. 引入包的概念,用于组织程序结构,Go 语言的一个文件都要归属于一个包,而不能单独存在。
package main //一个Go语言需要一个包
import "fmt"
func main(){
	//输出一句话
	fmt.Println("ok")
}
  1. 垃圾回收机制,内存自动回收,不需开发人员管理
  2. 天然并发 (重要特点)
    (1) 从语言层面支持并发,实现简单
    (2) goroutine,轻量级线程,可实现大并发处理,高效利用多核。
    (3) 基于 CPS 并发模型(Communicating Sequential Processes )实现
  3. 吸收了管道通信机制,形成 Go 语言特有的管道 channel 通过管道 channel , 可以实现不同的 goroute
    之间的相互通信。
  4. 函数可以返回多个值。举例:
    //写一个函数,实现同时返回 和,差
//go 函数支持返回多个值
func getSumAndSub(n1 int, n2 int) (int, int ) {
	sum := n1 + n2 //go 语句后面不要带分号. sub := n1 - n2
	return sum , sub
}
  1. 新的创新:比如切片 slice、延时执行 defer

2.4 Golang 的开发工具的介绍

2.4.1工具介绍

在这里插入图片描述
在这里插入图片描述

2.4.2工具选择

  1. 如何选择开发工具
    我们先选择用 visual studio code 或者 vim 文本编辑器本,到大家对 Go 语言有一定了解后,我们再
    使用 Eclipse 等 IDE 开发工具。
  2. 这是为什么呢?
    (1) 更深刻的理解 Go 语言技术,培养代码感。->写代码的感觉。
    (2) 有利于公司面试。-> 给你纸,写程序

2.4.3VSCode 的安装和使用

  1. 先到下载地址去选择适合自己系统的 VSCode 安装软件
    https://code.visualstudio.com/download
    在这里插入图片描述
  2. 演示如何在 windows 下安装 vscode 并使用
    步骤 1: 把 vscode 安装文件准备好
    在这里插入图片描述
    在这里插入图片描述
    步骤 2:双击安装文件,就可以一步一步安装,我个人的习惯是安装到 d:/programs 目录. 当看到如下界面时,就表示安装成功!
    在这里插入图片描述
    步骤 3: 简单的使用一下 vscode
    在 d 盘创建了一个文件夹 gocode
    在这里插入图片描述
  3. 演示如何在 Linux(ubuntu /centos)下安装 vscode 并使用
    这里,我们介绍一下我的 linux 的环境:
    步骤 1: 先下载 linux 版本的 vscode 安装软件
    在这里插入图片描述
    步骤 2: 因为我这里使用的是虚拟机的 ubuntu, 因此我们需要先将 vscode 安装软件传输到 ubuntu
    下,使用的 xftp5 软件上传。
    步骤 3: 如果你是在 ubuntu 下做 go 开发,我们建议将 vscode 安装到 /opt 目录… 步骤 4:将安装软件拷贝到 /opt
    步骤 5: cd /opt 【切换到 /opt】
    步骤 6: 将安装文件解决即可
    在这里插入图片描述
    步骤 7: 现在进入解压后的目录,即可运行我们的 vscode
    在这里插入图片描述
    在这里插入图片描述
  4. 演示如何在 Mac 下安装 vscode 并使用
    如果你使用的就是 mac 系统,也可以在该系统下进行 go 开发. 步骤 1:下载 mac 版本的 vscode 安装软件
    在这里插入图片描述
    步骤 2:把 vscode 安装软件,传输到 mac 系统
    细节: 在,默认情况下 mac 没有启动 ssh 服务,所以需要我们启动一下,才能远程传输文件. mac 本身安装了 ssh 服务,默认情况下不会开机自启
    1.启动 sshd 服务:
    sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
    2.停止 sshd 服务:
    sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
    3 查看是否启动:
    sudo launchctl list | grep ssh
    如果看到下面的输出表示成功启动了:
    --------------
    0 com.openssh.sshd
    步骤 3:将安装软件解压后即可使用
    在这里插入图片描述
    进入到这个解压后的文件夹(图形界面),双击即可
    步骤 4:编写解简单测试. 在用户所在的目录,创建了 gocode,然后将 test.go
    在这里插入图片描述

2.4.4小结

我们会讲解在 windows, linux , mac 如何安装 vscode 开发工具,并且还会讲解如何在三个系统下
安装 go 的 sdk 和如何开发 go 程序。
但是为了学习方便,我们前期选择 Windows 下开发 go。到我们开始讲项目和将区块链时,就会使
用 linux 系统。
在实际开发中,也可以在 windows 开发好程序,然后部署到 linux 下。

2.5 Windows 下搭建 Go 开发环境-安装和配置 SDK

2.5.1介绍了 SDK

  1. SDK 的全称(Software Development Kit 软件开发工具包)
  2. SDK 是提供给开发人员使用的,其中包含了对应开发语言的工具包

2.5.2下载 SDK 工具包

  1. Go 语言的官网为:golang.org , 因为各种原因,可能无法访问。
  2. SDK 下载地址:Golang 中国 https://www.golangtc.com/download
  3. 如何选择对应的 sdk 版本
    在这里插入图片描述

2.5.3windows 下安装 sdk

  1. Windows 下 SDK 的各个版本说明:
    Windows 下:根据自己系统是 32 位还是 64 位进行下载:
    32 位系统:go1.9.2.windows-386.zip
    64 位系统:go1.9.2.windows-amd64.zip
  2. 请注意:安装路径不要有中文或者特殊符号如空格等
  3. SDK 安装目录建议:windows 一般我安装在 d:/programs
  4. 安装时,基本上是傻瓜式安装,解压就可以使用
  5. 安装看老师的演示:
  6. 解压后,我们会看到 d:/go 目录,这个是 sdk
    在这里插入图片描述
    在这里插入图片描述
    如何测试我们的 go 的 sdk 安装成功。
    在这里插入图片描述

2.5.4windows 下配置 Golang 环境变量

在这里插入图片描述

  1. 配置环境变量介绍
    根据 windows 系统在查找可执行程序的原理,可以将 Go 所在路径定义到环境变量中,让系统帮我
    们去找运行执行的程序,这样在任何目录下都可以执行 go 指令。
  2. 在 Go 开发中,需要配置哪些环境变量
    在这里插入图片描述
  3. 看老师如何配置
    步骤 1:先打开环境变量配置的界面
    在这里插入图片描述
    步骤 2: 配置我们的环境变量
    在这里插入图片描述

对上图的一个说明:

  1. Path 这个环境变量不需要在创建,因为系统本身就有,你后面增加即可
  2. 增加 Go 的 bin : ;%GOROOT%\bin
    在这里插入图片描述

对上图的一个说明

  1. GOPATH :就是你以后 go 项目存放的路径,即工作目录
  2. GOPATH:是一个新建的环境变量
    测试一下我们的环境变量是否配置 ok
    在这里插入图片描述
    注意:配置环境变量后,需要重新打开一次 dos 的终端,这样环境变量才会生效。

2.6 Linux 下搭建 Go 开发环境-安装和配置 SDK

2.6.1Linux 下安装 SDK:

  1. Linux 下 SDK 的各个版本说明:
    Linux 下:根据系统是 32 位还是 64 位进行下载:
    32 位系统:go1.9.2.linux-386.tar.gz
    64 位系统:go1.9.2.linux-amd64.tar.gz
    如何确认你的 linux 是多少位:
    在这里插入图片描述
  2. 请注意:安装路径不要有中文或者特殊符号如空格等
  3. SDK 安装目录建议: linux 放在 /opt 目录下
  4. 安装时,解压即可,我们使用的是 tar.gz
  5. 看老师演示
    步骤 1: 将 go1.9.2.linux-amd64.tar.gz 传输到 ubuntu
    步骤 2: 将 go1.9.2.linux-amd64.tar.gz 拷贝到 /opt 下
    在这里插入图片描述
    步骤 3: cd /opt
    步骤 4:tar -zxvf go1.9.2.linux-amd64.tar.gz [解压后,就可以看到一个 go 目录]
    步骤 5: cd go/bin
    步骤 6:./go version
    在这里插入图片描述

2.6.2Linux 下配置 Golang 环境变量

步骤 1:使用 root 的权限来编辑 vim /etc/profile 文件
在这里插入图片描述

步骤 2: 如果需要生效的话,需要注销一下(重新登录),再使用
在这里插入图片描述

2.7 Mac 下搭建 Go 开发环境-安装和配置 SDK

2.7.1mac 下安装 Go 的 sdk

  1. Mac 下 SDK 的各个版本说明:
    Mac OS 下:只有 64 位的软件安装包
    Mac OS 系统的安装包:go1.9.2.darwin-amd64.tar.gz
  2. 请注意:安装路径不要有中文或者特殊符号如空格等
  3. SDK 安装目录建议: Mac 一般放在用户目录下 go_dev/go 下
  4. 安装时,解压即可
  5. 看老师的演示步骤
    步骤 1: 先将我们的安装文件 go1.9.2.darwin-amd64.tar.gz 上传到 mac
    步骤 2: 先在用户目录下,创建一个目录 go_dev , 将我们上传的文件 移动到 go_dev 目录
    步骤 3: 解压 tar -zxvf go1.9.2.darwin-amd64.tar.gz
    步骤 4: 解压后,我们会得到一个目录 go, 进入到 go/bin 就是可以使用
    在这里插入图片描述

这里还是有一个问题,就是如果我们不做 bin 目录下,就使用不了 go 程序。因此我们仍然需要配置 go
的环境变量。

2.7.2Mac 下配置 Golang 环境变量

步骤 1:使用 root 用户,修改 /etc/profile 增加环境变量的配置
在这里插入图片描述

步骤 2: 配置完后,需要重新注销用户,配置才会生效.
在这里插入图片描述

2.8 Go 语言快速开发入门

2.8.1需求

要求开发一个 hello.go 程序,可以输出 "hello,world” 2.8.2开发的步骤

  1. 开发这个程序/项目时,go 的目录结构怎么处理
    在这里插入图片描述
  2. 代码如下:
    在这里插入图片描述对上图的说明:
    (1) go 文件的后缀是 .go
    (2) package main
    表示该 hello.go 文件所在的包是 main, 在 go 中,每个文件都必须归属于一个包。
    (3) import “fmt” 表示:引入一个包,包名 fmt, 引入该包后,就可以使用 fmt 包的函数,比如:fmt.Println
    (4) func 是一个关键字,表示一个函数。
    main 是函数名,是一个主函数,即我们程序的入口。
func main() {
}

(5) fmt.Println(“hello”)
表示调用 fmt 包的函数 Println 输出 “hello,world”

  1. 通过 go build 命令对该 go 文件进行编译,生成 .exe 文件.
    在这里插入图片描述

  2. 运行 hello.exe 文件即可
    在这里插入图片描述

  3. 注意:通过 go run 命令可以直接运行 hello.go 程序 [类似执行一个脚本文件的形式]
    在这里插入图片描述

2.8.3linux 下如何开发 Go 程序

说明:linux 下开发 go 和 windows 开发基本是一样的。只是在运行可执行的程序时,
是以 ./文件名方式
演示: 在 linux 下开发 Go 程序。
在这里插入图片描述
编译和运行 hello.go
在这里插入图片描述

也可以直接使用 go run hello.go 方式运行
在这里插入图片描述

2.8.4Mac 下如何开发 Go 程序

说明:在 mac 下开发 go 程序和 windows 基本一样。
演示一下:如何在 mac 下开发一个 hello.go 程序

  1. 源代码的编写:hello.go
    在这里插入图片描述

  2. 编译再运行,直接 go run 来运行
    在这里插入图片描述

  3. 直接 go run 来运行
    在这里插入图片描述

2.8.5go 语言的快速入门的课堂练习

在这里插入图片描述

2.8.6Golang 执行流程分析

 如果是对源码编译后,再执行,Go 的执行流程如下图
在这里插入图片描述

 如果我们是对源码直接 执行 go run 源码,Go 的执行流程如下图
在这里插入图片描述

 两种执行流程的方式区别

  1. 如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有 go 开发环境的机
    器上,仍然可以运行
  2. 如果我们是直接 go run go 源代码,那么如果要在另外一个机器上这么运行,也需要 go 开发
    环境,否则无法执行。
  3. 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了
    很多。

2.8.7编译和运行说明

  1. 有了 go 源文件,通过编译器将其编译成机器可以识别的二进制码文件。

  2. 在该源文件目录下,通过 go build 对 hello.go 文件进行编译。可以指定生成的可执行文件名,在windows 下 必须是 .exe 后缀。
    在这里插入图片描述

  3. 如果程序没有错误,没有任何提示,会在当前目录下会出现一个可执行文件(windows 下是.exe
    Linux 下是一个可执行文件),该文件是二进制码文件,也是可以执行的程序。

  4. 如果程序有错误,编译时,会在错误的那行报错。有助于程序员调试错误.
    在这里插入图片描述

  5. 运行有两种形式
    在这里插入图片描述

2.8.8Go 程序开发的注意事项

  1. Go 源文件以 “go” 为扩展名。
  2. Go 应用程序的执行入口是 main()函数。 这个是和其它编程语言(比如 java/c)
  3. Go 语言严格区分大小写。
  4. Go 方法由一条条语句构成,每个语句后不需要分号(Go 语言会在每行后自动加分号),这也体
    尚硅谷 Go 语言课程
    更多 Java –大数据 –前端 –python 人工智能 -区块链资料下载,可访问百度:尚硅谷官网 第 29页
    现出 Golang 的简洁性。
  5. Go 编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否
    则报错
    在这里插入图片描述
  6. go 语言定义的变量或者 import 的包如果没有使用到,代码不能编译通过.
    在这里插入图片描述

2.9 Go 语言的转义字符(escape char)

说明:常用的转义字符有如下:

  1. \t : 表示一个制表符,通常使用它可以排版
    在这里插入图片描述
  2. \n :换行符
  3. \ :一个\
  4. " :一个" 5) \r :一个回车 fmt.Println(“天龙八部雪山飞狐\r 张飞”);
  5. 案例截图
    在这里插入图片描述
    课堂练习
    在这里插入图片描述
    作业评讲:
package main 

import "fmt"

func main(){
//要求:要求:请使用一句输出语句,达到输入如下图形的效果
fmt.Println("姓名\t 年龄\t 籍贯\t 地址\njohn\t20\t 河北\t 北京")
}

2.10 Golang 开发常见问题和解决方法

2.10.1 文件名或者路径错误

在这里插入图片描述
2.10.2 小结和提示
学习编程最容易犯的错是语法错误 。Go 要求你必须按照语法规则编写代码。如果你的程序违反了
语法规则,例如:忘记了大括号、引号,或者拼错了单词,Go 编译器都会报语法错误,要求:尝试
着去看懂编译器会报告的错误信息
在这里插入图片描述

2.11 注释(comment)

2.11.1 介绍注释

用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性;
注释是一个程序员必须要具有的良好编程习惯。将自己的思想通过注释先整理出来,再用代码去
体现。

2.11.2 在 Golang 中注释有两种形式

  1. 行注释
  • 基本语法
// 注释内容`
  • 举例
    在这里插入图片描述
  1. 块注释(多行注释)
  • 基本语法
/*
注释内容
*/
  • 举例说明
    在这里插入图片描述
  • 使用细节
  1. 对于行注释和块注释,被注释的文字,不会被 Go 编译器执行。
  2. 块注释里面不允许有块注释嵌套 [注意一下]

2.12 规范的代码风格

2.12.1 正确的注释和注释风格:

  1. Go 官方推荐使用行注释来注释整个方法和语句。
  2. 带看 Go 源码

2.12.2 正确的缩进和空白

  1. 使用一次 tab 操作,实现缩进,默认整体向右边移动,时候用 shift+tab 整体向左移
    看老师的演示:
  2. 或者使用 gofmt 来进行格式化 [演示]
    在这里插入图片描述
  3. 运算符两边习惯性各加一个空格。比如:2 + 4 * 5。
    在这里插入图片描述
  4. Go 语言的代码风格. package main
import "fmt"
func main() {
fmt.Println("hello,world!")
}
  • 上面的写法是正确的. package main
import "fmt"
func main()
{
fmt.Println("hello,world!")
}

上面的写法不是正确,Go 语言不允许这样编写。 【Go 语言不允许这样写,是错误的!】
Go 设计者思想: 一个问题尽量只有一个解决方法
5) 一行最长不超过 80 个字符,超过的请使用换行展示,尽量保持格式优雅

  • 举例说明
    在这里插入图片描述

2.13 Golang 官方编程指南

  • 说明: Golang 官方网站 https://golang.org
  • 点击上图的 tour -> 选择 简体中文就可以进入中文版的 Go 编程指南
    在这里插入图片描述
  • Golang 官方标准库 API 文档, https://golang.org/pkg 可以查看 Golang 所有包下的函数和使用
    在这里插入图片描述
  • 解释术语:API
    api : application program interface :应用程序编程接口。
    就是我们 Go 的各个包的各个函数

2.14 Golang 标准库 API 文档

  1. API (Application Programming Interface,应用程序编程接口)是 Golang 提供的基本编程接口。
  2. Go 语言提供了大量的标准库,因此 google 公司 也为这些标准库提供了相应的 API 文档,用于告
    诉开发者如何使用这些标准库,以及标准库包含的方法。
  3. Golang 中文网 在线标准库文档: https://studygolang.com/pkgdoc
  4. Golang 的包和源文件和函数的关系简图
    在这里插入图片描述

2.15 Dos 的常用指令(了解)

2.15.1 dos 的基本介绍

Dos: Disk Operating System 磁盘操作系统, 简单说一下 windows 的目录结构

2.15.2 dos 的基本操作原理

在这里插入图片描述

2.15.3 目录操作指令

  • 查看当前目录是什么
    在这里插入图片描述
    切换到其他盘下:盘符号 F 盘
    案例演示:
    在这里插入图片描述

  • 切换到当前盘的其他目录下 (使用相对路径和绝对路径演示)
    案例演示::
    在这里插入图片描述

  • 切换到上一级:
    案例演示:
    在这里插入图片描述

  • 新建目录 md (make directory)
    新建一个目录:
    在这里插入图片描述
    新建多个目录:
    在这里插入图片描述

  • 切换到根目录:
    案例演示:
    在这里插入图片描述

  • 删除目录
    删除空目录
    在这里插入图片描述
    删除目录以及下面的子目录和文件,不带询问
    在这里插入图片描述

删除目录以及下面的子目录和文件,带询问
在这里插入图片描述

2.15.4 文件的操作

  • 新建或追加内容到文件
    案例演示:
    在这里插入图片描述

  • 复制或移动文件
    复制
    在这里插入图片描述
    移动
    在这里插入图片描述

  • 删除文件
    删除指定文件
    在这里插入图片描述
    删除所有文件
    在这里插入图片描述

2.15.5 其它指令

  • 清屏
    cls [苍老师]
  • 退出 dos
    exit

2.15.6 综合案例

在这里插入图片描述

2.16 课后练习题的评讲

  1. 独立编写 Hello,Golang!程序[评讲]
    在这里插入图片描述
  2. 将个人的基本信息(姓名、性别、籍贯、住址)打印到终端上输出。各条信息分别占一行
    在这里插入图片描述
  3. 在终端打印出如下图所示的效果
    在这里插入图片描述

2.17 本章的知识回顾

  • Go 语言的 SDK 是什么?
    SDK 就是软件开发工具包。我们做 Go 开发,首先需要先安装并配置好 sdk.
  • Golang 环境变量配置及其作用。
    GOROOT: 指定 go sdk 安装目录。
    Path: 指令 sdk\bin 目录:go.exe godoc.exe gofmt.exe
    GOPATH: 就是 golang 工作目录:我们的所有项目的源码都这个目录下。
  • Golang 程序的编写、编译、运行步骤是什么? 能否一步执行?
    编写:就是写源码
    编译:go build 源码 =》 生成一个二进制的可执行文件
    运行:1. 对可执行文件运行 xx.exe ./可执行文件 2. go run 源码
  • Golang 程序编写的规则。
  1. go 文件的后缀 .go
    尚硅谷 Go 语言课程
    更多 Java –大数据 –前端 –python 人工智能 -区块链资料下载,可访问百度:尚硅谷官网 第 43页
  2. go 程序区分大小写
  3. go 的语句后,不需要带分号
  4. go 定义的变量,或者 import 包,必须使用,如果没有使用就会报错
  5. go 中,不要把多条语句放在同一行。否则报错
  6. go 中的大括号成对出现,而且风格
    func main() {
    //语句
    }
  • 简述:在配置环境、编译、运行各个步骤中常见的错误
    对初学者而言,最容易错的地方拼写错误。比如文件名,路径错误。拼写错误

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

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

相关文章

【软件测试项目】湖南交警一网通测试计划_2.0正版

目录 一、引言 1.1 编写目的 1.2 项目背景 1.3 适用范围 1.4 专业术语 二、测试任务 2.1 测试范围 2.2 测试目标 2.3 参考文档 2.4 提交文档(交付件) 三、测试进度 四、测试资源 4.1 人力资源 4.2 环境资源 4.3 测试工具 五、测试策略 5.1 功能测试 5.2 压力…

vue中 process.env与process.VUE_CLI_SERVICE

在vue中设置环境变量离不开process.env属性,那么如何设置自定义环境变更呢? 可以通过设置.env文件或者借助process.VUE_CLI_SERVICE来设置 process process 对象是一个 global (全局变量),提供有关信息,控…

基于差分进化算法的微电网调度研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Java经典笔试题—day12

Java经典笔试题—day12 🔎选择题🔎编程题🥝二进制插入🥝查找组成一个偶数最接近的两个素数 🔎结尾 🔎选择题 (1)以下方法,哪个不是对add方法的重载? public class Test {public void add( in…

智慧井盖监测终端,智能井盖-以科技解决智慧城市“顽疾”,守护城市生命线

平升电子智慧井盖监测终端,智能井盖-以科技解决智慧城市“顽疾”,守护城市生命线-智慧井盖,实现对井下设备和井盖状态的监测及预警,是各类智慧管网管理系统中不可或缺的重要设备,解决了井下监测环境潮湿易水淹、电力供应困难、通讯不畅等难题…

MySQL主从复制原理

一、概述 1、什么是主从复制 主从复制是用来建立一个和 主数据库完全一样的数据库环境称为从数据库;主数据库一般是准实时的业务数据库。 2、主从复制的作用 高可用,实时灾备,用于故障切换。比如主库挂了,可以切从库。读写分离…

nginx配置监听443端口,开启ssl协议,走 https 访问

本文目录 前言一、检查 linux 服务器上的 nginx 是否安装 ssl 模块二:为 nginx 安装 ssl 模块三、nginx 开启 443 端口监听(https配置)成功配好后的效果如下遇到的问题一:证书无效遇到的问题二:连公司的网络走 https 能…

飞书自建无需代码连接Flomo的方法

飞书自建用户使用场景: 公司的飞书群里,有一个名为“新产品开发”的群组,用于讨论公司新产品的开发。该群组中设置了一个机器人,名为“新产品助手”。当群组成员在讨论中需要记录一个新的产品想法时,他们可以这个机器人…

[Halcon3D] 主流的3D光学视觉方案及原理

📢博客主页:https://loewen.blog.csdn.net📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢本文由 丶布布原创,首发于 CSDN,转载注明出处🙉📢现…

STM32学习过程记录11——基于STM32G431CBU6硬件SPI+DMA的高效WS2812B控制方法

一种高效的WS2812B控制算法——基于STM32G431CBU6的SPIDMA 1.WS2812B介绍 ws2812b是一款集控制电路与发光电路于一体的智能外控LED光源,采用单线归0码协议,每个像素点的三基色颜色可实现256级亮度显示。速率能达到1024pixel 30fps / s,故被…

什么是可信时间戳?可信时间戳电子取证有效吗?

电子数据具有脆弱性、易变性、隐蔽性、载体多样性等特点,容易被复制、删除、篡改且难以被发现。因此,电子数据在实际的司法认定过程中,很难准确鉴定其生成的时间以及内容的真实性、完整性。可信时间戳是一种公认的技术手段,可为电…

拉格朗日插值定理

拉格朗日插值法是一种函数逼近方法,通过已知的数据点构建一个多项式函数,该函数能够恰好经过这些数据点。它可以用于插值,即根据给定的离散数据点推断出未知函数在其它点上的取值。拉格朗日插值法的优点是计算简单,容易理解和实现…

从初级软件测试,到高级软件测试的必经之路

作为软件质量控制中的重要一环,软件测试工程师基本处于"双高"地位,即:地位高、待遇高,而随着软件测试行业等级越来越专业化,软件测试工程师也随即被分为不同的等级,即:初级测试工程师…

《SQUID: Deep Feature In-Painting for Unsupervised Anomaly Detection》论文阅读理解

《SQUID: Deep Feature In-Painting for Unsupervised Anomaly Detection》论文阅读理解 领域:用于医学图像的异常检测 论文地址:SQUID: Deep Feature In-Painting for Unsupervised Anomaly Detection 目录 《SQUID: Deep Feature In-Painting for Un…

5月19号软件资讯更新合集.....

ohUrlShortener 短链接系统 v2.0 发布 | 指定「打开方式」功能支持 距上一次更新版本差不多两个月,ohUrlShortener 短链接系统与昨天晚上正式发布 v2.0 版本 这个版本主要的变化: 启动性能优化:在短链接数量持续上升之后,启动系…

Halcon 算子 select_shape_std 和 select_shape_xld区别

文章目录 1 select_shape_std 算子介绍2 select_shape_xld算子介绍3 select_shape_std 和 select_shape_xld区别4 Halcon 算子的特征 Features 列表介绍1 select_shape_std 算子介绍 select_shape_std (Operator) Name select_shape_std — Select regions of a given shape.Si…

JavaWeb14 - 数据交换 - 01 - JSON

1. 概述 1.1 官方文档 Json 在线文档:https://www.w3school.com.cn/js/js_json_intro.asp 1.2 JSON 介绍 JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)JSON 是轻量级的文本数据交换格式【老师解读】 JSON 独立于语言 …

Cloud Studio 内核升级之专注体验

前言 Cloud Studio 是基于浏览器的集成式开发环境(IDE),为开发者提供了一个永不间断的云端工作站。用户在使用 Cloud Studio 时无需安装,随时随地打开浏览器就能使用。云端开发体验与本地几乎一样,上手门槛更低&#…

使用Python实现Rest API指南

在今天的数字化世界中,数据的获取、交换和使用已经成为几乎所有行业的核心部分。无论您正在为一个大型公司设计复杂的软件系统,还是只是为了个人项目尝试获得一些公开的数据,理解和利 用API——尤其是RESTful API——都是一项至关重要的技术。…

一道php反序列化题的pop链构造

题目地址为&#xff1a;GitHub - mcc0624/php_ser_Class: php反序列化靶场 点击进入如下题 题目代码如下&#xff0c;其中像套娃一样&#xff0c;多次对魔术方法进行调用&#xff0c;挺烧脑。根据题目&#xff0c;显然目标是echo $flag <?php //flag is in flag.php erro…