Maven 使用笔记

安装下载 maven 包,然后curl -LO https://downloads.apache.org/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.zipunzip apache-maven-3.8.1-bin.zipmv apache-
阅读更多

Gradle 使用笔记

操作环境:macOS Big Sur

安装

最方便的还是使用 brew 来安装:brew install gradle,如果不太方便使用(因为会安装所依赖的 openjdk),可以采用下面的手动安装方式:

1
2
3
4
curl -LO https://services.gradle.org/distributions/gradle-7.1-bin.zip
unzip gradle-7.1-bin.zip
mv gradle-7.1/ /usr/local/Cellar/gradle
ln -s /usr/local/Cellar/gradle/bin/gradle /usr/local/bin/gradle

测试输出如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ gradle -v

------------------------------------------------------------
Gradle 7.1
------------------------------------------------------------

Build time: 2021-06-14 14:47:26 UTC
Revision: 989ccc9952b140ee6ab88870e8a12f1b2998369e

Kotlin: 1.4.31
Groovy: 3.0.7
Ant: Apache Ant(TM) version 1.10.9 compiled on September 27 2020
JVM: 11.0.10 (Oracle Corporation 11.0.10+8-LTS-162)
OS: Mac OS X 10.16 x86_64

Hello World

新建一个目录叫做 gradle-test,并在改目录下创建一个 build.gradle

1
2
3
mkdir gradle-test
cd gradle-test
vim build.gradle

gradle 内容如下:

1
2
3
4
5
task hello {
doLast {
println 'Hello world!'
}
}

Reference

Argo CD 创建 Application 时的逻辑分析

在 Argo CD 里面,同时提供了 HTTP 接口(Web UI)、gRPC 接口(Command CLI),但是只用到了一个端口,并且实现逻辑的代码是同一份代码,是怎么做到的呢?创建应用时都做了哪些操作逻辑?请求跟踪当在 Argo CD 的 Web UI 页面中,创建一个 Application
阅读更多

Argo CD 从入门教程来看其架构

本文的目标是能对 Argo CD 基本操作有一定的了解,同时可以对 Argo CD 的架构、组成有一定的认识。准备kubectlkubernetes 集群安装kubectl create namespace argocdkubectl apply -n argocd -f https://raw.g
阅读更多

gRPC go 入门示例

准备操作环境:macOS Big Sur安装 brew install protobuf安装 protoc-gen-go*go get google.golang.org/protobuf/cmd/protoc-gen-gogo get google.golang.org/grpc/cmd/prot
阅读更多

Linux 系统 IO 多路复用模型

select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说
阅读更多

位图法

定义位图法即 bitmap,就是用一个 bit 位来标记某个元素对应的 Value,而 Key 即是该元素。由于采用了 Bit 为单位来存储数据,因此在内存占用方面,可以大大节省。适用于大规模数据,但数据状态不是很多的情况。通常是用来判断某个数据存不存在。实现应用100亿整型数据去重整型数据为 32
阅读更多