-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
207 lines (187 loc) · 36.6 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><title>Henry's Hexo</title><meta name="author" content="Henry"><meta name="copyright" content="Henry"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta property="og:type" content="website">
<meta property="og:title" content="Henry's Hexo">
<meta property="og:url" content="http://example.com/index.html">
<meta property="og:site_name" content="Henry's Hexo">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://i.loli.net/2021/02/24/5O1day2nriDzjSu.png">
<meta property="article:author" content="Henry">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://i.loli.net/2021/02/24/5O1day2nriDzjSu.png"><link rel="shortcut icon" href="/img/favicon.png"><link rel="canonical" href="http://example.com/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: {"path":"/local-search.xml","preload":true,"languages":{"hits_empty":"找不到您查询的内容:${query}"}},
translate: undefined,
noticeOutdate: undefined,
highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
copy: {
success: '复制成功',
error: '复制错误',
noSupport: '浏览器不支持'
},
relativeDate: {
homepage: false,
post: false
},
runtime: '',
date_suffix: {
just: '刚刚',
min: '分钟前',
hour: '小时前',
day: '天前',
month: '个月前'
},
copyright: undefined,
lightbox: 'fancybox',
Snackbar: undefined,
source: {
justifiedGallery: {
js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.js',
css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.css'
}
},
isPhotoFigcaption: false,
islazyload: false,
isAnchor: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: 'Henry\'s Hexo',
isPost: false,
isHome: true,
isHighlightShrink: false,
isToc: false,
postUpdate: '2024-11-17 00:12:03'
}</script><noscript><style type="text/css">
#nav {
opacity: 1
}
.justified-gallery img {
opacity: 1
}
#recent-posts time,
#post-meta time {
display: inline !important
}
</style></noscript><script>(win=>{
win.saveToLocal = {
set: function setWithExpiry(key, value, ttl) {
if (ttl === 0) return
const now = new Date()
const expiryDay = ttl * 86400000
const item = {
value: value,
expiry: now.getTime() + expiryDay,
}
localStorage.setItem(key, JSON.stringify(item))
},
get: function getWithExpiry(key) {
const itemStr = localStorage.getItem(key)
if (!itemStr) {
return undefined
}
const item = JSON.parse(itemStr)
const now = new Date()
if (now.getTime() > item.expiry) {
localStorage.removeItem(key)
return undefined
}
return item.value
}
}
win.getScript = url => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
script.onerror = reject
script.onload = script.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
script.onload = script.onreadystatechange = null
resolve()
}
document.head.appendChild(script)
})
win.activateDarkMode = function () {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
win.activateLightMode = function () {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
}
}
const t = saveToLocal.get('theme')
if (t === 'dark') activateDarkMode()
else if (t === 'light') activateLightMode()
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
if (asideStatus === 'hide') {
document.documentElement.classList.add('hide-aside')
} else {
document.documentElement.classList.remove('hide-aside')
}
}
const detectApple = () => {
if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
document.documentElement.classList.add('apple')
}
}
detectApple()
})(window)</script><meta name="generator" content="Hexo 6.3.0"></head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="https://i.loli.net/2021/02/24/5O1day2nriDzjSu.png" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">59</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">14</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">0</div></a></div><hr/></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">Henry's Hexo</a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search"><i class="fas fa-search fa-fw"></i><span> 搜索</span></a></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">Henry's Hexo</h1></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="post_cover right"><a href="/2022/06/05/Java%E5%85%A5%E9%97%A8/" title="Java入门"><img class="post_bg" src="/img/Java%E5%85%A5%E9%97%A8/2022-08-10-18-01-11.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Java入门"></a></div><div class="recent-post-info"><a class="article-title" href="/2022/06/05/Java%E5%85%A5%E9%97%A8/" title="Java入门">Java入门</a><div class="article-meta-wrap"><span class="article-meta"><i class="fas fa-thumbtack sticky"></i><span class="sticky">置顶</span><span class="article-meta-separator">|</span></span><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2022-06-04T22:20:40.000Z" title="发表于 2022-06-05 06:20:40">2022-06-05</time></span></div><div class="content">Java 入门先编译,后解释先把.java 文件通过 javac 编译为.class 字节码文件,再交给 jvm 解释运行。
反编译编译是.java -> .class,那么反编译就是.class -> .java反编译后得到的*.java 和原始代码文件几乎完全相同,甚至能够得到某些注解帮我们实现的内容,除了注释文字。
通过 jdk 的 javap 实现反编译
反编译命令 javap -p xxx.class
通过 jad 工具实现反编译 推荐不同的反编译工具可以得到不同的结果,多尝试,看看谁更强大。
jad -sJava xxx.class
概述Java 的起源和生态设计于 1995 年,是基于 C 和 C++创建的与平台无关,一次编写到处运行。从下图可以看出,跨平台的特性来自编译器和 JVM
Java 的生态和应用场景
Java Card&nbsp;&nbsp;&nbsp;&nbsp;智能卡,SIM 卡
Java ME Micro-Edition&nbsp;&nbsp;&nbsp;&nbsp;智能 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2022/10/28/%E8%BD%AF%E4%BB%B6%E8%AE%BE%E8%AE%A1%E5%B8%88%E7%8E%8B%E5%8B%872021%E7%89%88%E8%A7%82%E7%9C%8B%E7%AC%94%E8%AE%B0/" title="软件设计师王勇2021版观看笔记"><img class="post_bg" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="软件设计师王勇2021版观看笔记"></a></div><div class="recent-post-info"><a class="article-title" href="/2022/10/28/%E8%BD%AF%E4%BB%B6%E8%AE%BE%E8%AE%A1%E5%B8%88%E7%8E%8B%E5%8B%872021%E7%89%88%E8%A7%82%E7%9C%8B%E7%AC%94%E8%AE%B0/" title="软件设计师王勇2021版观看笔记">软件设计师王勇2021版观看笔记</a><div class="article-meta-wrap"><span class="article-meta"><i class="fas fa-thumbtack sticky"></i><span class="sticky">置顶</span><span class="article-meta-separator">|</span></span><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2022-10-28T14:20:48.000Z" title="发表于 2022-10-28 22:20:48">2022-10-28</time></span></div><div class="content">计算机组成与体系结构进制转换R进制转十进制按权展开,把每个位置上的数和它自己的权,相乘,再将每个位置的结果相加。
十进制转R进制短除法,几进就除几,除到商为零,余数倒着写
二进制转八进制与十六进制数二进制转八进制 三位一体 421二进制转十进制,因 10 不满足 2 的几次幂,只能使用R 进制转十进制二进制转十六进制 四位一体 8421
tips: 八进制与十六进制转二进制也遵循以上法则,不过是逆着求解罢了。
原码反码补码移码一般地,我们存储数据时会规定这个数据占多少字节,我们这里暂时仅讨论一个字节,也就是 8 个位的情况。比如用 8 个位来表示,十进制的 1,我们需要在高位添零补位 00000001有的时候会讨论到带符号的情况,那么我们把最高位约定为符号位,正零负壹
数据库系统数据库三级模式两级映射三级模式:外模式、概念模式、内模式两级映射:外模式-概念模式映射、概念模式-内模式映射
数据库设计过程这一节需要我们了解,整个设计过程的流程是怎么走下来的,以及每一个不同阶段它会有的不同的产出物。流程的走向依次是:需求分析、概念结构设计、逻辑结构设计、物理设计不同流程阶段的产出有:需求分析 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2022/08/05/%E4%BC%9A%E8%AF%9D%E4%BF%9D%E6%8C%81/" title="会话保持"><img class="post_bg" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="会话保持"></a></div><div class="recent-post-info"><a class="article-title" href="/2022/08/05/%E4%BC%9A%E8%AF%9D%E4%BF%9D%E6%8C%81/" title="会话保持">会话保持</a><div class="article-meta-wrap"><span class="article-meta"><i class="fas fa-thumbtack sticky"></i><span class="sticky">置顶</span><span class="article-meta-separator">|</span></span><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2022-08-04T16:00:25.000Z" title="发表于 2022-08-05 00:00:25">2022-08-05</time></span></div><div class="content">会话保持cookiecookie 是由首次请求通过服务器返回,浏览器存储,之后每次请求时携带给服务器的键值对;cookie 可以设置失效时间;使用 cookie 时,服务端接收到的值可能会是乱码,需要在前端对 cookie 的键值对的值先编码
Web 存储在 cookie 之后出现的 Web 存储技术;Web 存储(Web Storage)的 API 包括 localStorage、sessionStorage;尽管 cookie 也是存储在浏览器上的,这就是为什么通常没有把 cookie 归属到 Web 存储(Web Storage)内的原因
session 会话session 默认存储在后端服务内存中,但可以持久化,通常还会存储会话结束时间、会话 id
cookie & session 的结合比如用户登录成功后,持久化 sessionId 和会话结束时间,首次把 sessionId 添加入 cookie 返回给浏览器,会话结束时间设置为 cookie 的失效时间。达到 cookie 失效时间,cookie 超时,会话结束。
token内存中的 session 会话可能会丢失 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2024/10/02/Elasticsearch%E5%85%A5%E9%97%A8/" title="Elasticsearch入门"><img class="post_bg" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Elasticsearch入门"></a></div><div class="recent-post-info"><a class="article-title" href="/2024/10/02/Elasticsearch%E5%85%A5%E9%97%A8/" title="Elasticsearch入门">Elasticsearch入门</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-10-02T15:11:22.000Z" title="发表于 2024-10-02 23:11:22">2024-10-02</time></span></div><div class="content">前言Elasticsearch 是一个分布式搜索和分析引擎(以下简称 ES)。为什么要使用 ES?要知道,在这之前,我们的搜索大部分是基于关系型数据库的 sql 查询。因为 ES 支持 JSON 结构化存储,提供 restfulApi 存取,接近实时的查询速度。高可用,系统无中断地执行功能的能力,代表了系统的可用性程度。水平扩充,可以通过增加主机数量,来提升吞吐量。
Elasticsearch 架构
Node一个安装有 ES 的 server
Cluster一群安装有 ES 的 server
ES.Field <==> sql.ColumnField 是 ES 存储的最小单位,相当于关系型数据库的 Column
ES.Document <==> sql.Record多个 Field 组合成一个 Document,相当于关系型数据库的 Record,每一个 Document 都有一个唯一的 ID 作为区分
ES.Type <==> sql.Table相当于关系型数据库的 Table,每个 Document 都被分在 Type 里
ES.Index & ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2024/08/22/MQ%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97%E4%B8%AD%E9%97%B4%E4%BB%B6/" title="MQ消息队列中间件"><img class="post_bg" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="MQ消息队列中间件"></a></div><div class="recent-post-info"><a class="article-title" href="/2024/08/22/MQ%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97%E4%B8%AD%E9%97%B4%E4%BB%B6/" title="MQ消息队列中间件">MQ消息队列中间件</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-08-22T15:11:53.000Z" title="发表于 2024-08-22 23:11:53">2024-08-22</time></span></div><div class="content">MQ 全称为 Message Queue, 消息队列
MQ 消息队列中间件的应用场景为什么要使用 MQ 消息队列中间件?
异步/并行处理有并发编程的味道了?,但这不是以往单独一个进程里的多线程异步并行,而是可以跨进程/跨计算机的,众所周知,不同计算机的网络间进程间通信需要借助因特网。
应用解耦
流量削峰在处理高并发的库存扣减时,先用 redis 把热点数据库存数量存在内存,用带事务的 MQ 消息中间件,把库存依次写入数据库,减轻数据库的压力
JMS和那些 JDBC, Servlet 一样,JMS 也是 Java 规范的其中之一,JMS(Java Messaging Service) ,是 Java 消息中间件的技术规范。JMS 使你能够通过消息收发服务(有时称为消息中介程序或路由器)从一个 JMS 客户机向另一个 JML 客户机发送消息。消息是 JMS 中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。
Java 开发中常用的 MQ 中间件这些 MQ 中间件是基于 JMS 规范实现 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2024/08/04/rsync%E5%85%A5%E9%97%A8/" title="rsync入门"><img class="post_bg" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="rsync入门"></a></div><div class="recent-post-info"><a class="article-title" href="/2024/08/04/rsync%E5%85%A5%E9%97%A8/" title="rsync入门">rsync入门</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-08-04T13:47:58.000Z" title="发表于 2024-08-04 21:47:58">2024-08-04</time></span></div><div class="content">前言rsync 是一个常用的 Linux 应用程序,用于文件同步。
它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不支持两台远程计算机之间的同步)。它也可以当作文件复制工具,替代 cp 和 mv 命令。它名称里面的 r 指的是 remote,rsync 其实就是”远程同步”(remote sync)的意思。与其他文件传输工具(如 FTP 或 scp)不同,rsync 的最大特点是会检查发送方和接收方已有的文件,仅传输有变动的部分(默认规则是文件大小或修改时间有变动)。
可以有效地在远程系统中复制和同步文件。支持复制链接,设备,所有者,组和权限。它比 scp(Secure Copy)更快,因为 rsync 使用远程更新协议,它只允许传输两组文件之间的差异。第一次,它将文件或目录的全部内容从源复制到目标,但从下一次开始,它只将已更改的块和字节复制到目标。Rsync 在两端发送和接收数据时使用压缩和解压方法,因此消耗的带宽更少。
第一个 rsync 命令apt install rsyncGrsync 是 rsync 的图形化界面工具,可以用来学习运行 rsync 的命令 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2024/07/29/docker%E5%AE%B9%E5%99%A8/" title="docker容器"><img class="post_bg" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="docker容器"></a></div><div class="recent-post-info"><a class="article-title" href="/2024/07/29/docker%E5%AE%B9%E5%99%A8/" title="docker容器">docker容器</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-07-29T14:16:07.000Z" title="发表于 2024-07-29 22:16:07">2024-07-29</time></span></div><div class="content">使用 docker 的理由使用 docker 的理由简单来说就是两个
使用 docker 进行应用的移植/分发,
需要运行使用 docker 分发的应用
Docker 是一种应用容器化技术。通过将应用程序和它的依赖一起打包成为一个可移植的容器,我们可以在不同环境上快速、可靠地运行相同的程序。
以上的描述可能略微有些抽象。简单来说,设想你需要跑一个别人发给你的代码,而此时你首先需要配置环境。然而,各种不同的硬件、操作系统、编译工具链使得在不同的地方配置环境极为复杂且花费时间,这一点想必各位同学在各种课程上深有体会。Docker 解决的正是这一问题:通过直接将环境与程序打包在一起分发这种既暴力又优雅的方式,只需要下载容器,就能在不同的环境上完全一致地运行程序,免去了配置环境的麻烦以及环境不同带来的运行差异。在软件工程等课程上,你将会大量应用本节课所学到的知识,来将你的应用在不同的环境上一致地部署。
通过学习本课程,你将能够利用 Docker 这一强大的工具来解决环境配置问题,并方便快速地分发你的应用。
安装 dockerWindows任务栏搜索功能,启用”适用于 Linux ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2024/07/28/%E5%88%9B%E5%BB%BASSH%E5%AF%86%E9%92%A5%E6%9D%A5%E8%BF%9E%E6%8E%A5Github%E6%88%96Gitlab/" title="创建SSH密钥来连接Github或Gitlab"><img class="post_bg" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="创建SSH密钥来连接Github或Gitlab"></a></div><div class="recent-post-info"><a class="article-title" href="/2024/07/28/%E5%88%9B%E5%BB%BASSH%E5%AF%86%E9%92%A5%E6%9D%A5%E8%BF%9E%E6%8E%A5Github%E6%88%96Gitlab/" title="创建SSH密钥来连接Github或Gitlab">创建SSH密钥来连接Github或Gitlab</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-07-28T15:36:10.000Z" title="发表于 2024-07-28 23:36:10">2024-07-28</time></span></div><div class="content">当您通过 Github 或 Gitlab 使用 Git 时,您经常需要使用您的用户名和密码进行身份验证。SSH 密钥是一种替代方法,用于在每次与存储库交互时都无需提供上述凭据即可识别自己。您只需要与该服务共享您的公钥,私钥将一直存储在您的计算机中,因此当密钥匹配时,您可以完全访问您的资料。
例如,如果您尝试通过 SSH 克隆其中一个存储库,如下所示:在 Windows 中,如果未正确配置任何 SSH 密钥,则会显示以下消息:在本文中,我将向您解释如何轻松生成自己的 SSH 密钥来识别您的设备。
安装 PuTTYGen要使用存储库进行 SSH 身份验证,您要做的第一件事是在系统中安装 PuTTYGen。此应用程序包含在官方网站上的PuTTY安装设置中。但是,如果您不想要整个 PuTTy 捆绑包,您也可以下载该文件。puttygen.exe
PuTTYGen 是一个 RSA 和 DSA 密钥生成实用程序,将用于在 Windows 环境中创建我们的 SSH 密钥。
生成 SSH 密钥启动 PuttyGen 二进制文件并通过单击“Generate”开始创建 SSH 密钥,之后,系统会要求您将鼠 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2024/07/21/%E6%96%B0%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/" title="新计算机网络"><img class="post_bg" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="新计算机网络"></a></div><div class="recent-post-info"><a class="article-title" href="/2024/07/21/%E6%96%B0%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/" title="新计算机网络">新计算机网络</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-07-21T03:12:31.000Z" title="发表于 2024-07-21 11:12:31">2024-07-21</time></span></div><div class="content">互联网 因特网 万维网互联网、因特网、万维网三者的关系是:互联网包含因特网,因特网包含万维网,凡是能彼此通信的设备组成的网络就叫互联网。所以,即使仅有两台机器,不论用何种技术使其彼此通信,也叫互联网。国际标准的互联网写法是 Internet,因特网是互联网的一种。因特网可不是仅有两台机器组成的互联网,它是由上千万台设备组成的互联网。
可能因特网是使用频率最高的,所以通常直接会把互联网 ≈ 因特网,即 internet ≈ Internet
互联网互联互通.任何传输协议
因特网互联互通.TCP / IP 传输协议簇说人话就是:首先是看自己电脑是否安装了 TCP/IP协议,其次看是否拥有一个公网地址
万维网位于应用层的协议有很多,比如 FTP、HTTP、SMTP……。但只要应用层使用的是HTTP协议,就称为万维网(World Wide Web)。
万维网通信客户端使用浏览器发送 HTTP 请求服务端处理来自客户端的 HTTP 请求后给客户端发送 HTTP 响应内容
万维网的通信,通常有客户端和服务端也就是两台主机,但实际上客户端和服务端可以是同一台主机
一台主机——是客户端也 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2024/07/20/serv00%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA/" title="serv00虚拟主机"><img class="post_bg" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="serv00虚拟主机"></a></div><div class="recent-post-info"><a class="article-title" href="/2024/07/20/serv00%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA/" title="serv00虚拟主机">serv00虚拟主机</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-07-20T11:43:00.000Z" title="发表于 2024-07-20 19:43:00">2024-07-20</time></span></div><div class="content">前言Serv00 是一个提供免费虚拟主机的平台,其托管平台使用的是 FreeBSD 系统,而不是 Linux。每个账号有效期为 10年,超过三个月不登录 Panel 以及 SSH 则会被删除账号。以下是 Serv00 提供的服务概览:
存储空间:3 GB每月流量:无限制网站数量:100MySQL 数据库:10 个PostgreSQL 数据库:3 个MongoDB 数据库:3 个GIT/SVN/HG 仓库:3 个TCP/UDP 端口:3 个PHP 解释器:3 个系统进程:20 个RAM:512MB备份:7 天服务器放置:欧盟免费子域名:username.serv00.net技术支持:只有论坛 SLA,不支持现代技术SSH 访问:支持SSH 隧道:不支持远程数据库访问:不支持固态硬盘:支持没有广告:支持
少啰嗦免费子域名:username.serv00.net流量: 无限CPU: amd64
1234#sysctl hw.model hw.machine hw.ncpuhw.model: Intel(R) Xeon(R) Silver 4214R CPU @ ...</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span><a class="page-number" href="/page/2/#content-inner">2</a><span class="space">…</span><a class="page-number" href="/page/6/#content-inner">6</a><a class="extend next" rel="next" href="/page/2/#content-inner"><i class="fas fa-chevron-right fa-fw"></i></a></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="https://i.loli.net/2021/02/24/5O1day2nriDzjSu.png" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">Henry</div><div class="author-info__description"></div></div><div class="card-info-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">59</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">14</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">0</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/xxxxxx"><i class="fab fa-github"></i><span>Follow Me</span></a></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>公告</span></div><div class="announcement_content">This is my Blog</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/2024/10/02/Elasticsearch%E5%85%A5%E9%97%A8/" title="Elasticsearch入门"><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Elasticsearch入门"/></a><div class="content"><a class="title" href="/2024/10/02/Elasticsearch%E5%85%A5%E9%97%A8/" title="Elasticsearch入门">Elasticsearch入门</a><time datetime="2024-10-02T15:11:22.000Z" title="发表于 2024-10-02 23:11:22">2024-10-02</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2024/08/22/MQ%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97%E4%B8%AD%E9%97%B4%E4%BB%B6/" title="MQ消息队列中间件"><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="MQ消息队列中间件"/></a><div class="content"><a class="title" href="/2024/08/22/MQ%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97%E4%B8%AD%E9%97%B4%E4%BB%B6/" title="MQ消息队列中间件">MQ消息队列中间件</a><time datetime="2024-08-22T15:11:53.000Z" title="发表于 2024-08-22 23:11:53">2024-08-22</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2024/08/04/rsync%E5%85%A5%E9%97%A8/" title="rsync入门"><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="rsync入门"/></a><div class="content"><a class="title" href="/2024/08/04/rsync%E5%85%A5%E9%97%A8/" title="rsync入门">rsync入门</a><time datetime="2024-08-04T13:47:58.000Z" title="发表于 2024-08-04 21:47:58">2024-08-04</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2024/07/29/docker%E5%AE%B9%E5%99%A8/" title="docker容器"><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="docker容器"/></a><div class="content"><a class="title" href="/2024/07/29/docker%E5%AE%B9%E5%99%A8/" title="docker容器">docker容器</a><time datetime="2024-07-29T14:16:07.000Z" title="发表于 2024-07-29 22:16:07">2024-07-29</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2024/07/28/%E5%88%9B%E5%BB%BASSH%E5%AF%86%E9%92%A5%E6%9D%A5%E8%BF%9E%E6%8E%A5Github%E6%88%96Gitlab/" title="创建SSH密钥来连接Github或Gitlab"><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="创建SSH密钥来连接Github或Gitlab"/></a><div class="content"><a class="title" href="/2024/07/28/%E5%88%9B%E5%BB%BASSH%E5%AF%86%E9%92%A5%E6%9D%A5%E8%BF%9E%E6%8E%A5Github%E6%88%96Gitlab/" title="创建SSH密钥来连接Github或Gitlab">创建SSH密钥来连接Github或Gitlab</a><time datetime="2024-07-28T15:36:10.000Z" title="发表于 2024-07-28 23:36:10">2024-07-28</time></div></div></div></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/tags/IDE/" style="font-size: 1.23em; color: #999ea6">IDE</a> <a href="/tags/Java/" style="font-size: 1.23em; color: #999ea6">Java</a> <a href="/tags/JavaWeb/" style="font-size: 1.1em; color: #999">JavaWeb</a> <a href="/tags/Linux/" style="font-size: 1.23em; color: #999ea6">Linux</a> <a href="/tags/Termux/" style="font-size: 1.1em; color: #999">Termux</a> <a href="/tags/Web/" style="font-size: 1.5em; color: #99a9bf">Web</a> <a href="/tags/%E5%89%8D%E7%AB%AF/" style="font-size: 1.37em; color: #99a4b2">前端</a> <a href="/tags/%E5%90%8E%E7%AB%AF/" style="font-size: 1.23em; color: #999ea6">后端</a> <a href="/tags/%E6%95%B0%E6%8D%AE%E5%BA%93/" style="font-size: 1.1em; color: #999">数据库</a> <a href="/tags/%E6%A1%86%E6%9E%B6/" style="font-size: 1.1em; color: #999">框架</a> <a href="/tags/%E7%88%AC%E8%99%AB/" style="font-size: 1.1em; color: #999">爬虫</a> <a href="/tags/%E7%BC%96%E7%A8%8B/" style="font-size: 1.1em; color: #999">编程</a> <a href="/tags/%E7%BC%96%E8%BE%91%E5%99%A8/" style="font-size: 1.23em; color: #999ea6">编辑器</a> <a href="/tags/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/" style="font-size: 1.1em; color: #999">软件测试</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>归档</span><a class="card-more-btn" href="/archives/" title="查看更多">
<i class="fas fa-angle-right"></i></a></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2024/10/"><span class="card-archive-list-date">十月 2024</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2024/08/"><span class="card-archive-list-date">八月 2024</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2024/07/"><span class="card-archive-list-date">七月 2024</span><span class="card-archive-list-count">6</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2024/06/"><span class="card-archive-list-date">六月 2024</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2024/05/"><span class="card-archive-list-date">五月 2024</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2024/04/"><span class="card-archive-list-date">四月 2024</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2024/03/"><span class="card-archive-list-date">三月 2024</span><span class="card-archive-list-count">5</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/11/"><span class="card-archive-list-date">十一月 2023</span><span class="card-archive-list-count">1</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站资讯</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">59</div></div><div class="webinfo-item"><div class="item-name">本站访客数 :</div><div class="item-count" id="busuanzi_value_site_uv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">本站总访问量 :</div><div class="item-count" id="busuanzi_value_site_pv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2024-11-16T16:12:03.510Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">©2020 - 2024 By Henry</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="回到顶部"><i class="fas fa-arrow-up"></i></button></div></div><div id="local-search"><div class="search-dialog"><nav class="search-nav"><span class="search-dialog-title">搜索</span><span id="loading-status"></span><button class="search-close-button"><i class="fas fa-times"></i></button></nav><div class="is-center" id="loading-database"><i class="fas fa-spinner fa-pulse"></i><span> 数据库加载中</span></div><div class="search-wrap"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="搜索文章" type="text"/></div></div><hr/><div id="local-search-results"></div></div></div><div id="search-mask"></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.umd.min.js"></script><script src="/js/search/local-search.js"></script><div class="js-pjax"></div><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>