-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathatom.xml
More file actions
750 lines (748 loc) · 56.4 KB
/
atom.xml
File metadata and controls
750 lines (748 loc) · 56.4 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
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title><![CDATA[张非飞]]></title>
<subtitle><![CDATA[享受慢生活]]></subtitle>
<link href="http://www.liangpeng.net/atom.xml" rel="self"/>
<link href="http://www.liangpeng.net"/>
<updated>2014-07-03T09:09:58.578Z</updated>
<id>http://www.liangpeng.net/</id>
<author>
<name><![CDATA[张飞]]></name>
<email><![CDATA[liangpeng.net@gmail.com]]></email>
</author>
<generator uri="http://zespia.tw/hexo">Hexo</generator>
<entry>
<title type="html"><![CDATA[项目总结(统一认证平台)]]></title>
<link href="http://www.liangpeng.net/y2014/m07/project_summary_for_unified_authentication.html"/>
<id>http://www.liangpeng.net/y2014/m07/project_summary_for_unified_authentication.html</id>
<published>2014-07-02T03:23:38.000Z</published>
<updated>2014-07-02T06:17:05.000Z</updated>
<content type="html"><![CDATA[<p>最近作的项目主要有2个地方客户不甚满意。</p>
<ol>
<li>没有提交申请磁盘阵列技术支持。</li>
<li>消息中心,业务系统未登录,页面转向没有处理好。</li>
</ol>
<p>第一个问题,主要问题是:沟通不够准确。</p>
<p>解决方案:</p>
<ol>
<li>成立项目组成员列表,电话、邮箱、联系人。</li>
<li>制作<code>项目前期准备事项列表</code>,发送给客户及相关人员。</li>
<li>鉴于客户可能不经常查看邮件,重要的内容应提供纸制文件。</li>
<li>制作一份<code>项目进展情况列表</code>,每周、每阶段发送给项目组成员。</li>
</ol>
<p>第二个问题,主要问题是:一时疏忽,原本已经考虑到这个问题,并做出了应对方案,但没有完美部署。</p>
<p>解决方案:</p>
<ol>
<li>对于用户体验的内容,尤其是关键点,增加重视度。</li>
<li>增加测试的工作内容,尽量还原客户现场环境。</li>
</ol>
<p>总结:</p>
<p>原本想把这个项目做到所能做到的完美,还是出现了这些不必要的纰漏,遗憾并不爽,第二个问题,确实是个人的问题,应极力避免。目前的状况并未达到我个人的极限,依然出现纰漏,究其原因,还是在思想上,对于完美的追求不够深刻,以后应该继续努力。</p>
<p>工作中,也能完全投入,一旦闲下来,就没有了再进入的欲望。对生活提不起兴致,才是根结。</p>
<p>向瘦了一圈的老罗学习。</p>
]]></content>
<category scheme="http://www.liangpeng.net/tags/工作/" term="工作"/>
<category scheme="http://www.liangpeng.net/tags/总结/" term="总结"/>
<category scheme="http://www.liangpeng.net/categories/工作/" term="工作"/>
</entry>
<entry>
<title type="html"><![CDATA[Closed a Door Open a Window]]></title>
<link href="http://www.liangpeng.net/y2014/m02/closed_a_door_open_a_window.html"/>
<id>http://www.liangpeng.net/y2014/m02/closed_a_door_open_a_window.html</id>
<published>2014-02-13T01:46:07.000Z</published>
<updated>2014-02-13T01:51:54.000Z</updated>
<content type="html"><![CDATA[<p>炉石传说,打到9级,再也打不上去了,究其原因,卡不全是个因素。游戏的乐趣随即减少,游戏时间也顺应减少,有了更多阅读的时间。各有各的乐趣。
即便不放弃炉石,基础卡牌也是可以玩的,经目的从竞技移向纯娱乐即可,可以按照现有的牌,组些娱乐套,也是不错的生活享受。</p>
]]></content>
<category scheme="http://www.liangpeng.net/tags/生活/" term="生活"/>
</entry>
<entry>
<title type="html"><![CDATA[Goal]]></title>
<link href="http://www.liangpeng.net/y2014/m02/no_goal.html"/>
<id>http://www.liangpeng.net/y2014/m02/no_goal.html</id>
<published>2014-02-13T01:40:57.000Z</published>
<updated>2014-02-13T01:43:31.000Z</updated>
<content type="html"><![CDATA[<p>无目标前行,欣赏路途中的风景,相信每条路都能到罗马。</p>
]]></content>
<category scheme="http://www.liangpeng.net/tags/生活/" term="生活"/>
</entry>
<entry>
<title type="html"><![CDATA[构筑趋势]]></title>
<link href="http://www.liangpeng.net/y2014/m01/build_trend.html"/>
<id>http://www.liangpeng.net/y2014/m01/build_trend.html</id>
<published>2014-01-17T08:06:47.000Z</published>
<updated>2014-01-17T08:08:38.000Z</updated>
<content type="html"><![CDATA[<p>回顾居家业务项目的进展,感觉有点慢,究其原因,有一点是:对DxInfo基础框架的升级改造,占用了较大的资源。对于这个问题的反思,又让我想起了趋势论。</p>
<p>对于趋势概念的理解,始于《明朝那些事》中,徐阶斗严嵩的情节。之前,对于事物的认知,类似于小李飞刀,一击必胜,只看到事物成败的一点,比如:认为盖茨开发了DOS就此一帆风顺,成就微软,乔帮主沃兹研发了苹果I,就一发不可收,忽略了,盖茨、沃兹他们之前长期的技术积累,在他们成功之前,已经是大神级的牛人,当然也有天资、运气、环境等各方面的原因。回到明朝,当时徐阶也曾直接开干,差点把自己给灭了,在失败后,徐阶采用更慢频率,来逐步构筑自己的好趋势,超长期的积累,终于抓住机会,一战而胜。高手过招,不一定每一步都是好棋,但是一定不能有一步臭棋,往往需要长时间的拉锯战,通过积累点滴的优势,完成最终的胜利。</p>
<p>这些故事,只是对我稍有启发,不再随意妄下非论。后来,《赵氏孤儿案》中,屠岸贾战败赵氏的案例,才让我更清晰的感受了趋势的构筑,屠岸贾的每一次行动,都不是为了胜利,只是为了瓦解皇帝对于赵氏的信任,通过一次又一次的小规模斗争,最终,皇帝主动将赵氏灭门。</p>
<p>说了半天,好像很废话,道理很明显嘛,一口吃不成个胖子。实际上,道理是明摆着的,问题在于:视角、心态。首先要认清形势,居高临下,还婆婆妈妈的,就是2货,动不动就破釜沉舟,要决战的,也好不到那去。敌强我弱的情况下,认清差距,不急于一时,<code>放低心态</code>,才是关键。</p>
<p>回到现实,在合适的周期内,不将精力完全放到某个单独的项目上,在项目稳步进展的同时,花费一定的精力,构建适合自己的项目框架,为以后的项目做好铺垫,应该是更好的选择。通过4个项目周期的发展,DxInfo框架基本完工,有理由相信,下一个项目,我们具备了快速完成的能力。</p>
<p>实际上,构筑配置型框架,是不符合我本人审美观的,个人更倾向于,小模块组合的形式。不过,环境决定行动。</p>
<ol>
<li>团队不具备构建通用小模块的技术能力</li>
<li>团队成员,技术水准不高,无法驾驭新技术、复杂业务</li>
<li>大多数项目的业务逻辑简单,重复度高</li>
<li>项目需求变动频繁,推翻重做的几率大</li>
</ol>
<p>水无定势,炉石中的冰火法、鱼人术、滚石战、土豪德等,都是很牛逼的战术。找准核心点,根据自己特点,构筑自己的手牌,才是王道,个人认为当前的巨人大王术是最牛逼的,但是,木有大王木有巨人的我,还是先试试其他的吧。</p>
]]></content>
<category scheme="http://www.liangpeng.net/tags/趋势/" term="趋势"/>
<category scheme="http://www.liangpeng.net/tags/成长/" term="成长"/>
</entry>
<entry>
<title type="html"><![CDATA[炉石传说 教你作人]]></title>
<link href="http://www.liangpeng.net/y2014/m01/hearthstone-Teach_you_as_a_person.html"/>
<id>http://www.liangpeng.net/y2014/m01/hearthstone-Teach_you_as_a_person.html</id>
<published>2014-01-03T02:40:51.000Z</published>
<updated>2014-01-03T02:46:04.000Z</updated>
<content type="html"><![CDATA[<p>少帮主视频中的口头禅,“教你作人”,还真是学到了东西。</p>
<p>刚开始玩的时候,冲天梯,卡到13级(好丢脸呀),被各种神卡、神抽搞死,好无奈呀,作为非人民币玩家,感觉这游戏很无助,资源不足,运气成分,这不是我想要的。作为即时战略的死忠,还是喜欢战术性、平衡性的游戏。直接从沉迷afk了一周。</p>
<p>还是不死心,看了几片技术分析帖,毛色顿开,这他妈的和人生有点类似呀。</p>
<h3 id="-">资源的不平衡</h3>
<p>现实中的那些高富帅,我们是不能和其比资源的,好在如游戏一般,优质资源和精良资源的效用差距不算太大,而通过普通资源的分解、合成,能够产生精良资源,经过持续的积累,也能拿到一手不错的牌。</p>
<p>专注于一手牌,研究策略,针对大资源的慢速,快攻是不错的选择,船小好调头嘛,终于冲到了8级(技战术还有较大的提高余地,努力冲传说)</p>
<p>大资源+好策略永远是最好的,不过,至少我们通过思路的挖掘,有了入场的门票,总比一味的放弃要好。</p>
<h3 id="-">运气眷顾迎娶他的人</h3>
<p>运气是成功必不可少的条件,是硬实力,但不是随机的。得当的资源储备(牌组)+ 恰当的策略(技战术),更容易得到运气的眷顾。没有梧桐树,凤凰想来,也没地落呀。</p>
<h3 id="-">简单的道理</h3>
<p>道理貌似都是简单的,如小时候学习的拔苗助长、守株待兔、掩耳盗铃,长大了,却一次又一次的犯着低级错误而不知,只有每次切身的体会,才能加强免疫力,融入自己的思维体系。</p>
<p>感谢暴雪,感谢《炉石传说》。</p>
<p>有好此口的,加我好友呀。<code>张非飞</code></p>
]]></content>
<category scheme="http://www.liangpeng.net/tags/游戏/" term="游戏"/>
<category scheme="http://www.liangpeng.net/tags/道理/" term="道理"/>
</entry>
<entry>
<title type="html"><![CDATA[人才测评]]></title>
<link href="http://www.liangpeng.net/y2013/m11/talent-test.html"/>
<id>http://www.liangpeng.net/y2013/m11/talent-test.html</id>
<published>2013-11-27T16:00:00.000Z</published>
<updated>2013-12-13T03:34:53.000Z</updated>
<content type="html"><![CDATA[<h3 id="-">技术</h3>
<ol>
<li>对开发者最有用的5个网站</li>
<li>你经常使用的开发工具</li>
<li>你经常浏览的5个网站</li>
<li>你最好的技术是哪些?各有什么特点?</li>
</ol>
<h3 id="-">知识</h3>
<ol>
<li>你最喜欢的专业领域是什么?</li>
<li>有没有对某个问题或事物进行过深入思考,结论是什么?</li>
</ol>
<h3 id="-">个人</h3>
<ol>
<li>你最欣赏的性格特征是什么?</li>
<li>做过的最有趣的事情是什么?</li>
<li>做过的最成功的事情是什么?</li>
<li>做过的最后悔的事情是什么?</li>
<li>是否有职业规划,是什么?</li>
<li>你有什么优点?有何佐证?</li>
</ol>
<h3 id="-">公司</h3>
<ol>
<li>你最在意的公司环境有什么?</li>
<li>什么样的公司是个好公司?</li>
</ol>
<h3 id="-">试用</h3>
<ol>
<li>在时间充足的条件下,是否能够检查自己完成的工作,优化自己的工作成果。即:精品意识</li>
<li>是否有钻研学习的欲望</li>
</ol>
]]></content>
<category scheme="http://www.liangpeng.net/tags/团队/" term="团队"/>
<category scheme="http://www.liangpeng.net/tags/人才/" term="人才"/>
</entry>
<entry>
<title type="html"><![CDATA[为自己的利益而奋斗-新员工系列]]></title>
<link href="http://www.liangpeng.net/y2013/m11/fight-for-their-own-interests-new-employees-series.html"/>
<id>http://www.liangpeng.net/y2013/m11/fight-for-their-own-interests-new-employees-series.html</id>
<published>2013-11-20T04:26:31.000Z</published>
<updated>2013-11-21T07:52:51.000Z</updated>
<content type="html"><![CDATA[<p>我的老板及其严厉的人,有一次,我作为项目经理和老板去跟客户谈一个项目,不是很顺利,回来的路上,顺口问同事,“PSTN是个啥呀”,身边的老板立马发作了,“你丫的,PSTN都不知道是什么,跟人家客户谈个毛项目呀,都不知道他妈的先学习基础概念?”,靠,哥们我一听也他妈的气愤了,“妈的,我是一个程序员呀,又不是搞通信的,这我怎么该知道?”,当然,这些话,只能在心里骂。</p>
<p>人有情绪是应该的,但是总是被情绪控制,就比较傻逼了,到底是“公司先给我涨工资,我才更好的去工作”,还是“我更好的工作,公司给我涨工资”,显然,谁主动,谁就小亏。那么是不是我们就要天天撞钟,等老板给多点钱,才去干点扫地的这个事。时间和5毛钱,那个更重要呢?</p>
<p>道理看起来很明显,现实却很骨感,初出茅庐的我们,总是嫌得到的少,而不愿意去付出。即便付出了,也没有使出10分的力气,敷衍了事,事事凑合。领导严厉一点,还一堆的理由,岂不知,你所经历的才是你的财富,别人给予的,只是利息而已。没有大量的财富,谈何丰厚的利息。而且,这个利息还是驴打滚呀。</p>
<p>那么我能做什么呢?</p>
<ol>
<li>凡事多动脑:不要以为,凑合能用就行了,你可知,商品品质20%的差异,价格可以差10倍,想想悲催的诺基亚吧,曾经以为完美的存在,瞬间就被秒杀了</li>
<li>寻求帮助是一个好方法:但是一定要先自己尝试解决要,万事不决问google,之后再问人,不要浪费别人时间呀,首先看看这个<a href="http://www.zhihu.com/question/19555761" target="_blank">主题</a></li>
<li>多动手操作:任何知识,要向据为己有,知识听听看看是不行地,“自己动手丰衣足食”是恒古不变的法则</li>
<li>不要拒绝批评:面对批评,心里不爽是可以地,一直不爽就是傻逼地,人生中有人愿意冒风险给你批评,是你的福分呀,当然,也不能一概接收,还是要有独立思考能力地</li>
<li>审视自我:很多时候,我们在自己画的圈圈中打转,无法前进,这时候就要自省了,什么时候能开悟,就看造化了,所谓:佛渡有缘人</li>
<li>多花时间:我们都是凡人,要想在某个方面超越别人,多花时间是不二法门(你是乔布斯,就当我没说)</li>
<li>锻炼沟通的能力:提问是门艺术,提问的质量决定答案的质量</li>
</ol>
<p>利益最大化现实途径,其实就是多干活,更快的提高自己的能力,提高自己本身的价值,形成长期的利益最大化。是不是多干活一定能提高能力?这里面牵涉到一个能力转化率的问题,某些人做一个项目能够明白5个技术点,而有些人只能明白3个,长期积累,个人能力的差距会越来越大,一个项目涉及方方面面的内容,管理、需求、设计、编码、测试,可能每个人的兴趣点不同,人也不可能面面俱到,只要在你自己选择的方向提高即可。那么如何来提高转化率,复杂而又简单的问题,</p>
<p>尝试、归纳、思考、总结、改变。</p>
<p>个人感觉,就是这么个套路,具体的执行情况,就看每个人自己的执行力和欲望的大小了。</p>
<p>坚持迭代!!!</p>
]]></content>
<category scheme="http://www.liangpeng.net/categories/团队/" term="团队"/>
</entry>
<entry>
<title type="html"><![CDATA[需求分析与功能设计 案例分析]]></title>
<link href="http://www.liangpeng.net/y2013/m11/project-design-and-code-organization-case-study.html"/>
<id>http://www.liangpeng.net/y2013/m11/project-design-and-code-organization-case-study.html</id>
<published>2013-11-20T02:26:38.000Z</published>
<updated>2013-11-28T08:44:45.000Z</updated>
<content type="html"><![CDATA[<p>注:本实例绝非虚构,针对初级开发者,改变<code>程序员=打字</code>的困境</p>
<h2 id="-">需求分析</h2>
<p>背景:证书打印功能,能够打印3份证书:正本(机构名称、住所)、副本第一页(编号、发证机关)、副本第二页(机构名称、法人)</p>
<ol>
<li>第一次需求描述:需要个能够打印证书的功能</li>
<li>第二次需求变更:经营范围固定为某段文字,不能修改,自动生成证书编号</li>
<li>第三次需求变更:需要在证书打印功能中增加打印记录功能,要求1天完成</li>
<li>第四次需求变更:打印第一页时填写的内容,能够在第二页复用,要求尽快完成</li>
<li>第五次需求变更:增删改查打印内容,之后根据填写的打印内容打印证书,并能导出打印内容列表(作为绩效)</li>
</ol>
<p>问题总结:</p>
<ol>
<li>每次都是听客户两句话就要求开发完成功能,未深入挖掘需求</li>
<li>第五次需求完成时间比第三次需求要求时间晚2周,而每次要求都是紧急,导致无法全面规划功能设计</li>
<li>第五次需求完全覆盖第四次需求,浪费开发资源</li>
</ol>
<p>解决方法:</p>
<ol>
<li>充分与客户沟通,深入分析客户需要,完善需求。参阅 <a href="http://www.liangpeng.net/y2013/m09/write-a-meaningful-requirements-document_2181.html"><strong>写出一份有意义的需求文档</strong></a></li>
<li>尽量争取合适的开发时间</li>
</ol>
<h2 id="-">功能设计</h2>
<p>在需求挖掘不够充分,描述不清时,开发人员有责任通过自己的主观分析来引导需求完善</p>
<p>此次分析,依据:<code>第三次需求变更</code></p>
<h4 id="-">明确目地</h4>
<p>第三次需求变更,可以设想出两种不同的目的:</p>
<ol>
<li>客户是希望知道谁在什么时候打印了什么,打印了多少次</li>
<li>证书需要每年更换,第二次打印希望能够复用上一次的打印数据</li>
</ol>
<p>不同的目地有不同的设计思路</p>
<p>目的一:关注于什么人什么时间打印了什么;此时要注意:打印错误如何标记;
目的二:关注于如何减少用户的工作量;此时要注意:是否可以结合 机构档案、机构年审功能 来处理 证书打印功能;</p>
<p>本案例,目的一与目的二不冲突。完全可以同时实现,但功能实现的时间要求有限,同时也没必要完成客户不需要的功能,所以选择哪个方向,应继续与客户沟通。</p>
<p><code>错误的方向,走的越远,错的越远。</code></p>
<h4 id="-">设计分析</h4>
<p>背景:选定实现第一个目的</p>
<h6 id="-">第一次设计</h6>
<p>打印记录表结构:机构名称、住所、编号、发证机关、机构名称、法人、打印时间、打印人</p>
<p>功能:没点击一次打印,增加一条打印记录</p>
<p>缺点:3个不同的打印,能够填充的字段不同,记录看起来总是不完整的。</p>
<h6 id="-">第二次设计</h6>
<p>表机构修改为:打印人、打印内容、打印时间</p>
<p>功能修正:将所有的打印数据整合为一个字段-打印内容</p>
<h6 id="-">第三次设计</h6>
<p>表结构修改为:机构名称、打印人、打印内容、打印时间</p>
<p>功能修正:将机构名称独立出来,作为数据整合的基准,比如:要查看某个机构的所有打印记录</p>
<p>缺点:实际上3份打印内容,才算一次完整的打印记录,现在的设计无法体现这个概念</p>
<h6 id="-">总结</h6>
<p>iphone发布前,进行过无数次的设计修正,那可是世界顶级的设计师,而我们每次写代码前都是不加思索,错误百出,为何不在开工前先想好呢?无论你是什么等级的工程师,<code>请在编码前,将自己的设计思路推翻两次以上</code></p>
<h2 id="-">代码组织</h2>
<p>此次分析并不涉及代码组织的分析,为了突出代码组织的重要性,在这里再次说明<code>请在编码前,将自己的代码组织思路推翻两次以上</code>。</p>
<p>案例:材料管理是我们公司最有技术能力的人独立完成的项目,此人熟知各种技术、能够解决各种疑难杂症,但是这个项目却久经维护,依然破烂不堪,让人头痛。代码是需要组织的,不是拼凑起来就管用。<code>能够驾驭万行代码才是真技术</code></p>
]]></content>
<category scheme="http://www.liangpeng.net/tags/团队/" term="团队"/>
<category scheme="http://www.liangpeng.net/tags/需求/" term="需求"/>
</entry>
<entry>
<title type="html"><![CDATA[写出一份有意义的需求文档]]></title>
<link href="http://www.liangpeng.net/y2013/m09/write-a-meaningful-requirements-document.html"/>
<id>http://www.liangpeng.net/y2013/m09/write-a-meaningful-requirements-document.html</id>
<published>2013-09-20T02:26:38.000Z</published>
<updated>2013-11-28T08:48:07.000Z</updated>
<content type="html"><![CDATA[<h3 id="-">重要性</h3>
<ol>
<li>需求作为软件开发的排头兵,决定了项目发展的方向,方向错误,全局失败</li>
<li>需求的频繁变动,不仅影响项目的进度,更影响编码人员的工作热情、工作态度(人心散了,队伍就不好带了)</li>
</ol>
<p>参考:<a href="http://liangpeng.net/y2013/m11/project-design-and-code-organization-case-study.html" target="_blank"><strong>项目设计与代码组织-案例分析</strong></a></p>
<h3 id="-">视角</h3>
<h5 id="-">以客户需要为视角</h5>
<p>应该以客户的视角来书写文档,以客户实际的需要作为中心。比如:工单管理,应写明客户为什么需要求救工单,客户现实中是如何处理求救工单的,而不是直接将需求具体为:录入工单、回访工单</p>
<h5 id="-">以软件设计为视角</h5>
<p>必须以定量分析来描述文档,而不是概念描述,比如:一般情况下、通常、大概、有时候,这些概念性的内容,计算机乃至程序员是无法理解的,应该将各种不同的情况加以分析,转换为可以判定条件,比如:美女筛选这个业务,1.身高大于170cm 2.体重小于45kg 这些定量的数据,可行,而 3.皮肤白 4.气质佳,这样无法定量的条件,就需要深入思考、妥协,转换为定量的数据,比如:3.白 > #333333 4.智商大于120并且情商大于>130,或者调整业务,增加人工投票的功能。</p>
<h3 id="-">系统目标</h3>
<p>不能是笼统的,走形式的,是真正的目标,有意义的目标,不多,但是必须有,如果根本都想不出来,那就需要先考虑系统存在的必要性</p>
<ol>
<li>解决了什么问题</li>
<li>优化了什么业务</li>
<li>增加了什么便利</li>
<li>或者达到了某种目的(圈钱、面子工程等)</li>
</ol>
<p>根据目的,来确定系统要实现的功能,实现功能的方法。比如:</p>
<ol>
<li>面子工程:就不需要搞复杂的业务逻辑,而是展现更多的功能,但不需要每个功能很强大,有就行,而界面要符合某些人的口味。</li>
<li>便利性:则着重突出UI交互,让用户一看就懂,不学就会用</li>
<li>优化业务:那就需要把业务流程搞清楚</li>
<li>解决问题:需要找出本质的问题,而不是表面的问题</li>
</ol>
<p>没有哪个系统能够满足全世界的需要,强大如iPhone也没有征服全世界,必须有所取舍,找出自己的亮点。</p>
<h3 id="-">业务分析</h3>
<h4 id="-">以场景演练为出发点</h4>
<p>最好能够以实际用户的身份,对现实的业务流程进行操作,熟悉每个业务步骤的原始执行方式,体会操作的实际效果及意义,在没有实际操作条件的情况下,也要尽量在脑海中,将每个业务过程演练多边(要有带入感,就像过电影片段一样),了解现实的操作方法之后,才能抽象出符合客户需要的产品设计方案。</p>
<h4 id="-">穷尽特殊情况</h4>
<p>对于某些复杂的业务运算,应穷尽各种情况,让用户进行解答,从而找出正确的计算方法:</p>
<p>??</p>
<h4 id="-">明确优先级</h4>
<ol>
<li>项目功能较多时,应分析出功能点的优先级,指导开发安排进度</li>
<li>尽量指定各个功能点希望完成的时间点(技术部根据期望的时间点和功能的难易程度,规划进度表)</li>
</ol>
<h3 id="-">文档的组织方式</h3>
<p>很多需求文档都是对功能的罗列,1、2、3、4、5,仅仅是一个一个的罗列,读起来索然无味,根本无法调动阅读者的积极性,让人读得很勉强,引不起思考。甚至,不谈功能与功能的联系,苍白的义务式的罗列。</p>
<h4 id="-">功能组织</h4>
<p>将能够完成一项特定任务的功能,按照业务逻辑走向,进行分组表述,是一个较好的方法,恰当的功能表述顺序,与内容组织,更容易让人理解作者的本意</p>
<p>而对于那些诸如:参数设置、业务字典、部门管理等等一些无脑功能,基本是固定不变的内容,简单罗列即可</p>
<h4 id="-">罗列基本、突出重点、详尽难点</h4>
<p>长篇累牍,重点不清的文档虽然也能说明问题,但是会增加阅读的难度,容易被程序员抵制,甚至抛弃,即便是强制去读,也不利于理解。</p>
<p>比如:客户管理这个大功能</p>
<p>如果分解为:新增客户、删除客户、修改客户、客户资料查看、客户信息统计,并详尽说明;有多大意义?</p>
<p>较好的分法:</p>
<ol>
<li>客户档案管理:新增、修改、删除、查看(一行文字就ok了);然后列出客户档案的字段,针对较复杂的字段,进行特别说明</li>
<li>针对客户的类别分别描述不同的客户有那种不同的业务处理方式</li>
<li>针对不同的统计内容,画出对应的统计结果草图,并略微说明统计的意义</li>
<li>对一些特殊的界面需求,比如:查询条件,做出具体要求,并说明其中的用意</li>
<li>与客户相关的业务,指明必要的链接</li>
</ol>
<p>对于一些较复杂的业务逻辑,比如:运营补贴的计算方式(因素很多),要穷尽各种因素的组合,进行详细描述。</p>
<h4 id="-">用业务实例辅助说明</h4>
<p>以实例来描述业务场景,通常更容易理解,比如:老人档案审批</p>
<hr>
<ol>
<li><em>社区</em>填写<strong>老人档案</strong>,提交给<em>街道</em>,进行<strong>第一次审批</strong></li>
<li><em>街道</em><strong>第一次审批</strong><ol>
<li>通过后,提交给<em>区县</em>,进行<strong>第二次审批</strong><ol>
<li><em>区县</em>审批通过,则将<strong>老人档案</strong>设置为 <strong>已审批档案</strong></li>
<li><em>区县</em>未审批通过,则将档案退回到街道重新审批</li>
</ol>
</li>
<li>审批未通过,则退回给<em>社区</em><ol>
<li>xxxxx</li>
<li>xxxxx</li>
</ol>
</li>
</ol>
</li>
</ol>
<p>备注:</p>
<ol>
<li>每次审批,有:通过、未通过两个选项,对于未通过的审批,必须填写审批意见。</li>
<li>其中街道在审批过程中,可以修改:审批意见、截止日期</li>
</ol>
<hr>
<ol>
<li>场景中可以使用实际的客户名称,比如:金水区民政局、丰庆路街道办等,增加可阅读性</li>
<li>对于描述的内容,可增加 斜体、粗体、下划线 等因素,将角色、业务点、业务数据 等内容,着重标出,提高内容质量</li>
</ol>
<h3 id="-">文档优化</h3>
<ol>
<li>使用更形象、合适的语言描述,比如:移动用户的增加,是“新用户入网”,而不是“新增用户”,“新增团队”也没有“创建新团队”更贴切</li>
</ol>
<h3 id="-">笔者注</h3>
<ol>
<li>系统及文档迭代化:系统的第一版不要追求过大过复杂,而应紧抓核心目的,仅完成核心目的必须的内容,随后的功能逐步添加;类似于抛砖引玉</li>
<li>系统可持续交付:每个功能的完成,系统都是完整的、客户可用的</li>
</ol>
]]></content>
<category scheme="http://www.liangpeng.net/tags/团队/" term="团队"/>
<category scheme="http://www.liangpeng.net/tags/需求/" term="需求"/>
</entry>
<entry>
<title type="html"><![CDATA[谨慎使用Ajax动态引入Js(附代码与结果)]]></title>
<link href="http://www.liangpeng.net/y2013/m08/javascript-run-in-ajax.html"/>
<id>http://www.liangpeng.net/y2013/m08/javascript-run-in-ajax.html</id>
<published>2013-08-29T07:12:37.000Z</published>
<updated>2013-11-21T06:13:27.000Z</updated>
<content type="html"><![CDATA[<p>代码(index.php):</p>
<figure class="highlight php"><table><tr><td class="gutter"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre><html><head>
<script src=<span class="string">"//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"</span>></script>
<script>console.log(<span class="string">"header"</span>,<span class="keyword">new</span> Date());</script>
</head><body ryt12134=<span class="string">"1"</span>>
<script>console.log(<span class="string">"body_header"</span>,<span class="keyword">new</span> Date());</script>
<script>
(<span class="function"><span class="keyword">function</span><span class="params">($)</span> {</span>
$(<span class="function"><span class="keyword">function</span><span class="params">()</span> {</span>
console.log(<span class="string">"$$$$"</span> + <span class="keyword">new</span> Date());
});
})(jQuery);
$(document).ready(<span class="function"><span class="keyword">function</span><span class="params">()</span>{</span> console.log(<span class="string">"ready"</span>,<span class="keyword">new</span> Date());});
</script>
<script type=<span class="string">"text/javascript"</span> src=<span class="string">"http://42.121.117.187:8899/test.js?<?php echo time();?>"</span>></script>
<script>console.log(<span class="string">"body_footer"</span>,<span class="keyword">new</span> Date());</script>
</body></html>
</pre></td></tr></table></figure>
<p>代码(index.html):</p>
<figure class="highlight html"><table><tr><td class="gutter"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre><span class="tag"><<span class="title">html</span>></span><span class="tag"><<span class="title">head</span>></span>
<span class="tag"><<span class="title">script</span> <span class="attribute">src</span>=<span class="value">"//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"</span>></span><span class="javascript"></span><span class="tag"></<span class="title">script</span>></span><span class="tag"></<span class="title">head</span>></span><span class="tag"><<span class="title">body</span> <span class="attribute">ryt12134</span>=<span class="value">"1"</span>></span>
<span class="tag"><<span class="title">script</span>></span><span class="javascript">
$.get(<span class="string">"index.php"</span>,<span class="function"><span class="keyword">function</span><span class="params">(html)</span>{</span>
$(<span class="string">"body"</span>).append(html);
});
</span><span class="tag"></<span class="title">script</span>></span>
<span class="tag"></<span class="title">body</span>></span><span class="tag"></<span class="title">html</span>></span>
</pre></td></tr></table></figure>
<p>测试结果:macos:firefox、chrome、safari -- win8:ie10 基本相同</p>
<ol>
<li>将js文件放在header中,document.ready()会等待js加载完成后再执行(header中的js是优先于body加载的)</li>
<li>将js文件放在body中,则 不考虑js是否加载就会执行(将jquery放在最后面,会导致js出错)</li>
<li><p>直接请求index.php的执行结果</p>
<pre>
header Date {Thu Aug 29 2013 14:32:51 GMT+0800 (CST)}
body_header Date {Thu Aug 29 2013 14:32:51 GMT+0800 (CST)}
qian_test.js Date {Thu Aug 29 2013 14:32:54 GMT+0800 (CST)}
hou_test.js Date {Thu Aug 29 2013 14:32:54 GMT+0800 (CST)}
body_footer Date {Thu Aug 29 2013 14:32:54 GMT+0800 (CST)}
$$$$Thu Aug 29 2013 14:32:54 GMT+0800 (CST)
ready Date {Thu Aug 29 2013 14:32:54 GMT+0800 (CST)}
</pre>
</li>
<li><p>请求index.html的执行结果(显然document.ready优先于js中的代码执行)</p>
<pre>
header Date {Thu Aug 29 2013 14:44:01 GMT+0800 (CST)}
body_header Date {Thu Aug 29 2013 14:44:01 GMT+0800 (CST)}
$$$$Thu Aug 29 2013 14:44:01 GMT+0800 (CST)
ready Date {Thu Aug 29 2013 14:44:01 GMT+0800 (CST)}
body_footer Date {Thu Aug 29 2013 14:44:01 GMT+0800 (CST)}
qian_test.js Date {Thu Aug 29 2013 14:44:04 GMT+0800 (CST)}
hou_test.js Date {Thu Aug 29 2013 14:44:04 GMT+0800 (CST)}
</pre>
</li>
</ol>
]]></content>
<category scheme="http://www.liangpeng.net/tags/ajax/" term="ajax"/>
<category scheme="http://www.liangpeng.net/tags/javascript/" term="javascript"/>
<category scheme="http://www.liangpeng.net/categories/技术/" term="技术"/>
</entry>
<entry>
<title type="html"><![CDATA[好的产品应该是这样的]]></title>
<link href="http://www.liangpeng.net/y2013/m08/i-have-in-mind-the-companys-products-should-be-so.html"/>
<id>http://www.liangpeng.net/y2013/m08/i-have-in-mind-the-companys-products-should-be-so.html</id>
<published>2013-08-13T05:36:43.000Z</published>
<updated>2013-11-21T04:14:38.000Z</updated>
<content type="html"><![CDATA[<p><code>关于我的移动健康检测设备</code>很早写的</p>
<p>iphone的成功,是一个平台的成功,App Store,iTunes,iPhone,xCode有机的结合,造就了一个传奇,如果在iPhone发布时,App Store还在襁褓中,我想,Apple必然会推迟发布iPhone,因为那不是一个好产品,我们的产品也是这样。 虽然后端我们做的也不怎么样,但它是可控的,只要我们能够想到好点子,我们就有机会实现他,而前端的产品,是不可控的,甚至我们都没有多大能力去影响他的改变,我理想中的设备至少应该是这样的(物联网还未成熟,暂且不要求):</p>
<ol>
<li>设备是无线的(蓝牙、Wifi、3G等标准无线协议),可以与现有流行的设备连接,比如:iPhone、Android等2. 设备应具有离线数据保存功能,在有互联网条件的情况下,再主动发送数据3. 设备的通讯协议是标准的,支持更多的设备加入平台4. 手持终端软件应该是强大的,支持基本的数据操作、交互,同时支持语音、视频交互</li>
</ol>
<p>那么我们应该做什么呢?</p>
<ol>
<li>策划一个有用的平台功能列表2. 友好、简介的UI交互3. 简单、高效、稳定、安全的交互协议 从而支持各个层面的厂商接入平台,完善生态链</li>
</ol>
<p>我们需要什么?</p>
<ol>
<li>一个有激情、有智慧、有技术的团队2. 一个有能力的舵手</li>
<li>适当的资金 世界在改变,凭借color这个概念就融资4000多万美元的世界,有好的策划案,资金是不缺地,看你怎么运作了。</li>
</ol>
]]></content>
<category scheme="http://www.liangpeng.net/tags/产品/" term="产品"/>
<category scheme="http://www.liangpeng.net/tags/移动健康/" term="移动健康"/>
<category scheme="http://www.liangpeng.net/categories/投资/" term="投资"/>
<category scheme="http://www.liangpeng.net/categories/投资/生活/" term="生活"/>
</entry>
<entry>
<title type="html"><![CDATA[从高效团队转向快乐团队]]></title>
<link href="http://www.liangpeng.net/y2013/m07/efficient-team-turned-from-happy-team.html"/>
<id>http://www.liangpeng.net/y2013/m07/efficient-team-turned-from-happy-team.html</id>
<published>2013-07-23T07:41:27.000Z</published>
<updated>2013-11-21T04:14:38.000Z</updated>
<content type="html"><![CDATA[<p>原本希望:<code>舒适的环境,高效的团队</code>,由于下面的原因:</p>
<ol>
<li>决定不了工作的方向(非核心项目占用大量资源)</li>
<li>决定不了工作的节奏(全是紧急的事情)</li>
<li>平庸的团队(everyone)</li>
</ol>
<p>只能改为:<code>快乐的团队</code></p>
<h2 id="-">快乐的团队的要素</h2>
<ol>
<li>合理的诉求</li>
<li>把事情做好</li>
<li>自己动手,丰衣足食,不要总是期待别人让您快乐</li>
<li>坚持自己,不附和</li>
<li>轻松工作,暇怡生活</li>
</ol>
<h5 id="-">用脑</h5>
<ol>
<li>注意代码的逻辑</li>
<li>注意代码的原理</li>
</ol>
<h5 id="-">用心</h5>
<ol>
<li>在有限的条件下,尽量做的好一点,不要<code>凑合、敷衍</code></li>
<li>屁股上的屎总是要檫的</li>
</ol>
<h3 id="-">可以将精力用在</h3>
<ol>
<li>优化代码结构,理解代码原理</li>
<li>理解业务逻辑,思考项目本质</li>
<li>优化用户交互</li>
</ol>
<h3 id="-">工作的态度影响生活态度,决定生活的走向</h3>
<ol>
<li>超越自己,每天一点点</li>
<li>理想需要奋斗,能超越世俗吗?</li>
<li>你有自己喜爱的东西吗?生活感决定工作感</li>
<li>你在为谁工作?</li>
</ol>
]]></content>
<category scheme="http://www.liangpeng.net/tags/快乐/" term="快乐"/>
<category scheme="http://www.liangpeng.net/categories/团队建设/" term="团队建设"/>
</entry>
<entry>
<title type="html"><![CDATA[工作安排]]></title>
<link href="http://www.liangpeng.net/y2013/m07/work-management.html"/>
<id>http://www.liangpeng.net/y2013/m07/work-management.html</id>
<published>2013-07-16T07:51:07.000Z</published>
<updated>2013-11-27T04:12:04.000Z</updated>
<content type="html"><</li>
<li><del>对于他人的帮助(影响自己的进度)</del></li>
</ol>
<p>质量:</p>
<ol>
<li>提出的个人建议,工作、项目(目前几乎没有,暂不考虑)</li>
<li>工具熟练程度[快捷键的使用量25%|50%|75%]</li>
<li>Bug数量及级别[粗心级、其他]</li>
<li>表述及文档能力(高级)</li>
</ol>
<hr>
<h2 id="2013-07-11-">2013-07-11 上进心</h2>
<p>“每个人都有上进心”,我认为这句话等同于“每个中国人都有一个武侠梦”。关键不在于你想怎么样,而在于你怎样做。</p>
<h3 id="-">我眼中的上进</h3>
<ol>
<li>大部分的时间用于做,持续不断</li>
<li>在做的间歇要后头看看,向前想想,对旧事进行总结,对新事稍作计划</li>
<li>一颗向往美好的心,而不是被俗事所累,一旦被俗事所累,将浪费极大的精力</li>
<li>懂得放弃,知道自己真正想要的,不专注,一定是不求上进</li>
<li>阅读经典,虽然马云说:“不读书,照样成才”,但大多数时候,我们需要用书来达成顿悟,不求多,但求精</li>
<li>粗略了解本行业的高端技术点,并做出选择</li>
<li>淡定</li>
</ol>
<h3 id="-">目前的我</h3>
<ol>
<li>被琐事缠身,心绪不宁,疲于应酬。调整心绪,抽出时间,做认为正确的事情。培训、版本控制、技术升级;项目管理、交流;</li>
<li>好环境促进步,坏环境,也不是就一无是处。历代太祖都是逆境中成长的</li>
<li>保持一个好身体</li>
<li>对自己再狠一点,少看电影、少浏览网页,节约时间</li>
</ol>
<h2 id="2013-03-18-">2013-03-18 自改进的团队--不放过一个细节</h2>
<h3 id="1-2-n-">1.一个销售2年的产品,仍有n多低级错误?</h3>
<p>是研发的问题?客户都没有骚扰市场?维护部就能忍受无尽的骚扰?老板就视而不见?综合部就没有一点感觉?</p>
<p>不懂技术?怕得罪人?不是本岗位工作?品质观念!客户意识!有没有?</p>
<p>都说市场部有客户意识?给客户一个自己都没有高要求的产品,算不算有客户意识?</p>
<p>应对:</p>
<p>布道:高品质、团队观念、做事做人</p>
<p>实施:领导带头、相互提醒,打造公司对事不对人的风格,奖优。</p>
<h3 id="2-">2.测试平台就应该有严重问题吗?</h3>
<p>严格要求,逐步提高,有序进步。每次忍一点就是0.99,</p>
<p>布道:工作内容不同,但地位相同。</p>
<p>实施:建立对上对下都敢言的氛围,才能构造自我改进的机制。</p>
<h3 id="3-">3.账号问题</h3>
<p>你是一个优秀的人吗?</p>
<p>布道:浪费别人时间,就是犯罪。</p>
<p>实施:全体鄙视他。</p>
]]></content>
<category scheme="http://www.liangpeng.net/tags/工作/" term="工作"/>
<category scheme="http://www.liangpeng.net/tags/团队/" term="团队"/>
</entry>
<entry>
<title type="html"><![CDATA[亲疏 坚持 老中医]]></title>
<link href="http://www.liangpeng.net/y2013/m01/qin-shu-jian-chi-lao-zhong-yi.html"/>
<id>http://www.liangpeng.net/y2013/m01/qin-shu-jian-chi-lao-zhong-yi.html</id>
<published>2013-01-30T11:06:50.000Z</published>
<updated>2013-11-21T04:14:38.000Z</updated>
<content type="html"><![CDATA[<p>大雾 平
老爸说儿子死活不肯和奶奶住在我姨家,之前和爷爷奶奶生活在一起时,是很黏我妈的,现在大多时间都在学校和他妈妈一块生活,和爷爷奶奶在一起的时间渐少,看起来就不那么黏糊了,而这次放假,刚好,我妈、媳妇都在上班,所以只和爷爷在一起,大概也就一晚上一白天独自和爷爷在一起,就不同对待了,当然也有之前他爷爷过度溺爱的原因,4岁的小孩,应该是没有什么价值观的,仅仅通过感受来决定行为,大多还是有迹可循,在一起的时间大抵决定了亲疏关系。
晚上又发烧了,38.5,老爸急的团团转,是药就行,给来了瓶清热解毒口服液,儿子拒绝的很精神,“不喝”,声音洪亮,感觉问题不大,理论上讲感冒的可能性也不大,倒是有点积食,有点胃气上逆的感觉,我有这个老毛病,看来脾胃不好也遗传。老爸说一晚上都没睡好,我倒没当回事,早上起床时儿子也还精神抖擞,按我的推测问题不大,但是老爸坚持去医院,坚持退烧,只好照办,打针、吃药、储备退烧药,流程照旧,很是为儿子的健康担忧,如此这般一点小问题都借助外界干预,如何修复自己的免疫力系统,不过也没办法,我也不是医生,所谓的专家,也是各说各话,有的说要立即退烧,有的说适度的发烧有利于杀菌,个人分析后者更正确,但是木办法,老婆、老爸、老妈坚决认为,任何异常都需要立即就医,我若坚持,立马就是一场战争,顺其自然吧。
这次看病的是一个老中医,儿科是远近闻名,我看起来却很是揪心,就诊单的日期,就想了半天,显然有点神志不清了,虽然身体很硬朗,他年轻时,确实是个高超的医生,但并不能保证现在还是,“这年头,医生教师也和其他职业没什么两样了,都是维持生计的手段,没有任何德行可言”,大多我们都这样说,实际上,历史上也都是这样,就单抓药,根据症状,循着医书,按照套路出牌,貌似是明朝时,将大大小小的偏方汇集成书,让医生们照单抓药,被认为是死板硬套,实际看来,科学也是这样,技能的高低完全取决于经验,无经验按部就班,有经验则些许的变化,效果大不同。只不过一个是对人,一个是对物,轻重不同而已。总结,近几年对于中西医的了解,一般病症还是西医靠谱,中医可尝试处理疑难杂症和身心调理。</p>
]]></content>
<category scheme="http://www.liangpeng.net/tags/中医/" term="中医"/>
<category scheme="http://www.liangpeng.net/tags/儿子/" term="儿子"/>
<category scheme="http://www.liangpeng.net/tags/日记/" term="日记"/>
<category scheme="http://www.liangpeng.net/categories/生活/" term="生活"/>
</entry>
<entry>
<title type="html"><![CDATA[爱狗狗搜索]]></title>
<link href="http://www.liangpeng.net/y2012/m10/ai-gou-gou-sou-suo.html"/>
<id>http://www.liangpeng.net/y2012/m10/ai-gou-gou-sou-suo.html</id>
<published>2012-10-10T09:18:27.000Z</published>
<updated>2013-11-21T04:14:38.000Z</updated>
<content type="html"><![CDATA[<p>google被墙的很是不好用,百度又不给力。</p>
<p>偶然发先 baigoogledu.com 的思路挺好的,使用中发现是gb2312编码的,将其作为浏览器默认搜索时,总是出现编码问题,只好自己重新用utf8实现了一遍,挺好用地 地址: <a href="http://liangpeng.net/so" target="_blank">http://liangpeng.net/so</a> 我叫他 爱狗狗</p>
<p>算是使用google的一个另类方法吧。</p>
<div id="xunlei_com_thunder_helper_plugin_d462f475-c18e-46be-bd10-327458d045bd"></div>]]></content>
<category scheme="http://www.liangpeng.net/categories/技术/" term="技术"/>
</entry>
<entry>
<title type="html"><![CDATA[投票器]]></title>
<link href="http://www.liangpeng.net/y2012/m08/voting-machine.html"/>
<id>http://www.liangpeng.net/y2012/m08/voting-machine.html</id>
<published>2012-08-03T02:19:18.000Z</published>
<updated>2013-11-21T04:14:38.000Z</updated>
<content type="html"><![CDATA[<p>原来是伪造投票,现在要防止伪造投票,总结下:</p>
<p>1.IP限制,看来只要使用 REMOTE_ADDR 基本能防止IP伪造[原理上还是可以伪造,伪造IP包发送出去,返回数据就不能返回到本机了],针对这个可以作2次请求,第一次http请求并不记录投票结果,返回一个加密唯一数据包,让js再次提交,之后再次验证IP,应该说,万无一失了
2.验证码限制,这个只要作高端的验证码生成器,绝无问题,国外网站的一些验证码,人都看不懂,崩溃
3.设置一些cookie、header头之类的,感觉没必要,太好伪装了</p>
<p>最终能够防止的,也就是IP限制票数,其他的可以使用程序加人工(识别验证码验证问题等)实现快速投票 。
谁还有什么高招?哈哈,黑他服务器,黑他数据库,自己赶紧人工投几票,然后拒绝服务攻击,貌似法还不少类。</p>
<p><strong>一些HTTP协议中的相关知识</strong>
获取用户IP地址的三个属性的区别(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR) 分五种情况:
一、没有使用代理服务器的情况:</p>
<p>REMOTE_ADDR = 您的 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示</p>
<p>二、使用透明代理服务器的情况:Transparent Proxies</p>
<p>REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 您的真实 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。</p>
<p>这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。</p>
<p>三、使用普通匿名代理服务器的情况:Anonymous Proxies</p>
<p>REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 代理服务器 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。</p>
<p>隐藏了您的真实IP,但是向访问对象透露了您是使用代理服务器访问他们的。</p>
<p>四、使用欺骗性代理服务器的情况:Distorting Proxies</p>
<p>REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 随机的 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。</p>
<p>告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机IP代替您的真实IP欺骗它。</p>
<p>五、使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)</p>
<p>REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示 ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。</p>
<p>完全用代理服务器的信息替代了您的所有信息,就象您就是完全使用那台代理服务器直接访问对象。</p>
]]></content>
<category scheme="http://www.liangpeng.net/categories/技术/" term="技术"/>
<category scheme="http://www.liangpeng.net/categories/技术/生活/" term="生活"/>
</entry>
<entry>
<title type="html"><![CDATA[推演演进]]></title>
<link href="http://www.liangpeng.net/y2012/m08/deduce-the-evolution-of.html"/>
<id>http://www.liangpeng.net/y2012/m08/deduce-the-evolution-of.html</id>
<published>2012-08-01T03:36:32.000Z</published>
<updated>2013-11-21T04:14:38.000Z</updated>
<content type="html"><![CDATA[<p><strong>推演
</strong>总是希望编码前的项目设计足够到位,保证项目随后最小化的变动,现实却总不如意,1.重视程度 2.消耗的资源 3.个人能力 4.做事方法 这几个方面貌似都不是很到位,如果一直无法得到良好的提升,是不是这种思路有问题,对于需求不是过于明确,资源不是十分充足,也不是人命关天的大项目,也许可以进行快速迭代?第一版,应该是最小化版本?之后在上面慢慢升级?感觉这个有点可行,同时,前期代码量小的情况下,也可以保证下基础代码的质量。</p>
<p><strong>演进
</strong>服务站的项目,怎么看,我都感觉没价值,崔总却感觉有价值,要说从无到有,虽然价值不是很大,但也是有价值的,其实回过头来看一代iphone,也就是多了触控(反应快的触控,多点价值其实没那么大),应用商店(诺基亚也有,就是没大力推广),估计也没人感觉就能干掉诺基亚,结果经过4代的迭代,诺基亚只可望其项背了。。。其实改变的只是操作方法,但是却很重要,比如:我一直很烦的,android的软件管理功能(装完程序都弄到一堆里面,一个一个拉到桌面,新装的程序老是找不到在哪)</p>
<p>推演和演进,一个注重前期设计,一个注重快速迭代,哪个更合适?试试看吧。</p>
]]></content>
<category scheme="http://www.liangpeng.net/categories/投资/" term="投资"/>
</entry>
<entry>
<title type="html"><![CDATA[Ubuntu搭建Time Machine备份的问题]]></title>
<link href="http://www.liangpeng.net/y2012/m08/ubuntu-to-build-a-time-machine-backup.html"/>
<id>http://www.liangpeng.net/y2012/m08/ubuntu-to-build-a-time-machine-backup.html</id>
<published>2012-08-01T03:08:18.000Z</published>
<updated>2013-11-21T04:14:38.000Z</updated>
<content type="html"><![CDATA[<p>1.系统问题,ubuntu apt-get 安装的netatalk 不能读取配置文件,查看/etc/init.d/netatalk 可以看出,配置 /etc/netatalk/afpd.conf根本没用,这是最严重的问题,看来不能太相信一些不该出问题的东西</p>
<p>2.登录问题。必须设置成能游客登录,才行,用系统帐号登录,总是登录不成功(目前还没解决),而且提示的是“请检查服务器名称或 IP 地址,然后再试一次。如果问题持续发生,请联系系统管理员。”,让人很疑惑,一直以为是网络配置问题,此时输入错误密码,会窗口晃动,表示登录失败。 -U uams_guest.so 是启动游客登录功能。</p>
<p>其他配置就很简单了,跟网上搜到的教程基本一致:</p>
<p><strong>/etc/netatalk/AppleVolumes.default </strong>
/home/back "TimeM" options:tm</p>
<p><strong>/etc/avahi/services/afpd.service
</strong></p>
<p><?xml version="1.0" standalone='no'?>
<!--<em>-nxml-</em>-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name></p>
<p><service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service></p>
<p><service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
</service></p>
<p></service-group></p>
<p>版本:ubuntu 12.04 server afpd 2.2.1 avahi-daemon 0.6.30</p>
<p>网上说的IPV6、cbd,貌似都不是问题;</p>
]]></content>
<category scheme="http://www.liangpeng.net/categories/生活/" term="生活"/>
</entry>
<entry>
<title type="html"><![CDATA[她是警察]]></title>
<link href="http://www.liangpeng.net/y2012/m07/she-is-the-police.html"/>
<id>http://www.liangpeng.net/y2012/m07/she-is-the-police.html</id>
<published>2012-07-19T09:39:30.000Z</published>
<updated>2013-11-21T04:14:38.000Z</updated>
<content type="html"><![CDATA[<p>好长时间没理解这句话的意思。</p>
<p>现在稍有感觉,貌似跟无为一个概念,人人无为,人人做好自己,则国顺民安。</p>
<p>只是不明白,如此简单的道理,为啥这么难明白?</p>
<p>贪?嗔?痴?</p>
<p>还是此时的人文环境惹的祸?</p>
<p>如果不大力提倡经济建设,应该会好很多吧,不过:貌似奢侈的生活比宁静的生活更有人缘。</p>
<p>攀比,在佛法中归到那戒呢?</p>
<p> </p>
]]></content>
<category scheme="http://www.liangpeng.net/categories/生活/" term="生活"/>
</entry>
<entry>
<title type="html"><![CDATA[不能作自己的一些影响]]></title>
<link href="http://www.liangpeng.net/y2012/m06/can-not-make-some-of-their-own-influence.html"/>
<id>http://www.liangpeng.net/y2012/m06/can-not-make-some-of-their-own-influence.html</id>
<published>2012-06-13T04:18:50.000Z</published>
<updated>2013-11-21T04:14:38.000Z</updated>
<content type="html"><![CDATA[<p>现实中,有些因素,往往会让我们不能按照自己的意志来处理自己的事情,总结了一些简单明了的影响。</p>
<ol>
<li>扭曲个人心智,影响个人品格完善 [总是不如愿]</li>
<li>影响个人行为对这个社会的试探性,推迟对个人行为的把握度,不利于自己优势的拓展</li>
<li>影响圈子人员对自己的认知度,从而影响自己的发展</li>
<li>不能很好的处理大家庭的关系,从而影响自己自己最大的根据地(作为心灵归宿的意义更重要一点)
这样说来,一个疑问有点隐隐显现。老爸为什么这么弱势--------老妈太强势了。
有些事情我们无法改变,那就顺其自然,但是尝试还是可以有的。</li>
</ol>
]]></content>
<category scheme="http://www.liangpeng.net/categories/生活/" term="生活"/>
</entry>
</feed>