PageSourceSearch

https://xheldon.com/about/

html xheldon.com collected 2026-10-01 15:56:48 UTC 59,858 bytes, 1,788 lines download raw bytes

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 &gt;
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 &copy;
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.