跳至主要內容
Finger
Finger
一个有趣的人
Baojuan OS
Baojuan 操作系统
Nacos 快速开始

Nacos 是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

下载与启动

Nacos 作为一款开源软件我们可以选择使用构建好的安装包启动或者下载源码自行编译启动,下面分别演示两种方式。

通过构建好的安装包启动

构建好的安装包可以在 Github Release 页面下载,本文写作时最新版本为 2.2.3,下载地址如下:


未央大约 11 分钟spring cloudnacosspringspring bootspring cloud
Gradle 构建脚本编写

Gradle 目前支持两种格式的构建脚本,分别基于 Groovy 和 Kotlin,对应的脚本文件名称为 build.gradlebuild.gradle.kts。以基于 Kotlin 的脚本为例,当 gradle 命令启动时, gradle 会在当前目录下查找 build.gradle.kts 文件。尽管这个文件被称作 构建脚本,但严格意义上来说,它应该叫做 构建配置脚本,这个构建脚本定义了一个项目(project)和它的任务。


未央大约 8 分钟Gradle 实战gradle
Gradle 构建生命周期

Gradle 的构建过程基于一个个任务及其依赖关系形成的任务图。Gradle 在执行任务之前先根据配置构建任务图,根据配置 Gradle 可以跳过一些本次构建不需要执行的任务。如下是两个任务图的例子:

Gradle 任务图
Gradle 任务图

插件和用户自己编写的构建脚本均可以影响任务图。


未央大约 5 分钟Gradle 实战gradle
Gradle 安装

Gradle 可以运行在 Linux,macOS 和 Windows 之上,通过包管理工具可以很方便的安装,同样也可以手动安装。

前置条件

Gradle 运行需要 JDK 8 及以上版本 的支持。运行 java -version 命令检查 JDK 是否已正确安装。

$ java -version
java version "1.8.0_361"
Java(TM) SE Runtime Environment (build 1.8.0_361-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)

未央大约 2 分钟Gradle 实战gradle
手摸手带你打造至强 RSA 工具类

太长不看,我要代码!

本文不对RSA原理进行详细讲解,只关注于在Java中如何使用。

网上有很多RSA工具类的 demo,但是没有一个好用的。今天老李抽丝剥茧,手摸手带你打造一款属于自己的至强RSA工具类。

RSA是非对称加密算法,包含由公钥私钥组成的密钥对,支持公钥加密,私钥解密私钥加密,公钥解密


未央大约 15 分钟rsabase64JavaC#加密解密
Exchange 传输代理开发指南

背景我就不介绍了,能看这篇文章,说明你不是凡人。

实验环境如下:

  • 服务器系统:Windows Server 2016 Standard
  • Exchange 版本:Microsoft Exchange Server 2016
  • 开发环境:Windows 11 Pro + 宇宙第一IDE 👉 Visual Studio 2019

准备

Exchange Transport Agent的开发需要依赖两个dll


未央大约 5 分钟ExchangeExchange TransportTransport Agent
C 语言可变参数

不懂原理的话一切都是玄学问题。今天,老李带你打破玄学,走近科学。

实验环境

$ uname -a
Linux lowb 5.11.0-27-generic #29~20.04.1-Ubuntu SMP Wed Aug 11 15:58:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:        20.04
Codename:       focal

$ cc --version
cc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

未央大约 9 分钟cvariable arguments可变参数
老李教你写操作系统 0x03 - 显卡驱动

今天的目标:写个“显卡驱动”,实际上就是实现一个printf函数。在平时的开发中,我们可以使用标准库给我们提供的printf进行打印输出,不得不说,这个函数应该是最简洁有力的调试工具。但是我们现在要开发操作系统,完全从零开始,这就意味着,我们必须自己实现一个printf函数,方便我们查看各种信息和状态。

在上一篇文章中我们已经抽取出了一个cprintf函数用于打印输出,但这还是太简陋了,今天我们给它加点功能,以满足我们的需求。

要实现的功能有两点:


未央大约 8 分钟操作系统操作系统显卡驱动
老李教你写操作系统 0x02 - Hello World v2

目标

今天的目标:规范化开发流程。

上一篇文章中,出于简洁的考虑只使用了一个.c文件来做说明。后续的开发中代码会越来越多,一个文件肯定是不够的,今天我们将代码做一下简单的拆分,以便更好的扩展。

代码拆分

先把之前的源文件kernel.c贴出来:


未央大约 2 分钟操作系统操作系统QEMUGRUBmultiboot
使用 curl 测试 REST API

原文:Test a REST API with curl

概览

本教程简要概述了如何使用 curl 测试 REST API。

curl 是一种用于传输数据的命令行工具,它支持大约 22 种协议,包括 HTTP。 这种组合使它成为了一个非常好的用于测试 REST 服务的临时工具。

命令行选项


未央大约 4 分钟curl
2
3
4