Skip to main content
Github CI + Docker 实现部署到远程服务器

技术选型

  • markdown
  • vuepress
  • Github actions
  • Docker
  • 阿里云轻量级服务器

思路

博客文档部分采用 markdown 进行编写,将github仓库作为我们的文章数据源,使用 vuepress 对文章进行静态文件编译,借助 Github actions 将编译好的静态文件作为镜像推送到Docke Hub上,推送成功后Github actions通知云服务器进行Docke更新,云服务器将更新后的Docker 镜像做为容器运行并提供web服务


NANAbout 2 minvuepressmarkdown
vuepress + Github actions 搭建自动化的集成的博客发布栈

起源

站点技术选型

技术栈

  • markdown
  • vuepress
  • Github pase
  • Github actions

思路:博客文档部分采用 markdown 进行编写,将github仓库作为我们的文章数据源,使用 vuepress 对文章进行静态文件编译,采用 vuepress-theme-hope 进行主题开发,借助 Github actions 进行自动化部署。


NANAbout 2 minvuepressmarkdown
安装与环境配置

安装与环境配置

SDK 下载

SDK

全称为Software Development Kit软件开发工具,提供给开发用的,其中包含了开发对应语言的工具包

Golang 的官网下载地址为:golang.org,需要翻墙

Golang 中文社区下载地址为:https://studygolang.com/dl


NANAbout 2 minGO
GO的基本命令

常用命令

  • 编译并生成可执行文件
  go build main.go
  • 编译为(二进制)并运行
  go run main.go

NANLess than 1 minuteGO
初始化项目

初始化项目

新建一个文件夹作为项目根目录,进入该文件夹,执行以下命令

go mod init test

NANAbout 4 minGO
关键字与标识符

标识符规范

go语言中的标识符严格区分大小写。标识符中只能使用字母、数字和下划线,并且不能以数字开头。关键字与预定义标识符`不能作为标识符使用。

go语言中常用的标识符的命名规范:

场景 命名规范 示例
项目名 全部小写字母,中横线隔开 hello-world
包名 包名与目录名保持一致, 全部小写, 简单明了
不能使用下划线, 不能用标准库名称
calculator
模块名 小写蛇形命名法 user_info.go
常量 大写蛇形命名法 HTTP_PORT
变量/函数/结构体 驼峰命名法, 严格区分大小写 userName/UserName
接口 驼峰命名法 + er后缀 Reader

NANAbout 3 minGO
变量与常量

概念

变量常量是数据在内存中的抽象, 它们是内存地址的别名,用来方便我们操作内存中的数据。

比如我们有一组运算 $X = A + B, A = 1,B = 2 $ 需要完成,在计算机中我们需要

  1. 将 1 存储到内存中,假设存储在地址 0X0001,并为这个内存地址取一个别名 A
  2. 将 2 存储到内存中,假设存储在地址 0X0002,并为这个内存地址取一个别名 B
  3. 然后将 A 与 2 相加,得到结果 3, 在CUP中实际上就是:内存地址 0X0001 与 0X0002 所存放的数相加
  4. 把结果 3 存储到内存中,假设存储在地址 0X0003,并为这个内存地址取一个别名 X

NANAbout 6 minGO
java学习笔记

java 生态

Build 工具

Gradle 用于构建项目

.jar

.jar 文件是 Java 的归档文件格式,全称为 Java ARchive。它通常用于打包多个 Java 类文件、相关的元数据以及资源(如图像、配置文件)到一个单独的文件中。要查看 .jar 文件的内容,可以使用以下命令:

jar tf <filename>.jar

NANLess than 1 minuteharmonyOS
基础语法

关键字

关键字 含义 关键字 含义
abstract 表明类或者成员方法具有抽象属性 assert 用来进行程序调试
boolean 基本数据类型之一,布尔类型 break 提前跳出一个块
byte 基本数据类型之一,字节类型 case 用在switch语句之中,表是其中的一个分支
catch 用在异常处理中,用来捕捉异常 char 基本数据类型之一,字符类型
class const 保留关键字,没有具体含义
continue 回到一个块的开始处 default 默认,例如,用在switch语句中,表明一个默认的分支
do 用在do-while循环结构中 double 基本数据类型之一,双精度浮点数类型
else 用在条件语句中,表明当条件不成立时的分支 enum 枚举
extends 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口 final 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变
finally 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 float 基本数据类型之一,单精度浮点数类型
for 一种循环结构的引导词 goto 保留关键字,没有具体含义
if 条件语句的引导词 implements 表明一个类实现了给定的接口
import 表明要访问指定的类或包 instanceof 用来测试一个对象是否是指定类型的实例对象
int 基本数据类型之一,整数类型 interface 接口
long 基本数据类型之一,长整数类型 native 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
new 用来创建新实例对象 package
private 一种访问控制方式:私用模式 protected 一种访问控制方式:保护模式
public 一种访问控制方式:共用模式 return 从成员方法中返回数据
short 基本数据类型之一,短整数类型 static 表明具有静态属性
strictfp 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE super 表明当前对象的父类型的引用或者父类型的构造方法
switch 分支语句结构的引导词 synchronized 表明一段代码需要同步执行
this 指向当前实例对象的引用 throw 指向当前实例对象的引用
throws 声明在当前定义的成员方法中所有需要抛出的异常 transient 声明不用序列化的成员域
try 尝试一个可能抛出异常的程序块 void 声明当前成员方法没有返回值
volatile 表明两个或者多个变量必须同步地发生变化 while 用在循环结构中

NANAbout 6 minharmonyOS