在群晖NAS上搭建私有部署笔记软件——Blossom

一、Blossom 简介

        Blossom 是一个需要私有部署的笔记软件,虽然本身定位是一个云端软件,但你仍然可以在本地部署,数据和图片都将保存在本地,不依赖任何的图床或者对象存储

Blossom | Blossom (wangyunf.com)icon-default.png?t=N7T8https://www.wangyunf.com/blossom-doc/index.html

二、群晖部署Blossom

2.1、安装mariadb数据库

        登陆群晖的管理界面打开【套件中心】-->顶部搜索框输入【mariadb】后按下Enter键-->找到Mariadb 10点击【安装套件、然后输入密码】,mariadb安装完成后打开该数据库开启tcp连接,如下图所示:

2.2、授权mariadb的指定用户可以远程登录该数据库

        授权mariadb的指定用户可以远程登录该数据库和创建blossom数据库可以采用以下的2种方法中的任意一种实现。

2.2.1、方法一:使用phpMyAdmin套件执行授权sql

         登陆群晖的管理界面打开【套件中心】--》顶部搜索框输入【phpmyadmin】后按下Enter键--》找到phpMyAdmin套件点击【安装套件】,phpMyAdmin套件安装完成后打开输入默认用户【root】和刚才设置的mariadb数据库密码后点击【登录】按钮登录,如下图所示:

 

        使用phpMyAdmin套件连接mariadb10数据库成功后选择【SQL】-->输入需要执行的授权指定的用户可以远程登录mariadb10数据库、创建blossom数据命令后-->点击【执行】,如下图所示:

UPDATE mysql.user SET Host='%' WHERE User='root' and Host='localhost';

flush privileges;

CREATE DATABASE `blossom` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

 

2.2.2、方法二:使用ssh执行授权sql

2.2.2.1、下载ssh工具连接到群晖NAS

可以直接使用putty工具连接到群晖NAS:

在Windows中通过Putty连接Linux、通过pscp传输文件到Linux_window使用putty登录linux,如何传输文件-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/xiaochenXIHUA/article/details/118067326?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170460131616777224447380%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=170460131616777224447380&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-118067326-null-null.nonecase&utm_term=Putty&spm=1018.2226.3001.4450

我这里使用WindTerm工具的ssh功能连接群晖NAS,如下图为WindTerm工具的下载方法:

直接下载WindTerm_2.5.0工具icon-default.png?t=N7T8https://github.com/kingToolbox/WindTerm/releases/download/2.5.0/WindTerm_2.5.0_Windows_Portable_x86_64.zip 

下载WindTerm工具icon-default.png?t=N7T8https://github.com/kingToolbox/WindTerm/releases

 

2.2.2.2、使用ssh工具连接到群晖NAS后连接mariadb数据库执行授权操作

        连接mariadb数据库命令【mysql -u数据库的用户名 -p数据库的用户名对应的密码】(如下为mariadb数据库默认用户root和root用户对应的密码jasmine888G连接命令,输入完成后按下Enter键即可连接上mariadb数据库) 

mysql -uroot -pjasmine888G

注意:在执行一下的sql语句前,必须要登陆到mariadb数据库中

设置任意主机使用root用户可远程访问mariadb数据库(%表示任意主机)sql语句:

UPDATE mysql.user SET Host='%' WHERE User='root' and Host='localhost';
flush privileges;

创建名为blossom的数据库sql语句:

CREATE DATABASE `blossom` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

退出数据库:

exit;

2.3、部署Blossom

2.3.1、创建blossom的映射文件夹

2.3.2、拉取blossom镜像

docker pull jasminexzzz/blossom:latest

2.3.3、部署且启动blossom容器

--部署blossom且启动的语法
sudo docker run -d --net=host --name blossom-backend -p 9999:9999 -v /volume1/docker/blossom/bl/:/home/bl/ jasminexzzz/blossom:latest --project.iaas.blos.domain="http://你自己的群晖NASIP地址:9999/pic/" --project.iaas.blos.default-path="/home/bl/img/" --spring.datasource.url="jdbc:mysql://127.0.0.1:3306/blossom?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&allowMultiQueries=true&useSSL=false&&serverTimezone=GMT%2B8" --spring.datasource.username=你的mariadb数据库登陆用户名称 --spring.datasource.password=你的mariadb数据库登陆用户名称对应的密码

--示例:比如我的群晖NASIP地址是【172.24.1.6】、mariadb数据库登陆用户名称是【root】、mariadb数据库登陆用户名称【root】对应的密码是【jasmine888G】
sudo docker run -d --net=host --name blossom-backend -p 9999:9999 -v /volume1/docker/blossom/bl/:/home/bl/ jasminexzzz/blossom:latest --project.iaas.blos.domain="http://172.24.1.6:9999/pic/" --project.iaas.blos.default-path="/home/bl/img/" --spring.datasource.url="jdbc:mysql://127.0.0.1:3306/blossom?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&allowMultiQueries=true&useSSL=false&&serverTimezone=GMT%2B8" --spring.datasource.username=root --spring.datasource.password=jasmine888G

