-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrss.xml
More file actions
5719 lines (5208 loc) · 590 KB
/
rss.xml
File metadata and controls
5719 lines (5208 loc) · 590 KB
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
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title><![CDATA[双人份 Blog]]></title>
<link href="/rss.xml" rel="self"/>
<link href="http://doubles.me/"/>
<updated>2016-09-26T20:59:02.000Z</updated>
<id>http://doubles.me/</id>
<author>
<name><![CDATA[双人份]]></name>
</author>
<generator uri="http://hexo.io/">Hexo</generator>
<entry>
<title><![CDATA[博客居然被抄袭了]]></title>
<link href="http://doubles.me/2016/07/12/160712/"/>
<id>http://doubles.me/2016/07/12/160712/</id>
<published>2016-07-12T13:38:27.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>看图,我3年前的一篇关于Cocos2d-Html5的文章居然被这个博客转载了。<br>这本来没什么,可是他的Github里只有一个经常提交的Spider,然后博客里有300篇文章。<br>却全部是转载的,这这行为很讨厌啊。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/201607126.png" alt="2016/07/201607126.png"><br><a id="more"></a><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/201607124.png" alt="2016/07/201607124.png"><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/201607125.png" alt="2016/07/201607125.png"></p>
]]></content>
<summary type="html">
<![CDATA[<p>看图,我3年前的一篇关于Cocos2d-Html5的文章居然被这个博客转载了。<br>这本来没什么,可是他的Github里只有一个经常提交的Spider,然后博客里有300篇文章。<br>却全部是转载的,这这行为很讨厌啊。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/201607126.png" alt="2016/07/201607126.png"><br>]]>
</summary>
</entry>
<entry>
<title><![CDATA[注册 Google Voice 最佳姿势 Textnow + 按键精灵]]></title>
<link href="http://doubles.me/2016/07/10/160710/"/>
<id>http://doubles.me/2016/07/10/160710/</id>
<published>2016-07-10T18:53:36.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>先挂上一个美国代理,我百度找的免费试用的那种。<br>然后下载一个Textnow,app里面设置一下取消接收voicemail,这样才能输入验证码。<br>接着就用按键精灵狂点。</p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/20170710.png" alt="20170710.png"><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/20160711.png" alt="2016/07/20160711.png"></p>
]]></content>
<summary type="html">
<![CDATA[<p>先挂上一个美国代理,我百度找的免费试用的那种。<br>然后下载一个Textnow,app里面设置一下取消接收voicemail,这样才能输入验证码。<br>接着就用按键精灵狂点。</p>
<p><img src="http://7xnueu.com1.z0.glb.clou]]>
</summary>
</entry>
<entry>
<title><![CDATA[5分钟从入门到放弃 - 开锁]]></title>
<link href="http://doubles.me/2016/07/08/160708/"/>
<id>http://doubles.me/2016/07/08/160708/</id>
<published>2016-07-08T04:50:49.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>我ebay上买的locksmith到了,算算也是上个月到的,一直没有试。拿起来无师自通了。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/2016070701.png" alt="2016/07/2016070701.png"><br><a id="more"></a></p>
<p>这个套件包括1个透明的训练锁,然后一套开锁的。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/IMG_20160708_063954.jpg" alt="2016/07/IMG_20160708_063954.jpg"></p>
<p>教程请看这个<a href="http://zh.wikihow.com/%E5%BC%80%E9%94%81" target="_blank" rel="external"><strong>WikiHow - 如何开锁</strong></a>,比较好理解。</p>
<p>其实这个可以自己用铁丝做,但是刚入门没感觉还是买这个训练的比较好。<br><a href="http://zh.wikihow.com/%E7%94%A8%E4%B8%80%E6%9E%9A%E5%8F%91%E5%8D%A1%E5%BC%80%E9%94%81" target="_blank" rel="external"><strong>WikiHow - 如何用一枚发卡开锁</strong></a><br><a href="http://zh.wikihow.com/%E7%94%A8%E5%9B%9E%E5%BD%A2%E9%92%88%E6%92%AC%E9%94%81" target="_blank" rel="external"><strong>WikiHow - 如何用回形针撬锁</strong></a></p>
<p>首先注意看里面的卡子,没有对到相应的位置所以打不开。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/IMG_20160708_064147.jpg" alt="2016/07/IMG_20160708_064147.jpg"></p>
<p>然后插入扭棍,我也不知道这个的中文名字,是我自己翻译的。用手指推它。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/IMG_20160708_064255.jpg" alt="2016/07/IMG_20160708_064255.jpg"></p>
<p>接着拨那个卡子,一直抽动就可以了。我选择了4号的撬棍,比较合适这个锁头。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/IMG_20160708_064340.jpg" alt="2016/07/IMG_20160708_064340.jpg"></p>
<p>对齐了里面的卡子后就可以听到噶哒一下<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/IMG_20160708_064242.jpg" alt="2016/07/IMG_20160708_064242.jpg"></p>
<p>最后打开是这样子的。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/IMG_20160708_064310.jpg" alt="2016/07/IMG_20160708_064310.jpg"></p>
<p>下面是开锁视频。</p>
<embed src="http://player.youku.com/player.php/sid/XMTYzNTYzOTkwMA==/v.swf" allowfullscreen="true" quality="high" width="600" height="480" align="middle" allowscriptaccess="always" type="application/x-shockwave-flash">
<p>还有一种做飞机片的开锁方式,我初中就会了,只是一般家里的锁都会锈到,导致无法成功。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/2016070702.png" alt="2016/07/2016070702.png"></p>
<p>开启方法可以看我共享资料里面的那个英文PDF。2种方法都介绍了,同时还介绍了原理和工具,老外讲这些东西还是比较详细的。<br>下次更新实战部分,这种锁真的不好找了现在。<br><a href="http://pan.baidu.com/s/1bpmfCkv" target="_blank" rel="external"><strong>开锁资料下载地址</strong></a></p>
]]></content>
<summary type="html">
<![CDATA[<p>我ebay上买的locksmith到了,算算也是上个月到的,一直没有试。拿起来无师自通了。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/2016070701.png" alt="2016/07/2016070701.png"><br>]]>
</summary>
<category term="Life" scheme="http://doubles.me/categories/Life/"/>
</entry>
<entry>
<title><![CDATA[如何处理博客图片]]></title>
<link href="http://doubles.me/2016/07/04/160704/"/>
<id>http://doubles.me/2016/07/04/160704/</id>
<published>2016-07-04T04:01:08.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<h2 id="0x00-图片压缩"><a href="#0x00-图片压缩" class="headerlink" title="0x00 图片压缩"></a>0x00 图片压缩</h2><p>由于不放心自动压缩后上传,所以使用这个脚本压缩一下图片。检查后再上传图片。<br>使用的是Tinypng 这个网站的API,需要在线申请一个Key,然后每个月可以压缩500张图片。<br>接着使用这个repo 的python 脚本 <a href="https://github.com/GcsSloop/TinyPng" target="_blank" rel="external">TinyPng</a>。<br><code>python tinypng.py -d test</code><br>这样就压缩了test目录下的所有图片。<br><a id="more"></a></p>
<h2 id="0x01-图片上传"><a href="#0x01-图片上传" class="headerlink" title="0x01 图片上传"></a>0x01 图片上传</h2><p>博客的图床用的是七牛的空间,使用了一个叫做 <a href="https://github.com/heqingpan/qiniu_sync" target="_blank" rel="external">qiniu_sync</a>的python脚本上传。<br>不过我给改造了一下,上传完成后会生成一个txt,里面就是上传图片的地址了。<br>我repo的 <a href="https://github.com/DoubleShift/qiniu_sync" target="_blank" rel="external">qiniu_sync</a></p>
<p>图片放到这里,然后运行脚本就可以了。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/20160705.png" alt="20160705.png"></p>
]]></content>
<summary type="html">
<![CDATA[<h2 id="0x00-图片压缩"><a href="#0x00-图片压缩" class="headerlink" title="0x00 图片压缩"></a>0x00 图片压缩</h2><p>由于不放心自动压缩后上传,所以使用这个脚本压缩一下图片。检查后再上传图片。<br>使用的是Tinypng 这个网站的API,需要在线申请一个Key,然后每个月可以压缩500张图片。<br>接着使用这个repo 的python 脚本 <a href="https://github.com/GcsSloop/TinyPng">TinyPng</a>。<br><code>python tinypng.py -d test</code><br>这样就压缩了test目录下的所有图片。<br>]]>
</summary>
<category term="Code" scheme="http://doubles.me/categories/Code/"/>
</entry>
<entry>
<title><![CDATA[30分钟从入门到放弃 - 摩斯码]]></title>
<link href="http://doubles.me/2016/06/23/160623/"/>
<id>http://doubles.me/2016/06/23/160623/</id>
<published>2016-06-23T20:56:03.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>一直觉得很神秘的摩斯码,花了30分钟学习了一下。以后看电影就可以听懂他们的摩斯码了。<br>摩尔斯码通常的格式是字母和字母之间以空格隔开,单词和单词之间以“/”隔开。</p>
<a id="more"></a>
<p>正规的摩尔斯码对照表是这样:<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/7e5d4dfca_b.jpg" alt=""> </p>
<p>然而26个字母有一张更简单的图:</p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/8dd729969_b.jpg" alt=""> </p>
<p>其实并不好记,最后发现最简单的就是这一个。</p>
<p>哒是左边,滴是右边, <strong>T</strong> 就是 <strong>哒</strong>, <strong>M</strong> 就是 <strong>哒哒</strong> ,<strong>S</strong> 就是 <strong>嘀哒哒</strong>。</p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/74c7f87e6014cb4fcf8cbcd0a3f3723c.jpg" alt=""> </p>
<p>首先背一下这个2叉树,然后默写下来。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/101.jpg" alt=""> </p>
<p>我是这样记的,头2层看一下就记住了。第3层是LOL中的OG战队,然后有几个孩神,id为kid,WD是 west 和 road的缩写。这样就记住了,位置一定要对好来。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/102.jpg" alt=""> </p>
<p>最后数字实在是太好记了,看一下就能记住。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/103.jpg" alt=""> </p>
]]></content>
<summary type="html">
<![CDATA[<p>一直觉得很神秘的摩斯码,花了30分钟学习了一下。以后看电影就可以听懂他们的摩斯码了。<br>摩尔斯码通常的格式是字母和字母之间以空格隔开,单词和单词之间以“/”隔开。</p>]]>
</summary>
<category term="Life" scheme="http://doubles.me/categories/Life/"/>
</entry>
<entry>
<title><![CDATA[2小时从入门到放弃 - 尤里克克]]></title>
<link href="http://doubles.me/2016/06/21/160621/"/>
<id>http://doubles.me/2016/06/21/160621/</id>
<published>2016-06-21T17:20:03.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>这是小情歌的伴奏部分,按照这个谱子来就行了。<br>当然一不小心会弹出“ 天不刮风,天不下雨 ” 的调调。<br><a id="more"></a></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/IMG_20160626_173728.jpg" alt="IMG_20160626_173728.jpg"></p>
<embed src="http://player.youku.com/player.php/sid/XMTYyMTE5NzU0OA==/v.swf" allowfullscreen="true" quality="high" width="600" height="480" align="middle" allowscriptaccess="always" type="application/x-shockwave-flash">
]]></content>
<summary type="html">
<![CDATA[<p>这是小情歌的伴奏部分,按照这个谱子来就行了。<br>当然一不小心会弹出“ 天不刮风,天不下雨 ” 的调调。<br>]]>
</summary>
<category term="Life" scheme="http://doubles.me/categories/Life/"/>
</entry>
<entry>
<title><![CDATA[胖屌进城 - Open Your Russia]]></title>
<link href="http://doubles.me/2016/06/15/160615/"/>
<id>http://doubles.me/2016/06/15/160615/</id>
<published>2016-06-15T06:17:03.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<h1 id="0x01-引言"><a href="#0x01-引言" class="headerlink" title="0x01 引言"></a>0x01 引言</h1><p>2014年的12月我就应该去俄罗斯了,虽然哪些交换生都说是免签的,但我还是担心我的中国护照和他们不一样,我只能作罢。然后我查到了是乘坐Viking Line 去ST. PeterSburge可以有3天免签,我才把俄罗斯放入行程中。确切的说是我2016年的年度计划。然后选了一个月黑风高的好日子,我找了一个俄罗斯当地的学生导游团。啊哈哈,想不到吧。一直讨厌跟团的我居然选择了一个导游。这也是经过我深思熟虑的结果。听说老毛子的假警察,小偷又多,还不会英文。最重要的是,我怎么打俄语?给你们来一张俄罗斯的地铁图体验一下 </p>
<p>每次看到俄语的宣传单我都会反过来看一下。然而这也是让这次旅行变得更为美妙的一个决定。</p>
<a id="more"></a>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/russiametro.png" alt=""> </p>
<h1 id="0x02-Helsinki"><a href="#0x02-Helsinki" class="headerlink" title="0x02 Helsinki"></a>0x02 Helsinki</h1><p>6月3号坐着大飞机飞到Helsinki,机场发现几个变化。一个是多了一个中文服务台,叫做Hello 我帮您。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/00.jpg" alt=""><br>我一看到这个就不禁感慨到,这到底是有多少游客?(不然你以为呢?)答: 130W。 好吧,这个数字是去年签证的数量。这穷乡僻壤的芬兰居然会有这么多人来?踏青还是农家乐?<br>然后机场也不像以前了,全部是广告了。不光有一个中国的无人机展厅,还有一个惠普的笔记本广告。只要猜对了密码,就可以拿到一个价值499欧的耳机。破密码这工作简直拿手。 然后尝试了无数简单的组合;机场所有hp打印机,热点的随机编号;笔记本型号;价格;惠普所有的电话;都失败了。然后工作人员给了一张纸,先注册,然后订阅后会发送一个4位数的密码到邮箱。凭借这个4位数到现场测试,看是否中奖。我崩溃了。。。脑补一下写这个的程序员当时的思路一定是“活动的最后一天才能出奖品啊!那我加个if好了。”<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/0.jpg" alt=""><br>赫尔辛基大街上又遇到了游行,似乎是童子军。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/1.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/2.jpg" alt=""><br>我们好容易到了6点,开船咯!虽然我们并没有付钱,可是船票和住宿已经给我们了,我们下船再给现金他们。这边很多这样的,放到中国铁定死翘翘了。也就俺们村里人这么质朴。这是我第3次坐船了。不对,是大油轮,是玛丽公主号大游轮。对于我这穷逼就是船啊!!!虽然船上的东西免税,可是我能买什么?倒是那个中Nokia的娃娃机吃掉了我好多钱。<br>上船之前会拿到3张卡,Boarding Card, Departure Card , Arrive Card. 正面有信息就不给看了。Boarding Card上船下船都要用,其它就是给俄罗斯海关的。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/46.jpg" alt=""></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/3.jpg" alt=""><br>好多甲板上看风景的人,也好多中国大妈啊。另一侧被中国旅行团占领了,所以没有过去。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/5.jpg" alt=""><br>注意看这个小家伙<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/4.jpg" alt=""><br>它盯着它,看它自由的飞翔。。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/7.jpg" alt=""><br>MLGB,真的是飞翔?<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/8.jpg" alt=""><br>不过意外的是我拍到了这个美景。海上的落日夕阳。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/9.jpg" alt=""><br>然后就回去睡觉咯!<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/10.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/6.jpg" alt=""></p>
<h1 id="0x03-ST-Petersburg"><a href="#0x03-ST-Petersburg" class="headerlink" title="0x03 ST. Petersburg"></a>0x03 ST. Petersburg</h1><p>到了圣彼得堡,等到我们的P导,就带我们去10欧住2天,却非常市中心的青旅。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/55.jpg" alt=""><br>至于为什么叫P导,肯定不是因为她叫Peter,也不是因为这里是Petersburg。那你猜猜为什么叫P导?<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/54.jpg" alt=""></p>
<p>我们在涅瓦大街逛了逛,8车道啊,朋友们。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/36.jpg" alt=""></p>
<p>比较有趣的是这个广告。外国人打折,什么外国人看得懂中文?不禁让人陷入了深思。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/34.jpg" alt=""></p>
<p>这里是著名的圈楼,本来打算买点手表什么的土特产,进去觉得很像老上海的那个百货。<br>价格也不便宜,转转就出来了。出来看到这样的路就又进去,转到大马路才出来。毕竟晚上的18禁酒吧全在这条路。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/35.jpg" alt=""></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/13.jpg" alt=""></p>
<p>P导说的历史我一点也没有记住,大概是什么军队守了这里很久了。<br><strong> 圣以撒大教堂 St. Isaac’s Cathedral Исаакиевский собор </strong><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/11.jpg" alt=""></p>
<p>我们花了150RUB上到观景台。我也很惊奇的是欧盟的学生证在这里可以使用。<br>在这个观景台上面可以看到东莞,哦不对,冬宫。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/12.jpg" alt=""></p>
<p><strong> 冬宫广场 - 亚历山大圆柱 </strong><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/15.jpg" alt=""></p>
<p>这个博物馆和伦敦的大英博物馆、巴黎的卢浮宫、纽约的大都会艺术博物馆称为世界四大博物馆。<br><strong>艾尔米塔什博物馆</strong><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/16.jpg" alt=""></p>
<p>想不到的这种博物馆居然都是免费的,卢浮宫也是免费的。震惊!!! 由于我也没有什么艺术细菌,里面逛了1小时就出来。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/17.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/18.jpg" alt=""><br>在2楼发现很多景德镇的瓷器,哈哈和队友说说这是来自我hometown的就出去了。</p>
<p>出来就到涅瓦河,可惜我们没有时间看这里的开桥。<br><strong>涅瓦河</strong><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/14.jpg" alt=""></p>
<p>在我们看了<strong>喀山大教堂</strong>后,就不太想进去。毕竟看了太多的教堂,而且还收费,也不能拍照,也不能穿短裤,女生还要包着头。<br>然后证明我们没有进去是错误的,都说里面太神奇了。好吧,一点也不觉得可惜。<br><strong> 救世主滴血教堂 Church of the Savior on Spilled Blood Xрам Спас На Крови </strong><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/56.jpg" alt="救世主滴血教堂"></p>
<p>坐地铁转公交去皇村,地铁站居然也是这里的景点。<br>35RUB买了个游戏币我就上车了。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/31.jpg" alt=""></p>
<p>没记错的话这个应该是<br><strong>普希金地铁站</strong><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/21.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/23.jpg" alt=""></p>
<p>这是另一个车站,哥伦布。。。。我瞎讲的。<br>历史真的记不住。如果墙上写满π,可能我记得位数会更多一点吧。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/22.jpg" alt=""></p>
<p>由于中国旅行团实在是太多了,所以没怎么拍照片,没有北欧的精致。<br><strong>皇村Царское Село</strong><br>总是能看到这种性感的PP,好幸福。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/24.jpg" alt=""></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/25.jpg" alt=""></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/26.jpg" alt=""></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/27.jpg" alt=""></p>
<p>想起了小时候看过的一个台湾电视剧《汪洋中的一条船》。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/28.jpg" alt=""></p>
<p>到处可以看到这个提醒,小偷多。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/29.jpg" alt=""></p>
<p>似乎所有<strong>宫</strong>,<strong>园</strong>都有这种的路啊。文艺青年要呆1天了。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/30.jpg" alt=""></p>
<p>有人在拍电视剧,他们都是张嘴不出声的,也不知道是不是哪个大明星。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/37.jpg" alt=""></p>
<p>这里又是偷硬币,我真的认为这个投硬币活动是全球人民都喜欢的活动。用硬币丢这只兔子的JJ,丢中了你就好运。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/38.jpg" alt=""></p>
<p>然后就去打炮了。马上更新<strong> 炮图 </strong>。路上看到了很多朝鲜农民打扮的人。都是传统服饰?(不带恶意啊,我也不知道怎么形容,高原红?)<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/40.jpg" alt=""></p>
<p>这里是彼得要塞,哄的一声就打了一炮。P导说这是俄罗斯人民的计时方式!俄罗斯人民的计时方式!俄罗斯人民的计时方式!<br>每天正午12点就会打一炮,这样人们就可以对表了。现在不需要这种对时方式,但是~~ 成功发展了旅游业。~~ 成为了传统就保留了下来。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/41.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/42.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/a.gif" alt=""></p>
<embed src="http://player.youku.com/player.php/sid/XMTYxOTk1ODEwOA==/v.swf" allowfullscreen="true" quality="high" width="480" height="400" align="middle" allowscriptaccess="always" type="application/x-shockwave-flash">
<p>这是在游船上看到的彼得要塞。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/19.jpg" alt=""></p>
<p>注意看天上的直升机,P导说这个是观光机,大概60欧一个人。我的天,有直升机坐我还坐什么游船啊。<br>哪怕这个船比芬兰公交还便宜。芬兰公交是3.3欧一趟,来回是 6.6 ,这个游轮来回5欧。。。<br>果断央求P导带我们去,然后P导查过后说这个必须提前1周预定。好吧,太多人坐了。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/39.jpg" alt=""></p>
<p>这里是某个微缩景点,微缩了整个俄罗斯的著名景点。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/43.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/44.jpg" alt=""></p>
<h1 id="0x04-食物"><a href="#0x04-食物" class="headerlink" title="0x04 食物"></a>0x04 食物</h1><p>越往西北走越没有美食。北欧的食物让人绝望,俄罗斯的确实还不错。可惜这次P导带的都是学生团,吃的大概都是200RUB一顿饭的。<br>芬兰学生的补贴是2.6欧,在这里大街上能吃到20RMB的饭也确实让人感动。主要吃的是煎饼果子,馅饼,罗宋汤等。<br>这个馅饼真的是很错啊,里面有ham + cheese, 当然会有几十种让你选。最好吃的就是我吃的cheese + ham。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/60.jpg" alt=""><br>我还点了一个瓦罐汤,南昌的瓦罐汤。啊哈哈。当然并不好吃,里面是不怎么样的牛肉。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/78.jpg" alt=""></p>
<p>这个罗宋汤啊就是红菜头,虽然看起来没食欲,不过还挺好吃。特别是会给你一个酸奶油放进去。没有经验的会用馅饼沾着吃掉吧。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/77.jpg" alt=""></p>
<p>为了吃这个煎饼果子啊,我专门又来吃一次。看看他们摊煎饼的样子,这个是有黄油和牛奶的,超级棒。就是里面放土豆泥的有点逆天。不过都很好吃。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/66.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/67.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/68.jpg" alt=""></p>
<p>刀叉实在没办法吃这个,自创了一个Take Away 煎饼果子。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/69.jpg" alt=""></p>
<p>我们找到一个KFC,我的天啊,在欧洲呆了1年半,没有吃过KFC。迫不急待的进去买新奥尔良烤翅。<br>好吧,没有。这真的是国内专有的?不过翅桶的价格很感人。 这么多只要 49块RMB。。。由于吃的KFC确实不多,国内都是吃德克士和华莱士的。一个好吃,一个便宜。所以只记得我3年纪吃的时候是39块5。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/70.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/61.jpg" alt=""></p>
<p>最后一天实在不能忍了。这里可以合法吃熊肉的啊!虽然买过熊肉罐头,不好吃。虽然塔林也有,太贵了。然后约P导带我们来吃熊肉。P导居然非常震惊,吃熊肉。我立马解释道,吃打猎的熊肉,并不是吃你们的宠物熊肉。P导还是很吃惊,她说从来没吃过,但是她去打过猎,没看到熊。。。。。P导给我们一查,750RUB一个菜,天啊,去去去!!!青旅的学中文特别差劲的大叔说那非常贵啊,我也不知道具体是多贵。把我们吓死了都,可是为了和P导单独相处,还是去了。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/62.jpg" alt=""><br>整个餐馆只有2桌客人。明显是非富则贵的大商人啊。这我都犹豫了要不要坐下来。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/63.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/64.jpg" alt=""></p>
<p>不能怂,看完菜单后60欧100G熊肉。真的是贵。不过从北欧来的并没有被吓到。最后点了一个熊肉,一个袍子肉。袍子肉我是吃过的,可惜家里做的不怎么好吃啊。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/72.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/73.jpg" alt=""><br>等厨师烤好来,这黑不啦机的就是熊肉了。吃起来也没感觉到明显的不同,比较硬,似乎有点酸,但是炭火烤的吃不出来。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/74.jpeg" alt=""><br>这个是狍子肉,超级好吃,特别是配上这个酱。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/75.jpeg" alt=""></p>
<p>肯定吃不饱的,我们就点了一个便宜的主食咯,我来了一个猪排。10欧啊,超级便宜。不过很明显的不如芬兰的好吃。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/65.jpg" alt=""></p>
<p>最后给你们看看可爱的P导,简直想娶她当老婆。由于是我们请客,对她来说太贵了,所以她只吃了个煎饼果子。因为我穿的是短袖,想不到这里会比我们北方还冷,P导一路上还一直问我冷不冷。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/71.jpg" alt=""></p>
<p>吃饭的时候,给P导讨论了一下关于战斗民族的。把这张图给她看了下,问她能不能,她说 “搬不了那么大的”。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/91.jpg" alt=""><br>OMG!娶娶娶,以后不用我抗煤气罐了。<br>然而更震惊的是,<strong><em>俄罗斯学生宿舍2欧一个月</em></strong>。“社会主义就是好啊!!!”</p>
<p>结账的时候比较尴尬,这顿饭吃了8000RUB,然后小伙伴的信用卡不能刷啊。这都能在圣彼得堡买一套房的信用卡不能刷。(地铁上的广告看到大概30W能买一个公寓,哪里的公寓就不清楚了。)天啊,然后好歹用了我芬兰的信用卡,就是不知道这个手续费要多少了。这芬兰的信用卡一般都不能刷的这次也是奇怪了。</p>
<h1 id="0x05-回城"><a href="#0x05-回城" class="headerlink" title="0x05 回城"></a>0x05 回城</h1><p>OK,就这样结束了这次俄罗斯的旅行。全程不会忘记的就是P导的小PP。啊哈哈, 真的想娶她当老婆。P导给我们发了个小礼物,拍了个照片就吃掉了。好吧,全部吐掉了,劣质食品,万恶的公司。上面的字是我的俄罗斯名字。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/90.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/45.jpg" alt=""></p>
<p>最后更新一个在码头看到的宣传片。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/79.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/80.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/81.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/83.jpg" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/06/84.jpg" alt=""></p>
]]></content>
<summary type="html">
<![CDATA[<h1 id="0x01-引言"><a href="#0x01-引言" class="headerlink" title="0x01 引言"></a>0x01 引言</h1><p>2014年的12月我就应该去俄罗斯了,虽然哪些交换生都说是免签的,但我还是担心我的中国护照和他们不一样,我只能作罢。然后我查到了是乘坐Viking Line 去ST. PeterSburge可以有3天免签,我才把俄罗斯放入行程中。确切的说是我2016年的年度计划。然后选了一个月黑风高的好日子,我找了一个俄罗斯当地的学生导游团。啊哈哈,想不到吧。一直讨厌跟团的我居然选择了一个导游。这也是经过我深思熟虑的结果。听说老毛子的假警察,小偷又多,还不会英文。最重要的是,我怎么打俄语?给你们来一张俄罗斯的地铁图体验一下 </p>
<p>每次看到俄语的宣传单我都会反过来看一下。然而这也是让这次旅行变得更为美妙的一个决定。</p>]]>
</summary>
<category term="Life" scheme="http://doubles.me/categories/Life/"/>
</entry>
<entry>
<title><![CDATA[单手捏鸡蛋]]></title>
<link href="http://doubles.me/2016/05/30/160531/"/>
<id>http://doubles.me/2016/05/30/160531/</id>
<published>2016-05-30T20:55:04.000Z</published>
<updated>2016-10-11T23:13:47.288Z</updated>
<content type="html"><![CDATA[<p>今天看到一个视频说太极功夫可以捏爆鸡蛋。30分钟左右。</p>
<p><a href="https://www.youtube.com/watch?v=yFicJ903V-g" target="_blank" rel="external">太极擒拿 【体验真功夫20150619】 720P</a></p>
<p>但是我高中的时候捏爆过啊,被很多朋友质疑,他们以前还不信。</p>
<p>冰箱掏出一盒鸡蛋我就捏爆2个。直接爆的,没用手指头扣,视频里的大师手上还转了一下。</p>
<p>记得以前吃苹果和橘子可以直接单手扳开,好分给同桌吃。她嫌太脏不要,我就没干过了。</p>
<a id="more"></a>
<p>捏了2个,第一个非说我是4根指头扣掉的。</p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/475194157166904754.jpg" alt="2016/07/475194157166904754.jpg"></p>
<p>就再来一个顺带拍个视频。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/07/20160731.png" alt="2016/07/20160731.png"></p>
<embed src="http://player.youku.com/player.php/sid/XMTY2NDk3NzgzMg==/v.swf" allowfullscreen="true" quality="high" width="600" height="480" align="middle" allowscriptaccess="always" type="application/x-shockwave-flash">]]></content>
<summary type="html">
<![CDATA[<p>今天看到一个视频说太极功夫可以捏爆鸡蛋。30分钟左右。</p>
<p><a href="https://www.youtube.com/watch?v=yFicJ903V-g">太极擒拿 【体验真功夫20150619】 720P</a></p>
<p>但是我高中的时候捏爆过啊,被很多朋友质疑,他们以前还不信。</p>
<p>冰箱掏出一盒鸡蛋我就捏爆2个。直接爆的,没用手指头扣,视频里的大师手上还转了一下。</p>
<p>记得以前吃苹果和橘子可以直接单手扳开,好分给同桌吃。她嫌太脏不要,我就没干过了。</p>]]>
</summary>
</entry>
<entry>
<title><![CDATA[空手劈砖]]></title>
<link href="http://doubles.me/2016/05/30/160530/"/>
<id>http://doubles.me/2016/05/30/160530/</id>
<published>2016-05-30T18:40:05.000Z</published>
<updated>2016-10-11T23:13:40.622Z</updated>
<content type="html"><![CDATA[<p>奇奇怪怪的技能。</p>
<p><a href="http://www.guokr.com/blog/441840/" target="_blank" rel="external">解密劈砖背后的玄机</a></p>
<p><embed src="http://player.youku.com/player.php/sid/XNDA2NTY1NjY0/v.swf" allowfullscreen="true" quality="high" width="600" height="480" align="middle" allowscriptaccess="always" type="application/x-shockwave-flash"><br><a id="more"></a></p>
]]></content>
<summary type="html">
<![CDATA[<p>奇奇怪怪的技能。</p>
<p><a href="http://www.guokr.com/blog/441840/">解密劈砖背后的玄机</a></p>
<p><embed src="http://player.youku.com/player.php/sid/XNDA2NTY1NjY0/v.swf" allowFullScreen="true" quality="high" width="600" height="480" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed><br>]]>
</summary>
</entry>
<entry>
<title><![CDATA[电动牙刷]]></title>
<link href="http://doubles.me/2016/05/24/160524/"/>
<id>http://doubles.me/2016/05/24/160524/</id>
<published>2016-05-24T06:17:03.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><</div><div class="line">【产品介绍】</div><div class="line">具有电动牙刷应有的所有功能,ProClinical A1500 真是一个全能的产品。</div><div class="line">它有最高的每分钟冲程数:32000,使用超声波刷牙功能据说能减少5倍的牙菌斑,此外还带有内置磨光功能。</div><div class="line">它真正突出的功能是智能自动调整刷牙功能,这取决于你的操作。</div><div class="line">所以,需要额外着重清洁的区域,或者敏感的牙龈部位,不用担心过度用力带来的伤害了。</div><div class="line"></div><div class="line">【品牌介绍】</div><div class="line">高露洁棕榄有限公司是全球领先的日用消费品公司,拥有200多个国家的40,000多员工,</div><div class="line">在口腔护理、个人护理、家居护理和宠物食品等方面为大众提供高品质的消费品,其中</div><div class="line">有很多是广大消费者耳熟能详的全球著名品牌,如高露洁、棕榄、Ajax、</div><div class="line">Protex、Irish Spring、Fab、Mennen、Simply White和Hill's Science Diet等,</div><div class="line">特别是在口腔护理、液体香皂和腋下护理领域,在全球具有明显优势,在其他领域,</div><div class="line">高露洁也有一大批在日用卫生方面为全球消费者所熟知的品牌。</div></pre></td></tr></table></figure>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/05/IMG_2408.JPG-long" alt=""><br>(京东卖1499,然后送一辆自行车,这是什么鬼?买牙刷送自行车,我了个天。)</p>
<p>打开后发现是有3个刷头的,还送一个旅行盒。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/05/IMG_2410.JPG-body" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/05/IMG_2414.JPG-width" alt=""></p>
<p>充电后能用1周,自动模式可以用2周,所以出门旅行不用带充电器。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/05/IMG_2412.JPG-width" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/05/IMG_2411.JPG-long" alt=""></p>
<p>第一次看到这种充电器还是很惊奇的,感应式充电,不过还是不能摆到浴室里比较麻烦,线也太短了。说明书上也说不充电的时候不要插电。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/05/IMG_2419.JPG-body" alt=""></p>
<p>至于使用效果,我只用了一次,不过牙膏在甩啊。3种清洁模式我也感觉不到明显的差别。至于说明书上比另一个300的版本多出来的感应器,呃呃呃在哪里呢?这个感应器可是贵了40欧啊!<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/05/IMG_2423.JPG-long" alt=""></p>
<p>使用后的感觉就是牙膏在飞,嘴唇好麻,还流口水了,关键是牙龈还是出血啊!!!<br>刷到了2分钟它会自动停止,这个还挺好的。</p>
]]></content>
<summary type="html">
<![CDATA[<p>今天逛超市,看到了超市有电动牙刷打折。原本打算买一个oral-b 700的,价格才20欧的样子。可惜同伴说这种低价的机械式效果不好。会震得手麻。他们用过60RMB的,也用过100欧的oral-b。我手机查查这些型号,发现和国内的都对不上。国内的都是d12,d16这样的,这边却是700 这种型号。 看来看去,找到一个Colgate ProClinical A1500。声波牙刷,原价99,打折后59欧。<br>听说电动牙刷比较干净,而且不容易牙龈出血,我这个每天都刷牙出血的还是必须买一个了。<br>虽然我知道飞利浦的比较好,但是我也没看到飞利浦的啊。<br>就是这一款了。<br>]]>
</summary>
<category term="Life" scheme="http://doubles.me/categories/Life/"/>
</entry>
<entry>
<title><![CDATA[Wireshark & Ethereal Network Protocol Analyzer Toolkit]]></title>
<link href="http://doubles.me/2016/03/15/160315/"/>
<id>http://doubles.me/2016/03/15/160315/</id>
<published>2016-03-15T15:17:17.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>去年从学校捡来的一本书,原本过年前就应该看完的,结果被我拖到了现在。<br>毫无疑问是一本工具书,刚好我做的项目需要做pcap包的数据分析,就翻翻了。<br>其实并不需要看的很仔细,这本书就是介绍一下Wireshark相关的。<br>由于大部分的知识我都有,所以只花了2个小时浏览了一遍。<br>而且我惊奇的发现,我阅读这种书籍毫无压力。<br><a id="more"></a></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/03/IMG_20160315_161739.jpg-body" alt=""></p>
<p>具体的书目可以看这里<br><a href="http://www.amazon.com/Wireshark-Ethereal-Protocol-Analyzer-Security/dp/1597490733" target="_blank" rel="external">Wireshark & Ethereal Network Protocol Analyzer Toolkit</a></p>
<p>第一章 介绍了些网络知识,七层模型,TCP 协议等。<br>第二章 介绍了Wireshark的基本功能和使用场景。<br>第三章 介绍了如何安装。<br>第四章 介绍了Wireshark的界面,以及如何使用。<br>第五章 过滤器<br>第六章 无线嗅探<br>第七章 一些数据包的实例,比如Null Scan。<br>第八章 如何开发Wireshark<br>第九章 Wireshark中包含的其他小程序, 实际上这里比较实用,毕竟其他的都不如打开一个Wireshark来用。然后照着网上的文章参考着用。</p>
<p>我对Wireshark还是表示敬佩的,支持所有平台,支持300多个协议,开放源代码的。<br>关键是没有像其他的开元程序一样,Bug多或者界面巨丑。<br>好看,好用,似乎都没有其他的替代品。</p>
]]></content>
<summary type="html">
<![CDATA[<p>去年从学校捡来的一本书,原本过年前就应该看完的,结果被我拖到了现在。<br>毫无疑问是一本工具书,刚好我做的项目需要做pcap包的数据分析,就翻翻了。<br>其实并不需要看的很仔细,这本书就是介绍一下Wireshark相关的。<br>由于大部分的知识我都有,所以只花了2个小时浏览了一遍。<br>而且我惊奇的发现,我阅读这种书籍毫无压力。<br>]]>
</summary>
<category term="Notes" scheme="http://doubles.me/tags/Notes/"/>
<category term="Notes" scheme="http://doubles.me/categories/Notes/"/>
</entry>
<entry>
<title><![CDATA[VPS Bench]]></title>
<link href="http://doubles.me/2016/03/10/160310/"/>
<id>http://doubles.me/2016/03/10/160310/</id>
<published>2016-03-09T22:00:00.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>总是会买各种各样的VPS,买完就要测速,然后就是闲着。真的是浪费生命浪费钱啊。<br>这里总结一下买来VPS后如何了解VPS的情况。<br>推荐在你常用的时候跑测试,毕竟服务器的负载不一样跑出来的结果也不一样。<br>我用AWS的机器来测试一下。</p>
<a id="more"></a>
<h2 id="1-网络性能测试"><a href="#1-网络性能测试" class="headerlink" title="1. 网络性能测试"></a>1. 网络性能测试</h2><p>首先执行<br><figure class="highlight 1c"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">wget -qO- bench.sh <span class="string">| bash</span></div></pre></td></tr></table></figure></p>
<p>其中的那个 <code>bench.sh</code> 就是域名, 也是脚本名字了。我真的很崇拜能想到这个的人。<br>再来看下<code>bench.sh</code>能干什么:</p>
<ol>
<li>显示当前测试的各种系统信息;</li>
<li>取自世界多处的知名数据中心的测试点,下载测试比较全面;</li>
<li>支持 IPv6 下载测速;</li>
<li>IO 测试三次,并显示平均值。</li>
</ol>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/03/201603101.png-body" alt=""></p>
<p>另一个选择就是使用<code>Speedtest-cli</code>,这个还能看到上传速度。<br><figure class="highlight avrasm"><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">wget -O speedtest-<span class="keyword">cli</span> https://raw.githubusercontent.com/sivel/speedtest-<span class="keyword">cli</span>/master/speedtest_cli.py</div><div class="line">chmod +<span class="built_in">x</span> speedtest-<span class="keyword">cli</span></div><div class="line">./speedtest_cli</div></pre></td></tr></table></figure></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/03/201603102.png-body" alt=""></p>
<h2 id="2-IO性能测试"><a href="#2-IO性能测试" class="headerlink" title="2. IO性能测试"></a>2. IO性能测试</h2><p>测试硬盘IO性能,对硬盘的损害很大,不建议多次或长时间尝试,命令如下:<br><figure class="highlight nix"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">dd <span class="attr">if=/dev/zero</span> <span class="attr">of=test</span> <span class="attr">bs=64k</span> <span class="attr">count=4k</span> <span class="attr">oflag=dsync</span></div></pre></td></tr></table></figure></p>
<p>一般来说,如果测试结果超过10M,对正常建站就无影响。超过50M,就是非常给力状态。<br>不过现在一般都是SSD了,所以上百也正常。<br>(注:本测试对硬盘损伤较大,请酌情使用,请勿长时间使用,会被封的)<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/03/201603103.png-body" alt=""></p>
<h2 id="3-综合性能测试"><a href="#3-综合性能测试" class="headerlink" title="3. 综合性能测试"></a>3. 综合性能测试</h2><p>这里用的是<code>UnixBench</code>,一款国外提供的linux性能专用软件,可以跑出分数来让你做对比:<br>总分情况,低于400的就算性能低下;600-800是属于正常VPS水准;超过1000分性能就算给力。<br><figure class="highlight x86asm"><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">wget http://7xnueu.com1.z0.glb.clouddn.com/<span class="number">2016</span>/<span class="number">03</span>/UnixBench5<span class="meta">.1</span><span class="meta">.3</span>.tgz</div><div class="line">tar xvf UnixBench5<span class="meta">.1</span><span class="meta">.3</span>.tar.gz </div><div class="line">cd UnixBench5<span class="meta">.1</span><span class="meta">.3</span> </div><div class="line">./Run</div></pre></td></tr></table></figure></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/03/201603104.png-body" alt=""><br>说实话,这个成绩也是吓到我了。一般都是买廉价的VPS用来翻墙的,所以跑分多为200-400的样子,AWS将近2000着实给力。</p>
<p>Referrence:</p>
<ol>
<li><a href="https://teddysun.com/444.html" target="_blank" rel="external">一键测试脚本bench.sh</a></li>
<li><a href="https://github.com/sivel/speedtest-cli" target="_blank" rel="external">speedtest-cli</a></li>
</ol>
]]></content>
<summary type="html">
<![CDATA[<p>总是会买各种各样的VPS,买完就要测速,然后就是闲着。真的是浪费生命浪费钱啊。<br>这里总结一下买来VPS后如何了解VPS的情况。<br>推荐在你常用的时候跑测试,毕竟服务器的负载不一样跑出来的结果也不一样。<br>我用AWS的机器来测试一下。</p>]]>
</summary>
<category term="VPS" scheme="http://doubles.me/tags/VPS/"/>
<category term="Code" scheme="http://doubles.me/categories/Code/"/>
</entry>
<entry>
<title><![CDATA[4年一遇的闰年,晒晒我这1年用过的科技产品]]></title>
<link href="http://doubles.me/2016/02/29/160229/"/>
<id>http://doubles.me/2016/02/29/160229/</id>
<published>2016-02-28T22:00:00.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<h2 id="1-AR-Drone"><a href="#1-AR-Drone" class="headerlink" title="1. AR.Drone"></a>1. AR.Drone</h2><p>学校一门 Real Time Software Development 课程做的就是AR.Drone的自动搜救。</p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-829261f187ee80aa.jpg-body" alt=""></p>
<a id="more"></a>
<h2 id="2-RaspiBerry"><a href="#2-RaspiBerry" class="headerlink" title="2. RaspiBerry"></a>2. RaspiBerry</h2><p>DHR 项目中接触到的,不过在新办公室也有。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/02/216f687a1f0c44de72d516d850ccad7a.jpg-body" alt=""></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/02/IMG_20160229_144808.jpg-body" alt=""></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/02/IMG_20160229_144655.jpg-body" alt=""></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/02/IMG_20160229_144535.jpg-body" alt=""></p>
<h2 id="3-Nexus-5X"><a href="#3-Nexus-5X" class="headerlink" title="3. Nexus 5X"></a>3. Nexus 5X</h2><p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/02/IMG_20160229_1449381.jpg-body" alt=""></p>
<h2 id="4-ChromeCast"><a href="#4-ChromeCast" class="headerlink" title="4. ChromeCast"></a>4. ChromeCast</h2><p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/02/IMG_20160229_150338.jpg-body" alt=""><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/02/IMG_20160229_150311.jpg-body" alt=""></p>
<h2 id="5-3D-Connextion"><a href="#5-3D-Connextion" class="headerlink" title="5. 3D Connextion"></a>5. 3D Connextion</h2><p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/02/IMG_20160229_151236.jpg-body" alt=""></p>
<h2 id="6-Apple-TV"><a href="#6-Apple-TV" class="headerlink" title="6. Apple TV"></a>6. Apple TV</h2><p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/02/891880040173221948.jpg-body" alt=""></p>
<h2 id="7-VR-眼镜"><a href="#7-VR-眼镜" class="headerlink" title="7. VR 眼镜"></a>7. VR 眼镜</h2><p>新工作室的小宅墨镜。居然是国产的。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/02/IMG_20160314_134912.jpg-body" alt=""></p>
<h2 id="8-iwon智能手环"><a href="#8-iwon智能手环" class="headerlink" title="8. iwon智能手环"></a>8. iwon智能手环</h2><p>自己买的,并没有什么用处。处于吃灰状态。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/02/IMG_20160303_165445.jpg-body" alt=""></p>
<h2 id="9-Dell-E6630"><a href="#9-Dell-E6630" class="headerlink" title="9. Dell E6630"></a>9. Dell E6630</h2><p>发的笔记本,主要是觉得Dock 这个东西真的神器,不然每天插那么多的线,烦死。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/02/dsc_0098.jpg-body" alt=""></p>
]]></content>
<summary type="html">
<![CDATA[<h2 id="1-AR-Drone"><a href="#1-AR-Drone" class="headerlink" title="1. AR.Drone"></a>1. AR.Drone</h2><p>学校一门 Real Time Software Development 课程做的就是AR.Drone的自动搜救。</p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-829261f187ee80aa.jpg-body" alt=""></p>]]>
</summary>
<category term="diary" scheme="http://doubles.me/tags/diary/"/>
<category term="Life" scheme="http://doubles.me/categories/Life/"/>
</entry>
<entry>
<title><![CDATA[4小时从入门到放弃 - 滑雪]]></title>
<link href="http://doubles.me/2016/02/01/160201/"/>
<id>http://doubles.me/2016/02/01/160201/</id>
<published>2016-02-01T15:20:03.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<embed src="http://player.youku.com/player.php/sid/XMTYyMTE5ODUwMA==/v.swf" allowfullscreen="true" quality="high" width="600" height="480" align="middle" allowscriptaccess="always" type="application/x-shockwave-flash">
]]></content>
<summary type="html">
<![CDATA[<embed src="http://player.youku.com/player.php/sid/XMTYyMTE5ODUwMA==/v.swf" allowfullscreen="true" quality="high" width="600" height="480" a]]>
</summary>
<category term="Life" scheme="http://doubles.me/categories/Life/"/>
</entry>
<entry>
<title><![CDATA[WordPress迁移到Hexo]]></title>
<link href="http://doubles.me/2016/01/30/160130/"/>
<id>http://doubles.me/2016/01/30/160130/</id>
<published>2016-01-30T01:57:29.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<h2 id="迁移WordPress"><a href="#迁移WordPress" class="headerlink" title="迁移WordPress"></a>迁移WordPress</h2><p>使用插件 <a href="https://github.com/hexojs/hexo-migrator-wordpress" target="_blank" rel="external">hexo-migrator-wordpress</a></p>
<p>Export your WordPress in “Tools” → “Export” → “WordPress” in your dashboard.<br>Execute the following command after installed. source is the file path or URL of WordPress export file.</p>
<figure class="highlight sql"><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">$ npm <span class="keyword">install</span> hexo-migrator-wordpress <span class="comment">--save</span></div><div class="line">$ hexo migrate wordpress <<span class="keyword">source</span>></div></pre></td></tr></table></figure>
<a id="more"></a>
<h2 id="处理特殊字符"><a href="#处理特殊字符" class="headerlink" title="处理特殊字符"></a>处理特殊字符</h2><p>现有问题是不能处理文章标题中的中文和特殊符号。</p>
<p>从Wordpress迁移过来时,生成的文件名会出现如下例子<br><code>e8-bd-af-e8-bf-9e-e6-8e-a5-e5-92-8c-e7-a1-ac-e8-bf-9e-e6-8e-a5.md</code><br>因为URL中,中文是UTF-8编码。解决办法是写了一个Python脚本,然后从文件内容的id部分提取出文件名,代码如下:</p>
<figure class="highlight python"><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><div class="line">21</div><div class="line">22</div><div class="line">23</div><div class="line">24</div><div class="line">25</div><div class="line">26</div><div class="line">27</div><div class="line">28</div><div class="line">29</div><div class="line">30</div></pre></td><td class="code"><pre><div class="line"><span class="keyword">import</span> os,sys,re</div><div class="line"></div><div class="line"><span class="function"><span class="keyword">def</span> <span class="title">getTitle</span><span class="params">(firstLine)</span>:</span></div><div class="line"> strs = <span class="string">':'</span>.join(firstLine.split(<span class="string">':'</span>)[<span class="number">1</span>:])</div><div class="line"> strs = strs.replace(<span class="string">"'"</span>, <span class="string">''</span>) </div><div class="line"> strs = strs.strip()</div><div class="line"> title = <span class="string">'-'</span>.join(strs.split(<span class="string">' '</span>))</div><div class="line"> <span class="keyword">return</span> title</div><div class="line"> </div><div class="line"><span class="keyword">if</span> __name__ == <span class="string">"__main__"</span>:</div><div class="line"> dirName = sys.argv[<span class="number">1</span>]</div><div class="line"> <span class="keyword">for</span> root,dirs,fileNames <span class="keyword">in</span> os.walk(dirName):</div><div class="line"> <span class="keyword">for</span> fileName <span class="keyword">in</span> fileNames:</div><div class="line"> <span class="keyword">print</span> <span class="string">"Old file:"</span>+fileName </div><div class="line"> <span class="comment"># print root</span></div><div class="line"> fileName = os.path.join(root, fileName)</div><div class="line"> f = open(fileName)</div><div class="line"> </div><div class="line"> <span class="comment"># Get id </span></div><div class="line"> <span class="keyword">for</span> line <span class="keyword">in</span> f: </div><div class="line"> match=re.findall(<span class="string">'^id:'</span>,line)</div><div class="line"> <span class="keyword">if</span> match != []: </div><div class="line"> <span class="keyword">break</span>;</div><div class="line"> </div><div class="line"> title = getTitle(line)</div><div class="line"> f.close()</div><div class="line"> </div><div class="line"> newname = title + <span class="string">'.md'</span></div><div class="line"> <span class="keyword">print</span> <span class="string">"New file:"</span>+newname</div><div class="line"> os.rename(fileName, os.path.join(root,newname))</div></pre></td></tr></table></figure>
<p>如果脚本出错的花,就是标题中出现了特殊的符号,劲量保证id中没有其他的符号。<br>也可以使用title,但是那个就比较麻烦需要是全英文的。</p>
<p>使用方法:</p>
<blockquote>
<p>python convert.py source/_posts/</p>
</blockquote>
<h2 id="替换附件地址-使用CDN"><a href="#替换附件地址-使用CDN" class="headerlink" title="替换附件地址+使用CDN"></a>替换附件地址+使用CDN</h2><p>然后需要替换所有文本中的图片地址,这个需要看个人情况的。<br>我只需要修改域名就行,所以本地用notepad++来批量替换了。</p>
<p>然后使用七牛的CDN<br>使用了一个python的客户端脚本,用来上传图片。<br><a href="https://github.com/heqingpan/qiniu_sync" target="_blank" rel="external">qiniu_sync</a><br>新建一个目录保存图片,然后运行 <code>python qiniu_sync</code> 就可以自动同步。</p>
<h2 id="绑定域名"><a href="#绑定域名" class="headerlink" title="绑定域名"></a>绑定域名</h2><p>Github的域名绑定比较简单,只需要新建CNAME文件就行。<br>首先 <code>ping</code> 你的 Github域名,<code>ping doubleshift.github.com</code>。<br>然后得到一个IP地址,将域名解析A记录到这个IP。<br>然后创建一个文件名为<code>CNAME</code>的空文件,放到<code>source</code>就是你放博客<code>_posts</code>的父目录。<br>然后里面内容是你的域名,我的就是<code>doubles.me</code>。<br>之后<code>Hexo g -d</code>,然后就等解析生效。</p>
<h2 id="添加统计"><a href="#添加统计" class="headerlink" title="添加统计"></a>添加统计</h2><p>使用了<a href="http://busuanzi.ibruce.info/" target="_blank" rel="external">不蒜子</a>的统计, 只需要在模版里加入2行代码就行。<br>具体教程可以参考这里 <a href="http://wangcaiyong.com/2015/06/26/busuanzi/" target="_blank" rel="external">Hexo静态博客使用不蒜子添加计数功能</a>。</p>
<h2 id="添加站内搜索"><a href="#添加站内搜索" class="headerlink" title="添加站内搜索"></a>添加站内搜索</h2><p>由于使用的Github托管的,所以能看到本博客也不担心不能访问Google的问题,就用了Google Search。<br>教程参考的这里 <a href="http://lulee007.github.io/2016/01/23/Hexo%E5%8D%9A%E5%AE%A2%E4%BC%98%E5%8C%96%E9%85%8D%E7%BD%AE%E4%B9%8B-%E4%B8%BA%E8%87%AA%E5%B7%B1%E5%8D%9A%E5%AE%A2%E6%B7%BB%E5%8A%A0%E7%AB%99%E5%86%85%E6%90%9C%E7%B4%A2/" target="_blank" rel="external">Hexo博客优化配置之–为自己博客添加站内搜索</a></p>
]]></content>
<summary type="html">
<![CDATA[<h2 id="迁移WordPress"><a href="#迁移WordPress" class="headerlink" title="迁移WordPress"></a>迁移WordPress</h2><p>使用插件 <a href="https://github.com/hexojs/hexo-migrator-wordpress">hexo-migrator-wordpress</a></p>
<p>Export your WordPress in “Tools” → “Export” → “WordPress” in your dashboard.<br>Execute the following command after installed. source is the file path or URL of WordPress export file.</p>
<figure class="highlight sql"><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">$ npm <span class="keyword">install</span> hexo-migrator-wordpress <span class="comment">--save</span></div><div class="line">$ hexo migrate wordpress <<span class="keyword">source</span>></div></pre></td></tr></table></figure>]]>
</summary>
<category term="Code" scheme="http://doubles.me/categories/Code/"/>
</entry>
<entry>
<title><![CDATA[OpenCV3.0 + IntelliJ IDEA]]></title>
<link href="http://doubles.me/2016/01/24/160124/"/>
<id>http://doubles.me/2016/01/24/160124/</id>
<published>2016-01-23T22:00:00.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<h1 id="OpenCV3-0-IntelliJ-IDEA"><a href="#OpenCV3-0-IntelliJ-IDEA" class="headerlink" title="OpenCV3.0 + IntelliJ IDEA"></a>OpenCV3.0 + IntelliJ IDEA</h1><p>装备装VistualStudio2015的,但是被他搞疯掉了。装在系统盘以外但是还是花掉了我20G的系统盘,然后撑爆了C盘,终止安装。 之后删除了一些东西,卸载重装,装不上了。遂重装系统,改用Java版。</p>
<p>官方提供了一个Eclipse的环境设置文档,但是并不打算用Eclipse。使用的是 Intellij IDEA.</p>
<a id="more"></a>
<h2 id="Environment"><a href="#Environment" class="headerlink" title="Environment"></a>Environment</h2><ul>
<li>IntelliJ IDEA 14.1.5</li>
<li>JDK 1.8</li>
<li>OpenCV 3.0</li>
<li>Windows 10 Pro</li>
</ul>
<h2 id="Instruction"><a href="#Instruction" class="headerlink" title="Instruction"></a>Instruction</h2><ol>
<li><p>下载OpenCV3.0 for Windows<br>运行 <em>opencv-3.0.0.exe</em> ,解压到磁盘任意位置。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/clipboard.png" alt=""></p>
</li>
<li><p>用IntelliJ IDEA创建一个空项目,然后打开 “File->Project Structure->Libraries”<br>添加一个库, “opencb/build/java/opencv300.jar”<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/a81ebcb1-4d84-47e0-a700-01166355b29c.png" alt=""></p>
</li>
<li><p>还需要设置运行路径,”Run->Edit Configurations” 找到”VM options” 设置为 “-Djava.library.path=-Djava.library.path=G:\RTSD\opencv\build\java\x64”<br>当然,需要选择x86 或 x64。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/2c58f57d-eb65-4d03-a82b-7f260b5f2f73.png" alt=""></p>
</li>
<li><p>测试<br>import org.opencv.core.Core;<br>import org.opencv.core.CvType;<br>import org.opencv.core.Mat;</p>
</li>
</ol>
<p>public class Main<br>{<br> public static void main( String[] args )<br> {<br> System.loadLibrary( Core.NATIVE_LIBRARY_NAME );<br> Mat mat = Mat.eye( 3, 3, CvType.CV_8UC1 );<br> System.out.println( “mat = “ + mat.dump() );<br> }<br>}<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/8e198c39-c730-4193-9d0c-2e3abda38bd9.png" alt=""></p>
<h2 id="References"><a href="#References" class="headerlink" title="References"></a>References</h2><ol>
<li><a href="http://docs.opencv.org/2.4/doc/tutorials/introduction/java_eclipse/java_eclipse.html#java-eclipse" target="_blank" rel="external">http://docs.opencv.org/2.4/doc/tutorials/introduction/java_eclipse/java_eclipse.html#java-eclipse</a></li>
<li><a href="http://labusers.net/member/YoshitomoMatsubara/menu/blog.php?path=20150516.html" target="_blank" rel="external">http://labusers.net/member/YoshitomoMatsubara/menu/blog.php?path=20150516.html</a></li>
</ol>
]]></content>
<summary type="html">
<![CDATA[<h1 id="OpenCV3-0-IntelliJ-IDEA"><a href="#OpenCV3-0-IntelliJ-IDEA" class="headerlink" title="OpenCV3.0 + IntelliJ IDEA"></a>OpenCV3.0 + IntelliJ IDEA</h1><p>装备装VistualStudio2015的,但是被他搞疯掉了。装在系统盘以外但是还是花掉了我20G的系统盘,然后撑爆了C盘,终止安装。 之后删除了一些东西,卸载重装,装不上了。遂重装系统,改用Java版。</p>
<p>官方提供了一个Eclipse的环境设置文档,但是并不打算用Eclipse。使用的是 Intellij IDEA.</p>]]>
</summary>
<category term="OpenCV" scheme="http://doubles.me/tags/OpenCV/"/>
<category term="Code" scheme="http://doubles.me/categories/Code/"/>
</entry>
<entry>
<title><![CDATA[Diary 2016/01/18]]></title>
<link href="http://doubles.me/2015/11/18/160118/"/>
<id>http://doubles.me/2015/11/18/160118/</id>
<published>2015-11-17T22:00:00.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>准备开始做AR.Drone 的项目了,今天来试飞一下。<br>AR.Drone 的翻转好cool。可惜高度不够,会撞地。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-829261f187ee80aa.jpg-body" alt=""></p>
<a id="more"></a>
<p>[试飞]</p>
<embed src="http://player.youku.com/player.php/sid/XMTQ1NTgyMjEyMA==/v.swf" allowfullscreen="true" quality="high" width="480" height="400" align="middle" allowscriptaccess="always" type="application/x-shockwave-flash"><br>[第一视角]<br><embed src="http://player.youku.com/player.php/sid/XMTQ1NTgxODgyOA==/v.swf" allowfullscreen="true" quality="high" width="480" height="400" align="middle" allowscriptaccess="always" type="application/x-shockwave-flash">
]]></content>
<summary type="html">
<![CDATA[<p>准备开始做AR.Drone 的项目了,今天来试飞一下。<br>AR.Drone 的翻转好cool。可惜高度不够,会撞地。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-829261f187ee80aa.jpg-body" alt=""></p>]]>
</summary>
<category term="diary" scheme="http://doubles.me/tags/diary/"/>
<category term="Life" scheme="http://doubles.me/categories/Life/"/>
</entry>
<entry>
<title><![CDATA[Diary 2015/11/18]]></title>
<link href="http://doubles.me/2015/11/18/151118/"/>
<id>http://doubles.me/2015/11/18/151118/</id>
<published>2015-11-17T22:00:00.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>今天在学校免费拿到一个HP的交换机<br>简单清洁了一下,这个可以用来干什么呢?</p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/IMG_0376.JPG-body" alt="switch"><br><a id="more"></a></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/IMG_0378.JPG-body" alt="raspi berry"></p>
]]></content>
<summary type="html">
<![CDATA[<p>今天在学校免费拿到一个HP的交换机<br>简单清洁了一下,这个可以用来干什么呢?</p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/IMG_0376.JPG-body" alt="switch"><br>]]>
</summary>
<category term="diary" scheme="http://doubles.me/tags/diary/"/>
<category term="Life" scheme="http://doubles.me/categories/Life/"/>
</entry>
<entry>
<title><![CDATA[Slush 的前奏-Junction: 北欧最大Hackton]]></title>
<link href="http://doubles.me/2015/11/10/151110/"/>
<id>http://doubles.me/2015/11/10/151110/</id>
<published>2015-11-09T22:00:00.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p><em>Slush</em> is the focal point for European and Asian startups and tech talent to meet with top-tier international investors, executives and media.<br>2015年10月13日,芬兰顶尖创新创业机构Slush在中关村软件园主办了“SlushChina2015”。今年的Slush将于11月11日-12日,与赫尔辛基举办。而在此之前,有一个相对小型的Hackthon活动— Junction.</p>
<p>Junction 2015 与11月7-8号 在Helsinki举行。参与者超过500人,赞助商也都是是财大气粗的 Uber,Airbnb,OP 等公司。第一名将被选取以初创企业的身份参加Slush,其他的奖励也都是5000€的upcloud, Raspiberry,Apple TV, IBM实验室之旅等。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-812dec44bc984231.jpg-body" alt=""></p>
<a id="more"></a>
<p>Junction 整个活动是费用全包的,24小时的食物,无限量的”红牛”,临时休息的公寓,来回的大巴,甚至包括海外的往返机票。路上看到这座,额。。。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-a28238f44e19b3aa.jpg-body" alt=""></p>
<p>这里就是Junction的地点了,门口还停有一辆sauna bus,让人联想到擎天柱 cool.<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-6c9683f66161787b.jpg-body" alt=""></p>
<p>在门口领取掉牌,蹭吃蹭喝全靠这个了。背面是地图。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-49eb9642893840a0.JPG-body" alt=""></p>
<p>看到这个”红牛”会不会感觉好亲切,2天我起码喝了10罐。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-8fc6a5a25097c57f.jpg-body" alt=""></p>
<p>当然,无数的红牛也比不上芬兰妹子的一杯卡布奇诺。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-c5b2d566d1f9db81.jpg-body" alt=""></p>
<p>下面是正题,<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-5afbaa7866aa792e.jpg-body" alt=""></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-97a86014ddf1ea81.jpg-body" alt=""></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-7080e1e0441b7bca.jpg-body" alt=""></p>
<p>这边就是各种设备的摆摊了,3D 打印机,XBOX,Flic Button, 等<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-aa06c3cdfcf60b4b.jpg-body" alt=""></p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-652fe055cc1ce7d2.jpg-body" alt=""></p>
<p>这组人一个月前就开始准备了,他们的作品是通过蓝牙控制轮椅。虽然这些设备在北欧已经很常见了,但是还是应该向他们致敬。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-fe383a0cbca20a5e.jpg-body" alt=""></p>
<p>我拿到了一个 <a href="https://flic.io/" target="_blank" rel="external">Flic button</a>.<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-eb1521b6e453cb68.png-body" alt="flic-with-outline.png"><br>我的主意是做一个Login Button, 相应PassLess的Idea. 以后电脑上凡是需要登入的网站,我直接敲下这个按钮,chrome插件就会完成整个登入过程。Flic button 完全离线,所以无需担心密码泄露,保存好这个button就行了。 然而,我没法说服别人采用这个点子,别人也没法说服我不做这个。所以,一个人根本写不完。</p>
<p>另外一组用Flic 的是这样的,<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-db1c3e7d4a8a1f04.jpg-body" alt=""><br>按下flic,火箭就飞走了,然后上面有一个智能手机,你就可以通过上面的位置分享,把它给捡回来。</p>
<p>最后我撸了一堆东西回来,很多东西我都不好意思再拿了,也不好带,就没要。<br>可惜各种试用点券,基本都是100欧起送,我发觉的太晚了,各种没听过的服务,很多人都给丢掉了。<br>然后捡来了几张100欧的AWS。IBM和微软的比较坑,简直就是来刷存在感的,一张电影片,一个GoPro还得抽奖。</p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-8f45847a626fd927.JPG-body" alt=""><br>所有T-shirt 里比较好看的<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-a815c961361ad8e7.JPG-body" alt=""></p>
<p>不过还是想吐曹一下住宿,虽然知道hackthon能有床就不错,这次还给了房间。但是为了不和印度小哥睡一张床打地铺了,怎么还是会有非洲大叔来一起睡。</p>
<p>总结一下:</p>
<ol>
<li>活动最后评奖的时候发现,并不是每个人都有所谓的成品,很多人只不过有一个PPT,当然也有提早准备几个月的。但他们无论什么样的,对于自己的东西说的都是一身劲。我们没有成品的话,太心虚,连最终项目提交都放弃了。无论结果怎么样,都要自信。</li>
<li>他们如果有想法的话组队很苛刻,我说我3年开发经验,如果算全职的话是1年半,他们还担心我跟不上。因为不是公司里全职的工作,实习,兼职并不算。我就随意找了个说会ios和web的组队了。原来会Hello World 的也算会代码。所以活动开始后,这几个人只能去一日游了。我变成光杆司令了。提前准备很重要,最起码要有一个靠铺的团队,除非准备solu。当然现场也是可以找的,但是保不准哪个成员就放弃了。 也保不准哪个成员的水平就靠那张嘴。</li>
<li>不要和那些没有技术背景却又想着创业的点子浪费时间,真的。商业模式给你说完了,点子详情还舍不得给你说。好不容易掏出计划书,还是all in one的 paper prototype?如果不纠结的话应该叫做流程图。</li>
</ol>
<p>活动详情:<br><a href="https://www.facebook.com/groups/hackjunction2015" target="_blank" rel="external">FaceBook Group</a><br><a href="https://www.facebook.com/events/1460852820890313" target="_blank" rel="external">FaceBook Page</a><br>大赛主页:<br><a href="http://hackjunction.com" target="_blank" rel="external">Junction</a></p>
]]></content>
<summary type="html">
<![CDATA[<p><em>Slush</em> is the focal point for European and Asian startups and tech talent to meet with top-tier international investors, executives and media.<br>2015年10月13日,芬兰顶尖创新创业机构Slush在中关村软件园主办了“SlushChina2015”。今年的Slush将于11月11日-12日,与赫尔辛基举办。而在此之前,有一个相对小型的Hackthon活动— Junction.</p>
<p>Junction 2015 与11月7-8号 在Helsinki举行。参与者超过500人,赞助商也都是是财大气粗的 Uber,Airbnb,OP 等公司。第一名将被选取以初创企业的身份参加Slush,其他的奖励也都是5000€的upcloud, Raspiberry,Apple TV, IBM实验室之旅等。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2016/00/22964-812dec44bc984231.jpg-body" alt=""></p>]]>
</summary>
<category term="hackthon" scheme="http://doubles.me/tags/hackthon/"/>
<category term="Life" scheme="http://doubles.me/categories/Life/"/>
</entry>
<entry>
<title><![CDATA[2个周末从入门到放弃 - 跳伞]]></title>
<link href="http://doubles.me/2015/09/26/150926/"/>
<id>http://doubles.me/2015/09/26/150926/</id>
<published>2015-09-26T14:10:03.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>报名花了230欧,然后拿到了一个跳伞的眼镜,并且可以跳2次。<br>没有报Tandom的双人跳,就只能自己培训然后开始跳了。<br>据说有这项运动以来芬兰一共才死65个人,还是很安全的。</p>
<p>第一次跳只能从1000米左右开始跳,后面才能慢慢跳到3000米的高度。<br>而且前面4次必须是用拉钩自动开伞的,后面才能自己手动开伞。</p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2015/09/15092603.jpg" alt="15092603.jpg"></p>
<a id="more"></a>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2015/09/15092601.jpg" alt="15092601.jpg"><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2015/09/15092602.jpg" alt="15092602.jpg"></p>
<p>如果想要拿到证装逼的话需要跳30次左右。我手上有一个航空日志,会记录每次跳伞的评价。<br>然而我只跳了一次。</p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2015/09/IMG_20160627_042542.jpg" alt="IMG_20160627_042542.jpg"><br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2015/09/IMG_20160627_042641.jpg" alt="IMG_20160627_042641.jpg"></p>
<embed src="http://player.youku.com/player.php/sid/XMTYyMTIwNjcxMg==/v.swf" allowfullscreen="true" quality="high" width="600" height="480" align="middle" allowscriptaccess="always" type="application/x-shockwave-flash">]]></content>
<summary type="html">
<![CDATA[<p>报名花了230欧,然后拿到了一个跳伞的眼镜,并且可以跳2次。<br>没有报Tandom的双人跳,就只能自己培训然后开始跳了。<br>据说有这项运动以来芬兰一共才死65个人,还是很安全的。</p>
<p>第一次跳只能从1000米左右开始跳,后面才能慢慢跳到3000米的高度。<br>而且前面4次必须是用拉钩自动开伞的,后面才能自己手动开伞。</p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2015/09/15092603.jpg" alt="15092603.jpg"></p>]]>
</summary>
<category term="Life" scheme="http://doubles.me/categories/Life/"/>
</entry>
<entry>
<title><![CDATA[看看最近关于黑客的电影]]></title>
<link href="http://doubles.me/2015/05/06/1075/"/>
<id>http://doubles.me/2015/05/06/1075/</id>
<published>2015-05-06T17:17:47.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>主要有这几部,持续更新。</p>
<h1 id="我是谁,没有安全的系统"><a href="#我是谁,没有安全的系统" class="headerlink" title="我是谁,没有安全的系统"></a>我是谁,没有安全的系统</h1><p>这部电影很值得一看,最后多重反转,而且黑客案例让人热血沸腾。虽然这些案例是俺们都yy过的。</p>
<p>社会工程才是最牛逼的。</p>
<a id="more"></a>
<h1 id="骇客交锋"><a href="#骇客交锋" class="headerlink" title="骇客交锋"></a>骇客交锋</h1><p>主演:汤唯,王力宏</p>
<p>内容大概就是:第二天汤唯从男人床上起来。。。。</p>
<p>汤唯从男人床上起来。。。。</p>
<p>王力宏看着这个妹妹从男人床上起来。。。</p>
<p>吐槽点:u盘的autorun.inf 可以在linux上运行?</p>
<h1 id="战狼"><a href="#战狼" class="headerlink" title="战狼"></a>战狼</h1><p>主演:吴京</p>
<p>看预告就知道没啥好看的,所以花20分钟看完了。</p>
<p>主要内容就是军演过程有几个煞笔雇佣兵打算无目的的弄死几个中国军人。仅仅是涉及到了一点。</p>
<p>吐槽点:一图流,<a href="http://7xnueu.com1.z0.glb.clouddn.com/2015/05/1.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2015/05/11.png" alt="1"></a></p>
]]></content>
<summary type="html">
<![CDATA[<p>主要有这几部,持续更新。</p>
<h1 id="我是谁,没有安全的系统"><a href="#我是谁,没有安全的系统" class="headerlink" title="我是谁,没有安全的系统"></a>我是谁,没有安全的系统</h1><p>这部电影很值得一看,最后多重反转,而且黑客案例让人热血沸腾。虽然这些案例是俺们都yy过的。</p>
<p>社会工程才是最牛逼的。</p>]]>
</summary>
<category term="Life" scheme="http://doubles.me/categories/Life/"/>
</entry>
<entry>
<title><![CDATA[再也不相信Google的翻译了]]></title>
<link href="http://doubles.me/2015/01/06/1063/"/>
<id>http://doubles.me/2015/01/06/1063/</id>
<published>2015-01-06T01:46:00.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>一直感觉Google的翻译不如Bing,但是google的译者工具包是唯一提供文档翻译的。</p>
<p>然后看到了这个,累觉不爱。Google翻译再见。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2015/01/QQ20150106054342.png" alt=""></p>
]]></content>
<summary type="html">
<![CDATA[<p>一直感觉Google的翻译不如Bing,但是google的译者工具包是唯一提供文档翻译的。</p>
<p>然后看到了这个,累觉不爱。Google翻译再见。<br><img src="http://7xnueu.com1.z0.glb.clouddn.com/2015/01/]]>
</summary>
<category term="Life" scheme="http://doubles.me/categories/Life/"/>
</entry>
<entry>
<title><![CDATA[Thinkpad E531 安装Mac 10.10]]></title>
<link href="http://doubles.me/2014/12/30/1053/"/>
<id>http://doubles.me/2014/12/30/1053/</id>
<published>2014-12-30T00:47:29.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>因为想做IOS开发,这个笔记本又是刚买,所以必须安装黑苹果了。</p>
<p>花了一个星期下了几个镜像和尝试了几种安装方式,最后搞定了,虽然有很多BUG。</p>
<p><strong>1. 虚拟机</strong></p>
<a id="more"></a>
<p>可以下载安装镜像进行安装,但是更好的方法是下载安装好MAC 10.10的VMware镜像。</p>
<p>另外有种方式是用VirtualBox,有个环境部署的可以直接搜到很多镜像,名字忘记了。</p>
<p>性能实在太差,安装VMsvga2_v1.2.5_OS_10.9这个驱动后虽然可以用但是还是卡,可能与我不能开启3D加速有关。</p>
<p>2天后放弃。</p>
<p><strong>2.懒人版</strong></p>
<p>PCbeta上的安装方式,但是我感觉他们有特殊的目的似乎。可以很简单的过程非要搞的这么复杂。</p>
<p>过程是下载一个懒人版的镜像,后缀是cdr。将镜像写入一个硬盘分区,然后用变色龙引导启动,之后进行安装到另一个硬盘分区。为什么要这样?硬盘读写快吧,看起来是,但是特别麻烦。</p>
<p><strong>3.超级懒人版&整合版</strong></p>
<p>pcbeta封掉的安装方式,但是却是最友好的方式。这里可以下载GHO镜像,<a href="http://ifunple.com/" target="_blank" rel="external">http://ifunple.com/</a>。如果它们安装成功了我会觉得是很厉害,但是它们似乎只能UEFI引导,而且官方论坛挂了,也没有教程。微博没有人回复。我尝试了其他方式引导,失败。然后下载了一个另外的镜像 <a href="http://hackintosh.zone/" target="_blank" rel="external">http://hackintosh.zone</a>,找到了番茄花园的感觉。</p>
<p><strong>安装方法</strong></p>
<p>1.下载</p>
<p>才3个包,最简单的了。</p>
<p><a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/12/Yosemite-DMG-Torrent.zip" target="_blank" rel="external">Yosemite DMG Torrent</a> <a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/12/TransMac.zip" target="_blank" rel="external">TransMac</a> <a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/12/E531.zip" target="_blank" rel="external">E531</a></p>
<p>2.用TransMac将Yosemite-Zone.dmg写入8gU盘。</p>
<p>然后u盘启动,进入安装就OK。安装的时候选择不需要网络连接,安装完毕重启一次就行,但是只限于网线。</p>
<p>3.驱动问题比较麻烦,我太懒了,而且很多东西也不用所以只驱动最简单的就行了。进入后唯一不能正常的就是声卡驱动,</p>
<p>在上方前往里面选择前往/根目录,将 “ E531完美驱动 ”文件夹下的Extra文件夹,拷到MAC OS X的根目录下。然后安装压缩包里面的VoodooHDA-v2.8.0.x64.ML.pkg安装一下,就可以驱动声卡了。</p>
<p>如果触摸板不能驱动的话把AppleACPIPS2Nub.kext这个文件删掉。</p>
<p>如果想全部安装的话可以看这里 <a href="http://bbs.pcbeta.com/viewthread-1534401-1-1.html" target="_blank" rel="external">http://bbs.pcbeta.com/viewthread-1534401-1-1.html</a><a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/12/Yosemite-DMG-Torrent.zip" target="_blank" rel="external">
</a></p>
<p> </p>
<p><strong>缺陷</strong></p>
<p><span style="color: #ff0000;">1.不能驱动无线网卡</span></p>
<p>2. 不能调节亮度,千万别按F5,F6,会花屏死机(使用esc+fn退出特殊功能可以按f5)</p>
<p>3.没有装蓝牙,读卡器,USB3.0等的驱动</p>
<p>4.电池电量不能显示</p>
<p>5.不能识别插入的显示器</p>
<p>6.尝试打lol,10分钟以后有爆显存的危险。</p>
<p> </p>
<p>就这样了,其他的要等我再使用过后才知道,慢慢编辑,力图完美。</p>
<p><a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/12/2.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/12/2.png" alt="2"></a></p>
<p><span style="color: #ff0000;">3月1日更新</span></p>
<p><span style="color: #000000;">花了数小时配置了mac osx的常用环境,下载了很多软件进行使用。还有一个bug就是不能修改默认视频软件,使用mplayerx不能最大化,不然就灰屏了。</span></p>
<p><strong><span style="color: #000000;">NTFS读写</span></strong></p>
<p><span style="color: #000000;">首先需要解决的是对ntfs的读写。安装一个叫做tuxera ntfs的软件,是ntfs-3g的更新版,可惜是收费的。pcbeta有2014版的注册码,虽然不是很鼓励,但是如果有其他像我这样一天3欧伙食费的人还是去远景把。</span></p>
<p><strong>快捷键</strong></p>
<p>最好能win用一样的配置。</p>
<p><strong>alfored2</strong></p>
<p><span style="color: #000000;"> </span></p>
]]></content>
<summary type="html">
<![CDATA[<p>因为想做IOS开发,这个笔记本又是刚买,所以必须安装黑苹果了。</p>
<p>花了一个星期下了几个镜像和尝试了几种安装方式,最后搞定了,虽然有很多BUG。</p>
<p><strong>1. 虚拟机</strong></p>]]>
</summary>
<category term="LinuX" scheme="http://doubles.me/categories/LinuX/"/>
</entry>
<entry>
<title><![CDATA[如意云安装Goagent]]></title>
<link href="http://doubles.me/2014/12/06/1043/"/>
<id>http://doubles.me/2014/12/06/1043/</id>
<published>2014-12-06T09:54:12.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>网上找了很久,并且都没有成功安装上Goagent,花了4个小时最后搞定。<br>如意云自带的地址过期了,404.<br>先在 系统->软件源->配置 中修改原本的网址为<br><a href="http://downloads.openwrt.org.cn/PandoraBox/ralink/mt7620/packages" target="_blank" rel="external">http://downloads.openwrt.org.cn/PandoraBox/ralink/mt7620/packages</a></p>
<p><a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/12/QQ20141206123304.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/12/QQ20141206123304.png" alt="QQ20141206123304"></a></p>
<a id="more"></a>
<p>然后ssh登入,192.168.99.1 帐号是root:54321<br>接着执行: opkg update<br>然后执行:opkg install libopenssl python pyopenssl python-openssl<br>执行这一句的时候会出错,提示找不到依赖。</p>
<p><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/12/QQ20141206124135.png" alt="QQ20141206124135"></p>
<p>satisfy_dependencies_for: Cannot satisfy the following dependencies for python:</p>
<ul>
<li>libc <em> libc </em> libc <em> libc </em></li>
<li>opkg_install_cmd: Cannot install package python</li>
</ul>
<p>不要紧,直接找到它的地址,下载回来再安装。<br>wget <a href="http://downloads.openwrt.org.cn/PandoraBox/ralink/mt7620/packages/libc_0.9.33.2-1_ralink.ipk" target="_blank" rel="external">http://downloads.openwrt.org.cn/PandoraBox/ralink/mt7620/packages/libc_0.9.33.2-1_ralink.ipk</a><br>opkg install libc_0.9.33.2-1_ralink.ipk</p>
<p>然后会看到安装成功的图,这下查看一下安装了哪些包。<br><a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/12/QQ201412061242591.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/12/QQ201412061242591.png" alt="QQ20141206124259"></a></p>
<p>然后就是配置goagent,这个就不多说了。</p>
<p>注意0.0.0.0是监听所有地址,这样才能在局域网中生效。</p>
<p>然后是添加到启动项中,添加 python /root/goagent/proxy.py 到 /etc/rc.local 中就Ok。</p>
<p>也可以在路由配置Web的启动项中添加。</p>
<p>路径没有注册,所以用的/opt/usr/bin/python /root/goagent/proxy.py</p>
<p>下一步是安装Gevent,可以减少CPU的消耗,但是还没有成功。</p>
]]></content>
<summary type="html">
<![CDATA[<p>网上找了很久,并且都没有成功安装上Goagent,花了4个小时最后搞定。<br>如意云自带的地址过期了,404.<br>先在 系统->软件源->配置 中修改原本的网址为<br><a href="http://downloads.openwrt.org.cn/PandoraBox/ralink/mt7620/packages">http://downloads.openwrt.org.cn/PandoraBox/ralink/mt7620/packages</a></p>
<p><a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/12/QQ20141206123304.png"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/12/QQ20141206123304.png" alt="QQ20141206123304"></a></p>]]>
</summary>
<category term="LinuX" scheme="http://doubles.me/categories/LinuX/"/>
</entry>
<entry>
<title><![CDATA[博客待办事项]]></title>
<link href="http://doubles.me/2014/11/17/1031/"/>
<id>http://doubles.me/2014/11/17/1031/</id>
<published>2014-11-17T18:39:34.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p><del>自动博客备份(数据库+文件)</del>- 七牛云+sae jobs</p>
<p><del>垃圾评论过滤,插件没用啊。</del>- 数据库批量删了,使用多说</p>
<p><del>评论者头像被墙了,wtf。</del> - 修改主题,使用多说的头像服务</p>
<p><del>买域名。 </del><span style="color: #000000;">DoublesU.com</span></p>
<p><del>更新文章啊,混蛋。</del></p>
<p>代码格式化插件</p>
<p>文章内容的格式不好看</p>
<p>Markdown</p>
<p><del>后台不能生成图片缩略图 </del> 手动编辑吧,在线处理太慢,不如本地传小图</p>
]]></content>
<summary type="html">
<![CDATA[<p><del>自动博客备份(数据库+文件)</del>- 七牛云+sae jobs</p>
<p><del>垃圾评论过滤,插件没用啊。</del>- 数据库批量删了,使用多说</p>
<p><del>评论者头像被墙了,wtf。</del> - 修改主题,使用多说的头像服务</]]>
</summary>
<category term="Others" scheme="http://doubles.me/categories/Others/"/>
</entry>
<entry>
<title><![CDATA[全自动小说订阅微信推送]]></title>
<link href="http://doubles.me/2014/02/02/991/"/>
<id>http://doubles.me/2014/02/02/991/</id>
<published>2014-02-02T15:08:50.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>一直有看小说的习惯,其他的作者的不稳定更新让人很烦恼,而我一直是贴吧看的小说,很没节操么,但是穷屌丝就这个样子了。</p>
<p>然后决定自己利用微信写一个小说推送平台,就不用每次一个一个贴吧去切换了,当然用户只是我自己啦。</p>
<p>由于vps坑爹的跑路了,所以转回sae上跑博客,域名也就不绑定了,这个采集本来放openshift上,但是被墙了,好噶,继续sae。</p>
<p>我们的目标是: 全自动采集推送小说到微信 ,这里大概分3个部分</p>
<p>文章只写实现过程和注意要点,代码会放在最后的。</p>
<h2 id="1-自动小说采集"><a href="#1-自动小说采集" class="headerlink" title="1. 自动小说采集"></a>1. 自动小说采集</h2><p>首先选定一个小说网址,我找到一个,google的排名很靠前啊。唐家三少的绝世唐门,然后看源码,分别要匹配一下他的目录页和内容页。</p>
<p><a href="view-source:http://www.douluodalu.com.cn/jueshitangmen" target="_blank" rel="external">view-source:http://www.douluodalu.com.cn/jueshitangmen</a> 看了他的源码发现每次都抓这个页面很费流量,而且也不好排除其他的url是否为小说的更新,然后就从第一章开始采集,每次加载他的下一页。<br><a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/QQ20140202175818.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/QQ20140202175818.png" alt="QQ20140202175818"></a></p>
<p>打开 第一章 的页面源码 <a href="view-source:http://www.douluodalu.com.cn/jueshitangmen/6860.html" target="_blank" rel="external">view-source:http://www.douluodalu.com.cn/jueshitangmen/6860.html</a> 很自然的找到需要采集的标签, 需要 标题,时间,内容,下一页。如果下一页为空就是到了更新的最后一章了。然后程序就从这个入口开始,采集这几个标签,一直到下一页为空就停止,下次再取最后一个文章地址作为开头继续采集。 先写个函数过滤掉重复,空白,html标签等。空白有空格,n个空格,空行,tab键,等等,所以过滤的正则找了好多,最后效果比较好。然后写正则匹配,取到这几个标签。</p>
<p><a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/QQ20140202180553.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/QQ20140202180553.png" alt="QQ20140202180553"></a></p>
<p>然后定义一个数据表作为采集的中转存储</p>
<p>CREATE TABLE IF NOT EXISTS <code>articles</code> (<br><code>id</code> int(9) NOT NULL auto_increment,<br><code>title</code> varchar(500) NOT NULL,<br><code>time</code> datetime default NULL,<br><code>url</code> varchar(500) NOT NULL,<br><code>content</code> text NOT NULL,<br>UNIQUE KEY <code>id</code> (<code>id</code>)<br>) ENGINE=MyISAM DEFAULT CHARSET=utf8;</p>
<p>由于第一次任务比较多,所以可能需要多访问几次这个页面,<a href="http://iniu.sinaapp.com/app/caiji4sae.php" target="_blank" rel="external">http://iniu.sinaapp.com/app/caiji4sae.php</a></p>
<p>然后以后就可以使用cron任务,每天自动采集了。</p>
<p>sae上的定时任务是写一个config.yaml的文件,不是很明白,然后找到一个工具<a href="http://saetools.sinaapp.com/cron.html" target="_blank" rel="external">http://saetools.sinaapp.com/cron.html</a></p>
<p>OK,自动生成了如下的信息,由于唐家三少的小说每天晚上12点,早上7点,下午5点左右会更新,所以4个小说检查一次差不多,就看这个小说网站及时不及时了。</p>
<p>appname: iniu<br>version: 1<br>cron:</p>
<ul>
<li>description: 自动采集<br>url: app/caiji4sae.php<br>schedule: every 4 hours</li>
</ul>
<p><strong><a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/QQ20140203010322.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/QQ20140203010322.png" alt="QQ20140203010322"></a></strong></p>
<h2 id="2-小说入库Wordpress"><a href="#2-小说入库Wordpress" class="headerlink" title="2.小说入库Wordpress"></a>2.小说入库Wordpress</h2><p>发布这里费了点事,其实可以使用xmlrpc , 邮箱发布等,那样采集程序就不用放一个地方跑,sae上放采集程序不是很好,日志什么的很麻烦,流量也贵,本地读写也没有,但是速度快,不然用国外的微信公众平台会没响应。(当然是指免费的云空间)</p>
<p>我在这里使用了直接写数据库的方式,需要先分析一下wordpres的数据表。</p>
<p>wordpress数据表定义如下,由于我们没有图片,所以 存储文章的包括 wp_posts,wp_term_relationships</p>
<p>wp_commentmeta:存储评论的元数据<br>wp_comments:存储评论<br>wp_links:存储友情链接(Blogroll)<br>wp_options:存储WordPress系统选项和插件、主题配置<br>wp_postmeta:存储文章(包括页面、上传文件、修订)的元数据<br>wp_posts:存储文章(包括页面、上传文件、修订)<br>wp_terms:存储每个目录、标签<br>wp_term_relationships:存储每个文章、链接和对应分类的关系<br>wp_term_taxonomy:存储每个目录、标签所对应的分类<br>wp_usermeta:存储用户的元数据<br>wp_users:存储用户</p>
<p>然后看下表结构,posts中需要改的字段和我们前面的标题,内容,时间对应,还剩下不变的作者ID,和一个guid。这个guid是对应一个url</p>
<p><a href="http://dlinux.sinaapp.com/?p=1" target="_blank" rel="external">http://dlinux.sinaapp.com/?p=1</a> 数值是自增id,所以写的语句还要获取当前插入的自增ID,然后在wp_term_relationships 也需要这个自增id,插入对应的目录中。</p>
<p><strong>wp_posts</strong><br>ID:自增唯一ID<br>post_author:对应作者ID<br>post_date:发布时间<br>post_date_gmt:发布时间(GMT+0时间)<br>post_content:正文<br>post_title:标题<br>post_excerpt:摘录<br>post_status:文章状态(publish/auto-draft/inherit等)<br>comment_status:评论状态(open/closed)<br>ping_status:PING状态(open/closed)<br>post_password:文章密码<br>post_name:文章缩略名<br>to_ping:未知<br>pinged:已经PING过的链接<br>post_modified:修改时间<br>post_modified_gmt:修改时间(GMT+0时间)<br>post_content_filtered:未知<br>post_parent:父文章,主要用于PAGE<br>guid:未知<br>menu_order:排序ID<br>post_type:文章类型(post/page等)<br>post_mime_type:MIME类型<br>comment_count:评论总数</p>
<p> </p>
<p><strong>wp_term_relationships</strong><br>object_id:对应文章ID/链接ID<br>term_taxonomy_id:对应分类方法ID<br>term_order:排序</p>
<p> </p>
<p>取自增id网上有4个方法,但好像都是要插入之后才能取到,我每次取都是0。所以这里利用max(ID)来取得,但是这个方法不适合高并发的网站,这里到没问题。有什么方法好点麻烦告诉我一声。</p>
<p>$result = mysql_query(“select max(ID) from wp_posts;”,$connect);</p>
<p>$row = mysql_fetch_row($result);</p>
<p>$last_id = $row[0] +1 ; //然后拼接地址为 ‘<a href="http://iniu.sinaapp.com/?p={$last_id}" target="_blank" rel="external">http://iniu.sinaapp.com/?p={$last_id}</a>‘</p>
<p>还没完,选择一个单本wordpress小说主题Danx,然后使用Any Mobile Theme 为桌面和手机分别适配2个不同主题,移动主题选择好像不多,我使用了mobilepack 。当然,主题都需要修改一下下,很多不需要的去掉了。</p>
<p>OK到这里就基本完成了数据的部分了,然后就是推送了。可以预览一下我们的网站和原网站的对比了。</p>
<p><a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/QQ20140202190523.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/QQ20140202190523.png" alt="QQ20140202190523"></a> <a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/QQ20140202190640.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/QQ20140202190640.png" alt="QQ20140202190640"></a></p>
<h2 id="3-微信公众平台推送"><a href="#3-微信公众平台推送" class="headerlink" title="3.微信公众平台推送"></a>3.微信公众平台推送</h2><p>这里看需求,可以自己写,我的上一个微信平台就是自己写的,也可以用3方的平台,开源的平台,但是这里我用了个wordpress的插件。任务不多,所以这个应该可以满足的。置于消息实时推送,只能放后面再说,今天时间不多了。找到我爱水煮鱼的微信机器人,安装上配置一下后台地址就OK,不过只有查找功能,最新的消息还没有,等会添加。</p>
<p><a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/QQ20140203005917.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/QQ20140203005917.png" alt="QQ20140203005917"></a></p>
<p>最终的实现效果就是这样了,看起来还不错,不过主题好像没有适配好。<img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/20140203005830.png" alt="20140203005830"> <img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/20140203010022.png" alt="20140203010022"> <img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/20140203010039.png" alt="20140203010039"></p>
<p> 最后访问地址 <a href="http://iniu.sinaapp.com" target="_blank" rel="external">http://iniu.sinaapp.com</a></p>
<p>所有用到的附件打包 <a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/02/spider.zip" target="_blank" rel="external">spider</a></p>
]]></content>
<summary type="html">
<![CDATA[<p>一直有看小说的习惯,其他的作者的不稳定更新让人很烦恼,而我一直是贴吧看的小说,很没节操么,但是穷屌丝就这个样子了。</p>
<p>然后决定自己利用微信写一个小说推送平台,就不用每次一个一个贴吧去切换了,当然用户只是我自己啦。</p>
<p>由于vps坑爹的跑路了,所以转回s]]>
</summary>
<category term="采集" scheme="http://doubles.me/tags/%E9%87%87%E9%9B%86/"/>
<category term="微信公众平台" scheme="http://doubles.me/tags/%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%B9%B3%E5%8F%B0/"/>
<category term="Code" scheme="http://doubles.me/categories/Code/"/>
</entry>
<entry>
<title><![CDATA[如何一次清空Gmail邮件]]></title>
<link href="http://doubles.me/2014/01/26/980/"/>
<id>http://doubles.me/2014/01/26/980/</id>
<published>2014-01-26T05:55:34.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>Gmail已经5000+的邮件了,都不是有用的邮件,就想着怎么清楚它。弄了半天发现几个方法,分享一下。</p>
<h2 id="使用过滤器"><a href="#使用过滤器" class="headerlink" title="*使用过滤器"></a>*使用过滤器</h2><p>1,在设置里面创建过滤器,<br>2,条件设为不包含“軣“(尽量选择生僻字),<br>3,根据此条件创建过滤器,选择删除邮件,同时勾选”同时将此过滤器应用于与 个会话匹配的xxx“<br>4,到已删除邮件里选择所有,然后在下拉栏里再选择”所有文件“,点删除。</p>
<p> </p>
<h2 id="利用imap协议"><a href="#利用imap协议" class="headerlink" title="*利用imap协议"></a>*利用imap协议</h2><p>去申请一个新的别的地方的信箱,然后设置一下远程收取,并设置收取后删除原件就可以了</p>
<p> </p>
<h2 id="全选收件箱"><a href="#全选收件箱" class="headerlink" title="*全选收件箱"></a>*全选收件箱</h2><p>其实正确的操作方法是这样的:<br>1、点击邮件勾选标签栏上最顶部的勾选框旁的小三角,在下拉菜单里选择“全部”,这样就勾选了当前页面的50个会话。<br>2、这时候会自动弹出一个提示:“此页中的所有 50 会话都已选中。’选择收件箱’ 中的所有 xxx 个会话”<br>3、点击“选择收件箱”,这个时候提示会显示为:已选中 收件箱 中的所有xxx会话。清除选中<br>4、再点击快捷栏上面的垃圾箱图标就可以一次性全部删除。</p>
<p> </p>
<p>比较推荐使用过滤器,真的很强大,可以筛选出一些邮件保留。</p>
<p>另外,由于没有装插件,博客的垃圾评论太多了,除了机器人好像没人气似的。</p>
]]></content>
<summary type="html">
<![CDATA[<p>Gmail已经5000+的邮件了,都不是有用的邮件,就想着怎么清楚它。弄了半天发现几个方法,分享一下。</p>
<h2 id="使用过滤器"><a href="#使用过滤器" class="headerlink" title="*使用过滤器"></a>*使用过滤器</h2>]]>
</summary>
<category term="Web" scheme="http://doubles.me/categories/Web/"/>
</entry>
<entry>
<title><![CDATA[Cocos2d JSB 记录贴]]></title>
<link href="http://doubles.me/2014/01/21/962/"/>
<id>http://doubles.me/2014/01/21/962/</id>
<published>2014-01-21T07:43:45.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>搞了一个礼拜的Jsbinding了,东拼西凑也能在手机上跑起来了。</p>
<p>官方的demo在弄好环境的第2天就跑动了,但是自己创建的工程死活跑不动。这里记录遇到的坑。</p>
<p>1. 创建的工程导入eclipse缺少构建器<br>没办法,把官方的那个飞机拖出来,里面代码改掉,改成自己的。<br>2.远程调试<br>搞了很久的远程调试,依然连不上 。<br>Firefox提供了远程调试,需要安装最新版本的firefox,在开发工具里面设置打开远程调试。<br>然后设置Android <a href="https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Firefox_for_Android" target="_blank" rel="external">https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Firefox_for_Android</a><br>修改代码支持远程调试 <a href="https://github.com/cocos2d/cocos2d-x/blob/f9c34bc18ee061f1964d8c7d100f0c4fce9c6ee5/cocos/scripting/javascript/script/debugger/README.md" target="_blank" rel="external">https://github.com/cocos2d/cocos2d-x/blob/f9c34bc18ee061f1964d8c7d100f0c4fce9c6ee5/cocos/scripting/javascript/script/debugger/README.md</a> (didn’t run)<br>注意端口不是6000</p>
<p>3.运行后黑屏等错误<br>出错了,虽然logcat里经常看不到出错的信息,但是就是出错了。 手动排查一下,可能就是哪个js文件不能绑定上去。<br>比如说 NotificationCenter,需要复制到自己的工程中作为js引用,但是不能直接绑定,但是应该是可以的,原因待定。<br>比如说 setFlippedX 在 html5是 ok的,但是在jsb中要使用 setFlipX (3.0版本修复 <a href="http://www.cocos2d-x.org/forums/20/topics/41167)。" target="_blank" rel="external">http://www.cocos2d-x.org/forums/20/topics/41167)。</a></p>
<p>4.分辨率错误<br>实在是不好弄,到处错位,而且只有show_all不会黑屏</p>
<p>最后,游戏demo预期图应该是这样的。<br><a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/01/52.png" target="_blank" rel="external">
</a> <a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/01/11.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/01/11.png" alt="1"></a> <a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/01/24.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/01/24.png" alt="2"></a> <a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/01/3.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/01/3.png" alt="3"></a> <a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/01/4.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/01/4.png" alt="4"></a></p>
<p><a href="http://7xnueu.com1.z0.glb.clouddn.com/2014/01/52.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2014/01/52.png" alt="5"></a></p>
<p> </p>
]]></content>
<summary type="html">
<![CDATA[<p>搞了一个礼拜的Jsbinding了,东拼西凑也能在手机上跑起来了。</p>
<p>官方的demo在弄好环境的第2天就跑动了,但是自己创建的工程死活跑不动。这里记录遇到的坑。</p>
<p>1. 创建的工程导入eclipse缺少构建器<br>没办法,把官方的那个飞机拖出来,里]]>
</summary>
<category term="开发" scheme="http://doubles.me/tags/%E5%BC%80%E5%8F%91/"/>
<category term="cocos2d" scheme="http://doubles.me/tags/cocos2d/"/>
<category term="Code" scheme="http://doubles.me/categories/Code/"/>
</entry>
<entry>
<title><![CDATA[Cocos2d-html5 touch事件总结]]></title>
<link href="http://doubles.me/2013/12/18/937/"/>
<id>http://doubles.me/2013/12/18/937/</id>
<published>2013-12-18T07:48:07.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>可以说,当初困扰最久的就是touch事件。各个层上重叠区域,可视区域的消息传递机制不知道如何处理。现在又花了1天时间把以前的总结一下,再了解了cocos2d内部是如何处理touch事件的。</p>
<p>首先看一下api当中所有关于touch事件的类</p>
<p><a href="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131218161329.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131218161329.png" alt="QQ20131218161329"></a></p>
<p><strong>cc.Touch</strong>:它封装了触摸点,可以通过locationInView函数返回一个cc.Point。<br><strong>cc.TouchDelegate</strong>:它是触摸事件委托,就是系统捕捉到触摸事件后交由它或者它的子类处理,所以我们在处理触屏事件时,必须得继承它。它封装了下面这些处理触屏事件的函数:</p>
<p>onTouchBegan:function (touch, event) {<br>},<br>onTouchMoved:function (touch, event) {<br>},<br>onTouchEnded:function (touch, event) {<br>},<br>onTouchCancelled:function (touch, event) {<br>},<br>onTouchesBegan:function (touches, event) {<br>},<br>onTouchesMoved:function (touches, event) {<br>},<br>onTouchesEnded:function (touches, event) {<br>},<br>onTouchesCancelled:function (touches, event) {<br>},</p>
<p> </p>
<p><strong>cc.TargetedTouchDelegate</strong> 和 <strong>cc.StandardTouchDelegate </strong>是<strong>cc.TouchDelegate </strong>的子类,他们分别处理单点触摸和多点事件。</p>
<p><strong>cc.TouchHandler</strong>:封装了cc.TouchDelegate和其对应的优先级,优先级越高,分发的时候越容易获得事件处理权,</p>
<p><strong>cc.TouchDispatcher</strong>:实现触摸事件分发,它封装了下面这两个函数,目的就是添加触摸支持</p>
<p>_addStandardDelegate:function (delegate, priority)</p>
<p>_addTargetedDelegate:function (delegate, priority, swallowsTouches)</p>
<p>不过可以使用 下面三个函数来注册,卸载触摸事件</p>
<p>cc.registerTargetedDelegate = function(priority, swallowsTouches, delegate) //注册单点触摸事件</p>
<p>cc.registerStandardDelegate = function(delegate, priority) //注册多点触摸事件</p>
<p>cc.unregisterTouchDelegate = function(delegate) //卸载触摸事件</p>
<p><a href="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131218161231.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131218161231.png" alt="QQ20131218161231"></a></p>
<p> 更加详细的可以查看这篇博客:<a href="http://codingnow.cn/cocos2d-x/783.html" target="_blank" rel="external">http://codingnow.cn/cocos2d-x/783.html</a></p>
<p><strong>触摸事件的优先级和消息链</strong></p>
<p> 虽然已经能响应触摸消息了,但是还是有很多问题没有处理的,比如说谁先谁后,装备栏覆盖了属性栏,那么消息就应该在装备栏被消化掉,属性栏就不应该收到消息等等。</p>
<p>消息拦截:</p>
<pre><code>cc.StandardTouchDelegate** **将所有的Touch信息直接传递给实现该协议的对象,而cc.TargetedTouchDelegate 则要求实现该代理的类一次只能处理一个事件,并且吃掉该事件,不再传播(swallowTouches=YES;)。
</code></pre><p> 当然还是需要在处理完onTouch 事件后返回false 或者的true的。只不过在onTouchesBegan 中无论返回 true 或者false 都是可以继续传递的,而onTouchBegan 中返回false 可以继续传递,true则被消化掉了。</p>
<p>不清楚的可以查看这篇博文:<a href="http://blog.csdn.net/tskyfree/article/details/8249689" target="_blank" rel="external">http://blog.csdn.net/tskyfree/article/details/8249689</a></p>
<p>优先级:</p>
<p>优先级的值越小优先级反而越高,也就能先响应事件(CCMenu的默认值是-128)</p>
<p>cc.TargetedTouchDelegate比cc.StandardTouchDelegate优先级高</p>
<pre><code>cocos2d把响应事件的对像放入一个栈中,用先进后出的规率来响应事件。可以设置响应的优先级 -128 - 128,最上层的优先级是-128(即值越小越先响应事件)。
</code></pre><p>响应的规则:</p>
<ul>
<li>不同优先级先按优先级响应(即无视入栈顺序,先按优先级响应)</li>
<li>同一优先级响应的顺序是先进后出。 </li>
<li>同一对像不能多次入栈,必须先从栈中移除才能再次加入。(也可能是最高响应等级的不能多次入栈)</li>
<li>如果当前对像有优先响应顺序但没有响应事件,则会分发到后面的对像。<br><strong>给layer添加触摸事件:</strong></li>
</ul>
<p>首先要开启触摸, layer中可以在构造函数内调用 this.setTouchEnabled(true); 那么是单点还是多点事件?开始我也没注意,然后翻源代码才看到这一点,看图:</p>
<p><a href="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131218161328.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131218161328.png" alt="QQ20131218161328"></a></p>
<p>所以,我们可以通过 this.setTouchMode(cc.TOUCH_ONE_BY_ONE); 来设置注册哪个事件,事件定义如下:<a href="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131218161200.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131218161200.png" alt="QQ20131218161200"></a></p>
<p>cc.TOUCH_ALL_AT_ONCE 是多点触摸 对应的是 StandarDelegate</p>
<p>cc.TOUCH_ONE_BY_ONE 是单点事件对应的是TargetedDelegate</p>
<p> 然后再重载onTouchBegan 等事件就可以了,</p>
<p>onTouchesBegan: function (touch, event) {<br> cc.log(‘covered layer!!!’);<br> return false;<br>}</p>
<p><a href="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131218164643.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131218164643.png" alt="QQ20131218164643"></a></p>
<p> </p>
<p>本该重载onTouchBegan 但是错误的写为了onTouchesBegan会有这样的提示的<a href="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ201312181613291.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ201312181613291.png" alt="QQ20131218161329"></a></p>
<p> </p>
<p> </p>
<p><strong>给精灵注册触摸事件</strong></p>
<pre><code>默认cc.Sprite是没有触摸事件的 ,不过我们可以依据layer的实现方法给他添加上去。主要用到这3个事件
</code></pre><p>cc.Director.getInstance().getTouchDispatcher()._addTargetedDelegate(delegate, priority, swallowsTouches);</p>
<p>cc.Director.getInstance().getTouchDispatcher()._addStandardDelegate(delegate, priority);</p>
<p> cc.Director.getInstance().getTouchDispatcher()._removeDelegate(delegate);</p>
<p>_addTargetedDelegate 单点触摸</p>
<p>第一个参数为代理目标,第二个为优先级,数值越小,触摸点就会先传递。<br>第三个为是否要吞掉触摸点,ture的话就是在ccTouchBegan返回true后触摸点就不再传递。</p>
<p>StandarDelegate 多点触摸 不能吞掉消息,所以少一个参数,最后就是不在需要触摸消息的时候注销掉它。</p>
<p>实现比较简单,只要继承一个精灵类,然后添加上这3个函数就可以实现点击精灵的动作了。</p>
<p>onEnter: function () {<br> cc.registerTargetedDelegate(cc.MENU_HANDLER_PRIORITY - 1, true, this);<br> this._super();<br>},<br>onExit: function () {<br> cc.unregisterTouchDelegate(this);<br> this._super();<br>},<br>onTouchBegan: function (touch, event) {<br> if (cc.rectContainsPoint(this.getBoundingBox(), touch.getLocation())) {<br> cc.log(‘Dont touch me!!!’);<br> return true;<br> } else {<br> return false;<br> };</p>
<p>}</p>
<p><div><strong>mouse事件 和touch事件</strong></div></p>
<p><div></div></p>
<p><div> mouse事件在touch的同级目录下有,但是默认api中是没有的,没有文档很就久没更新了。所以如果要使用的话替换touch为mouse就行了。 速度</div></p>
<p><div>但是mouse是不支持多点触控的,所以还是用touch吧。</div><br><br><strong>问题</strong><br> cc.Menu对像的默认的优先级是-128(即最高响应级别),cc.layer的默认响应级别是0,所以同时存在的情况下cc.Menu总是先响应触摸事件,并阻止层接收触摸事件,杯具的是新增一个面板层覆盖在cc.Menu按钮上方依然会被下面的按钮接收到触摸事件。</p>
<p>如果新增的层或其它对像中包含有CCMenu对像,因为该层被设为了最高优先级且阻止冒泡,该层上的CCMENU也不能响应事件了。这时只需要再将CCMenu对像用最高优先级重新入栈一次即可</p>
<p><strong>最终解决办法</strong>:</p>
<p>其实这个才是最重要的,不能解决知道了也没有用,</p>
<p>1.UILayer管理类</p>
<p> 写一个ui层的manager ,然后每次遍历其中的ui layer,响应触摸事件 <a href="http://www.ityran.com/archives/4109" target="_blank" rel="external">http://www.ityran.com/archives/4109</a></p>
<p>2.覆盖系统的多点触摸事件</p>
<p> 就是给StandarDelegate 添加上TargetDelegate 一样的swap函数,能够吞掉事件消息。依然还是看这篇博客:<a href="http://codingnow.cn/cocos2d-x/783.html" target="_blank" rel="external">http://codingnow.cn/cocos2d-x/783.html</a></p>
<p>基于cocos2d的事件响应规律我们知道新增的层要接收到触摸事件并阻止冒泡必须有大于cc.Menu的优先级,或等于cc.Menu的优先级但后入栈,即在每次层打开时重设为最高优先级。</p>
]]></content>
<summary type="html">
<![CDATA[<p>可以说,当初困扰最久的就是touch事件。各个层上重叠区域,可视区域的消息传递机制不知道如何处理。现在又花了1天时间把以前的总结一下,再了解了cocos2d内部是如何处理touch事件的。</p>
<p>首先看一下api当中所有关于touch事件的类</p>
<p><a h]]>
</summary>
<category term="cocos2d" scheme="http://doubles.me/tags/cocos2d/"/>
<category term="Code" scheme="http://doubles.me/categories/Code/"/>
</entry>
<entry>
<title><![CDATA[cocos2d-html5+jsb+windows开发环境搭建]]></title>
<link href="http://doubles.me/2013/12/11/920/"/>
<id>http://doubles.me/2013/12/11/920/</id>
<published>2013-12-11T06:57:03.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<div>继续学习cocos2d-html5,想先熟悉一下jsbing。所以需要配置一下安装环境。主要还是 web 和 android,因为我也只会这2个,其他的都没有设备测试。</div><br><div>这里有一个官方文档的,但是似乎没成功,所以还是要靠自己:</div><br><div><a href="http://www.cocos2d-x.org/wiki/How_to_set_up_the_android_cocos2d-x_development_environment_on_Windows_7" target="_blank" rel="external">http://www.cocos2d-x.org/wiki/How_to_set_up_the_android_cocos2d-x_development_environment_on_Windows_7</a></div><br><div>一共需要安装挺多东西的,不过看需求了,但是 android+sdk+ndk+cocos2d-x 是最基本的,其他的只是为了方便。</div><br><div></div><br><div><br><br>1. JDK<br>2. eclipse<br>3. Android SDK<br>4. eclipse adt plugin (以上是android 开发环境)<br>5. Android NDK (Android交叉编译c++)<br>6. eclipse cdt plugin (c++开发插件,不开发可以不装)<br>7. cocos2d-x (游戏引擎 c++,jsb绑定)<br>8. cocos2d-html5 (开发使用的cocos2d版本)<br>9. webstrom (开发工具,notepad++感觉不够用了)<br>10. python (cocos2d 2.x版本以后管理代码都用python脚本了)<br>11. cygwin (本地编译c++工具)<br></div><br><div><br><div>1.cocos2d-x</div><br><div>由于是jsb,所以是3个都下, 用cocos2d-html5 开发,绑定到cocos2d-x上去。cocostudio是开发工具,可以省去以前很多资源处理的精力,下一篇会写他的使用。</div><br><div> <a href="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131211102839.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131211102839.png" alt="QQ20131211102839"></a></div><br><div>官网下载 <a href="http://www.cocos2d-x.org/download" target="_blank" rel="external">http://www.cocos2d-x.org/download</a></div><br></div><br><div></div><br><div>2.安装python</div><br><div>一定安装2.7版本的,安装完成后把安装目录加入系统path当中。</div><br><div>下载地址:<a href="http://www.python.org/" target="_blank" rel="external">http://www.python.org/</a></div><br><div></div><br><div>3.安装webstrom</div><br><div>不得不说是很不错的一款编辑器,到目前发现基本可以省略掉apache了,他内置了一个http服务器。</div><br><div>但是配色很让我心碎,没有我熟悉的notepad++ 或者 eclipse 的配色。最后只能自己编辑一下了。</div><br><div>默认好像中文是乱码吧,需要修改一个中文的字体,这是我的设置方案 :<a href="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/webstrom_setting.zip" target="_blank" rel="external">webstrom_setting</a> 中文+eclipse keymap+notepad++配色。</div><br><div>下载解压,然后file—import setting找到这个jar包就可以了。</div><br><div>导入Cocos2d-html5的方法很简单,解压cocos2d-html5 的包到一个本地非中文目录,不要有空格,然后webstrom打开这个并设置为rootproject就成。由于代码全部导入了,所以会有智能提示。</div><br><div>如果有多个项目公用一个lib,可以添加一个cocos2d-html5 libarary。只要做到这一步就可以开始开发html5的游戏了。</div><br><div>其他更详细的配置可以在 <a href="http://www.ityran.com/archives/4857" target="_blank" rel="external">http://www.ityran.com/archives/4857</a> 看到</div><br><div><a href="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131211104758.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131211104758.png" alt="QQ20131211104758"></a></div><br><div></div><br><div>下载地址:<a href="http://www.jetbrains.com/webstorm/" target="_blank" rel="external">http://www.jetbrains.com/webstorm/</a></div><br><div></div><br><div>4.安装cygwin</div><br><div>安装到不难,但是很麻烦</div><br><div>选一个版本下载,然后安装,其他的看看就知道了,所以只说一下要安装哪些组件。</div><br><div>安装时,在 Cygwin 默认安装配置没有安装gcc 编译器,我们必须用到的 Devel 类中的几个组件包,如果嫌找起来过于麻烦,可将Devel 类从Default改为Install 全部安装也可,组件包为:binutils,gcc ,gcc - mingw,gdb ,make <a href="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131211115409.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131211115409.png" alt="QQ20131211115409"></a></div><br><div><br><br>安装完成后,把cygwin路径加入系统path,然后运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。<br><br>然后依次输入gcc –v,g++ -v,make –v,gdb –v进行测试,如果都打印出版本信息和一些描述信息,至此,你的cygwin安装完成了!<br><br></div><br><div>下载地址:<a href="http://cygwin.com/install.html" target="_blank" rel="external">http://cygwin.com/install.html</a></div><br><div></div><br><div></div><br><div><br><div>5.安装Android开发环境</div><br><div>这个比较麻烦,所以可以参考其他教程:<strong>(必看这篇,没有写的很详细,所以看他的最好了)</strong></div><br><div><br><div><a href="http://blog.csdn.net/sttyytw/article/details/17005263" target="_blank" rel="external">http://blog.csdn.net/sttyytw/article/details/17005263</a></div><br><div></div><br></div><br><div>JDK+Eclipse+Android SDK +ADT = CMCC_UDE</div><br><div>移动的这个集成包还是挺不错的,我最讨厌重复性的劳动了,比如说每次换电脑都要配环境。</div><br><div>cmcc_ude 可以省略 jdk,adt,eclipse 的安装,安装完成就OK。</div><br><div>下载地址:<a href="http://dev.10086.cn/cmdn/bbs/thread-47163-1-1.html" target="_blank" rel="external">http://dev.10086.cn/cmdn/bbs/thread-47163-1-1.html</a></div><br><div></div><br><div><br><div>然后安装cdt,查看eclipse版本,对应安装cdt。</div><br><div>cmcc_ude 的是3.7版本 对应名称为 Indigo,如果更新还是换版本了可以在readme中查看。</div><br><div>下载地址: <a href="http://www.eclipse.org/cdt/downloads.php" target="_blank" rel="external">http://www.eclipse.org/cdt/downloads.php</a></div><br><div>然后help->install 就可以了。可以在新建项目中看到c++的就是安装成功。</div><br><div></div><br><div>上诉安装过程中的java,sdk,ndk的路径都要加入系统path,推荐教程中有详细过程。</div><br><div></div><br><div>6.配置Android环境</div><br><div>由于是交叉编译,所以需要对project进行设置,就是使用cygwin编译c++代码,还有用ndk编译c++代码的。</div><br><div>过程就是添加一个构建器,这里使用cygwin编译c++代码。</div><br><div><br><br>右键project,properties–>builders,点击new–>program<br><div>name栏输入:Native_Builder</div><br><div>Location栏输入:C:\cygwin\bin\bash.exe</div><br><div>Arguments栏输入:–login -c “cd /cygdrive/d/game/android-ndk-r9b && make APP=SimpleGame”</div><br><div>这里的路径是ndk路径</div><br><div>再然后还是看上面推荐文章的<strong>第七章编译Android项目</strong>,实在懒的写了,都是一样的。</div><br><div></div><br></div><br><div>7.创建工程使用内置的python脚本</div><br><div>进入cocos2d-x-2.2.1->tools->project-creator,大家可以看到有一个create_project.py脚本</div><br><div><br><br>python create_project.py -project test -package com.example.test -language cpp<br><br><a href="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131211135451.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131211135451.png" alt="QQ20131211135451"></a><br><br></div><br><div>然后会在cocos2d-x-2.2.1/project/test 中生成所有支持平台的项目<a href="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131211135523.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2013/12/QQ20131211135523.png" alt="QQ20131211135523"></a></div><br><div></div><br><div>8.导入cocos2d-x项目到eclipse</div><br><div><br><br>现在以cocos2d-x-2.2\samples\Cpp\SimpleGame 这个项目来示例:<br><br>1. 导入lib cocos2d-x 到eclipse中,cocos2d-x-2.2\cocos2dx\platform\android\java,设置为isLibrary<br>2. 导入cocos2d-x-2.2\samples\Cpp\SimpleGame\proj.android 到eclipse中<br>3. 复制cocos2d-x-2.2\samples\Cpp\SimpleGame\Resources到cocos2d-x-2.2\samples\Cpp\SimpleGame\proj.android\assets中<br>4. 修改SimpleGame引用库为上面导入的,如果没出错的话<br>5. 复制cocos2d-x-2.2目录下的cocos2dx,CocosDenshion,extensions,external这4个目录到你的NDK的sources目录下,就是注册到path中的ndk路径下的sources<br></div><br></div><br></div><br><div>到这里,原生的应用已经可以跑在Android上了,模拟器太卡根本就没试,一直真机开发的。下面就是jsb绑定的过程了。</div><br><div></div><br><div>9.cocos2d-x jsbing</div><br><div>这个暂时还不知道如何搞定,但是系统提供的例子到可以正确运行。</div><br><div>导入D:\Game\cocos2d-x-2.2.1\samples\Javascript\MoonWarriors\proj.android 到eclipse</div><br><div>复制D:\Game\cocos2d-x-2.2.1\samples\Javascript\Shared\games\MoonWarriors 下所有的文件到 assets下,然后编译就ok。</div><br><div>参考文章:</div><br><div><a href="http://www.ptoh.net/blog/index.php/archives/80" target="_blank" rel="external">http://www.ptoh.net/blog/index.php/archives/80</a></div><br><div><a href="http://bbs.chinaunix.net/thread-4069373-1-1.html" target="_blank" rel="external">http://bbs.chinaunix.net/thread-4069373-1-1.html</a></div><br><div></div><br><div></div><br><div></div><br><div>最后,推荐一些很好的学习cocos2d的网站:</div><br><div>官方的:</div><br><div><a href="http://www.cocos2d-x.org/wiki/Developers_Manual?version=67" target="_blank" rel="external">http://www.cocos2d-x.org/wiki/</a></div><br><div>api:</div><br><div><a href="http://www.cocos2d-x.org/wiki/Reference" target="_blank" rel="external">http://www.cocos2d-x.org/wiki/Reference</a></div><br><div></div><br><div>子龙山人 翻译了很多官方和国外的教程 :</div><br><div><a href="http://www.cnblogs.com/zilongshanren/" target="_blank" rel="external">http://www.cnblogs.com/zilongshanren/</a></div><br><div></div><br><div>cocostudio 中文版使用手册 :</div><br><div><a href="http://upyun.cocimg.com/CocoStudio/helpdoc/v1.0.0.0/zh/index.html" target="_blank" rel="external">http://upyun.cocimg.com/CocoStudio/helpdoc/v1.0.0.0/zh/index.html</a></div><br><div>上面的会了这里不是很需要,除非有其他问题就看这个:</div><br><div><a href="http://www.cocoachina.com/bbs/read.php?tid=161616" target="_blank" rel="external">http://www.cocoachina.com/bbs/read.php?tid=161616</a></div><br><div></div><br><div>泰然之家 翻译或者原创的文章:</div><br><div> <a href="http://www.ityran.com/archives/3863" target="_blank" rel="external">http://www.ityran.com/archives/3863</a></div><br><div><a href="http://www.ityran.com/tutorials" target="_blank" rel="external">http://www.ityran.com/tutorials</a></div><br><div></div><br><div>交流论坛可能还是要去官方论坛,感觉国内的不是特别活跃,不过html5china 可以@陈升想,感谢大大回复我。</div><br><div><a href="http://www.cocoachina.com/bbs/thread.php?fid=41" target="_blank" rel="external">http://www.cocoachina.com/bbs/thread.php?fid=41</a></div><br><div><a href="http://www.cocos2d-x.org/forums" target="_blank" rel="external">http://www.cocos2d-x.org/forums</a></div><br><div></div>]]></content>
<summary type="html">
<![CDATA[<div>继续学习cocos2d-html5,想先熟悉一下jsbing。所以需要配置一下安装环境。主要还是 web 和 android,因为我也只会这2个,其他的都没有设备测试。</div><br><div>这里有一个官方文档的,但是似乎没成功,所以还是要靠自己:</div><b]]>
</summary>
<category term="开发" scheme="http://doubles.me/tags/%E5%BC%80%E5%8F%91/"/>
<category term="android" scheme="http://doubles.me/tags/android/"/>
<category term="cocos2d" scheme="http://doubles.me/tags/cocos2d/"/>
<category term="Code" scheme="http://doubles.me/categories/Code/"/>
</entry>
<entry>
<title><![CDATA[Android图表解决方案]]></title>
<link href="http://doubles.me/2013/11/29/912/"/>
<id>http://doubles.me/2013/11/29/912/</id>
<published>2013-11-29T04:56:50.000Z</published>
<updated>2016-09-26T20:59:02.000Z</updated>
<content type="html"><![CDATA[<p>由于要用到一个图表程序,花了几天时间,分享一下过程。</p>
<p><a href="http://7xnueu.com1.z0.glb.clouddn.com/2013/11/QQ20131129145508.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2013/11/QQ20131129145508.png" alt="QQ20131129145508"></a></p>
<p>A.使用achartengine<br>这是一个开源的图表引擎。以前用过,不过有个bug,更新不是很频繁。就是可以通过拖动把图表的x,y上限给扩充,禁止触控事件都不行。<br>而且使用很麻烦的说,看了他代码就知道,又丑又长。丑的令人发指。</p>
<p><a href="http://7xnueu.com1.z0.glb.clouddn.com/2013/11/QQ20131202110923.png" target="_blank" rel="external"><img src="http://7xnueu.com1.z0.glb.clouddn.com/2013/11/QQ20131202110923.png" alt="QQ20131202110923"></a></p>
<p>后面改写了另外的版本看起来还不错,不过这个下限可以被无限拖拽让人不能忍。</p>
<p>B.使用webview+ichartjs<br>差不多是通用的啦,嵌入一个webview,然后禁用掉所有的缩放功能,只打开javascript。<br>滚动条,视差,缩放,统统不要,屏幕的适配通过网页来完成。<br>原本是highcharts的,效果更好 而且网页变化能自动适配,不要再次redraw了,但是手机上不显示,换ichartjs了。</p>
<p>Android 2.x doesn’t have SVG support built in, so we have created a separate renderer based on the canvg library for this system. This solution has some limitations:</p>
<p>也就是说highcharts 是svg画的,ichartjs 是canvas画的,而手机一般是都支持canvas,所以这里看到html5的好处了,ichartjs就是html5的嘛。<br>把ichartjs 放在assets目录,网页写好一起放这里面,然后webview加载就ok。<br>// 设置缩放<br>settings.setSupportZoom(false);<br>settings.setBuiltInZoomControls(false);</p>
<p>// 设置加载进来的页面自适应手机屏幕<br>settings.setLoadWithOverviewMode(false);<br>settings.setUseWideViewPort(false);</p>