-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
461 lines (398 loc) · 43.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
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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
<!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>M-finder - 删繁就简,发现更多</title><meta name="author" content="m-finder"><meta name="copyright" content="m-finder"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="happy coding"><link rel="shortcut icon" href="/images/favicon.ico"><link rel="canonical" href="https://m-finder.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/@fancyapps/ui/dist/fancybox.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: {"path":"/search.xml","preload":false,"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: true,
isAnchor: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: 'M-finder',
isPost: false,
isHome: true,
isHighlightShrink: false,
isToc: false,
postUpdate: '2022-11-25 11:28:52'
}</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 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,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="/images/avatar.jpeg" 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">95</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">21</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">10</div></a></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="/gallery/"><i class="fa-fw fas fa-images"></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('/images/top.jpg')"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">M-finder</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="/gallery/"><i class="fa-fw fas fa-images"></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">M-finder</h1><div id="site-subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://github.com/m-finder" 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"><a href="/2022/11/25/2022-to-do-list/" title="2022 年计划清单"><img class="post_bg" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://m-finder.github.io/images/top.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="2022 年计划清单"></a></div><div class="recent-post-info"><a class="article-title" href="/2022/11/25/2022-to-do-list/" title="2022 年计划清单">2022 年计划清单</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="2022-11-25T03:27:41.038Z" title="发表于 2022-11-25 11:27:41">2022-11-25</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/%E9%97%B2%E8%A8%80%E8%B5%98%E8%AF%AD/">闲言赘语</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/%E9%97%B2%E8%A8%80%E8%B5%98%E8%AF%AD/%E8%AE%A1%E5%88%92%E6%B8%85%E5%8D%95/">计划清单</a></span></div><div class="content">
减肥
上半年软考-系统分析师,2月中旬报名,5月下旬考试
下半年软考-系统架构设计师 ,8月中上旬报名,11月下旬考试
没有其他了。
– 2021-12-31
2022-08-06已经瘦了差不多20斤吧,还在继续努力系分的软考g了,因为疫情一直拖,直到昨天看到公告说取消了开始冲刺下半年架构,干巴得💪
2022-11-05多次报名初次参考,可惜论文写的有点惨不忍睹,只能明年再接再厉。
</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2022/05/13/2022-05-13/" title="碎碎念"><img class="post_bg" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://m-finder.github.io/images/top.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="碎碎念"></a></div><div class="recent-post-info"><a class="article-title" href="/2022/05/13/2022-05-13/" 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="2022-05-13T12:28:00.000Z" title="发表于 2022-05-13 20:28:00">2022-05-13</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/%E9%97%B2%E8%A8%80%E8%B5%98%E8%AF%AD/">闲言赘语</a></span></div><div class="content">今天周五,白天躺在床上干活(摸鱼)时掰手指算了一下,今天应该是被封控在家的第 49 天。
未来还要继续封多久?这个我也不知道。可能快解放了吧。
我已经脱下了冬装换上了短袖,从 150 瘦到了 140,被我拎回家的电瓶已经充了第三次电,窗外的景色也从光秃秃变成了郁郁葱葱,枇杷都熟了。今天冒雨去核酸时,还因为看枇杷一脚踩进水坑,淦!
封了这么久,多少是有点麻了,想起来刚开始每天早起收拾的利利索索,楼下一喊就核酸就光速下楼,现在每天能多躺会儿就绝对不会早起,蓬头垢面、邋里邋遢,心情好了可能才洗个头再下去。也没去记核酸了多少次,反正家里做抗原的盒子被我码的整整齐齐,也有一大堆了。本来想等快递通了搞点热熔胶,粘几个小摆件玩,那不是挺有纪念价值嘛。但是……上次拍照发群里被同事喷,说我攒了一堆的大鼻涕,再看总觉得有点恶心🤢。
头发也长了,天天扎个小啾啾,感觉自己还挺好看。要不就留长发吧,解封了去修一修,或者干脆就修也不修,省下一笔又一笔不菲的理发钱,真开心,又可以多喝两罐啤酒。
我迟早会做个扎辫子的程序员,左手键盘,右手鼠标,就像个艺术家。
</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/2022/01/04/books/" title="书单"><img class="post_bg" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://m-finder.github.io/images/top.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="书单"></a></div><div class="recent-post-info"><a class="article-title" href="/2022/01/04/books/" 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="2022-01-04T15:59:59.000Z" title="发表于 2022-01-04 23:59:59">2022-01-04</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/%E4%B9%A6%E5%8D%95/">书单</a></span></div><div class="content">
龙族
一句顶一万句
血腥的盛唐
1942:河南大饥荒
redis 入门指南第二版
深入设计模式
系统架构设计师教程
宫女谈往录
我的前半生
法医宋慈
白鹿原
中国异闻录
万历十五年
叫魂:1768年中国妖术大恐慌
现代管理信息系统
沙海
怒江之战
蜗居
地铁三部曲
中国,少了一味药
被讨厌的勇气
十方异事录
</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2021/07/19/redis-learning-1/" title="redis 系列 - 1"><img class="post_bg" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://m-finder.github.io/images/top.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="redis 系列 - 1"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/07/19/redis-learning-1/" title="redis 系列 - 1">redis 系列 - 1</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="2021-07-19T02:25:59.000Z" title="发表于 2021-07-19 10:25:59">2021-07-19</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/redis/">redis</a></span></div><div class="content">一. 什么是 redisredis 全称 remote dictionary service,即远程字典服务,是一个基于内存且支持持久化的高性能 key-value 数据库。
redis 优点
读写速度快
支持持久化
支持事务
数据类型丰富
支持主从,读写分离
开源
二. redis 支持的数据类型redis 一共 5 种数据类型:
字符串:string
散列:hash
列表:list
集合:set
有序集合:zset
string 字符串string 是最简单的类型,能存储任何形式的字符串,支持字符串,浮点数,整数。
一个字符串类型键允许存储的数据的最大容量为 512 MB。
设置值:set key value
获取值:get key(字符串回复)
删除值:del key
自增:incr key(整数回复)
自减:decr key
按值自增:incrby key value
按值自减:decryby key value
批量设置:mset key val key1 val1
批量获取:mget key key1
使用场景
用户 session
统计计数器
hash 散列h ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/2021/05/19/m1-php-ssh2/" title="mac m1 下安装 php7.4 ssh2 扩展"><img class="post_bg" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://m-finder.github.io/images/top.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="mac m1 下安装 php7.4 ssh2 扩展"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/05/19/m1-php-ssh2/" title="mac m1 下安装 php7.4 ssh2 扩展">mac m1 下安装 php7.4 ssh2 扩展</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="2021-05-19T13:22:13.000Z" title="发表于 2021-05-19 21:22:13">2021-05-19</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/%E7%A0%81%E4%B8%8D%E8%83%BD%E5%81%9C/">码不能停</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/%E7%A0%81%E4%B8%8D%E8%83%BD%E5%81%9C/php/">php</a></span></div><div class="content">项目里用到了 sftp,所以需要安装一下 ssh2。
安装过程有个报错,开始还以为是不兼容 m1,好在最后顺利安装。
记录一下,以免再次跳坑。
安装 ssh1pech install ssh2-1.3
安装过程中会询问 libssh2 的路径,默认会自动检测,然后,我的问题就来了:
The required libssh2 library was not found
首先排除一下 libssh2 有没有安装,没有安装的话执行 brew install libssh2,然后执行 brew link libssh2 查看其路径信息。
接下来,重新执行 pecl install ssh2-1.3,命令行询问路径时,将 /opt/homebrew/Cellar/libssh2/1.9.0_1 敲入回车即可。
</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2021/05/11/centos-php74/" title="centos php7.4 安装记录"><img class="post_bg" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://m-finder.github.io/images/top.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="centos php7.4 安装记录"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/05/11/centos-php74/" title="centos php7.4 安装记录">centos php7.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 datetime="2021-05-11T13:22:13.000Z" title="发表于 2021-05-11 21:22:13">2021-05-11</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/%E7%A0%81%E4%B8%8D%E8%83%BD%E5%81%9C/">码不能停</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/%E7%A0%81%E4%B8%8D%E8%83%BD%E5%81%9C/php/">php</a></span></div><div class="content">最近记性不太好,做个记录,防止下次忘了。
若果有遗漏,之后再补充。
更新1yum update && yum upgrade
安装 php7.4 的 yum 源12345yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmyum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpmyum -y install yum-utils
安装 php 7.412yum-config-manager --enable remi-php74yum install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json
安装新版 mariadb先加个源:
1234567vim /etc/ ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/2021/04/21/laravel-excel-import-bug/" title="laravel 导入 excel 报错排查记录"><img class="post_bg" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://m-finder.github.io/images/top.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="laravel 导入 excel 报错排查记录"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/04/21/laravel-excel-import-bug/" title="laravel 导入 excel 报错排查记录">laravel 导入 excel 报错排查记录</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="2021-04-21T13:22:13.000Z" title="发表于 2021-04-21 21:22:13">2021-04-21</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/laravel/">laravel</a></span></div><div class="content">今天公司项目导入 excel 时突遇一个报错:Undefined index: Sheet1,一下给我整懵逼了,一通排查,发现是因为执行过 composer update,把一个包升级到了最高,然后,它就不能用了。
看官方 issues 说:
This is a known bug in PhpSpreadsheet PHPOffice/PhpSpreadsheet#1895. Until they release a new version, you have to lock the phpspreadsheet version to 1.16
啥意思呢,翻译一下吧:这是PhpSpreadsheet PHPOffice / PhpSpreadsheet#1895中的一个已知错误。在他们发布新版本之前,您必须将phpspreadsheet版本锁定为1.16
版本太高有时候也不是个好事呀!
issuse
</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2021/04/13/distributed-system/" title="一句话看懂集群、微服务和分布式的区别"><img class="post_bg" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://m-finder.github.io/images/top.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="一句话看懂集群、微服务和分布式的区别"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/04/13/distributed-system/" 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="2021-04-13T14:33:00.000Z" title="发表于 2021-04-13 22:33:00">2021-04-13</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/%E7%A0%81%E4%B8%8D%E8%83%BD%E5%81%9C/">码不能停</a></span></div><div class="content">一个完整的服务拆分成多个微小的服务,就是微服务。
每个服务不止一个就是集群。
微服务部署在多台服务器上,服务器之间可以相互通信就是分布式。
微服务与分布式的细微差别是微服务可以部署在一台服务器,也可以部署在多台服务器。
</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/2021/04/08/keyboard/" title="少年,留下你的键帽吧!"><img class="post_bg" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://m-finder.github.io/images/top.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="少年,留下你的键帽吧!"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/04/08/keyboard/" 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="2021-04-08T10:07:00.000Z" title="发表于 2021-04-08 18:07:00">2021-04-08</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/%E9%97%B2%E8%A8%80%E8%B5%98%E8%AF%AD/">闲言赘语</a></span></div><div class="content">今天干了一件有点伤感,但是挺有意思的事情。虽然是个流水账,但是我觉得有必要记录一下。
我跟要离职的 阿龙同学 换了一个键帽。
我想,如果把这个做法一直延续下去,每离职一个关系不错的小伙伴就相互交换一个键帽,那最后这把键盘也就非常有意义了,对吧。
😓看我这油光铮亮的空格……
网络一线牵,珍惜这段缘。
祝愿阿龙的工作越来越好!
</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2021/03/29/table-test/" title="hexo 表格测试"><img class="post_bg" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://m-finder.github.io/images/top.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="hexo 表格测试"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/03/29/table-test/" title="hexo 表格测试">hexo 表格测试</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="2021-03-28T17:53:00.000Z" title="发表于 2021-03-29 01:53:00">2021-03-29</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%B5%8B%E8%AF%95%E5%8C%BA/">测试区</a></span></div><div class="content">发现之前写的一篇文章表格不显示,试试咋回事……
排序方法
平均情况
最好情况
最坏情况
辅助空间
稳定性
冒泡排序
O(n²)
O(nlogn)
O(n²)
O(1)
稳定
简单选择
O(n²)
O(n²)
O(n²)
O(1)
稳定
直接插入
O(n²)
O(n)
O(n²)
O(1)
稳定
希尔排序
O(nlogn)~O(n²)
O(n^1.3)
O(n²)
O(1)
不稳定
堆排序
O(nlogn)
O(nlogn)
O(nlogn)
O(1)
不稳定
归并排序
O(nlogn)
O(nlogn)
O(nlogn)
O(n)
不稳定
快速排序
O(nlogn)
O(nlogn)
O(n²)
O(nlogn)~O(n)
不稳定
</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/10/#content-inner">10</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,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="/images/avatar.jpeg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">m-finder</div><div class="author-info__description">happy coding</div></div><div class="card-info-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">95</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">21</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">10</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/m-finder"><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/m-finder" 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="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="/2022/11/25/2022-to-do-list/" title="2022 年计划清单"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://m-finder.github.io/images/top.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="2022 年计划清单"/></a><div class="content"><a class="title" href="/2022/11/25/2022-to-do-list/" title="2022 年计划清单">2022 年计划清单</a><time datetime="2022-11-25T03:27:41.038Z" title="发表于 2022-11-25 11:27:41">2022-11-25</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/05/13/2022-05-13/" title="碎碎念"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://m-finder.github.io/images/top.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="碎碎念"/></a><div class="content"><a class="title" href="/2022/05/13/2022-05-13/" title="碎碎念">碎碎念</a><time datetime="2022-05-13T12:28:00.000Z" title="发表于 2022-05-13 20:28:00">2022-05-13</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/01/04/books/" title="书单"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://m-finder.github.io/images/top.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="书单"/></a><div class="content"><a class="title" href="/2022/01/04/books/" title="书单">书单</a><time datetime="2022-01-04T15:59:59.000Z" title="发表于 2022-01-04 23:59:59">2022-01-04</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2021/07/19/redis-learning-1/" title="redis 系列 - 1"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://m-finder.github.io/images/top.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="redis 系列 - 1"/></a><div class="content"><a class="title" href="/2021/07/19/redis-learning-1/" title="redis 系列 - 1">redis 系列 - 1</a><time datetime="2021-07-19T02:25:59.000Z" title="发表于 2021-07-19 10:25:59">2021-07-19</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2021/05/19/m1-php-ssh2/" title="mac m1 下安装 php7.4 ssh2 扩展"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-lazy-src="https://m-finder.github.io/images/top.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="mac m1 下安装 php7.4 ssh2 扩展"/></a><div class="content"><a class="title" href="/2021/05/19/m1-php-ssh2/" title="mac m1 下安装 php7.4 ssh2 扩展">mac m1 下安装 php7.4 ssh2 扩展</a><time datetime="2021-05-19T13:22:13.000Z" title="发表于 2021-05-19 21:22:13">2021-05-19</time></div></div></div></div><div class="card-widget" id="card-newest-comments"><div class="item-headline"><i class="fas fa-comment-dots"></i><span>最新评论</span></div><div class="aside-list"><span>正在加载中...</span></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/laravel/"><span class="card-category-list-name">laravel</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/redis/"><span class="card-category-list-name">redis</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/%E4%B9%A6%E5%8D%95/"><span class="card-category-list-name">书单</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/%E6%B5%8B%E8%AF%95%E5%8C%BA/"><span class="card-category-list-name">测试区</span><span class="card-category-list-count">3</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E7%A0%81%E4%B8%8D%E8%83%BD%E5%81%9C/"><span class="card-category-list-name">码不能停</span><span class="card-category-list-count">45</span></a><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E7%A0%81%E4%B8%8D%E8%83%BD%E5%81%9C/hexo/"><span class="card-category-list-name">hexo</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/%E7%A0%81%E4%B8%8D%E8%83%BD%E5%81%9C/php/"><span class="card-category-list-name">php</span><span class="card-category-list-count">3</span></a></li></ul></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/"><span class="card-category-list-name">设计模式</span><span class="card-category-list-count">28</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/docker/" style="font-size: 1.32em; color: #99a2ae">docker</a> <a href="/tags/hexo/" style="font-size: 1.19em; color: #999da1">hexo</a> <a href="/tags/js/" style="font-size: 1.28em; color: #99a0aa">js</a> <a href="/tags/keras/" style="font-size: 1.14em; color: #999b9d">keras</a> <a href="/tags/laravel/" style="font-size: 1.41em; color: #99a5b7">laravel</a> <a href="/tags/layim/" style="font-size: 1.1em; color: #999">layim</a> <a href="/tags/layui/" style="font-size: 1.19em; color: #999da1">layui</a> <a href="/tags/openssl/" style="font-size: 1.1em; color: #999">openssl</a> <a href="/tags/php/" style="font-size: 1.46em; color: #99a7bb">php</a> <a href="/tags/python/" style="font-size: 1.19em; color: #999da1">python</a> <a href="/tags/redis/" style="font-size: 1.1em; color: #999">redis</a> <a href="/tags/ssh/" style="font-size: 1.1em; color: #999">ssh</a> <a href="/tags/swoole/" style="font-size: 1.1em; color: #999">swoole</a> <a href="/tags/terminal/" style="font-size: 1.1em; color: #999">terminal</a> <a href="/tags/test/" style="font-size: 1.23em; color: #999ea6">test</a> <a href="/tags/vue/" style="font-size: 1.1em; color: #999">vue</a> <a href="/tags/%E4%B9%A6%E5%8D%95/" style="font-size: 1.1em; color: #999">书单</a> <a href="/tags/%E7%A0%81%E4%B8%8D%E8%83%BD%E5%81%9C/" style="font-size: 1.1em; color: #999">码不能停</a> <a href="/tags/%E8%AE%A1%E5%88%92%E6%B8%85%E5%8D%95/" style="font-size: 1.23em; color: #999ea6">计划清单</a> <a href="/tags/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/" style="font-size: 1.5em; color: #99a9bf">设计模式</a> <a href="/tags/%E9%97%B2%E8%A8%80%E8%B5%98%E8%AF%AD/" style="font-size: 1.37em; color: #99a4b2">闲言赘语</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/2022/11/"><span class="card-archive-list-date">十一月 2022</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/2022/05/"><span class="card-archive-list-date">五月 2022</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/2022/01/"><span class="card-archive-list-date">一月 2022</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/07/"><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/05/"><span class="card-archive-list-date">五月 2021</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/2021/04/"><span class="card-archive-list-date">四月 2021</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/2021/03/"><span class="card-archive-list-date">三月 2021</span><span class="card-archive-list-count">33</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></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">95</div></div><div class="webinfo-item"><div class="item-name">已运行时间 :</div><div class="item-count" id="runtimeshow" data-publishDate="2016-06-08T16:00:00.000Z"><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_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="2022-11-25T03:28:51.398Z"><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">©2016 - 2022 By m-finder</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 class="footer_custom_text">备案已注销 <span style="color:pink">❤</span></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="https://cdn.jsdelivr.net/npm/vanilla-lazyload/dist/lazyload.iife.min.js"></script><script>function panguFn () {
if (typeof pangu === 'object') pangu.autoSpacingPage()
else {
getScript('https://cdn.jsdelivr.net/npm/pangu/dist/browser/pangu.min.js')
.then(() => {
pangu.autoSpacingPage()
})
}
}
function panguInit () {
if (false){
GLOBAL_CONFIG_SITE.isPost && panguFn()
} else {
panguFn()
}
}
document.addEventListener('DOMContentLoaded', panguInit)</script><script src="/js/search/local-search.js"></script><div class="js-pjax"><script>function subtitleType () {
if (true) {
window.typed = new Typed("#subtitle", {
strings: ["删繁就简, 发现更多"],
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 src="https://cdn.jsdelivr.net/npm/blueimp-md5/js/md5.min.js"></script><script>window.addEventListener('load', () => {
const changeContent = (content) => {
if (content === '') return content
content = content.replace(/<img.*?src="(.*?)"?[^\>]+>/ig, '[图片]') // replace image link
content = content.replace(/<a[^>]+?href=["']?([^"']+)["']?[^>]*>([^<]+)<\/a>/gi, '[链接]') // replace url
content = content.replace(/<pre><code>.*?<\/pre>/gi, '[代码]') // replace code
content = content.replace(/<[^>]+>/g,"") // remove html tag
if (content.length > 150) {
content = content.substring(0,150) + '...'
}
return content
}
const getIcon = (icon, mail) => {
if (icon) return icon
let defaultIcon = '?d=monsterid'
let iconUrl = `https://gravatar.loli.net/avatar/${md5(mail.toLowerCase()) + defaultIcon}`
return iconUrl
}
const generateHtml = array => {
let result = ''
if (array.length) {
for (let i = 0; i < array.length; i++) {
result += '<div class=\'aside-list-item\'>'
if (true) {
const name = 'data-lazy-src'
result += `<a href='${array[i].url}' class='thumbnail'><img ${name}='${array[i].avatar}' alt='${array[i].nick}'></a>`
}
result += `<div class='content'>
<a class='comment' href='${array[i].url}' title='${array[i].content}'>${array[i].content}</a>
<div class='name'><span>${array[i].nick} / </span><time datetime="${array[i].date}">${btf.diffDate(array[i].date, true)}</time></div>
</div></div>`
}
} else {
result += '没有评论'
}
let $dom = document.querySelector('#card-newest-comments .aside-list')
$dom.innerHTML= result
window.lazyLoadInstance && window.lazyLoadInstance.update()
window.pjax && window.pjax.refresh($dom)
}
const getComment = () => {
const serverURL = 'https://ooiybpjc.lc-cn-n1-shared.com'
var settings = {
"method": "GET",
"headers": {
"X-LC-Id": 'oOiybpJc2or7SPhTu2v9YUvq-gzGzoHsz',
"X-LC-Key": 'h0W2X6C4C7qOovTn9VM06Ql2',
"Content-Type": "application/json"
},
}
fetch(`${serverURL}/1.1/classes/Comment?limit=6&order=-createdAt`,settings)
.then(response => response.json())
.then(data => {
const valineArray = data.results.map(function (e) {
return {
'avatar': getIcon(e.QQAvatar, e.mail),
'content': changeContent(e.comment),
'nick': e.nick,
'url': e.url + '#' + e.objectId,
'date': e.updatedAt,
}
})
saveToLocal.set('valine-newest-comments', JSON.stringify(valineArray), 10/(60*24))
generateHtml(valineArray)
}).catch(e => {
const $dom = document.querySelector('#card-newest-comments .aside-list')
$dom.innerHTML= "无法获取评论,请确认相关配置是否正确"
})
}
const newestCommentInit = () => {
if (document.querySelector('#card-newest-comments .aside-list')) {
const data = saveToLocal.get('valine-newest-comments')
if (data) {
generateHtml(JSON.parse(data))
} else {
getComment()
}
}
}
newestCommentInit()
document.addEventListener('pjax:complete', newestCommentInit)
})</script><script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/activate-power-mode.min.js"></script><script>POWERMODE.colorful = false;
POWERMODE.shake = true;
POWERMODE.mobile = false;
document.body.addEventListener('input', POWERMODE);
</script><script id="click-heart" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/click-heart.min.js" async="async" mobile="false"></script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>