注意:

1、这里的数据库端口要根据你实际的mariadb数据库端口填写(默认情况下是3306) ;

2、还有关于部署且启动blossom容器的地址【--project.iaas.blos.domain="http://172.24.1.6:9999/pic/"】若你需要在外网使用则该地址需要修改为外网地址【--project.iaas.blos.domain="http://外网IP地址:9999/pic/"】

2.3.4、验证部署的blossom容器是否成功 

验证部署的blossom容器是否成功命令:

sudo docker logs blossom-backend

注意:执行验证命令后若出现如下所示的【821: Application run failed】 、【Error】、【Failed to execute SQL script...】错误提示,则表示部署的blossom失败!!!

2.3.5、解决部署的blossom容器失败方法

        从验证部署blossom容器是否成功的日志内容可以了解到是由于初始化sql语句在我们的数据库中执行出现了语法错误导致失败的,我们只需要替换掉原来的初始化sql语句即可。

1、创建一个文本文件并命名为【schema-mysql.sql】且用记事本打开;

2、将如下的blossom初始sql语句内容复制到【schema-mysql.sql】文件中且保存;

-- 修改后的可在mariadb数据库中执行的blossom初始sql语句
-- Copy from /blossom/script/sql/blossom.sql

-- ----------------------------
-- Table structure for base_sys_param
-- ----------------------------
CREATE TABLE IF NOT EXISTS `base_sys_param`  (
                                   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '参数ID',
                                   `param_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '参数名称',
                                   `param_value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '参数值',
                                   `param_desc` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '参数说明',
                                   `open_state` int NOT NULL COMMENT '开放状态 [YesNo]',
                                   `cre_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
                                   `upd_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
                                   PRIMARY KEY (`id`) USING BTREE,
                                   UNIQUE INDEX `unq_param_name`(`param_name`) USING BTREE COMMENT '参数名称唯一'
) ENGINE = InnoDB AUTO_INCREMENT = 22 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '系统参数' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of base_sys_param
-- ----------------------------
DELETE FROM base_sys_param WHERE ID=1;
INSERT INTO base_sys_param (id, param_name, param_value, param_desc, open_state, cre_time, upd_time)
VALUES( 1,
       'WEB_ARTICLE_URL',
       'https://www.domain.com/blossom/#/articles?articleId=',
       '博客端文章地址,用于PC端直接调往WEB端阅读文章',
       1,
       CURRENT_TIMESTAMP,
       CURRENT_TIMESTAMP
    );
		
DELETE FROM base_sys_param WHERE ID=3;
INSERT INTO base_sys_param (id, param_name, param_value, param_desc, open_state, cre_time, upd_time)
VALUES( 3,
       'ARTICLE_LOG_EXP_DAYS',
       '30',
       '文章修改记录保存天数, 超过该天数将被删除',
       1,
       CURRENT_TIMESTAMP,
       CURRENT_TIMESTAMP
    );
		
DELETE FROM base_sys_param WHERE ID=4;
INSERT INTO base_sys_param (id, param_name, param_value, param_desc, open_state, cre_time, upd_time)
VALUES(  4,
       'ARTICLE_RECYCLE_EXP_DAYS',
       '45',
       '文章回收站过期天数, 超过该天数将被删除',
       1,
       CURRENT_TIMESTAMP,
       CURRENT_TIMESTAMP
);

DELETE FROM base_sys_param WHERE ID=11;
INSERT INTO base_sys_param (id, param_name, param_value, param_desc, open_state, cre_time, upd_time)
VALUES(  11,
       'HEFENG_KEY',
       '',
       '和风天气的KEY',
       1,
       CURRENT_TIMESTAMP,
       CURRENT_TIMESTAMP
    );
		
DELETE FROM base_sys_param WHERE ID=21;
INSERT INTO base_sys_param (id, param_name, param_value, param_desc, open_state, cre_time, upd_time)
VALUES( 21,
       'GITEE_ACCESS_TOKEN',
       '',
       '[过时配置]GITEE API 的访问 token',
       1,
       CURRENT_TIMESTAMP,
       CURRENT_TIMESTAMP
    );
		
DELETE FROM base_sys_param WHERE ID=31;
INSERT INTO base_sys_param (id, param_name, param_value, param_desc, open_state, cre_time, upd_time)
VALUES(  31,
       'BACKUP_PATH',
       '/home/bl/backup/',
       '备份路径, 参考格式: /home/bl/backup/',
       1,
       CURRENT_TIMESTAMP,
       CURRENT_TIMESTAMP
   );
	 
