-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathatom.xml
514 lines (445 loc) · 75.1 KB
/
atom.xml
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
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Tutuoo</title>
<link href="/atom.xml" rel="self"/>
<link href="https://github.com/tutuoo/"/>
<updated>2017-10-04T08:31:11.000Z</updated>
<id>https://github.com/tutuoo/</id>
<author>
<name>tutuoo</name>
</author>
<generator uri="http://hexo.io/">Hexo</generator>
<entry>
<title>那些让我效率倍增的 Mac 软件</title>
<link href="https://github.com/tutuoo/2017/10/04/%E9%82%A3%E4%BA%9B%E8%AE%A9%E6%88%91%E6%95%88%E7%8E%87%E5%80%8D%E5%A2%9E%E7%9A%84-Mac-%E8%BD%AF%E4%BB%B6/"/>
<id>https://github.com/tutuoo/2017/10/04/那些让我效率倍增的-Mac-软件/</id>
<published>2017-10-04T08:28:02.000Z</published>
<updated>2017-10-04T08:31:11.000Z</updated>
<content type="html"><![CDATA[<blockquote>
<p>图图流着口水盯上了 Mac 软件<br>以下分享的很多都需要收费,公众号回复『软件』,提供破解版本,若没有对应软件可能是免费,可能遗漏,有实力的童鞋请支持正版!<br>回复『链接』 有惊喜。<br>若有出错,请后台指正,目前暂未开通留言,谢谢!</p>
</blockquote>
<h4 id="1-Paste"><a href="#1-Paste" class="headerlink" title="1. Paste"></a>1. Paste</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506770429314.png" width="140"></p>
<p>食用效果:一个漂亮的记录复制粘贴工具,可以保留图文,自定义标签组,好用又漂亮~</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506769112231.png" width="1920"></p>
<p>食用方式:Command + 数字1~9 就是粘贴对应的标签。<br><a id="more"></a></p>
<h4 id="2-MindNode"><a href="#2-MindNode" class="headerlink" title="2. MindNode"></a>2. MindNode</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506770444858.png" width="154"></p>
<p>食用效果:一个极简的思维导图工具,简约,小巧,各种类型的图,也是美美哒。</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506770091084.png" width="1246"></p>
<p>食用方式:打开即食。</p>
<h4 id="3-Alfred-3"><a href="#3-Alfred-3" class="headerlink" title="3. Alfred 3"></a>3. Alfred 3</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506770413345.png" width="159"></p>
<p>黑帽子,我相信知道的人很多,用的人也很多,功能太强大了,有了他,自带的Spotlight 早就被我丢了…</p>
<p>食用效果:<br>小到可以直接在搜索框算一些简单的算术</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506770587309.png" width="567"></p>
<p>大到配合 Dash 直接搜索 API 文档。( 什么是 Dash? 下一个就介绍了)</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506771226660.gif" width="800"></p>
<p>如果你现在想买一个东西,比方说在淘宝或者京东,一般情况是:<br>打开浏览器 -> 输入链接,或者打开书签 - > 然后在搜索栏输入你要的。<br>而现在我们只需要 打开 Alfred 3 输入你想要买的就够了。<br>虽然仅仅只是把一些过程省略。<br>但是时间就是金钱。<br>下面我分别进行了,淘宝搜索,京东搜索,和维基百科的查询。<br>别问我为什么查零食,我真的不是吃货(捂脸)!</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506772298394.gif" width="800"></p>
<p>关于如何配置搜索:来张配图。</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506863551723.png" width="1100"></p>
<p>想自定义其他网站,就去那个网站搜索一个东西,然后把搜索关键字的位置改成 『 {query} 』就好了。</p>
<p>食用方式:此物功能太多,我也只食用了冰山一角,但是已经提高了不少效率,各位吃友加油!</p>
<h4 id="4-Dash"><a href="#4-Dash" class="headerlink" title="4. Dash"></a>4. Dash</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507086920807.png" width="167"></p>
<p>食用效果:一个API文档浏览器和代码段管理器。 Dash帮助您存储代码片段,以及即时搜索和浏览您可能使用的几乎任何API的文档。</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507087058709.png" width="928"></p>
<p>如上图所示,我下载了 Android Css 和 JavaScript。<br>上边的动图就是我通过自定义关键字 ad 为 Android 来查询 Android 相关 API</p>
<p>食用方式:配合上面的 Alfred 3 美滋滋 效果很强大,待挖掘。</p>
<h4 id="5-ScreenFloat"><a href="#5-ScreenFloat" class="headerlink" title="5. ScreenFloat"></a>5. ScreenFloat</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506773034823.png" width="147"></p>
<p>食用效果:一个方便的截屏工具,他可以让你截取的内容置顶,对于多桌面来说是个很好用的工具,可以在一个桌面截图,另一个桌面参照。有自己独立的仓库可以增删。</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507079903807.gif" width="600"></p>
<p>食用方式:开盖即食。</p>
<h4 id="6-CheatSheet"><a href="#6-CheatSheet" class="headerlink" title="6. CheatSheet"></a>6. CheatSheet</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507090810208.png" width="151"></p>
<p>食用效果:可以查看任意软件的热键,极其方便。</p>
<p>食用方式:长按 Command 即可。</p>
<h4 id="7-Karabiner-Elements"><a href="#7-Karabiner-Elements" class="headerlink" title="7. Karabiner-Elements"></a>7. Karabiner-Elements</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507090971457.png" width="159"></p>
<p>食用效果:爱折腾键盘键位可以试试,我自己把中英文切换键换成了 delete 这样擦除就不需要把手移过去,直接小拇指处理掉,贼方便。还有类似自定义组合件配合『J』『L』变成左右,『I』『,』变成上下,这样右下角的小键盘也可以忽略掉了~</p>
<p>食用方式:单键可以直接改,组合键要自己去定义文件。</p>
<h4 id="8-Tickeys-支持-Windows"><a href="#8-Tickeys-支持-Windows" class="headerlink" title="8. Tickeys (支持 Windows)"></a>8. Tickeys (支持 Windows)</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507091456575.png" width="149"></p>
<p>食用效果:可以让键盘模拟多种声音,享受打击快感。</p>
<p>食用方式:开盖即食。</p>
<h4 id="9-Flux-支持-Windows"><a href="#9-Flux-支持-Windows" class="headerlink" title="9. Flux (支持 Windows)"></a>9. Flux (支持 Windows)</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507091578836.png" width="161"></p>
<p>食用效果:保护眼睛必备。会跟随作息来调整屏幕色度。</p>
<p>食用方式:开盖即食。</p>
<h4 id="10-Bartender-2"><a href="#10-Bartender-2" class="headerlink" title="10. Bartender 2"></a>10. Bartender 2</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507093526192.png" width="160"></p>
<p>食用效果:可以把状态栏的小图标管理起来,隐藏或者收缩,这样就可以使得界面更加整洁了。</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507093611812.png" width="929"></p>
<p>我们正常情况下可能是上面这种情况。<br>如果我们使用了 Bartender 图片就变成了这样</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507093660624.png" width="409"></p>
<p>一个小眼镜 ico 就涵盖了所有的图标,点击可以展开来。当然 ico 的图标是可以更换的。</p>
<p>食用方式:开盖即食。</p>
<h4 id="11-奇妙清单-支持-Windows"><a href="#11-奇妙清单-支持-Windows" class="headerlink" title="11. 奇妙清单 (支持 Windows)"></a>11. 奇妙清单 (支持 Windows)</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507094367789.png" width="145"></p>
<p>食用效果:一个记录事件,可设置时间的日常软件,可以把事情记录上去,到设定的时间点会提醒,支持手机 app 非常方便。</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507094723948.png" width="700"></p>
<p>食用方式:事件可以分类型,完成时间。完成之后可以把他勾选掉,给人一种玩游戏把任务刷完的感觉,哈哈哈,满满成就感!</p>
<h4 id="12-Moom"><a href="#12-Moom" class="headerlink" title="12. Moom"></a>12. Moom</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507095034930.png" width="161"></p>
<p>食用效果:一款用来改变当前窗口大小,位置的软件。左对齐,右对齐,居中,一键生效!</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507096864141.gif" width="900"></p>
<p>食用方式:开盖即食。</p>
<h4 id="13-Manico"><a href="#13-Manico" class="headerlink" title="13. Manico"></a>13. Manico</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507095147962.png" width="149"></p>
<p>食用效果:一款自定义软件打开快捷键的软件,有了他再也不用把鼠标移到应用列表去了,一键打开,任意 DIY。也是我唯一正版的软件(捂脸)</p>
<p>食用方式:开盖即食。</p>
<h4 id="14-LICEcap-支持-Windows"><a href="#14-LICEcap-支持-Windows" class="headerlink" title="14. LICEcap (支持 Windows)"></a>14. LICEcap (支持 Windows)</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507095431479.png" width="140"></p>
<p>食用效果:一款录制任意大小 GIF 图的软件,小巧又方便。上面的动图我就是用这个录制的。</p>
<p>食用方式:开盖即食。</p>
<h4 id="15-TG-pro"><a href="#15-TG-pro" class="headerlink" title="15. TG-pro"></a>15. TG-pro</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507095755184.png" width="147"></p>
<p>食用效果:可以实时监控电脑各项性能指标,也可以手动开启风扇。</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507095823963.png" width="797"></p>
<p>食用方式:开盖即食。</p>
<h4 id="16-MWeb"><a href="#16-MWeb" class="headerlink" title="16. MWeb"></a>16. MWeb</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1507096054685.png" width="167"></p>
<p>食用效果:写作 Markdown 用,没用过别的,感觉挺不错的,还可以一键上传到印象笔记中,反正我觉得挺好用的。</p>
<p>食用方式:开盖即食。</p>
<h4 id="17-常用的点个名"><a href="#17-常用的点个名" class="headerlink" title="17. 常用的点个名"></a>17. 常用的点个名</h4><p>CleanMyMac,SourceTree,Sublime Text 不多说啦~</p>
<p>最后祝大家中秋节快乐~ </p>
]]></content>
<summary type="html">
<blockquote>
<p>图图流着口水盯上了 Mac 软件<br>以下分享的很多都需要收费,公众号回复『软件』,提供破解版本,若没有对应软件可能是免费,可能遗漏,有实力的童鞋请支持正版!<br>回复『链接』 有惊喜。<br>若有出错,请后台指正,目前暂未开通留言,谢谢!</p>
</blockquote>
<h4 id="1-Paste"><a href="#1-Paste" class="headerlink" title="1. Paste"></a>1. Paste</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506770429314.png" width="140"/></p>
<p>食用效果:一个漂亮的记录复制粘贴工具,可以保留图文,自定义标签组,好用又漂亮~</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506769112231.png" width="1920"/></p>
<p>食用方式:Command + 数字1~9 就是粘贴对应的标签。<br>
</summary>
<category term="Mac" scheme="https://github.com/tutuoo/tags/Mac/"/>
</entry>
<entry>
<title>一些爱不释手的 Chrome 插件</title>
<link href="https://github.com/tutuoo/2017/09/28/%E4%B8%80%E4%BA%9B%E7%88%B1%E4%B8%8D%E9%87%8A%E6%89%8B%E7%9A%84-Chrome-%E6%8F%92%E4%BB%B6/"/>
<id>https://github.com/tutuoo/2017/09/28/一些爱不释手的-Chrome-插件/</id>
<published>2017-09-28T12:43:27.000Z</published>
<updated>2017-10-04T08:29:57.000Z</updated>
<content type="html"><![CDATA[<h4 id="1-印象笔记-剪藏"><a href="#1-印象笔记-剪藏" class="headerlink" title="1. 印象笔记-剪藏"></a>1. 印象笔记-剪藏</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506599088457.png" width="62"></p>
<p>食用效果:可以一键截图网页正文,或者整个网页,部分区域,任你选,然后保存到你指定的文件目录。 效果不要太赞~网页版看到一半,一键保存,出门拿起手机继续看,当然还有更多功能~<br>食用方式:配合印象笔记 PC 版本或者手机版<br>(ps:码字的时候一个同事推荐了印象笔记手机版,说其中有个功能可以把手写在纸上的图文更清晰的转化成图片保存起来,用来复习啊,打印啊都是个不错的选择)<br> <a id="more"></a></p>
<h4 id="2-Vysor"><a href="#2-Vysor" class="headerlink" title="2. Vysor"></a>2. Vysor</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506598979874.png" width="58"></p>
<p>食用效果:一款 (通过USB,不支持Wi-Fi连接)共享手机屏幕在电脑上的插件,可以通过电脑点击,触摸,来控制手机,实现无延迟操作。<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1506576020806.gif" width="300"><br>如上图所示,可以直接通过电脑桌面来控制手机(注意小米手机可能需要打开触摸相关权限),破解版本和不破解的区别就在于清晰度了。上图我们通过设置修改了画质。</p>
<p>食用方式:因为完整版本需要收费,下面提供破解版本,下载完打开 Chrome 管理插件页面,把压缩包解压导入即可。<br>食用地址:<a href="http://pan.baidu.com/s/1gfMTEN5" target="_blank" rel="external">点击下载</a></p>
<h4 id="3-网盘助手"><a href="#3-网盘助手" class="headerlink" title="3. 网盘助手"></a>3. 网盘助手</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506578480736.png" width="66"><br>食用效果:可以方便的把网盘的下载地址导出到aria2/aria2-rpc,支持YAAW,然后通过第三方下载工具下载,如迅雷,uTorrent。<br>食用方式:通过 Google 商店来下载(需要科学上网)</p>
<h4 id="4-AdBlock"><a href="#4-AdBlock" class="headerlink" title="4. AdBlock"></a>4. AdBlock</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506596228624.png" width="60"><br>食用效果:最受欢迎的Chrome扩展,拥有超过4000万用户!屏蔽整个互联网上的广告。<br>食用方式:通过 Google 商店来下载(需要科学上网)</p>
<h4 id="5-Isometric-Contributions"><a href="#5-Isometric-Contributions" class="headerlink" title="5. Isometric Contributions"></a>5. Isometric Contributions</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506596421299.png" width="59"><br>食用效果:</p>
<p>以下截图取自 Android 之神 『Jake Wharton』<br>这是我们正常看到的 Github 上 提交的信息情况<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1506596461886.png" width="728"><br>下图是用了插件后的效果<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1506596562020.png" width="728"><br>是不是很壮观,没错,这插件就是看看用的。</p>
<p>食用方式:通过 Google 商店来下载(需要科学上网)</p>
<h4 id="6-JSON-handle"><a href="#6-JSON-handle" class="headerlink" title="6. JSON-handle"></a>6. JSON-handle</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506596721227.png" width="67"><br>食用效果:<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1506596824853.png" width="1024"><br>很漂亮的格式化 Json 数据格式插件~~<br>食用方式:通过 Google 商店来下载(需要科学上网)</p>
<h4 id="7-LastPass"><a href="#7-LastPass" class="headerlink" title="7. LastPass"></a>7. LastPass</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506596905832.png" width="63"><br>食用效果:还在为登录各大网站的账号密码而发愁么? 不妨来试试 LastPass,他可以帮助我们记住所有登录过的网站,下次就可以直接登录啦~~<br>食用方式:通过 Google 商店来下载(需要科学上网)</p>
<h4 id="8-Octotree"><a href="#8-Octotree" class="headerlink" title="8. Octotree"></a>8. Octotree</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506596988752.png" width="51"><br>食用效果:<br>有时候我们查看 Github 项目时只想看看一部分内容,又不想下下来,一层层点进去又太繁琐,此插件可以使得浏览器的左边出现侧边栏,来进行各个文件的查看。<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1506597045931.png" width="1915"></p>
<p>食用方式:通过 Google 商店来下载(需要科学上网)</p>
<h4 id="9-OneTab"><a href="#9-OneTab" class="headerlink" title="9. OneTab"></a>9. OneTab</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506597568966.png" width="59"><br>食用效果:<br>有时候标签页开了很多,又舍不得关,下次又想用,这时候 OneTab 就起到作用了。<br>他可以保存便签页,想恢复就恢复,下次打开又满状态复活!<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1506597621831.png" width="622"></p>
<p>食用方式:通过 Google 商店来下载(需要科学上网)</p>
<h4 id="10-Postman"><a href="#10-Postman" class="headerlink" title="10. Postman"></a>10. Postman</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506597779040.png" width="65"><br>食用效果:<br>接口调试工具,反正我觉得挺好用的,一直在用~~</p>
<p>食用方式:通过 Google 商店来下载(需要科学上网)</p>
<h4 id="11-Vimium"><a href="#11-Vimium" class="headerlink" title="11. Vimium"></a>11. Vimium</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506598034086.png" width="58"><br>食用效果:<br>此乃神器是也,有了他浏览网页再也不需要鼠标了~~<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1506598265182.png" width="840"><br>安装完之后,通过 『shift + ? 』 唤出帮主页面<br>平常上网的时候<br>『J』 往下<br>『K』往上<br>『D』往下一段<br>『U』往上一段<br>『GG』跳到顶部<br>『Shift + G』跳到底部<br>『F』之后按提示跳转网页<br>配合 Shift 按会使网页进入后台打开<br>当然还有更多的小技巧~~</p>
<p>食用方式:通过 Google 商店来下载(需要科学上网)</p>
<h4 id="12-掘金"><a href="#12-掘金" class="headerlink" title="12. 掘金"></a>12. 掘金</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506598704739.png" width="62"><br>食用效果:<br>可以让你的 tab 标签页不在单调~<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1506598727762.png" width="1914"><br>目前有以下版块可以选择。程序猿必备啊<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1506598761046.png" width="186"></p>
<p>食用方式:通过 Google 商店来下载(需要科学上网)</p>
<h4 id="13-Proxy-SwitchyOmega"><a href="#13-Proxy-SwitchyOmega" class="headerlink" title="13. Proxy SwitchyOmega"></a>13. Proxy SwitchyOmega</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506599362009.png" width="64"><br>食用效果:轻松快捷地管理和切换多个代理设置。 科学上网必备。</p>
<p>食用方式:通过 Google 商店来下载(需要科学上网)</p>
<h4 id="14-斗鱼HTML5播放器"><a href="#14-斗鱼HTML5播放器" class="headerlink" title="14. 斗鱼HTML5播放器"></a>14. 斗鱼HTML5播放器</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506598828500.png" width="63"><br>食用效果:斗鱼不支持 HTML5播放,有了此插件后,电脑再也不烫了~ 哈哈给斗鱼打波广告<br>S7 看比赛必备啊 加油中国队!加油厂长!</p>
]]></content>
<summary type="html">
<h4 id="1-印象笔记-剪藏"><a href="#1-印象笔记-剪藏" class="headerlink" title="1. 印象笔记-剪藏"></a>1. 印象笔记-剪藏</h4><p><img src="http://opmmds7g1.bkt.clouddn.com/md/1506599088457.png" width="62"/></p>
<p>食用效果:可以一键截图网页正文,或者整个网页,部分区域,任你选,然后保存到你指定的文件目录。 效果不要太赞~网页版看到一半,一键保存,出门拿起手机继续看,当然还有更多功能~<br>食用方式:配合印象笔记 PC 版本或者手机版<br>(ps:码字的时候一个同事推荐了印象笔记手机版,说其中有个功能可以把手写在纸上的图文更清晰的转化成图片保存起来,用来复习啊,打印啊都是个不错的选择)<br>
</summary>
<category term="Chrome" scheme="https://github.com/tutuoo/tags/Chrome/"/>
</entry>
<entry>
<title>Kotlin 学习笔记(1)基本语法</title>
<link href="https://github.com/tutuoo/2017/06/07/kotlin(1)/"/>
<id>https://github.com/tutuoo/2017/06/07/kotlin(1)/</id>
<published>2017-06-07T05:48:22.000Z</published>
<updated>2017-09-28T12:56:06.000Z</updated>
<content type="html"><![CDATA[<p>关于 Kotlin 的安装,Android studio 3.0及以上自带,其他的可以通过搜索插件 Kotlin 来进行安装。下面来说说有关 Kotlin 的语法。</p>
<p>以下是本人的学习笔记,入有任何不妥之处,随时欢迎拍砖指正。<br>谢谢 <code>^_^</code></p>
<h3 id="1-Kotlin-Android-扩展"><a href="#1-Kotlin-Android-扩展" class="headerlink" title="1. Kotlin Android 扩展"></a>1. Kotlin Android 扩展</h3><p>Kotlin 插件自带有安卓扩展,因此不需要再单独安装额外插件。<br>我们直接 new Kotlin Activity 后出现提示让配置 Kotlin<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1496816384628.png" width="1279"><br>通过点击来自动导入 Kotlin 所需要的配置<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1496816435333.png" width="444"></p>
<p>实际上在项目的 Gradle上多了一行<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1496816573716.png" width="716"></p>
<p>项目 module 的 build.gradle 中多了<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1496816641695.png" width="759"><br>apply 多了<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1496816700154.png" width="434"><br> <a id="more"></a><br>以上都是自动生成的</p>
<p>然后我们需要在项目 module 的 build.gradle 文件中添加以下代码</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">apply plugin: 'kotlin-android-extensions'</div></pre></td></tr></table></figure>
<p>这样我们就可以用简写了,比如在 XML 中定义一个 TextView</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line"><TextView</div><div class="line"> android:id="@+id/hello"</div><div class="line"> android:layout_width="wrap_content"</div><div class="line"> android:layout_height="wrap_content"</div><div class="line"> android:text="Hello World!"/></div></pre></td></tr></table></figure>
<p>我这里 ID 设置为『hello』那么我们在 Activity 中的代码就变成了</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div></pre></td><td class="code"><pre><div class="line">class KotlinActivity : AppCompatActivity() {</div><div class="line"></div><div class="line"> override fun onCreate(savedInstanceState: Bundle?) {</div><div class="line"> super.onCreate(savedInstanceState)</div><div class="line"> setContentView(R.layout.activity_kotlin)</div><div class="line"> hello.text = "你是不是傻"</div><div class="line"> }</div><div class="line">}</div></pre></td></tr></table></figure>
<p>这样直接通过 hello.text 来设置内容,而不是原来长长的</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">findView(R.id.textView) as TextView</div></pre></td></tr></table></figure>
<p>该插件相当于把 XML 中的控件『id』作为 Activity 的额外属性来使用。<br>简洁了很多~~</p>
<h3 id="2-定义函数"><a href="#2-定义函数" class="headerlink" title="2. 定义函数"></a>2. 定义函数</h3><p>Kotlin 中所有的函数直接通过 fun 来声明。</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line">fun sum(a: Int , b: Int) : Int{</div><div class="line"> return a + b</div><div class="line">}</div><div class="line"></div><div class="line">fun sum(a: Int, b: Int) = a + b</div></pre></td></tr></table></figure>
<p>上面两种方式都可以通过以下代码来调用。</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">println(sum(3, 5))</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">// 输出如下:</div><div class="line">I/System.out: 8</div></pre></td></tr></table></figure>
<h3 id="3-定义局部变量"><a href="#3-定义局部变量" class="headerlink" title="3. 定义局部变量"></a>3. 定义局部变量</h3><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line">val a: Int = 1 // 立即初始化</div><div class="line">val b = 2 // 推导出Int型</div><div class="line">val c: Int // 当没有初始化值时必须声明类型</div><div class="line">c = 3 // 赋值</div><div class="line">println("a = $a, b = $b, c = $c")</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">var x = 5 // 推导出Int类型</div><div class="line">x += 1</div><div class="line">println(" x = $x")</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">// 输出如下:</div><div class="line">I/System.out: x = 6</div></pre></td></tr></table></figure>
<h3 id="4-注释"><a href="#4-注释" class="headerlink" title="4. 注释"></a>4. 注释</h3><p>与 Java 和 JavaScript 一样,Kotlin 支持单行注释和块注释。</p>
<h3 id="5-使用字符串模板"><a href="#5-使用字符串模板" class="headerlink" title="5. 使用字符串模板"></a>5. 使用字符串模板</h3><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div></pre></td><td class="code"><pre><div class="line">var a = 1</div><div class="line">// 使用变量名作为模板:</div><div class="line">val s1 = "a is $a"</div><div class="line">println(s1)</div><div class="line"></div><div class="line">a = 2</div><div class="line">// 使用表达式作为模板:</div><div class="line">val s2 = "${s1.replace("is", "was")}, but now is $a"</div><div class="line">println(s2)</div><div class="line">println(s1)</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line">// 输出如下:</div><div class="line">I/System.out: a is 1</div><div class="line">I/System.out: a was 1, but now is 2 </div><div class="line">I/System.out: a is 1</div></pre></td></tr></table></figure>
<p>我发现在 val s2 中通过 replace 修改了 s1 的值,但是在最后的输出 s1 时,s1 的值并没有改变。<br>通过进入 replac 方法得知使用该方法后的字符串会重新生成新的字符串,并不改变原值~O(∩_∩)O哈哈~ 一看就是我 Java 基础没学好~<br>附图:<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1496646577531.png" width="961"></p>
<h3 id="6-使用条件表达式"><a href="#6-使用条件表达式" class="headerlink" title="6. 使用条件表达式"></a>6. 使用条件表达式</h3><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div></pre></td><td class="code"><pre><div class="line">fun maxOf(a: Int, b: Int): Int {</div><div class="line"> if (a > b) {</div><div class="line"> return a</div><div class="line"> } else {</div><div class="line"> return b</div><div class="line"> }</div><div class="line">}</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">fun maxOf(a: Int, b: Int) = if (a > b) a else b</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">println("我今年${maxOf(0, 18)}岁了.")</div><div class="line">hello.text = "我今年${maxOf(0, 18)}岁了."</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">// 输出如下:</div><div class="line">I/System.out: 我今年18岁了.</div></pre></td></tr></table></figure>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1496647796385.png" width="396"></p>
<p>以上两种方式都可以表达。</p>
<h3 id="7-使用可空变量以及空值检查"><a href="#7-使用可空变量以及空值检查" class="headerlink" title="7. 使用可空变量以及空值检查"></a>7. 使用可空变量以及空值检查</h3><p>开发中最常见的错误应该就是<code>NullPointerException</code>了,那么 Kotlin 是怎么解决这个问题的呢?</p>
<h4 id="7-1-可空类型和非空类型"><a href="#7-1-可空类型和非空类型" class="headerlink" title="7.1 可空类型和非空类型"></a>7.1 可空类型和非空类型</h4><p>Kotlin 中用 ? 来表示该变量是否可以为空。下面看实例</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1496710862973.png" width="214"><br>当我们没有明确 String 可以为空的情况下,当 String 赋予null 时,会报错,导致无法运行。</p>
<p>前者我们可以直接调用</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">val l2 = a2.length</div><div class="line">但是后者</div><div class="line">val l3 = a3.length</div></pre></td></tr></table></figure>
<p>我们不可以直接调用,因为 a3 可能为空,这里我们就要用到条件表达式了</p>
<h4 id="7-2-在条件中检查-null"><a href="#7-2-在条件中检查-null" class="headerlink" title="7.2 在条件中检查 null"></a>7.2 在条件中检查 null</h4><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line">val l3 = if (a3 != null) a3.length else -1</div><div class="line"></div><div class="line">// 输出如下:</div><div class="line">I/System.out: 3</div></pre></td></tr></table></figure>
<p>或者</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line">if (a3 != null && a3.isNotEmpty())</div><div class="line"> println("Stirng of length ${a3.length}")</div><div class="line">else</div><div class="line"> println("Empty string")</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">// 输出如下:</div><div class="line">I/System.out: Stirng of length 3</div></pre></td></tr></table></figure>
<h4 id="7-3-安全调用"><a href="#7-3-安全调用" class="headerlink" title="7.3 安全调用"></a>7.3 安全调用</h4><p>使用安全操作符,<code>?.</code></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">a3?.length</div></pre></td></tr></table></figure>
<p>如果 <code>a3</code> 不为空则返回长度,否则返回空。<br>这个表达式的的类型是<code>Int?</code></p>
<p>安全调用在链式调用是是很有用的。比如,如果 Bob 是一个雇员可能分配部门(也可能不分配),如果我们想获取 Bob 的部门名作为名字的前缀,就可以这样做:</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">bob?.department?.head?.name</div></pre></td></tr></table></figure>
<p>这样的调用链在任何一个属性为空都会返回空。</p>
<h4 id="7-4-Elvis-操作符"><a href="#7-4-Elvis-操作符" class="headerlink" title="7.4 Elvis 操作符"></a>7.4 Elvis 操作符</h4><p>使用 Elvis 操作符,<code>?:</code></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">val l = b.length?: -1</div></pre></td></tr></table></figure>
<p>如果 <code>?:</code> 左边表达式不为空则返回,否则返回右边的表达式。注意右边的表达式只有在左边表达式为空才会返回。</p>
<h4 id="7-5-操作符"><a href="#7-5-操作符" class="headerlink" title="7.5 !! 操作符"></a>7.5 !! 操作符</h4><p>用 b!! ,这会返回一个非空的 b 或者抛出一个 b 为空的 NPE</p>
<p><code>val l = b !!.length</code></p>
<h4 id="7-6-安全转换"><a href="#7-6-安全转换" class="headerlink" title="7.6 安全转换"></a>7.6 安全转换</h4><p>普通的转换可能产生 ClassCastException 异常。另一个选择就是使用安全转换,如果不成功就返回空:</p>
<p><img src="http://opmmds7g1.bkt.clouddn.com/md/1496732611142.png" width="256"></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">var b = "aaa"</div><div class="line">val aInt: Int? = b as? Int</div><div class="line">println(aInt)</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">输出如下:</div><div class="line">I/System.out: null</div></pre></td></tr></table></figure>
<p>这样如果 b 是 int 的类型的就输出,不是就返回 null<br>而不会像以前一样程序 crash 后报 ClassCastException 异常</p>
<h3 id="8-使用值检查并自动转换"><a href="#8-使用值检查并自动转换" class="headerlink" title="8. 使用值检查并自动转换"></a>8. 使用值检查并自动转换</h3><p>使用 <code>is</code> 操作符检查一个表达式是否是某个类型的实例。如果对不可变的局部变量或属性进行过了类型检查,就没有必要明确转换:</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">fun printLength(obj: Any) {</div><div class="line"> println("'$obj' string length is ${getStringLength(obj) ?: "... err, not a string"} ")</div><div class="line">}</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div></pre></td><td class="code"><pre><div class="line">fun getStringLength(obj: Any): Int? {</div><div class="line"> if (obj is String) {</div><div class="line"> // obj 将会在这个分支中自动转换为 String 类型</div><div class="line"> return obj.length</div><div class="line"> }</div><div class="line"></div><div class="line"> // obj 在种类检查外仍然是 Any 类型</div><div class="line"> return null</div><div class="line">}</div></pre></td></tr></table></figure>
<p>通过调用:</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">printLength("Incomprehensibilities")</div><div class="line">printLength(1000)</div><div class="line">printLength(listOf(Any()))</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line">输出如下:</div><div class="line">I/System.out: 'Incomprehensibilities' string length is 21 </div><div class="line">I/System.out: '1000' string length is ... err, not a string </div><div class="line">I/System.out: '[java.lang.Object@72fd5e4]' string length is ... err, not a string</div></pre></td></tr></table></figure>
<p>当然我们也可以换一种方式来写</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div></pre></td><td class="code"><pre><div class="line">fun getStringLength(obj: Any): Int? {</div><div class="line"> if (obj !is String) return null</div><div class="line"></div><div class="line"> // obj 将会在这个分支中自动转换为 String 类型</div><div class="line"> return obj.length</div><div class="line">}</div></pre></td></tr></table></figure>
<p>甚至可以这样</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div></pre></td><td class="code"><pre><div class="line">fun getStringLength(obj: Any): Int? {</div><div class="line"> // obj 将会在&&右边自动转换为 String 类型</div><div class="line"> if (obj is String && obj.length > 0) {</div><div class="line"> return obj.length</div><div class="line"> }</div><div class="line"></div><div class="line"> return null</div><div class="line">}</div></pre></td></tr></table></figure>
<p><strong>以上代码的输出结果是不变的。</strong></p>
<h3 id="9-使用循环"><a href="#9-使用循环" class="headerlink" title="9. 使用循环"></a>9. 使用循环</h3><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line">val items = listOf("Google", "Apple", "Amazon")</div><div class="line">for (index in items.indices) {</div><div class="line"> println("item at $index is ${items[index]}")</div><div class="line">}</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line">// 输出如下: </div><div class="line">I/System.out: item at 0 is Google</div><div class="line">I/System.out: item at 1 is Apple</div><div class="line">I/System.out: item at 2 is Amazon</div></pre></td></tr></table></figure>
<h3 id="10-使用-while-循环"><a href="#10-使用-while-循环" class="headerlink" title="10. 使用 while 循环"></a>10. 使用 while 循环</h3><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div></pre></td><td class="code"><pre><div class="line">val items = listOf("Google", "Apple", "Amazon")</div><div class="line">var index = 0</div><div class="line">while (index < items.size) {</div><div class="line"> println("item at $index is ${items[index]}")</div><div class="line"> index++</div><div class="line">}</div></pre></td></tr></table></figure>
<p>输出结果和 for 循环一样</p>
<h3 id="11-使用-when-表达式"><a href="#11-使用-when-表达式" class="headerlink" title="11. 使用 when 表达式"></a>11. 使用 when 表达式</h3><p>Kotlin 中的 when 表达式就是类似于 Java 中的 switch 语句</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div></pre></td><td class="code"><pre><div class="line">when (obj) {</div><div class="line"> 1 -> "One"</div><div class="line"> "Hello" -> "Greeting"</div><div class="line"> is Long -> "Long"</div><div class="line"> !is String -> "Not a string"</div><div class="line"> else -> "Unknown"</div><div class="line">}</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line">println(describe(1))</div><div class="line">println(describe("Hello"))</div><div class="line">println(describe(1000L))</div><div class="line">println(describe(2))</div><div class="line">println(describe("other"))</div></pre></td></tr></table></figure>
<p>参数分别使用了『1』,『Hello』,『1000L』,『2』,『other』<br>分别对应下列的输出。和 switch 语法一模一样,只不过把一些过程给简化了。</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div></pre></td><td class="code"><pre><div class="line">// 输出如下:</div><div class="line">I/System.out: item at 2 is kiwi</div><div class="line">I/System.out: One</div><div class="line">I/System.out: Greeting</div><div class="line">I/System.out: Long</div><div class="line">I/System.out: Not a string</div><div class="line">I/System.out: Unknown</div></pre></td></tr></table></figure>
<p>可能对于第四个有疑惑</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">println(describe(2))</div><div class="line"></div><div class="line">!is String -> "Not a string"</div></pre></td></tr></table></figure>
<p>以上意思是说 2 不是 String 类型的实例,结果为 true 所以输出了 『Not a string』</p>
<h3 id="12-使用ranges"><a href="#12-使用ranges" class="headerlink" title="12. 使用ranges"></a>12. 使用ranges</h3><p><strong>使用 in 操作符检查数值是否在某个范围内:</strong></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line">val x = 10</div><div class="line">val y = 9</div><div class="line">if (x in 1..y+1) {</div><div class="line"> println("fits in range")</div><div class="line">}</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">// 输出如下:</div><div class="line">I/System.out: fits in range</div></pre></td></tr></table></figure>
<p>表达式的意思是说 x 是否在 1 ~ y + 1 的范围内<br>从定义的 x 和 y 的值来说,显而易见为 true</p>
<p><strong>检查数值是否在范围外:</strong></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div></pre></td><td class="code"><pre><div class="line">val list = listOf("a", "b", "c")</div><div class="line"></div><div class="line">if (-1 !in 0..list.lastIndex) {</div><div class="line"> println("list.lastIndex: ${list.lastIndex}")</div><div class="line"> println("-1 is out of range")</div><div class="line">}</div><div class="line"></div><div class="line">if (list.size !in list.indices) {</div><div class="line"> println("list.indices: ${list.indices}")</div><div class="line"> println("list size is out of valid list indices range too")</div><div class="line">}</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line">// 输出如下:</div><div class="line">I/System.out: list.lastIndex: 2</div><div class="line">I/System.out: -1 is out of range</div><div class="line">I/System.out: list.indices: 0..2</div><div class="line">I/System.out: list size is out of valid list indices range too</div></pre></td></tr></table></figure>
<p><code>!in</code> 即不属于该范围 -1 不属于0~2,3也不属于0~2<br>所以他们的<code>println</code>语句都输出了。</p>
<p><strong>在范围内迭代或者使用步进:</strong></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div></pre></td><td class="code"><pre><div class="line">for (x in 1..5) {</div><div class="line"> println(x)</div><div class="line">}</div><div class="line"></div><div class="line">println("----------------")</div><div class="line"></div><div class="line">for (x in 1..10 step 2) {</div><div class="line"> println(x)</div><div class="line">}</div><div class="line"></div><div class="line">println("----------------")</div><div class="line"></div><div class="line">for (x in 9 downTo 0 step 3) {</div><div class="line"> println(x)</div><div class="line">}</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div></pre></td><td class="code"><pre><div class="line">// 输出如下:</div><div class="line">I/System.out: 1</div><div class="line">I/System.out: 2</div><div class="line">I/System.out: 3</div><div class="line">I/System.out: 4</div><div class="line">I/System.out: 5</div><div class="line">I/System.out: ----------------</div><div class="line">I/System.out: 1</div><div class="line">I/System.out: 3</div><div class="line">I/System.out: 5</div><div class="line">I/System.out: 7</div><div class="line">I/System.out: 9</div><div class="line">I/System.out: ----------------</div><div class="line">I/System.out: 9</div><div class="line">I/System.out: 6</div><div class="line">I/System.out: 3</div><div class="line">I/System.out: 0</div></pre></td></tr></table></figure>
<p><code>step</code> 跳跃<br><code>downTo</code> 从大到小<br>看了 Log 日志,聪明的你应该懂了吧~~</p>
<h3 id="13-使用集合"><a href="#13-使用集合" class="headerlink" title="13. 使用集合"></a>13. 使用集合</h3><p><strong>对一个集合进行迭代:</strong></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div></pre></td><td class="code"><pre><div class="line">val items = listOf("Google", "Apple", "Amazon")</div><div class="line">for (item in items) {</div><div class="line"> println(item)</div><div class="line">}</div><div class="line"></div><div class="line">println("----------------")</div><div class="line"></div><div class="line">when {</div><div class="line"> "tutu_oo" in items -> println("Change The World")</div><div class="line"> "Google" in items -> println("My Dream")</div><div class="line">} </div><div class="line"></div><div class="line">println("----------------")</div><div class="line"></div><div class="line">val fruits = listOf("banana", "avocado", "apple", "kiwi")</div><div class="line"> fruits</div><div class="line"> .filter { it.startsWith("a") }</div><div class="line"> .sortedBy { it }</div><div class="line"> .map { it.toUpperCase() }</div><div class="line"> .forEach { println(it) }</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div></pre></td><td class="code"><pre><div class="line">I/System.out: Google</div><div class="line">I/System.out: Apple</div><div class="line">I/System.out: Amazon</div><div class="line">I/System.out: ----------------</div><div class="line">I/System.out: My Dream</div><div class="line">I/System.out: ----------------</div><div class="line">I/System.out: APPLE</div><div class="line">I/System.out: AVOCADO</div><div class="line">I/System.out: ----------------</div></pre></td></tr></table></figure>
<p>第一个是最普通的循环打印<br>接下来是 when 表达式,它只会执行一次<br>如果表达式是这样的</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line">when {</div><div class="line"> "Amazon" in items -> println("Change The World")</div><div class="line"> "Google" in items -> println("My Dream")</div><div class="line">}</div></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div></pre></td><td class="code"><pre><div class="line">I/System.out: Google</div><div class="line">I/System.out: Apple</div><div class="line">I/System.out: Amazon</div><div class="line">I/System.out: ----------------</div><div class="line">I/System.out: Change The World</div><div class="line">I/System.out: ----------------</div><div class="line">I/System.out: APPLE</div><div class="line">I/System.out: AVOCADO</div><div class="line">I/System.out: ----------------</div></pre></td></tr></table></figure>
<p>后面的 Google 即使也在 items 集合里面但是也不会输出『My Dream』</p>
<p>最后就是链式调用了,让我想到了 RxJava ,首先通过 filter 过滤只留下『a』 开头的,然后应该是自然排序,接着通过 map 转换成大写,最后将每一个都输出。</p>
<h3 id="关于我"><a href="#关于我" class="headerlink" title="关于我"></a>关于我</h3><p>一只成长中的图图。</p>
<h3 id="感谢"><a href="#感谢" class="headerlink" title="感谢"></a>感谢</h3><p>参考自:<br> <a href="https://www.kotlincn.net/docs/tutorials/android-plugin.html" target="_blank" rel="external">https://www.kotlincn.net/docs/tutorials/android-plugin.html</a></p>
<p><a href="https://huanglizhuo.gitbooks.io/kotlin-in-chinese/content/GettingStarted/Basic-Syntax.html" target="_blank" rel="external">https://huanglizhuo.gitbooks.io/kotlin-in-chinese/content/GettingStarted/Basic-Syntax.html</a></p>
]]></content>
<summary type="html">
<p>关于 Kotlin 的安装,Android studio 3.0及以上自带,其他的可以通过搜索插件 Kotlin 来进行安装。下面来说说有关 Kotlin 的语法。</p>
<p>以下是本人的学习笔记,入有任何不妥之处,随时欢迎拍砖指正。<br>谢谢 <code>^_^</code></p>
<h3 id="1-Kotlin-Android-扩展"><a href="#1-Kotlin-Android-扩展" class="headerlink" title="1. Kotlin Android 扩展"></a>1. Kotlin Android 扩展</h3><p>Kotlin 插件自带有安卓扩展,因此不需要再单独安装额外插件。<br>我们直接 new Kotlin Activity 后出现提示让配置 Kotlin<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1496816384628.png" width="1279"/><br>通过点击来自动导入 Kotlin 所需要的配置<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1496816435333.png" width="444"/></p>
<p>实际上在项目的 Gradle上多了一行<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1496816573716.png" width="716"/></p>
<p>项目 module 的 build.gradle 中多了<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1496816641695.png" width="759"/><br>apply 多了<br><img src="http://opmmds7g1.bkt.clouddn.com/md/1496816700154.png" width="434"/><br>
</summary>
<category term="kotlin" scheme="https://github.com/tutuoo/tags/kotlin/"/>
</entry>
<entry>
<title>四月份总结</title>
<link href="https://github.com/tutuoo/2017/05/01/April-Result/"/>
<id>https://github.com/tutuoo/2017/05/01/April-Result/</id>
<published>2017-05-01T05:26:36.000Z</published>
<updated>2017-05-01T05:45:58.000Z</updated>
<content type="html"><![CDATA[<h2 id="April。"><a href="#April。" class="headerlink" title="April。"></a>April。</h2><p> 今年的4月可能是我人生至今为止最黑暗的一个月。</p>
<p> 经历了太多太多。<br> <a id="more"></a><br> 先说说技术上的吧。自己搭建了博客,准备好好写技术文章,但是总感觉技术欠缺,至今也没写出一篇。</p>
<p> 痛苦已然过去,今天是五月一号。劳动节,而我却坐在办公室写下这篇文章,当然,并不是加班,而是我不知道该哪儿去,有点迷茫,有点错乱,找不到方向,感觉前方都是烟雾。</p>
<p> 这一个月,<br> 大起大落,<br> 这一个月,<br> 冷暖自知,<br> 这一个月,<br> 让我看懂了人心。</p>
<p> 今天是五月一号,都过去吧。<br> 正如我在 CSDN 某个大神的博客上看到的签名那样。<br> 孤独者,渴望被认可。</p>
<p> 确实,无处不在的孤独感,那又怎样。<br> 改变不了什么,那就接受,做得更好。</p>
<p> 感觉,又是一篇乱七八糟自以为是各种感慨的水文,作者肯定又在暗自下定决心好好学习,结果又是三天打鱼两天晒网。回过头来看看这篇文章,哈哈大笑。</p>
]]></content>
<summary type="html">
<h2 id="April。"><a href="#April。" class="headerlink" title="April。"></a>April。</h2><p> 今年的4月可能是我人生至今为止最黑暗的一个月。</p>
<p> 经历了太多太多。<br>
</summary>
<category term="Result" scheme="https://github.com/tutuoo/tags/Result/"/>
</entry>
<entry>
<title>解忧杂货店 读后感</title>
<link href="https://github.com/tutuoo/2017/04/19/store/"/>
<id>https://github.com/tutuoo/2017/04/19/store/</id>
<published>2017-04-19T15:49:41.000Z</published>
<updated>2017-04-20T12:40:00.000Z</updated>
<content type="html"><![CDATA[<h2 id="作者:东野圭吾"><a href="#作者:东野圭吾" class="headerlink" title="作者:东野圭吾"></a>作者:东野圭吾</h2><p>故事来自于街道深处的一家杂货店,只要在晚上把写了有关烦恼的信件丢进杂货店铁卷门上的投递口中,隔天早上就可以在店铺后面的牛奶箱里拿到回信。<br><a id="more"></a><br>首先讲到的是一个女运动选手和他男朋友的故事,男友一直很支持女友参加运动选拔,去迎接奥运会,但是在训练期间,男友患了不治之症,时日不多,女友很想放弃选拔,陪男友度过仅剩的日子,但男友坚持让女友参加训练,说这是他最后的心愿。女友烦恼中来到了杂货店,杂货店里的主人公知道日本将不会参加奥运会,所以就明确告诉女子,好好陪在男子身边,度过剩下的日子。</p>
<p>我在想,如果是你,一个是最爱的人,一个是最爱的人的梦想,你会选择哪个?</p>
<p>紧接着来了一个为音乐痴迷的追梦人,为音乐和父母吵架,为音乐休学,为音乐离家出走,独自一人在城市里打拼几年,却一事无成,但又不想就这么回去。家里外祖母的去世,才勉强回了家,看到亲戚对他的冷言冷语【听说你在大城市里?在哪工作啊? 工资怎么样啊】 他默默不说话。在看着父亲为了他和亲戚吵架【我家的事你管这么多干嘛?】 这让他回想,是他做错了吗?偶然间来到了杂货店,店里的主人知道他以后会为救人而牺牲,他的自创歌曲《重生》也会红遍大江南北。劝他坚持下去,一定会在音乐道路上 越走越远的。</p>
<p>我在想,如果事先就知道走上这条路会死,还会为了梦想去坚持吗?《重生》,可能每个人都有不同的方式,而这个追梦人以牺牲自己拯救别人的方式以另一种方式活了下去,也算得上是“重生”吧。</p>
<p>接下来的故事讲述的是一个女子被男人抛弃,怀孕在身,不愿放弃孩子,但是生活开支支撑不了孩子的费用,后来咨询杂货店之后,自己做出了决定,留下孩子。之后的一段日子里。女子出车祸掉入湖中,孩子活了下来,后来孩子长大了,<br>埋怨父母丢弃他,再一次偶然间他知道了自己的身世,在一次车祸新闻中,他看到了他母亲的名字,熟悉的地名,绝对不会错的。新闻报道说【女子开车带孩自杀】他以为当时母亲带着他自杀,很自私。而事实的真相其实是母亲把所有的费用都省下来给孩子吃,自己长期缺乏营养的情况下,贫血晕倒,导致车祸的发生,而那个车子也是当时借的,目的是去医院,当时的孩子发烧了。 </p>
<p>我在想,如果是我,是会相信新闻呢?还是所谓的事实真相。</p>
<p>接下来的故事是一个上初中的富二代,后来家里人生意破产了,准备跑路,在逃跑的路上,富二代觉得父母是在逃避,如果跟着父母会一直躲躲藏藏,劝他们,他们又不会面对现实,承认错误。烦恼的他找到了杂货店,主人公劝他跟着家里人,一条心,后来逃跑的路上,富二代偷偷爬上了物流卡车,消失在视线中。直到几十年后,富二代有了新的生活,有次回到家乡,听说了几十年前那家人的父母带着孩子都自杀了。 富二代有点庆幸当初自己的选择,后来又觉得哪里不对……</p>
<p>最后也是最精彩的。一个想赚大钱的19岁女孩,杂货店告诉他未来20年的经济趋势,后来女的照做了,赚了大钱,回到家中的时候竟然被杂货店里的人绑架了。结局很引人深思。</p>
<p>可能这就是无意之举,涌泉相报。</p>
<p>整篇小说,每个人的命运仿佛都已经被固定,未来的人看得到历史的人的结果,历史的人收的到未来的人信息。看不见,摸不着,在小说中却真实存在的命运,仿佛一根根线牵扯着,拉伸着。</p>
<p>现实中命运之线牵扯着每个人,纵横交错的铺设,谁也不知道自己的命运之线把握在谁的手上,但是我想说的是,努力,挣扎的去奔跑,去飞翔,当力量大到可以扯断命运之线的时候,也就是掌握命运的时候了。</p>
<p>如果杂货店的人能事先告诉我最近所发生的事,那么我也没有机会写这篇文章了。</p>
<p>可能这就是命运。</p>
]]></content>
<summary type="html">
<h2 id="作者:东野圭吾"><a href="#作者:东野圭吾" class="headerlink" title="作者:东野圭吾"></a>作者:东野圭吾</h2><p>故事来自于街道深处的一家杂货店,只要在晚上把写了有关烦恼的信件丢进杂货店铁卷门上的投递口中,隔天早上就可以在店铺后面的牛奶箱里拿到回信。<br>
</summary>
<category term="读后感" scheme="https://github.com/tutuoo/tags/%E8%AF%BB%E5%90%8E%E6%84%9F/"/>
</entry>
<entry>
<title>A Few Words</title>
<link href="https://github.com/tutuoo/2017/04/15/A-few-words/"/>
<id>https://github.com/tutuoo/2017/04/15/A-few-words/</id>
<published>2017-04-15T12:54:44.000Z</published>
<updated>2017-04-15T13:00:50.000Z</updated>
<content type="html"><![CDATA[<ol>
<li><p>交朋友的标准是什么?<br>答:出世的智者,入世的强者,或者正常而阳光的普通人。</p>
</li>
<li><p>男性更看重女性的相貌,还是思想?<br>答:相貌决定我是否想去了解她的思想,思想决定我是否会一票否决她的相貌。</p>
</li>
<li><p>“别让孩子输在起跑线上”,有道理吗?<br>答:一辈子都要和别人比较,是悲剧的源头。</p>
</li>
<li><p>做哪些事情,可以提升生活品质?<br>答:有很多。其中之一是,定期扔废品。</p>
</li>
<li><p>结婚后两个人在一起,最重要的是什么?<br>答:就当这婚还没结。</p>
</li>
<li><p>怎么反驳“你行你上啊”的逻辑?<br>答:“我评论个电冰箱,自己还得会制冷?”</p>
<a id="more"></a></li>
<li><p>把钱拿来念书还是环游世界更合适?<br>答:读书。如果没有足够的知识,即使行了万里路,你也不过是个邮差。不是吗?</p>
</li>
<li><p>为什么有人会产生“聪明姑娘都被憨小伙儿搞定”的印象?<br>答:我觉得,要么姑娘只是看起来聪明,要么小伙儿只是看起来憨…</p>
</li>
<li><p>你心中的完美爱情是怎么样的?<br>答:可以有不完美。</p>
</li>
<li><p>生活阅历,改变了你的哪些“是非观”?<br>答:很多事情只是不同,并无是非。</p>
</li>
<li><p>是不是一个人越成熟就越难爱上一个人?<br>答:有点,人越大会越个色. 越固执,更愿意别人适应自己,而不是适应别人。但是越成熟,也越能分辨那是不是爱。</p>
</li>
<li><p>如何让这个世界变得美好?<br>答:把你自己变得更美好。</p>
</li>
<li><p>苦难有什么价值?<br>答:苦难就是苦难,苦难不值得追求。磨练意志?那是因为苦难无法躲开。</p>
</li>
<li><p>如何反驳“现实点,这个社会就是这样”?<br>答:“你是怎样,你的世界就是怎样。”</p>
</li>
<li><p>你对自由的理解是什么?<br>答:说“不”的能力。难吗?不难吗?</p>
</li>
<li><p>怎么看待励志的书籍?<br>答:开卷有益。可是,看再多,那都是别人的人生。</p>
</li>
<li><p>同样是别人比自己强,为什么有时会嫉妒,而有时会崇拜?<br>答:远的崇拜,近的嫉妒;够不着的崇拜,够得着的嫉妒;有利益冲突的嫉妒,没利益冲突的崇拜。</p>
</li>
<li><p>为什么当看到好照片时,人们通常的反应是“真不错,你用的是什么相机”,当看到烂照片时,则往往笑话拍摄者水平很臭?<br>答:人习惯性地将自己的成功归因于自身,失败归因于环境;而将他人的成功归因于环境,失败归因于其自身。</p>
</li>
<li><p>怎样在有效提出推荐或建议的同时,避免给人灌输和强迫的感觉?<br>答:说服他人不要诉诸理性,应求于利益。</p>
</li>
<li><p>哪些技能,经较短时间的学习,就可以给人的生活带来巨大帮助?<br>答:夸奖他人。</p>
</li>
<li><p>你是如何走出人生的阴霾的?<br>答:多走几步。</p>
</li>
<li><p>二十六岁,工作三年却将留学三年,值得吗?<br>答:普通玩家选择标准配置,高端玩家选择自定义配置。</p>
</li>
<li><p>如何看待“年轻时就释怀与淡泊,是没有希望的”这句话?<br>答:试图用一句话就来总结复杂的人生,是没有希望的。</p>
</li>
<li><p>要怎样努力,才能成为很厉害的人?<br>答:如果你注定要成为厉害的人,那问题的答案就深藏在你的血脉里;如果你注定不是厉害的人,那你便只需要做好你自己。</p>
</li>
<li><p>前半生与后半生的分界线是在哪里?<br>答:此时此刻。</p>
</li>
<li><p>你遇到过哪些让你眼前一亮. 醍醐灌顶的理念?<br>答:以绝大多数人的努力程度之低,远远没有达到要去拼天赋的地步。</p>
</li>
<li><p>人这一生为什么要努力?<br>答:最痛苦的事,不是失败,是我本可以。</p>
</li>
<li><p>在一个足够小的星球上行走,我们是在上坡还是下坡?<br>答:你感觉累就是上坡,感觉轻松就是下坡。</p>
</li>
<li><p>听过最落寞的一句话或诗句是什么?<br>答:不如意事常八九,可与言者无二三。</p>
</li>
<li><p>三十岁才开始学习编程靠谱吗?<br>答:种一棵树最好的时间是十年前,其次是现在。</p>
</li>
<li><p>向喜欢的女生表白被拒绝了,还是喜欢她,怎么办?<br>答:也许你弄错了什么是表白,表白应该是最终胜利时的号角,而不应该是发起进攻的冲锋号。</p>
</li>
<li><p>省钱的好办法有哪些?<br>答:在买任何东西之前牢记九字箴言:你喜欢,你需要,你适合。</p>
</li>
<li><p>“知行合一”到底如何理解?又怎样运用到实际生活中?<br>答:知道做不到,等于不知道。</p>
</li>
<li><p>什么叫见过大世面?<br>答:能享受最好的,能承受最坏的。</p>
</li>
<li><p>科学和迷信的分界点是哪里?<br>答:我错了。</p>
</li>
<li><p>扎克伯格初期是怎么保护 Facebook 创意的?为什么上线后没被其他大公司抄走?<br>答:保护创意的最好方法,就是将其最好地执行。</p>
</li>
<li><p>员工辞职最主要的原因是什么?<br>答:钱少事多离家远,位低权轻责任重。</p>
</li>
<li><p>你在生活中得到过的最好的建议是什么?<br>答:“过度自我关注是万恶之源”. “永远不要为尚未发生的事儿拧巴”. “觉得为时已晚的时候,恰恰是最早的时候”。</p>
</li>
<li><p>哪些行为是浪费时间?<br>答:思而不学+犹豫不决。</p>
</li>
<li><p>最能燃起你学习激情的一句话是什么?<br>答:你不能把这个世界,让给你所鄙视的人。</p>
</li>
<li><p>恋爱半年,女朋友觉得没有了开始时的新鲜感,怎么办?<br>答:所谓新鲜感,不是和未知的人一起去做同样的事情,而是和已知的人一起去体验未知的人生。</p>
</li>
<li><p>情商不高的例子有哪些?<br>答:对陌生人毕恭毕敬,对亲近的人随意发怒……</p>
</li>
<li><p>如何看待“年轻的时候需要的是朋友而不是人脉”?<br>答:没有目的之交往,才能感动人。</p>
</li>
<li><p>有哪些道理是你读了不信,听不进去,直到. 你亲身经历方笃信不疑的?<br>答:不要低估你的能力,不要高估你的毅力。</p>
</li>
</ol>
<p><a href="http://mp.weixin.qq.com/s/I6LiMZDjGsDzh8fjLrjJ4w" target="_blank" rel="external">转自知乎</a></p>
]]></content>
<summary type="html">
<ol>
<li><p>交朋友的标准是什么?<br>答:出世的智者,入世的强者,或者正常而阳光的普通人。</p>
</li>
<li><p>男性更看重女性的相貌,还是思想?<br>答:相貌决定我是否想去了解她的思想,思想决定我是否会一票否决她的相貌。</p>
</li>
<li><p>“别让孩子输在起跑线上”,有道理吗?<br>答:一辈子都要和别人比较,是悲剧的源头。</p>
</li>
<li><p>做哪些事情,可以提升生活品质?<br>答:有很多。其中之一是,定期扔废品。</p>
</li>
<li><p>结婚后两个人在一起,最重要的是什么?<br>答:就当这婚还没结。</p>
</li>
<li><p>怎么反驳“你行你上啊”的逻辑?<br>答:“我评论个电冰箱,自己还得会制冷?”</p>
</summary>
<category term="励志" scheme="https://github.com/tutuoo/tags/%E5%8A%B1%E5%BF%97/"/>
</entry>
<entry>
<title>Hello World</title>
<link href="https://github.com/tutuoo/2017/04/13/hello-world/"/>
<id>https://github.com/tutuoo/2017/04/13/hello-world/</id>
<published>2017-04-13T06:38:40.000Z</published>
<updated>2017-04-15T06:50:59.000Z</updated>
<content type="html"><![CDATA[<h3 id="1-2017年04月13日20-31-35"><a href="#1-2017年04月13日20-31-35" class="headerlink" title="1. 2017年04月13日20:31:35"></a>1. 2017年04月13日20:31:35</h3><h3 id="2-记录一下自己的第一篇文章"><a href="#2-记录一下自己的第一篇文章" class="headerlink" title="2. 记录一下自己的第一篇文章"></a>2. 记录一下自己的第一篇文章</h3><h3 id="3-甩掉之前所有的不愉快"><a href="#3-甩掉之前所有的不愉快" class="headerlink" title="3. 甩掉之前所有的不愉快"></a>3. 甩掉之前所有的不愉快</h3><h3 id="4-人生没有什么坎是过不去的"><a href="#4-人生没有什么坎是过不去的" class="headerlink" title="4. 人生没有什么坎是过不去的"></a>4. 人生没有什么坎是过不去的</h3><h3 id="5-后面的日子我会努力"><a href="#5-后面的日子我会努力" class="headerlink" title="5. 后面的日子我会努力"></a>5. 后面的日子我会努力</h3><pre><code>tutu_oo
</code></pre>]]></content>
<summary type="html">
<h3 id="1-2017年04月13日20-31-35"><a href="#1-2017年04月13日20-31-35" class="headerlink" title="1. 2017年04月13日20:31:35"></a>1. 2017年04月13日20:31:35
</summary>
<category term="First" scheme="https://github.com/tutuoo/tags/First/"/>
</entry>
<entry>
<title>Tutu_Speak</title>
<link href="https://github.com/tutuoo/2017/04/13/tutu_speak/"/>
<id>https://github.com/tutuoo/2017/04/13/tutu_speak/</id>
<published>2017-04-13T06:38:40.000Z</published>
<updated>2017-04-20T13:31:56.000Z</updated>
<content type="html"><![CDATA[<h3 id="1-年轻的时候不挑地方最好的,不挑钱最多的,而是挑最能让我成长的工作。"><a href="#1-年轻的时候不挑地方最好的,不挑钱最多的,而是挑最能让我成长的工作。" class="headerlink" title="1. 年轻的时候不挑地方最好的,不挑钱最多的,而是挑最能让我成长的工作。"></a>1. 年轻的时候不挑地方最好的,不挑钱最多的,而是挑最能让我成长的工作。</h3><h3 id="2-什么样的理由都解释不了我失败的事实。"><a href="#2-什么样的理由都解释不了我失败的事实。" class="headerlink" title="2. 什么样的理由都解释不了我失败的事实。"></a>2. 什么样的理由都解释不了我失败的事实。</h3><h3 id="3-经济不独立,靠山山会倒,靠水水会流,唯有靠自己,才是王道。"><a href="#3-经济不独立,靠山山会倒,靠水水会流,唯有靠自己,才是王道。" class="headerlink" title="3. 经济不独立,靠山山会倒,靠水水会流,唯有靠自己,才是王道。"></a>3. 经济不独立,靠山山会倒,靠水水会流,唯有靠自己,才是王道。</h3>]]></content>
<summary type="html">
<h3 id="1-年轻的时候不挑地方最好的,不挑钱最多的,而是挑最能让我成长的工作。"><a href="#1-年轻的时候不挑地方最好的,不挑钱最多的,而是挑最能让我成长的工作。" class="headerlink" title="1. 年轻的时候不挑地方最好的,不挑钱最多的
</summary>
</entry>
</feed>