-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
269 lines (247 loc) · 54 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
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
<!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"><title>Naylen's Blog - 摸🐟</title><meta name="keywords" content="算法,数据结构,Django,后端,图形学,机器学习"><meta name="author" content="Naylen"><meta name="copyright" content="Naylen"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="Undergraduate in SDU">
<meta property="og:type" content="website">
<meta property="og:title" content="Naylen's Blog">
<meta property="og:url" content="https://naylenv.github.io/index.html">
<meta property="og:site_name" content="Naylen's Blog">
<meta property="og:description" content="Undergraduate in SDU">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/Kirito.png">
<meta property="article:author" content="Naylen">
<meta property="article:tag" content="算法">
<meta property="article:tag" content="数据结构">
<meta property="article:tag" content="Django">
<meta property="article:tag" content="后端">
<meta property="article:tag" content="图形学">
<meta property="article:tag" content="机器学习">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/Kirito.png"><link rel="shortcut icon" href="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/GULULU.png"><link rel="canonical" href="https://naylenv.github.io/"><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/node-snackbar/dist/snackbar.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: {"path":"search.xml","languages":{"hits_empty":"找不到您查询的内容:${query}"}},
translate: {"defaultEncoding":2,"translateDelay":0,"msgToTraditionalChinese":"繁","msgToSimplifiedChinese":"簡"},
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: {"limitCount":50,"languages":{"author":"作者: Naylen","link":"链接: ","source":"来源: Naylen's Blog","info":"著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。"}},
lightbox: 'mediumZoom',
Snackbar: {"chs_to_cht":"你已切换为繁体","cht_to_chs":"你已切换为简体","day_to_night":"你已切换为深色模式","night_to_day":"你已切换为浅色模式","bgLight":"#49b1f5","bgDark":"#121212","position":"bottom-left"},
source: {
jQuery: 'https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js',
justifiedGallery: {
js: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/js/jquery.justifiedGallery.min.js',
css: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/css/justifiedGallery.min.css'
},
fancybox: {
js: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.js',
css: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.css'
}
},
isPhotoFigcaption: false,
islazyload: true,
isanchor: true
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: 'Naylen\'s Blog',
isPost: false,
isHome: true,
isHighlightShrink: false,
isToc: false,
postUpdate: '2021-12-25 11:56:53'
}</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 (GLOBAL_CONFIG_SITE.isHome && /iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
document.documentElement.classList.add('apple')
}
}
detectApple()
})(window)</script><meta name="generator" content="Hexo 5.4.0"></head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/Kirito.png" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="site-data"><div class="data-item is-center"><div class="data-item-link"><a href="/archives/"><div class="headline">文章</div><div class="length-num">61</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/tags/"><div class="headline">标签</div><div class="length-num">41</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/categories/"><div class="headline">分类</div><div class="length-num">17</div></a></div></div></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background-image: url('https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20200813192128.png')"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">Naylen's Blog</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 class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></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">Naylen's Blog</h1><div id="site-subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://github.com/Naylenv" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:[email protected]" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></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 left_radius"><a href="/2021/05/10/c-%E5%9F%BA%E4%BA%8Egetline%E7%9A%84splite%E5%AE%9E%E7%8E%B0/" title="C++基于getline的split实现"> <img class="post_bg" src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20210510165035.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="C++基于getline的split实现"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/05/10/c-%E5%9F%BA%E4%BA%8Egetline%E7%9A%84splite%E5%AE%9E%E7%8E%B0/" title="C++基于getline的split实现">C++基于getline的split实现</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 class="post-meta-date-created" datetime="2021-05-10T08:31:07.000Z" title="发表于 2021-05-10 16:31:07">2021-05-10</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-05-10T08:31:07.000Z" title="更新于 2021-05-10 16:31:07">2021-05-10</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/C/">C++</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/C/">C++</a></span></div><div class="content"> 前言
C++ 作为老大哥竟然一直不支持 split ,在看程设模拟的时候发现了可以通过 getline 优雅的实现 split。
代码
12345678910111213141516171819202122232425262728vector<string> split(const string& s, char c) { //分隔文件名 vector<string> res; string tmp; stringstream ss(s); while (getline(ss, tmp, c)) res.push_back(tmp); //res保存整体 return res;}// std::vector<std::string> split(const std::string& line, char c) {// std::stringstream stm(line);// std::vector<std::string> ans;// ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/03/31/%E5%9C%A864%E4%BD%8DLinux%E7%8E%AF%E5%A2%83%E4%B8%AD%E8%BF%90%E8%A1%8CNachos3-4/" title="在64位Linux环境中运行Nachos3.4"> <img class="post_bg" src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20210402171026.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="在64位Linux环境中运行Nachos3.4"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/03/31/%E5%9C%A864%E4%BD%8DLinux%E7%8E%AF%E5%A2%83%E4%B8%AD%E8%BF%90%E8%A1%8CNachos3-4/" title="在64位Linux环境中运行Nachos3.4">在64位Linux环境中运行Nachos3.4</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 class="post-meta-date-created" datetime="2021-03-30T17:31:09.000Z" title="发表于 2021-03-31 01:31:09">2021-03-31</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-03-30T17:31:09.000Z" title="更新于 2021-03-31 01:31:09">2021-03-31</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/">操作系统</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/">操作系统</a></span></div><div class="content"> 操作过程
操作过程如下(以64位Ubuntu为例):
检查系统是否支持多架构
(1) 确认主机系统为64位架构的内核
在命令终端中运行 dpkg--print-architecture,应该输出amd64
(2) 确认系统多架构功能已经打开,以支持1386
在命令终端中运行 dpkg--print-foreign-architectures,应该输出i386
如果(2)中检测到多架构功能尚未打开,则使用下述命令安装
1sudo dpkg--add-architecture i386
安装32位编译环境与支持库
(1) 检查gcc与g++是否已经安装,如果尚未安装,使用如下命令安装它们。
1sudo apt install gcc g++
(2)安装32位编译环境与支持库
1sudo apt install build-essential g++-multilib gcc-multilib
修改Nachos
(1) 修改code目录下的Makefile.dep文件
在C++的编译器CC与链接器LD后追加-m32,在汇编编译器AS后追加--32,修改后的内容如下所示:
1 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/01/01/illumination-shading-rendering%E7%9A%84%E5%8C%BA%E5%88%AB/" title="illumination, shading, rendering的区别"> <img class="post_bg" src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20210402171305.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="illumination, shading, rendering的区别"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/01/01/illumination-shading-rendering%E7%9A%84%E5%8C%BA%E5%88%AB/" title="illumination, shading, rendering的区别">illumination, shading, rendering的区别</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 class="post-meta-date-created" datetime="2021-01-01T12:48:51.000Z" title="发表于 2021-01-01 20:48:51">2021-01-01</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-01-01T12:48:51.000Z" title="更新于 2021-01-01 20:48:51">2021-01-01</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E5%9B%BE%E5%BD%A2%E5%AD%A6/">图形学</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%9B%BE%E5%BD%A2%E5%AD%A6/">图形学</a></span></div><div class="content"> 答案
Illumination 理解成光照的情况,是输入的量;
Shading 是着色,计算一个点在光照之后看上去长什么样;
Rendering 是整个渲染过程,包括解 light transport 用到的各种光线追踪,也包括之后的着色过程。
参考链接
games101
</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2020/12/17/NTFS-FAT32%E5%92%8CexFAT%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F/" title="NTFS, FAT32和exFAT文件系统有什么区别?"> <img class="post_bg" src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20210402171340.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="NTFS, FAT32和exFAT文件系统有什么区别?"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/12/17/NTFS-FAT32%E5%92%8CexFAT%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F/" title="NTFS, FAT32和exFAT文件系统有什么区别?">NTFS, FAT32和exFAT文件系统有什么区别?</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 class="post-meta-date-created" datetime="2020-12-17T13:39:26.000Z" title="发表于 2020-12-17 21:39:26">2020-12-17</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2020-12-17T13:39:26.000Z" title="更新于 2020-12-17 21:39:26">2020-12-17</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/">操作系统</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/">操作系统</a></span></div><div class="content">NTFS是目前Windows系统中一种现代文件系统,目前使用最广泛,内置的硬盘大多数都是NTFS格式。FAT32是一种相对老旧的文件系统,不能像NTFS格式支持很多现代文件格式的属性,但对于不同系统平台具有良好的兼容性,可以在Linux、Mac或Android系统平台上通用。exFAT是FAT32文件格式的替代品,很多设备和操作系统都支持该文件系统,但是目前用的不多。
1、FAT32文件格式是一种通用格式,任何USB存储设备都会预装该文件系统,可以在任何操作系统平台上使用。最主要的缺陷是只支持最大单文件大小容量为4GB(索引节点表的问题),因此日常使用没有问题,只有在传输大文件时才会显现出缺点。
2、exFAT文件是微软自家创建的用来取代FAT32文件格式的新型文件格式,它最大可以支持1EB的文件大小,非常适合用来存储大容量文件,还可以在Mac和Windows操作系统上通用。虽然是微软的技术,苹果批准在系统中使用该文件格式,因此在Mac系统中格式化存储设备时会出现exFAT文件格式选项。最大的缺点是没有文件日志功能,这样就不能记录磁盘上文件的修改记录。
3、NTFS是微软为硬盘或固态 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2020/12/17/%E6%AD%BB%E9%94%81%E7%9A%84%E9%81%BF%E5%85%8D%E5%92%8C%E9%A2%84%E9%98%B2%E7%9A%84%E5%8C%BA%E5%88%AB%EF%BC%9F/" title="死锁的避免和预防的区别?"> <img class="post_bg" src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20210402170905.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="死锁的避免和预防的区别?"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/12/17/%E6%AD%BB%E9%94%81%E7%9A%84%E9%81%BF%E5%85%8D%E5%92%8C%E9%A2%84%E9%98%B2%E7%9A%84%E5%8C%BA%E5%88%AB%EF%BC%9F/" 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 class="post-meta-date-created" datetime="2020-12-17T13:38:26.000Z" title="发表于 2020-12-17 21:38:26">2020-12-17</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2020-12-17T13:38:26.000Z" title="更新于 2020-12-17 21:38:26">2020-12-17</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/">操作系统</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/">操作系统</a></span></div><div class="content"> 死锁避免
死锁避免的基本思想:
系统对进程发出每一个系统能够满足的资源申请进行动态检查
并根据检查结果决定是否分配资源
如果分配后系统可能发生死锁,则不予分配,否则予以分配。
这是一种保证系统不进入死锁状态的动态策略。
死锁预防
我们可以通过破坏死锁产生的4个必要条件来预防死锁,由于资源互斥是资源使用的固有特性是无法改变的。
破坏"不可剥夺"条件:一个进程不能获得所需要的全部资源时便处于等待状态,等待期间他占有的资源将被隐式的释放重新加入到系统的资源列表中,可以被其他的进程使用,而等待的进程只有重新获得自己原有的资源以及新申请的资源才可以重新启动,执行。
破坏"请求与保持条件":第一种方法静态分配即每个进程在开始执行时就申请他所需要的全部资源。第二种是动态分配即每个进程在申请所需要的资源时他本身不占用系统资源。
破坏"循环等待"条件:采用资源有序分配。其基本思想是将系统中的所有资源顺序编号,将紧缺的,稀少的采用较大的编号,在申请资源时必须按照编号的顺序进行,一个进程只有获得较小编号的进程才能申请较大编号的进程。
...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2020/12/02/VSCode-%E9%85%8D%E7%BD%AE%E9%80%9F%E8%A7%88%E5%AE%9A%E4%B9%89/" title="VSCode 配置速览定义"> <img class="post_bg" src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20210402171427.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="VSCode 配置速览定义"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/12/02/VSCode-%E9%85%8D%E7%BD%AE%E9%80%9F%E8%A7%88%E5%AE%9A%E4%B9%89/" title="VSCode 配置速览定义">VSCode 配置速览定义</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 class="post-meta-date-created" datetime="2020-12-02T12:52:50.000Z" title="发表于 2020-12-02 20:52:50">2020-12-02</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2020-12-02T12:52:50.000Z" title="更新于 2020-12-02 20:52:50">2020-12-02</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/VSCode/">VSCode</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/VSCode/">VSCode</a></span></div><div class="content"> 前言
VSCode 按住ctrl 再用鼠标左键点击变量会出现它的定义,点击函数会实现跳转。但是我不想让它跳转到函数而是像 Visual Studio 那样出现速览定义弹窗
方法
在设置中勾选此项
效果
</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2020/11/27/SVM%E7%9B%AE%E6%A0%87%E5%87%BD%E6%95%B0%E7%9A%84%E4%B8%80%E4%BA%9B%E7%90%86%E8%A7%A3/" title="SVM目标函数的一些理解"> <img class="post_bg" src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20210402171400.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="SVM目标函数的一些理解"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/11/27/SVM%E7%9B%AE%E6%A0%87%E5%87%BD%E6%95%B0%E7%9A%84%E4%B8%80%E4%BA%9B%E7%90%86%E8%A7%A3/" title="SVM目标函数的一些理解">SVM目标函数的一些理解</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 class="post-meta-date-created" datetime="2020-11-27T13:02:37.000Z" title="发表于 2020-11-27 21:02:37">2020-11-27</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2020-11-27T13:02:37.000Z" title="更新于 2020-11-27 21:02:37">2020-11-27</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/">机器学习</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/">机器学习</a></span></div><div class="content"> 写在前面
学习SVM的对目标函数有些疑问,做了一些笔记。感谢ZKX同学提供的帮助,(PS:这篇博客可能会继续更新
SVM
我们的问题是设定一个超平面,去最大化样本点和这个超平面的距离,这个距离我们称之为Margin(间隔)。
γ=miniγ(i)\gamma=\min _{i} \gamma^{(i)}
γ=iminγ(i)
函数间隔 Functional margin:
这一点老师的PPT上并没有给出来,所以可能学习的时候有些混淆。
γ^(i)=y(i)(ωTx(i)+b)\hat{\gamma}^{(i)}=y^{(i)}\left(\omega^{T} x^{(i)}+b\right)
γ^(i)=y(i)(ωTx(i)+b)
这里我们扩大ω,b\omega,bω,b n 倍数会改变γ^\hat{\gamma}γ^。因此我们引入几何间隔。
几何间隔 Geometric margin :
γ(i)=y(i)((ω∥ω∥)Tx(i)+b∥ω∥)\gamma^{(i)}=y^{(i)}\left(\left(\frac{\omega}{\|\omega\|}\righ ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2020/11/14/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E3%80%81%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%E3%80%81%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86%E4%B8%AD%E5%90%8C%E6%AD%A5%E5%92%8C%E5%BC%82%E6%AD%A5%E7%9A%84%E6%A6%82%E5%BF%B5/" title="操作系统、计算机网络、计算机组成原理中同步和异步的概念"> <img class="post_bg" src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20210402170628.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="操作系统、计算机网络、计算机组成原理中同步和异步的概念"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/11/14/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E3%80%81%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%E3%80%81%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86%E4%B8%AD%E5%90%8C%E6%AD%A5%E5%92%8C%E5%BC%82%E6%AD%A5%E7%9A%84%E6%A6%82%E5%BF%B5/" 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 class="post-meta-date-created" datetime="2020-11-14T09:09:23.000Z" title="发表于 2020-11-14 17:09:23">2020-11-14</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2020-11-14T09:09:23.000Z" title="更新于 2020-11-14 17:09:23">2020-11-14</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/">操作系统</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/">操作系统</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86/">计算机组成原理</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/">计算机网络</a></span></div><div class="content"> 操作系统中
同步
在并发环境下,保持操作之间的偏序关系的行为。
进程同步是指多个进程中发生的事件存在某种时序关系,必须协同动作共同完成一个任务。简单来讲同步是一种协作关系。
同步亦称直接制约关系,它是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系
举几个例子:
当两个进程运行时,进程A需要获取进程B此时运行到某一步的运行结果或者信息,才能进行自己的下一步工作,这个时候就得等待进程B与自己通信(发送某一个消息或信号),进程A再继续执行。这种进程之间相互等待对方发送消息或信号的协作就叫做进程同步。或者工厂的流水线,每道工序都有自己特定的任务,前一道工序没有完成或不合格后一道工序就不能进行。再或者ABC三个进程分别负责输入、处理、输出数据,A必须先执行,B次之,最后C。
异步
异步性:是指进程以不可预知的速度向前推进。在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系(一般是资源问题)。内存中的每个进程何时执行,何时暂停,以怎样的速度向前推进,程序总共需要多少时间才能完成等,都是不可预知的。
...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2020/11/09/Django-%E8%BF%94%E5%9B%9E%E7%9B%B8%E5%AF%B9%E8%B7%AF%E5%BE%84%E5%92%8C%E7%BB%9D%E5%AF%B9%E8%B7%AF%E5%BE%84/" title="Django 返回相对路径和绝对路径"> <img class="post_bg" src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20210402171222.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Django 返回相对路径和绝对路径"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/11/09/Django-%E8%BF%94%E5%9B%9E%E7%9B%B8%E5%AF%B9%E8%B7%AF%E5%BE%84%E5%92%8C%E7%BB%9D%E5%AF%B9%E8%B7%AF%E5%BE%84/" title="Django 返回相对路径和绝对路径">Django 返回相对路径和绝对路径</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 class="post-meta-date-created" datetime="2020-11-09T08:37:43.000Z" title="发表于 2020-11-09 16:37:43">2020-11-09</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2020-11-09T08:37:43.000Z" title="更新于 2020-11-09 16:37:43">2020-11-09</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Django/">Django</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/Django/">Django</a></span></div><div class="content"> imagefiled
123456def user_directory_path(instance, filename): # file will be uploaded to MEDIA_ROOT/user_<id>/<filename> return 'user_{0}/{1}'.format(instance.user.id, filename)class MyModel(models.Model): image = models.FileField(upload_to=user_directory_path)
1image.url 返回相对路径
image.path 返回绝对路径
</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2020/11/09/%E5%9C%A8Linux%E4%B8%8A%E4%BD%BF%E7%94%A8Nginx-Gunicorn%E9%83%A8%E7%BD%B2Django%E5%B7%A5%E7%A8%8B/" title="在Linux上使用Nginx + Gunicorn部署Django工程"> <img class="post_bg" src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20210402171122.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="在Linux上使用Nginx + Gunicorn部署Django工程"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/11/09/%E5%9C%A8Linux%E4%B8%8A%E4%BD%BF%E7%94%A8Nginx-Gunicorn%E9%83%A8%E7%BD%B2Django%E5%B7%A5%E7%A8%8B/" title="在Linux上使用Nginx + Gunicorn部署Django工程">在Linux上使用Nginx + Gunicorn部署Django工程</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 class="post-meta-date-created" datetime="2020-11-09T08:36:39.000Z" title="发表于 2020-11-09 16:36:39">2020-11-09</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2020-11-09T08:36:39.000Z" title="更新于 2020-11-09 16:36:39">2020-11-09</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Django/">Django</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/Django/">Django</a></span></div><div class="content"> tmux + start django
tmux
123456tmux new -s session_name # 创建名为 session_name 的 tmux sessiontmux attach -t session_name # 重新回到叫做 session_name 的 tmux sessiontmux switch -t session_name # 切换到叫做 session_name 的 tmux sessiontmux list-sessions / tmux ls # 列出现有的所有 sessiontmux detach # 离开当前开启的 sessiontmux kill-server # 关闭所有 session
1234567891011ctrl + b? 列出所有快捷键;按q返回d 脱离当前会话,可暂时返回Shell界面s 选择并切换会话;在同时开启了多个会话时使用D 选择要脱离的会话;在同时开启了多个会话时使用: 进入命令行模式;此时可输入支持的命令,例如 kill-server 关闭所有tmux会话[ 复制模式,光标移动到复制内容位置,空格键开始 ...</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/7/#content-inner">7</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= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/Kirito.png" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">Naylen</div><div class="author-info__description">Undergraduate in SDU</div></div><div class="card-info-data"><div class="card-info-data-item is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">61</div></a></div><div class="card-info-data-item is-center"><a href="/tags/"><div class="headline">标签</div><div class="length-num">41</div></a></div><div class="card-info-data-item is-center"><a href="/categories/"><div class="headline">分类</div><div class="length-num">17</div></a></div></div><a class="button--animated" id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/Naylenv"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/Naylenv" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:[email protected]" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn card-announcement-animation"></i><span>公告</span></div><div class="announcement_content">感谢访问本网站,欢迎收藏😀</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="/2021/05/10/c-%E5%9F%BA%E4%BA%8Egetline%E7%9A%84splite%E5%AE%9E%E7%8E%B0/" title="C++基于getline的split实现"><img src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20210510165035.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="C++基于getline的split实现"/></a><div class="content"><a class="title" href="/2021/05/10/c-%E5%9F%BA%E4%BA%8Egetline%E7%9A%84splite%E5%AE%9E%E7%8E%B0/" title="C++基于getline的split实现">C++基于getline的split实现</a><time datetime="2021-05-10T08:31:07.000Z" title="发表于 2021-05-10 16:31:07">2021-05-10</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2021/03/31/%E5%9C%A864%E4%BD%8DLinux%E7%8E%AF%E5%A2%83%E4%B8%AD%E8%BF%90%E8%A1%8CNachos3-4/" title="在64位Linux环境中运行Nachos3.4"><img src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20210402171026.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="在64位Linux环境中运行Nachos3.4"/></a><div class="content"><a class="title" href="/2021/03/31/%E5%9C%A864%E4%BD%8DLinux%E7%8E%AF%E5%A2%83%E4%B8%AD%E8%BF%90%E8%A1%8CNachos3-4/" title="在64位Linux环境中运行Nachos3.4">在64位Linux环境中运行Nachos3.4</a><time datetime="2021-03-30T17:31:09.000Z" title="发表于 2021-03-31 01:31:09">2021-03-31</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2021/01/01/illumination-shading-rendering%E7%9A%84%E5%8C%BA%E5%88%AB/" title="illumination, shading, rendering的区别"><img src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20210402171305.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="illumination, shading, rendering的区别"/></a><div class="content"><a class="title" href="/2021/01/01/illumination-shading-rendering%E7%9A%84%E5%8C%BA%E5%88%AB/" title="illumination, shading, rendering的区别">illumination, shading, rendering的区别</a><time datetime="2021-01-01T12:48:51.000Z" title="发表于 2021-01-01 20:48:51">2021-01-01</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2020/12/17/NTFS-FAT32%E5%92%8CexFAT%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F/" title="NTFS, FAT32和exFAT文件系统有什么区别?"><img src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20210402171340.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="NTFS, FAT32和exFAT文件系统有什么区别?"/></a><div class="content"><a class="title" href="/2020/12/17/NTFS-FAT32%E5%92%8CexFAT%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F/" title="NTFS, FAT32和exFAT文件系统有什么区别?">NTFS, FAT32和exFAT文件系统有什么区别?</a><time datetime="2020-12-17T13:39:26.000Z" title="发表于 2020-12-17 21:39:26">2020-12-17</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2020/12/17/%E6%AD%BB%E9%94%81%E7%9A%84%E9%81%BF%E5%85%8D%E5%92%8C%E9%A2%84%E9%98%B2%E7%9A%84%E5%8C%BA%E5%88%AB%EF%BC%9F/" title="死锁的避免和预防的区别?"><img src= "data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" data-lazy-src="https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20210402170905.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="死锁的避免和预防的区别?"/></a><div class="content"><a class="title" href="/2020/12/17/%E6%AD%BB%E9%94%81%E7%9A%84%E9%81%BF%E5%85%8D%E5%92%8C%E9%A2%84%E9%98%B2%E7%9A%84%E5%8C%BA%E5%88%AB%EF%BC%9F/" title="死锁的避免和预防的区别?">死锁的避免和预防的区别?</a><time datetime="2020-12-17T13:38:26.000Z" title="发表于 2020-12-17 21:38:26">2020-12-17</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
<i class="fas fa-folder-open"></i>
<span>分类</span>
<a class="card-more-btn" href="/categories/" title="查看更多">
<i class="fas fa-angle-right"></i></a>
</div>
<ul class="card-category-list" id="aside-cat-list">
<li class="card-category-list-item "><a class="card-category-list-link" href="/categories/C/"><span class="card-category-list-name">C++</span><span class="card-category-list-count">5</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Django/"><span class="card-category-list-name">Django</span><span class="card-category-list-count">7</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Git/"><span class="card-category-list-name">Git</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/LaTeX/"><span class="card-category-list-name">LaTeX</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Linux/"><span class="card-category-list-name">Linux</span><span class="card-category-list-count">3</span></a><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Linux/Ubuntu/"><span class="card-category-list-name">Ubuntu</span><span class="card-category-list-count">2</span></a></li></ul></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Python/"><span class="card-category-list-name">Python</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/VSCode/"><span class="card-category-list-name">VSCode</span><span class="card-category-list-count">1</span></a></li>
</ul></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/C/" style="font-size: 1.1em; color: #999">C</a> <a href="/tags/C/" style="font-size: 1.33em; color: #99a2af">C++</a> <a href="/tags/Django/" style="font-size: 1.44em; color: #99a7ba">Django</a> <a href="/tags/GDB/" style="font-size: 1.1em; color: #999">GDB</a> <a href="/tags/Git/" style="font-size: 1.1em; color: #999">Git</a> <a href="/tags/LaTeX/" style="font-size: 1.1em; color: #999">LaTeX</a> <a href="/tags/Linux/" style="font-size: 1.21em; color: #999ea4">Linux</a> <a href="/tags/MIPS/" style="font-size: 1.1em; color: #999">MIPS</a> <a href="/tags/Python/" style="font-size: 1.27em; color: #99a0a9">Python</a> <a href="/tags/Ubuntu/" style="font-size: 1.16em; color: #999b9e">Ubuntu</a> <a href="/tags/VSCode/" style="font-size: 1.1em; color: #999">VSCode</a> <a href="/tags/conda/" style="font-size: 1.1em; color: #999">conda</a> <a href="/tags/tmux/" style="font-size: 1.16em; color: #999b9e">tmux</a> <a href="/tags/zsh/" style="font-size: 1.1em; color: #999">zsh</a> <a href="/tags/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90/" style="font-size: 1.1em; color: #999">主成分分析</a> <a href="/tags/%E5%88%86%E7%B1%BB%E6%A8%A1%E5%9E%8B/" style="font-size: 1.1em; color: #999">分类模型</a> <a href="/tags/%E5%8F%8D%E6%B1%87%E7%BC%96/" style="font-size: 1.1em; color: #999">反汇编</a> <a href="/tags/%E5%9B%A0%E5%AD%90%E5%88%86%E6%9E%90/" style="font-size: 1.1em; color: #999">因子分析</a> <a href="/tags/%E5%9B%BE%E5%BD%A2%E5%AD%A6/" style="font-size: 1.21em; color: #999ea4">图形学</a> <a href="/tags/%E5%9B%BE%E8%AE%BA/" style="font-size: 1.27em; color: #99a0a9">图论</a> <a href="/tags/%E5%A4%9A%E5%85%83%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92%E6%A8%A1%E5%9E%8B/" style="font-size: 1.16em; color: #999b9e">多元线性回归模型</a> <a href="/tags/%E6%8B%86%E7%82%B8%E5%BC%B9/" style="font-size: 1.1em; color: #999">拆炸弹</a> <a href="/tags/%E6%8C%87%E9%92%88/" style="font-size: 1.1em; color: #999">指针</a> <a href="/tags/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/" style="font-size: 1.39em; color: #99a4b4">操作系统</a> <a href="/tags/%E6%95%B0%E5%AD%A6%E5%BB%BA%E6%A8%A1/" style="font-size: 1.5em; color: #99a9bf">数学建模</a> <a href="/tags/%E6%95%B0%E5%AD%A6%E8%A7%84%E5%88%92%E6%A8%A1%E5%9E%8B/" style="font-size: 1.16em; color: #999b9e">数学规划模型</a> <a href="/tags/%E6%95%B0%E6%8D%AE%E5%BA%93/" style="font-size: 1.21em; color: #999ea4">数据库</a> <a href="/tags/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/" style="font-size: 1.21em; color: #999ea4">数据结构</a> <a href="/tags/%E6%95%B0%E8%AE%BA/" style="font-size: 1.1em; color: #999">数论</a> <a href="/tags/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/" style="font-size: 1.1em; color: #999">机器学习</a> <a href="/tags/%E7%9B%B8%E5%85%B3%E6%80%A7%E5%88%86%E6%9E%90/" style="font-size: 1.1em; color: #999">相关性分析</a> <a href="/tags/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%80%9D%E7%BB%B4%E4%B8%8E%E5%AE%9E%E8%B7%B5/" style="font-size: 1.27em; color: #99a0a9">程序设计思维与实践</a> <a href="/tags/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%80%9D%E7%BB%B4%E5%AE%9E%E8%B7%B5/" style="font-size: 1.16em; color: #999b9e">程序设计思维实践</a> <a href="/tags/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%80%9D%E7%BB%B4%E6%97%B6%E9%97%B4/" style="font-size: 1.1em; color: #999">程序设计思维时间</a> <a href="/tags/%E7%AE%97%E6%B3%95/" style="font-size: 1.21em; color: #999ea4">算法</a> <a href="/tags/%E8%81%9A%E7%B1%BB%E6%A8%A1%E5%9E%8B/" style="font-size: 1.16em; color: #999b9e">聚类模型</a> <a href="/tags/%E8%92%99%E7%89%B9%E5%8D%A1%E6%B4%9B%E6%A8%A1%E6%8B%9F/" style="font-size: 1.1em; color: #999">蒙特卡洛模拟</a> <a href="/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F%E5%8E%9F%E7%90%86/" style="font-size: 1.1em; color: #999">计算机系统原理</a> <a href="/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86/" style="font-size: 1.16em; color: #999b9e">计算机组成原理</a> <a href="/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/" 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/2021/05/"><span class="card-archive-list-date">五月 2021</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/2021/03/"><span class="card-archive-list-date">三月 2021</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/2021/01/"><span class="card-archive-list-date">一月 2021</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/2020/12/"><span class="card-archive-list-date">十二月 2020</span><span class="card-archive-list-count">3</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2020/11/"><span class="card-archive-list-date">十一月 2020</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/2020/10/"><span class="card-archive-list-date">十月 2020</span><span class="card-archive-list-count">3</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2020/09/"><span class="card-archive-list-date">九月 2020</span><span class="card-archive-list-count">12</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2020/08/"><span class="card-archive-list-date">八月 2020</span><span class="card-archive-list-count">14</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">61</div></div><div class="webinfo-item"><div class="item-name">已运行时间 :</div><div class="item-count" id="runtimeshow" data-publishDate="2020-08-11T16:00:00.000Z"></div></div><div class="webinfo-item"><div class="item-name">本站总字数 :</div><div class="item-count">38.5k</div></div><div class="webinfo-item"><div class="item-name">本站访客数 :</div><div class="item-count" id="busuanzi_value_site_uv"></div></div><div class="webinfo-item"><div class="item-name">本站总访问量 :</div><div class="item-count" id="busuanzi_value_site_pv"></div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2021-12-25T03:56:52.834Z"></div></div></div></div></div></div></main><footer id="footer" style="background-image: url('https://blog-img-lei.oss-cn-beijing.aliyuncs.com/img/20200813190609.png')"><div id="footer-wrap"><div class="copyright">©2020 - 2021 By Naylen</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="translateLink" type="button" title="简繁转换">簡</button><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"><div class="search-dialog__title" id="local-search-title">本地搜索</div><div id="local-input-panel"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="搜索文章" type="text"/></div></div></div><hr/><div id="local-search-results"></div><span class="search-close-button"><i class="fas fa-times"></i></span></div><div id="search-mask"></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="/js/tw_cn.js"></script><script src="https://cdn.jsdelivr.net/npm/medium-zoom/dist/medium-zoom.min.js"></script><script src="https://cdn.jsdelivr.net/npm/instant.page/instantpage.min.js" type="module"></script><script src="https://cdn.jsdelivr.net/npm/vanilla-lazyload/dist/lazyload.iife.min.js"></script><script src="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.js"></script><script src="/js/search/local-search.js"></script><div class="js-pjax"><script>function subtitleType () {
if (true) {
var typed = new Typed("#subtitle", {
strings: "今日摸🐟了吗?,行有不得,反求诸己。,Turn inward and examine yourself when you encounter difficulties in life.".split(","),
startDelay: 300,
typeSpeed: 150,
loop: true,
backSpeed: 50
})
} else {
document.getElementById("subtitle").innerHTML = '今日摸🐟了吗?'
}
}
if (true) {
if (typeof Typed === 'function') {
subtitleType()
} else {
getScript('https://cdn.jsdelivr.net/npm/typed.js/lib/typed.min.js').then(subtitleType)
}
} else {
subtitleType()
}</script></div><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>