Patchouli's Digital Library🌟

天才并不比一个诚实的人有更多的光,但他有一个特殊的透镜,可以将光线聚焦至燃点————维特根斯坦

0%

特别好书,计算机网络一直对于我来说都有点抽象,总感觉隔着一层什么。看了这本书清晰多了,薄薄的一本,读起来也不会有太大压力。作者文笔很好,写得很有趣。没有什么比用wireshark动手实践学习得更深刻的了。这是我看过把计网讲过最好的书,多来点这样的书!

《计算机网络 自顶向下》尝试看过好多次,虽然也是经典书籍,但是太厚了,而且翻译的太生硬了,建议中英文版本对照着看。

最近买了个机械键盘,nj80金粉轴🤗。颜值很高,但是价格也很高(贫穷)。在贴吧里做了功课,都很推荐nj80,于是就入手了。75%配列,数字小键盘我不也不怎么用,没有挺好的,但是没有Home,End,Ins键,这几个是写代码挺常用的键。

第一次用机械键盘,按捺不住好奇跟风买的,同时也思考机械键盘真的就比薄膜键盘要好吗?它的价格几乎是薄膜键盘的十倍以上了。

使用几天的体验是,确实比笔记本自带的薄膜键盘要好,但是没有十倍价格的好。

优点:

  • 打字轻松多了,自带薄膜键盘摁下去费不少力气。金粉轴轻轻一模就摁下去了。
  • 屏幕可以放的比较远了,用笔记本键盘的话,屏幕会离得很近。

缺点

  • 劈里啪啦的声音很吵
  • 价格高(这不是它的错,是我的错)
  • 不防水防尘,可能还要配个腕撑

2022年10月10日更新:确实比薄膜键盘好用多了,用了机械就不想再去用薄膜键盘了。nj80,香!

如何进入BIOS

今天装了个虚拟机,想要用用CentOS,然后需要在电脑的BIOS中开启「虚拟化技术」。

然后就遇到了问题:不管是F10还是esc怎样都进不去BIOS。

几乎尝试了所有bing能够搜索到的方法。为此,还更新了BIOS,关闭了Win10快速启动,尝试了CMOS RESET都不行。

突然想到要不去B站看看,然后就在这个视频找到了解决方法。

按着shift的同时点击开始菜单的重启键,依次点击疑难解答,高级选项,UEFI固件设置,重启就可以了。

总结:遇到问题,不要只是在一个平台上找,多去几个平台上查查看。

(吐槽一句:惠普官方支持网站真垃圾。)

JavaScript

什么是JavaScript,有什么用?

JavaScript是运行在浏览器上的脚本语言,简称JS。

背景:JavaScript是网景公司(NetScape)的 布兰登艾奇(JavaScript之父)开发的,最初叫做LiveScript。LiveScript的出现让浏览器更加的生动了,不再是单纯的静态页面了。页面更具有交互性。在历史的某个阶段,SUN公司和网景公司他们之间有合作关系,SUN公司把LiveScript的名字修改为JavaScript。

java与JavaScript的区别:

JavaScript这个名字中虽然带有“Java”,直译是“Java脚本”,但是跟Java没有任何关系😅,只是语法上优点类似(JavaScript名字只是蹭java的热度)。

他们运行的位置不同,目标程序保存的形式也不同【目标程序就是文件打开就能直接执行的程序】:

Java运行在JVM当中,JavaScript运行在浏览器的内存当中。JavaScript程序不需要手动编译,编写完源代码之后,浏览器直接打开解释执行。

JavaScript的“目标程序”以普通文本形式保存(用记事本就可以打开),这种语言都叫做“脚本语言”。

Java的目标程序以.class形式存在,不能使用文本编辑器打开,不是脚本语言。

(HelloWord.java——>HelloWorld.class【目标程序】)

JavaScript与jsp的区别:

JSP : JavaServer Pages(隶属于Java语言的,运行在JVM当中)

JS : JavaScript(脚本语言,运行在浏览器上)

