-
Notifications
You must be signed in to change notification settings - Fork 0
/
why-choose-macbook.html
547 lines (346 loc) · 18.1 KB
/
why-choose-macbook.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
<!doctype html>
<html class="no-js" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>
关于12' MacBook使用的记录 - CodingRoad-编程之路
</title>
<link href="atom.xml" rel="alternate" title="CodingRoad-编程之路" type="application/atom+xml">
<link rel="stylesheet" href="asset/css/foundation.min.css" />
<link rel="stylesheet" href="asset/css/docs.css" />
<script src="asset/js/vendor/modernizr.js"></script>
<script src="asset/js/vendor/jquery.js"></script>
<script src="asset/highlightjs/highlight.pack.js"></script>
<link href="asset/highlightjs/styles/github.css" media="screen, projection" rel="stylesheet" type="text/css">
<script>hljs.initHighlightingOnLoad();</script>
<script type="text/javascript">
function before_search(){
var searchVal = 'site:blog.codingroad.com ' + document.getElementById('search_input').value;
document.getElementById('search_q').value = searchVal;
return true;
}
</script>
</head>
<body class="antialiased hide-extras">
<div class="marketing off-canvas-wrap" data-offcanvas>
<div class="inner-wrap">
<nav class="top-bar docs-bar hide-for-small" data-topbar>
<section class="top-bar-section">
<div class="row">
<div style="position: relative;width:100%;"><div style="position: absolute; width:100%;">
<ul id="main-menu" class="left">
<li id=""><a target="_self" href="archives.html">Home</a></li>
<li id=""><a target="_self" href="why_i_write_effecitve_python_notes.html">EffectivePython读书笔记</a></li>
<li id=""><a target="_self" href="about.html">关于</a></li>
</ul>
<ul class="right" id="search-wrap">
<li>
<form target="_blank" onsubmit="return before_search();" action="http://google.com/search" method="get">
<input type="hidden" id="search_q" name="q" value="" />
<input tabindex="1" type="search" id="search_input" placeholder="Search"/>
</form>
</li>
</ul>
</div></div>
</div>
</section>
</nav>
<nav class="tab-bar show-for-small">
<a href="javascript:void(0)" class="left-off-canvas-toggle menu-icon">
<span> CodingRoad-编程之路</span>
</a>
</nav>
<aside class="left-off-canvas-menu">
<ul class="off-canvas-list">
<li><a target="_self" href="archives.html">Home</a></li>
<li><a target="_self" href="why_i_write_effecitve_python_notes.html">EffectivePython读书笔记</a></li>
<li><a target="_self" href="about.html">关于</a></li>
<li><label>Categories</label></li>
<li><a href="mac.html">mac</a></li>
<li><a href="python.html">python</a></li>
<li><a href="java.html">java</a></li>
<li><a href="operation-and-maintenance.html">运维</a></li>
</ul>
</aside>
<a class="exit-off-canvas" href="#"></a>
<section id="main-content" role="main" class="scroll-container">
<script type="text/javascript">
$(function(){
$('#menu_item_index').addClass('is_active');
});
</script>
<div class="row">
<div class="large-8 medium-8 columns">
<div class="markdown-body article-wrap">
<div class="article">
<h1>关于12' MacBook使用的记录</h1>
<div class="read-more clearfix">
<span class="date">2018/4/24</span>
<span>posted in </span>
<span class="posted-in"><a href='mac.html'>mac</a></span>
<span class="comments">
</span>
</div>
</div><!-- article -->
<div class="article-content">
<ul>
<li>
<a href="#toc_0">选择MacBook的原因</a>
<ul>
<li>
<a href="#toc_1">背景</a>
</li>
<li>
<a href="#toc_2">使用场景分析</a>
</li>
<li>
<a href="#toc_3">选择</a>
<ul>
<li>
<a href="#toc_4">1. Surface Pro 4</a>
</li>
<li>
<a href="#toc_5">2. iPad Pro</a>
</li>
<li>
<a href="#toc_6">3. MacBook</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#toc_7">性能实测</a>
<ul>
<li>
<a href="#toc_8">1、40个worker并发爬虫</a>
</li>
<li>
<a href="#toc_9">2、日常工作场景</a>
</li>
<li>
<a href="#toc_10">3、Selenium + 15个Chrome并发任务</a>
</li>
</ul>
</li>
<li>
<a href="#toc_11">常用软件推荐</a>
<ul>
<li>
<a href="#toc_12">1、MWeb 专业的 Markdown 写作、记笔记、静态博客生成软件</a>
</li>
<li>
<a href="#toc_13">2、SecureCRT 专业的 Markdown 写作</a>
</li>
<li>
<a href="#toc_14">3、Charles 协议层代理抓包工具</a>
</li>
</ul>
</li>
</ul>
<h2 id="toc_0">选择MacBook的原因</h2>
<h3 id="toc_1">背景</h3>
<p>2017年底的时候因为爱人在老家待产,实在受不了背着沉重的2015版15寸MacBook Pro两头跑,所以打算买一台轻便的电脑。</p>
<span id="more"></span><!-- more -->
<h3 id="toc_2">使用场景分析</h3>
<p>可能是因为做了太久运维,养成了背着电脑出门的习惯,哪怕是去KTV或者去逛街都要背上电脑才觉得心安,这样有紧急问题时可以随时打开电脑和手机热点上线处理。现在不做运维好几年了,但是这个毛病还是改不掉了。</p>
<p>目前的工作中使用电脑的主要场景就是通过SecureCRT管理云服务器,用PyCharm写python的脚本或者web网站,本地需要搭建MySQL和Redis的服务做开发环境,偶尔看看Java项目的代码,但本地不会编译和运行。游戏从来也不玩,电影最多只用腾讯视频看看在线的。也就是说我对电脑性能的要求其实并不高,准确的说是非常低,而且本身就有一台15寸的MacBook Pro,可以在需要性能的时候使用。</p>
<p>所以这次买新电脑的主要的目标就是极致轻薄。</p>
<h3 id="toc_3">选择</h3>
<p>当时有三个选择:Surface Pro 4、iPad Pro和MacBook,经过对比分析后,最终在一次喝得快醉的时候入手了MacBook。下面说一下从我的角度对这三台设备的分析,性能参数什么的我就不罗列了,直接说要点。</p>
<blockquote>
<p>申明以下内容只是从我的经验和结合我的实际需求来分析,不喜勿喷</p>
</blockquote>
<h4 id="toc_4">1. Surface Pro 4</h4>
<p><img src="media/15245534266604/15245553140370.jpg" alt="" style="width:221px;"/><br/>
微软在笔记本领域经过前面几代Surface的大胆尝试之后,推出的性能和工业水平都非常高的产品。</p>
<p>对我来说有以下几个优点:</p>
<ul>
<li>Windows系统支持的软件广,虽说OSX平台上这些年软件也越来越多,但是还是无法和windows的软件生态比。</li>
<li>接口齐全,支持usb和sd卡。</li>
<li>支持平板和笔记本两种形态,不工作时候把键盘拆掉就可以当平板玩,玩游戏和看电影比较爽。</li>
</ul>
<p>对我来说有几个不足和疑虑:</p>
<ul>
<li>和已有的MacBook Pro文件同步不方便。键盘使用习惯也不同,比如复制操作 windows上用的是Control+C,而mac上用的是Command+C,如果两台混用估计会有大量的误操作。</li>
<li>因为osx和linux的相似性,在项目中广泛使用了环境变量来定义环境或者特殊变量,在一些脚本中会直接引用awk等命令,如果切换到windows上会非常不方便本地测试。</li>
<li>从论坛上还有以前的领导的使用经验来看,Surface存在无缘无故蓝屏的硬伤,原因未知。领导说换个输入法会好一些,但我不解,为什么输入法会导致电脑蓝屏。</li>
</ul>
<h4 id="toc_5">2. iPad Pro</h4>
<p><img src="media/15245534266604/15245551875358.jpg" alt="" style="width:243px;"/></p>
<p>apple一直想进一步占有生产力工具的份额,iPad Pro是娱乐工龄和生产力工具的混合体,有10.5寸和12.9寸两个选择,在酷动都体验过。</p>
<p>优点</p>
<ul>
<li>办公娱乐两不误, 前面说平板模式下的娱乐体验肯定比Surface强,因为ios平台下的游戏数量和质量比Surface多太多了(指可以触屏玩的游戏)。</li>
<li>可以通过iCloud与MBP进行文件同步。</li>
<li>已经有IDE和SSH工具来对应我的办公使用场景。</li>
<li>够轻,够逼格。</li>
</ul>
<p>不足</p>
<ul>
<li>debug代码不方便,虽然可以通过git将代码上传到云服务器上进行debug,但是这种操作肯定太不方便了。</li>
<li>没有鼠标,一边敲键盘一边还要伸手去屏幕上去点来点去的,体验非常差。</li>
</ul>
<h4 id="toc_6">3. MacBook</h4>
<p><img src="media/15245534266604/15245552489274.jpg" alt=""/></p>
<p>我买的时候apple称其为 New MacBook,主要是相对于第一代产品来说的。我看了一下,网上对它的诟病主要有以下两个点</p>
<ul>
<li><p>第一代的CPU性能确实不行,虽然New MacBook对CPU进行了升级,但是很多人还是不敢尝试的。<br/>
<img src="media/15245534266604/15245576307636.jpg" alt=""/></p></li>
<li><p>只有一个USB-C接口和一个3.5耳机接口,一定要买一个转换器才能满足基本的办公需要,而官方的转换器又超级贵。</p></li>
</ul>
<p>对我的使用场景来说,它有以下几个优点:</p>
<ul>
<li>性能其实是够用的,SecureCRT非常省资源,PyCharm可能会难一点,但是可以用Sublime进行替代,问题不大。</li>
<li>我日常仅需要一个hdmi接口带显示器,移动硬盘和U盘基本不用,所以只需要花一百多去小米买一根转接头就可以解决接口少的问题了。</li>
<li>轻:iPad和surface说很轻,但是键盘的重量加上之后就不一定比MacBook轻了。</li>
<li>与MBP的环境和使用习惯完全一致,不存在使用障碍。</li>
</ul>
<h2 id="toc_7">性能实测</h2>
<h3 id="toc_8">1、40个worker并发爬虫</h3>
<p>在做 <a href="http://python.jobbole.com/89209/">用 Python 分析了 20 万场吃鸡数据</a> 分析时,在单机上开了30个并发去抓取腾讯游戏的数据, 从flower中拿到的TPS性能图如下:</p>
<p><img src="media/15245534266604/15308449650665.jpg" alt=""/><br/>
可以看出峰值可以超过200,而且在整个爬取过程中,在PyCharm中操作丝毫不会觉得卡。</p>
<p>后续我想了一下,因为我用的是wifi,可能wifi的带宽瓶颈才是限制TPS的主要原因。</p>
<h3 id="toc_9">2、日常工作场景</h3>
<p>在日常工作时我经常会同时打开以下APP:</p>
<ul>
<li>2-3个PyCharm</li>
<li>一个Chrome进程,5-6个tab</li>
<li>Sublime</li>
<li>QQ、WeiXin</li>
<li>SecureCRT</li>
<li>MySQL服务</li>
<li>Redis服务</li>
<li>FileZilla</li>
<li>酸酸乳</li>
</ul>
<p>以上同时打开,工作依然丝般顺滑。</p>
<h3 id="toc_10">3、Selenium + 15个Chrome并发任务</h3>
<p>有一次有一个临时任务,需要通过浏览器去登陆不同的用户进行业务操作,使用Selenium同时打开20个Chrome进程进行操作的时候,系统开始觉得有些吃力了。可能Chrome太占内存了。用15个并发的时候就觉得还好了。</p>
<p>所以MacBook的性能对日常工作来说完全是够用的,普通的文档工作,简单上上网什么的更不用说了。</p>
<h2 id="toc_11">常用软件推荐</h2>
<h3 id="toc_12">1、MWeb 专业的 Markdown 写作、记笔记、静态博客生成软件</h3>
<p><a href="https://zh.mweb.im/index.html">MWeb</a></p>
<p>差不多是我惟一在AppStore上买的付费软件了,虽然有破解版,但是我觉得优秀的国产软件还是要支持的。</p>
<p>本文就是使用MWeb写成的,最特色的功能点介绍:</p>
<ul>
<li>MarkDown优秀的解析和渲染</li>
<li>图片直接cmd+v就可以复制进文档</li>
<li>可以一键生成静态站点,可增加自定义模版代码接入统计和评论功能</li>
<li>可以把MarkDown文件导出成html、pdf、doc等格式</li>
</ul>
<p><img src="media/15245534266604/15314582182482.jpg" alt=""/></p>
<h3 id="toc_13">2、SecureCRT 专业的 Markdown 写作</h3>
<p><a href="https://www.vandyke.com/products/securecrt/">SecureCRT</a> 最专业的SSH工具之一,很早以前就开始用了,最特色的功能就是可以同时向所有打开的SSH窗口发送命令实现批量操作。</p>
<p><img src="media/15245534266604/15314583857253.jpg" alt=""/></p>
<h3 id="toc_14">3、Charles 协议层代理抓包工具</h3>
<p><a href="https://www.charlesproxy.com/">Charles</a> 的功能和Windows下的Fiddler相似,可以通过代理服务方式将协议层的信息抓出来,方便定位问题。</p>
<p>在做 <a href="http://python.jobbole.com/89209/">用 Python 分析了 20 万场吃鸡数据</a> 分析时,就使用Charles抓取了手机的流量进行接口分析。</p>
<p><img src="media/15310632907202/15310659449947.jpg" alt=""/></p>
</div>
<div class="row">
<div class="large-6 columns">
<p class="text-left" style="padding:15px 0px;">
<a href="python-get-and-analysis-pubg-mobile-data.html"
title="Previous Post: 用python分析了20万场吃鸡数据">« 用python分析了20万场吃鸡数据</a>
</p>
</div>
<div class="large-6 columns">
<p class="text-right" style="padding:15px 0px;">
<a href="python-mysql-charset.html"
title="Next Post: MySQL中文乱码">MySQL中文乱码 »</a>
</p>
</div>
</div>
<div class="comments-wrap">
<div class="share-comments">
</div>
</div>
</div><!-- article-wrap -->
</div><!-- large 8 -->
<div class="large-4 medium-4 columns">
<div class="hide-for-small">
<div id="sidebar" class="sidebar">
<div id="site-info" class="site-info">
<div class="site-a-logo"><img src="media/15329222251882/codingroad-logo.png" /></div>
<h1>CodingRoad-编程之路</h1>
<div class="site-des"></div>
<div class="social">
<a target="_blank" class="google" href="https://plus.google.com/u/0/107554665621156148465" rel="author" title="Google+">Google+</a>
<a target="_blank" class="stackoverflow" href="https://stackoverflow.com/users/5290485/eagle" title="StackOverflow"></a>
<a target="_blank" class="github" target="_blank" href="https://github.com/zhangbo2012/" title="GitHub">GitHub</a>
<a target="_blank" class="email" href="mailto:zhangbo2012@outlook.com" title="Email">Email</a>
<a target="_blank" class="rss" href="atom.xml" title="RSS">RSS</a>
</div>
</div>
<div id="site-categories" class="side-item ">
<div class="side-header">
<h2>Categories</h2>
</div>
<div class="side-content">
<p class="cat-list">
<a href="mac.html"><strong>mac</strong></a>
<a href="python.html"><strong>python</strong></a>
<a href="java.html"><strong>java</strong></a>
<a href="operation-and-maintenance.html"><strong>运维</strong></a>
</p>
</div>
</div>
<div id="site-categories" class="side-item">
<div class="side-header">
<h2>Recent Posts</h2>
</div>
<div class="side-content">
<ul class="posts-list">
<li class="post">
<a href="python-gui-serial.html">Python 串口加GUI编程【预告】</a>
</li>
<li class="post">
<a href="python-get-and-analysis-pubg-mobile-data.html">用python分析了20万场吃鸡数据</a>
</li>
<li class="post">
<a href="why-choose-macbook.html">关于12' MacBook使用的记录</a>
</li>
<li class="post">
<a href="python-mysql-charset.html">MySQL中文乱码</a>
</li>
<li class="post">
<a href="om-ssl-config.html">HTTPS</a>
</li>
</ul>
</div>
</div>
</div><!-- sidebar -->
</div><!-- hide for small -->
</div><!-- large 4 -->
</div><!-- row -->
<div class="page-bottom clearfix">
<div class="row">
<p class="copyright">Copyright © 2015
Powered by <a target="_blank" href="http://www.mweb.im">MWeb</a>,
Theme used <a target="_blank" href="http://github.com">GitHub CSS</a>.</p>
</div>
</div>
</section>
</div>
</div>
<script src="asset/js/foundation.min.js"></script>
<script>
$(document).foundation();
function fixSidebarHeight(){
var w1 = $('.markdown-body').height();
var w2 = $('#sidebar').height();
if (w1 > w2) { $('#sidebar').height(w1); };
}
$(function(){
fixSidebarHeight();
})
$(window).load(function(){
fixSidebarHeight();
});
</script>
<script src="asset/chart/all-min.js"></script><script type="text/javascript">$(function(){ var mwebii=0; var mwebChartEleId = 'mweb-chart-ele-'; $('pre>code').each(function(){ mwebii++; var eleiid = mwebChartEleId+mwebii; if($(this).hasClass('language-sequence')){ var ele = $(this).addClass('nohighlight').parent(); $('<div id="'+eleiid+'"></div>').insertAfter(ele); ele.hide(); var diagram = Diagram.parse($(this).text()); diagram.drawSVG(eleiid,{theme: 'simple'}); }else if($(this).hasClass('language-flow')){ var ele = $(this).addClass('nohighlight').parent(); $('<div id="'+eleiid+'"></div>').insertAfter(ele); ele.hide(); var diagram = flowchart.parse($(this).text()); diagram.drawSVG(eleiid); } });});</script>
</body>
</html>