DELETE FROM base_sys_param WHERE ID=32;
INSERT INTO base_sys_param (id, param_name, param_value, param_desc, open_state, cre_time, upd_time)
VALUES( 32,
       'BACKUP_EXP_DAYS',
       '7',
       '备份过期天数',
       1,
       CURRENT_TIMESTAMP,
       CURRENT_TIMESTAMP
    );
		
DELETE FROM base_sys_param WHERE ID=900;
INSERT INTO base_sys_param (id, param_name, param_value, param_desc, open_state, cre_time, upd_time)
VALUES( 900,
       'SERVER_JWT_SECRET',
       '96cae35ce8a9b0244178bf28e4966c2ce1b8385723a96a6b838858cdd6ca0a1e',
       'JWT加密字符串',
       1,
       CURRENT_TIMESTAMP,
       CURRENT_TIMESTAMP
   );
	 
DELETE FROM base_sys_param WHERE ID=901;
INSERT INTO base_sys_param (id, param_name, param_value, param_desc, open_state, cre_time, upd_time)
VALUES( 901,
       'SERVER_MACHINE_EXPIRE',
       '2024-01-01',
       '过期时间 - 服务器',
       1,
       CURRENT_TIMESTAMP,
       CURRENT_TIMESTAMP
    );
		
DELETE FROM base_sys_param WHERE ID=902;
INSERT INTO base_sys_param (id, param_name, param_value, param_desc, open_state, cre_time, upd_time)
VALUES( 902,
       'SERVER_DOMAIN_EXPIRE',
       '2024-01-01',
       '过期时间 - 域名',
       1,
       CURRENT_TIMESTAMP,
       CURRENT_TIMESTAMP
   );
	 
DELETE FROM base_sys_param WHERE ID=903;
INSERT INTO base_sys_param (id, param_name, param_value, param_desc, open_state, cre_time, upd_time)
VALUES( 903,
       'SERVER_HTTPS_EXPIRE',
       '2024-01-01',
       '过期时间 - HTTPS 证书',
       1,
       CURRENT_TIMESTAMP,
       CURRENT_TIMESTAMP
   );
	 
DELETE FROM base_sys_param WHERE ID=904;
INSERT INTO base_sys_param (id, param_name, param_value, param_desc, open_state, cre_time, upd_time)
VALUES( 904,
       'SERVER_DATABASE_EXPIRE',
       '2024-01-01',
       '过期时间 - 数据库',
       1,
       CURRENT_TIMESTAMP,
       CURRENT_TIMESTAMP
   );



-- ----------------------------
-- since: 1.12.0
-- ----------------------------
DELETE FROM base_sys_param WHERE ID=101;
INSERT INTO base_sys_param (id, param_name, param_value, param_desc, open_state, cre_time, upd_time)
VALUES( 101,
       'BLOSSOM_OBJECT_STORAGE_DOMAIN',
       'http://www.xxx.com/',
       'BLOSSOM 对象存储地址',
       1,
       CURRENT_TIMESTAMP,
       CURRENT_TIMESTAMP
);

