Hexo博客集成Artalk评论系统指北
写这篇文章之时恰逢中秋佳节之际,祝各位朋友中秋快乐! 我的博客自从2022年就已经建好,但是基本没有写很多东西在上面,搭建之初只是为了方便而使用了gitalk来作为评论系统。但这个开源项目的评论是基于github的issue来实现,虽然数据也是存储在自己的仓库并且免费。但是由于github在国内的网络环境下时好时坏,大部分情况下无法正常加载。而从个人博客评论功能的需求出发我主要归结为以下两点: 加载迅速,不因为没有科学上网工具而无法使用 数据安全,也即数据自己可以操控在自己的存储系统里面最好 支持匿名评论,因为我不想让别人看个blog还要进行繁琐的登录 这个时候刚好看到了一个叫做Artalk的开源项目,使用go语言编写号称轻量便捷并且它还在正常更新,拓展性高,可以本地化部署,正好满足我的需求。 部署 环境:Ubuntu 22.04 正确部署姿势 artalk/artalk-go #### **域名解析**到你域名解析供应商处添加Artalk的域名解析记录如```comment.example.cn```指向你的服务器地址####...
使用 CDN 提升网站速度与安全性:我的博客加速之路
随着网站的访问量增加,页面加载速度和服务器安全成为了我的首要关注点。为了确保用户有更好的访问体验,同时提升网站的安全性,我决定为我的博客搭建 CDN(内容分发网络)。在这篇推文中,我将分享 CDN 建设的基本步骤以及它带来的显著效果。 什么是 CDN? CDN,全称为内容分发网络(Content Delivery Network),它的主要目的是通过分布在全球各地的服务器节点来缓存和分发内容,提升网站访问速度,并降低源服务器的负载。 当用户访问网站时,CDN 会将用户的请求转发到离用户最近的 CDN 服务器节点。若 CDN 节点上已有缓存的内容,则会直接将内容返回给用户。如果没有缓存,CDN 会将请求转发给源服务器获取内容,并将其缓存以供下次使用。 CDN 的引入流程 引入 CDN 的过程涉及以下几个步骤: 1. 域名解析和 DNS 配置 首先,确保域名通过 DNS 正确解析到 CDN 的加速域名。在我的案例中,我的博客域名 www.exampleblog.com 被解析到了 CDN 提供的加速域名 exampleblog.cdnprovider.com。 配置步骤: 将...
JavaLearning
Java abstract和interface的区别 1. 抽象类(Abstract Class) 定义:抽象类是包含一个或多个抽象方法(没有实现的方法)的类,不能直接实例化,必须由子类继承并实现抽象方法。 使用abstract关键字:类和方法都需要用abstract关键字声明。 继承方式:抽象类可以使用普通的类继承机制,支持单继承(一个类只能继承一个抽象类)。 成员变量:可以包含实例变量(字段)、构造方法和已实现的方法(非抽象方法)。 访问修饰符:抽象类中的方法和成员变量可以使用所有的访问修饰符(public、protected、private)。 适用场景:当多个类有一些相同的功能,并且还需要一些差异化的实现时,可以使用抽象类。 interface Animal { void sound(); // Java 8 开始的默认方法 default void sleep() { System.out.println("Sleeping..."); }}class Dog...
js learning tips
While learning JavaScript, I found an interesting piece of code: var x = 1;switch (x) { case true: console.log('1'); break; default: console.log('2');} You might think the result is 1, but actually, in JavaScript, the result is 2, whereas in Java, it would be 1. Python does not have a “switch-case” construct. This is because JavaScript’s switch statement uses strict equality (===) without type coercion.
Zhangjiajie trip
Zhangjiajie trip Tao Yuanming, a poet of the Jin Dynasty, once wrote “晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林…” The area written in the poem is also today’s Zhangjiajie City, Hunan Province. After finishing my undergraduate graduation project, I decided to travel and relax for a few days. My destination was Zhangjiajie. On the 5.6th, I took the train from Wuhan to Zhangjiajie, departing at 22.30 in the evening and arriving the next day. The train I took was a hard sleeper(cost 168RMB), and because I...
关于知识图谱的复习
关于知识图谱的复习 简单了解 基于关键词匹配的传统搜索引擎,是将匹配到关键词后再把信息展现出来。 如果把信息的形式进行转换,例如将里面的人物、地点、时间等信息抽取出来,构建一个知识图谱的结构,就可以将“詹姆斯瓦特的校友是谁?”等问题的答案推理出来。知识图谱实现了从原来的关键字匹配、内容匹配的方式,转变为对信息的推理、对信息的追溯这种方式。 知识图谱本质上是基于图的语义网络,表示实体与实体之间的关系。 与传统数据库相比,Neo4j的数据结构更加自由 Node(结点): 含有:Perpority Label 用于通过属性存储数据, 就比如简单的社交图 name:Emil这个键值对就存储了这个人的名字, from: Sweden存储了来自那里 Lable: Person表明了这个节点的实体是一个人可以通过Label表明属于同一个群体 每一个实体可以包含相同的属性,也可以光有单独的属性 Relations(关系): Emil knows Johan and Ian. Johan knows Ian and Rik. Rik and Ian know...
关于项目的说明
...