自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

花落花开的博客

探问来路,求索去处

  • 博客(34)
  • 收藏
  • 关注

原创 CentOS 7 安装 openGauss 3.0 企业版(单节点)

openGauss 是一个开源的关系型数据库管理系统。当前 openGauss 有三种版本,提供了 centos_x86_64、openeuler_aarch64 和 openeuler_x86_64 平台的安装包。

2022-10-01 17:45:46 1820 2

原创 PostgreSQL 14 安装与卸载(CentOS 7)

PostgreSQL 是以加州大学伯克利分校计算机系开发的为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL 推荐采用第一种方式,并且为常见的操作系统提供了二进制安装文件。从源代码构建的方式仅推荐在开发 PostgreSQL 或扩展的时候使用。

2022-09-24 10:08:14 3808

原创 使用 kubeadm 在 CentOS 7.9 部署 K8s 集群

集群规划使用 VMware® Workstation 16 Pro 创建三台虚拟机。主机名IP角色操作系统node1.k8s.com192.168.153.21masterCentOS 7.9-Minimalnode2.k8s.com192.168.153.22workerCentOS 7.9-Minimalnode3.k8s.com192.168.153.23workerCentOS 7.9-Minimal环境配置每台虚拟机都要配置,使用

2022-03-22 12:04:34 1441

原创 CentOS 7.9 系统搭建 Hadoop 集群

安装环境虚拟软件:VMware® Workstation 16 Pro虚拟机操作系统:CentOS 7.9-Minimal虚拟机 IP:192.168.153.11、192.168.153.12、192.168.153.13前期规划Hadoop 集群包含两个集群:HDFS 集群、YARN 集群,两个集群在逻辑上分离,但通常会共用主机。两个集群都是标准的主从架构集群。HDFS 集群包含的角色(守护进程):主角色:NameNode从角色:DataNode主角色辅助角色:SecondaryN

2022-03-18 15:21:45 4337 5

原创 Windows 10 输入法莫名其妙变为繁体的解决方法

在使用 Windows 10 自带的输入法时,偶尔会碰到汉字变成繁体的情况,上网查了下,应该是我在使用 IDEA 时按快捷键 Ctrl + Shift + F 导致的。我还纳闷,快捷键怎么不好用,原来是跟输入法的快捷键冲突了。将输入法改回简体在任务栏输入法图标上右键鼠标,在弹出的窗口中点击【设置(s)】:点击【常规】:选择字符集,改为:简体中文关闭热键点击窗口左上角的箭头,回退到上一步,点击【按键】:关闭【简体/繁体中文输入切换】热键...

2022-03-14 09:30:19 5800

原创 CentOS 7.9 安装 Elasticsearch 7.8.1

安装环境CentOS 安装的是最小版本:CentOS-7-x86_64-Minimal-2009[root@localhost ~]# cat /etc/redhat-releaseCentOS Linux release 7.9.2009 (Core)关闭防火墙:systemctl stop firewalld.servicesystemctl disable firewalld.service前期准备新建用户默认情况下,Elasticsearch 不允许使用 root 用户启动。

2021-12-31 10:02:19 1241

原创 在 Windows 10 系统编译 RustDesk

环境信息操作系统:Windows 10 LTSC 2019提前安装 Rust 和 Git安装 LLVM在 LLVM Download Page 页面找到最新版本,跳转到对应的 GitHub 页面下载 Windows 版安装程序。双击安装记得将 LLVM 添加到系统环境变量 PATH。安装 Vcpkg下载并安装在 C 盘创建 dev 文件夹,并下载 vcpkg,然后运行 bootstrap-vcpkg.bat 脚本。mkdir devcd devgit clone https:/

2021-11-29 11:19:04 4269 10

原创 Spring Boot 中 Developer Tools 的配置和使用

Developer Tools 是 Spring 提供的一个提高开发效率的工具。如何使用?需要在 Spring Boot 项目中添加相关依赖:Maven 配置<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId>

2021-07-26 03:18:45 695

原创 Spring 源码教程笔记

教程地址:这可能是B站讲的最好的SPRING源码教程(2021年最新版)_哔哩哔哩个人感觉该教程讲的简单易懂,仅包含前十节的笔记(其实是视频里的课件内容,略有修改????)。01. 什么是 BeanDefinitionBeanDefinition 表示 Bean 的定义,Spring 根据 BeanDefinition 来创建 Bean 对象,BeanDefinition 有很多的属性用来描述 Bean,BeanDefinition 是 Spring 中的非常核心的概念。BeanDefinitio

2021-07-24 04:59:17 241

原创 CentOS 7.8 安装 Elasticsearch 6.8.17

