PageSourceSearch

https://yuhanle.github.io/

html yuhanle.github.io collected 2026-10-03 10:13:34 UTC 63,475 bytes, 2,561 lines download raw bytes

1<!DOCTYPE html>
2
3
4
5  
6
7
8<html class="theme-next mist use-motion" lang="zh-CN">
9<head><meta name="generator" content="Hexo 3.9.0">
10  <meta charset="UTF-8">
11<meta http-equiv="X-UA-Compatible" content="IE=edge">
12<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
13<meta name="theme-color" content="#222">
14
15
16
17
18
19
20
21
22
23
24
25
26<meta http-equiv="Cache-Control" content="no-transform">
27<meta http-equiv="Cache-Control" content="no-siteapp">
28
29
30
31
32
33  
33<script>
34  (function(i,s,o,g,r,a,m){i["DaoVoiceObject"]=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;a.charset="utf-8";m.parentNode.insertBefore(a,m)})(window,document,"script",('https:' == document.location.protocol ? 'https:' : 'http:') + "//widget.daovoice.io/widget/0f81ff2f.js","daovoice")
35  daovoice('init', {
36      app_id: "4bd94666"
37    });
38  daovoice('update');
39  </script>
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60<link href="/lib/font-awesome/css/font-awesome.min.css?v=4.6.2" rel="stylesheet" type="text/css">
61
62<link href="/css/main.css?v=6.0.4" rel="stylesheet" type="text/css">
63
64
65  <link rel="apple-touch-icon" sizes="180x180" href="/favicon.png?v=6.0.4">
66
67
68  <link rel="icon" type="image/png" sizes="32x32" href="/favicon.png?v=6.0.4">
69
70
71  <link rel="icon" type="image/png" sizes="16x16" href="/favicon.png?v=6.0.4">
72
73
74
75
76
77
78
79
80
81
82<script type="text/javascript" id="hexo.configurations">
83  var NexT = window.NexT || {};
84  var CONFIG = {
85    root: '/',
86    scheme: 'Mist',
87    version: '6.0.4',
88    sidebar: {"position":"left","display":"hide","offset":12,"b2t":false,"scrollpercent":false,"onmobile":false},
89    fancybox: false,
90    fastclick: false,
91    lazyload: false,
92    tabs: true,
93    motion: {"enable":true,"async":true,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
94    algolia: {
95      applicationID: '',
96      apiKey: '',
97      indexName: '',
98      hits: {"per_page":10},
99      labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
100    }
101  };
102</script>
102
103
104
105  
106
107
108
109
110  
111  <meta name="keywords" content="iOS, Ruby, Golang, Android, Python, Macaca">
112
113
114<meta name="description" content="前爱奇艺高级会员">
115<meta property="og:type" content="website">
116<meta property="og:title" content="煜寒了">
117<meta property="og:url" content="https://blog.yuhanle.com/index.html">
118<meta property="og:site_name" content="煜寒了">
119<meta property="og:description" content="前爱奇艺高级会员">
120<meta property="og:locale" content="zh-CN">
121<meta name="twitter:card" content="summary">
122<meta name="twitter:title" content="煜寒了">
123<meta name="twitter:description" content="前爱奇艺高级会员">
124
125
126
127  <link rel="alternate" href="/atom.xml" title="煜寒了" type="application/atom+xml">
128
129
130
131
132  <link rel="canonical" href="https://blog.yuhanle.com/">
133
134
135
136<script type="text/javascript" id="page.configurations">
137  CONFIG.page = {
138    sidebar: "",
139  };
140</script>
140
141  <title>煜寒了</title>
142  
143
144
145
146
147
148
149  
149<script type="text/javascript">
150    var _hmt = _hmt || [];
151    (function() {
152      var hm = document.createElement("script");
153      hm.src = "https://hm.baidu.com/hm.js?617e86ba9ca3477b2a31c11f6214f4f8";
154      var s = document.getElementsByTagName("script")[0];
155      s.parentNode.insertBefore(hm, s);
156    })();
157  </script>
157
158
159
160
161
162  <noscript>
163  <style type="text/css">
164    .use-motion .motion-element,
165    .use-motion .brand,
166    .use-motion .menu-item,
167    .sidebar-inner,
168    .use-motion .post-block,
169    .use-motion .pagination,
170    .use-motion .comments,
171    .use-motion .post-header,
172    .use-motion .post-body,
173    .use-motion .collection-title { opacity: initial; }
174
175    .use-motion .logo,
176    .use-motion .site-title,
177    .use-motion .site-subtitle {
178      opacity: initial;
179      top: initial;
180    }
181
182    .use-motion {
183      .logo-line-before i { left: initial; }
184      .logo-line-after i { right: initial; }
185    }
186  </style>
187</noscript>
188
189</head>
190
191<body itemscope itemtype="http://schema.org/WebPage" lang="zh-CN">
192
193  
194  
195    
196  
197
198  <div class="container sidebar-position-left 
199  page-home">
200    <div class="headband"></div>
201
202    <header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
203      <div class="header-inner"> <div class="site-brand-wrapper">
204  <div class="site-meta ">
205    
206
207    <div class="custom-logo-site-title">
208      <a href="/" class="brand" rel="start">
209        <span class="logo-line-before"><i></i></span>
210        <span class="site-title">煜寒了</span>
211        <span class="logo-line-after"><i></i></span>
212      </a>
213    </div>
214      
215        <h1 class="site-subtitle" itemprop="description">关心粮食和蔬菜</h1>
216      
217  </div>
218
219  <div class="site-nav-toggle">
220    <button>
221      <span class="btn-bar"></span>
222      <span class="btn-bar"></span>
223      <span class="btn-bar"></span>
224    </button>
225  </div>
226</div>
227
228<nav class="site-nav">
229  
230
231  
232    <ul id="menu" class="menu">
233      
234        
235        <li class="menu-item menu-item-home">
236          <a href="/" rel="section">
237            <i class="menu-item-icon fa fa-fw fa-home"></i> <br>首页</a>
238        </li>
239      
240        
241        <li class="menu-item menu-item-categories">
242          <a href="/categories/" rel="section">
243            <i class="menu-item-icon fa fa-fw fa-th"></i> <br>分类</a>
244        </li>
245      
246        
247        <li class="menu-item menu-item-archives">
248          <a href="/archives/" rel="section">
249            <i class="menu-item-icon fa fa-fw fa-archive"></i> <br>归档</a>
250        </li>
251      
252        
253        <li class="menu-item menu-item-books">
254          <a href="/books" rel="section">
255            <i class="menu-item-icon fa fa-fw fa-book"></i> <br>书单</a>
256        </li>
257      
258        
259        <li class="menu-item menu-item-links">
260          <a href="/links" rel="section">
261            <i class="menu-item-icon fa fa-fw fa-meetup"></i> <br>友链</a>
262        </li>
263      
264        
265        <li class="menu-item menu-item-about">
266          <a href="/about/" rel="section">
267            <i class="menu-item-icon fa fa-fw fa-user"></i> <br>关于</a>
268        </li>
269      
270
271      
272    </ul>
273  
274
275  
276</nav>
277
278
279  
280
281
282
283 </div>
284    </header>
285
286    
287
288
289    <main id="main" class="main">
290      <div class="main-inner">
291        <div class="content-wrap">
292          <div id="content" class="content">
293            
294  <section id="posts" class="posts-expand">
295    
296      
297
298  
299
300  
301  
302  
303
304  
305
306  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
307  
308  
309  
310  <div class="post-block">
311    <link itemprop="mainEntityOfPage" href="https://blog.yuhanle.com/2018/08/06/fastlane-say-here/">
312
313    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
314      <meta itemprop="name" content="煜寒了">
315      <meta itemprop="description" content>
316      <meta itemprop="image" content="/uploads/avatar.png">
317    </span>
318
319    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
320      <meta itemprop="name" content="煜寒了">
321    </span>
322
323    
324      <header class="post-header">
325
326        
327        
328          <h2 class="post-title" itemprop="name headline">
329                
330                <a class="post-title-link" href="/2018/08/06/fastlane-say-here/" itemprop="url">使用 fastlane 进行 iOS 打包</a></h2>
331        
332
333        <div class="post-meta">
334          <span class="post-time">
335            
336              <span class="post-meta-item-icon">
337                <i class="fa fa-calendar-o"></i>
338              </span>
339              
340                <span class="post-meta-item-text">发表于</span>
341              
342              <time title="创建于" itemprop="dateCreated datePublished" datetime="2018-08-06T09:00:00+08:00">2018-08-06</time>
343            
344
345            
346            
347
348            
349          </span>
350
351          
352            <span class="post-category">
353            
354              <span class="post-meta-divider">|</span>
355            
356              <span class="post-meta-item-icon">
357                <i class="fa fa-folder-o"></i>
358              </span>
359              
360                <span class="post-meta-item-text">分类于</span>
361              
362              
363                <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/fastlane/" itemprop="url" rel="index"><span itemprop="name">fastlane</span></a></span>
364
365                
366                
367              
368            </span>
369          
370
371          
372            
373              <span class="post-comments-count">
374                <span class="post-meta-divider">|</span>
375                <span class="post-meta-item-icon">
376                  <i class="fa fa-comment-o"></i>
377                </span>
378                <a href="/2018/08/06/fastlane-say-here/#comments" itemprop="discussionUrl">
379                  <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2018/08/06/fastlane-say-here/" itemprop="commentCount"></span>
380                </a>
381              </span>
382            
383          
384
385          
386          
387             <span id="/2018/08/06/fastlane-say-here/" class="leancloud_visitors" data-flag-title="使用 fastlane 进行 iOS 打包">
388               <span class="post-meta-divider">|</span>
389               <span class="post-meta-item-icon">
390                 <i class="fa fa-eye"></i>
391               </span>
392               
393                 <span class="post-meta-item-text">阅读次数&#58;</span>
394               
395                 <span class="leancloud-visitors-count"></span>
396             </span>
397          
398
399          
400
401          
402
403          
404
405        </div>
406      </header>
407    
408
409    
410    
411    
412    <div class="post-body" itemprop="articleBody">
413
414      
415      
416
417      
418        
419          <p><img src="https://docs.fastlane.tools/img/fastlane_text.png" alt></p>
420<p><a href="https://fastlane.tools/" target="_blank" rel="noopener">fastlane</a> 是一个通过简单命令来完成诸如截图、获取证书、编译、导出安装包、提交 iTunesConnect 等一系列操作的工具,它同时支持 iOS 和 Android。 </p>
421          <!--noindex-->
422          <div class="post-button text-center">
423            <a class="btn" href="/2018/08/06/fastlane-say-here/#more" rel="contents">
424              阅读全文 &raquo;
425            </a>
426          </div>
427          <!--/noindex-->
428        
429      
430    </div>
431
432    
433
434    
435    
436    
437
438    
439
440    
441
442    
443
444    
445
446    <footer class="post-footer">
447      
448
449      
450
451      
452
453      
454      
455        <div class="post-eof"></div>
456      
457    </footer>
458  </div>
459  
460  
461  
462  </article>
463
464
465    
466      
467
468  
469
470  
471  
472  
473
474  
475
476  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
477  
478  
479  
480  <div class="post-block">
481    <link itemprop="mainEntityOfPage" href="https://blog.yuhanle.com/2018/07/05/json-analysis-in-swift/">
482
483    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
484      <meta itemprop="name" content="煜寒了">
485      <meta itemprop="description" content>
486      <meta itemprop="image" content="/uploads/avatar.png">
487    </span>
488
489    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
490      <meta itemprop="name" content="煜寒了">
491    </span>
492
493    
494      <header class="post-header">
495
496        
497        
498          <h2 class="post-title" itemprop="name headline">
499                
500                <a class="post-title-link" href="/2018/07/05/json-analysis-in-swift/" itemprop="url">数据序列化框架在 Swift 日常开发中的应用</a></h2>
501        
502
503        <div class="post-meta">
504          <span class="post-time">
505            
506              <span class="post-meta-item-icon">
507                <i class="fa fa-calendar-o"></i>
508              </span>
509              
510                <span class="post-meta-item-text">发表于</span>
511              
512              <time title="创建于" itemprop="dateCreated datePublished" datetime="2018-07-05T09:00:00+08:00">2018-07-05</time>
513            
514
515            
516            
517
518            
519          </span>
520
521          
522            <span class="post-category">
523            
524              <span class="post-meta-divider">|</span>
525            
526              <span class="post-meta-item-icon">
527                <i class="fa fa-folder-o"></i>
528              </span>
529              
530                <span class="post-meta-item-text">分类于</span>
531              
532              
533                <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/swift/" itemprop="url" rel="index"><span itemprop="name">swift</span></a></span>
534
535                
536                
537              
538            </span>
539          
540
541          
542            
543              <span class="post-comments-count">
544                <span class="post-meta-divider">|</span>
545                <span class="post-meta-item-icon">
546                  <i class="fa fa-comment-o"></i>
547                </span>
548                <a href="/2018/07/05/json-analysis-in-swift/#comments" itemprop="discussionUrl">
549                  <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2018/07/05/json-analysis-in-swift/" itemprop="commentCount"></span>
550                </a>
551              </span>
552            
553          
554
555          
556          
557             <span id="/2018/07/05/json-analysis-in-swift/" class="leancloud_visitors" data-flag-title="数据序列化框架在 Swift 日常开发中的应用">
558               <span class="post-meta-divider">|</span>
559               <span class="post-meta-item-icon">
560                 <i class="fa fa-eye"></i>
561               </span>
562               
563                 <span class="post-meta-item-text">阅读次数&#58;</span>
564               
565                 <span class="leancloud-visitors-count"></span>
566             </span>
567          
568
569          
570
571          
572
573          
574
575        </div>
576      </header>
577    
578
579    
580    
581    
582    <div class="post-body" itemprop="articleBody">
583
584      
585      
586
587      
588        
589          <p><img src="https://user-images.githubusercontent.com/10498756/42311471-7fec973a-8070-11e8-80cb-cf2719b0ab7a.png" alt="image"></p>
590          <!--noindex-->
591          <div class="post-button text-center">
592            <a class="btn" href="/2018/07/05/json-analysis-in-swift/#more" rel="contents">
593              阅读全文 &raquo;
594            </a>
595          </div>
596          <!--/noindex-->
597        
598      
599    </div>
600
601    
602
603    
604    
605    
606
607    
608
609    
610
611    
612
613    
614
615    <footer class="post-footer">
616      
617
618      
619
620      
621
622      
623      
624        <div class="post-eof"></div>
625      
626    </footer>
627  </div>
628  
629  
630  
631  </article>
632
633
634    
635      
636
637  
638
639  
640  
641  
642
643  
644
645  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
646  
647  
648  
649  <div class="post-block">
650    <link itemprop="mainEntityOfPage" href="https://blog.yuhanle.com/2018/05/13/rac-in-mvvm/">
651
652    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
653      <meta itemprop="name" content="煜寒了">
654      <meta itemprop="description" content>
655      <meta itemprop="image" content="/uploads/avatar.png">
656    </span>
657
658    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
659      <meta itemprop="name" content="煜寒了">
660    </span>
661
662    
663      <header class="post-header">
664
665        
666        
667          <h2 class="post-title" itemprop="name headline">
668                
669                <a class="post-title-link" href="/2018/05/13/rac-in-mvvm/" itemprop="url">RAC 在 MVVM 中的常见用法</a></h2>
670        
671
672        <div class="post-meta">
673          <span class="post-time">
674            
675              <span class="post-meta-item-icon">
676                <i class="fa fa-calendar-o"></i>
677              </span>
678              
679                <span class="post-meta-item-text">发表于</span>
680              
681              <time title="创建于" itemprop="dateCreated datePublished" datetime="2018-05-13T09:00:00+08:00">2018-05-13</time>
682            
683
684            
685            
686
687            
688          </span>
689
690          
691            <span class="post-category">
692            
693              <span class="post-meta-divider">|</span>
694            
695              <span class="post-meta-item-icon">
696                <i class="fa fa-folder-o"></i>
697              </span>
698              
699                <span class="post-meta-item-text">分类于</span>
700              
701              
702                <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/rac/" itemprop="url" rel="index"><span itemprop="name">rac</span></a></span>
703
704                
705                
706              
707            </span>
708          
709
710          
711            
712              <span class="post-comments-count">
713                <span class="post-meta-divider">|</span>
714                <span class="post-meta-item-icon">
715                  <i class="fa fa-comment-o"></i>
716                </span>
717                <a href="/2018/05/13/rac-in-mvvm/#comments" itemprop="discussionUrl">
718                  <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2018/05/13/rac-in-mvvm/" itemprop="commentCount"></span>
719                </a>
720              </span>
721            
722          
723
724          
725          
726             <span id="/2018/05/13/rac-in-mvvm/" class="leancloud_visitors" data-flag-title="RAC 在 MVVM 中的常见用法">
727               <span class="post-meta-divider">|</span>
728               <span class="post-meta-item-icon">
729                 <i class="fa fa-eye"></i>
730               </span>
731               
732                 <span class="post-meta-item-text">阅读次数&#58;</span>
733               
734                 <span class="leancloud-visitors-count"></span>
735             </span>
736          
737
738          
739
740          
741
742          
743
744        </div>
745      </header>
746    
747
748    
749    
750    
751    <div class="post-body" itemprop="articleBody">
752
753      
754      
755
756      
757        
758          <h2 id="开篇"><a href="#开篇" class="headerlink" title="开篇"></a>开篇</h2><p>在 iOS 开发中,或多或少都会见过 RAC 的身影,它为提高开发效率而生,在某些特定情况下开发时可以大大简化代码,并且目前来看安全可靠。如果你还没有接触 RAC,建议你工作之余稍作研究,并尝试体验一下。<br>
759          <!--noindex-->
760          <div class="post-button text-center">
761            <a class="btn" href="/2018/05/13/rac-in-mvvm/#more" rel="contents">
762              阅读全文 &raquo;
763            </a>
764          </div>
765          <!--/noindex-->
766        
767      
768    </p></div>
769
770    
771
772    
773    
774    
775
776    
777
778    
779
780    
781
782    
783
784    <footer class="post-footer">
785      
786
787      
788
789      
790
791      
792      
793        <div class="post-eof"></div>
794      
795    </footer>
796  </div>
797  
798  
799  
800  </article>
801
802
803    
804      
805
806  
807
808  
809  
810  
811
812  
813
814  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
815  
816  
817  
818  <div class="post-block">
819    <link itemprop="mainEntityOfPage" href="https://blog.yuhanle.com/2018/04/24/line-of-sight-in-code/">
820
821    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
822      <meta itemprop="name" content="煜寒了">
823      <meta itemprop="description" content>
824      <meta itemprop="image" content="/uploads/avatar.png">
825    </span>
826
827    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
828      <meta itemprop="name" content="煜寒了">
829    </span>
830
831    
832      <header class="post-header">
833
834        
835        
836          <h2 class="post-title" itemprop="name headline">
837                
838                <a class="post-title-link" href="/2018/04/24/line-of-sight-in-code/" itemprop="url">代码中的缩进线</a></h2>
839        
840
841        <div class="post-meta">
842          <span class="post-time">
843            
844              <span class="post-meta-item-icon">
845                <i class="fa fa-calendar-o"></i>
846              </span>
847              
848                <span class="post-meta-item-text">发表于</span>
849              
850              <time title="创建于" itemprop="dateCreated datePublished" datetime="2018-04-24T09:00:00+08:00">2018-04-24</time>
851            
852
853            
854            
855
856            
857          </span>
858
859          
860            <span class="post-category">
861            
862              <span class="post-meta-divider">|</span>
863            
864              <span class="post-meta-item-icon">
865                <i class="fa fa-folder-o"></i>
866              </span>
867              
868                <span class="post-meta-item-text">分类于</span>
869              
870              
871                <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/Translate/" itemprop="url" rel="index"><span itemprop="name">Translate</span></a></span>
872
873                
874                
875                  , 
876                
877              
878                <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/Translate/Go/" itemprop="url" rel="index"><span itemprop="name">Go</span></a></span>
879
880                
881                
882              
883            </span>
884          
885
886          
887            
888              <span class="post-comments-count">
889                <span class="post-meta-divider">|</span>
890                <span class="post-meta-item-icon">
891                  <i class="fa fa-comment-o"></i>
892                </span>
893                <a href="/2018/04/24/line-of-sight-in-code/#comments" itemprop="discussionUrl">
894                  <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2018/04/24/line-of-sight-in-code/" itemprop="commentCount"></span>
895                </a>
896              </span>
897            
898          
899
900          
901          
902             <span id="/2018/04/24/line-of-sight-in-code/" class="leancloud_visitors" data-flag-title="代码中的缩进线">
903               <span class="post-meta-divider">|</span>
904               <span class="post-meta-item-icon">
905                 <i class="fa fa-eye"></i>
906               </span>
907               
908                 <span class="post-meta-item-text">阅读次数&#58;</span>
909               
910                 <span class="leancloud-visitors-count"></span>
911             </span>
912          
913
914          
915
916          
917
918          
919
920        </div>
921      </header>
922    
923
924    
925    
926    
927    <div class="post-body" itemprop="articleBody">
928
929      
930      
931
932      
933        
934          <p><img src="https://raw.githubusercontent.com/studygolang/gctt-images/master/line-of-sight/1_CBjBs9EzL8q1AL6XvjjpJg.png" alt="我在2016年伦敦Golang英国会议上谈论代码缩进线"></p>
935<p>在近期伦敦举行的 <a href="https://www.youtube.com/watch?v=yeetIgNeIkc" target="_blank" rel="noopener">Golang 英国会议</a> 上,我在<a href="https://www.youtube.com/watch?v=yeetIgNeIkc" target="_blank" rel="noopener">地道的Go 语言窍门</a> 交流(<a href="http://go-talks.appspot.com/github.com/matryer/present/idiomatic-go-tricks/main.slide#1" target="_blank" rel="noopener">幻灯片</a>)中讲到关于代码中的缩进线, 我想在这里稍微解释一下。</p>
936          <!--noindex-->
937          <div class="post-button text-center">
938            <a class="btn" href="/2018/04/24/line-of-sight-in-code/#more" rel="contents">
939              阅读全文 &raquo;
940            </a>
941          </div>
942          <!--/noindex-->
943        
944      
945    </div>
946
947    
948
949    
950    
951    
952
953    
954
955    
956
957    
958
959    
960
961    <footer class="post-footer">
962      
963
964      
965
966      
967
968      
969      
970        <div class="post-eof"></div>
971      
972    </footer>
973  </div>
974  
975  
976  
977  </article>
978
979
980    
981      
982
983  
984
985  
986  
987  
988
989  
990
991  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
992  
993  
994  
995  <div class="post-block">
996    <link itemprop="mainEntityOfPage" href="https://blog.yuhanle.com/2018/02/24/seeking-around-in-an-http-object/">
997
998    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
999      <meta itemprop="name" content="煜寒了">
1000      <meta itemprop="description" content>
1001      <meta itemprop="image" content="/uploads/avatar.png">
1002    </span>
1003
1004    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
1005      <meta itemprop="name" content="煜寒了">
1006    </span>
1007
1008    
1009      <header class="post-header">
1010
1011        
1012        
1013          <h2 class="post-title" itemprop="name headline">
1014                
1015                <a class="post-title-link" href="/2018/02/24/seeking-arou
1015nd-in-an-http-object/" itemprop="url">Go 实现对 HTTP 对象的查找</a></h2>
1016        
1017
1018        <div class="post-meta">
1019          <span class="post-time">
1020            
1021              <span class="post-meta-item-icon">
1022                <i class="fa fa-calendar-o"></i>
1023              </span>
1024              
1025                <span class="post-meta-item-text">发表于</span>
1026              
1027              <time title="创建于" itemprop="dateCreated datePublished" datetime="2018-02-24T09:00:00+08:00">2018-02-24</time>
1028            
1029
1030            
1031            
1032
1033            
1034          </span>
1035
1036          
1037            <span class="post-category">
1038            
1039              <span class="post-meta-divider">|</span>
1040            
1041              <span class="post-meta-item-icon">
1042                <i class="fa fa-folder-o"></i>
1043              </span>
1044              
1045                <span class="post-meta-item-text">分类于</span>
1046              
1047              
1048                <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/Translate/" itemprop="url" rel="index"><span itemprop="name">Translate</span></a></span>
1049
1050                
1051                
1052                  , 
1053                
1054              
1055                <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/Translate/Go/" itemprop="url" rel="index"><span itemprop="name">Go</span></a></span>
1056
1057                
1058                
1059              
1060            </span>
1061          
1062
1063          
1064            
1065              <span class="post-comments-count">
1066                <span class="post-meta-divider">|</span>
1067                <span class="post-meta-item-icon">
1068                  <i class="fa fa-comment-o"></i>
1069                </span>
1070                <a href="/2018/02/24/seeking-around-in-an-http-object/#comments" itemprop="discussionUrl">
1071                  <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2018/02/24/seeking-around-in-an-http-object/" itemprop="commentCount"></span>
1072                </a>
1073              </span>
1074            
1075          
1076
1077          
1078          
1079             <span id="/2018/02/24/seeking-around-in-an-http-object/" class="leancloud_visitors" data-flag-title="Go 实现对 HTTP 对象的查找">
1080               <span class="post-meta-divider">|</span>
1081               <span class="post-meta-item-icon">
1082                 <i class="fa fa-eye"></i>
1083               </span>
1084               
1085                 <span class="post-meta-item-text">阅读次数&#58;</span>
1086               
1087                 <span class="leancloud-visitors-count"></span>
1088             </span>
1089          
1090
1091          
1092
1093          
1094
1095          
1096
1097        </div>
1098      </header>
1099    
1100
1101    
1102    
1103    
1104    <div class="post-body" itemprop="articleBody">
1105
1106      
1107      
1108
1109      
1110        
1111          <p>已发布:<a href="https://studygolang.com/articles/12638" target="_blank" rel="noopener">https://studygolang.com/articles/12638</a></p>
1112<h1 id="Go-实现对-HTTP-对象的查找"><a href="#Go-实现对-HTTP-对象的查找" class="headerlink" title="Go 实现对 HTTP 对象的查找"></a>Go 实现对 HTTP 对象的查找</h1><p>想象一下,在 <code>HTTP</code> 服务器上有一个巨大的 <code>ZIP</code> 文件,你想知道里面的内容。你不知道压缩包内是否有你需要的东西,而且你不想下载整个文件。是否可以像执行  <code>unzip -l https://example.com/giant.zip</code> 的操作来查看压缩包的内容呢?</p>
1113<p>这并不是一个为了用 <code>Go</code> 展示某些知识的理论问题。实际上,我也不想写一篇文章,除了我想通过那些压缩文件了解如何从 <a href="https://bulkdata.uspto.gov/data/patent/officialgazette/2017/" target="_blank" rel="noopener">美国专利和商标局(USPTO)</a> 下载大量专利。或者,我认为,能够从这些 <code>tar</code> 文件中获取 <a href="https://bulkdata.uspto.gov/data/patent/grant/multipagepdf/1790_1999/" target="_blank" rel="noopener">1790 年发布的一些专利图像</a> 有多酷?</p>
1114<p>去看看。那里有数百个巨大的 <code>
1114ZIP</code> 和 <code>tarfiles</code> 值得探索!</p>
1115          <!--noindex-->
1116          <div class="post-button text-center">
1117            <a class="btn" href="/2018/02/24/seeking-around-in-an-http-object/#more" rel="contents">
1118              阅读全文 &raquo;
1119            </a>
1120          </div>
1121          <!--/noindex-->
1122        
1123      
1124    </div>
1125
1126    
1127
1128    
1129    
1130    
1131
1132    
1133
1134    
1135
1136    
1137
1138    
1139
1140    <footer class="post-footer">
1141      
1142
1143      
1144
1145      
1146
1147      
1148      
1149        <div class="post-eof"></div>
1150      
1151    </footer>
1152  </div>
1153  
1154  
1155  
1156  </article>
1157
1158
1159    
1160      
1161
1162  
1163
1164  
1165  
1166  
1167
1168  
1169
1170  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
1171  
1172  
1173  
1174  <div class="post-block">
1175    <link itemprop="mainEntityOfPage" href="https://blog.yuhanle.com/2018/01/03/how-to-install-web-driver-agent-on-device/">
1176
1177    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
1178      <meta itemprop="name" content="煜寒了">
1179      <meta itemprop="description" content>
1180      <meta itemprop="image" content="/uploads/avatar.png">
1181    </span>
1182
1183    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
1184      <meta itemprop="name" content="煜寒了">
1185    </span>
1186
1187    
1188      <header class="post-header">
1189
1190        
1191        
1192          <h2 class="post-title" itemprop="name headline">
1193                
1194                <a class="post-title-link" href="/2018/01/03/how-to-install-web-driver-agent-on-device/" itemprop="url">iOS 真机调试如何安装 WebDriverAgent</a></h2>
1195        
1196
1197        <div class="post-meta">
1198          <span class="post-time">
1199            
1200              <span class="post-meta-item-icon">
1201                <i class="fa fa-calendar-o"></i>
1202              </span>
1203              
1204                <span class="post-meta-item-text">发表于</span>
1205              
1206              <time title="创建于" itemprop="dateCreated datePublished" datetime="2018-01-03T18:30:47+08:00">2018-01-03</time>
1207            
1208
1209            
1210            
1211
1212            
1213          </span>
1214
1215          
1216            <span class="post-category">
1217            
1218              <span class="post-meta-divider">|</span>
1219            
1220              <span class="post-meta-item-icon">
1221                <i class="fa fa-folder-o"></i>
1222              </span>
1223              
1224                <span class="post-meta-item-text">分类于</span>
1225              
1226              
1227                <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/UI-Auto-Test/" itemprop="url" rel="index"><span itemprop="name">UI Auto Test</span></a></span>
1228
1229                
1230                
1231              
1232            </span>
1233          
1234
1235          
1236            
1237              <span class="post-comments-count">
1238                <span class="post-meta-divider">|</span>
1239                <span class="post-meta-item-icon">
1240                  <i class="fa fa-comment-o"></i>
1241                </span>
1242                <a href="/2018/01/03/how-to-install-web-driver-agent-on-device/#comments" itemprop="discussionUrl">
1243                  <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2018/01/03/how-to-install-web-driver-agent-on-device/" itemprop="commentCount"></span>
1244                </a>
1245              </span>
1246            
1247          
1248
1249          
1250          
1251             <span id="/2018/01/03/how-to-install-web-driver-agent-on-device/" class="leancloud_visitors" data-flag-title="iOS 真机调试如何安装 WebDriverAgent">
1252               <span class="post-meta-divider">|</span>
1253               <span class="post-meta-item-icon">
1254                 <i class="fa fa-eye"></i>
1255               </span>
1256               
1257                 <span class="post-meta-item-text">阅读次数&#58;</span>
1258               
1259                 <span class="leancloud-visitors-count"></span>
1260             </span>
1261          
1262
1263          
1264
1265          
1266
1267          
1268
1269        </div>
1270      </header>
1271    
1272
1273    
1274    
1275    
1276    <div class="post-body" itemprop="articleBody">
1277
1278      
1279      
1280
1281      
1282        
1283          <p>近期,微信<a href="https://github.com/wangshub/wechat_jump_game" target="_blank" rel="noopener">跳一跳外挂</a>火了,看了作者的思路和教程,感觉挺简单,不过在实现(照葫芦画瓢)的过程中,遭遇到不少问题。</p>
1284<p><img src="https://raw.githubusercontent.com/yuhanle/blogbag/master/uploads/images/wda.png" alt="WDA 工作原理"> </p>
1285<p>其中之一便是,真机调试 WDA,参考 iOS 真机如何安装 <a href="https://testerhome.com/topics/7220" target="_blank" rel="noopener">WebDriverAgent · TesterHome</a>,下面就按照这篇教程,各个击破真机调试WDA 的问题:</p>
1286<h1 id="开始"><a href="#开始" class="headerlink" title="开始"></a>开始</h1><p>首先按照教程,尽量更新下Xcode 的版本,从github 上下载WDA 的最新版本,直接克隆到本地</p>
1287          <!--noindex-->
1288          <div class="post-button text-center">
1289            <a class="btn" href="/2018/01/03/how-to-install-web-driver-
1289agent-on-device/#more" rel="contents">
1290              阅读全文 &raquo;
1291            </a>
1292          </div>
1293          <!--/noindex-->
1294        
1295      
1296    </div>
1297
1298    
1299
1300    
1301    
1302    
1303
1304    
1305
1306    
1307
1308    
1309
1310    
1311
1312    <footer class="post-footer">
1313      
1314
1315      
1316
1317      
1318
1319      
1320      
1321        <div class="post-eof"></div>
1322      
1323    </footer>
1324  </div>
1325  
1326  
1327  
1328  </article>
1329
1330
1331    
1332      
1333
1334  
1335
1336  
1337  
1338  
1339
1340  
1341
1342  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
1343  
1344  
1345  
1346  <div class="post-block">
1347    <link itemprop="mainEntityOfPage" href="https://blog.yuhanle.com/2017/12/09/xocde9-2-and-iOS-8-1-image-unnormal/">
1348
1349    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
1350      <meta itemprop="name" content="煜寒了">
1351      <meta itemprop="description" content>
1352      <meta itemprop="image" content="/uploads/avatar.png">
1353    </span>
1354
1355    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
1356      <meta itemprop="name" content="煜寒了">
1357    </span>
1358
1359    
1360      <header class="post-header">
1361
1362        
1363        
1364          <h2 class="post-title" itemprop="name headline">
1365                
1366                <a class="post-title-link" href="/2017/12/09/xocde9-2-and-iOS-8-1-image-unnormal/" itemprop="url">Xcode9.2 编译在iOS8.1 系统上图片显示异常</a></h2>
1367        
1368
1369        <div class="post-meta">
1370          <span class="post-time">
1371            
1372              <span class="post-meta-item-icon">
1373                <i class="fa fa-calendar-o"></i>
1374              </span>
1375              
1376                <span class="post-meta-item-text">发表于</span>
1377              
1378              <time title="创建于" itemprop="dateCreated datePublished" datetime="2017-12-09T09:52:47+08:00">2017-12-09</time>
1379            
1380
1381            
1382            
1383
1384            
1385          </span>
1386
1387          
1388            <span class="post-category">
1389            
1390              <span class="post-meta-divider">|</span>
1391            
1392              <span class="post-meta-item-icon">
1393                <i class="fa fa-folder-o"></i>
1394              </span>
1395              
1396                <span class="post-meta-item-text">分类于</span>
1397              
1398              
1399                <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/tools/" itemprop="url" rel="index"><span itemprop="name">tools</span></a></span>
1400
1401                
1402                
1403              
1404            </span>
1405          
1406
1407          
1408            
1409              <span class="post-comments-count">
1410                <span class="post-meta-divider">|</span>
1411                <span class="post-meta-item-icon">
1412                  <i class="fa fa-comment-o"></i>
1413                </span>
1414                <a href="/2017/12/09/xocde9-2-and-iOS-8-1-image-unnormal/#comments" itemprop="discussionUrl">
1415                  <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2017/12/09/xocde9-2-and-iOS-8-1-image-unnormal/" itemprop="commentCount"></span>
1416                </a>
1417              </span>
1418            
1419          
1420
1421          
1422          
1423             <span id="/2017/12/09/xocde9-2-and-iOS-8-1-image-unnormal/" class="leancloud_visitors" data-flag-title="Xcode9.2 编译在iOS8.1 系统上图片显示异常">
1424               <span class="post-meta-divider">|</span>
1425               <span class="post-meta-item-icon">
1426                 <i class="fa fa-eye"></i>
1427               </span>
1428               
1429                 <span class="post-meta-item-text">阅读次数&#58;</span>
1430               
1431                 <span class="leancloud-visitors-count"></span>
1432             </span>
1433          
1434
1435          
1436
1437          
1438
1439          
1440
1441        </div>
1442      </header>
1443    
1444
1445    
1446    
1447    
1448    <div class="post-body" itemprop="articleBody">
1449
1450      
1451      
1452
1453      
1454        
1455          <h2 id="最新消息"><a href="#最新消息" class="headerlink" title="最新消息"></a>最新消息</h2><blockquote>
1456<p>目前 xcode 9.3 已经解决了该问题</p>
1457</blockquote>
1458          <!--noindex-->
1459          <div class="post-button text-center">
1460            <a class="btn" href="/2017/12/09/xocde9-2-and-iOS-8-1-image-unnormal/#more" rel="contents">
1461              阅读全文 &raquo;
1462            </a>
1463          </div>
1464          <!--/noindex-->
1465        
1466      
1467    </div>
1468
1469    
1470
1471    
1472    
1473    
1474
1475    
1476
1477    
1478
1479    
1480
1481    
1482
1483    <footer class="post-footer">
1484      
1485
1486      
1487
1488      
1489
1490      
1491      
1492        <div class="post-eof"></div>
1493      
1494    </footer>
1495  </div>
1496  
1497  
1498  
1499  </article>
1500
1501
1502    
1503      
1504
1505  
1506
1507  
1508  
1509  
1510
1511  
1512
1513  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
1514  
1515  
1516  
1517  <div class="post-block">
1518    <link itemprop="mainEntityOfPage" href="https://blog.yuhanle.com/2017/12/06/macos-high-sierra-with-cocoapods/">
1519
1520    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
1521      <meta itemprop="name" content="煜寒了">
1522      <meta itemprop="description" content>
1523      <meta itemprop="image" content="/uploads/avatar.png">
1524    </span>
1525
1526    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
1527      <meta itemprop="name" content="煜寒了">
1528    </span>
1529
1530    
1531      <header class="post-header">
1532
1533        
1534        
1535          <h2 class="post-title" itemprop="name headline">
1536                
1537                <a class="post-title-link" href="/2017/12/06/macos-high-sierra-with-cocoapods/" itemprop="url">升级 macOS High Sierra 后与 Cocoapods 的兼容问题</a></h2>
1538        
1539
1540        <div class="post-meta">
1541          <span class="post-time">
1542            
1543              <span class="post-meta-item-icon">
1544                <i class="fa fa-calendar-o"></i>
1545              </span>
1546              
1547                <span class="post-meta-item-text">发表于</span>
1548              
1549              <time title="创建于" itemprop="dateCreated datePublished" datetime="2017-12-06T11:42:36+08:00">2017-12-06</time>
1550            
1551
1552            
1553            
1554
1555            
1556          </span>
1557
1558          
1559            <span class="post-category">
1560            
1561              <span class="post-meta-divider">|</span>
1562            
1563              <span class="post-meta-item-icon">
1564                <i class="fa fa-folder-o"></i>
1565              </span>
1566              
1567                <span class="post-meta-item-text">分类于</span>
1568              
1569              
1570                <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/iOS/" itemprop="url" rel="index"><span itemprop="name">iOS</span></a></span>
1571
1572                
1573                
1574              
1575            </span>
1576          
1577
1578          
1579            
1580              <span class="post-comments-count">
1581                <span class="post-meta-divider">|</span>
1582                <span class="post-meta-item-icon">
1583                  <i class="fa fa-comment-o"></i>
1584                </span>
1585                <a href="/2017/12/06/macos-high-sierra-with-cocoapods/#comments" itemprop="discussionUrl">
1586                  <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2017/12/06/macos-high-sierra-with-cocoapods/" itemprop="commentCount"></span>
1587                </a>
1588              </span>
1589            
1590          
1591
1592          
1593          
1594             <span id="/2017/12/06/macos-high-sierra-with-cocoapods/" class="leancloud_visitors" data-flag-title="升级 macOS High Sierra 后与 Cocoapods 的兼容问题">
1595               <span class="post-meta-divider">|</span>
1596               <span class="post-meta-item-icon">
1597                 <i class="fa fa-eye"></i>
1598               </span>
1599               
1600                 <span class="post-meta-item-text">阅读次数&#58;</span>
1601               
1602                 <span class="leancloud-visitors-count"></span>
1603             </span>
1604          
1605
1606          
1607
1608          
1609
1610          
1611
1612        </div>
1613      </header>
1614    
1615
1616    
1617    
1618    
1619    <div class="post-body" itemprop="articleBody">
1620
1621      
1622      
1623
1624      
1625        
1626          <p>当你发觉自己没有问题的时候,那就尝试着重启一下,万一问题解决了呢?</p>
1627<p>最近实在厌烦苹果推送了 macOS High Sierra 更新,于是一下班前打开电脑更新系统。过程还算顺利,网络很快,大概 10左右就下载完毕,升级过程中卡死,随后就行下班回家,让其升级了一个夜晚</p>
1628<p>不过在使用 Cocoapods 的时候还是遇到了问题:</p>
1629          <!--noindex-->
1630          <div class="post-button text-center">
1631            <a class="btn" href="/2017/12/06/macos-high-sierra-with-cocoapods/#more" rel="contents">
1632              阅读全文 &raquo;
1633            </a>
1634          </div>
1635          <!--/noindex-->
1636        
1637      
1638    </div>
1639
1640    
1641
1642    
1643    
1644    
1645
1646    
1647
1648    
1649
1650    
1651
1652    
1653
1654    <footer class="post-footer">
1655      
1656
1657      
1658
1659      
1660
1661      
1662      
1663        <div class="post-eof"></div>
1664      
1665    </footer>
1666  </div>
1667  
1668  
1669  
1670  </article>
1671
1672
1673    
1674      
1675
1676  
1677
1678  
1679  
1680  
1681
1682  
1683
1684  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
1685  
1686  
1687  
1688  <div class="post-block">
1689    <link itemprop="mainEntityOfPage" href="https://blog.yuhanle.com/2017/12/04/go-is-not-very-simple-folks/">
1690
1691    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
1692      <meta itemprop="name" content="煜寒了">
1693      <meta itemprop="description" content>
1694      <meta itemprop="image" content="/uploads/avatar.png">
1695    </span>
1696
1697    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
1698      <meta itemprop="name" content="煜寒了">
1699    </span>
1700
1701    
1702      <header class="post-header">
1703
1704        
1705        
1706          <h2 class="post-title" itemprop="name headline">
1707                
1708                <a class="post-title-link" href="/2017/12/04/go-is-not-very-simple-folks/" itemprop="url">伙计们,Go 并没有那么简单</a></h2>
1709        
1710
1711        <div class="post-meta">
1712          <span class="post-time">
1713            
1714              <span class="post-meta-item-icon">
1715                <i class="fa fa-calendar-o"></i>
1716              </span>
1717              
1718                <span class="post-meta-item-text">发表于</span>
1719              
1720              <time title="创建于" itemprop="dateCreated datePublished" datetime="2017-12-04T09:00:00+08:00">2017-12-04</time>
1721            
1722
1723            
1724            
1725
1726            
1727          </span>
1728
1729          
1730            <span class="post-category">
1731            
1732              <span class="post-meta-divider">|</span>
1733            
1734              <span class="post-meta-item-icon">
1735                <i class="fa fa-folder-o"></i>
1736              </span>
1737              
1738                <span class="post-meta-item-text">分类于</span>
1739              
1740              
1741                <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/Translate/" itemprop="url" rel="index"><span itemprop="name">Translate</span></a></span>
1742
1743                
1744                
1745                  , 
1746                
1747              
1748                <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/Translate/Go/" itemprop="url" rel="index"><span itemprop="name">Go</span></a></span>
1749
1750                
1751                
1752              
1753            </span>
1754          
1755
1756          
1757            
1758              <span class="post-comments-count">
1759                <span class="post-meta-divider">|</span>
1760                <span class="post-meta-item-icon">
1761                  <i class="fa fa-comment-o"></i>
1762                </span>
1763                <a href="/2017/12/04/go-is-not-very-simple-folks/#comments" itemprop="discussionUrl">
1764                  <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2017/12/04/go-is-not-very-simple-folks/" itemprop="commentCount"></span>
1765                </a>
1766              </span>
1767            
1768          
1769
1770          
1771          
1772             <span id="/2017/12/04/go-is-not-very-simple-folks/" class="leancloud_visitors" data-flag-title="伙计们,Go 并没有那么简单">
1773               <span class="post-meta-divider">|</span>
1774               <span class="post-meta-item-icon">
1775                 <i class="fa fa-eye"></i>
1776               </span>
1777               
1778                 <span class="post-meta-item-text">阅读次数&#58;</span>
1779               
1780                 <span class="leancloud-visitors-count"></span>
1781             </span>
1782          
1783
1784          
1785
1786          
1787
1788          
1789
1790        </div>
1791      </header>
1792    
1793
1794    
1795    
1796    
1797    <div class="post-body" itemprop="articleBody">
1798
1799      
1800      
1801
1802      
1803        
1804          <p>已发布:<a href="https://studygolang.com/articles/12330" target="_blank" rel="noopener">https://studygolang.com/articles/12330</a></p>
1805<h1 id="伙计们,Go-并没有那么简单"><a href="#伙计们,Go-并没有那么简单" class="headerlink" title="伙计们,Go 并没有那么简单"></a>伙计们,Go 并没有那么简单</h1><p>出于好奇,我最近开始接触一些 Go 的代码。我之前对它有一些了解,但是从来没有尝试去写(没有需求)。但是现在我们团队选择使用 Go 来开发一个项目,所以我觉得这是一个获得实际经验的好机会。</p>
1806<p>到目前为止,关于这门语言我已经学习了很长时间。在这个博文的末尾,我会写更多关于 Go 的干货。</p>
1807          <!--noindex-->
1808          <div class="post-button text-center">
1809            <a class="btn" href="/2017/12/04/go-is-not-very-simple-folks/#more" rel="contents">
1810              阅读全文 &raquo;
1811            </a>
1812          </div>
1813          <!--/noindex-->
1814        
1815      
1816    </div>
1817
1818    
1819
1820    
1821    
1822    
1823
1824    
1825
1826    
1827
1828    
1829
1830    
1831
1832    <footer class="post-footer">
1833      
1834
1835      
1836
1837      
1838
1839      
1840      
1841        <div class="post-eof"></div>
1842      
1843    </footer>
1844  </div>
1845  
1846  
1847  
1848  </article>
1849
1850
1851    
1852      
1853
1854  
1855
1856  
1857  
1858  
1859
1860  
1861
1862  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
1863  
1864  
1865  
1866  <div class="post-block">
1867    <link itemprop="mainEntityOfPage" href="https://blog.yuhanle.com/2017/05/02/gcd-sync-parallel/">
1868
1869    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
1870      <meta itemprop="name" content="煜寒了">
1871      <meta itemprop="description" content>
1872      <meta itemprop="image" content="/uploads/avatar.png">
1873    </span>
1874
1875    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
1876      <meta itemprop="name" content="煜寒了">
1877    </span>
1878
1879    
1880      <header class="post-header">
1881
1882        
1883        
1884          <h2 class="post-title" itemprop="name headline">
1885                
1886                <a class="post-title-link" href="/2017/05/02/gcd-sync-parallel/" itemprop="url">GCD 同步异步以及串并行详解</a></h2>
1887        
1888
1889        <div class="post-meta">
1890          <span class="post-time">
1891            
1892              <span class="post-meta-item-icon">
1893                <i class="fa fa-calendar-o"></i>
1894              </span>
1895              
1896                <span class="post-meta-item-text">发表于</span>
1897              
1898              <time title="创建于" itemprop="dateCreated datePublished" datetime="2017-05-02T08:00:00+08:00">2017-05-02</time>
1899            
1900
1901            
1902            
1903
1904            
1905          </span>
1906
1907          
1908            <span class="post-category">
1909            
1910              <span class="post-meta-divider">|</span>
1911            
1912              <span class="post-meta-item-icon">
1913                <i class="fa fa-folder-o"></i>
1914              </span>
1915              
1916                <span class="post-meta-item-text">分类于</span>
1917              
1918              
1919                <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/iOS/" itemprop="url" rel="index"><span itemprop="name">iOS</span></a></span>
1920
1921                
1922                
1923              
1924            </span>
1925          
1926
1927          
1928            
1929              <span class="post-comments-count">
1930                <span class="post-meta-divider">|</span>
1931                <span class="post-meta-item-icon">
1932                  <i class="fa fa-comment-o"></i>
1933                </span>
1934                <a href="/2017/05/02/gcd-sync-parallel/#comments" itemprop="discussionUrl">
1935                  <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2017/05/02/gcd-sync-parallel/" itemprop="commentCount"></span>
1936                </a>
1937              </span>
1938            
1939          
1940
1941          
1942          
1943             <span id="/2017/05/02/gcd-sync-parallel/" class="leancloud_visitors" data-flag-title="GCD 同步异步以及串并行详解">
1944               <span class="post-meta-divider">|</span>
1945               <span class="post-meta-item-icon">
1946                 <i class="fa fa-eye"></i>
1947               </span>
1948               
1949                 <span class="post-meta-item-text">阅读次数&#58;</span>
1950               
1951                 <span class="leancloud-visitors-count"></span>
1952             </span>
1953          
1954
1955          
1956
1957          
1958
1959          
1960
1961        </div>
1962      </header>
1963    
1964
1965    
1966    
1967    
1968    <div class="post-body" itemprop="articleBody">
1969
1970      
1971      
1972
1973      
1974        
1975          <p><img src="http://cdn.yuhanle.com/gcd/wind-surfing-67627_1920.jpg" alt="浪起来"></p>
1976<p>GCD是iOS开发多线程中经常使用的技术,先看一下GCD中的常见的术语<br>
1977          <!--noindex-->
1978          <div class="post-button text-center">
1979            <a class="btn" href="/2017/05/02/gcd-sync-parallel/#more" rel="contents">
1980              阅读全文 &raquo;
1981            </a>
1982          </div>
1983          <!--/noindex-->
1984        
1985      
1986    </p></div>
1987
1988    
1989
1990    
1991    
1992    
1993
1994    
1995
1996    
1997
1998    
1999
2000    
2001
2002    <footer class="post-footer">
2003      
2004
2005      
2006
2007      
2008
2009      
2010      
2011        <div class="post-eof"></div>
2012      
2013    </footer>
2014  </div>
2015  
2016  
2017  
2018  </article>
2019
2020
2021    
2022  </section>
2023
2024  
2025  <nav class="pagination">
2026    <span class="page-number current">1</span><a class="page-number" href="/page/2/">2</a><a class="page-number" href="/page/3/">3</a><a class="extend next" rel="next" href="/page/2/"><i class="fa fa-angle-right"></i></a>
2027  </nav>
2028
2029
2030
2031          </div>
2032          
2033
2034        </div>
2035        
2036          
2037  
2038  <div class="sidebar-toggle">
2039    <div class="sidebar-toggle-line-wrap">
2040      <span class="sidebar-toggle-line sidebar-toggle-line-first"></span>
2041      <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span>
2042      <span class="sidebar-toggle-line sidebar-toggle-line-last"></span>
2043    </div>
2044  </div>
2045
2046  <aside id="sidebar" class="sidebar">
2047    
2048    <div class="sidebar-inner">
2049
2050      
2051
2052      
2053
2054      <section class="site-overview-wrap sidebar-panel sidebar-panel-active">
2055        <div class="site-overview">
2056          <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
2057            
2058              <img class="site-author-image" itemprop="image" src="/uploads/avatar.png" alt="煜寒了">
2059            
2060              <p class="site-author-name" itemprop="name">煜寒了</p>
2061              <p class="site-description motion-element" itemprop="description">前爱奇艺高级会员</p>
2062          </div>
2063
2064          
2065            <nav class="site-state motion-element">
2066              
2067                <div class="site-state-item site-state-posts">
2068                
2069                  <a href="/archives/">
2070                
2071                    <span class="site-state-item-count">29</span>
2072                    <span class="site-state-item-name">日志</span>
2073                  </a>
2074                </div>
2075              
2076
2077              
2078                
2079                
2080                <div class="site-state-item site-state-categories">
2081                  <a href="/categories/index.html">
2082                    
2083                    
2084                      
2085                    
2086                      
2087                    
2088                      
2089                    
2090                      
2091                    
2092                      
2093                    
2094                      
2095                    
2096                      
2097                    
2098                      
2099                    
2100                      
2101                    
2102                      
2103                    
2104                      
2105                    
2106                      
2107                    
2108                      
2109                    
2110                      
2111                    
2112                    <span class="site-state-item-count">14</span>
2113                    <span class="site-state-item-name">分类</span>
2114                  </a>
2115                </div>
2116              
2117
2118              
2119                
2120                
2121                <div class="site-state-item site-state-tags">
2122                  <a href="/tags/index.html">
2123                    
2124                    
2125                      
2126                    
2127                      
2128                    
2129                      
2130                    
2131                      
2132                    
2133                      
2134                    
2135                      
2136                    
2137                      
2138                    
2139                      
2140                    
2141                      
2142                    
2143                      
2144                    
2145                      
2146                    
2147                      
2148                    
2149                      
2150                    
2151                      
2152                    
2153                      
2154                    
2155                      
2156                    
2157                      
2158                    
2159                      
2160                    
2161                      
2162                    
2163                      
2164                    
2165                      
2166                    
2167                    <span class="site-state-item-count">21</span>
2168                    <span class="site-state-item-name">标签</span>
2169                  </a>
2170                </div>
2171              
2172            </nav>
2173          
2174
2175          
2176            <div class="feed-link motion-element">
2177              <a href="/atom.xml" rel="alternate">
2178                <i class="fa fa-rss"></i>
2179                RSS
2180              </a>
2181            </div>
2182          
2183
2184          
2185            <div class="links-of-author motion-element">
2186              
2187                <span class="links-of-author-item">
2188                  <a href="https://github.com/yuhanle" target="_blank" title="GitHub" rel="external nofollow"><i class="fa fa-fw fa-github"></i>GitHub</a>
2189                  
2190                </span>
2191              
2192                <span class="links-of-author-item">
2193                  <a href="mailto:[email protected]" target="_blank" title="E-Mail" rel="external nofollow"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
2194                  
2195                </span>
2196              
2197            </div>
2198          
2199
2200          
2201          
2202
2203          
2204          
2205            <div class="links-of-blogroll motion-element links-of-blogroll-inline">
2206              <div class="links-of-blogroll-title">
2207                <i class="fa  fa-fw fa-link"></i>
2208                Links
2209              </div>
2210              <ul class="links-of-blogroll-list">
2211                
2212                  <li class="links-of-blogroll-item">
2213                    <a href="https://latehorse.github.io/" title="晚码工作室" target="_blank">晚码工作室</a>
2214                  </li>
2215                
2216              </ul>
2217            </div>
2218          
2219
2220          
2221            
2222          
2223          
2224
2225        </div>
2226      </section>
2227
2228      
2229
2230      
2231
2232    </div>
2233  </aside>
2234
2235
2236        
2237      </div>
2238    </main>
2239
2240    <footer id="footer" class="footer">
2241      <div class="footer-inner">
2242        <div class="copyright">&copy; 2014 &mdash; <span itemprop="copyrightYear">2021</span>
2243  <span class="with-love">
2244    <i class="fa fa-user"></i>
2245  </span>
2246  <span class="author" itemprop="copyrightHolder">yuhanle</span>
2247
2248  
2249
2250  
2251</div>
2252
2253
2254  
2255
2256
2257
2258  <div class="powered-by">由 <a class="theme-link" target="_blank" rel="external nofollow" href="https://hexo.io">Hexo</a> 强力驱动</div>
2259
2260
2261
2262  <span class="post-meta-divider">|</span>
2263
2264
2265
2266  <div class="theme-info">主题 &mdash; <a class="theme-link" target="_blank" rel="external nofollow" href="https://github.com/theme-next/hexo-theme-next">NexT.Mist</a></div>
2267
2268
2269
2270  <span class="post-meta-divider">|</span>
2271
2272
2273
2274  <div class="footer-custom">Hosted by <a target="_blank" rel="external nofollow" href="https://pages.coding.me"><b>Coding Pages</b></a></div>
2275
2276
2277<div class="theme-info">
2278  <div class="powered-by"></div>
2279  <span class="post-count"> | 博客全站共49.4k字</span>
2280</div>
2281
2282        
2283
2284
2285
2286
2287
2288
2289
2290
2291        
2292      </div>
2293    </footer>
2294
2295    
2296      <div class="back-to-top">
2297        <i class="fa fa-arrow-up"></i>
2298        
2299      </div>
2300    
2301
2302    
2303
2304  </div>
2305
2306  
2307
2308<script type="text/javascript">
2309  if (Object.prototype.toString.call(window.Promise) !== '[object Function]') {
2310    window.Promise = null;
2311  }
2312</script>
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339  
2340  
2341    
2341<script type="text/javascript" src="/lib/jquery/index.js?v=2.1.3"></script>
2341
2342  
2343
2344  
2345  
2346    
2346<script type="text/javascript" src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
2346
2347  
2348
2349  
2350  
2351    
2351<script type="text/javascript" src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
2351
2352  
2353
2354
2355  
2356
2357
2358  
2358<script type="text/javascript" src="/js/src/utils.js?v=6.0.4"></script>
2358
2359
2360  
2360<script type="text/javascript" src="/js/src/motion.js?v=6.0.4"></script>
2360
2361
2362
2363
2364  
2365  
2366
2367  
2368
2369  
2370
2371
2372  
2372<script type="text/javascript" src="/js/src/bootstrap.js?v=6.0.4"></script>
2372
2373
2374
2375
2376  
2377
2378  
2379    
2379<script id="dsq-count-scr" src="https://meetus.disqus.com/count.js" async></script>
2379
2380  
2381
2382  
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399  
2400
2401
2402
2403
2404
2405  
2406
2407  
2408  
2408<script src="https://cdn1.lncld.net/static/js/av-core-mini-0.6.4.js"></script>
2408
2409  
2409<script>AV.initialize("fd8MoWRIf0dWwKf4SljwWpiy-gzGzoHsz", "kwq6VYz9iEvxkfeWTenc71H0");</script>
2409
2410  
2410<script>
2411    function showTime(Counter) {
2412      var query = new AV.Query(Counter);
2413      var entries = [];
2414      var $visitors = $(".leancloud_visitors");
2415
2416      $visitors.each(function () {
2417        entries.push( $(this).attr("id").trim() );
2418      });
2419
2420      query.containedIn('url', entries);
2421      query.find()
2422        .done(function (results) {
2423          var COUNT_CONTAINER_REF = '.leancloud-visitors-count';
2424
2425          if (results.length === 0) {
2426            $visitors.find(COUNT_CONTAINER_REF).text(0);
2427            return;
2428          }
2429
2430          for (var i = 0; i < results.length; i++) {
2431            var item = results[i];
2432            var url = item.get('url');
2433            var time = item.get('time');
2434            var element = document.getElementById(url);
2435
2436            $(element).find(COUNT_CONTAINER_REF).text(time);
2437          }
2438          for(var i = 0; i < entries.length; i++) {
2439            var url = entries[i];
2440            var element = document.getElementById(url);
2441            var countSpan = $(element).find(COUNT_CONTAINER_REF);
2442            if( countSpan.text() == '') {
2443              countSpan.text(0);
2444            }
2445          }
2446        })
2447        .fail(function (object, error) {
2448          console.log("Error: " + error.code + " " + error.message);
2449        });
2450    }
2451
2452    function addCount(Counter) {
2453      var $visitors = $(".leancloud_visitors");
2454      var url = $visitors.attr('id').trim();
2455      var title = $visitors.attr('data-flag-title').trim();
2456      var query = new AV.Query(Counter);
2457
2458      query.equalTo("url", url);
2459      query.find({
2460        success: function(results) {
2461          if (results.length > 0) {
2462            var counter = results[0];
2463            counter.fetchWhenSave(true);
2464            counter.increment("time");
2465            counter.save(null, {
2466              success: function(counter) {
2467                var $element = $(document.getElementById(url));
2468                $element.find('.leancloud-visitors-count').text(counter.get('time'));
2469              },
2470              error: function(counter, error) {
2471                console.log('Failed to save Visitor num, with error message: ' + error.message);
2472              }
2473            });
2474          } else {
2475            var newcounter = new Counter();
2476            /* Set ACL */
2477            var acl = new AV.ACL();
2478            acl.setPublicReadAccess(true);
2479            acl.setPublicWriteAccess(true);
2480            newcounter.setACL(acl);
2481            /* End Set ACL */
2482            newcounter.set("title", title);
2483            newcounter.set("url", url);
2484            newcounter.set("time", 1);
2485            newcounter.save(null, {
2486              success: function(newcounter) {
2487                var $element = $(document.getElementById(url));
2488                $element.find('.leancloud-visitors-count').text(newcounter.get('time'));
2489              },
2490              error: function(newcounter, error) {
2491                console.log('Failed to create');
2492              }
2493            });
2494          }
2495        },
2496        error: function(error) {
2497          console.log('Error:' + error.code + " " + error.message);
2498        }
2499      });
2500    }
2501
2502    $(function() {
2503      var Counter = AV.Object.extend("Counter");
2504      if ($('.leancloud_visitors').length == 1) {
2505        addCount(Counter);
2506      } else if ($('.post-title-link').length > 1) {
2507        showTime(Counter);
2508      }
2509    });
2510  </script>
2510
2511
2512
2513
2514  
2515
2516  
2517
2518  
2519  
2520
2521  
2522  
2523    
2524      
2525    
2526      
2527    
2528      
2529    
2530      
2531    
2532      
2533    
2534      
2535    
2536      
2537    
2538      
2539    
2540      
2541    
2542      
2543    
2544  
2545
2546  
2547
2548
2549  
2550  
2551
2552  
2553
2554  
2555
2556  
2557
2558  
2559
2560</body>
2561</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.