踩坑记录

今天再用hexo推送一篇博客的时候一直不成功,并且出现这个报错:

1
err: YAMLException: can not read a block mapping entry; a multiline key may not be an implicit key at line x, column X

发现问题:刚刚写的的markdown文件头部的tags: 后面忘了加空格。

关于YML语言

以前在项目里也有写过yml文件,但是现在只记得yml语言常常用来写配置文件,语法非常规整。然而好长时间没接触,现在已经完全没有什么印象了/(ㄒoㄒ)/~~,导致这个报错都看得一头雾水。所以写篇博客,以作警示:学习如逆水行舟,不进则退。以及,学过的东西,要多复习总结!

初识HTML

这一篇是好久之前的笔记啦,当时看的是动力结点杜聚宾老师的课,重新回顾一下发到博客上来。

在学习HTML之前,先了解一下两种系统架构:

系统结构:B/S架构和C/S架构

B/S架构:

==Browser / Server (浏览器/服务器的交互形式)==用户通过浏览器来访问。

Browser支持哪些语言:HTML CSS JavaScript

Server即服务器端的语言很多:C C++ Java python…..

B/S架构的系统有什么优点和缺点?
  • 优点:==升级方便,只升级服务器端代码即可,维护成本低。==
  • 缺点:==速度慢、体验不好、界面不炫酷。==

企业内部的解决方案都是采用B/S架构的系统,因为企业内部办公需要的一些系统不需要炫酷,不需要特别好的用户体验,只要能做数据的增删改查即可。并且企业内部更注重维护的成本。

B/S架构的系统有哪些代表?

京东、百度、Google….

C/S架构

Client / Server (客户端/服务器端的交互形式)用户通过客户端来访问。

C/S架构的系统有什么优点和缺点?
  • 缺点:==升级麻烦,维护成本较高。==
  • 优点:==速度快,体验好,界面炫酷。==(娱乐型的系统多数是C/S架构的)
常见的C/S架构的系统:

QQ、微信、网易云….

想起来我在数据库课程上老师也讲过C/S架构和B/S架构,这是我当时记下的:

CS架构和BS架构

HTML就是在B/S架构中的Browser端发挥作用的。

什么是HTML?

html:hyper text markup language,超文本标记语言

==超文本?==

​ 超级文本,例如流媒体,声音,视频,图片等。

==标记语言?==

​ 这种语言是由大量的标签组成。

tip:任何一个标签都有开始标签结束标签,例如:

<标签> :开始标签

</标签> :结束标签【括号内起始位置增加一个反斜杠】

HTML是不是编程语言?

html严格意义上来只能说是一种规范,一种浏览器上的规范,标签语言,不能称为编程语言,因为html中没有变量、数据类型、控制语句if、for,这些都没有的。

tip : HTML是标签语言,CSS是样式语言,都不是编程语言。只有JavaScript是编程语言。

HTML运行在哪?

运行在浏览器上,直接使用浏览器打开HTML文件就能运行。

用什么开发?

HTML开发的时候使用普通的文本编辑器就行,创建的文件扩展名是.html或者.htm

HTML也有专业的开发工具,例如:DreamWeaver、HBuilder…..

HTML基本网页结构

文件格式:xxx.html(推荐)xxx.htm

HTML的基本组成?
1
2
3
4
<html>
<head></head>
<body></body>
</html>

一定有head和body两部分组成

!doctype声明:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<html>
<!--注释代码-->

<!--声明式:不能显示(head中只有title里的内容可以在网页标题中显示)-->
<head>
<!--设置网页编码-->
        <meta charset="utf-8"/>SEO
<!--关键词:是否能被搜索引擎搜到-->
        <meta name="keywords" content="学习html"/>
<!--描述:当搜到网页时,展示的简介内容-->
        <meta name="description" content="学习html非常好"/>
<title>my first html</title>
</head>

<!--能够显示的-->
<body>
my context
</body>
</html>

html不区分大小写,容错性很强

HTML是谁制定的?