安装环境[root@localhost ~]# cat /etc/redhat-releaseCentOS Linux release 7.8.2003 (Core)检查Java版本Elasticsearch 要求 Java 8 或以上版本。[root@localhost ~]# java -versionjava version "1.8.0_202"Java(TM) SE Runtime Environment (build 1.8.0_202-b08)Java HotSpot(TM)

2021-07-20 11:43:16 266

原创 创建第一条 Substrate 链

基础环境:虚拟机操作系统:Ubuntu 20.04虚拟机ID地址:172.16.1.20环境配置安装依赖sudo apt updatesudo apt install -y git clang curl libssl-dev安装 Rust# 安装curl https://sh.rustup.rs -sSf | sh# 配置source ~/.cargo/env# 将默认工具链配置为最新稳定版rustup default stablerustup update# 安装 n

2021-04-26 09:32:29 475

原创 Rust 中的宏

宏(macro) 是 Rust 中的一种高级特性,Rust 中的宏分为两种:声明性宏(declarative macros)程序宏(procedural macros)Custom #[derive] macrosAttribute-like macrosFunction-like macros宏与函数的区别函数不能接收任意多个参数,而宏可以。函数不能操作语法单元,而宏可以。从根本上说,宏是用来生成代码的。函数在编译之前不需要特殊处理,声明性宏需要在编译之前进行展开,展开之后代

2021-04-25 10:52:16 7388 4

原创 Rust 中的闭包

什么是闭包?维基百科上对闭包是这样描述的:在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是在支持头等函数的编程语言中实现词法绑定的一种技术。闭包在实现上是一个结构体,它存储了一个函数(通常是其入口地址)和一个关联的环境(相当于一个符号查找表)。环境里是若干对符号和值的对应关系,它既要包括约束变量(该函数内部绑定的符号),也要包括自由变量(在函数外部定义但在函数内被引用),有些函数也可能没有自由变量。闭包跟函数

2021-03-14 00:18:42 932

原创 Rust 中的属性

