1<!DOCTYPE html> 2<html lang="zh-CN"> 3<head> 4 <meta charset="UTF-8"> 5<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2"> 6<meta name="theme-color" content="#222"> 7<meta name="generator" content="Hexo 4.1.1"> 8 <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png"> 9 <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png"> 10 <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png"> 11 <link rel="mask-icon" href="/images/logo.svg" color="#222"> 12 <meta name="google-site-verification" content="_hYE5cqDF7PJQLvfYL10-y8QXOCCPOh1U-Mo6sYzPlw"> 13 <meta name="msvalidate.01" content="62E76DC67D84CE1020156A741EA3DF33"> 14 <meta name="baidu-site-verification" content="XOiIxIYyLw"> 15 16<link rel="stylesheet" href="/css/main.css"> 17 18 19<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css"> 20 21
22<script id="hexo-configurations"> 23 var NexT = window.NexT || {}; 24 var CONFIG = { 25 hostname: new URL('https://gaocher.github.io').hostname, 26 root: '/', 27 scheme: 'Muse', 28 version: '7.6.0', 29 exturl: false, 30 sidebar: {"position":"left","display":"post","padding":18,"offset":12,"onmobile":false}, 31 copycode: {"enable":false,"show_result":false,"style":null}, 32 back2top: {"enable":true,"sidebar":false,"scrollpercent":false}, 33 bookmark: {"enable":false,"color":"#222","save":"auto"}, 34 fancybox: false, 35 mediumzoom: false, 36 lazyload: false, 37 pangu: false, 38 comments: {"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null}, 39 algolia: { 40 appID: '', 41 apiKey: '', 42 indexName: '', 43 hits: {"per_page":10}, 44 labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"} 45 }, 46 localsearch: {"enable":true,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false}, 47 path: 'search.xml', 48 motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}} 49 }; 50</script>
50 51 52 <meta property="og:type" content="website"> 53<meta property="og:title" content="about"> 54<meta property="og:url" content="https://gaocher.github.io/about/index.html"> 55<meta property="og:site_name" content="Isaac'så客"> 56<meta property="og:locale" content="zh_CN"> 57<meta property="article:published_time" content="2019-12-17T10:15:07.000Z"> 58<meta property="article:modified_time" content="2019-12-18T02:40:05.322Z"> 59<meta property="article:author" content="Isaac Gao"> 60<meta name="twitter:card" content="summary"> 61 62<link rel="canonical" href="https://gaocher.github.io/about/"> 63 64
65<script id="page-configurations"> 66 // https://hexo.io/docs/variables.html 67 CONFIG.page = { 68 sidebar: "", 69 isHome: false, 70 isPost: false 71 }; 72</script>
72 73 74 <title>about | Isaac'så客 75 </title> 76 77 78 79 80 81 82 83 <noscript> 84 <style> 85 .use-motion .brand, 86 .use-motion .menu-item, 87 .sidebar-inner, 88 .use-motion .post-block, 89 .use-motion .pagination, 90 .use-motion .comments, 91 .use-motion .post-header, 92 .use-motion .post-body, 93 .use-motion .collection-header { opacity: initial; } 94 95 .use-motion .site-title, 96 .use-motion .site-subtitle { 97 opacity: initial; 98 top: initial; 99 } 100 101 .use-motion .logo-line-before i { left: initial; } 102 .use-motion .logo-line-after i { right: initial; } 103 </style> 104</noscript> 105 106<link rel="alternate" href="/atom.xml" title="Isaac'så客" type="application/atom+xml"> 107</head> 108 109<body itemscope itemtype="http://schema.org/WebPage"> 110 <div class="container use-motion"> 111 <div class="headband"></div> 112 113 <header class="header" itemscope itemtype="http://schema.org/WPHeader"> 114 <div class="header-inner"><div class="site-brand-container"> 115 <div class="site-meta"> 116 117 <div> 118 <a href="/" class="brand" rel="start"> 119 <span class="logo-line-before"><i></i></span> 120 <span class="site-title">Isaac'så客</span> 121 <span class="logo-line-after"><i></i></span> 122 </a> 123 </div> 124 </div> 125 126 <div class="site-nav-toggle"> 127 <div class="toggle" aria-label="åæ¢å¯¼èªæ "> 128 <span class="toggle-line toggle-line-first"></span> 129 <span class="toggle-line toggle-line-middle"></span> 130 <span class="toggle-line toggle-line-last"></span> 131 </div> 132 </div> 133</div> 134 135 136<nav class="site-nav"> 137 138 <ul id="menu" class="menu"> 139 <li class="menu-item menu-item-home"> 140 141 <a href="/" rel="section"><i class="fa fa-fw fa-home"></i>é¦é¡µ</a> 142 143 </li> 144 <li class="menu-item menu-item-tags"> 145 146 <a href="/tags/" rel="section"><i class="fa fa-fw fa-tags"></i>æ ç¾</a> 147 148 </li> 149 <li class="menu-item menu-item-categories"> 150 151 <a href="/categories/" rel="section"><i class="fa fa-fw fa-th"></i>åç±»</a> 152 153 </li> 154 <li class="menu-item menu-item-archives"> 155 156 <a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>彿¡£</a> 157 158 </li> 159 <li class="menu-item menu-item-about"> 160 161 <a href="/about/" rel="section"><i class="fa fa-fw fa-user"></i>å ³äº</a> 162 163 </li> 164 <li class="menu-item menu-item-sitemap"> 165 166 <a href="/sitemap.xml" rel="section"><i class="fa fa-fw fa-sitemap"></i>ç«ç¹å°å¾</a> 167 168 </li> 169 <li class="menu-item menu-item-search"> 170 <a role="button" class="popup-trigger"><i class="fa fa-search fa-fw"></i>æç´¢ 171 </a> 172 </li> 173 </ul> 174 175</nav> 176 <div class="site-search"> 177 <div class="popup search-popup"> 178 <div class="search-header"> 179 <span class="search-icon"> 180 <i class="fa fa-search"></i> 181 </span> 182 <div class="search-input-container"> 183 <input autocomplete="off" autocorrect="off" autocapitalize="none" 184 placeholder="æç´¢..." spellcheck="false" 185 type="text" id="search-input"> 186 </div> 187 <span class="popup-btn-close"> 188 <i class="fa fa-times-circle"></i> 189 </span> 190</div> 191<div id="search-result"></div> 192 193</div> 194<div class="search-pop-overlay"></div> 195 196 </div> 197</div> 198 </header> 199 200 201 <div class="back-to-top"> 202 <i class="fa fa-arrow-up"></i> 203 <span>0%</span> 204 </div> 205 206 207 <main class="main"> 208 <div class="main-inner"> 209 <div class="content-wrap"> 210 211 212 213 214 <div class="content"> 215 216 217 <div class="posts-expand"> 218 219 220 221 <div class="post-block" lang="zh-CN"> 222 <header class="post-header"> 223 224<h1 class="post-title" itemprop="name headline">about 225</h1> 226 227<div class="post-meta"> 228 229 230</div> 231 232</header> 233 234 235 236 237 <div class="post-body"> 238 239 </div> 240 241 242 243 </div> 244 245 246 247 248 249 </div> 250 251 252 </div> 253 254 <div class="comments" id="valine-comments"></div> 255
256<script> 257 window.addEventListener('tabs:register', () => { 258 let activeClass = CONFIG.comments.activeClass; 259 if (CONFIG.comments.storage) { 260 activeClass = localStorage.getItem('comments_active') || activeClass; 261 } 262 if (activeClass) { 263 let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`); 264 if (activeTab) { 265 activeTab.click(); 266 } 267 } 268 }); 269 if (CONFIG.comments.storage) { 270 window.addEventListener('tabs:click', event => { 271 if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return; 272 let commentClass = event.target.classList[1]; 273 localStorage.setItem('comments_active', commentClass); 274 }); 275 } 276</script>
276 277 278 </div> 279 280 281 <div class="toggle sidebar-toggle"> 282 <span class="toggle-line toggle-line-first"></span> 283 <span class="toggle-line toggle-line-middle"></span> 284 <span class="toggle-line toggle-line-last"></span> 285 </div> 286 287 <aside class="sidebar"> 288 <div class="sidebar-inner"> 289 290 <ul class="sidebar-nav motion-element"> 291 <li class="sidebar-nav-toc"> 292 æç« ç®å½ 293 </li> 294 <li class="sidebar-nav-overview"> 295 ç«ç¹æ¦è§ 296 </li> 297 </ul> 298 299 <!--noindex--> 300 <div class="post-toc-wrap sidebar-panel"> 301 </div> 302 <!--/noindex--> 303 304 <div class="site-overview-wrap sidebar-panel"> 305 <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person"> 306 <p class="site-author-name" itemprop="name">Isaac Gao</p> 307 <div class="site-description" itemprop="description"></div> 308</div> 309<div class="site-state-wrap motion-element"> 310 <nav class="site-state"> 311 <div class="site-state-item site-state-posts"> 312 <a href="/archives/"> 313 314 <span class="site-state-item-count">7</span> 315 <span class="site-state-item-name">æ¥å¿</span> 316 </a> 317 </div> 318 <div class="site-state-item site-state-categories"> 319 <a href="/categories/"> 320 321 <span class="site-state-item-count">9</span> 322 <span class="site-state-item-name">åç±»</span></a> 323 </div> 324 </nav> 325</div> 326 <div class="links-of-author motion-element"> 327 <span class="links-of-author-item"> 328 <a href="/atom.xml" title="RSS â /atom.xml"><i class="fa fa-fw fa-rss"></i>RSS</a> 329 </span> 330 </div> 331 <div class="cc-license motion-element" itemprop="license"> 332 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh" class="cc-opacity" rel="noopener" target="_blank"><img src="/images/cc-by-nc-sa.svg" alt="Creative Commons"></a> 333 </div> 334 335 336 337 </div> 338 339 </div> 340 </aside> 341 <div id="sidebar-dimmer"></div> 342 343 344 </div> 345 </main> 346 347 <footer class="footer"> 348 <div class="footer-inner"> 349 350 351<div class="copyright"> 352 353 © 354 <span itemprop="copyrightYear">2021</span> 355 <span class="with-love"> 356 <i class="fa fa-user"></i> 357 </span> 358 <span class="author" itemprop="copyrightHolder">Isaac Gao</span> 359 <span class="post-meta-divider">|</span> 360 <span class="post-meta-item-icon"> 361 <i class="fa fa-area-chart"></i> 362 </span> 363 <span title="ç«ç¹æ»åæ°">36k</span> 364 <span class="post-meta-divider">|</span> 365 <span class="post-meta-item-icon"> 366 <i class="fa fa-coffee"></i> 367 </span> 368 <span title="ç«ç¹é 读æ¶é¿">33 åé</span> 369</div> 370 <div class="powered-by">ç± <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> 强åé©±å¨ v4.1.1 371 </div> 372 <span class="post-meta-divider">|</span> 373 <div class="theme-info">ä¸»é¢ â <a href="https://muse.theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Muse</a> v7.6.0 374 </div> 375 376 377 378 379 <div style="display: none;"> 380
380<script src="//s95.cnzz.com/z_stat.php?id=1278301445&web_id=1278301445"></script>
380 381 </div> 382 383 384 385 386 387 388 </div> 389 </footer> 390 </div> 391 392 393
393<script src="/lib/anime.min.js"></script>
393 394
394<script src="/lib/velocity/velocity.min.js"></script>
394 395
395<script src="/lib/velocity/velocity.ui.min.js"></script>
395 396
397<script src="/js/utils.js"></script>
397 398
399<script src="/js/motion.js"></script>
399 400 401
402<script src="/js/schemes/muse.js"></script>
402 403 404
405<script src="/js/next-boot.js"></script>
405 406 407 408 409 410 411 412 413 414 415
416<script src="/js/local-search.js"></script>
416 417 418 419 420 421 422 423 424 425 426 427
428<script> 429if (document.querySelectorAll('pre.mermaid').length) { 430 NexT.utils.getScript('//cdn.jsdelivr.net/npm/mermaid@8/dist/mermaid.min.js', () => { 431 mermaid.initialize({ 432 theme: 'forest', 433 logLevel: 3, 434 flowchart: { curve: 'linear' }, 435 gantt: { axisFormat: '%m/%d/%Y' }, 436 sequence: { actorMargin: 50 } 437 }); 438 }, window.mermaid); 439} 440</script>
440 441 442 443 444 445 446 447
448<script> 449NexT.utils.loadComments(document.querySelector('#valine-comments'), () => { 450 NexT.utils.getScript('//unpkg.com/valine/dist/Valine.min.js', () => { 451 var GUEST = ['nick', 'mail', 'link']; 452 var guest = 'nick,mail,link'; 453 guest = guest.split(',').filter(item => { 454 return GUEST.includes(item); 455 }); 456 new Valine({ 457 el: '#valine-comments', 458 verify: false, 459 notify: false, 460 appId: 'N1bPkxX4CVD9fq3Qrjf27qJR-gzGzoHsz', 461 appKey: 'OxTUzGGEUBN2mWDFTOnRUL4p', 462 placeholder: "è¯·å¨æ¤è¾å ¥æ¨ççè¨", 463 avatar: 'mm', 464 meta: guest, 465 pageSize: '10' || 10, 466 visitor: true, 467 lang: 'zh-cn' || 'zh-cn', 468 path: location.pathname, 469 recordIP: true, 470 serverURLs: '' 471 }); 472 }, window.Valine); 473}); 474</script>
474 475 476</body> 477</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.