/
index.html
568 lines (408 loc) · 26.9 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
<!DOCTYPE HTML>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>2015 年个人总结 | 唐巧的博客</title>
<meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=no">
<meta name="author" content="唐巧">
<meta name="description" content="关于创业今年猿题库顺利拿到了 D 轮 6000 万美元的 融资,估值 3.6 亿美元。而我负责的 小猿搜题,也从年初的几十万用户,增长到了 5000 多万用户。 今年是小猿搜题的风光年,我们上了「天天向上」,在各种黄金档节目中打电视广告,整体用户数据增长惊人。研究组、市场运营、内容部门各种给力,使得产品技术工作进展得非常顺利。 下图是小猿搜题登上 AppStore 教育榜榜首的截图。 我的工作">
<meta property="og:type" content="article">
<meta property="og:title" content="2015 年个人总结">
<meta property="og:url" content="https://blog.devtang.com/2016/01/02/2015-summary/index.html">
<meta property="og:site_name" content="唐巧的博客">
<meta property="og:description" content="关于创业今年猿题库顺利拿到了 D 轮 6000 万美元的 融资,估值 3.6 亿美元。而我负责的 小猿搜题,也从年初的几十万用户,增长到了 5000 多万用户。 今年是小猿搜题的风光年,我们上了「天天向上」,在各种黄金档节目中打电视广告,整体用户数据增长惊人。研究组、市场运营、内容部门各种给力,使得产品技术工作进展得非常顺利。 下图是小猿搜题登上 AppStore 教育榜榜首的截图。 我的工作">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://blog.devtang.com/images/xyst_appstore_1.jpg">
<meta property="og:image" content="https://blog.devtang.com/images/evernotes.jpg">
<meta property="og:image" content="https://blog.devtang.com/images/ios_pro_17000.jpg">
<meta property="article:published_time" content="2016-01-02T03:08:13.000Z">
<meta property="article:modified_time" content="2020-02-08T18:08:22.165Z">
<meta property="article:author" content="唐巧">
<meta property="article:tag" content="anniversary">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://blog.devtang.com/images/xyst_appstore_1.jpg">
<link rel="alternative" href="/atom.xml" title="唐巧的博客" type="application/atom+xml">
<link rel="icon" href="/img/favicon.png">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/%02.css">
<link rel="stylesheet" href="/.css">
<meta name="generator" content="Hexo 4.2.0"></head>
<body>
<header>
<div>
<div id="textlogo">
<h1 class="site-name"><a href="/" title="唐巧的博客">唐巧的博客</a></h1>
<h2 class="blog-motto">记录下自己学习的点滴</h2>
</div>
<div class="navbar"><a class="navbutton navmobile" href="#" title="菜单">
</a></div>
<nav class="animated">
<ul>
<ul>
<li><a href="/">首页</a></li>
<li><a href="/archives">归档</a></li>
<li><a href="/about">关于</a></li>
<li>
<form class="search" action="//google.com/search" method="get" accept-charset="utf-8">
<label>Search</label>
<input type="search" id="search" name="q" autocomplete="off" maxlength="20" placeholder="搜索" />
<input type="hidden" name="q" value="site:blog.devtang.com">
</form>
</li>
</ul>
</nav>
</div>
</header>
<div id="container">
<div id="main" class="post" itemscope itemprop="blogPost">
<article itemprop="articleBody">
<header class="article-info clearfix">
<h1 itemprop="name">
<a href="/2016/01/02/2015-summary/" title="2015 年个人总结" itemprop="url">2015 年个人总结</a>
</h1>
<p class="article-time">
<time datetime="2016-01-02T03:08:13.000Z" itemprop="datePublished"> 发表于 2016-01-02 03:08</time>
</p>
</header>
<div class="article-content">
<div id="toc" class="toc-article">
<strong class="toc-title">文章目录</strong>
<ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#关于创业"><span class="toc-number">1.</span> <span class="toc-text">关于创业</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#我的工作"><span class="toc-number">2.</span> <span class="toc-text">我的工作</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#图书出版"><span class="toc-number">3.</span> <span class="toc-text">图书出版</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#写作"><span class="toc-number">4.</span> <span class="toc-text">写作</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#读书"><span class="toc-number">5.</span> <span class="toc-text">读书</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#好奇心"><span class="toc-number">6.</span> <span class="toc-text">好奇心</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#未来的计划"><span class="toc-number">7.</span> <span class="toc-text">未来的计划</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#个人-Milestone"><span class="toc-number">8.</span> <span class="toc-text">个人 Milestone</span></a></li></ol>
</div>
<h2 id="关于创业"><a href="#关于创业" class="headerlink" title="关于创业"></a>关于创业</h2><p>今年猿题库顺利拿到了 D 轮 6000 万美元的 <a href="http://36kr.com/p/531286.html" target="_blank" rel="noopener">融资</a>,估值 3.6 亿美元。而我负责的 <a href="http://www.yuansouti.com/" target="_blank" rel="noopener">小猿搜题</a>,也从年初的几十万用户,增长到了 5000 多万用户。</p>
<p>今年是小猿搜题的风光年,我们上了「天天向上」,在各种黄金档节目中打电视广告,整体用户数据增长惊人。研究组、市场运营、内容部门各种给力,使得产品技术工作进展得非常顺利。</p>
<p>下图是小猿搜题登上 AppStore 教育榜榜首的截图。</p>
<img src="/images/xyst_appstore_1.jpg" class="">
<h2 id="我的工作"><a href="#我的工作" class="headerlink" title="我的工作"></a>我的工作</h2><p>对于我自己来说,2015 年的工作主要分成上半年和下半年两个阶段。</p>
<p>上半年,我一边负责小猿搜题的 iOS 开发工作,一边负责小猿搜题技术团队的组建和协调工作。小猿搜题当前大部分同事都是在上半年入职到这个团队的。</p>
<p>下半年,团队成员磨合得差不多了,团队里面 iOS 同事也成长起来了,我自己能够从 iOS 具体的开发工作中脱身,使得我更多地关注产品和团队了。</p>
<p>下半年自己的工作主要聚焦到了管理业务和管理团队上,每天组织协调和沟通的事情很多,除了 Scrum 的定期会议外,我还得参加产品的 Scrum 会议和产品过稿,还有美术的过稿。另外,我时不时也需要和运营的同事沟通协调。</p>
<p>有时候忙完一整天不知道时间是如何过去的,然后又看着自己 iOS 开发技能慢慢变弱,有一种焦虑感。于是我首先开始多读书,接着就是总结,试图调整自己。</p>
<p>数据分析的工作让我知道任何的改进都是应该基于数据的,这样更加理性。所以,我拿了一个小本子,记录自己每天的详细时间花费情况。于是就有了下图这样的一页一页的记录。</p>
<img src="/images/evernotes.jpg" class="">
<p>这样大概记录了一周多,我基本上知道了自己的时间是如何花掉的了。然后,我开始归类自己的时间花费,看看主要花在了哪些地方。对于一些优先级不高的事情,我会注意调整它,不要让它把重要的事情给耽误了。</p>
<p>我也开始总结一个产品技术负责人的工作。在想得差不多了之后,我利用每周一早上和 CTO 的沟通机会进行讨论,最终,我完成了文章:<a href="/2015/12/18/from-dev-to-manager/">《涅槃重生:我的技术转管理之路》</a>,并且在北京架构师峰会上做了相应的技术转管理分享。</p>
<p>现在我不那么焦虑了,不过觉得自己还是需要多学习和提高。</p>
<h2 id="图书出版"><a href="#图书出版" class="headerlink" title="图书出版"></a>图书出版</h2><p><a href="http://item.jd.com/11598468.html" target="_blank" rel="noopener">《iOS 开发进阶》</a> 在 2015 年 1 月份顺利出版,然后首印 3000 册迅速卖掉了,出版社加印了 2000 册,然后过一周又卖光了,然后他们加印了 5000 册。之后又陆续有加印,最终到年底的时候,《iOS 开发进阶》销售了 17000 册,我听出版社老师说,这个成绩在技术图书里面是算相当好的。</p>
<img src="/images/ios_pro_17000.jpg" class="">
<p>虽然称不上完美无缺,我个人对这本书的自评是问心无愧的。我用 Scrum 的管理方式来管理这本书的写作过程,我想在互联网时代,按时发布产品比什么都重要,所以,虽然有很多想继续完善的地方,我还是把它付印了。我也把写这本书的过程总结下来,完成了 <a href="/2015/01/11/how-to-finish-ios-pro-book/">《我是如何完成《iOS 开发进阶》的编写的》</a>,希望能给想出书的同行一些帮助。</p>
<p>由于我从一线 iOS 开发工作中脱离,《iOS 开发进阶》很可能不会再更新出第二版了,17000 册这个成绩,对于当时 30 岁的我来说,还算是一个不错的里程碑。这次写作让我感受到了出版的乐趣,其实我自己还在蕴量一些写作素材,或许以后会给大家一些新的分享。</p>
<h2 id="写作"><a href="#写作" class="headerlink" title="写作"></a>写作</h2><p>今年在博客上完成了 45 篇原创博客文章,差不多一周一篇的节奏。因为 iOS 开发做得少了,所以我的文章中涉及 iOS 开发技术细节的内容少了很多。</p>
<p>我仔细分析了一下今年的博客文章,内容涉及面很广。包括一些 iOS 开发方面的文章,如:</p>
<ul>
<li><a href="/2015/01/31/write-sdk-tips/">写 iOS SDK 注意事项</a></li>
<li><a href="/2015/03/15/ios-dev-controversy-1/">iOS 开发中的争议(一)</a></li>
<li><a href="/2015/03/22/ios-dev-controversy-2/">iOS 开发中的争议(二)</a></li>
<li><a href="/2015/11/02/mvc-and-mvvm/">被误解的 MVC 和被神化的 MVVM</a></li>
</ul>
<p>另外,我也向「娱乐记者」转变,采访了一些国内新出现的 iOS 大牛,以及报道一些行业新闻,比如</p>
<ul>
<li><a href="/2015/06/16/talk-about-swift-open-source/">谈谈苹果开源 Swift</a></li>
<li><a href="/2015/11/26/yykit-auther-interview/">专访 YYKit 作者 ibireme: 开源大牛是怎样炼成的</a></li>
</ul>
<p>我更不务正业地写起了硬件的评测:</p>
<ul>
<li><a href="/2015/06/28/apple-watch-usage-exp/">Apple Watch 使用体验</a></li>
</ul>
<p>当然,最离谱的就是我开始卖软件了,我和荔枝数码合作先后卖了 Reveal 和 Charles 两款 iOS 开发中需要的效率工具软件,也为此写了一些文章:</p>
<ul>
<li><a href="/2015/05/25/can-we-buy-time/">Reveal 中国特惠活动</a></li>
<li><a href="/2015/11/14/charles-introduction/">Charles 从入门到精通 (中国 5 折特惠)</a></li>
</ul>
<p>因为工作关系,我也开始总结自己的技术转管理收获,完成了:</p>
<ul>
<li><a href="/2015/10/25/one-on-one-summary/">浅析一对一沟通</a></li>
<li><a href="/2015/12/18/from-dev-to-manager/">涅槃重生:我的技术转管理之路</a></li>
</ul>
<p>在产品工作上面,总结了:</p>
<ul>
<li><a href="/2015/09/02/why-we-need-monitor-data/">数据的秘密(上)- 为什么要关注数据</a></li>
<li><a href="/2015/09/03/how-to-monitor-data/">数据的秘密(下)- 如何分析数据</a></li>
</ul>
<h2 id="读书"><a href="#读书" class="headerlink" title="读书"></a>读书</h2><p>另外,今年开始认真写读书笔记,完成了:</p>
<ul>
<li><a href="/2015/03/01/tipping-point/">《引爆点》读书心得</a></li>
<li><a href="/2015/04/04/from-0-to-1-book-summary/">《从 0 到 1 》读书笔记</a></li>
<li><a href="/2015/08/01/become-a-tech-leader-summary/">《成为技术领导者》读书心得</a></li>
<li><a href="/2015/08/02/the-story-of-success-book-summary/">《异类》读书心得</a></li>
<li><a href="/2015/08/22/reverse-book-summary/">《逆转》读书心得</a></li>
</ul>
<p>其实还看了一些别的书,包括《格鲁夫给经理人的第一课》、《增长黑客》、《领导梯队》等,但是都没有完成笔记,之后打算补上。</p>
<p>iOS 技术图书也看了不少,要说推荐,还是王巍的 <a href="https://selfstore.io/products/171" target="_blank" rel="noopener">《Swifter》</a> 和 Kevin 的 <a href="https://selfstore.io/products/367" target="_blank" rel="noopener">《Producter》</a> 。《Swifter》适合给新手入门用,《Producter》是一本跨界的书,适合 iOS 开发者用来开拓自己的眼界。</p>
<h2 id="好奇心"><a href="#好奇心" class="headerlink" title="好奇心"></a>好奇心</h2><p>2015 年我特别提醒自己要有好奇心,于是就做了很多有趣的事情。</p>
<p>比如,因为搬家和装修,我自己学习了换门锁、换马桶盖子、换马桶的上水管、组装板材家俱、在墙上钻孔这些技能,感觉还挺有意思的,有些时候就感觉在摆弄大号的积木玩具一样。</p>
<p>比如,因为对社群经济感兴趣,交了 1024 元加入了池建强和李笑来老师建的付费群。</p>
<p>比如,因为对 <a href="http://www.zaih.com/mentor/84802679/topic/29864843/" target="_blank" rel="noopener">「在行」</a> 这个 App 感兴趣,在上面接单,约见了五位朋友。</p>
<p>好奇心给我带来了极大的收获,比如池老师的那个付费群,我最终不但收获了不少有意思的分享,而且学习了当前社群的运作模式。在「在行」上接单不但收到了一些咨询费,更多的是认识了很多有趣的人,比如说罗飞。</p>
<p>如果要说好奇心给我带来的最大收获,那可能就是「iOS 开发」微信公众号的运营了。</p>
<p>从时间上看,我的「iOS 开发」微信公众号已经运营 3 年多了:</p>
<ul>
<li>2013 年 2 月 21 日,我开始在微信公众号里发表 iOS 开发相关内容。</li>
<li>2013 年 12 月累积发表了 140 条信息,累积了 5600 名粉丝。</li>
<li>2014 年 12 月累积了 1 万名粉丝。</li>
<li>2015 年 12 月累积了 3 万名粉丝。</li>
</ul>
<p>最主要的是,我原本没指望做这个事情有什么收获,但是从 2015 年起,开始有各种互联网企业找我投放广告。在这里感谢我的主要广告主:</p>
<ul>
<li><a href="https://www.upyun.com/zh/index.html" target="_blank" rel="noopener">UPYUN</a>:UPYUN 是国内领先的云服务提供商,专注于为开发者提供静态文件的云存储、云处理和 CDN 加速服务。</li>
<li><a href="http://100offer.com/" target="_blank" rel="noopener">100Offer</a>:用「拍卖」的方式来提供高端互联网人才招聘的网站。</li>
<li><a href="http://www.lagou.com/" target="_blank" rel="noopener">拉勾网</a>:最专业的互联网招聘平台,我自己就从上面招到了不少同事。</li>
<li><a href="http://www.infoq.com/cn" target="_blank" rel="noopener">InfoQ</a>:InfoQ 了提供中国最高质量的技术会议和技术文章,我自己也是 InfoQ 的社区编辑。现在 InfoQ 创始人 Kevin 把业务做得更广,成立了 <a href="http://www.geekbang.org/" target="_blank" rel="noopener">极客邦科技</a>,在极客邦科技之下,除了 InfoQ 之外,另外组建了高端技术人员社交网络 EGO、IT 职业学习平台 StuQ 和 企业培训服务 GIT。</li>
</ul>
<p>再次感谢你们,是你们让我这个自媒体有肉吃。</p>
<p>同时,我也要感谢我的读者,谢谢你们忍受偶尔出现的广告。我仔细算了一下,现在广告的频率是每月 2-3 次。你们放心,我会努力控制广告频率,如果控制不住,我就会涨价的!</p>
<h2 id="未来的计划"><a href="#未来的计划" class="headerlink" title="未来的计划"></a>未来的计划</h2><p>2016年,希望自己:</p>
<ul>
<li>每月至少完成一篇读书笔记。</li>
<li>每周坚持发至少一篇微信公众号文章。</li>
</ul>
<h2 id="个人-Milestone"><a href="#个人-Milestone" class="headerlink" title="个人 Milestone"></a>个人 Milestone</h2><ul>
<li>小猿搜题团队组建成功,并且获得 5000 万用户量。</li>
<li>「iOS 开发」微信公众号获得了 3 万粉丝,并开始有广告收入。</li>
</ul>
<!--
22 次
100 offer
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=444425913&idx=1&sn=edae69f061b7e963b626ff0564e0d55c#rd
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=210036524&idx=1&sn=6ac23a8a4a518dac51bbf875da788df2#rd
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=209774617&idx=1&sn=f36182036013a89567bb150be29440d2#rd
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=209555090&idx=1&sn=64986a94516329f65be25166f7f05f39#rd
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=204693407&idx=1&sn=53f7e05318aaad91e09ab8ff7043459b#rd
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=204526037&idx=1&sn=f86643463659011430cd6bbf3538ca13#rd
lagou:
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=443546076&idx=1&sn=2fee1e70380a8c04e0b346a3fb36b3d9#rd
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=440158123&idx=1&sn=9b0452fba8ab687b902cb3110846dbe4#rd
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=400074920&idx=1&sn=cbfcdca750798cc16e92ff7997ed61fb#rd
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=209664745&idx=1&sn=eedfa5d8c5f7183997a22d06a4c3904e#rd
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=208301774&idx=1&sn=adffaef537aff67f01db3992be796c89#rd
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=206695843&idx=1&sn=2617a5966f347a98d6b9ef490f0292b4#rd
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=205584984&idx=1&sn=584e2913718833020cfd990465e3afe5#rd
infoQ:
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=421410076&idx=1&sn=8a6671aa72abfadb03cfb8f224523838#rd
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=405922788&idx=1&sn=e1f2a1e5b4ccddd2f0b31eefdafd56ae#wechat_redirect
pgyer:
http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=420641198&idx=1&sn=f43c61cb451db72d4145fbaad089b8ba#rd
BugTags:
http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=209938150&idx=1&sn=4ff4715b21d88a384c747e098fa9c1aa#rd
UPYUN:
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=209728624&idx=1&sn=1ab063924d3d8863c7c66a9f820e34c7#rd
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=208075893&idx=1&sn=09164a9954092d12ba2a5eb341cb857b#rd
丰厚资本:
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=209397391&idx=1&sn=8e9ff6100379bd289a901c4aec400e8e#rd
借贷宝:
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=209067756&idx=1&sn=396d17ec6f2aefc6547ae488719ff669#rd
理财工场:
* http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=208847424&idx=2&sn=d26831cf3d4f41639c8fbf37ba662c55#rd
-->
</div>
<footer class="article-footer clearfix">
<div class="article-catetags">
<div class="article-categories">
<span></span>
<a class="article-category-link" href="/categories/summary/">summary</a>
</div>
<div class="article-tags">
<span></span> <a href="/tags/anniversary/">anniversary</a>
</div>
</div>
<div class="article-share" id="share">
<div data-url="https://blog.devtang.com/2016/01/02/2015-summary/" data-title="2015 年个人总结 | 唐巧的博客" data-tsina="" class="share clearfix">
</div>
</div>
</footer>
</article>
<nav class="article-nav clearfix">
<div class="prev" >
<a href="/2016/01/02/reactive-cocoa-discussion/" title="ReactiveCocoa 讨论会">
<strong>上一篇:</strong><br/>
<span>
ReactiveCocoa 讨论会</span>
</a>
</div>
<div class="next">
<a href="/2015/12/24/resume-cheat-story/" title="培训机构出来的 iOS 学员怎么了?">
<strong>下一篇:</strong><br/>
<span>培训机构出来的 iOS 学员怎么了?
</span>
</a>
</div>
</nav>
</div>
<div class="openaside"><a class="navbutton" href="#" title="显示侧边栏"></a></div>
<div id="asidepart">
<div class="closeaside"><a class="closebutton" href="#" title="隐藏侧边栏"></a></div>
<aside class="clearfix">
<div class="sponsor">
</div>
<div class="categorieslist">
<p class="asidetitle">分类</p>
<ul>
<li><a href="/categories/books-summary/" title="books summary">books summary</a></li>
<li><a href="/categories/iOS/" title="iOS">iOS</a></li>
<li><a href="/categories/iOS-weekly/" title="iOS weekly">iOS weekly</a></li>
<li><a href="/categories/mac/" title="mac">mac</a></li>
<li><a href="/categories/shell/" title="shell">shell</a></li>
<li><a href="/categories/summary/" title="summary">summary</a></li>
</ul>
</div>
<div class="weixin">
<br />
<p class="asidetitle">微信公众号</p>
<p>关注我的微信公众号,和我一起成长:</p>
<img src="/images/weixin-qr.jpg" width="230px" />
</div>
<div class="rsspart">
<a href="/atom.xml" target="_blank" title="rss">RSS 订阅</a>
</div>
</aside>
</div>
</div>
<footer><div id="footer" >
<div class="social-font" class="clearfix">
</div>
<p class="copyright" style="margin-top: 10px;">
Powered by <a href="http://hexo.io" target="_blank" title="hexo">hexo</a> and Theme by <a href="https://github.com/wuchong/jacman" target="_blank" title="Jacman">Jacman</a> © 2020
<a href="/about" target="_blank" title="唐巧">唐巧</a>
</p>
</div>
</footer>
<script src="/js/jquery-2.0.3.min.js"></script>
<script src="/js/jquery.imagesloaded.min.js"></script>
<script src="/js/gallery.js"></script>
<script src="/js/jquery.qrcode-0.12.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.navbar').click(function(){
$('header nav').toggleClass('shownav');
});
var myWidth = 0;
function getSize(){
if( typeof( window.innerWidth ) == 'number' ) {
myWidth = window.innerWidth;
} else if( document.documentElement && document.documentElement.clientWidth) {
myWidth = document.documentElement.clientWidth;
};
};
var m = $('#main'),
a = $('#asidepart'),
c = $('.closeaside'),
o = $('.openaside');
c.click(function(){
a.addClass('fadeOut').css('display', 'none');
o.css('display', 'block').addClass('fadeIn');
m.addClass('moveMain');
});
o.click(function(){
o.css('display', 'none').removeClass('beforeFadeIn');
a.css('display', 'block').removeClass('fadeOut').addClass('fadeIn');
m.removeClass('moveMain');
});
$(window).scroll(function(){
o.css("top",Math.max(80,260-$(this).scrollTop()));
});
$(window).resize(function(){
getSize();
if (myWidth >= 1024) {
$('header nav').removeClass('shownav');
}else{
m.removeClass('moveMain');
a.css('display', 'block').removeClass('fadeOut');
o.css('display', 'none');
}
});
});
</script>
<script type="text/javascript">
$(document).ready(function(){
var ai = $('.article-content>iframe'),
ae = $('.article-content>embed'),
t = $('#toc'),
ta = $('#toc.toc-aside'),
o = $('.openaside'),
c = $('.closeaside');
if(ai.length>0){
ai.wrap('<div class="video-container" />');
};
if(ae.length>0){
ae.wrap('<div class="video-container" />');
};
c.click(function(){
ta.css('display', 'block').addClass('fadeIn');
});
o.click(function(){
ta.css('display', 'none');
});
$(window).scroll(function(){
ta.css("top",Math.max(140,320-$(this).scrollTop()));
});
});
</script>
<script type="text/javascript">
$(document).ready(function(){
var $this = $('.share'),
url = $this.attr('data-url'),
encodedUrl = encodeURIComponent(url),
title = $this.attr('data-title'),
tsina = $this.attr('data-tsina'),
description = $this.attr('description');
var html = [
'<div class="hoverqrcode clearfix"></div>',
'<a class="overlay" id="qrcode"></a>',
'<a href="https://www.facebook.com/sharer.php?u=' + encodedUrl + '" class="article-share-facebook" target="_blank" title="Facebook"></a>',
'<a href="https://twitter.com/intent/tweet?url=' + encodedUrl + '" class="article-share-twitter" target="_blank" title="Twitter"></a>',
'<a href="#qrcode" class="article-share-qrcode" title="微信"></a>',
'<a href="http://widget.renren.com/dialog/share?resourceUrl=' + encodedUrl + '&srcUrl=' + encodedUrl + '&title=' + title +'" class="article-share-renren" target="_blank" title="人人"></a>',
'<a href="http://service.weibo.com/share/share.php?title='+title+'&url='+encodedUrl +'&ralateUid='+ tsina +'&searchPic=true&style=number' +'" class="article-share-weibo" target="_blank" title="微博"></a>',
'<span title="Share to"></span>'
].join('');
$this.append(html);
$('.hoverqrcode').hide();
var myWidth = 0;
function updatehoverqrcode(){
if( typeof( window.innerWidth ) == 'number' ) {
myWidth = window.innerWidth;
} else if( document.documentElement && document.documentElement.clientWidth) {
myWidth = document.documentElement.clientWidth;
};
var qrsize = myWidth > 1024 ? 200:100;
var options = {render: 'image', size: qrsize, fill: '#2ca6cb', text: url, radius: 0.5, quiet: 1};
var p = $('.article-share-qrcode').position();
$('.hoverqrcode').empty().css('width', qrsize).css('height', qrsize)
.css('left', p.left-qrsize/2+20).css('top', p.top-qrsize-10)
.qrcode(options);
};
$(window).resize(function(){
$('.hoverqrcode').hide();
});
$('.article-share-qrcode').click(function(){
updatehoverqrcode();
$('.hoverqrcode').toggle();
});
$('.article-share-qrcode').hover(function(){}, function(){
$('.hoverqrcode').hide();
});
});
</script>
<!-- Analytics Begin -->
<script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=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;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-28029597-1', '');
ga('send', 'pageview');
</script>
<!-- Analytics End -->
<!-- Totop Begin -->
<div id="totop">
<a title="返回顶部"><img src="/img/scrollup.png"/></a>
</div>
<script src="/js/totop.js"></script>
<!-- Totop End -->
<!-- MathJax Begin -->
<!-- mathjax config similar to math.stackexchange -->
<!-- MathJax End -->
<!-- Tiny_search Begin -->
<!-- Tiny_search End -->
</body>
</html>