1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <meta charset="utf-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 7 <meta name="google-site-verification" content="xBT4GhYoi5qRD5tr338pgPM5OWHHIDR6mNg1a3euekI" /> 8 <meta name="viewport" content="width=device-width, initial-scale=1"> 9 <meta name="description" content="Every failure is leading towards success."> 10 <meta name="keywords" content="Chevy, Chevy Blog, æ¥æ"> 11 <meta name="theme-color" content="#000000"> 12 13 <title>çç§è¯å½ - é¢é¢çå¾ç·</title> 14 15 <!-- Web App Manifest --> 16 <link rel="manifest" href="/pwa/manifest.json"> 17 18 <!-- Favicon --> 19 <link rel="shortcut icon" href="/img/favicon.ico"> 20 21 <!-- Safari Webpage Icon by-BY --> 22 <link rel="apple-touch-icon" href="/img/apple-touch-icon.png"> 23 24 <!-- Canonical URL --> 25 <link rel="canonical" href="https://chevyxu.github.io//2026/09/01/%E7%91%9E%E7%A7%8B%E8%AF%AD%E5%BD%95/"> 26 27 <!-- Bootstrap Core CSS --> 28 <link rel="stylesheet" href="/css/bootstrap.min.css"> 29 30 <!-- Custom CSS --> 31 <link rel="stylesheet" href="/css/hux-blog.min.css"> 32 33 <!-- Pygments Github CSS --> 34 <link rel="stylesheet" href="/css/syntax.css"> 35 36 <!-- Custom Fonts --> 37 <!-- <link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"> --> 38 <!-- Hux change font-awesome CDN to qiniu --> 39 <link href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" type="text/css"> 40 41 42 <!-- Hux Delete, sad but pending in China 43 <link href='http://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic' rel='stylesheet' type='text/css'> 44 <link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/ 45 css'> 46 --> 47 48 49 <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> 50 <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> 51 <!--[if lt IE 9]> 52
52<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
52 53
53<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
53 54 <![endif]--> 55 56 <!-- ga & ba script hoook --> 57
57<script></script>
57 58</head> 59 60 61<!-- hack iOS CSS :active style --> 62<body ontouchstart=""> 63 64 <!-- Navigation --> 65<nav class="navbar navbar-default navbar-custom navbar-fixed-top"> 66 <div class="container-fluid"> 67 <!-- Brand and toggle get grouped for better mobile display --> 68 <div class="navbar-header page-scroll"> 69 <button type="button" class="navbar-toggle"> 70 <span class="sr-only">Toggle navigation</span> 71 <span class="icon-bar"></span> 72 <span class="icon-bar"></span> 73 <span class="icon-bar"></span> 74 </button> 75 <a class="navbar-brand" href="/">Chevy Blog</a> 76 </div> 77 78 <!-- Collect the nav links, forms, and other content for toggling --> 79 <div id="huxblog_navbar"> 80 <div class="navbar-collapse"> 81 <ul class="nav navbar-nav navbar-right"> 82 <li> 83 <a href="/">Home</a> 84 </li> 85 86 <li> 87 <a href="/about/">Chunhui</a> 88 </li> 89 90 <li> 91 <a href="/tags/">Category</a> 92 </li> 93 94 </ul> 95 </div> 96 </div> 97 <!-- /.navbar-collapse --> 98 </div> 99 <!-- /.container --> 100</nav>
101<script> 102 // Drop Bootstarp low-performance Navbar 103 // Use customize navbar with high-quality material design animation 104 // in high-perf jank-free CSS3 implementation 105 var $body = document.body; 106 var $toggle = document.querySelector('.navbar-toggle'); 107 var $navbar = document.querySelector('#huxblog_navbar'); 108 var $collapse = document.querySelector('.navbar-collapse'); 109 110 var __HuxNav__ = { 111 close: function(){ 112 $navbar.className = " "; 113 // wait until animation end. 114 setTimeout(function(){ 115 // prevent frequently toggle 116 if($navbar.className.indexOf('in') < 0) { 117 $collapse.style.height = "0px" 118 } 119 },400) 120 }, 121 open: function(){ 122 $collapse.style.height = "auto" 123 $navbar.className += " in"; 124 } 125 } 126 127 // Bind Event 128 $toggle.addEventListener('click', function(e){ 129 if ($navbar.className.indexOf('in') > 0) { 130 __HuxNav__.close() 131 }else{ 132 __HuxNav__.open() 133 } 134 }) 135 136 /** 137 * Since Fastclick is used to delegate 'touchstart' globally 138 * to hack 300ms delay in iOS by performing a fake 'click', 139 * Using 'e.stopPropagation' to stop 'touchstart' event from 140 * $toggle/$collapse will break global delegation. 141 * 142 * Instead, we use a 'e.target' filter to prevent handler 143 * added to document close HuxNav. 144 * 145 * Also, we use 'click' instead of 'touchstart' as compromise 146 */ 147 document.addEventListener('click', function(e){ 148 if(e.target == $toggle) return; 149 if(e.target.className == 'icon-bar') return; 150 __HuxNav__.close(); 151 }) 152</script>
152 153 154 155 <!-- Image to hack wechat --> 156<!-- <img src="/img/icon_wechat.png" width="0" height="0"> --> 157<!-- <img src="/img/055.png" width="0" height="0"> --> 158 159<!-- Post Header --> 160<style type="text/css"> 161 header.intro-header{ 162 position: relative; 163 background-image: url('/img/055.png') 164 } 165 166 167</style> 168<header class="intro-header" > 169 <div class="header-mask"></div> 170 <div class="container"> 171 <div class="row"> 172 <div class=" 173 col-lg-10 col-lg-offset-1 174 col-md-10 col-md-offset-1"> 175 <div class="post-heading"> 176 <div class="tags"> 177 178 <a class="tag" href="/tags/#ææ¯å¦ä¹ ç¬è®°" title="ææ¯å¦ä¹ ç¬è®°">ææ¯å¦ä¹ ç¬è®°</a> 179 180 </div> 181 <h1>çç§è¯å½</h1> 182 183 184 <h2 class="subheading">å¾ä»»å¤©ä¸ä¹æºåï¼ä»¥é御ä¹ï¼æ æä¸å¯ã</h2> 185 186 <span class="meta">Posted by Chevy on September 1, 2026</span> 187 </div> 188 </div> 189 </div> 190 </div> 191</header> 192 193<!-- Post Content --> 194<article> 195 <div class="container"> 196 <div class="row"> 197 198 <!-- Post Container --> 199 <div class=" 200 col-lg-10 col-lg-offset-0 201 col-md-10 col-md-offset-1 202 post-container"> 203 204 <h1 id="çç§è¯å½">çç§è¯å½</h1> 205 206<ol> 207 <li>2å²ççç§å¾å欢åé³é±¼è ï¼æ¯æ¬¡æ¿ç»å¥¹çæ¶åï¼å¥¹é½ä¼è¿«ä¸åå¾ å°ä¸ææ¢è¿å»ï¼æ´åæè¢ãå¦å¦å¨æè¾¹çççç§æä¸å¼å¡æå è£ ï¼å°±è¯´âçç§ï¼å¦å¦å¸®ä½ å¼âï¼è¯´ççæ¶åï¼çç§ä¸å°å¿ç¨åè¿åº¦ï¼ææå¼çé³é±¼è 弿å¨å°ä¸äºï¼çç§ååèªè¯âæäºï¼å¼ä¸äºäºâ</li> 208</ol> 209 210 211 212 <hr style="visibility: hidden;"> 213 214 <ul class="pager"> 215 216 <li class="previous"> 217 <a href="/2026/09/01/TrimTAC%E6%8A%80%E6%9C%AF%E8%B0%83%E7%A0%94/" data-toggle="tooltip" data-placement="top" title="TrimTAC ææ¯è°ç "> 218 Previous<br> 219 <span>TrimTAC ææ¯è°ç </span> 220 </a> 221 </li> 222 223 224 </ul> 225 226 227 <!--Gitalkè¯è®ºstart --> 228 229 <!-- Gitalk end --> 230 231 232 233 </div> 234 235 <!-- Side Catalog Container --> 236 237 <div class=" 238 col-lg-2 col-lg-offset-0 239 visible-lg-block 240 sidebar-container 241 catalog-container"> 242 <div class="side-catalog"> 243 <hr class="hidden-sm hidden-xs"> 244 <h5> 245 <a class="catalog-toggle" href="#">Catalog</a> 246 </h5> 247 <ul class="catalog-body"></ul> 248 </div> 249 </div> 250 251 252 <!-- Sidebar Container --> 253 <div class=" 254 col-lg-10 col-lg-offset-1 255 col-md-10 col-md-offset-1 256 sidebar-container"> 257 258 <!-- Featured Tags --> 259 260 <section> 261 <hr class="hidden-sm hidden-xs"> 262 <h5><a href="/tags/">FEATURED TAGS</a></h5> 263 <div class="tags"> 264 265 266 <a href="/tags/#äºå¨é天水å¨ç¶" title="äºå¨é天水å¨ç¶" rel="12"> 267 äºå¨é天水å¨ç¶ 268 </a> 269 270 271 272 <a href="/tags/#æ¥æå½å»å¥ä½æ¥" title="æ¥æå½å»å¥ä½æ¥" rel="7"> 273 æ¥æå½å»å¥ä½æ¥ 274 </a> 275 276 277
278 <a href="/tags/#ææ¯å¦ä¹ ç¬è®°" title="ææ¯å¦ä¹ ç¬è®°" rel="51"> 279 ææ¯å¦ä¹ ç¬è®° 280 </a> 281 282 283 284 <a href="/tags/#åµå§å¤æä¸èªå" title="åµå§å¤æä¸èªå" rel="4"> 285 åµå§å¤æä¸èªå 286 </a> 287 288 289 290 <a href="/tags/#å¾ç·çç§æ¿è" title="å¾ç·çç§æ¿è" rel="1"> 291 å¾ç·çç§æ¿è 292 </a> 293 294 295 296 <a href="/tags/#Shell" title="Shell" rel="1"> 297 Shell 298 </a> 299 300 301 302 <a href="/tags/#Python" title="Python" rel="1"> 303 Python 304 </a> 305 306 307 </div> 308 </section> 309 310 311 <!-- Friends Blog --> 312 313 <hr> 314 <h5>FRIENDS</h5> 315 <ul class="list-inline"> 316 317 <li><a href="https://www.douban.com/people/129825621/">è±ç£â徿¥æ</a></li> 318 319 <li><a href="https://www.jianshu.com/u/9ea40b5f607a">ç®ä¹¦â徿´²æ´</a></li> 320 321 <li><a href="https://space.bilibili.com/579878271">Bç«â徿¥æ</a></li> 322 323 </ul> 324 325 </div> 326 </div> 327 </div> 328</article> 329 330 331 332 333 334 335<!-- async load function -->
336<script> 337 function async(u, c) { 338 var d = document, t = 'script', 339 o = d.createElement(t), 340 s = d.getElementsByTagName(t)[0]; 341 o.src = u; 342 if (c) { o.addEventListener('load', function (e) { c(null, e); }, false); } 343 s.parentNode.insertBefore(o, s); 344 } 345</script>
345 346<!-- anchor-js, Doc:http://bryanbraun.github.io/anchorjs/ -->
347<script> 348 async("//cdnjs.cloudflare.com/ajax/libs/anchor-js/1.1.1/anchor.min.js",function(){ 349 // BY Fix:å»é¤æ é¢åçâ#â issues:<https://github.com/qiubaiying/qiubaiying.github.io/issues/137> 350 // anchors.options = { 351 // visible: 'always', 352 // placement: 'right', 353 // icon: '#' 354 // }; 355 anchors.add().remove('.intro-header h1').remove('.subheading').remove('.sidebar-container h5'); 356 }) 357</script>
357 358<style> 359 /* place left on bigger screen */ 360 @media all and (min-width: 800px) { 361 .anchorjs-link{ 362 position: absolute; 363 left: -0.75em; 364 font-size: 1.1em; 365 margin-top : -0.1em; 366 } 367 } 368</style> 369 370 371 <!-- Footer --> 372<footer> 373 <div class="container"> 374 <div class="row"> 375 <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 376 <ul class="list-inline text-center"> 377 378 <li> 379 <a href="/feed.xml"> 380 <span class="fa-stack fa-lg"> 381 <i class="fa fa-circle fa-stack-2x"></i> 382 <i class="fa fa-rss fa-stack-1x fa-inverse"></i> 383 </span> 384 </a> 385 </li> 386 387 <!-- add jianshu add target = "_blank" to <a> by BY --> 388 389 <li> 390 <a target="_blank" href="https://www.jianshu.com/u/fe854ffa1f9e"> 391 <span class="fa-stack fa-lg"> 392 <i class="fa fa-circle fa-stack-2x"></i> 393 <i class="fa fa-stack-1x fa-inverse">ç®</i> 394 </span> 395 </a> 396 </li> 397 398 399 400 <!-- add Weibo, Zhihu by Hux, add target = "_blank" to <a> by Hux --> 401 402 403 <li> 404 <a target="_blank" href="http://weibo.com/2268771031"> 405 <span class="fa-stack fa-lg"> 406 <i class="fa fa-circle fa-stack-2x"></i> 407 <i class="fa fa-weibo fa-stack-1x fa-inverse"></i> 408 </span> 409 </a> 410 </li> 411 412 413 414 415 <li> 416 <a target="_blank" href="https://www.facebook.com/chunhui.xu.90"> 417 <span class="fa-stack fa-lg"> 418 <i class="fa fa-circle fa-stack-2x"></i> 419 <i class="fa fa-facebook fa-stack-1x fa-inverse"></i> 420 </span> 421 </a> 422 </li> 423 424 425 <li> 426 <a target="_blank" href="https://github.com/ChevyXu"> 427 <span class="fa-stack fa-lg"> 428 <i class="fa fa-circle fa-stack-2x"></i> 429 <i class="fa fa-github fa-stack-1x fa-inverse"></i> 430 </span> 431 </a> 432 </li> 433 434 435 </ul> 436 <p class="copyright text-muted"> 437 Copyright © Chevy Blog 2026 438 <br> 439 Theme on <a href="https://github.com/ChevyXu/ChevyXu.github.io.git">GitHub</a> | 440 <iframe 441 style="margin-left: 2px; margin-bottom:-5px;" 442 frameborder="0" scrolling="0" width="100px" height="20px" 443 src="https://ghbtns.com/github-btn.html?user=ChevyXu&repo=ChevyXu.github.io&type=star&count=true" > 444 </iframe> 445 </p> 446 </div> 447 </div> 448 </div> 449</footer> 450 451<!-- jQuery -->
452<script src="/js/jquery.min.js "></script>
452 453 454<!-- Bootstrap Core JavaScript -->
455<script src="/js/bootstrap.min.js "></script>
455 456 457<!-- Custom Theme JavaScript -->
458<script src="/js/hux-blog.min.js "></script>
458 459 460<!-- Service Worker --> 461
462<script type="text/javascript"> 463 if(navigator.serviceWorker){ 464 // For security reasons, a service worker can only control the pages that are in the same directory level or below it. That's why we put sw.js at ROOT level. 465 navigator.serviceWorker 466 .register('/sw.js') 467 .then((registration) => {console.log('Service Worker Registered. ', registration)}) 468 .catch((error) => {console.log('ServiceWorker registration failed: ', error)}) 469 } 470</script>
470 471 472 473 474<!-- async load function -->
475<script> 476 function async(u, c) { 477 var d = document, t = 'script', 478 o = d.createElement(t), 479 s = d.getElementsByTagName(t)[0]; 480 o.src = u; 481 if (c) { o.addEventListener('load', function (e) { c(null, e); }, false); } 482 s.parentNode.insertBefore(o, s); 483 } 484</script>
484 485 486<!-- 487 Because of the native support for backtick-style fenced code blocks 488 right within the Markdown is landed in Github Pages, 489 From V1.6, There is no need for Highlight.js, 490 so Huxblog drops it officially. 491 492 - https://github.com/blog/2100-github-pages-now-faster-and-simpler-with-jekyll-3-0 493 - https://help.github.com/articles/creating-and-highlighting-code-blocks/ 494 - https://github.com/jneen/rouge/wiki/list-of-supported-languages-and-lexers 495--> 496<!-- 497
497<script> 498 async("http://cdn.bootcss.com/highlight.js/8.6/highlight.min.js", function(){ 499 hljs.initHighlightingOnLoad(); 500 }) 501 </script>
501 502 <link href="http://cdn.bootcss.com/highlight.js/8.6/styles/github.min.css" rel="stylesheet"> 503--> 504 505 506<!-- jquery.tagcloud.js -->
507<script> 508 // only load tagcloud.js in tag.html 509 if($('#tag_cloud').length !== 0){ 510 async('/js/jquery.tagcloud.js',function(){ 511 $.fn.tagcloud.defaults = { 512 //size: {start: 1, end: 1, unit: 'em'}, 513 color: {start: '#bbbbee', end: '#0085a1'}, 514 }; 515 $('#tag_cloud a').tagcloud(); 516 }) 517 } 518</script>
518 519 520<!--fastClick.js -->
521<script> 522 async("//cdnjs.cloudflare.com/ajax/libs/fastclick/1.0.6/fastclick.min.js", function(){ 523 var $nav = document.querySelector("nav"); 524 if($nav) FastClick.attach($nav); 525 }) 526</script>
526 527 528 529<!-- Google Analytics --> 530
531<script> 532 // dynamic User by Hux 533 var _gaId = 'UA-115007342-1'; 534 var _gaDomain = 'xuchunhui.top'; 535 536 // Originial 537 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 538 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 539 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 540 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 541 542 ga('create', _gaId, _gaDomain); 543 ga('send', 'pageview'); 544</script>
544 545 546 547 548<!-- Baidu Tongji --> 549 550 551 552 553<!-- Side Catalog --> 554
555<script type="text/javascript"> 556 function generateCatalog (selector) { 557 var P = $('div.post-container'),a,n,t,l,i,c; 558 a = P.find('h1,h2,h3,h4,h5,h6'); 559 a.each(function () { 560 n = $(this).prop('tagName').toLowerCase(); 561 i = "#"+$(this).prop('id'); 562 t = $(this).text(); 563 c = $('<a href="'+i+'" rel="nofollow">'+t+'</a>'); 564 l = $('<li class="'+n+'_nav"></li>').append(c); 565 $(selector).append(l); 566 }); 567 return true; 568 } 569 570 generateCatalog(".catalog-body"); 571 572 // toggle side catalog 573 $(".catalog-toggle").click((function(e){ 574 e.preventDefault(); 575 $('.side-catalog').toggleClass("fold") 576 })) 577 578 /* 579 * Doc: https://github.com/davist11/jQuery-One-Page-Nav 580 * Fork by Hux to support padding 581 */ 582 async("/js/jquery.nav.js", function () { 583 $('.catalog-body').onePageNav({ 584 currentClass: "active", 585 changeHash: !1, 586 easing: "swing", 587 filter: "", 588 scrollSpeed: 700, 589 scrollOffset: 0, 590 scrollThreshold: .2, 591 begin: null, 592 end: null, 593 scrollChange: null, 594 padding: 80 595 }); 596 }); 597</script>
597 598 599 600 601 602 603<!-- Image to hack wechat --> 604<img src="/img/image_nju_after_rain.jpg" width="0" height="0" /> 605<!-- Migrate from head to bottom, no longer block render and still work --> 606 607</body> 608 609</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.