-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
404 lines (273 loc) · 36.1 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
<!doctype html>
<html ⚡ lang="en-us" [class]="darkMode ? 'dark-mode' : ''">
<head>
<meta charset="utf-8" />
<script async src="https://cdn.ampproject.org/v0.js"></script>
<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
<script async custom-element="amp-sidebar" src="https://cdn.ampproject.org/v0/amp-sidebar-0.1.js"></script>
<script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"></script>
<script async custom-element="amp-youtube" src="https://cdn.ampproject.org/v0/amp-youtube-0.1.js"></script>
<title>顾沉舟的个人博客</title>
<meta name="author" content="Huy Nguyen" />
<meta name="description" content="A light responsive Hugo AMP theme for blogger" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@twitter_username" />
<meta name="twitter:title" content="顾沉舟的个人博客" />
<meta name="twitter:description" content="A light responsive Hugo AMP theme for blogger" />
<meta name="twitter:image" content="https://mike-just.github.io/img/avatar.jpg" />
<meta name="generator" content="Hugo 0.73.0" />
<link rel="canonical" href="https://mike-just.github.io/">
<link rel="alternative" href="/index.xml" title="顾沉舟的个人博客" type="application/atom+xml">
<meta name="renderer" content="webkit" />
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<meta name="format-detection" content="telephone=no,email=no,adress=no" />
<meta name="robots" content="index,follow" />
<meta name="referrer" content="origin-when-cross-origin" />
<meta name="google-site-verification" content="google_site_verification_code" />
<meta name="msvalidate.01" content="bing_site_verification_code" />
<link rel="icon" href="/img/favicon.ico" />
<meta name="apple-mobile-web-app-capable" content="yes">
<link rel="apple-touch-icon" sizes="120x120" href="/img/avatar.jpg">
<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin>
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400" rel="stylesheet">
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
<style amp-custom>:root{--main-bg-color:$main-background}:root .sunny{display:none}:root .moon{display:block}.dark-mode:root{--main-bg-color:#000}.dark-mode:root .sunny{display:block}.dark-mode:root .moon{display:none}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}body{font-size:18px;font-weight:300;line-height:1.618;font-family:Roboto,sans-serif;color:#777;background-color:var(--main-bg-color);text-rendering:optimizeLegibility;-webkit-overflow-scrolling:touch}a{color:#3f9adc;text-decoration:none;font-weight:600}a:focus,a:hover{opacity:.7;outline:none}amp-img{margin:0 auto;box-shadow:2px 20px 40px 10px rgba(0,0,0,.15)}button:hover{cursor:pointer}.main{padding:1rem 2rem;box-sizing:border-box}@media screen and (max-width:800px){.main{margin-left:0;padding:0 1rem 1rem;border:1px solid #ddd;border-right:none;border-left:none}}.footer{display:block;padding:1rem;font-size:.8rem;text-align:center;font-family:Roboto Mono,Menlo,Monaco,Consolas,Courier New,monospace}.wrapper{display:grid;grid-gap:20px;min-height:100vh}@media screen and (max-width:640px){.wrapper{grid-template-rows:100px 1fr 90px;grid-template-areas:"header" "main" "footer"}}@media screen and (min-width:640px){.wrapper{grid-template-columns:320px 1fr;grid-template-rows:1fr 90px;grid-template-areas:"header main" "header footer"}}.header{grid-area:header}.main{grid-area:main}.footer{grid-area:footer}.icon{font-style:normal;text-decoration:inherit;width:1em;height:1em;font-variant:normal;text-transform:none;line-height:1em}.icon,.share{display:inline-block;text-align:center}.share{font-weight:400;margin-left:.2rem;border:none;outline:none;color:#fff;width:30px;height:30px;border-radius:50%}.share-twitter{background-color:#55acee}.share-twitter-icon{margin:5px 0 0 1px}.share-facebook{background-color:#3b5998}.header{padding:1rem;box-sizing:border-box;text-align:center;background-color:rgba(106,172,14,.9)}.logo{margin-top:3rem;border-radius:20%;border:4px solid #fff;transition:all .5s ease-out}.logo:hover{border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.3)}@media screen and (max-width:800px){.logo{position:absolute;top:1rem;left:1rem;width:2rem;height:2rem;margin-top:0;border:2px solid #fff}}.title{font-size:1.5rem;font-family:Roboto,sans-serif;font-weight:600;margin:1rem auto}@media screen and (max-width:800px){.title{margin:0 auto}}.subtitle,.title a{color:#fff}.subtitle{margin-bottom:1rem;opacity:.8}.menu{display:none}@media screen and (min-width:800px){.menu{display:block}}.menu-list{list-style:none;padding:0}.menu-item{padding:1rem 0}.menu-item a{font-weight:100;opacity:.8;color:#fff}.menu-item a:focus,.menu-item a:hover{opacity:1}.menu-item.is-active a{color:#444;opacity:1;font-weight:700}.menu-toggle{border:none;outline:none;font-size:2rem;background-color:transparent;color:#fff;position:absolute;top:1rem;right:1rem}@media screen and (min-width:800px){.menu-toggle{display:none}}.sidebar{background-color:#fff;width:100vw}@media screen and (min-width:640px){.sidebar{width:50vw}}.sidebar-list{list-style:none;padding:0;margin:0}.sidebar-menu{text-align:right;padding:16px}.sidebar-item{font-size:2rem;padding:30px 35px 30px 25px;border-top:1px solid #ddd}.sidebar-item:hover{background-color:#f2f2f2}.sidebar-icon{border:none;outline:none;background-color:transparent;font-family:Roboto,sans-serif;font-weight:100;font-size:2rem}.sidebar-link{color:#000;font-weight:100}.social-list{margin:0;padding:0;list-style:none}.social-item{display:inline-block;margin:0 .2rem}.social-item a{color:#fff;font-weight:400}@media screen and (max-width:800px){.entry-list{padding-top:30px}}.entry-single{line-height:1.8;margin-bottom:22px;background-color:#fff;box-shadow:0 0 2px 0 rgba(137,146,177,.15),0 3px 10px 0 rgba(137,146,177,.1);border-radius:5px}.entry-single:hover{box-shadow:0 1px 15px 0 rgba(137,146,177,.15),0 10px 20px 0 rgba(137,146,177,.15)}.entry-cover{max-width:100%;border-radius:5px 5px 0 0;-o-object-fit:cover;object-fit:cover;box-shadow:none}.entry-title{margin:0;padding:20px 30px 0}.entry-link{font-size:1.5rem;font-weight:600;color:#262626}.entry-summary{padding:0 30px;text-align:justify;max-height:4rem;overflow:hidden}.entry-footer{margin:0 30px;padding:10px 0;border-top:1px solid #ddd;display:flex;justify-content:space-between}.entry-meta{margin:0;font-size:.8rem;letter-spacing:1px;text-transform:uppercase}.entry-time{color:#444}.entry-time:after{content:"";border-right:1px solid #ddd;margin:0 8px 0 10px}.pagination{display:flex;justify-content:flex-start}.pagination-btn{color:#777;padding:.8rem;background-color:#fff;border:1px solid #ddd;font-size:.8rem;text-transform:uppercase;border-radius:5px}.pagination-btn:focus,.pagination-btn:hover{color:#fff;background-color:#6aac0e;border-color:#6aac0e}.pagination-next{margin-left:auto}.post-header:after{display:block;content:"";width:60px;padding-top:10px;border-bottom:3px solid #6aac0e}.post-title{font-size:2rem;color:#262626;line-height:1.5;margin-top:1.5rem;margin-bottom:.5rem}.post-footer{margin:1rem 0;line-height:1.8}.post-tags{margin-top:0;margin-bottom:1rem;padding-left:0}.post-tag{display:inline-block;margin:0 .5rem 0 0;border-radius:3px;padding:5px 10px;background:#f2f2f2;font-size:.8rem}.post-tag:hover{background:#ddd;box-shadow:0 1px 15px 0 rgba(137,146,177,.15),0 10px 20px 0 rgba(137,146,177,.15)}.post-content{line-height:1.8}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{color:#6cb505;font-weight:700;line-height:1.125}.post-content h1{margin-top:2rem;margin-bottom:1rem;font-size:2rem}.post-content h2{margin-top:1.75rem;margin-bottom:.75rem;font-size:1.5rem}.post-content h3{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.25rem}.post-content h4{margin-top:1.25rem;margin-bottom:.25rem;font-size:1rem}.post-content h5,.post-content h6{margin-top:1rem;margin-bottom:0;font-size:.8rem}.post-content li+li{margin-top:.5rem}.post-content em{color:#777;font-style:italic}.post-content strong{color:#444}.post-content del{color:#777;text-decoration:line-through}.post-content ins{color:#444;text-decoration:underline}.post-content hr{position:relative;margin:2rem auto;border-top:1px dashed #ddd;border-bottom:none}.post-content hr:before{content:"sep line";position:absolute;top:-12px;left:calc(50% - 40px);padding:0 .5rem;background-color:#fff;color:#ddd;font-size:.8rem;font-family:Roboto Mono,Menlo,Monaco,Consolas,Courier New,monospace}.post-content p{margin-top:1.5rem;margin-bottom:1.5rem;text-align:justify}.post-content blockquote{background-color:#f2f2f2;border-left:5px solid #ddd;padding:.5rem 1rem;margin:2rem 0}.post-content blockquote p{margin-top:.5rem;margin-bottom:.5rem}.post-content blockquote cite{margin-top:1.5rem;color:#777;font-size:.9rem}.post-content code,.post-content tt{padding:.2em 0;margin:0;font-size:.9em;background-color:#ddd;font-family:Roboto Mono,Menlo,Monaco,Consolas,Courier New,monospace}.post-content code:after,.post-content code:before,.post-content tt:after,.post-content tt:before{letter-spacing:-.2em;content:"\00a0"}.post-content kbd{display:inline-block;padding:.25em;background-color:#f2f2f2;border:1px solid #ddd;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.05);font-size:.8em;line-height:1.25;font-family:Roboto Mono,Menlo,Monaco,Consolas,Courier New,monospace;color:#777}.post-content pre{margin:2rem auto;padding:1rem;overflow-x:auto;border-radius:3px;font-size:.9rem;line-height:1.618;white-space:pre;word-wrap:normal;word-break:normal;background:#ddd;color:#777}.post-content pre code{font-size:.9rem;background-color:transparent}.post-content pre code:after,.post-content pre code:before{content:none}.post-content sub,.post-content sup{font-size:.8rem}.post-content sub a,.post-content sub a:focus,.post-content sub a:hover,.post-content sup a,.post-content sup a:focus,.post-content sup a:hover{border-bottom:none}.post-content ol{margin-left:0;margin-top:2rem;margin-bottom:2rem;padding-left:1.5rem;list-style:decimal outside}.post-content ol ol{margin-top:.5rem;margin-bottom:.5rem;list-style:lower-roman outside}.post-content ol ul{margin-top:.5rem;margin-bottom:.5rem;list-style:disc outside}.post-content ul{margin-left:0;margin-top:2rem;margin-bottom:2rem;padding-left:1.5rem;list-style:disc outside}.post-content ul ul{margin-top:.5rem;margin-bottom:.5rem;list-style:circle outside}.post-content ul ol{margin-top:.5rem;margin-bottom:.5rem;list-style:decimal outside}.post-content dl{margin-top:2rem;margin-bottom:2rem}.post-content dl dt{color:#6aac0e;margin-top:1rem}.post-content dl dt:after{content:":"}.post-content dl dd{text-indent:2rem;margin-left:0;margin-top:.25rem}.post-content figure{display:block;margin:2rem auto}.post-content figure img{max-width:100%;box-shadow:2px 20px 40px 10px rgba(0,0,0,.15)}@media screen and (max-width:800px){.post-content figure img{box-shadow:none}}.post-content figure figcaption h4{color:#ddd;font-size:.9rem;text-align:center}table{background-color:#f2f2f2;color:#444;margin:2rem auto;width:100%;border-collapse:collapse;border-radius:5px}table td,table th{border:solid #ddd;border-width:0 0 1px;padding:.5em .75em;vertical-align:center}table th{color:#444}table tr:hover{background-color:#ddd}table thead td,table thead th{border-width:0 0 2px;color:#777}table tfoot td,table tfoot th{border-width:2px 0 0;color:#777}table tbody tr:last-child td,table tbody tr:last-child th{border-bottom-width:0}table tr:first-child th:first-child{border-top-left-radius:5px}table tr:first-child th:last-child{border-top-right-radius:5px}table tr:last-child td:first-child{border-bottom-left-radius:5px}table tr:last-child td:last-child{border-bottom-right-radius:5px}.not-found{margin:5rem auto 0;font-family:Roboto Mono,Menlo,Monaco,Consolas,Courier New,monospace;text-align:center}.error-emoji{color:#444;font-size:3rem}.error-text{font-size:1.25rem}.error-link{margin-top:2rem;font-size:1rem;color:#6aac0e}</style>
</head>
<body class="wrapper">
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="icon-menu" viewBox="0 0 640 640">
<path d="M0 96h640v64h-640v-64zM0 288h640v64h-640v-64zM0 480h640v64h-640v-64z" />
</symbol>
<symbol id="icon-rss" viewBox="0 0 24 24">
<path d="M19.199 24C19.199 13.467 10.533 4.8 0 4.8V0c13.165 0 24 10.835 24 24h-4.801zM3.291 17.415c1.814 0 3.293 1.479 3.293 3.295 0 1.813-1.485 3.29-3.301 3.29C1.47 24 0 22.526 0 20.71s1.475-3.294 3.291-3.295zM15.909 24h-4.665c0-6.169-5.075-11.245-11.244-11.245V8.09c8.727 0 15.909 7.184 15.909 15.91z" />
</symbol>
<symbol id="icon-sunny" viewBox="0 0 64 64">
<path fill="none" stroke="#202020" stroke-miterlimit="10" stroke-width="2" d="M32 2v16m0 28v16m30-30H46m-28 0H2m8.8-21.2l11.3 11.3m19.8 19.8l11.3 11.3m0-42.4L41.9 22.1M22.1 41.9L10.8 53.2" stroke-linejoin="round" stroke-linecap="round" />
<circle cx="32" cy="32" r="14" fill="none" stroke="#202020" stroke-miterlimit="10" stroke-width="2" stroke-linejoin="round" stroke-linecap="round" />
</symbol>
<symbol id="icon-moon" viewBox="0 0 64 64">
<path d="M35 2a25 25 0 0 1-22 36.8 24.9 24.9 0 0 1-10.6-2.3A30 30 0 1 0 35 2z"
fill="none" stroke="#202020" stroke-miterlimit="10" stroke-width="2" stroke-linejoin="round"
stroke-linecap="round" />
</symbol>
<symbol id="icon-email" viewBox="0 0 24 24">
<path d="M24 4.5v15c0 .85-.65 1.5-1.5 1.5H21V7.387l-9 6.463-9-6.463V21H1.5C.649 21 0 20.35 0 19.5v-15c0-.425.162-.8.431-1.068C.7 3.16 1.076 3 1.5 3H2l10 7.25L22 3h.5c.425 0 .8.162 1.069.432.27.268.431.643.431 1.068z" />
</symbol>
<symbol id="icon-twitter" viewBox="0 0 24 24">
<path d="M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z" />
</symbol>
<symbol id="icon-github" viewBox="0 0 24 24">
<path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" />
</symbol>
<symbol id="icon-dribbble" viewBox="0 0 24 24">
<path d="M12 24C5.385 24 0 18.615 0 12S5.385 0 12 0s12 5.385 12 12-5.385 12-12 12zm10.12-10.358c-.35-.11-3.17-.953-6.384-.438 1.34 3.684 1.887 6.684 1.992 7.308 2.3-1.555 3.936-4.02 4.395-6.87zm-6.115 7.808c-.153-.9-.75-4.032-2.19-7.77l-.066.02c-5.79 2.015-7.86 6.025-8.04 6.4 1.73 1.358 3.92 2.166 6.29 2.166 1.42 0 2.77-.29 4-.814zm-11.62-2.58c.232-.4 3.045-5.055 8.332-6.765.135-.045.27-.084.405-.12-.26-.585-.54-1.167-.832-1.74C7.17 11.775 2.206 11.71 1.756 11.7l-.004.312c0 2.633.998 5.037 2.634 6.855zm-2.42-8.955c.46.008 4.683.026 9.477-1.248-1.698-3.018-3.53-5.558-3.8-5.928-2.868 1.35-5.01 3.99-5.676 7.17zM9.6 2.052c.282.38 2.145 2.914 3.822 6 3.645-1.365 5.19-3.44 5.373-3.702-1.81-1.61-4.19-2.586-6.795-2.586-.825 0-1.63.1-2.4.285zm10.335 3.483c-.218.29-1.935 2.493-5.724 4.04.24.49.47.985.68 1.486.08.18.15.36.22.53 3.41-.43 6.8.26 7.14.33-.02-2.42-.88-4.64-2.31-6.38z" />
</symbol>
<symbol id="icon-linkedin" viewBox="0 0 24 24">
<title>LinkedIn</title>
<path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" />
</symbol>
<symbol id="icon-facebook" viewBox="0 0 60 60">
<path d="M42.8,23.8h-7.4v-4.8c0-1.8,1.2-2.2,2.1-2.2c0.8,0,5.2,0,5.2, 0v-8l-7.2,0c-8,0-9.8,6-9.8,9.8v5.3 h-4.6V32h4.6c0,10.6,0,23.3,0,23.3h9.7c0,0,0-12.9,0-23.3H42L42.8,23.8z" />
</symbol>
<symbol id="icon-instagram" viewBox="0 0 24 24">
<path d="M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44 0-.794.646-1.439 1.44-1.439.793-.001 1.44.645 1.44 1.439z" />
</symbol>
<symbol id="icon-youtube" viewBox="0 0 24 24">
<path class="a" d="M23.495 6.205a3.007 3.007 0 0 0-2.088-2.088c-1.87-.501-9.396-.501-9.396-.501s-7.507-.01-9.396.501A3.007 3.007 0 0 0 .527 6.205a31.247 31.247 0 0 0-.522 5.805 31.247 31.247 0 0 0 .522 5.783 3.007 3.007 0 0 0 2.088 2.088c1.868.502 9.396.502 9.396.502s7.506 0 9.396-.502a3.007 3.007 0 0 0 2.088-2.088 31.247 31.247 0 0 0 .5-5.783 31.247 31.247 0 0 0-.5-5.805zM9.609 15.601V8.408l6.264 3.602z" />
</symbol>
<symbol id="icon-pinterest" viewBox="0 0 24 24">
<path d="M8.134 18.748c0-1.6.2-3 .8-4.4.5-1.4 1.2-2.6 2.2-3.6.9-1 2-1.9 3.2-2.6 1.2-.8 2.5-1.3 3.9-1.7 1.5-.4 2.9-.5 4.4-.5 2.2 0 4.3.4 6.2 1.4 1.9.9 3.5 2.3 4.7 4.1 1.2 1.9 1.8 3.9 1.8 6.2 0 1.4-.1 2.7-.4 4-.2 1.3-.7 2.6-1.2 3.8-.6 1.2-1.3 2.3-2.2 3.2-.8.9-1.8 1.7-3.1 2.2-1.2.6-2.5.9-4 .9-1 0-1.9-.3-2.9-.7-.9-.5-1.6-1.1-2-1.9-.1.5-.3 1.4-.6 2.4-.3 1.1-.4 1.7-.5 2-.1.3-.2.9-.4 1.6-.3.7-.4 1.2-.6 1.5-.1.3-.4.7-.7 1.3-.3.6-.6 1.2-1 1.7-.3.5-.7 1.1-1.3 1.8l-.3.1-.2-.2c-.2-2.2-.3-3.6-.3-4 0-1.3.2-2.8.5-4.4.3-1.7.8-3.7 1.4-6.2.6-2.5 1-3.9 1.1-4.4-.5-.9-.7-2.1-.7-3.6 0-1.2.4-2.3 1.1-3.3.8-1.1 1.7-1.6 2.8-1.6.9 0 1.6.3 2.1.9.4.6.7 1.3.7 2.2 0 .9-.3 2.3-1 4.1-.6 1.8-.9 3.1-.9 4 0 .9.3 1.6 1 2.2.6.6 1.4.9 2.3.9.8 0 1.5-.2 2.2-.5.6-.4 1.2-.9 1.6-1.5.5-.6.9-1.3 1.2-2 .4-.8.6-1.5.8-2.4.2-.8.4-1.6.5-2.4.1-.7.1-1.4.1-2.1 0-2.5-.8-4.4-2.3-5.8-1.6-1.4-3.6-2.1-6.1-2.1-2.8 0-5.2 1-7.1 2.8-1.9 1.9-2.9 4.2-2.9 7.1 0 .6.1 1.2.3 1.8.2.6.4 1.1.6 1.4.2.3.4.7.5 1 .2.3.3.5.3.6 0 .4-.1.9-.3 1.6-.2.6-.5 1-.8 1 0 0-.1-.1-.4-.1-.7-.2-1.3-.6-1.9-1.2-.5-.6-1-1.3-1.3-2-.3-.8-.5-1.6-.7-2.4-.2-.7-.2-1.5-.2-2.2z" />
</symbol>
<symbol id="icon-reddit" viewBox="0 0 24 24">
<title>Reddit icon</title>
<path d="M2.204 14.049c-.06.276-.091.56-.091.847 0 3.443 4.402 6.249 9.814 6.249 5.41 0 9.812-2.804 9.812-6.249 0-.274-.029-.546-.082-.809l-.015-.032c-.021-.055-.029-.11-.029-.165-.302-1.175-1.117-2.241-2.296-3.103-.045-.016-.088-.039-.126-.07-.026-.02-.045-.042-.067-.064-1.792-1.234-4.356-2.008-7.196-2.008-2.815 0-5.354.759-7.146 1.971-.014.018-.029.033-.049.049-.039.033-.084.06-.13.075-1.206.862-2.042 1.937-2.354 3.123 0 .058-.014.114-.037.171l-.008.015zm9.773 5.441c-1.794 0-3.057-.389-3.863-1.197-.173-.174-.173-.457 0-.632.176-.165.46-.165.635 0 .63.629 1.685.943 3.228.943 1.542 0 2.591-.3 3.219-.929.165-.164.45-.164.629 0 .165.18.165.465 0 .645-.809.808-2.065 1.198-3.862 1.198l.014-.028zm-3.606-7.573c-.914 0-1.677.765-1.677 1.677 0 .91.763 1.65 1.677 1.65s1.651-.74 1.651-1.65c0-.912-.739-1.677-1.651-1.677zm7.233 0c-.914 0-1.678.765-1.678 1.677 0 .91.764 1.65 1.678 1.65s1.651-.74 1.651-1.65c0-.912-.739-1.677-1.651-1.677zm4.548-1.595c1.037.833 1.8 1.821 2.189 2.904.45-.336.719-.864.719-1.449 0-1.002-.815-1.816-1.818-1.816-.399 0-.778.129-1.09.363v-.002zM2.711 9.963c-1.003 0-1.817.816-1.817 1.818 0 .543.239 1.048.644 1.389.401-1.079 1.172-2.053 2.213-2.876-.302-.21-.663-.329-1.039-.329v-.002zm9.217 12.079c-5.906 0-10.709-3.205-10.709-7.142 0-.275.023-.544.068-.809C.494 13.598 0 12.729 0 11.777c0-1.496 1.227-2.713 2.725-2.713.674 0 1.303.246 1.797.682 1.856-1.191 4.357-1.941 7.112-1.992l1.812-5.524.404.095s.016 0 .016.002l4.223.993c.344-.798 1.138-1.36 2.065-1.36 1.229 0 2.231 1.004 2.231 2.234 0 1.232-1.003 2.234-2.231 2.234s-2.23-1.004-2.23-2.23l-3.851-.912-1.467 4.477c2.65.105 5.047.854 6.844 2.021.494-.464 1.144-.719 1.833-.719 1.498 0 2.718 1.213 2.718 2.711 0 .987-.54 1.886-1.378 2.365.029.255.059.494.059.749-.015 3.938-4.806 7.143-10.72 7.143l-.034.009zm8.179-19.187c-.74 0-1.34.599-1.34 1.338 0 .738.6 1.34 1.34 1.34.732 0 1.33-.6 1.33-1.334 0-.733-.598-1.332-1.347-1.332l.017-.012z"/>
</symbol>
</svg>
<header class="header">
<amp-img alt="顾沉舟的个人博客"
width="128px"
height="128px"
class="logo"
src="/img/avatar.jpg"
sizes="(max-width: 800px) 36px, 128px">
</amp-img>
<h1 class="title"><a href="https://mike-just.github.io" title="顾沉舟的个人博客">顾沉舟的个人博客</a></h1>
<p class="subtitle">沉舟侧畔千帆过,病树前头万木春</p>
<button class="menu-toggle" type="button" on="tap:sidebar.open">
<svg class="icon icon-menu" fill="currentColor"><use xlink:href="#icon-menu" /></svg>
</button>
<nav class="menu">
<ul class="menu-list">
<li class="sidebar-item "><a class="sidebar-link" href="http://localhost:1313/post/blogs/blog">Java全栈路线</a></li>
<li class="sidebar-item "><a class="sidebar-link" href="/111/">Spring框架底层</a></li>
<li class="sidebar-item "><a class="sidebar-link" href="/tags/">SSM综合</a></li>
<li class="sidebar-item "><a class="sidebar-link" href="/boot/">SpringBoot</a></li>
</ul>
</nav>
<button on="tap:AMP.setState({darkMode: !darkMode})">
<svg class="icon moon" fill="currentColor"><use xlink:href="#icon-moon" /></svg>
<svg class="icon sunny" fill="currentColor"><use xlink:href="#icon-sunny" /></svg>
</button>
<ul class="social-list">
<li class="social-item">
<a href="mailto:[email protected]" title="Email">
<svg class="icon" fill="currentColor"><use xlink:href="#icon-email" /></svg>
</a>
</li>
<li class="social-item">
<a href="//github.com/mike-just" title="GitHub">
<svg class="icon" fill="currentColor"><use xlink:href="#icon-github" /></svg>
</a>
</li>
<li class="social-item">
<a href="//twitter.com/twitter_username" title="Twitter">
<svg class="icon" fill="currentColor"><use xlink:href="#icon-twitter" /></svg>
</a>
</li>
<li class="social-item">
<a href="//www.linkedin.com/in/linkedin_username" title="Linkedin">
<svg class="icon" fill="currentColor"><use xlink:href="#icon-linkedin" /></svg>
</a>
</li>
<li class="social-item">
<a href="//www.facebook.com/facebook_username" title="Facebook">
<svg class="icon" fill="currentColor"><use xlink:href="#icon-facebook" /></svg>
</a>
</li>
<li class="social-item">
<a href="//plus.google.com/googleplus_id_number" title="Google+">
<svg class="icon" fill="currentColor"><use xlink:href="#icon-googleplus" /></svg>
</a>
</li>
<li class="social-item">
<a href="//www.instagram.com/instagram_username" title="Instagram">
<svg class="icon" fill="currentColor"><use xlink:href="#icon-instagram" /></svg>
</a>
</li>
<li class="social-item">
<a href="//www.youtube.com/user/youtube_username" title="YouTube">
<svg class="icon" fill="currentColor"><use xlink:href="#icon-youtube" /></svg>
</a>
</li>
<li class="social-item">
<a href="//dribbble.com/dribbble_username" title="Dribbble">
<svg class="icon" fill="currentColor"><use xlink:href="#icon-dribbble" /></svg>
</a>
</li>
<li class="social-item">
<a href="//reddit.com/user/reddit_username" title="Reddit">
<svg class="icon" fill="currentColor"><use xlink:href="#icon-reddit" /></svg>
</a>
</li>
<li class="social-item">
<a href="/index.xml" title="RSS">
<svg class="icon" fill="currentColor"><use xlink:href="#icon-rss" /></svg>
</a>
</li>
</ul>
</header>
<amp-sidebar id="sidebar" class="sidebar" layout="nodisplay" side="right">
<ul class="sidebar-list">
<li class="sidebar-menu"><button class="sidebar-icon" on="tap:sidebar.close">X</button></li>
<li class="sidebar-item "><a class="sidebar-link" href="http://localhost:1313/post/blogs/blog">Java全栈路线</a></li>
<li class="sidebar-item "><a class="sidebar-link" href="/111/">Spring框架底层</a></li>
<li class="sidebar-item "><a class="sidebar-link" href="/tags/">SSM综合</a></li>
<li class="sidebar-item "><a class="sidebar-link" href="/boot/">SpringBoot</a></li>
</ul>
</amp-sidebar>
<section class="main entry-list">
<article class="entry-single">
<header class="entry-header">
<h3 class="entry-title"><a href="https://mike-just.github.io/post/blogs/%E6%B5%8B%E8%AF%951.0/" title="测试1" class="entry-link">测试1</a></h3>
</header>
<p class="entry-summary">测试1.0正在更新中 本人QQ2540074917 </p>
<footer class="entry-footer">
<p class="entry-meta"><span class="entry-time">Jul 12, 2020</span> 1 min read</p>
<div class="sharing">
<a class="share share-facebook" target="_blank" href="https://facebook.com/sharer/sharer.php?u=https%3a%2f%2fmike-just.github.io%2fpost%2fblogs%2f%25E6%25B5%258B%25E8%25AF%25951.0%2f" title="Share on Facebook">
<svg class="icon" fill="currentColor"><use xlink:href="#icon-facebook" /></svg>
</a>
<a class="share share-twitter" target="_blank" href="https://twitter.com/intent/tweet/?text=%e6%b5%8b%e8%af%951&url=https%3a%2f%2fmike-just.github.io%2fpost%2fblogs%2f%25E6%25B5%258B%25E8%25AF%25951.0%2f" title="Share on Twitter">
<svg class="icon share-twitter-icon" fill="currentColor"><use xlink:href="#icon-twitter" /></svg>
</a>
</div>
</footer>
</article>
<article class="entry-single">
<header class="entry-header">
<h3 class="entry-title"><a href="https://mike-just.github.io/post/java/111/" title="111" class="entry-link">111</a></h3>
</header>
<p class="entry-summary">作用: </p>
<footer class="entry-footer">
<p class="entry-meta"><span class="entry-time">Jul 12, 2020</span> 1 min read</p>
<div class="sharing">
<a class="share share-facebook" target="_blank" href="https://facebook.com/sharer/sharer.php?u=https%3a%2f%2fmike-just.github.io%2fpost%2fjava%2f111%2f" title="Share on Facebook">
<svg class="icon" fill="currentColor"><use xlink:href="#icon-facebook" /></svg>
</a>
<a class="share share-twitter" target="_blank" href="https://twitter.com/intent/tweet/?text=111&url=https%3a%2f%2fmike-just.github.io%2fpost%2fjava%2f111%2f" title="Share on Twitter">
<svg class="icon share-twitter-icon" fill="currentColor"><use xlink:href="#icon-twitter" /></svg>
</a>
</div>
</footer>
</article>
<article class="entry-single">
<header class="entry-header">
<h3 class="entry-title"><a href="https://mike-just.github.io/post/blogs/blog1/" title="AOP简单描述" class="entry-link">AOP简单描述</a></h3>
</header>
<p class="entry-summary">面向切面编程:基于OOP基础之上新的编程思想 指在程序运行期间,将某段代码动态切入到指定方法的指定位置进行运行的这种编程方式,面向切面编程
场景:计算器运行计算方法的时候进行日志记录 加日志记录: 1.直接编写在方法内部;不推荐,修改维护麻烦 日志记录:系统的辅助功能 业务逻辑:(核心功能) 耦合;
2.我们希望的是 业务逻辑:(核心功能);日志模块;在核心功能运行期间,自己动态的加上 运行的时候,日志功能可以加上 可以使用动态代理来将日志代码动态的在目标方法执行前后先进行执行;
动态代理: 1.写起来难 2.jdk默认的动态代理,如果目标对象没有实现任何接口,是无法为它创建代理对象的 总结: 将某段代码(日志)动态切入(不把日志代码写死在业务逻辑方法中)到指定方法(加减乘除)的指定位置(方法的开始,结束,异常)进行运行的这种编程方式
Spring动态代理:Spring实现AOP功能,底层就是动态代理 总结:可以利用Spring一句代码都不写的去创建动态代理 实现简单,没有强制要求目标对象必须实现接口 </p>
<footer class="entry-footer">
<p class="entry-meta"><span class="entry-time">Jul 12, 2020</span> 1 min read</p>
<div class="sharing">
<a class="share share-facebook" target="_blank" href="https://facebook.com/sharer/sharer.php?u=https%3a%2f%2fmike-just.github.io%2fpost%2fblogs%2fblog1%2f" title="Share on Facebook">
<svg class="icon" fill="currentColor"><use xlink:href="#icon-facebook" /></svg>
</a>
<a class="share share-twitter" target="_blank" href="https://twitter.com/intent/tweet/?text=AOP%e7%ae%80%e5%8d%95%e6%8f%8f%e8%bf%b0&url=https%3a%2f%2fmike-just.github.io%2fpost%2fblogs%2fblog1%2f" title="Share on Twitter">
<svg class="icon share-twitter-icon" fill="currentColor"><use xlink:href="#icon-twitter" /></svg>
</a>
</div>
</footer>
</article>
<article class="entry-single">
<header class="entry-header">
<h3 class="entry-title"><a href="https://mike-just.github.io/post/blogs/blog/" title="@Autowired注解" class="entry-link">@Autowired注解</a></h3>
</header>
<p class="entry-summary">作用: 先按照类型去容器中找到对应的组件
@Autowired private BookDao bookDao; 找到就直接赋值
没找到就报错
具体流程: 先按照类型来找。。。。
找到多个类型一样的呢?按照变量名(bookDao)作为id继续匹配
那如果变量名有一样的呢?报错。可以使用@Qualifier(“haha”)指定一个字符串作为新的id
那如果@Qualifier也找不到呢?@Autowired(required=false)表示自动装配null
如果@Autowired作用在方法上呢?
@Controller public class BookServlet { //1.这个方法也会在bean创建的时候自动运行 //2.这个方法的每一个参数都会自动注入值 } @Autowired public void haha(BookDao dao,BookService bookService){ System.out.println("Spring运行了这个方法。。。"+dao+bookService); } 总结: @Autowired 、@Resource、@Inject;都是自动装配的意思 @Autowired :最强大: Spring的注解 @Resource:默认 byname java的标准 @Resource的扩展性强,如果我们切换成另外一个容器框架,@Resource还是可以使用的,@Autowired就不行了 </p>
<footer class="entry-footer">
<p class="entry-meta"><span class="entry-time">Jul 12, 2020</span> 1 min read</p>
<div class="sharing">
<a class="share share-facebook" target="_blank" href="https://facebook.com/sharer/sharer.php?u=https%3a%2f%2fmike-just.github.io%2fpost%2fblogs%2fblog%2f" title="Share on Facebook">
<svg class="icon" fill="currentColor"><use xlink:href="#icon-facebook" /></svg>
</a>
<a class="share share-twitter" target="_blank" href="https://twitter.com/intent/tweet/?text=%40Autowired%e6%b3%a8%e8%a7%a3&url=https%3a%2f%2fmike-just.github.io%2fpost%2fblogs%2fblog%2f" title="Share on Twitter">
<svg class="icon share-twitter-icon" fill="currentColor"><use xlink:href="#icon-twitter" /></svg>
</a>
</div>
</footer>
</article>
</section>
<footer class="footer">
<p>Copyright © 2018-2020 顾沉舟的个人博客</p>
<p>Powered by <a href="https://gohugo.io/" target="_blank">Hugo</a> with theme <a href="https://github.com/huyb1991/hugo-lamp" title="Hugo LAMP" target="_blank">LAMP</a>.</p>
</footer>
<amp-analytics type=googleanalytics>
<script type=application/json>
{
"vars": { "account": "UA-XXX-X" },
"triggers": { "trackPageview": { "on": "visible", "request": "pageview" } }
}
</script>
</amp-analytics>
</body>
</html>