属性是什么属性(Attribute)是一种通用的自由格式的元数据,Rust 中的属性以ECMA-335中的为模型,其语法则来自ECMA-334(C#)。属性的用途属性只能应用于 Rust 中的项(Item),属性的主要用途如下:条件编译设置 Crate 名称,版本和类型(binary 或 library)自动生成代码控制 Linter 的行为启用编译器的一些特性链接外部的 library标记单元测试函数属性的语法属性的语法借鉴了 C#,内部属性(Inner attributes)

2021-02-21 13:23:40 1467

原创 Rust 中的文件操作

文件路径想要打开或者创建一个文件,首先要指定文件的路径。Rust 中的路径操作是跨平台的,std::path 模块提供的了两个用于描述路径的类型:PathBuf – 具有所有权并且可被修改,类似于 String。Path – 路径切片,类似于 str。示例:use std::path::Path;use std::path::PathBuf;fn main() { // 直接将一个字符串切片包装成一个路径切片 let path = Path::new("./foo/bar

2021-02-06 21:35:20 5071

原创 Rust 中的注释

Rust 中的注释分为两种:普通注释 – 仅做注释用,在编译时编译器会忽略它们。文档注释 – 可以通过命令生成 HTML 帮助文档。普通注释Rust 的普通注释与 C++ 的风格一样,分为:单行注释 – 以 // 开头,// 后的内容都会被注释掉。块注释 – 可以注释多行,并且可以嵌套,使用 /* ... */ 将注释内容与代码分隔。示例:fn main() { // 这是行注释 /* 这是块注释, 可以注释多行。*/ /* * 这也是块

2021-01-31 09:44:23 1429

原创 Rust 所有权系统——所有权、借用和生命周期

所有权系统(Ownership System)是 Rust 语言最基本最独特也是最重要的特性之一。其它编程语言管理内存的方式:程序员手动分配和释放内存,比如:C 语言。采用垃圾回收机制,比如:Java 语言的虚拟机提供垃圾回收器,程序员基本无需关心内存的分配和释放。Rust 采用的是第三种方式:通过所有权系统管理内存,编译器在编译时会根据一系列的规则(所有权规则)进行检查和管理内存。简单地说,编译器在编译的时候就能知道内存如何分配以及何时释放。所有权系统,包括三个重要的组成部分:所有权(O

2021-01-24 23:01:36 1044

原创 Rust 错误处理

在编程语言中,处理错误的方式大致可分为两种:抛出异常作为值返回(返回一个错误代码或者自定义错误类型)Rust 将错误作为值返回,并提供了原生的错误处理方案。在 Rust 中,错误可分为两种:可恢复错误(recoverable)—— Result<T, E>不可恢复错误(unrecoverable)—— panic!panic!panic! 是 Rust 提供的一个宏,这个宏在执行时会打印错误信息,展开并清理栈数据。panic! 会导致当前线程结束,甚至是整个程序的结束。因

2021-01-23 17:59:06 2050

原创 Rust 模块系统

Rust 提供了一套模块系统来组织和管理代码,包括:模块(module)、Crate、包(package)和工作空间(workspace)。包和 CrateCrate 的英文意思是大木箱,它是一个模块树,并且是编译的基本单元,可以将其编译成可执行程序(executable)或者库(library)。因此,Crate 基本分为两种:二进制 Crate(binary crate)和 库 Crate(library crate)。包(package)是包含一个或者多个 Crate 的文件夹(目录)。包(

2021-01-20 15:17:10 1191 1

原创 Rust 中的序列化和反序列化

序列化: 将数据结构或对象转换成二进制序列的过程。反序列化:将在序列化过程中所生成的二进制序列转换成数据结构或者对象的过程。Serde 是对 Rust 数据结构进行序列化和反序列化一种常用框架。Serde 中的 traitSerde 定义了 4 种 trait:Deserialize A data structure that can be deserialized from any data format supported by Serde.Deserializer A data form

2021-01-18 16:08:29 4754

原创 Rust 中的泛型

数据类型是对同一类数据的抽象,而泛型是对具有一组相同行为的数据类型的抽象。Rust 使用 trait 来描述这一组相同的行为,简单的说 trait 就是一组函数的集合。Rust中的trait类似于其他语言中的常被称为接口(interfaces)的功能。泛型在函数中使用泛型假如有两个函数,它们的功能是查找slice中最大值并返回,函数体中的采用的算法是一样的,主要不同的是参数类型。如下所示:fn largest_i32(list: &[i32]) -> i32 { let mut

2020-12-22 21:12:21 1136

原创 Rust 流程控制

条件选择if 条件选择是一个表达式(可以用来赋值),并且所有分支都必须返回相同的类型。判断条件不必用小括号括起来,条件后跟的代码块必须用大括号括起来。示例一:if 表达式fn main() { let number = 3; if number != 0 { println!("number was something other than zero"); }}示例二:if-else 表达式fn main() { let number = 3

2020-12-19 16:40:06 275 1

原创 Rust 函数

Rust 支持多种编程范式,但更偏向于函数式,函数在 Rust 中是“一等公民”,函数可以作为数据在程序中进行传递。跟 C、C++ 一样, Rust 也有一个唯一的程序入口 main 函数。示例:程序入口 main 函数fn main() { println!("Hello, world!");}Rust 使用 fn 关键字来声明和定义函数,使用 snake case 风格来命名函数,即所有的字母小写并使用下划线分隔单词。函数可以有参数,并且每个函数都有返回值。函数参数参数的声明方式:

2020-12-18 16:36:21 785 1

原创 Rust 自定义类型

Rust 自定义类型主要有两种:结构体和枚举类型。结构体和元组一样,结构体中的值可以是不同的数据类型,但结构体有自己的名称,并且需定义结构体中各个数据的名称和类型,称之为字段(field)。结构体分为三类:C 语言风格结构体(C struct)元组结构体(uple struct)单元结构体(unit-like struct)C 语言风格结构体示例: 结构体的定义和实例化// 定义 User 结构体// 使用 `struct` 关键字,指定结构体名称,在大括号内指定字段(field)名

2020-12-17 13:58:16 861

原创 Rust 数据类型

Rust 是静态类型语言,它的数据类型分为两类:标量(scalar)类型和复合(compound)类型。标量类型标量(scalar)类型代表一个单独的值。Rust 有四种基本的标量类型:整型、浮点型、布尔类型和字符类型。整型Rust 提供了不同长度的整型,并且每种长度的整型都分为有符号和无符号两类。整型分类:长度有符号无符号备注8-biti8u816-biti16u1632-biti32u3264-biti64u64128-

2020-12-16 09:57:05 1671

原创 Rust 工具之 cargo

Cargo 是 Rust 的代码组织管理和项目构建工具,使用 rustup 安装 Rust 时,Cargo 默认也会被安装。Cargo 的主要用途:创建和管理 Rust 的模块系统 。下载和管理依赖包。调用rustc或其他构建工具来构建项目(应用)。Rust提供了一套模块系统来组织和管理代码,包括:模块(module)、Crate、包(package)和工作空间(workspace)。其中,包(package)是包含一个或者多个Crate的目录结构,类似于其他编程语言中项目的概念。而 Cra

2020-12-14 15:38:45 1192

原创 Rust 工具之 rustup

安装rustup 是 Rust 的安装和管理工具,并且官网推荐使用 rustup 安装 Rust。在不同操作系统的安装方式:在 Unix 系统,使用curl https://sh.rustup.rs -sSf | sh命令,该命令会下载并运行rustup-init.sh。在 Windows 系统,下载并运行rustup-init.exe(32-bit,64-bit)。另外,在 Windows 系统上有两种 ABI 可供选择:Visual Studio使用的本地(MSVC) ABI。GCC

2020-12-12 22:04:35 6131

原创 Windows下搭建 Rust 开发环境

Rust 支持很多的集成开发环境(IDE)或开发专用的文本编辑器。查看官网公布支持的开发工具。本文采用的是 Microsoft C++ 生成工具 + Visual Studio Code 的方式。Rust 的编译工具依赖 C 语言的编译工具,可以使用Microsoft C++ 生成工具或者 MinGW + GCC 编译环境。安装 Microsoft C++ 生成工具Microsoft C++ 生成工具主要是为 Rust 提供一个 C 编译环境,它是Visual Studio的一个可以单独安装的组件。

2020-12-11 23:32:58 1915 1

原创 JavaScript 中的对象类型

什么是对象简单的说,对象就是一组属性(property)的集合。每个属性包含两部分:属性名(key)—— 可以是字符串或者符号(symbol)类型值。特征(attributes)—— 用来描述属性的状态。属性的分类对象属性可以分为两类:数据属性(data property)—— 属性值是可以直接访问的。访问器属性(accessor property)—— 属性值通过访问器函数(accessor function)来访问的,包含 getter 和 setter 方法。getter方法用来获

2020-11-07 22:34:47 619

原创 JavaScript 中的Object

在 JavaScript 中,几乎所有的对象都是 Object 类型的实例,它们都会从Object.prototype继承属性。Object 是 JavaScript 的一个内置对象,它是一个构造函数,但是也可以用作普通的函数。构造函数Object 作为构造函数,可以使用new关键字来生成一个新的对象。// 这是一个空对象var obj = new Object();Object 可以接受一个参数:若参数是null或者undefined,则返回一个空对象。若参数是一个对象,则直接返回这个

2020-10-24 12:02:10 948

原创 Unicode 字符编码

文章目录Unicode标准编码方式(Unicode Encoding Forms)UTF-32编码方式UTF-16编码方式UTF-8编码方式编码方式示例编码方案(Unicode Encoding Schemes)相关资料Unicode标准Unicode联盟成立于1991年,并在同年发布了第一版Unicode标准。Unicode标准是一个字符编码系统,它的目标是为世界上所有的字符提供一个唯一的编码。Unicode的开发结合了国际标准化组织所制定的ISO/IEC 10646,即通用字符集(Univers

2020-10-19 15:34:05 2411

原创 JavaScript 的类型系统

文章目录Null和Undefined类型Number类型存储结构字面量特殊数值Bigint类型String类型字面量模板字符串转义字符串与数组字符串长度字符集Symbol类型Object类型数据类型判断相关资料当前 ECMAScript 标准定义了8种数据类型,包括7个原始(primary)类型,还有一个是对象类型。类型含义说明Undefined未定义未声明的变量,或者声明过但未赋值的变量的值。该类型只有一个值:undefined。Null空值该类型只有一个值:nul

2020-10-18 19:04:16 272 1

原创 JavaScript 基于原型的继承

面向对象中的继承特性,有三种实现方案:基于类(class-based)基于原型(prototype-based)基于元类(metaclass-based)JavaScript 采用的是基于原型的实现方案,这也是 JavaScript 最重要的语言特性之一。因此,在 JavaScript 中没有类(class)的概念,对象实例是通过构造函数来创建的。构造函数中有个prototype属性,该属性的值就是原型。原型也是一个对象实例,当使用构造函数创建对象实例时,新创建的对象实例就是从这个原型实例“

2020-10-05 20:17:27 306

原创 MySQL 三种安装方式

文章目录安装环境通用的二进制包版本5.7之前版本5.7之后自定义配置使用RPM包安装使用 yum 工具配置 Yum 仓库安装并启动手动安装下载安装包安装并启动通过源码安装使用标准源码安装使用开发树安装连接 MySQL参考文档安装环境虚拟机软件:VMware Workstation 15 Pro虚拟机系统:CentOS Linux release 7.2.1511 (Core)虚拟机内存:4GMySQL 在 CentOS 上有三种安装方式:使用通用的二进制包进行安装使用 rpm 包安装使用源

2020-09-29 18:10:16 592

空空如也

空空如也

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

TA关注的人

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