-- ----------------------------
-- Table structure for base_user
-- ----------------------------
CREATE TABLE IF NOT EXISTS `base_user`  (
                              `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
                              `type` tinyint(1) NOT NULL DEFAULT 2 COMMENT '用户类型: 1:管理员; 2:普通用户; 3:只读用户;',
                              `username` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '用户名',
                              `phone` varchar(13) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '用户手机号',
                              `password` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '用户密码',
                              `salt` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '密码加盐',
                              `nick_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '昵称',
                              `real_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '真实姓名',
                              `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '用户头像',
                              `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '备注',
                              `cre_by` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '0,SYS' COMMENT '创建人ID,名称',
                              `cre_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
                              `upd_by` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '0,SYS' COMMENT '修改人ID,名称',
                              `upd_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
                              `del_by` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '0,SYS' COMMENT '删除人ID,名称',
                              `del_time` bigint NOT NULL DEFAULT 0 COMMENT '删除时间',
                              `location` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '101100101' COMMENT '和风天气的位置, 官方文档:https://github.com/qwd/LocationList/blob/master/China-City-List-latest.csv',
                              PRIMARY KEY (`id`) USING BTREE,
                              UNIQUE INDEX `unq_user_username`(`username`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10002 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of base_user
-- ----------------------------
DELETE FROM base_user WHERE ID=1;
INSERT INTO base_user (id, type, username, phone, password, salt, nick_name, real_name, remark, cre_by, cre_time, upd_by, upd_time, location)
VALUES( 1,
       1,
       'blos',
       '',
       '$2a$10$SgMx8T/06595PEq3EA9US.ja1oHxpIDG/XnERmBXS.wYS8qbxAGDa',
       'UVeESP5NgXwb8JmjCHUK',
       '用户',
       'blos',
       '预设管理员账号, 用户名密码都是 blos',
       '0,SYS',
       CURRENT_TIMESTAMP,
       '0,SYS',
       CURRENT_TIMESTAMP,
       '101100101'
    );
-- ----------------------------
-- Table structure for blossom_article
-- ----------------------------
CREATE TABLE IF NOT EXISTS `blossom_article`  (
                                    `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
                                    `pid` bigint NOT NULL COMMENT '文件夹ID',
                                    `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '文章名称',
                                    `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '文章图标',
                                    `tags` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '标签集合',
                                    `sort` int NOT NULL DEFAULT 1 COMMENT '排序',
                                    `cover` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '封面',
                                    `describes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '描述',
                                    `star_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'star状态',
                                    `open_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '公开状态',
                                    `open_version` int NOT NULL DEFAULT 0 COMMENT '公开版本',
                                    `pv` int NOT NULL DEFAULT 0 COMMENT '页面的查看数',
                                    `uv` int NOT NULL DEFAULT 0 COMMENT '独立的访问次数,每日IP重置',
                                    `likes` int NOT NULL DEFAULT 0 COMMENT '点赞数',
                                    `words` int NOT NULL DEFAULT 0 COMMENT '文章字数',
                                    `version` int NOT NULL DEFAULT 0 COMMENT '版本',
                                    `color` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '颜色',
                                    `toc` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '目录解析',
                                    `markdown` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'Markdown 内容',
                                    `html` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'Html内容',
                                    `cre_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
                                    `upd_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
                                    `user_id` bigint NOT NULL DEFAULT 1 COMMENT '用户ID',
                                    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 20153 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '文章,Article' ROW_FORMAT = DYNAMIC;


-- ----------------------------
-- Records of blossom_article
-- ----------------------------

-- ----------------------------
-- Table structure for blossom_article_log
-- ----------------------------
CREATE TABLE IF NOT EXISTS `blossom_article_log`  (
                                        `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
                                        `article_id` bigint NOT NULL COMMENT '文章ID',
                                        `version` int NOT NULL DEFAULT 0 COMMENT '版本',
                                        `markdown` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '文章内容',
                                        `cre_time` datetime NOT NULL COMMENT '修改日期',
                                        PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 146 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '文章记录,ArticleLog' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of blossom_article_log
-- ----------------------------

-- ----------------------------
-- Table structure for blossom_article_log
-- since 1.10.0
-- ----------------------------
CREATE TABLE IF NOT EXISTS `blossom_article_recycle` (
                                           `id` bigint NOT NULL COMMENT 'ID',
                                           `pid` bigint NOT NULL COMMENT '文件夹ID',
                                           `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '文章名称',
                                           `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '文章图标',
                                           `tags` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '标签集合',
                                           `sort` int NOT NULL DEFAULT '1' COMMENT '排序',
                                           `cover` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '封面',
                                           `describes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '描述',
                                           `pv` int NOT NULL DEFAULT '0' COMMENT '页面的查看数',
                                           `uv` int NOT NULL DEFAULT '0' COMMENT '独立的访问次数,每日IP重置',
                                           `likes` int NOT NULL DEFAULT '0' COMMENT '点赞数',
                                           `words` int NOT NULL DEFAULT '0' COMMENT '文章字数',
                                           `version` int NOT NULL DEFAULT '0' COMMENT '版本',
                                           `color` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '颜色',
                                           `markdown` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'Markdown 内容',
                                           `cre_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
                                           `upd_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
                                           `del_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '删除时间',
                                           `user_id` bigint NOT NULL DEFAULT '1' COMMENT '用户ID',
                                           PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC COMMENT='文章回收站';

-- ----------------------------
-- Table structure for blossom_article_open
-- ----------------------------
CREATE TABLE IF NOT EXISTS `blossom_article_open`  (
                                         `id` bigint NOT NULL COMMENT '文章ID',
                                         `pid` bigint NOT NULL COMMENT '文件夹ID',
                                         `words` int NOT NULL COMMENT '字数',
                                         `open_version` int NOT NULL DEFAULT 1 COMMENT '版本',
                                         `open_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '公开时间',
                                         `sync_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '同步时间',
                                         `toc` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '目录',
                                         `markdown` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'Markdown 内容',
                                         `html` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'Html内容',
                                         `user_id` bigint NOT NULL DEFAULT 1 COMMENT '用户ID',
                                         PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '公开文章,ArticleOpen' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of blossom_article_open
-- ----------------------------

-- ----------------------------
-- Table structure for blossom_article_reference
-- ----------------------------
CREATE TABLE IF NOT EXISTS `blossom_article_reference` (
                                             `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
                                             `source_id` bigint NOT NULL COMMENT '文章ID',
                                             `source_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '文章名称',
                                             `target_Id` bigint NOT NULL COMMENT '引用文章ID',
                                             `target_name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '引用名称',
                                             `target_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '图片链接',
                                             `type` tinyint NOT NULL COMMENT '引用类型: 10:图片; 11:文章; 21:外部文章',
                                             `user_id` bigint NOT NULL DEFAULT '1' COMMENT '用户ID',
                                             PRIMARY KEY (`id`) USING BTREE,
                                             KEY `idx_article_ref_sourceid` (`source_id`) USING BTREE COMMENT 'source id',
                                             KEY `idx_article_ref_targetid` (`target_Id`) USING BTREE COMMENT 'target id'
) ENGINE=InnoDB AUTO_INCREMENT=100000 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;

-- ----------------------------
-- Records of blossom_article_reference
-- ----------------------------

-- ----------------------------
-- Table structure for blossom_article_view
-- ----------------------------
CREATE TABLE IF NOT EXISTS `blossom_article_view` (
                                        `id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
                                        `article_id` bigint NOT NULL COMMENT '文章ID',
                                        `type` char(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '事件类型 1:uv; 2:like',
                                        `ip` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '地址,IPV4',
                                        `user_agent` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '设备',
                                        `country` varchar(50) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '国家',
                                        `province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '省',
                                        `city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '市',
                                        `cre_day` date NOT NULL COMMENT '日期 yyyy-MM-dd',
                                        `cre_time` datetime NOT NULL COMMENT '日期',
                                        PRIMARY KEY (`id`) USING BTREE,
                                        KEY `idx_view_articleid` (`article_id`) USING BTREE COMMENT '文章ID',
                                        KEY `idx_view_ip` (`ip`) USING BTREE COMMENT 'IP',
                                        KEY `idx_view_creday` (`cre_day`) USING BTREE COMMENT '日期'
) ENGINE=InnoDB AUTO_INCREMENT=465 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC COMMENT='文章访问记录,ArticleView';

-- ----------------------------
-- Records of blossom_article_view
-- ----------------------------

-- ----------------------------
-- Table structure for blossom_folder
-- ----------------------------
CREATE TABLE IF NOT EXISTS `blossom_folder`  (
                                   `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
                                   `pid` bigint UNSIGNED NOT NULL COMMENT '父id',
                                   `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '文件夹名称',
                                   `icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '图标',
                                   `tags` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '标签',
                                   `open_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '开放状态',
                                   `sort` int UNSIGNED NOT NULL DEFAULT 1 COMMENT '排序',
                                   `cover` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '封面图片',
                                   `color` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '颜色',
                                   `describes` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '备注',
                                   `store_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '/' COMMENT '存储地址',
                                   `subject_words` int NOT NULL DEFAULT 0 COMMENT '专题字数',
                                   `subject_upd_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '专题的最后修改时间',
                                   `type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1:文章;2:图片',
                                   `cre_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
                                   `upd_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
                                   `user_id` bigint NOT NULL DEFAULT 1 COMMENT '用户ID',
                                   PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 12035 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '文件夹,Folder' ROW_FORMAT = DYNAMIC;

alter table blossom_folder modify icon varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL default '' comment '图标';
alter table blossom_folder modify sort int NOT NULL default 1 comment '排序';

-- ----------------------------
-- Records of blossom_folder
-- ----------------------------

-- ----------------------------
-- Table structure for blossom_note
-- ----------------------------
CREATE TABLE IF NOT EXISTS `blossom_note`  (
                                 `id` bigint NOT NULL AUTO_INCREMENT,
                                 `content` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '内容',
                                 `top` tinyint(1) NOT NULL DEFAULT 0 COMMENT '置顶',
                                 `top_time` datetime NULL DEFAULT NULL COMMENT '置顶时间',
                                 `cre_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
                                 `user_id` bigint NOT NULL DEFAULT 1 COMMENT '用户ID',
                                 PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of blossom_note
-- ----------------------------

-- ----------------------------
-- Table structure for blossom_picture
-- ----------------------------
CREATE TABLE IF NOT EXISTS `blossom_picture`  (
                                    `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
                                    `pid` bigint NOT NULL DEFAULT -1 COMMENT '文件夹ID',
                                    `source_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '原文件名',
                                    `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '文件名',
                                    `path_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '文件路径',
                                    `url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '文件访问url',
                                    `rate` tinyint NOT NULL DEFAULT 0 COMMENT '评分 {0,1,2,3,4,5}',
                                    `star_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '收藏 0:否,1:是',
                                    `suffix` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '文件后缀',
                                    `size` bigint NOT NULL DEFAULT 0 COMMENT '文件大小',
                                    `cre_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建日期',
                                    `user_id` bigint NOT NULL DEFAULT 1 COMMENT '用户ID',
                                    PRIMARY KEY (`id`) USING BTREE,
                                    UNIQUE INDEX `unq_pic_url`(`url`) USING BTREE COMMENT '链接唯一',
                                    UNIQUE INDEX `unq_pic_pathname`(`path_name`) USING BTREE COMMENT '路径唯一'
) ENGINE = InnoDB AUTO_INCREMENT = 305774931235323969 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '图片,Picture' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of blossom_picture
-- ----------------------------

-- ----------------------------
-- Table structure for blossom_plan
-- ----------------------------
CREATE TABLE IF NOT EXISTS `blossom_plan`  (
                                 `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
                                 `group_id` bigint NOT NULL COMMENT '分组ID',
                                 `type` tinyint(1) NOT NULL COMMENT '计划类型: daily, day',
                                 `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '标题',
                                 `content` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '内容',
                                 `plan_month` varchar(7) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '日期所在月份',
                                 `plan_date` date NULL DEFAULT NULL COMMENT '日期: day',
                                 `plan_start_time` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '开始时间: daily, day',
                                 `plan_end_time` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '结束时间',
                                 `color` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '颜色',
                                 `position` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '该计划在该组计划的位置 head, tail, all',
                                 `img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '图片名称, 或图片地址',
                                 `cre_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期',
                                 `user_id` bigint NOT NULL DEFAULT 1 COMMENT '用户ID',
                                 PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 142 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '计划,Plan' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of blossom_plan
-- ----------------------------

-- ----------------------------
-- Table structure for blossom_stat
-- ----------------------------
CREATE TABLE IF NOT EXISTS `blossom_stat`  (
                                 `id` bigint NOT NULL AUTO_INCREMENT,
                                 `type` tinyint(1) NOT NULL COMMENT '统计类型: 1:每日编辑文章数; 2:每月总字数;',
                                 `stat_date` date NOT NULL COMMENT '统计日期',
                                 `stat_value` int NOT NULL DEFAULT 0 COMMENT '统计数值',
                                 `user_id` bigint NOT NULL DEFAULT 1 COMMENT '用户ID',
                                 PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 218 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of blossom_stat
-- ----------------------------

-- ----------------------------
-- Table structure for blossom_web
-- ----------------------------
CREATE TABLE IF NOT EXISTS `blossom_web`  (
                                `id` int NOT NULL AUTO_INCREMENT,
                                `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '网页名称',
                                `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '网页url',
                                `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '图标',
                                `img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '图片, 图片的优先级高于图标',
                                `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '类型 ',
                                `sort` int NOT NULL DEFAULT 1 COMMENT '排序',
                                `cre_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
                                `user_id` bigint NOT NULL DEFAULT 1 COMMENT '用户ID',
                                PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 292 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '[FS] 网站收藏' ROW_FORMAT = DYNAMIC;

alter table blossom_web modify icon varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL default '' comment '图标';
-- ----------------------------
-- Records of blossom_web
-- ----------------------------

-- ----------------------------
-- Table structure for blossom_todo
-- ----------------------------
CREATE TABLE IF NOT EXISTS `blossom_todo` (
                                `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
                                `todo_id` varchar(50) COLLATE utf8mb4_bin NOT NULL COMMENT '事项ID',
                                `todo_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '事项名称',
                                `todo_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '事项状态 1:未完成 | 2:完成 | 9:作废',
                                `todo_type` tinyint(1) NOT NULL DEFAULT '10' COMMENT '事项类型 10:每日待办事项 | 20:阶段性事项',
                                `task_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '任务名称',
                                `task_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '任务内容',
                                `task_tags` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '便签',
                                `task_status` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT 'WAITING' COMMENT '任务状态 WAIT | PROC | DONE',
                                `dead_line` varchar(100) COLLATE utf8mb4_bin DEFAULT '' COMMENT '截止日期',
                                `start_time` datetime DEFAULT NULL COMMENT '开始日期',
                                `end_time` datetime DEFAULT NULL COMMENT '结束日期',
                                `color` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '颜色',
                                `process` tinyint(1) NOT NULL DEFAULT '0' COMMENT '进度 0 ~ 100',
                                `user_id` bigint DEFAULT NULL COMMENT '用户ID',
                                `cre_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
                                PRIMARY KEY (`id`),
                                KEY `idx_todo_todoid` (`todo_id`) COMMENT 'todoid 索引',
                                KEY `idx_todo_userid` (`user_id`) USING BTREE COMMENT 'userid 索引',
                                KEY `idx_todo_cretime` (`cre_time`) USING BTREE COMMENT '创建时间'
) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='待办事项,Todo';
SET FOREIGN_KEY_CHECKS = 1;

3、将【schema-mysql.sql】文件上传到群晖NAS的路径中且查看该文件路径

①将【schema-mysql.sql】文件上传到群晖NAS的【docker/blossom】路径中,如下图所示:

②【schema-mysql.sql】文件上传到群晖NAS的【docker/blossom】路径成功后查看该【schema-mysql.sql】文件的完整路径并复制下来,如下图所示:

4、使用ssh工具连接到群晖NAS后查看blossom的容器id

查看docker下所有容器的ID命令:

sudo docker ps

5、使用我们修改的【schema-mysql.sql】blossom初始文件替换原来的文件

首先我们需要使用ssh工具进入到群晖NAS,然后在执行替换命令:

sudo docker cp /volume1/docker/blossom/schema-mysql.sql b9275737e077:/application/BOOT-INF/classes/

6、重启blossom的容器

重启docker容器命令

sudo docker restart 需重启的docker容器id

比如我要重启容器id是【b9275737e077】的容器命令如下:

sudo docker restart b9275737e077

7、再次验证部署的blossom容器是否成功

        用ssh工具进入到群晖NAS,然后在执验证部署的blossom容器是否成功命令,如执行该命令后最下面的内容如下图显示的客户端访问地址XXX则表示成功。

启动成功: 可使用客户端登录, 默认用户名/密码: blos/blos
下载地址: https://github.com/blossom-editor/blossom/releases
文档地址: https://www.wangyunf.com/blossom-doc/index
博客端访问地址: http://IP:端口(域名)/blog/#/home
客户端访问地址: http://IP:端口(域名)/editor/#/settingindex
sudo docker logs blossom-backend

2.4、输入群晖NASIP:9999查看

        在浏览器输入群晖NASIP:9999后按下Enter键后若出现如下所示的【无效的授权信息】内容也表示blossom的服务端部署完成;

2.5、在群晖NAS部署blossom的网页客户端

1、下载blossom的网页客户端后解压

下载 | Blossom (wangyunf.com)

Releases · blossom-editor/blossom · GitHub

 或者可以直接到blossom指定的百度网盘下载blossom的网页客户端

前往百度网盘下载:百度网盘 请输入提取码

提取码uksl

2、将下载好的blossom网页客户端上传到群晖NAS中

将下载好的blossom网页客户端上传到群晖NAS中路径如下所示:

3、群晖NAS中配置blossom的网页客户端网页内容

 

 

 验证在群晖NAS部署的blossom网页客户端是否成功【在浏览器中输入群晖NASIP:9998】后按下Enter键;

三、登陆自己的blossom

1、在浏览器中输入群晖NASIP:9998后按下Enter键进入blossom的网页客户端;

2、在blossom的网页客户端输入自己部署好的blossom服务地址【群晖NASIP:9999】(比如我的是:http://172.24.1.6:9999)、默认账号和密码都是【blos】

3、登陆成功后显示如下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/308606.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【教学类-45-01】X-Y之间的“三连加“题(a+b+c=)

作品展示: 背景需求: 我常去的大4班孩子们基本都适应了0-5之间的加法题,做题速度极快。 为了增加“花样”,吸引幼儿参与,修改参数,从二连加12变为三连加111。 素材准备: 代码重点 代码展示 X-Y 之间的3…

备战2024美赛数学建模,文末获取历史优秀论文

总说(历年美赛优秀论文可获取) 数模的题型千变万化,我今天想讲的主要是一些「画图」、「建模」、「写作」和「论文结构」的思路,这些往往是美赛阅卷官最看重的点,突破了这些点,才能真正让你的美赛论文更上…

计算机图形学流体模拟 blender 渲染脚本

做流体模拟的时候,想要复现别人的成果,但是别人的代码都是每帧输出 ply 格式的文件,渲染部分需要自己完成 看了一下,似乎用 blender 是最简单的,于是记录一下过程中用到的代码 Blender 版本 4.0 批量导入 ply 假设…

Federated Unlearning for On-Device Recommendation

WSDM 2023 CCF-B Federated Unlearning for On-Device Recommendation 本文工作的主要介绍 本文主要介绍了一种名为FRU(Federated Recommendation Unlearning)的联邦学习框架,用于在设备端的推荐系统中实现用户数据的有效擦除和模型重建。…

专业课128分总分400+南京理工大学818信号系统与数字电路南理工考研经验分享

专业课128分总分400南京理工大学818信号系统与数字电路南理工电光院考研经验分享,希望自己的经历对大家有借鉴。 我是在六月底确认自己保不上研然后专心备考的,时间确实比较紧张。虽然之前暑假看了一点高数,但因为抱有保研的期望&#xff0c…

JMeter之Windows安装

JMeter之Windows安装 一、安装JDK二、安装JMeter1、下载JMeter2、配置环境变量3、验证JMeter 三、扩展知识1、汉化 一、安装JDK 略 二、安装JMeter 1、下载JMeter 官网地址:https://jmeter.apache.org/download_jmeter.cgi 放到本地目录下 2、配置环境变量 变量…

探索浏览器的内心世界:渲染机制的奥秘

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

im6ull学习总结(三-4)freetype显示单个字体

矢量字体引入 使用点阵字库显示英文字母、汉字时,大小固定,如果放大缩小则会模糊甚至有锯齿出现,为了解决这个问题,引用矢量字体。 矢量字体形成分三步: 第1步 确定关键点, 第2步 使用数学曲线&#xff08…

软件测试|Windows系统配置pytest+allure环境教程

前言 allure可以输出非常精美的测试报告,也可以和pytest进行完美结合,不仅可以渲染页面,还可以控制用例的执行。本文我们将介绍Windows系统中如何配置allure环境。 第一步:配置Java环境 因为allure的运行依赖于Java环境&#x…

Java中CompletableFuture 异步编排的基本使用

一、前言 在复杂业务场景中,有些数据需要远程调用,导致查询时间缓慢,影响以下代码逻辑运行,并且这些浪费时间的逻辑与以后的请求并没有关系,这样会大大增加服务的时间。 假如商品详情页的每个查询,需要如下…

2024年3月10日PMI认证考试的报名时间确定!

⏰中国大陆地区2024年第1期PMI认证考试于3月10日举办 ⏰报名时间: 为减少同一时间集中报名造成的网络拥堵,本次报名将采取以下形式分地区、分批次开放报名。👇 1️⃣第1批报名城市:⏰2024年1月11日10:00至1月18日16:00&#xff0c…

【AI之路】使用huggingface_hub通过huggingface镜像站hf-mirror.com下载大模型(附代码,实现大模型自由)

文章目录 前言一、Hugging face是什么?二、huggingface镜像站hf-mirror.com三、大模型一键下载1. 准备工作2. 下载代码 总结后记 前言 要玩AI大模型,Hugging face 不可错过,但资源虽不错,可奈何国内下载速度很慢,动则…

优雅处理并发:Java CompletableFuture最佳实践

第1章:引言 大家好,我是小黑,今天,小黑要和大家聊聊CompletableFuture,这个Java 8引入的强大工具。 在Java传统的Future模式里,咱们都知道,一旦开始了一个异步操作,就只能等它结束…

整形数据在内存中的存储(C语言)

整形数据在内存中的存储 1.整形家族2.(原码、反码、补码)基础知识3.大小端3.1 什么是大小端3.2 为什么有大端和小端3.3 一道关于大小端字节序的面试题3.4 关于整形数据存储的题目(7题)3.4.13.4.23.4.33.4.43.4.53.4.63.4.7 4.总结 1.整形家族 signed可省可不省,一般…

尝试OmniverseFarm的最基础操作

目标 尝试OmniverseFarm的最基础操作。本地机器作为Queue和Agent,同时在本地提交任务。 主要参考了官方文档: Farm Queue — Omniverse Farm latest documentation Farm Agent — Omniverse Farm latest documentation Farm Examples — Omniverse Far…

蜗牛目标检测数据集VOC格式480张

蜗牛,一种缓慢而坚韧的软体动物,以其螺旋形的外壳和黏附力极强的黏液而为人所熟知。 蜗牛体型呈螺旋形,有一个硬壳保护其柔软的身体。壳的形状和纹理因种类而异,有的光滑如玻璃,有的则布满细纹。蜗牛的头部有两对触角…

构建安全可靠的系统:第十一章到第十五章

第三部分:实现系统 原文:Part III. Implementing Systems 译者:飞龙 协议:CC BY-NC-SA 4.0 一旦您分析并设计了您的系统,就该是实现计划的时候了。在某些情况下,实现可能意味着购买现成的解决方案。第十一章…

【AI】CycleGan对抗生成网络遥感影像生成地图效果测试

今天看到一个有趣的项目,CycleGan对抗生成网络把马生成成斑马,还有一个测试用例是用遥感影像生成平面地图的效果,效果如下图所示,我大学是遥感专业,看到遥感影像就触动了我的原神,于是原神启动,…

JavaFx踩坑

github:https://gitee.com/forgot940629/java-fx-demo helloworld 直接用idea即可创建 MANIFEST.MF 没有MANIFEST.MF 直接用idea生成的JavaFX没有MANIFEST.MF这个文件,需要配置 jar包中MANIFEST.MF不一致 target文件中的MANIFEST.MF有Main-Clas…

Beauty algorithm(七)瘦脸

瘦脸的实现采用局部平移法。 一、skills 前瞻 局部平移 二、目标区域定位 左脸: 关键点选择3、5点,基点30 rmax:计算两点5-3间的距离, |x-c|:图像任一点到固定基点c的距离 |m-c|:两固定点距离 右脸: 关键点选择