W3C:世界万维网联盟(World Wide Web Consortium)

W3C制定了HTML的规范,每个浏览器生产厂家都会遵守规范。HTML程序员也会按照这个规范去写代码。

W3C标准:

  • 具体的实现产品html css javascript
  • html版本
  • html和xhtml的区别
  • html内容的语义化

HTML规范目前最高的版本是:HTML5.0,简称H5.

W3C制定了很多规范:HTML/XML/http协议/https协议……

关于hexo,我曾在第一篇写过一些基本命令。

打算在这一篇写一些基本用法,其实基本上都可以在官方文档找到。在这里写下只是为了记录一下不断摸索的过程,其中参考了很多其他优秀的博客。

少女摸索中……会不断更新。

基础使用

增加categories分类

hexo n "title" 新建的默认的页面抬头是这样的:

1
2
3
title:
date:
tags:

可以编辑标题、日期、标签和内容,但是没有分类的选项。可以打开scaffolds/post.md文件,在tages:上面加入categories:

保存后,重新执行hexo n "title"命令,会发现新建的页面里有categories:项了。

scaffolds目录下,是新建页面的模板,执行新建命令时,是根据这里的模板页来完成的,所以可以在这里根据你自己的需求添加一些默认值。

设置Categories

在我们编辑文章的时候,直接在categories:项填写属于哪个分类,但如果分类是中文的时候,路径也会包含中文。
比如分类我们设置的是:

categories: 编程

那在生成页面后,分类列表就会出现编程这个选项,他的访问路径是:

*/categories/编程

如果我们想要把路径名和分类名分别设置,需要怎么办呢?

打开根目录下的配置文件_config.yml,找到如下位置做更改:

1
2
3
4
5
6
7
# Category & Tag
default_category: uncategorized
category_map:
编程: programming
生活: life
其他: other
tag_map:

在这里category_map:是设置分类的地方,每行一个分类,冒号前面是分类名称,后面是访问路径。

可以提前在这里设置好一些分类,当编辑的文章填写了对应的分类名时,就会自动的按照对应的路径来访问。

给文章加标签

在编辑文章的时候,tags:后面是设置标签的地方,如果有多个标签的话,可以用下面两种办法来设置:

1
2
3
4
5
6
7
tages: [标签1,标签2,...标签n]

tages:
- 标签1
- 标签2
...
- 标签n

文章保存为草稿

来自于这里

作者是:novnan

  1. 传统建立文章方式

一般我们都会使用 hexo new <title> 来建立文章,这种建立方法会将新文章建立在 source/_posts 目录下。当使用 hexo generate 编译 markdown 文件时,会将其 HTML 结果编译在 public 目录下,之后 hexo deploy 将会把 public 目录下所有文章部署到 GitHub,这是我们熟悉的 Hexo 流程。

这种建立文章方式的缺点是:若我们同时编辑多篇文章,只要其中一篇文章尚未编辑完成,也会随着 hexo deploy 一起部署到 GitHub,也就是 GitHub 可能会看到我们尚未完成的文章。

  1. 建立文章草稿
1
hexo new draft <title>

Hexo 另外提供 draft 机制,它的原理是新文章将建立在 source/_drafts 目录下,因此 hexo generate 并不会将其编译到 public 目录下,所以 hexo deploy 也不会将其部署到 GitHub。

  1. 本机预览草稿
1
hexo S --draft

虽然 hexo generate 不会编译 source/_drafts 目录下的文章,但 Hexo 的 Hexo server 另外提供 --draft 参数,这让我们只要搭配 hexo-browsersync plugins,就可以达到一边编辑 markdown 文章,一边使用浏览器预览的目的。

  1. 将草稿发布为正式文章
1
hexo P <filename>

其中 <filename> 为不包含 md 后缀的文章名称。它的原理只是将文章从 source/_drafts 移动到 source/_posts 而已。

之后的 hexo generatehexo deploy 的用法就完全一样了。

  1. 将文章转为草稿

