使用 docsify 并定制以使它更强大

2022-02-19

背景 经常在网上看到一些排版非常漂亮的技术手册,左边有目录栏,右边是Markdown格式的文档,整个配色都十分舒服,就像一本书一样,一看就很让人喜欢。就比如Markdown Preview Enhanced的文档.目前网上我了解的有两种工具可以实现这样的效果,一种叫做docsify,另一种叫做Gitbook。因为MPE文档用的是docsify,而且据docsify自己的宣传,说是 不同于 GitBook、Hexo 的地方是它不会生成将 .md 转成 .html 文件,所有转换工作都是在运行时进行。 这将非常实用,如果只是需要快速的搭建一个小型的文档网站,或者不想因为生成的一堆 .html 文件“污染” commit 记录,只需要创建一个 index.html 就可以开始写文档而且直接部署在 GitHub Pages。 所以我也就用它来做吧。这里先放上我的成品:https://aopstudio.github.io/docs 入门基础 具体的一些基本操作它的官方文档上面都已经写得很明白了,我就不再赘述了,官方文档地址:https://docsify.js.org/#/zh-cn/ 。....

在 Markdown 中使用数学公式

2022-02-19

背景 $\TeX$是一款经典的文本排版软件,由计算机科学界的巨匠高德纳(Donald E. Knuth)开发。高德纳有一套著名的书籍叫做《计算机程序设计的艺术》,他在写这本书的时候觉得当时其他的排版工具的效果都不能让自己满意,于是就自己开发了一套排版工具。这让我想到Ken Thompson和Dennis Ritchie为了玩一个游戏而开发出了Unix操作系统,然后为了继续完善Unix操作系统而开发出了C语言的故事,简直如出一辙。大神们总能做出一些平常人想都不敢想的事情。 $\TeX$可以为一整篇文献排版出非常漂亮整洁的效果,尤其对于数学公式的支持特别好,因此在学术界,特别是理工学界非常通用,IEEE等著名学会都要求以$\TeX$格式提交论文。我曾经尝试使用了一下,感觉排版出来的效果真的是非常专业,但是如果只是写短篇笔记的话和Markdown比起来速度慢很多,于是我还是选择了Markdown作为写笔记的工具。但是原生的Markdown是不支持数学公式的,而我作为理工科的学生经常需要记下数学公式,不过Markdown可以通过扩展语法的方式来使用$\TeX$语法的数学公式,很多Markdow....

本博客启用 https 的过程 有更新!

2022-02-19

申请SSL证书 我的博客部署在阿里云服务器上,因此我就先搜索阿里云启用https的方法,网上有比较详细的讲解,在此提供一个参考网址: https://blog.csdn.net/cslucifer/article/details/79077831 修改nginx配置文件 我的博客设置了nginx作为前置服务器反向代理Tomcat的内容,因此需要配置的是nginx的证书而不是Tomcat的。我看了一下阿里云官方文档中证书下载页的详情文档,nginx的配置方法比Tomcat简单很多,哈哈,看来真是一个明智的选择。 这个时候出现了一个问题,我找不到nginx的配置文件nginx.conf了。按照网上说的nginx安装目录死活找不到。没办法,只能动用Linux的查找文件的功能了。Linux有若干个不同的查找文件的方法。其中find是最简单粗暴的命令,就是在指定目录中一个个地找,速度比较慢。另一个命令是locate,它的执行速度很快,因为是在建立了文件索引的数据库中查找。我之前并没有使用过locate命令,只是在书上看到过,这次是第一次实际操作。当我输入locate nginx.conf时,意想....

数据库多表联合查询——笛卡尔积、自然连接、左外连接、右外连接、全外连接等介绍

2022-02-14

前言 面试的时候被面试官问到关于数据库多表查询的方式,其实以前都是学过的,但我当时只记得笛卡尔积(也没记起来这个术语,只知道是逗号分隔表名)和自然连接,有点惭愧。现在再重新整理并记录下来。 使用的表例子 来源于Abraham Silberschatz等著的《数据库系统概念(第6版)》中大学数据库的例子,可以参考这个链接:https://blog.csdn.net/m0_37961948/article/details/88426110 笛卡尔积 如果不限定任何条件,则表1中的每个元组和表2中的每个元组都会进行组合。这样的组合通常是没有意义的,一般会用where子句来限定查询的条件。比如我们想要查询每个教师的姓名和他教授的所有课程ID,我们就可以这样写 select name,course_id from instructor,teaches where instructor.ID=teaches.ID 如果不加where子句进行限定,那么查询出来就会有老师对应到其他老师教授的课程的结果。 自然连接 自然连接只考虑在两个表中都出现的属性上取值相同的元组对。回到instructor和te....

