-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
553 lines (350 loc) · 23 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
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>长丰破浪</title>
<meta name="author" content="Yang Qinlong">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta property="og:site_name" content="长丰破浪"/>
<meta property="og:image" content="undefined"/>
<link href="/favicon.png" rel="icon">
<link rel="alternate" href="/atom.xml" title="长丰破浪" type="application/atom+xml">
<link rel="stylesheet" href="/css/style.css" media="screen" type="text/css">
<!--[if lt IE 9]><script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>
<body>
<header id="header"><div class="meta inner">
<h1><a href="/">长丰破浪</a></h1>
<h2><a href="/"></a></h2>
<nav id="main-nav">
<ul>
<li><a href="/about">About</a></li>
<li><a href="/archives">Archives</a></li>
<li><a href="/atom.xml">RSS</a></li>
</ul>
<div class="clearfix"></div>
</nav>
</div>
<div class="clearfix"></div>
</header>
<div id="content" class="inner">
<div id="main-col" class="alignleft"><div id="wrapper">
<article class="post">
<div class="post-content">
<header>
<h1 class="title"><a href="/2019/09/27/Anaconda-Jupyter notebook 如何安装 nbextensions/">Anaconda-Jupyter notebook 如何安装 nbextensions</a></h1>
<time datetime="2019-09-27T04:07:43.000Z">Sep 27 2019</time>
</header>
<div class="entry">
<blockquote>
<p>源自:<a href="https://www.jianshu.com/p/6efc8e412397" target="_blank" rel="external">https://www.jianshu.com/p/6efc8e412397</a></p>
</blockquote>
<h3 id="系统环境:macos">系统环境:macos</h3><ul>
<li><p>Step1:确定是已经安装好anaconda</p>
</li>
<li><p>Step2:要在Mac终端下运行,如何找到终端(启动台-其他-终端)</p>
</li>
<li><p>Step3:先安装nbextensions依次输入运行下面代码:</p>
<figure class="highlight"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo pip install jupyter_contrib_nbextensions jupyter contrib nbextension install --user</span><br></pre></td></tr></table></figure>
</li>
<li><p>Step4:再安装nbextensions_configurator,依次输入运行以下代码:</p>
<figure class="highlight"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo pip install jupyter_nbextensions_configurator jupyter nbextensions_configurator enable --user</span><br></pre></td></tr></table></figure>
</li>
<li><p>Step5:安装完成后,关终端,启动anaconda中的jupyter notebook,在主页中,可以看见Nbextensions标签页,选中Hinterland 就能使用代码补全了。</p>
</li>
</ul>
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<h1 class="title"><a href="/2016/03/31/常用的工具/">常用的工具</a></h1>
<time datetime="2016-03-31T01:46:00.000Z">Mar 31 2016</time>
</header>
<div class="entry">
<p>记录一下常用的工具</p>
<p>##Mac##</p>
<p>##win##</p>
<ul>
<li>SharpKeys <a href="http://www.howtogeek.com/howto/windows-vista/map-any-key-to-any-key-on-windows-xp-vista/" target="_blank" rel="external">映射任意按键</a></li>
</ul>
<p>##Linux##</p>
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<h1 class="title"><a href="/2016/03/28/拆掉思维里的墙读书笔记/">拆掉思维里的墙语录</a></h1>
<time datetime="2016-03-28T15:37:00.000Z">Mar 28 2016</time>
</header>
<div class="entry">
<ul>
<li>如果我失败了,新来代替我的那个家伙,他会怎么办? 既然这样,为什么我们不这样去做呢?</li>
<li><p>乐趣来源于全情投入,而不是投入后的结果,正是因为这样,乐趣可以是无条件的。</p>
</li>
<li><p>下面是关于一个好的职业规划的几个建议: </p>
<blockquote>
<ol>
<li>应该有一个20年的梦想,尽可能大一些,尽可能抽象一点。因为你知道20年是很长的时间,可以发生任何事情,这个计划主要以你的梦想为主。 </li>
<li>给自己一个不超过10年的理想,这个计划主要以培养和发展你的核心竞争力为主。 </li>
<li>瞄准一个5年内能达到的目标,细分成为3年的职业计划。详细地了解你和这个职位的差距。这个计划以务必达成的执行为主,同时给自己一个PLAN B。 </li>
<li>把你的规划保留下来,每隔一个月看一看,让自己保持进度。 </li>
<li>每隔半年停下来回顾你的计划。 </li>
<li>对新的机会和趋势永远保持警醒。</li>
</ol>
</blockquote>
</li>
<li><p>一件事情的价值,不取决于现在你判断的价值,而取决于在未来情况中的价值,这就叫做未来价值。</p>
</li>
<li>为什么有的人能力很强,脑子不笨,手脚不慢,但是却一直没有大的发展?因为他们只知道什么是自己不想要的,却没有思考过什么是自己真正想要的。</li>
<li>IMPOSSIBLE和I’MPOSSIBLE只差一点,那一点就是你心中真正的目标。</li>
</ul>
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<h1 class="title"><a href="/2015/11/29/IDEA-调试MapReduce/">IDEA 调试MapReduce</a></h1>
<time datetime="2015-11-29T14:38:35.000Z">Nov 29 2015</time>
</header>
<div class="entry">
<p>日志解析由streaming转成mapreduce, 开始在本地调试。网上搜索了很多,一直调试不成功。 最后发现是自己配置和代码的问题,在此记录。</p>
<ul>
<li>log4j.propertites 必须得有<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">log4j.rootLogger=INFO, stdout!</span><br></pre></td></tr></table></figure>
</li>
</ul>
<p>这样console里就有打印的日志了,可以把级别调整成DEBUG</p>
<ul>
<li>reduce方法 Override<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">@Override public void reduce(Text key, Iterable<Text> values, Context context)</span><br></pre></td></tr></table></figure>
</li>
</ul>
<p>当时代码是直接从别处粘来的, Context误写成了Content, 上面@Override也没了。调试时一直没有调用自己的reduce方法。在此浪费了很长的时间。</p>
<h1 id="参考">参考</h1><p><a href="http://my.oschina.net/zhangdengpan/blog/356641" target="_blank" rel="external">intellij idea hadoop mapreduce 开发调试</a><br><a href="http://www.cnblogs.com/yjmyzz/p/how-to-remote-debug-hadoop-with-eclipse-and-intellij-idea.html" target="_blank" rel="external">eclipse/intellij idea 远程调试hadoop 2.6.0</a></p>
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<h1 class="title"><a href="/2014/11/30/reading-test/">reading/test</a></h1>
<time datetime="2014-11-30T15:12:53.000Z">Nov 30 2014</time>
</header>
<div class="entry">
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<h1 class="title"><a href="/2014/11/06/Ubuntu-14-04-802-1X/">Ubuntu 14.04 802.1X</a></h1>
<time datetime="2014-11-06T15:46:05.000Z">Nov 6 2014</time>
</header>
<div class="entry">
<p>最近公司的无线网络出奇的慢,而有线网络必须使用802.1认证才能用,限制诸多。<br>更无语的是,在Ubuntu环境下怎么都用不了有线网络了。同样的设置,之前是可以连接上的。<br>搜索了半天,说是升级了network-manager的问题。我也跟着降级到network-manager_0.9.4,出现了很多问题,也没成功。<br>晚上时查看software center发现在上个月确实升级了network-manager-gnome的包。想到之前问过运维同学(在6、7月的时候是可以用无线的)<br><img src="http://yangqinlong.qiniudn.com/2014-11-06 23:59:10 的屏幕截图.png" alt=""> </p>
<p>哈哈,把它降到0.9.8.8-0ubuntu4, 不要后面带4.3<br>中间出现了一些下面类似的错误:</p>
<blockquote>
<p>dpkg:警告:downgrading libnm-gtk0 from 0.9.8.8-0ubuntu4.3 to 0.9.8.8-0ubuntu4<br>(正在读取数据库 … 系统当前共安装有 459583 个文件和目录。)<br>Preparing to unpack libnm-gtk0_0.9.8.8-0ubuntu4_amd64.deb …<br>Unpacking libnm-gtk0 (0.9.8.8-0ubuntu4) over (0.9.8.8-0ubuntu4.3) …<br>dpkg: dependency problems prevent configuration of libnm-gtk0:<br> libnm-gtk0 依赖于 libnm-gtk-common (= 0.9.8.8-0ubuntu4);然而:<br>系统中 libnm-gtk-common 的版本为 0.9.8.8-0ubuntu4.3。</p>
<p>dpkg: error processing package libnm-gtk0 (–install):<br> 依赖关系问题 - 仍未被配置<br>在处理时有错误发生:<br> libnm-gtk0</p>
</blockquote>
<p>看来是需要把依赖的包也降级了,还好只用到这几个包:</p>
<ul>
<li>network-manager-gnome_0.9.8.8-0ubuntu4_amd64</li>
<li>libnm-gtk0</li>
<li>libnm-gtk-common</li>
</ul>
<p>这些都在 <a href="http://packages.ubuntu.com/trusty/" target="_blank" rel="external">http://packages.ubuntu.com/trusty/</a> 的“网络”里可以下载到。<br>下载后执行</p>
<pre><code>sudo dpkg -i libnm-gtk0_0<span class="number">.9</span><span class="number">.8</span><span class="number">.8</span>-<span class="number">0u</span>buntu4_amd64.deb libnm-gtk-common_0<span class="number">.9</span><span class="number">.8</span><span class="number">.8</span>-<span class="number">0u</span>buntu4_all.deb
sudo dpkg -i network-manager-gnome_0<span class="number">.9</span><span class="number">.8</span><span class="number">.8</span>-<span class="number">0u</span>buntu4_amd64.deb network-manager_0<span class="number">.9</span><span class="number">.8</span><span class="number">.8</span>-<span class="number">0u</span>buntu7_amd64.deb
</code></pre><p>现在还只是在家试的,但愿明天到公司可用。</p>
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<h1 class="title"><a href="/2014/11/02/常用的shell整理/">常用的shell整理</a></h1>
<time datetime="2014-11-02T13:58:20.000Z">Nov 2 2014</time>
</header>
<div class="entry">
<p>在微博上关注了<a href="http://weibo.com/commandlinefu" target="_blank" rel="external">@linux命令行精选网</a> ,每天都会发布<a href="http://commandlinefu.cn/" target="_blank" rel="external">commandlinefu.cn</a> 比较有意思也很常用的shell命令。这里转发我常用到的,学习并整理。</p>
<h3 id="文本编辑">文本编辑</h3><ol>
<li><p>sort排序</p>
<ol>
<li><p>读取文件并排序,删除重复的条目,把新的内容输出到新文件里。</p>
<pre><code><span class="keyword">sort</span> -<span class="keyword">u</span> filename > newfilename
</code></pre></li>
</ol>
</li>
<li><p>awk</p>
<ol>
<li>awk ‘!x[$0]++’ <file> 删除重复的行 (不需要排序)</file></li>
<li>awk ‘{print NR,$0}’ 显示行数<br>这个直接可以wc -l file嘛</li>
<li>awk ‘sub(“$”, “\r”)’ unixfile.txt > winfile.txt 用 awk实现 unix2dos命令</li>
</ol>
</li>
<li>sed<ol>
<li>sed -n ‘1~5{N;N;p}’ file.txt 每5行打印其中3行</li>
<li>sed -i ‘s/[email protected]/[email protected]/g’ <code>grep [email protected] -rl .</code> 多个文件替换邮件地址</li>
<li>sed -i ‘s/\r//‘ <filename> 转化为unix格式</filename></li>
</ol>
</li>
<li><p>find</p>
<ol>
<li>find . -type f -size -80k -delete 查找并删除小于指定大小的文件</li>
<li>find <path></path> -name “<em>.tgz” -or -name “</em>.tar.gz” | while read file; do echo “$file: “; tar -tzf $file; done 列出所有tar 里边的文件</li>
<li>find . -type f | sed -n ‘s/..*.//p’ | sort -f | uniq -ic 按扩展名清点文件</li>
<li>find . -type f -print0 | xargs -0 perl -pi.save -e ‘tr/A-Z/a-z/‘ 递归的转小写</li>
<li>find . -type f -exec ls -l –full-time {} + | sort -k 6,7 多目录中按日期排序</li>
<li>find -type f | grep -v “^./.git” | xargs md5sum | md5sum 查找文件并计算md5</li>
</ol>
</li>
<li><p>file and folder</p>
<ol>
<li>test -d folder || mkdir folder 没有再建目录</li>
<li>while true; do du -s <file_or_directory>; sleep <time_interval>; done 监控文件大小</time_interval></file_or_directory></li>
</ol>
</li>
</ol>
<h3 id="系统">系统</h3><ol>
<li><p>history保存命令的执行时间, 最好是把它加到.bashrc里</p>
<pre><code><span class="keyword">export</span> HISTTIMEFORMAT=<span class="string">"%F %T "</span>
yangqinlong@BJ-yangqinlong:~$ history | tail
<span class="number">2009</span> <span class="number">2014</span>-<span class="number">11</span>-<span class="number">25</span> <span class="number">22</span>:<span class="number">25</span>:<span class="number">03</span> cd _posts/
<span class="number">2010</span> <span class="number">2014</span>-<span class="number">11</span>-<span class="number">25</span> <span class="number">22</span>:<span class="number">25</span>:<span class="number">03</span> ls
<span class="number">2011</span> <span class="number">2014</span>-<span class="number">11</span>-<span class="number">25</span> <span class="number">22</span>:<span class="number">25</span>:<span class="number">07</span> pwd
<span class="number">2012</span> <span class="number">2014</span>-<span class="number">11</span>-<span class="number">25</span> <span class="number">22</span>:<span class="number">25</span>:<span class="number">37</span> bg <span class="number">1</span>
<span class="number">2013</span> <span class="number">2014</span>-<span class="number">11</span>-<span class="number">25</span> <span class="number">22</span>:<span class="number">27</span>:<span class="number">42</span> <span class="keyword">export</span> HISTTIMEFORMAT=<span class="string">"%F %T "</span>
<span class="number">2014</span> <span class="number">2014</span>-<span class="number">11</span>-<span class="number">25</span> <span class="number">22</span>:<span class="number">27</span>:<span class="number">46</span> history
<span class="number">2015</span> <span class="number">2014</span>-<span class="number">11</span>-<span class="number">25</span> <span class="number">22</span>:<span class="number">29</span>:<span class="number">39</span> ls
<span class="number">2016</span> <span class="number">2014</span>-<span class="number">11</span>-<span class="number">25</span> <span class="number">22</span>:<span class="number">29</span>:<span class="number">41</span> history
<span class="number">2017</span> <span class="number">2014</span>-<span class="number">11</span>-<span class="number">25</span> <span class="number">22</span>:<span class="number">30</span>:<span class="number">07</span> cd
<span class="number">2018</span> <span class="number">2014</span>-<span class="number">11</span>-<span class="number">25</span> <span class="number">22</span>:<span class="number">30</span>:<span class="number">13</span> history | tail
</code></pre></li>
<li><p>:!bash 在vi会话中执行bash,可以执行多个命令,而使用!命令的方式来每次只能执行一条命令,输入exit和回车来返回vi</p>
</li>
<li>apt-cache rdepends <packagename> 查看包的依赖</packagename></li>
</ol>
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<h1 class="title"><a href="/2014/10/26/Kafka学习笔记/">Kafka学习笔记</a></h1>
<time datetime="2014-10-26T13:42:24.000Z">Oct 26 2014</time>
</header>
<div class="entry">
<p>Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.</p>
<p>####概念和术语###</p>
<ul>
<li><strong>Message</strong>,消息,是指在生产者、存储端和消费者之间传输数据。</li>
<li><strong>Broker</strong>, 负责存储消息的存储阵列。</li>
<li><strong>Producer</strong>,负责产生消息并发送给Broker。</li>
<li><strong>Consumer</strong>,负责消息的消费。</li>
<li><strong>Topic</strong>,由用户定义并在Broker上配置。producer发送消息到某个topic下,consumer从某个topic下消费消息。</li>
<li><strong>partition</strong>,可以把一个topic分为多个分区。每个分区是一个有序,不可变的,顺序递增的commit log</li>
<li>Consumer <strong>Group</strong>,由多个消费者组成,共同消费一个topic下的消息,每个消费者消费部分消息。这些消费者就组成一个分组,拥有同一个分组名称,+ 通常也称为消费者集群</li>
<li><strong>Offset</strong>,分区中的消息都有一个递增的id,我们称之为Offset。它唯一标识了分区中的消息。</li>
</ul>
<h1 id="Kafka环境搭建">Kafka环境搭建</h1><p>Kafka单机环境搭建比较简单,<a href="http://kafka.apache.org/documentation.html#quickstart" target="_blank" rel="external">官方文档quickstart</a> 说的也比较详细。下面我把我的安装步骤记录如下:</p>
<ul>
<li><p>Step 0:安装JAVA环境。Kafka是用Scala编写的,可以直接运行在JVM上。我们不需要单独去安装Scala运行环境,只需部署Java环境就OK。(一般都会有了吧),我这里用的是JDK1.7。</p>
<p> yangqinlong@BJ-yangqinlong:~$ java -version<br> java version “1.7.0_55”<br> Java(TM) SE Runtime Environment (build 1.7.0_55-b13)<br> Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)</p>
</li>
</ul>
<p>下面的步骤基本和quickstart基本一致了</p>
<ul>
<li>Step 1: Download the code<br>下载<a href="https://www.apache.org/dyn/closer.cgi?path=/kafka/0.8.1.1/kafka_2.10-0.8.1.1.tgz" target="_blank" rel="external">0.8.1.1版本</a> 并解压。<br> $ tar -xzf kafka_2.10-0.8.1.1.tgz<br> $ ln -s kafka_2.10-0.8.1.1 kafka # 我放到了/opt目录下,起个别名<br> $ cd kafka</li>
<li><p>Step 2: Start the server<br>先启动zookeeper, (<em>加上&放到后台去执行</em>)<br> $ bin/zookeeper-server-start.sh config/zookeeper.properties &<br>然后启动kafka server, (<em>加上&放到后台去执行</em>)<br> $ bin/kafka-server-start.sh config/server.properties &</p>
</li>
<li><p>Step 3: Create a topic<br> $ bin/kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic test<br>bin/kafka-topics.sh的参数很多, zookeeper是必须的,create时 replication-factor、partitions、topic是必须的。其它参数后面用到时再介绍。<br>查看Topic:<br> $ bin/kafka-topics.sh –list –zookeeper localhost:2181</p>
</li>
<li><p>Step 4: Send some messages<br> $ bin/kafka-console-producer.sh –broker-list localhost:9092 –topic test<br>输入完这条命令就可以输入要发送的消息了</p>
<blockquote>
<p>Hello world, Kafka<br>Hello, Kafka</p>
</blockquote>
</li>
<li><p>Step 5: Start a consumer<br> $ bin/kafka-console-consumer.sh –zookeeper localhost:2181 –topic test –from-beginning<br>新打开一个终端来执行上面一条命令,就可以看到之前发送的消息了<br><img src="http://yangqinlong.qiniudn.com/2014-10-26%2023%3A00%3A02%20%E7%9A%84%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png" alt=""> </p>
</li>
</ul>
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<h1 class="title"><a href="/2014/10/26/今天天气超级好/">今天天气超级好</a></h1>
<time datetime="2014-10-26T01:56:44.000Z">Oct 26 2014</time>
</header>
<div class="entry">
<p>终于没有雾霾了</p>
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<nav id="pagination">
<div class="clearfix"></div>
</nav></div></div>
<aside id="sidebar" class="alignright">
<div class="search">
<form action="//google.com/search" method="get" accept-charset="utf-8">
<input type="search" name="q" results="0" placeholder="搜索">
<input type="hidden" name="q" value="site:yangqinlong.github.com">
</form>
</div>
<div class="widget tag">
<h3 class="title">最新文章</h3>
<ul class="entry">
<li>
<a href="/2019/09/27/Anaconda-Jupyter notebook 如何安装 nbextensions/">Anaconda-Jupyter notebook 如何安装 nbextensions</a>
</li>
<li>
<a href="/2016/03/31/常用的工具/">常用的工具</a>
</li>
<li>
<a href="/2016/03/28/拆掉思维里的墙读书笔记/">拆掉思维里的墙语录</a>
</li>
<li>
<a href="/2015/11/29/IDEA-调试MapReduce/">IDEA 调试MapReduce</a>
</li>
<li>
<a href="/2014/11/30/reading-test/">reading/test</a>
</li>
</ul>
</div>
<div class="widget tagcloud">
<h3 class="title">标签云</h3>
<div class="entry">
<a href="/tags/Kafka/" style="font-size: 10px;">Kafka</a> <a href="/tags/Linux/" style="font-size: 10px;">Linux</a> <a href="/tags/Storm/" style="font-size: 10px;">Storm</a> <a href="/tags/conda/" style="font-size: 10px;">conda</a> <a href="/tags/extensions/" style="font-size: 10px;">extensions</a> <a href="/tags/jupyter-notebook/" style="font-size: 10px;">jupyter notebook</a> <a href="/tags/mapreduce/" style="font-size: 10px;">mapreduce</a> <a href="/tags/shell/" style="font-size: 10px;">shell</a> <a href="/tags/北京/" style="font-size: 10px;">北京</a> <a href="/tags/天气/" style="font-size: 10px;">天气</a> <a href="/tags/实时/" style="font-size: 10px;">实时</a> <a href="/tags/工具/" style="font-size: 10px;">工具</a> <a href="/tags/网络/" style="font-size: 10px;">网络</a> <a href="/tags/读书/" style="font-size: 10px;">读书</a>
</div>
</div>
</aside>
<div class="clearfix"></div>
</div>
<footer id="footer" class="inner"><div class="alignleft">
© 2019 Yang Qinlong
</div>
<div class="clearfix"></div></footer>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
</body>
</html>