自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(323)
  • 问答 (2)
  • 收藏
  • 关注

原创 使用Docker 实现 MySQL 循环复制(三)

1. 在主机上安装MySQL客户端2. 配置循环复制拓扑2.1 进入容器2.2 创建复制用户并授予复制权限2.3 复位二进制日志2.4 配置环形复制拓扑2.5 导入测试数据并测试复制功能2.6 研究一下 GTID 在 MySQL 复制中的重要作用3. 常见出错与解决方法

2024-07-18 19:10:58 1330 2

原创 使用Docker 实现 MySQL 循环复制(二)

1. 创建三个 mysql 容器1.1 准备三个 mysql 容器的挂载卷1.2 为三个mysql实例创建配置文件1.3 修改各目录的权限以满足 mysql 容器的要求1.4 创建 docker-compose.yaml 文件1.5 创建容器

2024-07-18 18:18:02 1139

原创 使用Docker 实现 MySQL 循环复制(一)

复制是 MySQL 的一项非常重要的技术,它使服务器能够将更改从一个实例复制到另一个实例,复制技术被广泛应用在水平横向扩展、商业智能和分析、地理数据分布、高可用性与容灾等关键性场景中。在某些地区或网络环境下,直接从官方 Docker Hub 下载镜像可能会出现速度慢、不稳定甚至无法连接等问题。典型的复制拓扑是主/从属服务器的一对多关系,高级复杂复制拓扑有双向复制、循环复制以及多源复制等。本次实验将在一台虚拟机中使用 Docker 容器构建三个 MySQL 循环复制拓扑。

2024-07-18 16:48:18 1033

原创 【移动应用开发期末复习】第五/六章例题

是一个容器控件,用于容纳多个RadioButton,并确保在同一时间只有一个RadioButton能被选中,即实现互斥的选择效果。在Android中,有四种常用的布局方式,分别是:FrameLayout(框架布局)、LinearLayout(线性布局)、RelativeLayout(相对布局)和TableLayout(表格布局)。它并不限制文件的写入行为,也就是说,写入文件时不会覆盖原有内容,而是按照所选的写入模式(如MODE_APPEND或MODE_PRIVATE)进行操作。方法来提交你的更改。

2024-06-27 16:17:53 897

原创 【移动应用开发期末复习】第五/六章

Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。即内容提供者,是 Android 四大组件之一。

2024-06-26 22:10:03 327

原创 【移动应用开发期末复习】第四章

使用XML布局文件定义视图组件Android平台为大多数视图组件以及其子类提供了XML标记,可通过XML布局文件中的标记来定义视图组件。XML中的每个元素代表了一个组件,即元素名称对应相应的Java类。

2024-06-26 20:55:32 1023

原创 【移动应用开发期末复习】第三章例题

C. System.exit(0):虽然这个方法可以强制终止整个Java虚拟机(包括你的Android应用),但它并不是Android官方推荐的方法。当调用此方法时,当前的Activity会经过其生命周期的onDestroy()方法,并从Activity栈中移除。B. 抛异常强制退出:虽然这种方法确实可以使Activity或整个应用退出,但用户体验极差,因为它会触发一个“Force Close”的对话框,给用户一种应用崩溃的错觉。此外,这种方法并不符合Android的设计理念和最佳实践。

2024-06-26 20:12:13 969

原创 【移动应用开发期末复习】第三章

Activity是Android应用程序四大组件中最基础、最重要的组件,它为用户提供了一个用于任务交互的用户界面,其作用类似于使用浏览器软件时的网页(二者都可以包含控件,都占据一个窗口),是用户与应用程序交互的基本单元每一个Activity可以启动另外一个Activity。每当一个新的Activity被启动,那么之前的Activity将被停止,但是Android系统并不是直接销毁之前的Activity,而是会把它压入到一个栈中(back stack,返回栈)。

2024-06-26 19:27:31 695

原创 【移动应用开发期末复习】第二章例题

当开发者在res文件夹中添加、修改或删除资源文件时,Android开发工具(如Android Studio)会自动重新生成R.java文件,以确保其中包含的资源ID与最新的资源文件保持一致。文件是资源文件的索引类,它包含了项目中所有资源(如布局、字符串、图片等)的。文件是Android开发中自动生成的,它不需要开发者进行手动维护。是一个自动生成的类,它包含了所有在res目录下定义资源的引用。

2024-06-26 16:57:46 1026

原创 【移动应用开发期末复习】第二章——Android开发环境

