你好,大虾请问我要输入linux netstatt -a 显示如下图是什么意思 请解释

最近开荒零灯,用阿布发的信标宏 发现一个问题就是如果你选到别人标记了的信标怪的时候,不换目标。眼看着就要过了,要是在自己这个环节出问题真说不过去,捣腾了一晚上,终于搞出来个最完美的版本。和大家分享下~
/targetenemy 被标记的不朽守护者
/script if GetRaidTargetIndex(“target”)==null then SetRaidTarget(“target”,3);end
这个宏和阿布发的那个区别就在于第一句的 targetexact 和targetenemy 通过实测证明targetexact不具有tab的功能,而targetenemy有。这样你在脸黑选到被别人打上团队标记的信标怪的时候他会自动换目标直到选到没被标记的那只并打上你自己的团队标记。宏中间的数字代表不同的标记 3是菱形 可以根据自己的安排换~
结论:如果3个信标怪都没有被标记,你猛按这个宏的话会把你的那个标记在这3个怪中切,所以最多三次这个宏能搞定,脸好的第一次就标上拉走,差点的第一次选到别人标记了的,再按一下切到没被标记的打上自己的标记,拉走,脸最黑的,按三下必然会标记到自己的那只。拖走!
上期书友会分享了工具,大家发信给我说希望能够写篇博文来分享,PPT还不够他们使。好吧,我再啰嗦一次。我不想和大家具体去讨论一个工具如何如何使用,具体有那些细节功能,我相信,工具只有在亲自使用、体验、完成工作任务才知道是否合适、好用、够用。在这里,我系统的和大家分享一下,到底会用到那些软件、工具、平台,在全局上面有一个了解。工欲善其事必先利其器,好的工具软件可以大大提高工作效率,工具各有优劣,大家按需取之,我分享的主要是Windows平台。
第一、互联网产品经理的职责范围、能力要求:
其实说工具,首先还是得来了解一下互联网产品经理这个具体岗位的职责、具体从事的工作、职能、以及相关要求。这样才能够知道需要掌握那些软件及工具、平台。我稍微做了一些梳理,总的来说关键职责主要是以下五个方面:
1、市场调研
市场调研是指研究市场以了解客户需求、竞争状况及市场力量(market forces),其最终目标是发现创新或改进产品的潜在机会。形成商业机会、产品战略或商业需求文档(BRD)。
2、产品定义及设计
a)产品定义确定产品需要做哪些事情。通常采用产品需求文档(PRD)来进行描述,PRD可能包含如下信息: 产品的愿景、目标市场、竞争分析、产品功能的详细描述、产品功能的优先级、产品用例(UseCase) 、系统需求 、性能需求、销售及支持需求等。
b) 产品设计是指确定产品的外观,包括用户界面设计(UI,User Interface)和用户交互设计(User Interaction),包含所有的用户体验部分。在大型公司里,PM通常和UI设计师或互动设计师一起完成产品设计,来主导产品功能细节及体验,不过在小公司或者创业公司里,产品经理也许需要全包这些工作。
3、项目管理
项目管理是指带领来自不同团队的人员(包括工程师、QA、UI设计师、市场、销售、客服等),在预算内按时开发并发布产品。其中可能包括如下工作内容:确保资源投入、制定项目计划、根据计划跟踪项目进展、辨别关键路径、必要时争取追加投入、推进整个项目的进展、向主管领导报告项目进展状况等。
4、产品宣介
主要包括和内部同事如老板、销售、市场、客服等沟通产品的优点、功能和目标市场,也可能包括向外界如媒体、行业分析师及用户宣介产品。
5、产品市场
主要是对外的信息传播——告诉外界有关产品的信息。通常包括制作产品数据表、手册、网站、Flash演示、媒体专题以及展会演示等。
6、产品生命周期管理
指那些随着产品经历概念化-&发布-&成熟-&退出市场整个生命周期中的产品管理活动。主要包括的工作有:产品定位、产品定价及促销、产品线管理、竞争策略、建立或收购合作伙伴、识别并建立合作关系等、产品经理和产品市场、BD及市场沟通同事一起完成这些工作。
互联网产品经理的职能,根据公司情况以及业务的不同,不同公司的PM从事的工作也不尽相同,但基本上离不开上图的三种情况,偏产品设计、偏工程技术或者偏市场运营。其次,谈到互联网产品经理的能力,个人觉得挺多的,在目前国内多数互联网公司里对综合素质要求比较高,是个复合型人才的职务。比如说:
沟通能力(跨部门、跨团队沟通非常多)
统筹协调(市场、销售、产品、技术等等多团队协作,需要争取各方资源进行配合)
无授权领导能力(在行政上面不一定有所有部门的直属管理权力)
动手能力(亲自操刀)
学习能力(不会的要赶紧学、而且要快)
商业敏感度(对商业策略的领域、诠释,需要在产品中体现)
注重细节,追求完美(交互设计、用户体验、品牌等等)
日常产品管理能力(产品设计、开发、优化、市场推广、销售等等)
第二、选择软件及工具的方法
我个人选择软件和工具主要从以下几个角度考虑:
易上手,操作简单、学习成本低;
输出格式多样,文件方便传阅、协作;
模板较多,出品美观;
配套软件多或与其它软件协作方便;
版本升级较快,厂商持续改进;
与系统或其它软件相互兼任、不冲突;
另外在工作平台方面,主要内容存储、检阅、输入输出是跨平台、终端应用,比如笔记本、ipad、iphone、黑莓、诺基亚、Android等等。
第三、PM常用软件、工具及工作平台
选择了一些常用,好用,够用,而且功能强大的工具,和大家一起来分享。互联网产品经理有个特性,那就是很多资料、文档、邮件、日志是需要移动、并在不同终端进行读取、输入输出的,所以我将这些软件及工具分为软件+平台两块来探讨,先来看看软件:
我进行了一个分类,主要是以下这些:
1、文档数据、思维脑图
(Word、Excel、PowerPoint) ★★★★★
★★★★★
editplus ★
Microsoft Office OneNote 笔记 ★★★
产品经理需要撰写大量产品文档,需求说明书、规划、PRD、产品方案、技术建议书、等等。采用目前主流和通用软件协作会比较好,因此首推微软的Office系列软件,主要是Word、Excel、PowerPoint,包括最常用的模板使用和排版,插入图片、多媒体、表格等等。汇报总结和演示较多会采用PowerPoint。
产品经理要有敏锐的市场洞察力,其中很重要信息是来源于市场调查和数据分析。所以使用Excel进行最基本的数据分析和图表分析是必备技能,如果需要对数据进行多个维度的分析和分类汇总,则数据透视图是必须要使用的功能。
对于会议记录、idea记录、思维脑图、小型项目管理,Mindjet MindManager则是一大利器,条理、结构都很清晰,上手快速、输出格式多。
Adobe Reader用来阅读PDF格式的阅读器,是一种国际通用的标准文档格式,如果需要将文档传送多人阅读,但不希望及做修改、并加密,可以在Word等软件中直接另存为PDF格式,目前很多软件都支持另存PDF。
2、产品原型设计
★★★★★
设计产品原型有不同的需求:
1、概念图,主要表达产品设计概念、理念、基本布局,元素。只有这个需求的时候我推荐 Balsamiq Mockups,它的出品效果是手绘风格,但不能做交互动作。上手快,小图1分钟内容即可搞定,因为它有强大的控件,浏览器、图片、文本框等等都有了,直接拖进去即可,点击查看。
2、产品原型、交互演示、原型细节设计等。这个时候推荐使用Axure PR快速原型制作软件,由美国Axure Software Solutions, Inc.公司开发。Axure (ak sh?r)、RP是Rapid Prototyping (快速原型缩写) 。Axure RP 能让操作它的人快速准确的创建基于Web的网站流程图、原型页面、交互体验设计、标注详细开发说明,并导出Html原型或规格的Word开发文档。点击查看, 。
还有不少原型制作软件,详细请看我以前写的博文《》。
3、网页设计制作、开发
★★★★★
★★★★★
Fireworks ★★
★★★★★
Visual Studio.net IDE
不知道现在的童鞋还有没有听说过网页设计三剑客(Flash、Dreamweaver、Fireworks),一直是最初网页设计的黄金搭档,并且有非常多的教程。后来被Adobe公司收购,现在我们原型主要采用Axure PR、效果图用Photoshop来设计,制作、搭配Dreamweaver来进行页面效果调试、套用程序。基本上放弃了Fireworks,Flash动画更少了。
CorelDRAW一直是矢量排版里头的老大,在印刷品排版,图形设计里面用得非常多。每年的活动组织,物料制作基本上少了不它来帮手。同时,它和Adobe一样,也搭配了很多配套软件,基本上是一整套数码多媒体处理平台。
4、演示、动画
★★★★★
微软的PowerPoint是一项非常古老的工具,也非常实用,而且在不断更新。做PPT很简单,但要做好PPT并不简单,有很多的学问,且不单是软件的操作。
Flash在做特殊效果的时候使用,目前除了广告动画,网站特效的话,比较少使用flash了。
产品演示,是日常中必备的一项技能,一般情况下,新产品的发布与演示,以及帮助操作需要做手把手演示。demo-builder本身这个软件没有什么技术含量,在做演示产品的过程中,你可以选择截图自己去场景拼接,或者直接录制屏幕,在事后回放的过 程中进行编辑,剪辑。那需要注意的是,一定要保证生成出来的文件比较小,这样用户下载的时候可以很方便的去查,文件大的,可以做loading。
5、项目管理
Microsoft Office Project
★★★★★
Project能够了解和控制项目的日程与利用图表和图示,借助项目向导这一交互式逐步辅助工具还能快速掌握项目管理流程,设置项目、管理任务和资源、跟踪状态以及报告项目信息。使用Excel和Visio生成基于 Project 数据的数据透视表视图、图表、图形和图示。可以很轻松地自定义报表模板,并与其他 Project 用户共享。通过“日历”界面的新增强功能以及增加的三维甘特条形图,创建视觉效果更强。总的来说,利用Office Project能够快速提高工作效率,可以更好地组织工作和人员,从而保证项目在预算内按时交付。
6、流程类工具
Microsoft Office Visio
★★★★★
ConceptDraw Office
完成各类业务流程的流程图、网络图、工作流图、数据库模型图和软件图,模板非常丰富。这些模板可用于可视化和简化业务流程、跟踪项目和资源、绘制组织结构图、映射网络、绘制建筑地图以及优化系统。采用微软的Visio再搭配相关插件,效果会很好
7、测试工具
★★★★★
TestDirector
★★★★★
FirebugHTML查看和编辑、Javascript控制台、网络状况监视于一体,可以说是开发人员必备扩展之一。Firebug从各个不同的角度剖析Web页面内部的细节层面,给Web开发者带来很大的便利。可以直接在网页上面修改,直接看到预览效果。
TestDirector是Mercury Interactive公司推出的基于WEB的测试管理工具。它能够指导进行测试需求定义、测试计划、测试执行和缺陷跟踪,即整个测试过程的各个阶段。通 过整合所有任务到软件测试中,来使整个测试管理工作更有效,并确保客户收到更高质量的产品。
★★★★★
★★★★★
svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。同时,svn也可以作为文件共享、同步软件,适合团队使用。
DropBox 是一款非常好用的免费网络文件同步工具(当然它也算是一个服务)。当你在电脑A使用DropBox时,指定文件夹里所有文件的改动均会自动地“同步”到 DropBox的服务器,当下次你在电脑B需要使用这些文件时,你只需登录你的账户,所有被同步的文件均会自动下载到B电脑中,同样,你在电脑B对某文件 的修改,也会体现在电脑A上,而所有这一切均是全自动的,这样你的文件可以说是随时随地都能保持着最新了。
Windows Live Sync 是微软推出的一款文件同步软件,我们在 Internet 中可以简单方便的同步或共享文件。Live Sync 使用 P2P 方式同步!我们可以轻松的处理最多 4GB 大小的文件。除此之外 Live Sync 也是跨平台的,不论是 PC 还是 Mac 上均可使用。
这个请百度一下自行解决,多谢。
10、其它:
Acdsee 3.2 ★★★★★(快速、绿色)
Picasa ★★★★(智能、速度慢)
射手影音播放器 ★★★★★ (自动下载字幕)
KMP ★★★★ (很经典)
EverNote多样化的笔记本功能,可在电脑上更方便、更具创意地进行资料整理、文献储存和随笔记事。在熟悉了 EverNote后,像是桌面便利贴、一般记事本、 网页撷取储存软体、日记本、记帐本软体等等,这些其它一般的免费记事、 资料存取类软体都可以在电脑里消失了,因为EverNote将可以在大部分的功能上取代他们。
其次,根据互联网的行业性质,很多程度上决定了日常使用的工作平台基本上就是浏览器、邮件、IM、内部沟通平台等等。
Firefox ★★★★(Google有援助的浏览器,插件非常多,自定义功能强大、个性)
Chrome ★★★★★ (出自Google之手,插件已经非常多了,有赶上Firefox的趋势)
TheWorld(世界之窗)
Gmail ★★★★★ (Gmail结合了日历、文档、聊天、通讯录、任务基本上所向无敌了,这么强大的在线产品,不用对不住自己啊,缺点就是很多页面经常性的打不开,无法访问,速度慢的像蜗牛)
★★★★(速度非常快、国内老牌产品了,目前有自己的客户端,同时也整合了聊天、微博等工具)
★★★★ (邮箱中的后起之秀,速度很快,绑定了QQ客户端)
★★★★ (国内优秀邮件客户端,已经被腾讯收购)
★★★★★
(微软大作)
目前收发邮件有2种方式,一种是采用客户端、一种是web端。习惯不一样,速度不一样,整合的产品不一样,看大家的各自需求。
3、日历、任务
Google Calendar
★★★★★ (推荐使用)
Remember The Milk
★★★★★
Google Contacts
★★★★★ (推荐用这个,可以在手机端同步通讯录)
163 Contacts
Hotmail Contacts
Yahoo Contacts
IM (QQ+Msn+Gtalk) ★★★★★
(不同公司有不同需要,比如腾讯就用QQ,网易就用POPO,阿里就用旺旺、移动用飞信)
最后,思考一下。软件、工具、工作平台有非常之多,形形色色、功能多种多样、有简单的有复杂的。怎么样去选择,上面已经说了很多方法和具体工作应用。但最根本的还是选择合适自己公司、个人的。就如中国古代十八种兵器,样样厉害,各有所长。没有最好,只有最合适,按照具体情况和需求,决定采用什么工具。
一直以来,交互设计师都是一个受到广泛质疑的岗位,很多人不了解交互设计师的价值,更直接的说,我们大多数的交互设计师没有表现出足够的、令人信服的专业度。
大约五年前选择了这个职业,一路走来,质疑过、探讨过,也争辩过。和很多交互设计师一样,我也有过盲目自信和茫然失措,历经时间的鞭挞后,渐渐的我对这份工作、这个专业,有了一些个人的感悟……
从我的理解来看,100分的顶尖交互设计师们通常天赋异禀、特立独行。但75分的合格交互设计师们却有迹可循,完全可以看作是流水线生产的标准件,今天,我和大家聊的就是这些75分交互设计师的专业度体现。
·交互设计师的基本素质
首先,谈谈我个人对交互设计师基本素质的看法。从我个人的理解来看,可以简单归纳为九字诀:“听、看、想、说、磨、做、验、写、讲”(如图1.1)。
1)听:做一个交互设计师,最重要的一点就是要懂得倾听(这里蕴藏了一个隐晦的性格属性:谦虚!)。通常情况下,我们不是用户,所以很难 100%代表用户,更左右不了老板,所以我们首先要有听的本事,把来自用户的、老板的、PD的、视觉的、前端的、开发的、测试的、市场的、业界的等各方面的声音都听过来,听进去。
2)看:99%的情况下,交互不是一蹴而就的创造工作,它是站在前人肩膀上不断迭代更新的行为过程。我这里指的“看”是要求设计师能博览、能泛猎,看到好的,见过差的,什么都略懂,交互才能变得很美……
3)想:交互是思考的输出产物和表现形式。当设计师将之前听到的和看到的内容在头脑中加以整理、分析,经过发散的创造性碰撞和严谨的逻辑论证后,逐渐得到了相对靠谱的交互产物。这个思索分析的过程贯穿于交互设计工作流程的每个环节。
4)说:一个能说会道的人不一定是一个优秀的交互设计师,但一个优秀的交互设计师必然是一个善于准确表达自己想法和观点的人。在这一点上,我坚持交互是一门分享的学科,需要的是开放的性格和良好的沟通技巧。
5)磨:耐心、技巧、热情的综合表现。在一个项目的进程中,不可避免的会面临很多的挑战,优秀的交互设计师善于发挥“磨”的精神,他们怀揣对交互专业的无比热情,以无所不用其极的技巧,耐心的缠死一个又一个质疑方,最终让大家认同并帮助推动设计的实现。通常来说,一个优秀的交互设计师会是一个优秀的Idea推销员。
6)做:交互设计师专业度的核心表现。俗语说得好,是骡子是马,牵出来遛遛。对于交互设计师来说,之前的环节做得再好、再完美,也只是停留在设计师自己的脑子里,游荡于听众们的耳膜间。如果理论落实不到实际,那所有的想法都只是空中楼阁,你之前所有的努力都只是在佐证你的空泛和不切实际。所以我们不仅要能 “做”,更要“做”得漂亮,“做”得完美!我一直都是这样认为:“做”决定了一个交互设计师是不是靠谱,决定了一个交互设计师的高度,是一个交互设计师最根本的专业素质。
7)验:用户体验设计,最终是要落实到用户的身上的。客观中立的验证、分析、评估能力是一个优秀交互设计师的重要素质。无论个人还是团队,设计的成果都需要通过精准的测试才能算得上合乎标准,此时,一颗平常心和一双敏锐的眼睛是设计师最需要的。
8)写:分析、归纳和总结能力的综合表现。一个项目,无论成功还是失败,总是有很多地方值得设计师本人或后来人借鉴。交互设计之路不是一座苛求零失误的独木桥,但绝对是一条要求零“重复”失误的单行线。评价一个设计师的专业度,很重要的一环就是看他能不能多犯前人从来没有犯过的错误,并能有效总结给后来人。于是,他就成了大家,路就这样被趟了出来……
9)讲:演讲能力。这里所指的是在项目后期进行的交流分享。一个专业的交互设计师会站在宏观的高度上,以平和的心态同他人沟通,验证自己先前设计的合理性、全面性和科学性,更好的提高自己的专业能力,为今后的交互设计做好准备。
·交互专业度的具象化表现
刚才讲了很多,但总体来说还是偏理论,还是让人摸不着头脑,虚幻的概念最大的优势在于它的颠簸不破和四平八稳,谁也揪不住它的小辫子。但这不是我的风格,更不是我写这篇文章的初衷,我希望的是抛砖引玉,给大家带来一些真正意义上能直接使用的东西。所以,接下来,我们来些“干货”,玩点简单粗暴的……
根据阿里巴巴目前的产品开发流程(如图1.2),交互设计是大环节中的一个小点,抛开杂乱的干扰信息,单纯考量交互设计师在过程中的参与度,我们就能得到一个理想化的交互设计行为流(如图1.3):
流程没什么好讲的,更没什么好争辩的,无非也就是增加一个、减少一个、偷换概念、细分归纳之类的忽悠。我这里想和大家分享的是流程中每个环节的专业输出物,我有一个激进的想法:如果某人能精准的完成某些公认的标准化输出物,那他99%可以被称为是一个“专业”的75分交互设计师了,剩下的 1%,也许是拼RP……
这里,我先简单交代一下即将涉及到的流程节点、对应输出物的图形色块的代表含义。
1)流程环节说明(如图1.4):
2)流程环节各输出物说明(如图1.5):
在我看来,一个专业的交互设计师,在一个理想化产品设计的过程中,有一些是属于必须的输出物,有一些属于最好有(推荐)的输出物,还有一些属于可有可无的输出物。同时,根据项目的实际情况和参与角色的分工情况,存在一些交互设计师可能需要负责的输出物,具体细节我将在下面逐一介绍。
1)需求获取阶段:
此阶段通常来说会由PD等外部资源发起,输出物主要是FRD文档和时间计划文档,用以描述问题、提出初步目标,假想可能的解决方案、预估资源并梳理时间计划等。当然,对于从UED内部发起的项目,这两部分的输出也可以由交互设计师完成,属于可能责任输出物;
2)需求分析阶段:
历史数据的关注和分析阶段,基于项目本身,要针对竞争对手、行业现状等做详尽的收集和分析,其中的关键考核点是要做必要的头脑风暴,获取发散而全面的信息集合。在此阶段,竞争分析报告和头脑风暴输出物是交互设计师专业度的重要表现。
3)用户访谈阶段:
对于一些条件允许的项目,我们建议能在项目初期寻求一些用户的信息,定义一些用户的属性,这些对于之后的交互设计都会是坚实的基础。一个高专业度的交互设计师甚至会主动介入访谈问卷的设定工作,客观的参与调研报告输出的全过程。
4)需求修正阶段:
专业的交互设计师通常不甘于沦为一个纯粹的资源,抗拒被动的接受命令。我们之前经历的需求分析和用户访谈都是为掌控主动权而做的准备。如今,我们有理有据,应该主动出击,和需求方讨论研究需求的合理性、可行性,明确最终的修正目标,并对达成目标所涉及的重点突破点有理性的分析判断,筛选出各设计点的优先级。
5)设计草稿阶段
项目目标和设计方向确定下来后,我们将进入核心的设计环节。作为交互设计师的“杀手锏”,交互流程和线框草图当然一个都不能少,但此时我更想强调一项辅助性质的调研分析工作。从交互的角度来看,在大流程大框架敲定的情况下,交互设计师通常会投入更多的精力在一些核心的设计点,也就是我们在需求修正阶段确认的设计重点。此时,专业的设计师绝对不会拍脑袋设计,更不会想当然出方案,而是会针对这些核心点做业界调研和分析,为自己即将进行的设计寻求一个足够宽广厚实的肩膀。
6)设计细化阶段
第一阶段的设计工作将在此阶段性输出。我们回顾一下,截止此时的设计产物有:用户调研报告、FRD确认文档、交互流程、线框草图、核心设计调研分析、核心设计详细说明、交互流程整体说明等。基本上,一个交互设计师的专业度,已经可以根据此时的输出物数量、质量看出个大概齐了
7)专家评审阶段
一个专业的交互设计师,要谦虚。此刻,我们进入小范围专家评审的阶段了,三个臭皮匠还顶一个诸葛亮呢,更何况是参与评审的专家呢。此时设计师的专业度就体现在 “听”、“说”和“想”这三诀上,耐心的做好评审记录,有理有据的同专家们进行专业沟通,并确认最终的结论和方向。
8)设计优化阶段
经历了专家团的考验,又该抖擞精神重新上路了,没什么好说的,把过程做好了,你的专业度也就到位了。设计优化阶段的投入度和产出将直接影响到后续Demo及测试的效果,和最终设计也息息相关,各位交互设计师们,千万别打瞌睡了!
9)仿真Demo开发阶段
终于到了仿真Demo的模型化阶段啦,这时尽管并没有直接的交互输出物,但还是需要交互设计师用百分百的挑刺精神,协助视觉和前端精准的达成我们之前的设计,严格保证最佳的输出效果。
10)测试验证阶段
仿真Demo出来之后,将进入最后的测试验证阶段,根据项目的实际情况,可能是QA测试,也可能是用户测试,总之,这个环节能帮助设计师最后把关设计的合理性,专业如你,一定要亲自跟进测试并给出最终的评估报告,哪些点是前期没有考虑周全的?那些点是成功的?哪些点是必须立即改进的?哪些点能以后再说?哪些……
11)完成设计阶段
最后的设计阶段,根据之前的测试验证评估报告,交互设计师要对所有之前的输出做一次严格的检查和修正,完成最后的输出。
12)开发上线阶段
盯紧视觉设计师和前端工程师吧,最关键的时候终于到了,经历了那么多纷繁复杂的环节,我们等的就是上线的这一瞬间。当然,千万别忘了后续的跟踪和分析,这能为你的专业度加分不少哦
·总结和展望
综上所述,我们已经整理出来了体现交互设计师专业度的过程输出物了,总结一下:以75分交互设计师的标准来看,我们的专业度能通过以下的关键输出物衡量:FRD目标确认文档、竞争分析报告、头脑风暴产出物、项目初期用户调研报告、核心设计点调研及分析报告、专家评审报告和评估报告、原型测试报告、交互流程图及详细说明文档、页面线框图、核心设计点说明文档和最后的跟踪分析报告。
基本上,所有的输出物都是反复易稿的结果,都是细碎过程的迭代输出,都饱含了设计师辛勤的工作投入。所有有梦想的交互设计师们,请正确的审视这些输出物,珍惜自己的付出,它们不光是单板的形式教条,它们更是证明自己专业度最有利的武器!
被很多同学都质疑过:那么多的输出物,平时做需求怎么可能全部做出来?每当此时,我的回答都是一样的:“是的,找借口总是很容易的。大家的确都很忙碌,按季度来说,基本上每个人都会经手大大小小几十个需求,但我们真的忙碌到输出一个高质量设计的精力都没有了吗?还是我们打心里就本着做交互、混日子的想法呢?”
不是不能,是不愿!那才是交互设计这个职业最可悲之处……
/view/1c3fd11c92cc.html
这个不错。。
可以下载所有的语法加亮文件,自己找,要不就下载一个完全包
加压到ultraedit的wordfiles目录下
按照ultraedit的说明设置不行。。。原因是我的ultraedit版本只有12.2 我就习惯用这种版本了,高级版本用不惯霍霍
在这个版本下,把php5.uew改名成php.txt ,然后再高级/配置/语法着色
这个上面选择这个php.txt文件,就可以了
top &#:35 up 120 days, 18:56,
load average: 1.48, 1.44, 1.27
Tasks: 159 total,
1 running, 158 sleeping,
0 stopped,
0.0%ni, 99.7%id,
8164756k total,
8071612k used,
93144k free,
631196k buffers
Swap: k total,
0k used, k free,
6238060k cached
SHR S %CPU %MEM
9:17.91 nginx
procs ———–memory———- —swap– —–io—- –system– —–cpu——
cs us sy id wa st
hdparm -tT /dev/sda1
/dev/sda1:
Timing cached reads:
15772 MB in
2.00 seconds = 7895.32 MB/sec
Timing buffered disk reads:
1.37 seconds =
72.96 MB/sec
hdparm -tT /dev/sdb
Timing cached reads:
15628 MB in
2.00 seconds = 7822.64 MB/sec
Timing buffered disk reads:
3.07 seconds =
59.29 MB/sec
/etc/rc.d/init.d/nfslock start
Starting NFS statd: [
[root@Cache-Server ~]# /etc/rc.d/init.d/nfslock stop
Stopping NFS statd: [
[root@Cache-Server ~]# top
top &#:50 up 120 days, 19:06,
load average: 0.47, 0.97, 1.15
总而言之,从起了nfslock服务,load就下来了
做下面的宏,设一个快捷键
/script local item, itemID, itemLink=GetCursorInfo();printable = gsub(itemLink, &#″, &#4″);text=”(“..item..”)(“..itemID..”)(“..printable..”)”;print(text);f=ChatFrameEditBf:SetText(text);f:Show();
用鼠标拿起一把武器,别放下,按快捷键,把输入框里的内容复制出来,再拿起一把武器,同样用宏复制输入框里的内容
比如我拿2把壞滅之鋒,那么我用上面的宏能得到
(item)(47493)(|cffa335ee|Hitem::0:0:0:0:0::80|h[壞滅之鋒]|h|r)
(item)(47493)(|cffa335ee|Hitem::0:0:0:0:|h[壞滅之鋒]|h|r)
好,现在把红、蓝字部分复制出来,写下面的装备武器宏
/script f=EquipItemByNf(“|cffa335ee|Hitem::0:0:0:0:0::80|h[壞滅之鋒]|h|r”,16);f(“|cffa335ee|Hitem::0:0:0:0:|h[壞滅之鋒]|h|r”,17)
一把在主手,一把在副手
该宏可以简化为如下形式
#showtooltip
/stopcasting
/script f=EquipItemByNf(“Hitem::0:0:0:0:0::80|h[壞滅之鋒]”,16);f(“Hitem::0:0:0:0:|h[壞滅之鋒]”,17)
对比就可以发现 这个宏其实只是判定物品ID (Hitem:47493)这个ID后面的一系列冒号和数字代表的是附魔宝石之类的东西
但是这个宏有个微小的瑕疵 就是这个宏无法用#showtooltip命令显示当前的物品的装备情况 于是结合我以前的宏
#showtooltip
/stopcasting
/equipslot 16 单手武器名字 (这个可以改成双手名字,16代表的是主手栏)
/equipslot 17 盾牌名字 (这个代表副手栏,双手武器的话这个栏就可以不写内容了)
/equipslot 18
/cancelaura 鲁莽
尝试了新的用法 于是诞生了新的宏 如下
#showtooltip
/stopcasting
/equipslot 16 Hitem::0:0:0:0:0:0:70 (这个ID 是我的复仇角斗士剑的,大家可以用楼主的查ID的宏查自己的武器的ID 然后复制过来)
/equipslot 17
/equipslot 18
经过测试可以使用 而且能#showtooltip用这个命令显示出当前的武器装备情况
solr 默认的schema.xml中就定义了
&fieldType name=”random” indexed=”true” /&
&dynamicField name=”random_*” type=”random” /&
所以。。你访问的时候,直接用sort=random_9555 desc就可以实现随机了!
sort=score
– &fieldType name=”semicolonDelimited”&
– &analyzer&
&tokenizer pattern=”;” /&
&/analyzer&
&/fieldType&
– &fieldType name=”commaDelimited”&
– &analyzer&
&tokenizer pattern=”,” /&
&/analyzer&
&/fieldType&
– &!–
&field name=”mk” type=”commaDelimited” indexed=”true” stored=”true” /&
&field name=”aname” type=”semicolonDelimited” indexed=”true” stored=”true” /&
&field name=”avalue” type=”semicolonDelimited” indexed=”true” stored=”true” /&
Nginx是一款轻量级的Web服务器,由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引Rambler使用。 其特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网站服务器中表现较好。
Nginx虽然可以比Apache处理更大的连接数,但是HTTP GET FLOOD针对的不仅仅是WEB服务器,还有数据库服务器。大量HTTP请求产生了大量的数据库查询,可以在几秒之内使数据库停止响应,系统负载升高,最终导致服务器当机。
本文主要介绍Centos+Nginx下如何快速有效得防御CC攻击。至于如何安装Nginx就不详细介绍了,有兴趣的读者可以在Nginx官方网站( )下载源代码进行编译。如果你使用的是Centos5,也可以使用rpm包进行安装( )。
为了让Nginx支持更多的并发连接数,根据实际情况对工作线程数和每个工作线程支持的最大连接数进行调整。例如设置“worker_processes 10”和“worker_connections 1024”,那这台服务器支持的最大连接数就是10×。
worker_processes 10;
worker_connections 10240;
Nginx 0.7开始提供了2个限制用户连接的模块:NginxHttpLimitZoneModule和NginxHttpLimitReqModule。
NginxHttpLimitZoneModule可以根据条件进行并发连接数控制。
例如可以定义以下代码:
limit_zone
$binary_remote_addr
location /somedir/ {
limit_conn
其中“limit_zone
$binary_remote_addr
10m”的意思是定义一个名称为my_zone的存储区域、my_zone中的内容为远程IP地址、my_zone的大小为10M;“location /somedir/”的意思是针对somedir目录应用规则;“limit_conn
1”的意思是针对上面定义的my_zone记录区记录的IP地址在指定的目录中只能建立一个连接。
NginxHttpLimitReqModule可以根据条件进行请求频率的控制。
例如可以定义以下代码:
limit_req_zone
$binary_remote_addr
zone=my_req_zone:10m
rate=1r/s;
location /somedir/ {
limit_req_zone
zone= my_req_zone
其中“limit_req_zone
$binary_remote_addr
zone=my_req_zone:10m
rate=1r/s”的意思是定义一个名称为my_req_zone的存储区域,my_req_zone内容为远程IP地址,my_req_zone大小为10M,my_req_zone中的平均请求速率只能为1个每秒;“location /somedir/”的意思是针对somedir目录应用规则;“limit_req_zone
zone= my_req_zone
burst=2”的意思是针对上面定义的my_req_zone记录区记录的IP地址在请求指定的目录中的内容时最高2个每秒的突发请求速率。
当有连接触发上诉规则时,Nginx会报“503 Service Temporarily Unavailable”的错误,停止用户请求。返回一个503,对服务器来说影响不大,只占用一个nginx的线程而已,相对来说还是很划算的。
为了测试效果,我将以上代码放入Nginx的配置文件,并编写了一个php文件显示phpinfo;另外还写了一个html文件,其中嵌入了多个iframe调用php文件。当我打开这个html文件了,可以看到只有一个iframe中的php文件正常显示了,其他的iframe都显示503错误。
应用举例(Discuz!)
Discuz!是使用比较多的一个php论坛程序。以Discuz!7.0为例,程序目录下有比较多的可以直接访问的php文件,但其中最容易受到攻击的一般有index.php(首页)、forumdisplay.php(板块显示)、viewthread.php(帖子显示)。攻击者一般会对这些页面发起大量的请求,导致HTTP服务器连接数耗尽、mysql数据库停止响应,最终导致服务器崩溃。
为了防止上述页面被攻击,我们可以设定以下的规则进行防御:
limit_zone
myzone_bbs
$binary_remote_addr
limit_req_zone $binary_remote_addr zone=bbs:10m rate=1r/s;
location ~ ^/bbs/(index|forumdisplay|viewthread).php$ {
limit_conn
myzone_bbs
limit_req zone=bbs burst=2
fastcgi_pass
unix:/dev/shm/php-cgi.
fastcgi_index
fastcgi_param
SCRIPT_FILENAME
/usr/share/nginx/html$fastcgi_script_
应用这条规则后,bbs目录下的index.php、forumdisplay.php和viewthread.php这些页面同一个IP只许建立3个连接,并且每秒只能有1个请求(突发请求可以达到2个)。
虽然这样的规则一般来说对正常的用户不会产生影响(极少有人在1秒内打开3个页面),但是为了防止影响那些手快的用户访问,可以在nginx中自定义503页面,503页面对用户进行提示,然后自动刷新。
在Nginx中自定义503页面:
error_page
/errpage/503.
503页面的源代码:
&title&页面即将载入….&/title&
&meta http-equiv=content-type c&
&META NAME=”ROBOTS” C&
&body bgcolor=”#FFFFFF”&
&table cellpadding=+ cellspacing=+ border=+ width=+ align=”center” height=”85%”&
&tr align=”center” valign=”middle”&
&table cellpadding=+ cellspacing=+ border=+ width=”80%” align=”center” style=”font-family:
Verdana, T color: #666666; font-size: 11px”&
&td valign=”middle” align=”center” bgcolor=”#EBEBEB”&
&br /&&b style=”font-size: 16px”&页面即将载入&/b&
&br /&&br /&你刷新页面的速度过快。请少安毋躁,页面即将载入…
&br /&&br /&[&a href=”javascript:window.location.reload();”&&font color=#666666&立即重新载入&/font&&/a&]
&br /&&br /&
&SCRIPT language=javascript&
function update()
window.location.reload();
setTimeout(“update()&#);
虽然主动防御已经抵挡了大多数HTTP GET FLOOD攻击,但是道高一尺魔高一丈,攻击者会总会找到你薄弱的环节进行攻击。所以我们在这里也要介绍一下被动防御的一些方法。
访问者通过浏览器正常访问网站,与服务器建立的连接一般不会超过20个,我们可以通过脚本禁止连接数过大的IP访问。
以下脚本通过netstat命令列举所有连接,将连接数最高的一个IP如果连接数超过150,则通过 iptables阻止访问:
status=`netstat -na|awk ‘$5 ~ /[0-9]+:[0-9]+/ {print $5}’ |awk -F “:” — ‘{print $1}’ |sort -n|uniq -c |sort -n|tail -n 1`
NUM=`echo $status|awk ‘{print $1}’`
IP=`echo $status|awk ‘{print $2}’`
result=`echo “$NUM & 150″ | bc`
if [ $result = 1 ]
echo IP:$IP is over $NUM, BAN IT!
/sbin/iptables -I INPUT -s $IP -j DROP
运行crontab -e,将上述脚本添加到crontab每分钟自动运行:
* * * * * /root/xxxx.sh
通过apache自带的ab工具进行服务器压力测试:
ab -n 1000 -c 100
测试完成后,我们就可以看到系统中有IP被封的提示:
[root@xxxxxx ~]#tail /var/spool/mail/root
Content-Type: text/ charset=ANSI_X3.4-1968
Auto-Submitted: auto-generated
X-Cron-Env: &SHELL=/bin/sh&
X-Cron-Env: &HOME=/root&
X-Cron-Env: &;PATH=/usr/bin:/bin&
X-Cron-Env: &LOGNAME=root&
X-Cron-Env: &USER=root&
IP:58.246.xx.xx is over 1047, BAN IT!
至此,又一次HTTP GET FLOOD防御成功。
根据特征码屏蔽请求(对CC攻击效果较好)
一般同一种CC攻击工具发起的攻击请求包总是相同的,而且和正常请求有所差异。
当服务器遭遇CC攻击时,我们可以快速查看日志,分析其请求的特征,比如User-agent。下面的是某一次CC攻击时的User-agent
Mozilla/4.0 ( MSIE 5.01; Windows NT 5.0; MyIE 3.01)Cache-Control: no-store, must-revalidate
几乎没有正常的浏览器会在User-agent中带上“must-revalidate”这样的关键字。所以我们可以以这个为特征进行过滤,将User-agent中带有“must-revalidate”的请求全部拒绝访问:
if ($http_user_agent ~ must-revalidate) {
return 403;
本文主要介绍了nginx下的HTTP GET FLOOD防御,如果有不对的地方,希望大家可以向我提出。同时,也希望大家能够举一反三,把这种思路应用到apache、lighttpd等常见的web服务器中。
首先你需要知道你的web server的用户是啥
写一个a.php &?php file_put_contents(‘a’,’asdfasdf’);
在浏览器里面执行以下,然后再目录下看一下a这个文件的所属
chown user:group wp-content
chomod 775 -R wp-content
find wp-content/plugins -type d | xargs chmod g+ws
find wp-content/plugins -type f | xargs chmod g+w
tar zxvf gearmand-0.9.tar.gz
cd gearmand-0.9/
./configure
make install
/sbin/ldconfig
tar zxvf gearman-0.7.0.tgz
cd gearman-0.7.0
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config –with-gearman
make install
configure php的时候出现这个
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
tar -zxvf re2c-0.13.5.tar.gz
cd re2c-0.13.5
./configure && make && make install
function convert($size)
$unit=array(‘b’,’kb’,’mb’,’gb’,’tb’,’pb’);
return @round($size/pow(1024,($i=floor(log($size,1024)))),2).’ ‘.$unit[$i];
$start=memory_get_usage(true);
$test=array();
for($i=0;$i&100000;$i++)
$test[md5($i)]=1;
echo convert(memory_get_usage(true) – $start);
结果:17.25 mb
意思就是10万个32位的array key,占用内存17.25M
使用php的syslog函数,调用本地的syslog服务,然后从本地syslog发送到中央syslog服务器进行分析整理,配置如下
首先我们先写一个php的测试文件
define_syslog_variables();
openlog(“TextLog”, LOG_PID, LOG_LOCAL0);
$data = date(“Y/m/d H:i:s”);
syslog(LOG_DEBUG,”Messagge: $data”);
closelog();
注意,我们用local0这个openlog所以在本地的syslog.conf中需配置local0具体配置如下
vi /etc/syslog.conf
@index-server
保存退出以后/etc/init.d/syslog restart
index-server是中央服务器的hostname也可以是IP地址
然后我们配置中央服务器的syslog
vi /etc/sysconfig/syslog
将SYSLOGD_OPTIONS=”-m 0″改成SYSLOGD_OPTIONS=”-m 0 -r”
vi /etc/syslog.conf
/var/log/php.log
#这里就是从各个机器打过来的log放在哪个文件里。。这个文件可能会比较大,建议对这个文件作每日存档
#还有local0.debug 可以打在/var/log/php_debug.log中类似这种。。。可以自由发挥。。
存盘退出以后/etc/init.d/syslog restart
在远端机执行t.php
2 04:17:58 app01 TextLog[2408]: Messagge:
你看。。app01的log已经写入index-server的php.log文件中了!是不是很简单,很好用??至于t.php如何封装一下,优化一下。。这个也太简单了。。自己琢磨吧!
* Check for a current process by filename
* @param $file[optional] Filename
* @return Boolean
function processExists($file = false) {
= $file ? $file : __FILE__;
// Check if file is in process list
exec(“ps -C $file -o pid=”, $pids);
if (count($pids) & 1) {
mixed getpidinfo(mixed pid [, string system_ps_command_options])
this function gets PID-info from system ps command and return it in useful assoc-array,
or return false and trigger warning if PID doesn't exists
$pidifo=getpidinfo(12345);
print_r($pidifo);
[USER] =& user
[PID] =& 12345
[%CPU] =& 0.0
[%MEM] =& 0.0
[VSZ] =& 1720
[RSS] =& 8
[TT] =& ??
[STAT] =& Is
[STARTED] =& 6:00PM
[TIME] =& 0:00.01
[COMMAND] =& php someproces.php & logfile
//////////////////////////////////////////////
function getpidinfo($pid, $ps_opt="aux"){
$ps=shell_exec("ps ".$ps_opt."p ".$pid);
$ps=explode("\n", $ps);
if(count($ps)&2){
trigger_error("PID ".$pid." doesn't exists", E_USER_WARNING);
foreach($ps as $key=&$val){
$ps[$key]=explode(" ", ereg_replace(" +", " ", trim($ps[$key])));
foreach($ps[0] as $key=&$val){
$pidinfo[$val] = $ps[1][$key];
unset($ps[1][$key]);
if(is_array($ps[1])){
$pidinfo[$val].=" ".implode(" ", $ps[1]);
solr本身内核是utf-8的,所以建立索引的时候中文可以正确进入索引,建立索引的时候用的中文分词器应该与读取索引时用的分词器一致
php中比较大的问题还是搜索问题,pecl开放了solr的包,应用起来应该比较靠谱
安装solr需要先有一个java webserver..我们选用jetty
unzip jetty-6.1.25.zip
java -jar start.jar etc/jetty.xml
把它起来。。
后来我发现自己弄jetty太累了,solr自己启动的时候自动就是jetty 的,自己装有病不是。。
java -Xms2048m -Xmx2048m -server -jar start.jar (在solr的example目录下)
分配内存一定是1024的倍数
完了以后,看http://host:
安装php solr的pecl
./configure –with-php-config=.. && make && make install
vi php.ini 加载上solr.so
打开phpinfo()看看
Solr Extension Version
Solr Extension Revision Id
$Revision: 300493 $
Last Build Date
Aug 30 2010
Last Build Time
SolrObject
SolrDocument
SolrDocumentField
SolrInputDocument
SolrClient
SolrParams
SolrModifiableParams
SolrResponse
SolrQueryResponse
SolrUpdateResponse
SolrPingResponse
SolrGenericResponse
SolrException
SolrIllegalOperationException
SolrIllegalArgumentException
SolrClientException
搞定接下来,连连试试呗
$options = array
‘hostname’ =& ‘localhost’,
‘port’
$client = new SolrClient($options);
$doc = new SolrInputDocument();
$doc-&addField(‘id’, 334455);
$doc-&addField(‘cat’, ‘Software’);
$doc-&addField(‘cat’, ‘Lucene’);
$updateResponse = $client-&addDocument($doc);
print_r($updateResponse-&getResponse());
执行后,返回
SolrObject Object
[responseHeader] =& SolrObject Object
[status] =& 0
[QTime] =& 62
恩,看来这东西。。又是白菜一样的简单了。。。一个指令启服务,安装个.so就能用了。。。性能测试了一下还是不错的。
发现怎么关也关不了,但是用http 1.0的请求还是可以
不过用了http 1.0去请求nginx往后发的时候用的也是1.0,导致后端服务器不返回cotent-length…
这个。。只好去改后端的服务了。。
最后我看,nginx对http1.1-&http 1.0是不支持的,他只支持http1.1-&http1.1 和http1.0-&http1.0
而Transfer-Encoding:chunked是在http 1.1上包办出现的,想他不出现都不行。。。不过我就奇怪了,我的2台nginx-&nginx的静态文件服务器,也是用的http1.1但是结果就是没有Transfer-Encoding:chunked而且content-length也出来了,真没搞明白为什么~~~从文件头上看,都完全一样,不知道为什么就是不行。。
wget http://www./linux/misc/pptpd-1.3.4.tar.gz
./configure && make && make install
cp samples/pptpd.conf /etc/.
cp samples/options.pptpd /etc/ppp/.
cp samples/chap-secrets /etc/ppp/.
cp pptpd.init /etc/rc.d/init.d/pptpd
chmod +x /etc/rc.d/init.d/pptpd
/etc/rc.d/init.d/pptpd start
编辑/etc/sysctl.conf,看一下net.ipv4.ip_forward参数是不是1。
改完一个sysctl -p一下
iptables -A INPUT -p tcp –dport 1723 -j ACCEPT
iptables -A INPUT -p tcp –dport 47 -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -o eth0 -j MASQUERADE
完成后输入/etc/init.d/iptables save保存,并且输入/etc/init.d/iptables restart重新启动。
我连接的时候出现了vpn 619错误,查了一下是路由器nat -t上pptp nat穿透选项的问题,但是我另外一个vpn是可以用的,所以我还需要研究一下为什么另外一个能用!
可能是服务器的机房路由器没有开启pptp的通过,我已经open ticket让他们开了,看看开了以后会不会就好了!
$u=preg_split(“/[^0-9a-z-]/i”,strtolower($str));
foreach($u as $key=>$val)
if(strlen($val)<2) unset($u[$key]);
return implode('-',$u);
小于两个字符的,不算词。
$u=preg_split("/[^0-9a-z-]/i",strtolower($str));
$b=array();
foreach($u as $key=>$val)
if(strlen($val)<2) unset($u[$key]);
else $b[$val]=1;
$b=array_keys($b);
implode(&#8216;_&#8217;,$b);
echo &#8220;\r\n&#8221;.md5(implode(&#8216;_&#8217;,$b)).&#8221;\r\n&#8221;;
这个呢。。是把重复的单词滤掉。
Slideshows require the&&and a&.
Recent Posts
January 2015
12131415161718
19202122232425
262728293031
Slideshows require the&&and a&.}

我要回帖

更多关于 netstat an 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信