1<!DOCTYPE html> 2<html lang="zh-CN"> 3 <head> 4 <meta charset="utf-8"> 5 <title> 6 7 åºæ¬æ 害 - Xheldon Blog 8 9 </title> 10 11 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 12 <meta name="google-site-verification" content="EX6ES0UVArXTvp5aeeWrkXGn5M5MZ10bYqXanXDEzAs" /> 13 <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> 14 15 <meta name="description" content="å½æè·¨è¿æ²æ²¦çä¸åï¼åçæ°¸æå¼æçæ¶åï¼ä½ æ¯æçåæ"> 16 <meta name="keywords" content="Xheldon, çæ´», ç¾é£, æ æ¸¸, å端, ææ¯, å享"> 17 <meta name="theme-color" content="#000000"> 18 <meta name="twitter:card" content="summary_large_image"> 19 20 <meta name="twitter:site" content="@_xheldon"> 21 <meta name="twitter:creator" content="@_xheldon"> 22 23 <meta property="og:title" 24 content="åºæ¬æ 害 - Xheldon Blog"> 25 26 <meta property="og:type" content="website"> 27 28 29 <meta property="og:description" content="å½æè·¨è¿æ²æ²¦çä¸åï¼åçæ°¸æå¼æçæ¶åï¼ä½ æ¯æçåæ"> 30 <meta name="twitter:image" content="https://static.xheldon.com/img/about-new-bg.png"> 31 <meta property="og:image" content="https://static.xheldon.com/img/about-new-bg.png"> 32 <meta property="og:url" content="https://www.xheldon.com/about/"> 33 <meta property="og:site_name" content="Xheldon Blog"> 34 <meta property="og:locale" content="zh_CN"> 35 <!-- é¦é¡µ about å donate 䏿¾ç¤ºå¹¿å --> 36 37 <!-- Web App Manifest --> 38 <!-- <link rel="manifest" href="/js/manifest.json"> --> 39 <link rel="shortcut icon" href="/img/favicon.ico"> 40 <link rel="canonical" 41 href="https://www.xheldon.com/about/"> 42 <link rel="alternate" hreflang="zh-CN" href="https://www.xheldon.com/about/"> 43 <link rel="alternate" hreflang="en" href="https://www.xheldon.com/en/about/"> 44 <link rel="alternate" hreflang="ja" href="https://www.xheldon.com/ja/about/"> 45 <link rel="alternate" hreflang="ko" href="https://www.xheldon.com/ko/about/"> 46 <link rel="alternate" hreflang="x-default" href="https://www.xheldon.com/about/"> 47 48 49 50 51 <!-- Bootstrap Core CSS --> 52 <link rel="stylesheet" href="/css/bootstrap.min.css" type="text/css"> 53 54 <!-- Custom CSS --> 55 <link rel="stylesheet" href="/css/xblog.min.css?v=3c60701c" type="text/css"> 56 57 <!-- Pygments Highlight CSS --> 58 <link rel="stylesheet" href="/css/highlight.css" type="text/css"> 59 60 <!-- Custom Fonts --> 61 <link href="/css/font-awesome.min.css" rel="stylesheet" type="text/css"> 62 63 <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> 64 <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> 65 <!--[if lt IE 9]> 66
66<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
66 67
67<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
67 68 <![endif]--> 69<meta name="generator" content="Hexo 7.3.0"></head> 70 71 <!-- hack iOS CSS :active style --> 72 73 <body ontouchstart=""> 74 <!-- 微信å享缩ç¥å¾ï¼æ JSSDK æ¶å¾®ä¿¡ä¸è¯» og:imageï¼èæ¯æå页é¢ä¸é¦ä¸ªè¶³å¤å¤§ 75 ï¼çº¦ â¥300x300ï¼çå¾çï¼0x0 屿§çå¾ä¼è¢«è·³è¿ï¼æ£æå¾å¤ä¸º webp ä¹ä¸è¢«è¯å«ã 76 æ å¨ body æåæ¾ä¸å¼ ä¿ççå®å°ºå¯¸ãä» è§è§è£åªéèçåå PNGï¼å¾®ä¿¡ç¬è« 77 䏿¸²æ CSSï¼overflow è£åªä¸å½±åå ¶æåï¼ã --> 78 <div style="position: absolute; width: 0; height: 0; overflow: hidden" aria-hidden="true"> 79 <img src="/img/icon_wechat.png" width="481" height="481" alt="Xheldon Blog" /> 80 </div> 81 <!-- Navigation --> 82 83 84 <nav class="navbar navbar-default navbar-custom navbar-fixed-top"> 85 86 <div class="container-fluid"> 87 <!-- Brand and toggle get grouped for better mobile display --> 88 <div class="navbar-header page-scroll"> 89 <button type="button" class="navbar-toggle"> 90 <span class="sr-only">Toggle navigation</span> 91 <span class="icon-bar"></span> 92 <span class="icon-bar"></span> 93 <span class="icon-bar"></span> 94 </button> 95 <a class="navbar-brand" href="/"> 96 Xheldon Blog 97 </a> 98 </div> 99 <!-- Collect the nav links, forms, and other content for toggling --> 100 <div id="xblog_navbar"> 101 <div class="navbar-collapse"> 102 <ul class="nav navbar-nav navbar-right"> 103 <li> 104 <a href="/">主页</a> 105 </li> 106 <li> 107 <a href="/about/">å ³äº</a> 108 </li> 109 <li> 110 <a href="/donate/">èµå©</a> 111 </li> 112 <li> 113 <a href="/archive/">彿¡£</a> 114 </li> 115 <li> 116 <a href="/feed.xml">RSS</a> 117 </li> 118<li class="lang-dropdown"> 119 <a href="javascript:void(0)" class="lang-toggle" aria-haspopup="true" aria-label="Language"> 120 <i class="fa fa-globe"></i> <span class="lang-current">䏿</span> <i class="fa fa-angle-down"></i> 121 </a> 122 <ul class="lang-menu"> 123 <li class="lang-item active"><a href="/about/" hreflang="zh-CN">䏿</a></li> 124 <li class="lang-item"><a href="/en/about/" hreflang="en">English</a></li> 125 <li class="lang-item"><a href="/ja/about/" hreflang="ja">æ¥æ¬èª</a></li> 126 <li class="lang-item"><a href="/ko/about/" hreflang="ko">íêµì´</a></li> 127 </ul> 128</li> 129 <li class="search-icon"> 130 <a href="javascript:void(0)"> 131 <i class="fa fa-search"></i> 132 </a> 133 </li> 134 </ul> 135 </div> 136 </div> 137 <!-- /.navbar-collapse --> 138 </div> 139 <!-- /.container --> 140 </nav> 141
141<script> 142 // Drop Bootstarp low-performance Navbar 143 // Use customize navbar with high-quality material design animation 144 // in high-perf jank-free CSS3 implementation 145 var $body = document.body; 146 var $toggle = document.querySelector('.navbar-toggle'); 147 var $navbar = document.querySelector('#xblog_navbar'); 148 var $collapse = document.querySelector('.navbar-collapse'); 149 var __XNav__ = { 150 close: function () { 151 $navbar.className = ' '; 152 // wait until animation end. 153 setTimeout(function () { 154 // prevent frequently toggle 155 if ($navbar.className.indexOf('in') < 0) { 156 $collapse.style.height = '0px'; 157 } 158 }, 400); 159 }, 160 open: function () { 161 $collapse.style.height = 'auto'; 162 $navbar.className += ' in'; 163 }, 164 }; 165 // Bind Event 166 $toggle.addEventListener('click', function (e) { 167 if ($navbar.className.indexOf('in') > 0) { 168 __XNav__.close(); 169 } else { 170 __XNav__.open(); 171 } 172 }); 173 /** 174 * Since Fastclick is used to delegate 'touchstart' globally 175 * to hack 300ms delay in iOS by performing a fake 'click', 176 * Using 'e.stopPropagation' to stop 'touchstart' event from 177 * $toggle/$collapse will break global delegation. 178 * 179 * Instead, we use a 'e.target' filter to prevent handler 180 * added to document close XheldonNav. 181 * 182 * Also, we use 'click' instead of 'touchstart' as compromise 183 */ 184 document.addEventListener('click', function (e) { 185 if (e.target == $toggle) return; 186 if (e.target.className == 'icon-bar') return; 187 __XNav__.close(); 188 }); 189 </script>
189 190</nav> 191 <!-- Search --> 192<div class="search-page"> 193 <div class="search-icon-close-container"> 194 <span class="search-icon-close"> 195 <i class="fa fa-chevron-down"></i> 196 </span> 197 </div> 198 <div class="search-main container"> 199 <div class="row"> 200 <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 201 <input type="text" id="search-input" placeholder="$ grep..."> 202 <div id="search-results" class="mini-post-list"></div> 203 204 <div id="search-empty-state" class="search-empty-state"> 205 <section class="writing-stats"> 206 <h5 class="search-section-title">ç åç»è®¡<span class="search-section-year">2026</span></h5> 207 <div class="stat-grid"> 208 209 <div class="stat-card stat-card--tech"> 210 <div class="stat-card-title"> 211 <span class="stat-dot"></span>ææ¯<span class="stat-card-metric">åæ°</span> 212 </div> 213 <div class="stat-row stat-row--year"> 214 <span class="stat-label">ä»å¹´</span> 215 <span class="stat-value">0<span class="stat-unit">å</span></span> 216 </div> 217 <div class="stat-row stat-row--total"> 218 <span class="stat-label">累计</span> 219 <span class="stat-value">121,806<span class="stat-unit">å</span></span> 220 </div> 221 </div> 222 223 <div class="stat-card stat-card--tech"> 224 <div class="stat-card-title"> 225 <span class="stat-dot"></span>ææ¯<span class="stat-card-metric">åæ</span> 226 </div> 227 <div class="stat-row stat-row--year"> 228 <span class="stat-label">ä»å¹´</span> 229 <span class="stat-value">0<span class="stat-unit">ç¯</span></span> 230 </div> 231 <div class="stat-row stat-row--total"> 232 <span class="stat-label">累计</span> 233 <span class="stat-value">51<span class="stat-unit">ç¯</span></span> 234 </div> 235 </div> 236 237 <div class="stat-card stat-card--life"> 238 <div class="stat-card-title"> 239 <span class="stat-dot"></span>çæ´»<span class="stat-card-metric">åæ°</span> 240 </div> 241 <div class="stat-row stat-row--year"> 242 <span class="stat-label">ä»å¹´</span> 243 <span class="stat-value">3,986<span class="stat-unit">å</span></span> 244 </div> 245 <div class="stat-row stat-row--total"> 246 <span class="stat-label">累计</span> 247 <span class="stat-value">132,785<span class="stat-unit">å</span></span> 248 </div> 249 </div> 250 251 <div class="stat-card stat-card--life"> 252 <div class="stat-card-title"> 253 <span class="stat-dot"></span>çæ´»<span class="stat-card-metric">åæ</span> 254 </div> 255 <div class="stat-row stat-row--year"> 256 <span class="stat-label">ä»å¹´</span> 257 <span class="stat-value">1<span class="stat-unit">ç¯</span></span> 258 </div> 259 <div class="stat-row stat-row--total"> 260 <span class="stat-label">累计</span> 261 <span class="stat-value">27<span class="stat-unit">ç¯</span></span> 262 </div> 263 </div> 264 265 </div> 266 </section> 267 268 <section class="search-hot-tags"> 269 <h5 class="search-section-title"><a href="/archive/">ç鍿 ç¾</a></h5> 270 <div class="tags search-tags"> 271 272 <a href="/archive/?tag=%E6%8A%80%E6%9C%AF" title="ææ¯">ææ¯</a> 273 274 <a href="/archive/?tag=%E7%94%9F%E6%B4%BB" title="çæ´»">çæ´»</a> 275 276 <a href="/archive/?tag=%E6%8A%98%E8%85%BE" title="æè ¾">æè ¾</a> 277 278 <a href="/archive/?tag=%E6%8A%80%E5%B7%A7" title="æå·§">æå·§</a> 279 280 <a href="/archive/?tag=%E6%95%99%E7%A8%8B" title="æç¨">æç¨</a> 281
282 <a href="/archive/?tag=Apple" title="Apple">Apple</a> 283 284 <a href="/archive/?tag=%E7%BF%BB%E8%AF%91" title="ç¿»è¯">ç¿»è¯</a> 285 286 <a href="/archive/?tag=ProseMirror" title="ProseMirror">ProseMirror</a> 287 288 <a href="/archive/?tag=%E7%BB%8F%E9%AA%8C" title="ç»éª">ç»éª</a> 289 290 <a href="/archive/?tag=%E7%BE%8E%E9%A3%9F" title="ç¾é£">ç¾é£</a> 291 292 <a href="/archive/?tag=Craft" title="Craft">Craft</a> 293 294 <a href="/archive/?tag=JavaScript" title="JavaScript">JavaScript</a> 295 296 <a href="/archive/?tag=Vue" title="Vue">Vue</a> 297 298 <a href="/archive/?tag=%E5%88%9D%E4%BD%93%E9%AA%8C" title="åä½éª">åä½éª</a> 299 300 <a href="/archive/?tag=%E5%B7%A5%E4%BD%9C%E6%B5%81" title="工使µ">工使µ</a> 301 302 <a href="/archive/?tag=%E6%8F%92%E4%BB%B6" title="æä»¶">æä»¶</a> 303 304 <a href="/archive/?tag=%E7%BD%91%E7%BB%9C" title="ç½ç»">ç½ç»</a> 305 306 <a href="/archive/?tag=%E8%8B%B9%E6%9E%9C" title="è¹æ">è¹æ</a> 307 308 <a href="/archive/?tag=Git" title="Git">Git</a> 309 310 <a href="/archive/?tag=%E4%BD%BF%E7%94%A8%E4%BD%93%E9%AA%8C" title="使ç¨ä½éª">使ç¨ä½éª</a> 311 312 <a href="/archive/?tag=%E6%80%BB%E7%BB%93" title="æ»ç»">æ»ç»</a> 313 314 <a href="/archive/?tag=%E6%9C%8D%E5%8A%A1%E5%99%A8" title="æå¡å¨">æå¡å¨</a> 315 316 <a href="/archive/?tag=%E8%B7%AF%E7%94%B1%E5%99%A8" title="è·¯ç±å¨">è·¯ç±å¨</a> 317 318 <a href="/archive/?tag=%E8%BD%AF%E8%B7%AF%E7%94%B1" title="软路ç±">软路ç±</a> 319 320 <a href="/archive/?tag=%E9%9A%8F%E7%AC%94" title="éç¬">éç¬</a> 321 322 <a href="/archive/?tag=%E9%9B%86%E6%88%90" title="éæ">éæ</a> 323 324 <a href="/archive/?tag=AI" title="AI">AI</a> 325 326 <a href="/archive/?tag=AppleScript" title="AppleScript">AppleScript</a> 327 328 <a href="/archive/?tag=CI" title="CI">CI</a> 329 330 <a href="/archive/?tag=GitHub" title="GitHub">GitHub</a> 331 332 </div> 333 </section> 334 335 </div> 336 </div> 337 </div> 338 </div> 339 </div> 340 341 342 <!-- Main Content --> 343 <!-- Page Header --> 344<!-- ä¸ Liquid ä¸åçæ¯ï¼Fornt Matter ä» å¯¹ post æä»¶çæï¼ejs 模æ¿ä¸è½èªå®ä¹ Front Matter ä¼ å ¥ --> 345 346<!-- å 为ä¸äºåå ï¼page ç±»åä¼ å ¥åæ°æ¯é©¼å³°å½åï¼post ç±»åæ¯çææ å½å --> 347<style type="text/css"> 348 header.intro-header { 349 position: relative; 350 background-image: url("https://static.xheldon.com/img/about-new-bg.png"); 351 352 353 } 354 355 header.intro-header .headerMask { 356 width: 100%; 357 height: 100%; 358 position: absolute; 359 background: rgba(0, 0, 0, 0.4); 360 } 361 362 363</style> 364 365 <header class="intro-header"> 366 367 <div class="headerMask"></div> 368 <div class="container"> 369 <div class="row"> 370 <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 371 372 <div class="site-heading"> 373 374 <h1>åºæ¬æ 害</h1> 375 <span class="subheading">å½æè·¨è¿æ²æ²¦çä¸åï¼åçæ°¸æå¼æçæ¶åï¼ä½ æ¯æçåæ</span> 376 </div> 377 </div> 378 </div> 379 </div> 380 </header> 381 <style> 382 .data-loading { 383 width: 150px; 384 height: 10px; 385 margin:50px auto; 386 text-align: center; 387 } 388 .data-loading span { 389 display: inline-block; 390 width: 10px; 391 height: 100%; 392 margin-right: 5px; 393 background: #5bc0de; 394 -webkit-animation: load 1.04s ease infinite; 395 } 396 .data-loading span:last-child{ 397 margin-right: 0px; 398 } 399 @-webkit-keyframes load{ 400 0%{ 401 opacity: 1; 402 -webkit-transform: scale(1.2); 403 } 404 100%{ 405 opacity: .2; 406 -webkit-transform: scale(.2); 407 } 408 } 409 .data-loading span:nth-child(1){ 410 -webkit-animation-delay:0.13s; 411 } 412 .data-loading span:nth-child(2){ 413 -webkit-animation-delay:0.26s; 414 } 415 .data-loading span:nth-child(3){ 416 -webkit-animation-delay:0.39s; 417 } 418 .data-loading span:nth-child(4){ 419 -webkit-animation-delay:0.52s; 420 } 421 .data-loading span:nth-child(5){ 422 -webkit-animation-delay:0.65s; 423 } 424 </style> 425 426 <!-- Main Content --> 427 <div class="container" > 428 <div class="row"> 429 430 431 <div class=" 432 col-lg-8 col-lg-offset-1 433 col-md-8 col-md-offset-1 434 col-sm-12 435 col-xs-12 436 postlist-container 437 "> 438 439 <div class="zh post-container"> 440 441 <blockquote> 442<p>æ¬ç«å ç´ æ¥èªå°è¯´ <a href="https://baike.baidu.com/item/%E9%93%B6%E6%B2%B3%E7%B3%BB%E6%BC%AB%E6%B8%B8%E6%8C%87%E5%8D%97/79740">ãé¶æ²³ç³»æ¼«æ¸¸æåã</a> ç³»åã</p> 443</blockquote> 444<p>92 å¹´å°æåº§ç·çï¼æçå¾å¤ä¸å½å年纪ä¸ç¬¦ç奿ªæ³æ³ï¼æ 论线ä¸çº¿ä¸ï¼é½ä¸åä¸éç人辩论ï¼å 乿²¡äººä¼å¨ç½ä¸å¯¹éç人æ¿è®¤èªå·±éäºï¼è忬¢ä¸ç人ãçç½æ´»ãã</p> 445<p>æçä¸»èæ¯ä¸åå端工ç¨å¸ï¼2015 å¹´ 9 æä»ä½å±±è¾å»ä¼è®¡å·¥ä½å°å京ä»äºå端å¼åå·¥ä½ä»¥æ¥è¿å ¥äºèç½è¡ä¸å·²ç» 7 å¹´(æªæ¢å° 2022 å¹´)ã</p> 446<p>å½ç¶ï¼å端å¦ä¹ ä¹è³è®¡ç®æºå¦ä¹ ä¹è·¯å¹¶ä¸æ¯ä» 2015 å¹´å¼å§çï¼å¤§å¦æé´ç»å¸¸å»è¹è½¯ä»¶å¦é¢ç课ï¼å æ¤ä¸äºç®æ³åºç¡åæ°æ®ç»æä¹ç±»çè®¡ç®æºåºç¡è¯¾ç¨ç¥æã</p> 447<p>æå欢äºèç½ï¼å欢å代ç ï¼å æ¤å¤§å¦åå¹´æå¦ä¹ äºå端çä¸äºç¥è¯å¦ HTMLãCSSãPhotoshopãJavascriptãjQueryã Bootstrap çã页é¢ä»ãå¿ å¤çææ¯ï¼å¯¹ Javascriptï¼ä»¥å坹彿¶è¿å¤äºåå§ç¶æç NodeJS è¾ä¸ºå ³æ³¨ã</p> 448<p>卿 ¡åæ¥å°è¯äº GruntãNodeJSãAngularJS çç¨æ³. åç°å¦
448æè¦æ·±å ¥äºè§£ä¸é¨è¯è¨å¿ é¡»ç¥éè¿é¨è¯è¨ç Good Parts And Bad Parts 以åå ¶ä»è¯è¨ä½å¯¹æ¯ï¼å æ¤ä¸ºäºå æ·±çè§£ï¼æè¿å¨ä¸è½è¯¯ä¸»ä¿®è¯¾çåæä¸ï¼å©ç¨è¯¾ä½æ¶é´åæ¥å¦ä¹ äºè§£äº CãVBãC#ãJavaãAndroid çè¯æ³åè¿è¡åçã</p> 449<p>卿 ¡æé´ï¼å å ¥äºæ ¡ç½ç¤¾å¢åæ ¡ CERT 社å¢ï¼ç¤¾å¢ä¸çåè¾ä»¬å¨å¾ç¥ææ¯éè®¡ç®æºä¸ä¸çåå¦ä¹åï¼çå¿ç叮婿å¦ä¹ äºå¾å¤è®¡ç®æºé¢åçåºæ¬æ¦å¿µå常è¯ï¼å¯¹æçèªå¦ä¹è·¯å¸®å©å¾å¤§ï¼æä¹æ¾ä½ä¸ºå端人åè·å¾æ ¡è½¯ä»¶è®¾è®¡å¤§èµå¢éä¸çå¥ï¼å¨æ¤è¡¨ç¤ºæè°¢ã</p> 450<p>å¨ä¸æçå¦ä¹ è¿ç¨ä¸åç°èªå·±å¯¹è®¡ç®æºçæ·±å±åçå¦å ååé /äºè¿å¶/ç½ç»éä¿¡åè®®/ç¼è¯åç/CPU åç/æ°æ®åºåç/æ°æ®ä¼ è¾çè®¡ç®æºåºå±åºç¡ç¥è¯æå¾å¤ä¸è§£åæå ´è¶£çå°æ¹ï¼å æ¤å¨è¯å¾å©ç¨ç½æäºè¯¾å å¼è®¾çã大å¦è®¡ç®æºä¸ä¸ã课ç¨ä½ç³»åç¸å ³ä¹¦ç±å¯¹èªèº«çè®¡ç®æºç§å¦ç¥è¯è¿è¡è¡¥å ã</p> 451<p>èªå·±æ¬èº«æ¯å Web åºç¨çï¼ä½æ¯å¯¹ç«¯é常æå ´è¶£ï¼æ¢¦æ³ææä¸æ¥è½ååºä¸å人使ç¨çæ¡é¢/ç§»å¨ç«¯åºç¨ï¼å æ¤å¯¹ Electron æè React Native/Flutter ä¹ç±»çæ¡æ¶ä¹æ¯è¾æå ´è¶£ã</p> 452<p>ç®å主è¦ç ç©¶æ¹åæ¯ Javascript/Typescriptï¼åæ¬¢ç¨ææ¯è§£å³çæ´»ä¸çé®é¢ï¼å¦ç»å¸¸åä¸äº Chrome æä»¶ãAppleScript èæ¬æ¥èªå¨åå·¥ä½å 容ï¼å´å°é«æçå·¥ä½ï¼è䏿¹åæ¯å ¨æ å·¥ç¨å¸ï¼åå·¥å ·ç±»ï¼ã</p> 453<p>è½ç¶å·²ç»å¹´è¿ 30ï¼<code>离 35 å²è¿æ 5 å¹´å¤çæ¶é´</code>ï¼ä½ä»å欢天马è¡ç©ºä¹±ä¸å «ç³çæ³è±¡ï¼è¿ç¹ç»å¸¸è¢«åª³å¦å¿åæ§½ï¼åéå¨<a href="/life/buy-house-in-beijing.html">ä¹°æ¿åå</a>䏿³è±¡åæææ¶æã</p> 454<h2 id="ç±å¥½">ç±å¥½</h2> 455<ul> 456<li> 457<p>æ»æ¿ï¼é¿æ¿ï¼ä»£æ¥å·¥å ·</p> 458</li> 459<li> 460<p>å享ä¸è¥¿ï¼<a href="https://www.xheldon.cn">å½å 个人å客</a>ã<a href="https://www.xheldon.com">å½å¤ä¸ªäººå客</a></p> 461</li> 462<li> 463<p>æçµèãææºãæ¡é¢çä¸è¥¿åç±»çæ´æ´é½é½</p> 464</li> 465<li> 466<p>å½å å¤ç§å¹»å°è¯´ï¼åæ æ¬£çææå°è¯´é½çè¿ï¼æç±çä½å®¶æ¯é¿è¥¿è«å¤«</p> 467</li> 468<li> 469<p>ç¾çä¸è¥¿</p> 470</li> 471</ul> 472<h2 id="å¨ç©ç游æ">å¨ç©ç游æ</h2> 473<h3 id="pc-游æ">PC 游æ</h3> 474<ul> 475<li> 476<p><del>çç¥è¥å¹²æ³ä¸èµ·ååç</del></p> 477</li> 478<li> 479<p><del>红è²è¦æ</del></p> 480</li> 481<li> 482<p><del>åæ¡å½ 2ï¼å¯è游æï¼</del></p> 483</li> 484<li> 485<p><del>ææ 5</del></p> 486</li> 487</ul> 488<h3 id="ææ¸¸">ææ¸¸</h3> 489<ul> 490<li> 491<p><del>çç¥è¥å¹²æ³ä¸èµ·ååçï¼çè è£èåææ¸¸åºæ¬æ¯åæºæ¸¸æï¼</del></p> 492</li> 493<li> 494<p><del>çè è£è</del></p> 495</li> 496<li> 497<p>è±éèçææ¸¸ï¼å°æä½ é»åï¼ä¸æä½ï¼åªä¹±æï¼</p> 498</li> 499</ul> 500<h3 id="ä¸»æºæ¸¸æ">ä¸»æºæ¸¸æ</h3> 501<ul> 502<li> 503<p><del>å¡å°è¾¾ä¼ è¯´ï¼æ·é乿¯</del></p> 504</li> 505<li> 506<p><del>å¨ç©æ£®åä¼</del></p> 507</li> 508<li> 509<p><del>æç¥ 4</del></p> 510</li> 511<li> 512<p><del>åºç¹å¾ï¼æä¸ºäººç±»</del></p> 513</li> 514<li> 515<p><del>å人æè¡</del></p> 516</li> 517<li> 518<p>马é奥å¡ä¸è½¦ 8 èæºï¼æ¸¸æè¿æ¯è·æåä¸èµ·æå¥½ç©ï¼</p> 519</li> 520</ul> 521<h2 id="å¨çç书">å¨çç书</h2> 522<ul> 523<li> 524<p><del>çç¥è¥å¹²è®°ä¸èµ·æ¥ååç</del></p> 525</li> 526<li> 527<p><del>ä¸ä½</del></p> 528</li> 529<li> 530<p><del>ç¥ä»¬èªå·±</del></p> 531</li> 532<li> 533<p><del>æ°¸æçç»ç»</del></p> 534</li> 535<li> 536<p><del>éå°å¹³æ¶ä»£</del></p> 537</li> 538<li> 539<p><del>æ¯æ³½ä¸ä¼ </del></p> 540</li> 541<li> 542<p><del>ä¸ååäºå¹´</del></p> 543</li> 544<li> 545<p><del>èä¸å</del></p> 546</li> 547<li> 548<p><del>æ¯æ³½ä¸æé</del></p> 549</li> 550<li> 551<p><del>仿¹åäºä¸å½</del></p> 552</li> 553<li> 554<p>æ³æ²»çç»è</p> 555</li> 556</ul> 557<h2 id="å¨è¿½çå§">å¨è¿½çå§</h2> 558<h4 id="éªåª³å¦å¿çç">éªåª³å¦å¿çç:</h4> 559<ul> 560<li> 561<p><del>çç¥è¥å¹²è®°ä¸èµ·æ¥ååç</del></p> 562</li> 563<li> 564<p><del>åå¦ A 梦</del></p> 565</li> 566<li> 567<p><del>ç çæ¦</del></p> 568</li> 569<li> 570<p><del>æ¬å´</del></p> 571</li> 572<li> 573<p><del>æ½ä¼è </del></p> 574</li> 575<li> 576<p><del>å®å®¶</del></p> 577</li> 578<li> 579<p><del>京åçäº</del></p> 580</li> 581<li> 582<p><del>å¤§å® é¨</del></p> 583</li> 584<li> 585<p><del>ææ¯ä½ç§æ°´</del></p> 586</li> 587<li> 588<p><del>康ççæ</del></p> 589</li> 590<li> 591<p><del>çå¬ä¼ ï¼ç¬¬ N éï¼</del></p> 592</li> 593<li> 594<p><del>ç±æ å ¬å¯ 2</del></p> 595</li> 596<li> 597<p>~~æ¦æå¤ä¼ ï¼ç¬¬ N éï¼N >
597 10 å饿¶çï¼ ~~</p> 598</li> 599<li> 600<p><del>å½ççæå</del></p> 601</li> 602<li> 603<p><del>è¡ç¬å°æ°</del></p> 604</li> 605<li> 606<p><del>ååºç§å²</del></p> 607</li> 608<li> 609<p>é£å¹´è±å¼ææ£å</p> 610</li> 611</ul> 612<h4 id="èªå·±çç">èªå·±çç:</h4> 613<ul> 614<li> 615<p><del>ç«å½±å¿è </del></p> 616</li> 617<li> 618<p><del>ç³çºªå </del></p> 619</li> 620<li> 621<p><del>Rick and Morty</del></p> 622</li> 623<li> 624<p><del>JoJo çå¥å¦åé©(å¨ç»)</del></p> 625</li> 626<li> 627<p><del>JoJo çå¥å¦åé©ï¼ç¬¬ä¸é¨ï¼ï¼çäºå¼å¤´è¿æ²¡åºæ¿èº«ä½¿è ï¼çä¸ä¸å»äºå¿«ï¼</del></p> 628</li> 629<li> 630<p><del>JoJo çå¥å¦åé© ç³ä¹æµ·ï¼å¨æ¼«ï¼</del></p> 631</li> 632<li> 633<p><del>æ¶é人ï¼å¨æ¼«ï¼</del></p> 634</li> 635<li> 636<p>䏿³è¶ 人(漫ç»)</p> 637</li> 638</ul> 639<h2 id="个人çµå设å¤">个人çµå设å¤</h2> 640<ul> 641<li> 642<p><del>MacBook Pro 2015 15â Mid</del>ï¼å·²åï¼</p> 643</li> 644<li> 645<p>iMac 2017 21.5â ç¬æ¾ 256G <del>å®¶åºå ¬ç¨</del>ï¼åª³å¦å¿é¸å ï¼</p> 646</li> 647<li> 648<p><del>iPad Pro 2017 64G 10.5â</del> ï¼éèç¹ï¼</p> 649</li> 650<li> 651<p><del>Apple Pencil</del>
651 (ä¸ä»£ï¼éèç¹)</p> 652</li> 653<li> 654<p><del>iPhone 7 128G</del> (éç¹)</p> 655</li> 656<li> 657<p><del>iPhone X 64G</del>ï¼é䏿¯å¨ï¼</p> 658</li> 659<li> 660<p><del>iPhone XS Max 256G</del>ï¼å·²åï¼</p> 661</li> 662<li> 663<p>MacBook Pro <del>2017 13â 8G 1.4G HZ</del> 2020 M1 16G(å ¬å¸åç)</p> 664</li> 665<li> 666<p>Mac Studio 2022 M1 Max 64G</p> 667</li> 668<li> 669<p>iPad Pro 2021 256G M1 ç</p> 670</li> 671<li> 672<p>Apple Pencil äºä»£ï¼å®¶åºå ¬ç¨ï¼åª³å¦å¿æä¸ª iPad Pro 2020 款ï¼</p> 673</li> 674<li> 675<p>Apple TV 2021 4K 32G çï¼æ¸¯çï¼</p> 676</li> 677<li> 678<p>Sony 65X90J 4K çµè§ï¼å½è¡çï¼</p> 679</li> 680<li> 681<p>iPhone 11 Pro Max 256G</p> 682</li> 683<li> 684<p>Apple Watch 5</p> 685</li> 686<li> 687<p>AirPods 2</p> 688</li> 689<li> 690<p>Canon 600D</p> 691</li> 692<li> 693<p>Canon EF 50mm f/1.8 STM ååæ åå®ç¦é头</p> 694</li> 695<li> 696<p>Canon åç¦é头(åå·å¿äº)</p> 697</li> 698<li> 699<p>Switch(2019 later)</p> 700</li> 701<li> 702<p>PS5 å½è¡ + åææ</p> 703</li> 704</ul> 705<h2 id="å¤è®¾">å¤è®¾</h2> 706<ul> 707<li> 708<p>HHKB Professional2 Type S White(å¨å®¶ç¨)</p> 709</li> 710<li> 711<p>HHKB Professional2 (å¨å ¬å¸ç¨)</p> 712</li> 713<li> 714<p>Razer DeathAdder</p> 715</li> 716<li> 717<p>Apple Magic Mouse 2</p> 718</li> 719<li> 720<p>~~Dell U2518D 2k æ¾ç¤ºå¨ ~~ï¼åäºï¼</p> 721</li> 722<li> 723<p>ViewSonic VX2780-4K-HDU æ¾ç¤ºå¨</p> 724</li> 725<li> 726<p>iQunix E-Stand ç¬è®°æ¬æ¯æ¶</p> 727</li> 728<li> 729<p>ç±å¦ W1 æ 线å çµå¨</p> 730</li> 731<li> 732<p>Sony SRS-X88 èçé³å</p> 733</li> 734<li> 735<p>Sony 100ABN è³æº</p> 736</li> 737<li> 738<p>Sony MDR 1000X</p> 739</li> 740<li> 741<p>Sony PS5 ææå çµåºåº§</p> 742</li> 743<li> 744<p><del>NetGear R6300V2 è·¯ç±å¨</del> ï¼ä¹°çæ·å®æ´åå¾ï¼ä¿¡å·æ¨çé½ä¸æ»¡æ ¼ï¼ä¸ç¨äºï¼</p> 745</li> 746<li> 747<p>ZTE ä¸å ´çé£ä¸ªä¾¿å®è·¯ç±å¨ï¼åå·å¿äºï¼åèé宽带éçï¼ææ¸¸æå»¶è¿æ¯è¾ä½ï¼</p> 748</li> 749<li> 750<p>NanoPi R4S</p> 751</li> 752</ul> 753<h2 id="ç¹å«å£°æ">ç¹å«å£°æ</h2> 754<p>æ¬å客åªè¡¨è¾¾ä¸ªäººè§ç¹ï¼ä¸ä»£è¡¨å ¬å¸è§ç¹åç«åºï¼è¯·å¿ä¸çº²ä¸çº¿ã</p> 755<p>微信订é å·åç§°ï¼æå°±åå</p> 756<p>微信订é å·ï¼CoderXheldon</p> 757<p>èç³»æè¯·åé®ç®±: c1006044256[at]<a href="https://gmail.com">gmail.com</a></p> 758<p>Telegram 群ç»ï¼<a href="https://t.me/xheldon_saloon">https://t.me/xheldon_saloon</a></p> 759 760 761 </div> 762 763 764 <div class="text-danger">- EOF -</div> 765 <div style="font-size: 12px; color: #ccc!important;">æ¬ææå åå¸å¨: <a style="color: #ccc;" 766 href="https://www.xheldon.com/about/" 767 title="åºæ¬æ 害"> 768 åºæ¬æ 害 - Xheldon Blog 769 </a></div> 770 <hr style="visibility: hidden;"> 771 <div class="giscus"></div> 772 <hr> 773 774 </div> 775 <div class=" 776 col-lg-3 col-lg-offset-0 777 col-md-3 col-md-offset-0 778 col-sm-12 779 col-xs-12 780 sidebar-container 781 "> 782 783<section style="margin-bottom: 20px;"> 784 <h5>å主说ï¼</h5> 785 <div> 786 <img style="float: right; max-width: 120px; max-height: 120px; margin-right: 5px; margin-top: -45px;" src="/img/gwechat.png" /> 787 æå¸¸å¸¸å¸æå¨é¢å¯¹äººçä¸ä¸äºå ³é®ææ©çæ¶åï¼æäººå¯ä»¥åè¯ææä½³çåæ³ï¼è®©æä¸è³äºç½ç½æµªè´¹å®è´µçæ¶é´ãæ¨å·±åäººï¼æå æ¤ç»å¸¸åå客ï¼ä»¥æå¨æµ©æ¸ºæ å çäºèç½ä¸çè¿ä¸ªå°å°è§è½éè®°å½ä¸å¯¹äºææ¥è¯´åªæä¸æ¬¡ç人çç»åï¼å¸æè½å¤å¸®å°é£äºå¸æå¾å°å¸®å©ç人ã 788 </div> 789 <hr> 790 791 <h5><a href="/archive/">ç鍿 ç¾</a></h5> 792 <div class="tags"> 793 794 795 796 <a data-sort="0124" 797 href="/archive/?tag=%E6%8A%80%E6%9C%AF" 798 title="ææ¯" 799 rel="188">ææ¯</a> 800 801 <a data-sort="0200" 802 href="/archive/?tag=%E7%94%9F%E6%B4%BB" 803 title="çæ´»" 804 rel="112">çæ´»</a> 805 806 <a data-sort="0268" 807 href="/archive/?tag=%E6%8A%98%E8%85%BE" 808 title="æè ¾" 809 rel="44">æè ¾</a> 810 811 <a data-sort="0280" 812 href="/archive/?tag=%E6%8A%80%E5%B7%A7" 813 title="æå·§" 814 rel="32">æå·§</a> 815 816 <a data-sort="0280" 817 href="/archive/?tag=%E6%95%99%E7%A8%8B" 818 title="æç¨" 819 rel="32">æç¨</a> 820 821 <a data-sort="0288" 822 href="/archive/?tag=%E7%BF%BB%E8%AF%91" 823 title="ç¿»è¯" 824 rel="24">ç¿»è¯</a> 825 826 <a data-sort="0288" 827 href="/archive/?tag=Apple"
828 title="Apple" 829 rel="24">Apple</a> 830 831 <a data-sort="0292" 832 href="/archive/?tag=%E7%BB%8F%E9%AA%8C" 833 title="ç»éª" 834 rel="20">ç»éª</a> 835 836 <a data-sort="0292" 837 href="/archive/?tag=%E7%BE%8E%E9%A3%9F" 838 title="ç¾é£" 839 rel="20">ç¾é£</a> 840 841 <a data-sort="0292" 842 href="/archive/?tag=ProseMirror" 843 title="ProseMirror" 844 rel="20">ProseMirror</a> 845 846 <a data-sort="0296" 847 href="/archive/?tag=%E5%88%9D%E4%BD%93%E9%AA%8C" 848 title="åä½éª" 849 rel="16">åä½éª</a> 850 851 <a data-sort="0296" 852 href="/archive/?tag=%E5%B7%A5%E4%BD%9C%E6%B5%81" 853 title="工使µ" 854 rel="16">工使µ</a> 855 856 <a data-sort="0296" 857 href="/archive/?tag=%E6%8F%92%E4%BB%B6" 858 title="æä»¶" 859 rel="16">æä»¶</a> 860 861 <a data-sort="0296" 862 href="/archive/?tag=%E7%BD%91%E7%BB%9C" 863 title="ç½ç»" 864 rel="16">ç½ç»</a> 865 866 <a data-sort="0296" 867 href="/archive/?tag=%E8%8B%B9%E6%9E%9C" 868 title="è¹æ" 869 rel="16">è¹æ</a> 870 871 <a data-sort="0296" 872 href="/archive/?tag=Craft" 873 title="Craft" 874 rel="16">Craft</a> 875 876 <a data-sort="0296" 877 href="/archive/?tag=JavaScript" 878 title="JavaScript" 879 rel="16">JavaScript</a> 880 881 <a data-sort="0296" 882 href="/archive/?tag=Vue" 883 title="Vue" 884 rel="16">Vue</a> 885 886 <a data-sort="0300" 887 href="/archive/?tag=%E4%BD%BF%E7%94%A8%E4%BD%93%E9%AA%8C" 888 title="使ç¨ä½éª" 889 rel="12">使ç¨ä½éª</a> 890 891 <a data-sort="0300" 892 href="/archive/?tag=%E6%80%BB%E7%BB%93" 893 title="æ»ç»" 894 rel="12">æ»ç»</a> 895 896 <a data-sort="0300" 897 href="/archive/?tag=%E6%9C%8D%E5%8A%A1%E5%99%A8" 898 title="æå¡å¨" 899 rel="12">æå¡å¨</a> 900 901 <a data-sort="0300" 902 href="/archive/?tag=%E8%B7%AF%E7%94%B1%E5%99%A8" 903 title="è·¯ç±å¨" 904 rel="12">è·¯ç±å¨</a> 905 906 <a data-sort="0300" 907 href="/archive/?tag=%E8%BD%AF%E8%B7%AF%E7%94%B1" 908 title="软路ç±" 909 rel="12">软路ç±</a> 910 911 <a data-sort="0300" 912 href="/archive/?tag=%E9%9A%8F%E7%AC%94" 913 title="éç¬" 914 rel="12">éç¬</a> 915 916 <a data-sort="0300" 917 href="/archive/?tag=%E9%9B%86%E6%88%90" 918 title="éæ" 919 rel="12">éæ</a> 920 921 <a data-sort="0300" 922 href="/archive/?tag=Git" 923 title="Git" 924 rel="12">Git</a> 925 926 <a data-sort="0304" 927 href="/archive/?tag=%E4%B8%BB%E9%A3%9F" 928 title="主é£" 929 rel="8">主é£</a> 930 931 <a data-sort="0304" 932 href="/archive/?tag=%E4%BC%98%E5%8C%96" 933 title="ä¼å" 934 rel="8">ä¼å</a> 935 936 <a data-sort="0304" 937 href="/archive/?tag=%E5%8D%83%E5%85%86" 938 title="åå " 939 rel="8">åå </a> 940 941 <a data-sort="0304" 942 href="/archive/?tag=%E5%A4%A7%E4%BA%8B" 943 title="大äº" 944 rel="8">大äº</a> 945 946 <a data-sort="0304" 947 href="/archive/?tag=%E5%B7%A5%E5%85%B7" 948 title="å·¥å ·" 949 rel="8">å·¥å ·</a> 950 951 <a data-sort="0304" 952 href="/archive/?tag=%E6%97%81%E8%B7%AF%E7%94%B1" 953 title="æè·¯ç±" 954 rel="8">æè·¯ç±</a> 955 956 <a data-sort="0304" 957 href="/archive/?tag=%E6%A1%86%E6%9E%B6" 958 title="æ¡æ¶" 959 rel="8">æ¡æ¶</a> 960 961 <a data-sort="0304" 962 href="/archive/?tag=%E6%B3%A1%E8%84%9A%E6%97%B6%E9%97%B4" 963 title="æ³¡èæ¶é´" 964 rel="8">æ³¡èæ¶é´</a> 965 966 <a data-sort="0304" 967 href="/archive/?tag=%E6%B5%8B%E8%AF%95" 968 title="æµè¯" 969 rel="8">æµè¯</a> 970 971 <a data-sort="0304" 972 href="/archive/?tag=%E7%89%B9%E6%96%AF%E6%8B%89" 973 title="ç¹æ¯æ" 974 rel="8">ç¹æ¯æ</a> 975 976 <a data-sort="0304" 977 href="/archive/?tag=%E7%BC%96%E8%BE%91%E5%99%A8" 978 title="ç¼è¾å¨" 979 rel="8">ç¼è¾å¨</a> 980 981 <a data-sort="0304" 982 href="/archive/?tag=%E8%A7%86%E9%A2%91"
983 title="è§é¢" 984 rel="8">è§é¢</a> 985 986 <a data-sort="0304" 987 href="/archive/?tag=%E8%B0%83%E8%AF%95" 988 title="è°è¯" 989 rel="8">è°è¯</a> 990 991 <a data-sort="0304" 992 href="/archive/?tag=%E8%BD%A6" 993 title="车" 994 rel="8">车</a> 995 996 <a data-sort="0304" 997 href="/archive/?tag=%E8%BF%81%E7%A7%BB" 998 title="è¿ç§»" 999 rel="8">è¿ç§»</a> 1000 1001 <a data-sort="0304" 1002 href="/archive/?tag=AI" 1003 title="AI" 1004 rel="8">AI</a> 1005 1006 <a data-sort="0304" 1007 href="/archive/?tag=AppleScript" 1008 title="AppleScript" 1009 rel="8">AppleScript</a> 1010 1011 <a data-sort="0304" 1012 href="/archive/?tag=CI" 1013 title="CI" 1014 rel="8">CI</a> 1015 1016 <a data-sort="0304" 1017 href="/archive/?tag=GitHub" 1018 title="GitHub" 1019 rel="8">GitHub</a> 1020 1021 <a data-sort="0304" 1022 href="/archive/?tag=Jekyll" 1023 title="Jekyll" 1024 rel="8">Jekyll</a> 1025 1026 <a data-sort="0304" 1027 href="/archive/?tag=Notion" 1028 title="Notion" 1029 rel="8">Notion</a> 1030 1031 <a data-sort="0304" 1032 href="/archive/?tag=VSCode" 1033 title="VSCode" 1034 rel="8">VSCode</a> 1035 1036 <a data-sort="0308" 1037 href="/archive/?tag=%E4%B8%9C%E5%8C%97%E8%8F%9C" 1038 title="ä¸åè" 1039 rel="4">ä¸åè</a> 1040 1041 <a data-sort="0308" 1042 href="/archive/?tag=%E4%B9%B0%E6%88%BF" 1043 title="ä¹°æ¿" 1044 rel="4">ä¹°æ¿</a> 1045 1046 <a data-sort="0308" 1047 href="/archive/?tag=%E4%BB%A3%E7%90%86" 1048 title="代ç" 1049 rel="4">代ç</a> 1050 1051 <a data-sort="0308" 1052 href="/archive/?tag=%E5%85%A8%E6%A0%88" 1053 title="å ¨æ " 1054 rel="4">å ¨æ </a> 1055 1056 <a data-sort="0308" 1057 href="/archive/?tag=%E5%8C%97%E6%AC%A7%E7%A5%9E%E8%AF%9D" 1058 title="忬§ç¥è¯" 1059 rel="4">忬§ç¥è¯</a> 1060 1061 <a data-sort="0308" 1062 href="/archive/?tag=%E5%8D%8F%E5%90%8C" 1063 title="åå" 1064 rel="4">åå</a> 1065 1066 <a data-sort="0308" 1067 href="/archive/?tag=%E5%8E%8B%E7%BC%A9" 1068 title="å缩" 1069 rel="4">å缩</a> 1070 1071 <a data-sort="0308" 1072 href="/archive/?tag=%E5%A5%8E%E6%89%98%E6%96%AF" 1073 title="奿æ¯" 1074 rel="4">奿æ¯</a> 1075 1076 <a data-sort="0308" 1077 href="/archive/?tag=%E5%AE%B6%E5%B8%B8%E8%8F%9C" 1078 title="家常è" 1079 rel="4">家常è</a> 1080 1081 <a data-sort="0308" 1082 href="/archive/?tag=%E5%AF%8C%E5%BC%BA" 1083 title="å¯å¼º" 1084 rel="4">å¯å¼º</a> 1085 1086 <a data-sort="0308" 1087 href="/archive/?tag=%E5%AF%B9%E6%AF%94" 1088 title="对æ¯" 1089 rel="4">对æ¯</a> 1090 1091 <a data-sort="0308" 1092 href="/archive/?tag=%E5%B7%9D%E8%8F%9C" 1093 title="å·è" 1094 rel="4">å·è</a> 1095 1096 <a data-sort="0308" 1097 href="/archive/?tag=%E5%B7%A5%E4%BD%9C%E7%BB%8F%E9%AA%8C" 1098 title="å·¥ä½ç»éª" 1099 rel="4">å·¥ä½ç»éª</a> 1100 1101 <a data-sort="0308" 1102 href="/archive/?tag=%E5%B8%8C%E8%85%8A%E7%A5%9E%E8%AF%9D" 1103 title="å¸è ç¥è¯" 1104 rel="4">å¸è ç¥è¯</a> 1105 1106 <a data-sort="0308" 1107 href="/archive/?tag=%E5%B8%B8%E7%94%A8%E8%BD%AF%E4%BB%B6" 1108 title="常ç¨è½¯ä»¶" 1109 rel="4">常ç¨è½¯ä»¶</a> 1110 1111 <a data-sort="0308" 1112 href="/archive/?tag=%E5%BC%80%E6%BA%90" 1113 title="弿º" 1114 rel="4">弿º</a> 1115 1116 <a data-sort="0308" 1117 href="/archive/?tag=%E5%BC%80%E7%AE%B1" 1118 title="å¼ç®±" 1119 rel="4">å¼ç®±</a> 1120 1121 <a data-sort="0308" 1122 href="/archive/?tag=%E5%BF%83%E5%BE%97" 1123 title="å¿å¾" 1124 rel="4">å¿å¾</a> 1125 1126 <a data-sort="0308" 1127 href="/archive/?tag=%E6%83%B3%E6%B3%95" 1128 title="æ³æ³" 1129 rel="4">æ³æ³</a> 1130 1131 <a data-sort="0308" 1132 href="/archive/?tag=%E6%84%9F%E6%83%B3" 1133 title="ææ³" 1134 rel="4">ææ³</a> 1135 1136 <a data-sort="0308" 1137 href="/archive/?tag=%E6%88%98%E7%A5%9E" 1138 title="æç¥" 1139 rel="4">æç¥</a> 1140 1141 <a data-sort="0308" 1142 href="/archive/?tag=%E6%89%8B%E6%9C%BA%E5%8D%A1" 1143 title="ææºå¡" 1144 rel="4">ææºå¡</a> 1145 1146 <a data-sort="0308" 1147 href="/archive/?tag=%E6%8B%93%E6%89%91" 1148 title="ææ" 1149 rel="4">ææ</a> 1150 1151 <a data-sort="0308" 1152 href="/archive/?tag=%E6%95%85%E4%BA%8B" 1153 title="æ äº" 1154 rel="4">æ äº</a> 1155 1156 <a data-sort="0308" 1157 href="/archive/?tag=%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84" 1158 title="æ°æ®ç»æ" 1159 rel="4">æ°æ®ç»æ</a> 1160 1161 <a data-sort="0308" 1162 href="/archive/?tag=%E6%97%85%E8%A1%8C"
1163 title="æ è¡" 1164 rel="4">æ è¡</a> 1165 1166 <a data-sort="0308" 1167 href="/archive/?tag=%E6%97%A5%E5%B8%B8" 1168 title="æ¥å¸¸" 1169 rel="4">æ¥å¸¸</a> 1170 1171 <a data-sort="0308" 1172 href="/archive/?tag=%E6%97%A5%E6%9C%AC" 1173 title="æ¥æ¬" 1174 rel="4">æ¥æ¬</a> 1175 1176 <a data-sort="0308" 1177 href="/archive/?tag=%E6%9C%8D%E5%8A%A1" 1178 title="æå¡" 1179 rel="4">æå¡</a> 1180 1181 <a data-sort="0308" 1182 href="/archive/?tag=%E6%A0%BC%E5%BC%8F" 1183 title="æ ¼å¼" 1184 rel="4">æ ¼å¼</a> 1185 1186 <a data-sort="0308" 1187 href="/archive/?tag=%E6%A2%A6" 1188 title="梦" 1189 rel="4">梦</a> 1190 1191 <a data-sort="0308" 1192 href="/archive/?tag=%E6%B5%8F%E8%A7%88%E5%99%A8" 1193 title="æµè§å¨" 1194 rel="4">æµè§å¨</a> 1195 1196 <a data-sort="0308" 1197 href="/archive/?tag=%E6%B8%B8%E6%88%8F" 1198 title="游æ" 1199 rel="4">游æ</a> 1200 1201 <a data-sort="0308" 1202 href="/archive/?tag=%E7%89%A2%E9%AA%9A" 1203 title="ç¢éª" 1204 rel="4">ç¢éª</a> 1205 1206 <a data-sort="0308" 1207 href="/archive/?tag=%E7%94%A8%E6%88%B7%E9%9A%90%E7%A7%81" 1208 title="ç¨æ·éç§" 1209 rel="4">ç¨æ·éç§</a> 1210 1211 <a data-sort="0308" 1212 href="/archive/?tag=%E7%AE%97%E6%B3%95" 1213 title="ç®æ³" 1214 rel="4">ç®æ³</a> 1215 1216 <a data-sort="0308" 1217 href="/archive/?tag=%E7%BB%86%E8%8A%82" 1218 title="ç»è" 1219 rel="4">ç»è</a> 1220 1221 <a data-sort="0308" 1222 href="/archive/?tag=%E8%80%B3%E6%9C%BA" 1223 title="è³æº" 1224 rel="4">è³æº</a> 1225 1226 <a data-sort="0308" 1227 href="/archive/?tag=%E8%87%AA%E7%94%B1" 1228 title="èªç±" 1229 rel="4">èªç±</a> 1230 1231 <a data-sort="0308" 1232 href="/archive/?tag=%E8%AE%A1%E5%88%92" 1233 title="计å" 1234 rel="4">计å</a> 1235 1236 <a data-sort="0308" 1237 href="/archive/?tag=%E8%AE%BE%E7%BD%AE" 1238 title="设置" 1239 rel="4">设置</a> 1240 1241 <a data-sort="0308" 1242 href="/archive/?tag=%E8%B8%A9%E5%9D%91" 1243 title="踩å" 1244 rel="4">踩å</a> 1245 1246 <a data-sort="0308" 1247 href="/archive/?tag=%E8%BD%AC%E6%8D%A2" 1248 title="转æ¢" 1249 rel="4">转æ¢</a> 1250 1251 <a data-sort="0308" 1252 href="/archive/?tag=%E9%80%89%E5%9E%8B" 1253 title="éå" 1254 rel="4">éå</a> 1255 1256 <a data-sort="0308" 1257 href="/archive/?tag=%E9%95%BF%E9%9D%92" 1258 title="é¿é" 1259 rel="4">é¿é</a> 1260 1261 <a data-sort="0308" 1262 href="/archive/?tag=%E9%9D%A2%E8%AF%95" 1263 title="é¢è¯" 1264 rel="4">é¢è¯</a> 1265 1266 <a data-sort="0308" 1267 href="/archive/?tag=2022" 1268 title="2022" 1269 rel="4">2022</a> 1270 1271 <a data-sort="0308" 1272 href="/archive/?tag=C" 1273 title="C" 1274 rel="4">C</a> 1275 1276 <a data-sort="0308" 1277 href="/archive/?tag=Chrome" 1278 title="Chrome" 1279 rel="4">Chrome</a> 1280 1281 <a data-sort="0308" 1282 href="/archive/?tag=Clash" 1283 title="Clash" 1284 rel="4">Clash</a> 1285 1286 <a data-sort="0308" 1287 href="/archive/?tag=CORS" 1288 title="CORS" 1289 rel="4">CORS</a> 1290 1291 <a data-sort="0308" 1292 href="/archive/?tag=ES6" 1293 title="ES6" 1294 rel="4">ES6</a> 1295 1296 <a data-sort="0308" 1297 href="/archive/?tag=Evernote" 1298 title="Evernote" 1299 rel="4">Evernote</a> 1300 1301 <a data-sort="0308" 1302 href="/archive/?tag=Linux" 1303 title="Linux" 1304 rel="4">Linux</a> 1305 1306 <a data-sort="0308" 1307 href="/archive/?tag=Nginx" 1308 title="Nginx" 1309 rel="4">Nginx</a> 1310 1311 <a data-sort="0308" 1312 href="/archive/?tag=Promise" 1313 title="Promise" 1314 rel="4">Promise</a> 1315 1316 <a data-sort="0308" 1317 href="/archive/?tag=R4S" 1318 title="R4S" 1319 rel="4">R4S</a> 1320 1321 <a data-sort="0308" 1322 href="/archive/?tag=Router" 1323 title="Router" 1324 rel="4">Router</a> 1325 1326 <a data-sort="0308" 1327 href="/archive/?tag=SDK" 1328 title="SDK" 1329 rel="4">SDK</a> 1330 1331 <a data-sort="0308" 1332 href="/archive/?tag=SlateJS" 1333 title="SlateJS" 1334 rel="4">SlateJS</a> 1335 1336 <a data-sort="0308" 1337 href="/archive/?tag=SPA" 1338 title="SPA" 1339 rel="4">SPA</a> 1340 1341 <a data-sort="0308" 1342 href="/archive/?tag=Swift" 1343 title="Swift" 1344 rel="4">Swift</a> 1345 1346 <a data-sort="0308" 1347 href="/archive/?tag=TeslaMate" 1348 title="TeslaMate" 1349 rel="4">TeslaMate</a> 1350 1351 <a data-sort="0308" 1352 href="/archive/?tag=Web" 1353 title="Web" 1354 rel="4">Web</a> 1355 1356 <a data-sort="0308" 1357 href="/archive/?tag=Webpack" 1358 title="Webpack" 1359 rel="4">Webpack</a> 1360 1361 <a data-sort="0308" 1362 href="/archive/?tag=Windows" 1363 title="Windows" 1364 rel="4">Windows</a> 1365 1366 <a data-sort="0308" 1367 href="/archive/?tag=XCode" 1368 title="XCode" 1369 rel="4">
1369XCode</a> 1370 1371 </div> 1372 <hr> 1373 <h5>䏿 </h5> 1374 <div class="tags"> 1375 <a href="/projects/">弿ºé¡¹ç®</a> 1376 <a href="/book-list/">ææ¯ä¹¦å</a> 1377 <a href="/subscribe/">订é &ä»è´¹è½¯ä»¶</a> 1378 <a href="/my-food/">ç¾é£æ¨è</a> 1379 </div> 1380</section> 1381 1382 <!-- <hr class="twitter-timeline-hr"> 1383<iframe class="twitter-timeline" src="https://wb.xheldon.cn" style="height: 1700px;width: 100%;border: none;"></iframe> --> 1384 1385 <hr> 1386 <h5>æå们</h5> 1387 <ul class="list-inline"> 1388 1389 <li><a href="https://prosemirror.xheldon.com" target="_blank"> 1390 ProseMirror 䏿 1391 </a></li> 1392 1393 <li><a href="https://rust.xheldon.com" target="_blank"> 1394 Rust 䏿 1395 </a></li> 1396 1397 <li><a href="https://slate.xheldon.com" target="_blank"> 1398 Slate 䏿 1399 </a></li> 1400 1401 <li><a href="https://notion-flow.xheldon.com" target="_blank"> 1402 Notion Flow 1403 </a></li> 1404 1405 <li><a href="https://xpic.xheldon.com" target="_blank"> 1406 xPic 1407 </a></li> 1408 1409 <li><a href="https://appledocs.dev" target="_blank"> 1410 Apple Dev Docs Translation 1411 </a></li> 1412 1413 1414 <li><a href="https://www.xheldon.cn" target="_blank">å½å ç</a></li> 1415 1416 </ul> 1417 1418 </div> 1419 1420 1421 </div> 1422 </div> 1423 1424 1425
1425<script src="https://giscus.app/client.js" 1426 data-repo="Xheldon/x_blog" 1427 data-repo-id="MDEwOlJlcG9zaXRvcnk1MDgyODA3Ng==" 1428 data-category="Announcements" 1429 data-category-id="DIC_kwDOAweTLM4B_uhM" 1430 data-mapping="specific" 1431 data-term="åºæ¬æ 害" 1432 data-strict="0" 1433 data-reactions-enabled="1" 1434 data-emit-metadata="0" 1435 data-input-position="top" 1436 data-theme="preferred_color_scheme" 1437 data-lang="zh-CN" 1438 data-loading="lazy" 1439 crossorigin="anonymous" 1440 async> 1441</script>
1441 1442 1443 1444 1445 1446 <!-- async load function --> 1447
1447<script> 1448 function async(u, c) { 1449 var d = document, 1450 t = 'script', 1451 o = d.createElement(t), 1452 s = d.getElementsByTagName(t)[0]; 1453 o.src = u; 1454 if (c) { 1455 o.addEventListener('load', function (e) { 1456 c(null, e); 1457 }, false); 1458 } 1459 s.parentNode.insertBefore(o, s); 1460 } 1461 </script>
1461 1462 <!-- anchor-js, Doc:http://bryanbraun.github.io/anchorjs/ --> 1463
1463<script> 1464 async("/js/anchor.min.js", function () { 1465 anchors.options = { 1466 visible: 'hover', 1467 placement: 'right', 1468 // icon: '#' 1469 }; 1470 anchors.add().remove('.intro-header h1').remove('.subheading').remove('.sidebar-container h5'); 1471 }) 1472 </script>
1472 1473 <style> 1474 /* place left on bigger screen */ 1475 @media all and (min-width: 800px) { 1476 .anchorjs-link { 1477 position: absolute; 1478 left: -0.75em; 1479 font-size: 1.1em; 1480 margin-top: -0.1em; 1481 } 1482 } 1483 </style> 1484 1485 1486 <!-- Footer --> 1487 <footer> 1488 <div class="container"> 1489 <div class="row"> 1490 <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 1491 <!-- @param {Boolean} center --> 1492 1493<ul class="list-inline text-center"> 1494 1495 <li> 1496 <a target="_blank" href="https://twitter.com/_xheldon"> 1497 <span class="fa-stack fa-lg"> 1498 <i class="fa fa-circle fa-stack-2x"></i> 1499 <i class="fa fa-twitter fa-stack-1x fa-inverse"></i> 1500 </span> 1501 </a> 1502 </li> 1503 1504 <li> 1505 <a target="_blank" href="http://weibo.com/xheldon"> 1506 <span class="fa-stack fa-lg"> 1507 <i class="fa fa-circle fa-stack-2x"></i> 1508 <i class="fa fa-weibo fa-stack-1x fa-inverse"></i> 1509 </span> 1510 </a> 1511 </li> 1512 1513 <li> 1514 <a 1515 target="_blank" 1516 href="https://www.youtube.com/@xheldon" 1517 > 1518 <span class="fa-stack fa-lg"> 1519 <i class="fa fa-circle fa-stack-2x"></i> 1520 <i class="fa fa-youtube fa-stack-1x fa-inverse"></i> 1521 </span> 1522 </a> 1523 </li> 1524 1525 <li> 1526 <a 1527 target="_blank" 1528 href="https://space.bilibili.com/13835416" 1529 > 1530 <span class="fa-stack fa-lg"> 1531 <i class="fa fa-circle fa-stack-2x"></i> 1532 <i class="fa fa-youtube-play fa-stack-1x fa-inverse"></i> 1533 </span> 1534 </a> 1535 </li> 1536 1537 <li> 1538 <a target="_blank" href="https://t.me/xheldon_tech"> 1539 <span class="fa-stack fa-lg"> 1540 <i class="fa fa-circle fa-stack-2x"></i> 1541 <i class="fa fa-plane fa-stack-1x fa-inverse"></i> 1542 </span> 1543 </a> 1544 </li> 1545 1546 </ul> 1547</ul> 1548 1549 <p class="copyright text-muted"> 1550 Copyright © 1551 <a href="https://github.com/Xheldon" target="_blank">Xheldon</a> 1552 2026 1553 <br /> 1554 Don't Panic | Theme fork from 1555 <a href="https://github.com/Huxpro/huxpro.github.io" target="_blank" 1556 >Hux</a 1557 > 1558 <br /> 1559 1560 </p> 1561 </div> 1562 </div> 1563 </div> 1564</footer>
1565<script> 1566 if (window.matchMedia('(prefers-color-scheme)').media === 'not all') { 1567 console.log('æµè§å¨ä¸æ¯æä¸»é¢è²'); 1568 } else { 1569 if (window.matchMedia('(prefers-color-scheme: dark)').matches) { 1570 document.documentElement.classList.remove('light'); 1571 document.documentElement.classList.add('dark'); 1572 // Note: æ¨ç¹åè¡¨æ·»å æé»ä¸»é¢ 1573 let ttl = document.querySelector('.twitter-timeline'); 1574 if (ttl) { 1575 ttl.setAttribute('data-theme', 'dark'); 1576 } 1577 } 1578 if (window.matchMedia('(prefers-color-scheme: light)').matches) { 1579 document.documentElement.classList.remove('dark'); 1580 document.documentElement.classList.add('light'); 1581 let ttl = document.querySelector('.twitter-timeline'); 1582 if (ttl) { 1583 ttl.removeAttribute('data-theme'); 1584 } 1585 } 1586 // document.getElementById('dark-mode').addEventListener('click', function() { 1587 // document.documentElement.classList.remove('light'); 1588 // document.documentElement.classList.add('dark'); 1589 // }); 1590 // document.getElementById('light-mode').addEventListener('click', function() { 1591 // document.documentElement.classList.add('light'); 1592 // document.documentElement.classList.remove('dark'); 1593 // }); 1594 // Note: èªå¨åæ¢ 1595 window 1596 .matchMedia('(prefers-color-scheme: dark)') 1597 .addListener(function (mediaQueryList) { 1598 if (mediaQueryList.matches) { 1599 document.documentElement.classList.add('dark'); 1600 document.documentElement.classList.remove('light'); 1601 } 1602 }); 1603 window 1604 .matchMedia('(prefers-color-scheme: light)') 1605 .addListener(function (mediaQueryList) { 1606 if (mediaQueryList.matches) { 1607 document.documentElement.classList.add('light'); 1608 document.documentElement.classList.remove('dark'); 1609 } 1610 }); 1611 } 1612</script>
1612 1613 1614<!-- jQuery -->
1615<script src="/js/jquery.min.js"></script>
1615 1616 1617<!-- Bootstrap Core JavaScript -->
1618<script src="/js/bootstrap.min.js"></script>
1618 1619 1620<!-- Custom Theme JavaScript -->
1621<script src="/js/xblog.min.js?v=75a58ec0"></script>
1621 1622 1623<!-- Simple Jekyll Search å¤å¶é»è¾ -->
1624<script defer src="/js/simple-jekyll-search.min.js"></script>
1624 1625 1626<!-- Service Worker ä¸è¦äºï¼ä¸ç¶æ»å¼¹é£ä¸ªèµæºæ´æ°çæé®ï¼å¾ç¦ --> 1627 1628<!-- async load function -->
1629<script> 1630 function async(u, c) { 1631 var d = document, 1632 t = 'script', 1633 o = d.createElement(t), 1634 s = d.getElementsByTagName(t)[0]; 1635 o.src = u; 1636 if (c) { 1637 o.addEventListener( 1638 'load', 1639 function (e) { 1640 c(null, e); 1641 }, 1642 false 1643 ); 1644 } 1645 s.parentNode.insertBefore(o, s); 1646 } 1647</script>
1647 1648 1649<!-- TODO: åå客ççæä¸ªå« plchart çä¸è¥¿ï¼ä¸ç¥éæ¯å¥ï¼ä¹æ²¡æç¨ï¼å ä¸ç®¡äº --> 1650 1651<!-- jquery.tagcloud.js --> 1652 1653 1654<!--fastClick.js -->
1655<script> 1656 async('/js/fastclick.min.js', function () { 1657 var $nav = document.querySelector('nav'); 1658 if ($nav) FastClick.attach($nav); 1659 }); 1660</script>
1660 1661 1662<!-- Google Analytics --> 1663 1664 <!-- about å donate åé¦é¡µä¸æ¾ç¤ºå¹¿å --> 1665 1666 1667 1668<!-- Side Catalog --> 1669
1670<script type="text/javascript"> 1671 function generateCatalog(selector) { 1672 // TODO: å¤è¯ç§æ²¡æè¿ç§»è¿æ¥ 1673 // init 1674 var P = $('div.post-container'), 1675 a, 1676 n, 1677 t, 1678 l, 1679 i, 1680 c; 1681 a = P.find('h1,h2,h3,h4,h5,h6'); 1682 1683 // clean 1684 $(selector).html(''); 1685 1686 // appending 1687 a.each(function () { 1688 n = $(this).prop('tagName').toLowerCase(); 1689 i = '#' + $(this).prop('id'); 1690 t = $(this).text(); 1691 c = $('<a href="' + i + '" rel="nofollow">' + t + '</a>'); 1692 l = $('<li class="' + n + '_nav"></li>').append(c); 1693 $(selector).append(l); 1694 }); 1695 return true; 1696 } 1697 1698 generateCatalog('.catalog-body'); 1699 1700 // toggle side catalog 1701 $('.catalog-toggle').click(function (e) { 1702 e.preventDefault(); 1703 $('.side-catalog').toggleClass('fold'); 1704 }); 1705 1706 /* 1707 * Doc: https://github.com/davist11/jQuery-One-Page-Nav 1708 * Fork by Hux to support padding 1709 */ 1710 async('/js/jquery.nav.js', function () { 1711 $('.catalog-body').onePageNav({ 1712 currentClass: 'active', 1713 changeHash: !1, 1714 easing: 'swing', 1715 filter: '', 1716 scrollSpeed: 700, 1717 scrollOffset: 0, 1718 scrollThreshold: 0.2, 1719 begin: null, 1720 end: null, 1721 scrollChange: null, 1722 padding: 80, 1723 }); 1724 }); 1725</script>
1725 1726 1727
1728<script> 1729 // https://stackoverflow.com/questions/1912501/unescape-html-entities-in-javascript 1730 function htmlDecode(input) { 1731 var e = document.createElement('textarea'); 1732 e.innerHTML = input; 1733 // handle case of empty input 1734 return e.childNodes.length === 0 ? '' : e.childNodes[0].nodeValue; 1735 } 1736 1737 $(document).ready(function () { 1738 SimpleJekyllSearch({ 1739 searchInput: document.getElementById('search-input'), 1740 resultsContainer: document.getElementById('search-results'), 1741 json: '/search.json', 1742 searchResultTemplate: 1743 '<div class="post-preview item"><a href="{url}"><h2 class="post-title">{title}</h2><h3 class="post-subtitle">{subtitle}</h3><hr></a></div>', 1744 noResultsText: 'No results', 1745 limit: 50, 1746 fuzzy: false, 1747 // a hack to get escaped subtitle unescaped. for some reason, 1748 // post.subtitle w/o escape filter nuke entire search. 1749 templateMiddleware: function (prop, value, template) { 1750 if (prop === 'subtitle' || prop === 'title') { 1751 if (value.indexOf('code')) { 1752 return htmlDecode(value); 1753 } else { 1754 return value; 1755 } 1756 } 1757 }, 1758 }); 1759 var $searchPage = $('.search-page'); 1760 var $searchOpen = $('.search-icon'); 1761 var $searchClose = $('.search-icon-close'); 1762 var $searchInput = $('#search-input'); 1763 var $body = $('body'); 1764 1765 $searchOpen.on('click', function (e) { 1766 e.preventDefault(); 1767 $searchPage.toggleClass('search-active'); 1768 var prevClasses = $body.attr('class') || ''; 1769 setTimeout(function () { 1770 $body.addClass('no-scroll'); 1771 }, 400); 1772 1773 if ($searchPage.hasClass('search-active')) { 1774 $searchClose.on('click', function (e) { 1775 e.preventDefault(); 1776 $searchPage.removeClass('search-active'); 1777 $body.attr('class', prevClasses); // from closure 1778 }); 1779 $searchInput.focus(); 1780 } 1781 }); 1782 }); 1783</script>
1783 1784 1785 1786 <!-- Cloudflare Pages Analytics -->
vendor: 99 bytes, line 1786
1786<script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "
178638b8bfced1924213959ff4a530e812a4
vendor: 13 bytes, line 1786
1786"}'></script>
1786<!-- Cloudflare Pages Analytics -->
1786<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"9af0b4f6908047d89b21c5a41ebd2466","r":1,"spa":2}' crossorigin="anonymous"></script>
1786 1787</body> 1788</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.