是Android中的命令行工具,用于获取程序从启动到关闭的日志信息。:包含一种或多种格式化属性的集合,在程序中调用主题资源可改变窗体的样式。)是一个命令行工具,它允许开发者与设备进行通信,进行各种调试和管理工作。(1)在AndroidManifest.xml文件中设置主题。想要调用styles.xml文件中定义的主题,可以在。:设置View的宽度、高度和背景颜色等信息。:通常用于搭建程序中的各个界面。件中设置,也可以在代码中设置。(2)在Java代码中设置主题。主题资源定义位置:在。

2024-06-26 16:17:12 539

原创 【移动应用开发期末复习】第一章例题

【移动应用开发期末复习】第一章例题

2024-06-26 10:47:05 229

原创 【移动应用开发期末复习】第一章——Android平台概述

Android 应用程序的开发主要使用Java语言Android SDK工具将应用程序代码和相关所有数据和资源文件都编译到一个Android软件包中(带有.apk后缀的存档)Android操作系统是一种多用户的Linux系统默认情况,每个应用程序都在其自己的Linux进程内运行。

2024-06-26 10:27:40 628 1

原创 【golang学习之旅】延迟调用——defer

在函数执行完毕后,可以及时地释放函数创建的资源,该操作不需要写在代码末尾(很容易忘记这个步骤),直接写在创建资源代码后面。后面的语句会依赖前面的资源,因此如果先前面的资源先释放了,后面的语句就没法执行了。这种机制让程序员不再为什么时机关闭资源而烦恼。defer 是先进后出的。,这和函数调用是一样的。

2024-06-25 22:09:40 1057

原创 【golang学习之旅】复杂数据类型——指针 & 函数

指针函数基本语法包函数注意事项和细节讨论init()函数匿名函数闭包

2024-06-25 22:06:11 1207

原创 【golang学习之旅】Go中的变量——基本数据类型(2)

在将string 类型转成 基本数据类型时,要确保string类型能够转成有效的数据,比如我们可以把"123"转成一个整数,但是不能把"hello"转成一个整数,如果这样做,Golang直接将其转成 0。和Java/C 不同,Go在不同类型的变量之间赋值时需要显示转换,也就是说不能自动转换。Go的字符串是由单个字节连接起来的,每个字节是使用UTF-8编码来处理字符的。从上面的输出可以看出:类型转换所转换的是。的值,是把转换后的值交给了其他变量,变量本身的类型并没有发生变化。字符串有两种表示形式。

2024-06-24 13:09:55 1307

原创 【golang学习之旅】Go中的变量——基本数据类型(1)

有符号 64 位整型 (-9223372036854775808 到 9223372036854775807):类似 uint8,代表了 ASCII 码的一个字符,也可以说是 ASCII 字符类型。Go 语言的 int/uint 类型,是不可移植的类型,其长度根据宿主机的机器字长决定。:无符号 64 位整型 (0 到 18446744073709551615):有符号 32 位整型 (-2147483648 到 2147483647):无符号 32 位整型 (0 到 4294967295)

2024-06-24 13:04:20 1192 1

原创 【golang学习之旅】Go中的变量(1)

变量声明方式第一种第二种第三种多变量声明局部变量全局变量

2024-06-21 18:26:14 437

原创 【golang学习之旅】Go语言常用转义字符

Go语言常用转义字符。

2024-06-21 18:23:04 411

原创 【计算机系统结构期末复习】第六章

设某个数组多路通道设备选择时间Ts=1us,传送1个字节数据的传送时间Td=1us,次传送定长数据块的大小k=512B。若希望从8台外设中至少选择4台外设同时连接到该通道上,而且尽量多连接传输速率高的外设,那么,应选择哪些外设连接到该通道上?(2)如果按数组多路通道设计,且通道一次传送定长数据块的大小k=512B,该通道的最大流量是多少?有8台外设的数据传输率如表所示,设计一种通道,Ts=2us,Td=2us.(2)若通道的最大流量等于实际工作流量,求通道的工作周期Ts+TD。

2024-06-21 10:49:05 811

原创 【计算机系统结构期末复习】第五章

假设在3000次访存中,第一级Cache 不命中110次,第二级Cache不命中55次。给定以下的假设,试计算直接映像Cache和两路组相联Cache的平均访问时间以及CPU的性能由计算结果能得出什么结论?(6)64KB直接映象Cache的失效率为1.4%,64KB两路组相联Cache的失效率为1.0%。设有一个"Cache-主存”层次,Cache为4块,主存为8块:试分别对于以下3种情况,画出。(1)理想Cache情况下的CPI为,时钟周期为2ns,平均每条指令访存1.2次;

2024-06-20 22:26:38 1100

原创 【计算机系统结构期末复习】第四章