若日后想将正式文章转为为草稿,只需手动将文章从 source/_posts 目录移动到 source/_drafts 目录即可。

插入图片

  1. 安装插件

cd到你hexo根目录里用cmd执行以下代码

1
npm install hexo-asset-image --save
  1. 打开hexo的配置文件_config.yml,找到 post_asset_folder,把这个选项从false改成true。这样新建文章时,会自动生成和文章名相同的文件夹,这个文件夹专门用于存放文章图片。

更换Hexo博客网页图标

看这里

深入一点

Hexo文件框架

1
2
3
4
5
6
7
8
9
10
.
├── node_modules:#依赖包-安装插件及所需nodejs模块。
├── public #最终网页信息。即存放被解析markdown、html文件。
├── scaffolds #模板文件夹。即当您新建文章时,根据scaffold生成文件。
├── source #资源文件夹。即存放用户资源。
| └── _posts #博客文章目录。
└── themes #存放主题。Hexo根据主题生成静态页面。
├── _config.yml #网站的配置信息。标题、网站名称等。
├── db.json:#source解析所得到的缓存文件。
├── package.json # 应用程序信息。即配置Hexo运行需要js包。

Hexo原理

Hexo是一个模板渲染引擎,可以将本地写好的markdown文本渲染为HTML、CSS等前端模板样式,然后推送到GitHub Pages,就可以访问了。

极简主义是一种思维方式

看了这篇博文,很有启发,极简主义对于作者来说并不是审美、设计或者生活方式,而是一种思维方式

比如作者的衣橱极简,是由于ta的极简主义的思维导向的,因为ta极简主义的思维,所以ta在购买衣服的时候非常克制,只留下必要的,以至于ta的衣橱非常简洁。而不是因为ta是“极简主义者”才要衣橱极简。

As an example, my wardrobe is “minimal” not because I am a minimalist. My wardrobe is minimal as a result of me applying a minimalist mindset when it comes to buying clothes. The two might look the same but there’s a subtle difference. I’ll explore the topic of clothing later in this guide but let me just say that in my case the goal is not to be a minimalist. The goal is to be functional and to optimise as much as possible. And the result of that is a minimal wardrobe.

很多时候,人们在践行极简方面只做到了,比如只能拥有100件以内的物品,再比如将自己的博客装饰成只有白底黑字(虽然确实很好看,但也缺失一些实用性的功能),却没有学到极简主义的。至于极简主义的本质是什么,于我而言又是什么,我也还在摸索中。

这里补充一下在《Digital Minimalism》数字极简的定义:

“数字极简主义是一门有关科技使用的哲学,其中,你要把网络在线时间聚焦在==少量经过精心挑选和优化的活动==上,这些活动将有力地帮助你去完成你认为真正有价值的事,然后愉快地错过其它所有的事。”

我觉得在面对如今海量的互联网信息,面对这个充斥着消费和娱乐的世界,人的心灵也越来越躁动不安,欲望得到了无限的膨胀,或许极简主义才是解决之道。

你好呀

搭建好博客啦,接下来,打算陆续把以前的笔记整理搬运上来。

记录一下这次用GitHub pages建博客踩的坑:博客要推送到到gh-pages分支,而不是main分支,main分支是保存代码的。

在这里找到的答案


以下是写博客的一些命令:

写博客,在命令行输入:

1
hexo n title

如果标题包含空格的话,请使用引号括起来。

1
hexo new "post title with whitespace"

然后就可以在source/_posts文件夹下生成 博客名字.md 文件。

预览博客效果:

1
hexo server

启动服务器,在本地浏览器的localhost:4000即可预览

使用hexo发布的命令:

1
hexo clean && hexo g && hexo d
  • hexo clean 清除缓存文件 (db.json) 和已生成的静态文件 (public)。
  • g是generate的简写,就是产生网页的意思
  • d是deploy的简写,就是部署网页的意思

这里记录一下教训:有什么问题可以直接去看官方文档,人家已经写的非常清晰了。