关于封装、继承、多态的学习心得

2022-02-14

前言 封装、继承、多态是面向对象语言的三大特性。笔者主修的是 Java 语言,在刚学 Java 的时候老师就反复告诉我们这三个词。不过之前一直也只是知道个大概。最近又仔细看了一下网上的一些解析,决定记录一下自己的学习心得。 开门见山——三者的关系 我认为这三者并不是三个平行的概念,而是一个层层递进的关系,即封装是最基本的,有了封装以后才能实现继承,在封装和继承的基础上才能实现多态。 一切的基石——封装 封装就是把一类数据和与这类数据的相关操作封装起来,数据不能随意被访问和改动,只能通过公开的接口来进行增删改查。Java 里面为了实现封装,设置了四个访问修饰符,分别是: public:public 修饰的成员变量或方法,项目中的任何类都可以访问 protected:只有同个包内的类和自己的子类能访问 friendly(不写):只有同个包内的类能访问,也就是说就算有个子类,但它在其他的包中,也不能进行访问 private:只有自己这个类能访问 一般在实践中,对于所有成员变量都会有用 private 进行修饰,同时设置公开的 get 和 set 方法来访问和修改成员变量的值。除此之外,再....

neo4j 数据库简介

2022-02-14

neo4j 数据库是一个高性能的 NoSQL 图形数据库。它的存储结构非常类似于数学中的图,以结点和结点之间的关系为存储的基本内容。neo4j 中的图指的是有向图,所有的关系都必须是有方向的,如果试图创建没有方向的关系会失败。它非常适合存储关系错综复杂的数据,如知识图谱、人脉网等。neo4j 中没有分库分表的概念,所有结点和关系都存在一个库中。由于没有表结构,因此它非常适合存储半结构化数据,扩展性极好。 neo4j 名字的来源应该是《黑客帝国》中的尼奥(neo),因为在它的管理界面有个教程演示就是创建《黑客帝国》的图谱。4j 则是指为 Java 而生,和 log4j 等一众 4j 结尾的软件一样。 安装 neo4j 的官网地址为:https://neo4j.com/,但访问十分缓慢。neo4j 数据库不需要进行安装,直接运行软件包中的 bin/neo4j.bat 文件即可使用。但是官网的下载速度过于缓慢,下载一个压缩包需要好几个小时,就算是迅雷加速也没用,而且最新版的 neo4j 只支持 Java11 以上的版本,所以不推荐使用这种方式运行。本人推荐在 docker 中安装运行 neo....

我在 GitHub 上的开源项目

2022-02-02
  1. aopstudio.github.io HTML 🤩0  ⭐️13  🖖9  🏠https://aopstudio.github.io 使用Github Pages生成的静态页面 2. Notes Java 🤩0  ⭐️5  🖖4 课堂笔记 3. Graph Java 🤩0  ⭐️4  🖖0 将邻接矩阵和邻接表转换为可视化的图 4. PAT-Practice C++ 🤩1  ⭐️1  🖖0 PAT甲级刷题代码和解析 5. VBlearning Visual Basic 🤩1  ⭐️1  🖖0 A project for learning VB.NET 6. vue-cli Vue 🤩1  ⭐️0  🖖0 前端工程学习 7. InterviewPrepare 🤩2 &nbsp....

世界,你好!

2022-02-01

Solo 博客系统已经初始化完毕,可在管理后台 - 工具 - 偏好设定中调整更多细节设置。如果需要导入已有博客文章,请参考文档 Solo 支持 Hexo/Jekyll 数据导入

对了,出于安全考虑请尽快完成如下操作:

  1. 登录链滴社区后,在个人设置 - B3 中更新 B3 Key
  2. 在 Solo 管理后台 - 工具 - 用户管理中也进行同样的 B3 Key 更新

另外,如果你需要开启评论系统,请参考 Solo 集成 Gitalk 评论系统

最后,如果你觉得 Solo 很赞的话,请到项目主页 Watch、Star、Fork 三连 😍