基本思想:只要操作数有效,就将其取到保留站,避免指令流出时才到寄存器中取数据,这就使得即将执行的指令从相应的保留站中取得操作数,而不是从寄存器中。指令的执行结果也是直接送到等待数据的其它保留站中去。因而,对于连续的寄存器写,只有最后一个才真正更新寄存器中的内容。一条指令流出时,存放操作数的寄存器名被换成为对应于该寄存器保留站的名称(编号)。

2024-06-20 21:35:40 553

原创 【计算机系统结构期末复习】第三章

在CRAY-1计算机上按照链接方式执行下述4条间量指令(括号中给出了相应功能部件的执行时间),如果向量寄存器和功能部件之间的数据传送需要1拍,试求此链接流水线的通过时间是多少拍?有一条静态多功能流水线出5段组成(如图3.45所示加法用1、3、4、5段,乘法用1、2、5段,第3段的时间为2△t ,其余各段的时间均△t,现要在该流水线上计算Πi=1-4(Ai+Bi),画出其时空图,并计算其吞吐率、加速比和效率。效率:流水线中的设备实际使用时间与整个运行时间的比值,即流水线利用率。

2024-06-20 21:09:26 937

原创 【计算机系统结构期末复习】第二章

在通用寄存器结构中,根据操作数的来源不同,又可以进一步分为寄存器-存储器型结构(简称RM结构)和寄存器-寄存器型结构(RR结构),在RR结构中只有load和store指令能够访问寄存器,所以也称为load-store结构。相同功能的CISC目标程序的指令条数ICCISC 少于RISC的ICRISC,但是CISC的CPICISC和TCISC都大于RISC的CPIRISC和TRISC,因此,其中,IC为目标程序被执行的指令条数,CPI为指令平均执行周期数,T是时钟周期的时间。区别不同指令集结构的主要因素是。

2024-06-20 16:15:09 642

原创 【计算机系统结构期末复习】第一章

存储程序原理的基本点是指令驱动。程序预先存放在计算机存储器中,计算机一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。在系统结构方面有了很大的进展,主要包括以下几个方面。冯·诺依曼结构结构及其演进。

2024-06-20 10:33:37 444

原创 【golang学习之旅】Go程序快速开始 & Go程序开发的基本注意事项

Go方法是由一条条语句构成,每个语句后不需要分号,因为Go的编译器会主动把特定符号后的换行符转换为分号。Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句卸载同一行,否则报错。命令对该go文件进行编译,如果编译成功则在该目录下生成 一个同名的。打开VScode,点击下面绿框里的按键来打开我们上面创建的目录。然后在这个目录下创建一个main目录,main目录下创建一个以。打开VScode的terminal,进入到go文件所在的目录下。如果程序有错误,在编译时会在错误的那行报错。

2024-06-19 22:24:19 1446

原创 【golang学习之旅】使用VScode安装配置Go开发环境

也就是在一个平台上可以生成在另一个平台上运行的程序,比如在32位的windows操作系统环境中,生成可以在64位Linux操作系统上运行的二进制程序,通常需要借助第三方的工具才能够实现。最后可以去看一下系统变量里的 Path(点击 Path然后编辑),一般可以看到 Go 的路径已经配置好了,我们不需要动,这是 Go 在安装时自动配置的。,如果将Go安装在其他目录中,而需要将GOROOT的值修改为对应的目录。GOPATH的目录位置可以自己选择。,回车如下图,选择要安装的依赖(这里全选),等待安装完成。

2024-06-19 19:58:17 3371

原创 常说的上游服务和下游服务如何区分?

上游服务通常是指发起请求的服务,即调用其他服务的服务。在服务架构中,上游服务通常位于较高的层次,负责向下游服务发起请求并处理响应。下游服务则是被上游服务调用的服务,通常位于较低的层次,负责提供具体的业务逻辑或数据访问操作。下游服务通常是实现特定业务功能的服务,如用户管理、订单处理等。在服务架构中,上游服务和下游服务之间的关系通常是基于松耦合原则设计的,以便于服务的解耦和可扩展性。上游服务通常只关注于请求的发起和响应的处理,而不需要关心下游服务的具体实现细节。

2024-06-12 19:42:32 491

原创 【golang学习之旅】Go中的cron定时任务

corn是一个用Go实现的定时任务库,支持秒级定时任务,可以满足绝大多数工作场景需求。基本用法和Linux中的。用法与linux的crontab类似,不过多了个秒级别。cron库分两个主要的版本,

2024-06-05 11:48:56 753 1

原创 【小tips】GO中如何将time.Time格式时间转换成形如“2006-01-02T15:04:05.000Z“格式的UTC格式的字符串

**另外需要注意的是,转换格式后类型也变了,从原来的time.Time类型变为string类型**。所以使用的时候需要注意类型转换,看看是否符合函数的类型需求

2024-05-30 17:05:09 363 1

原创 【golang学习之旅】记录一次 error case : full error output: cc1: error: unrecognized command line option

最开始我使用的就是gcc8,但是机器重启后不知道为什么回退到gcc4,所以我尝试切换gcc版本到gcc8,然后再尝试运行就没有问题了。上网查了下发现有人出现过类似的case,回答基本都是在说gcc版本不对。然后我去检查了下机器的gcc版本,发现果然不对了。

2024-05-24 17:10:53 375

原创 【小tips】当机器里面有多个版本的gcc时,该如何切换当前的gcc版本?

有时候因为项目需求,可能不同的项目需要不同的gcc版本,所以机器上会安装多个版本的gcc,那我们如何切换到想要使用的版本?并且/usr/bin/gcc在全局变量PATH中。而我的项目需要gcc-8及以上版本,该如何切换?我当前的版本是gcc-4.8.3。指向 gcc安装目录下的。

2024-05-24 16:55:38 557

原创 【golang学习之旅】记录一次 panic case : reflect: reflect.Value.SetInt using unaddressable value

这个指针指向要插入到数据库中的结构体实例。当直接传入record时,实际上是传递了record的一个副本,而不是它本身的引用。方法则是用来向该表中插入一条新的记录。record是我们想要插入的记录的结构体类型的一个实例。代表一个已经初始化好的GORM数据库连接实例,我查了一些资料发现问题在于,GORM的。方法用于指定要操作的数据库表,而。这个panic提示我们可能是。

2024-05-23 17:52:17 305

原创 【golang学习之旅】go mod tidy

当我们项目中用到很多外部包的函数时,一个一个去用快捷键导包比较麻烦而且可能产生依赖冲突,这时使用。我们项目依赖的包都被下载下来保存在项目目录下的。就能很好的解决我们的需求。

2024-05-20 15:55:47 477

原创 【小tips】代码中2022-04-13T08:46:26.000Z是什么时间格式?如何与北京时间转换?

要仔细看接口文档喔,文档里一般会写明要求的时间格式

2024-05-17 15:31:26 840

转载 Mac系统Navicat的安装与使用教程(亲测好用)

亲测好用

2024-05-16 11:02:24 1290 1

原创 【小tips】这门语言是叫 Go 还是 Golang?

到底是Go语言还是Golang语言?来看看官方解释吧

2024-05-14 17:03:22 260

原创 【每天一个linux小知识】如何使用 oh-my-zsh 让使用zsh更高效

Oh My Zsh 是一个管理zsh配置的开源框架,有众多插件,如代码高亮、代码提示、目录索引、各种语言支持等,还有众多主题可使用,让终端界面更加美观。zsh 一个强大的shell,但原生的zsh 过于难配置,通过oh my zsh 可以快速配置zsh。要使用oh-my-zsh前提是使用zsh。所以第一步安装zsh。安装完成之后可以看到你当前目录下多了一个。以上插件都安装完成之后打开安装目录下的。这些插件就应用成功了。

2024-05-07 11:44:48 456

原创 【golang学习之旅】深入理解字符串string数据类型

Go语言字符串的底层数据结构是 `reflect.StringHeader`( [reflect/value.go](https://github.com/golang/go/blob/go1.14.13/src/reflect/value.go#L1954-L1957)),它包含了指向字节数组的指针,以及该指针指向的字符数组的大小

2024-04-27 13:07:56 549

原创 【golang学习之旅】Go的 switch 分支语句

Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码。Go 的 switch 语句类似于 C、C++、Java、JavaScript 和 PHP 中的,不过 Go 只会运行选定的 case,而非之后所有的 case。有些时候需要写很多的if-else来实现一些逻辑处理,这个时候代码看上去就很丑很冗长,而且也不易于以后的维护,这个时候switch就能很好的解决这个问题。

2024-04-27 12:29:08 386

原创 【golang学习之旅】Go里面 if 条件判断语句

Go里面if条件判断语句中**不需要括号**

2024-04-27 12:08:14 489

Linux下 su 和 su- 命令对环境变量造成的影响

深入探讨Linux操作系统中两个强大而神秘的命令:su和su-,以及它们对环境变量所产生的影响。这份文档将为你揭示这两个命令的原理,并通过代码截图示例展示它们在实际应用中的差异 通过本文档学习,你将获得以下收获: ①深入理解su和su-命令的区别与用途。 ②探索su命令对环境变量的继承问题,避免潜在的错误。 ③理解su-命令如何通过重新登录机制,确保完全独立的用户环境。 我们相信,通过这份文档的学习,你将成为Linux下su和su-命令的高级应用专家,更自信地在不同用户之间切换,为Linux系统管理和维护带来更高效和安全的解决方案

2023-08-05

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除