动态 版块 发帖 消息 我的
Loading...
HuPei.net
商•龙虎纹青铜尊及其虎食人纹局部,战国•玉螭虎食人佩!
子版块
hupei
59
我们都知道用户反馈非常重要,因为决定你设计的这个APP成功与否的关键在于使用的用户群,那我们要怎么知道他们的反馈是公正并且客观的呢?我们可以告诉你,他们不公正也不客观,所有的用户都会不由自主地给你带有偏见的反馈。在征求和听取用户反馈的时候,你将不可避免地遭遇偏见的正反两面:偏见不仅会影响用户提供怎样的反馈,你自己的偏见也会影响你如何接收用户反馈。意识到这点是非常重要的,尤其是在查看用户在使用你的产品之后的体验评论的时候。精准且没有偏见的反馈是你开发最佳APP版本的根本。尽管你不能抹去自身以及用户的偏见,可是当你知道了这些偏见是什么,什么时候会出现,你就可以采取一些措施去克服它们。当你要求用户提供意见时,请收敛自身偏见后,再评估你是如何回应用户评论的,你采取的行动(或不行动)是否被偏见所驱使。认知偏见有多种不同的存在形式,然而只有少数几个主要的偏见种类在产品团队寻找用户反馈时反复出现。在这篇文章中,我们会仔细讨论在收集和整理用户体验反馈时的四种最常见的认知偏见,以及如何在偏见歪曲你的产出过程之前,将其扼杀在萌芽中。偏见1:确认偏见 (或称为验证性偏见)这可能是所有专业人士最常见的偏见。首次提出确认偏见的是心理学家Daniel Kahneman和数学心理学家Amos Tversky,他们指出确认偏见存在于“当你采纳了某个解释,你会自上而下的,迫使每件事情都与那个解释相符” 。即确认偏见产生于当你被与你的先入之见所一致的回应所吸引的时候。只接受与你的先入之见相一致的反馈会创建一个回音室,它会严重地影响你的UX设计。确认偏见的一个有危害的效应叫做逆火效应,开始于你拒绝接受任何可以证明你的观点是错误的结果。作为一个设计师,你的任务是创建最能为观众服务的用户体验,但你的设计中的某些部分是基于个人主观品味、信仰和背景。有时,当我们身临其中,这种偏见可能会在我们的设计过程中偷偷地溜进来,而非在我们整理用户反馈的时候,通常出现在我们提出问题的过程。早年,我的设计公司为客户设计网站和移动APP的时候,就要求我们的UX设计师来编写用户调研问卷并进行用户访谈,以获得产品反馈。毕竟,这些设计师比其他人都更加了解UX设计,更重要的是,他们是最终要对产品进行改进的人。奇怪的是,在这样做了大约一年以后,我们并未得到有可执行性的反馈。我们开始怀疑做这些调研的价值。在完全放弃这个方法之前,我们尝试不让UX设计师参与调研和反馈的过程,而是让一位QA工程师来编写调研问卷并收集用户反馈,很快我们就发现这些反馈非常有趣并且具有可执行性。尽管我们的UX设计师对于反馈意见持开放态度,但在他们的潜意识中,正在制订调研和采访问题,以便轻松验证自己在设计中的先入之见。比如说,UX设计师会问: “这些种类中的众多产品,是否让你难以找到自己想要的特定产品?”这个问题让我们的调查对象一开始就觉得找到一个产品是困难的,没有给那些没有困难的调查对象留下空间来反馈他们的回答。这个问题也提示了造成困难的原因:产品的种类繁多,没有给那些会提供其他潜在原因的调查对象留下回答问题的空间。当我们的QA工程师接手的时候,他们会把这个问题写成,“你对于找到你所需要的产品有没有任何困难?如果有,为什么?”因为对设计没有强烈的先入为主的信念,他们提出的是一个没有偏见的问题。给那些对找到产品有困难和没有困难的调查对象都留下了可以给出真实答案的空间。通过问“为什么”这种开放性问题,我们可以搜集到更加多样化和有信息价值的答案,从而帮助我们更多地了解调查对象在使用我们设计时遇到的困难的各种原因。确认偏见常常会在做用户调研时候出现,在你的调研中, 你可能无意间就会问出诱导性的问题,这个问题的措辞会让你得到一个带有你自己先入为主倾向的答案,我们的UX设计师会问出诱导性的问题,比如,“这个品牌设计是否提供专业感和信任感”,这样的提问没有给用户留出提供负面和反对意见的空间。而我们的QA工程师会问非诱导性的问题,比如,“这个APP的外观和感觉给你提供了怎么样的印象”。我们因此开始看到更加客观的和真正有帮助的用户反馈。不让我们的设计师参加调研过程,会让提问的措辞自然而然地变得带有更少的偏见。如何避免确认偏见想要克服确认偏见,就要收集来自不同群体的反馈,扩展更大的用户反馈池,混合更多的视角。不要只在单一的群体中进行调研或访谈,要考虑到人口统计学和背景,在你的目标市场中尽可能地获取更大样本的容量来代表所有的人口统计学数据。这样的话,你收到的反馈意见不会局限于这个单一群体的先入之见。设计调研问卷的时候,要小心地避免诱导性提问,与其问:“你对这个APP的某功能有多喜欢”,不如问“把你对APP功能的满意度按照以下等级排序”(提供一个从非常不喜欢到非常喜欢的量表)。第一种措辞在提问中暗示了用户会喜欢这个功能,而第二种措辞没有这样的内在暗示。在把调研问卷发给用户之前,请让其他人阅读你的问题,从而确认这些问题是没有偏见的。UX设计师可以通过使用更多的定量数据来避免陷入确认偏见。你将会在下文会看到,即使是对数值数据的解释,也不能避免偏见的存在。偏见2:框架偏见框架偏见基于你选择以怎样的框架来表述你收集到的用户反馈。这类偏见会让设计师用赞成或否定的态度来解释客观指标。尼尔森·诺曼集团(Nielsen Norman Group)提供了一个非常好的例子,通过两种方式来描述用户反馈调查的结果。第一种,20个用户中有4个用户说他们在网页上找不到搜索功能;第二种,20个用户中有16个用户说他们可以找到搜索功能。由尼尔森诺曼集团统计分析(图片来源 NN Group)(查看高清版本View large version)尼尔森诺曼集团(Nielsen Norman Group)向UX团队提供的实际上在表达同一种信息的两种结果,他们中的一半会按照成功率(20个之中的16个)进行分析,另一半会按照失败率(20个中的4个)进行分析。调查结果显示:按照失败率分析的受访者中有51%希望重新设计,按照成功率分析的受访者中只有39%赞同重新设计,尽管衡量指标是一样的,但是框架偏差会导致这些专业的UX设计师作出不同的决策。这种框架偏见的存在也会影响后续的数据分析,就像聚类错觉,人们错误地把在数据中观察到的一些巧合当成典范,或是像锚定效应,相比其他数据,人们会更重视他们所看到的第一部分数据。这些心理陷阱会影响你为产品的最佳利益做出的决定。如何避免框架偏见你在看数据时要变得更加有自我意识,还需要增加一些其他框架来避免框架偏见。对于每一个你需要评估的反馈,先问一下自己要怎样给这些数据建立框架。这种意识可以帮助你学着不把第一理解当做是既定的,以理解为什么你的观点是赞成的或否定的。辨别出至少一种或两种你可以选择的框架来表达同样的结果。假设你的调查结果显示70%的用户认为你的UI是直观的。这会让你感到骄傲和被认可,但是你要认识到这是使用了赞成性的框架。如果使用另一种框架,你写下来的结果就是:30%的用户认为你的UI不直观。通过这两个框架的比较,你会有更少的偏见和更全面的认识,你将了解到这些数据对于你的产品来说意味着什么。当你不确定要根据数据采取什么行动的时候, 就需要从你的团队中取得第二个观点。当你收到一条看起来特别重要而且很难解释的反馈时,要考虑发出新的问卷以收集更多关于这方面的反馈。可以询问那些认为你的UI在细节上不是很直观的用户来详细说明是哪些因素造成的(颜色、按钮位置、文字等),你要如何创建一个具体的,公正的问题来获得用户的深层答案。偏见3:友好偏见当然,你要礼貌且专业地与提供给你UX反馈的用户进行交流,但也不需要过于友好。换句话说,你不会希望因为自己太过通融,反而扭曲了他们的反馈。友好偏见也叫做默许偏见或用户研究偏见,在反馈时人们常常会提供他们认为你想听到的答案。有时是因为他们喜爱你,在乎你的感受并且尊重你的专业意见,也可能是其他原因导致的。人们有时会按照你想听的答案回答,是因为他们已经厌倦了被提问,觉得表示赞同的答案可以让自己快点离开访谈的房间(或结束在线调查)。这就是省力原则,人们会尽量节省脑力、时间和精力去降低阻力,从而完成任务。这个原则可能已经影响了UX设计的可用性,但在收集反馈时可能没有考虑到它所产生的影响。不管是什么原因,友好性偏见会损害你所做的辛勤工作和市场研究,给你无法有效使用的不真实数据。如何避免友好偏见当设计者不出现在用户反馈的访谈中时,友好偏见就可以被避免,因为大部分人不喜欢当面提出令人不愉快的反馈。如果收集UX反馈的过程中包括面对面问卷或焦点小组,就让开发团队之外的人担任主持人。主持人应该明确指出自己不是这个产品设计的负责人。这样人们可能会在提出负面反馈时更诚实,而且不会觉得不自在。通过一些数字化的方式来收集反馈也可以减少友好偏见。坐在电脑屏幕前人们会更加自在,因为他们不需要面对问卷提供者。当你选择用数字化的方式进行调查时,一定不要有太多问题,否则被调查者做到一半可能就觉得疲倦了,这会导致他们开始随机选择答案(或选择最喜欢的答案)只是为了尽快完成。为了避免友好偏见,要尽量让问卷简短,使用比较简洁的语言描述问题。不要把所有问题都设为必填,通过反复修改去掉不必要、不相关的问题。偏见4:虚假共识偏见这种类型的偏见通常发生在开发人员高估了认可他们想法或设计的人数,从而产生了偏见。简单来说,虚假共识就是假设别人会像你一样思考。1976年斯坦福有一项研究是让104名大学生穿着印有一家三明治餐厅广告牌的衣服在校园里巡走。这项研究发现,同意穿印有广告牌衣服的学生中,约有62%的人相信其他人也会愿意;在拒绝穿印有广告牌衣服的学生中,有67%的人认为其他人也会拒绝。两个小组都认为大多数人都赞成他们个人的想法,这就是一个虚假共识偏见的例子。如前文所述,我们的UX设计师在写用户调查问卷时会陷入这种虚假共识偏见中,无意间地问出带有假设性的问题,假设用户会像自己一样欣赏某些UX功能。尽管UX设计的核心目标是抛开自己的见解,按照用户的想法和需求进行设计。但你只能通过自己的视角去看待产品,难以想象别人会如何看待。这强调了在收集反馈的过程中团队成员背景需要多样化(尤其是那些非UX设计专业的人)。如何避免虚假共识偏见虚假共识偏见可以通过辨别和表达清楚你个人的假设来避免。当你开展一次用户调查或进行一次小组测试时,问问你自己:“这个问题的反馈结果会是怎么样的”,你写下来的答案就是你的假设。更好一点的办法是,让你的朋友或同事听你描述产品,然后写下他们听到的假设和意见。一旦你意识到自己的看法时,可以重新设计一下反馈过程,以确保你不会倾向于自己的观点。当你把假设摆在面前时,尝试着去想你的每一个假设都是错的,如果是这样的话,哪一个假设会对产品的成功带来巨大的风险呢?哪些会让用户普遍感到不满意呢?为你的用户叫板这些有风险的假设性问题。就像确认偏见一样,收集来自广泛用户群体的反馈意见是非常重要的。要确保你不只是在调查那些与你紧密合作或者和你有类似背景的人。这类人会分享一些和你类似的观点和偏见,从而加强你们的虚假共识偏见。打破这些偏见,让用户反馈更有价值偏见是很普遍的,但也是可以避免的。包括你在内的所有人都没办法摆脱自己的偏见,但不代表要让它们影响到你的工作。通过了解什么是偏见,从而在反馈的过程中一一打破。适当地采取措施来克服带有误导性的偏见,尽量收集公正的反馈。确保所有的问题都经过仔细的措辞和编辑,因为这样可以提高清晰度,并且保持参与者的注意力。为了避免数据有偏差,应尽可能地包含范围更广、更多样的小组,试着让设计者自己不参与反馈流程。无论是作为调查或测试小组的主持人,还是作为评论的评论者,这将会鼓励参与者更诚实的回答关于你的UX体验问题。这样一来可以防止你在他们的反馈中投射出你个人的假设和框架。当你开始把建立偏见意识作为反馈和测试实践中的一部分时,你会发现在评估中引入第二个观点很有帮助。这不是一个简单的过程,只有在工作中减少偏见带给你的影响,设计者才能了解到真正重要的东西:为你的用户设计更好的体验。
 0    0  42天前
hupei
71
作为日本最大的通讯服务平台,LINE最近一次在公共视野中引起较大反响,是前不久宣布与摩拜单车达成战略合作。与此同时,LINE也已领投摩拜单车日本子公司 “摩拜日本”的A轮融资。“这会是一个新的开始”,LINE大中华区投资负责人何劼告诉36氪。2017年之前,LINE面向大陆的投资主要以母基金的形式与中国一线VC合作,但从2017年开始,他们在中国组建了本地团队,开始积极地进行战略布局。这一举动的背后,一方面是随着LINE于2016年7月在东京和纽约同时上市,企业规模扩大,资金更为充裕,投资规模也相应扩大;另一方面,是LINE经过研究发现:当下中国互联网公司在拥有创新商业模式的同时,技术方面也越来越突出,甚至在某些方面已经领先于世界。“比如摩拜,像它的智能锁以及整个运营系统,都是领先世界的自有技术。”那么,这个可与中国微信对标的日本即时通讯平台将按照怎样的投资逻辑在中国大陆市场布局?被认为以“表情包”起家的这家互联网公司是如何把“萌”打造成生产力的?当下的中日创投环境究竟有何差异?近日,关于LINE的中国投资布局,36氪和LINE负责大中华区投资事务的何劼先生进行了一场对话。 1.LINE与微信36氪: LINE一直把自己定位成一个亚洲公司,目前面向中国的业务主要有哪些?何劼:从企业基因上来讲,LINE是一家植根于亚洲多个国家地区的公司。我们最大股东是一家韩国公司,而主要业务则在日本,总部和上市地都在东京,可以说这个公司具备了韩国和日本两个市场的基因。同时LINE有一半以上的用户来自日本以外,包括中国台湾地区,泰国,印尼等。所以不仅是从我们自己最初的定位,还是从发展到现在的状态来讲,我们都把自己视为一家植根于整个亚洲的公司。我们的主营业务中大家最熟悉的当然是即时通讯软件LINE APP,在此基础上我们衍生出了包括LINE Pay、LINE News、LINE Delima(外卖派送),美颜相机、LINE购物等,被我们称为Family Apps的周边服务。同时,我们的全资子公司LINE Friends负责LINE系列IP的运营,通过门店和授权的方式开展相关业务。从LINE内部的创作团队开始,在创造了深受年轻人喜爱的布朗熊、可妮兔等形象后,将其应用在表情包上,之后又衍生出动画等周边产品。然后有了线下店,像韩国、日本,后来在中国上海,北京,成都,广州,包括台湾都有开店。同时和腾讯类似,我们收入一大块也来自游戏,LINE Games是我们一个全球业务链。这些业务中,除去LINE App没有在大陆运行,以及如LINE Taxi、LINE Delima是本地化的服务外, Family Apps、LINE Friends和LINE Games里的很多产品在中国大陆都有不少的用户和受众。36氪:对标微信,你觉得两家公司有哪些异同?何劼: 微信是一个伟大的产品,LINE和微信在很多方面都非常的相似。首先两个产品都是在2011年上线的,都以压倒性的优势覆盖了各自市场的全年龄层,可以说LINE和微信在各自市场起到了通讯基础设施的作用。同时双方的特色也很明显。LINE的特色主要在于IP的运营,甚至上市时,中国国内会有媒体说这个公司是做表情包起来的。当然事实并不完全如此,比如在上市之前我们的很大一部分收入来自广告和游戏。其中游戏事业部涌现了包括像TsumuTsumu系列、Rangers系列、POP系列等大热的游戏。LINE给了大家一个表情包取胜的印象,从侧面说明我们IP运营这一块做得还是不错的。比如从表情产品来说,我们的表情包自上线以来始终都是收费的。这样不仅可以增加自身收益,更重要的是通过回馈价值给设计师,大大提高了设计的数量和质量,也涌现出了一些新的优秀IP。而微信的优势也十分明显,比如领先世界的移动支付服务,以及其他的生活服务,包括接入京东、滴滴、摩拜等,使得微信平台化。从LINE的角度来看,我们也认为这是一个很明确的趋势,我们也在努力朝这个方向发展。 2.投资摩拜36氪: LINE前不久投资摩拜日本,是否意味着LINE对于中国市场的布局在发生着变化?何劼:  LINE此前在中国的投资多以母基金的方式投资中国一线的美元基金,除了寻求投资回报,也希望通过这些VC机构找到一些潜在的合作伙伴,通过投资或合作,将头部的企业导入到我们的优势市场中,以及在有前景的赛道和技术领域中进行布局。可以说,2017年中是一个分水岭,在此之后我们开始积极寻找战略布局的投资合作机会。与摩拜的合作就是在这样的大背景下产生的。共享单车的概念虽然很新,但是其实在日本有站点的共享单车其实已经出现了一段时间,LINE也一直在关注。正好2017年摩拜也在寻找出海的机会,通过投资方面的联系开始接触。摩拜拥有自己成熟的运营团队和运营架构,此种商业模式下带来的收益、数据、流量都相当可观。同时LINE在自己占优势的几大市场拥有其他竞争者无法比拟的流量优势。本地的流量如果能够对接成熟的商业运营模式,那么项目成功的概率就会大大增加。众所周知,中国在商业模式的创新上走得比较靠前。然而在与摩拜的合作中,除了商业模式的创新,新一代互联网公司国际化的团队、实干的创业氛围、技术导向的经营风格都给我们留下了深刻的印象。在接触的短短半年时间,摩拜的自行车、智能锁、运营方面都进行了多次的迭代,这样的发展速度恐怕在世界其他地方很难看到。36氪:为什么没有选择同样在头部的ofo?何劼:  摩拜和ofo都是非常优秀的企业。LINE选择摩拜为合作伙伴原因有三个方面。首先,ofo和软银日本的一间子公司在比较早的时候就已经开始了合作。其次,从我们之前接触的几家共享单车平台看,不光是团队的专业程度,对产品的价值观,包括对日本本地化运营的思考,摩拜和LINE都很合拍。整个谈判下来,我们对摩拜创始人胡玮玮以及她的团队都很有好感。同时,摩拜在国内已经与微信有了成熟的合作经验,我们对于日本市场以类似的商业模式展开很有信心。在当前阶段,不管是ofo还是摩拜都没有在日本大规模铺开,2018年的日本共享单车市场会非常有趣。 3.投资逻辑:寻找下一个颠覆者36氪:除去摩拜这种现象级的公司,我们筛选项目时主要遵循什么样的思路?何劼: LINE首先是一个人人交互的渠道,从电话、台式机、手机到智能手机,每一次交互方式的转变都伴随着市场巨头的崛起和衰落。LINE和微信的兴起本身也是智能手机浪潮下的结果。从这一逻辑出发,我们肯定会非常关注下一个交互模式到底是什么,比如之前可穿戴设备、VR眼镜是一个热点,2017年初开始,家用的智能终端成为了市场追逐的对象。LINE对整个交互趋势的变化有自己的思考和相应的布局。比如LINE于2017年推出的智能音箱CLOVA就是在这一方面的尝试。围绕家用智能交互设备方面,我们着重看了国内一些技术领先的初创企业。围绕构筑LINE生态圈方面,微信和支付宝的服务给了我们很多启发。具体来说,我们最近对支付与大数据分析两部分十分关注。筛选项目时,我们会首先考量他们的技术与解决方案的先进程度,因为我们投资的最大想法是产业布局。换句话说,就是把先进的模式和技术对接到我们占优势的市场去。我们觉得腾讯、阿里、京东在构筑自身生态圈上有其独到的地方,通过自身研发和调动一些创业公司并围绕它们做技术提供商、服务提供商的方式快速铺开,快速迭代,这些经验对我们有很多借鉴。我们也非常期望能和中国市场的优秀企业广泛的开展合作。36氪:在我们占优势的社交领域,怎么看中国市场的特点以及当下最关注的社交产品是?何劼: 我们对中国社交领域第一个感受是,微信基本上把所有人的时间都吃掉了,我们每年都会做大量的调研,用户把时间用在哪些社交产品上,然后发现的QQ使用变少了,大部分人都沉浸在微信上。所有人都在期待一个能够颠覆微信的产品出现,我们也一直在找在看,因为能颠覆微信的,也很有可能颠覆LINE。在过去的10年中,主流的意见都认为社交已经没有新机会了,但 QQ之后有人人网,又有微信。有了陌陌之后,又有探探和其他一些二次元相关的应用,我们相信社交里面会一直有新秀出来,而且看社交是我们的老本行,我们在这个赛道上一直都很关注。抖音是我们最近很关注的一个产品,有了musical.ly的加入,今后的走向我们会密切关注。抖音通过降低制作的门槛,可以让非专业的人做出比较高质量的东西,让你感觉挺好玩儿有参与感,同时又不会让人觉得low。尽管它可能不会变成类似微信、LINE这种每天都用的工具,但可能会在大家娱乐生活中占据很大的一个份额。在未来的社交领域,也许会有不同的APP分别占据大家的碎片化时间。交流时,你可能选择微信,但发呆时你可能选择其他,想看动感好玩的,会打开抖音或者类似APP。目前社交领域呈现出的两个趋势,一是像微信或者LINE在做大一统,试图把自己做成一个超级入口;另外一个趋势就是会有不同的APP出来,把大家碎片化时间分成不同的入口。 4.萌何以成为生产力?36氪:LINE 在IP建设方面做得特别好,一些卡通形象像布朗熊,可妮兔,以及表情包在中国都家喻户晓,你觉得它的优势在哪里?何劼:LINE IP的出现首先植根于日韩的文化氛围。比如我们去日本或者韩国旅游时,能比较明显的体会到一般人的穿着甚至整个社会氛围上,对设计感的追求。在这种社会氛围之上,我们成功邀请到了两国顶尖的设计师并组成了一支优秀的团队,同时在现有成功的IP基础上不断的研发和迭代。比如说今年的布朗的眼睛大小可能跟3、4年前相比是有一些微小差异的,不仅眼睛,手的长短等其他细节也都在变化。每几个月,设计师都会针对员工和市场做采访调查,问他们对动画角色的感受,哪些好用哪些不好用,做微调整,到现在这些角色还一直在进化。除了LINE本身在创作,我们也在运营基于LINE表情贴图的创作平台并开放给一般的设计者,让他们能将自己创作的表情贴图在平台上发布、销售并得到分红,从而形成一个正反馈的生态链。我们甚至会为成功的设计师做推广其周边产品,并通过LINE自身的渠道进行销售。表情包在LINE平台上是一个多方共赢的大生意,大到什么程度呢,比如说在我们上市阶段披露主要供应商的时候,排名前十的里面就有设计表情包的设计师。在LINE的开放平台上,优秀的设计师是可以通过我们的平台赚到大钱的。这一过程也不断推进LINE整体设计水平的提升。5.中日创投环境对比36氪:相比来说,在创投环境方面,中日两国有哪些差异?何劼:从社会大环境看,对待创业失败者的态度会很大影响创业者的热情。在一个融资渠道有限、天使投资规模较小的社会中,如果融不到钱,创业者不得不通过个人负债的形式融资。那么如果创业失败了,对于创业者个人来说成本会非常的高。在亚洲,中国拥有更好的创业融资环境。无论融资规模还是数量,中国都和美国一起处于世界第一集团。从创业氛围来讲,中国有很多连续创业者甚至大学刚毕业的创业者,其中也不乏成功的案例。这是与其他亚洲国家相比有特色的地方。从用户角度来说,中国用户在尝试新服务的同时,在适应成本、隐私关切等方面用户容忍度更高,而日本用户更注重便利和风险之间的平衡。像电子支付为什么在日本没有像中国这样普及,一方面是信用卡和纸币交易已经优化得比较方便了,更重要的一方面还是对新事物接受程度的问题,特别是对隐私、对交易安全性的疑虑。在这样的环境之下能够突围出来的服务,所能享受到的市场地位会非常稳固,比如说在日本各种交通工具以及便利店,自动贩卖机都能使用的非接触式卡片(SUICA,PASMO)支付模式就是很好的例子。
 0    0  42天前
hupei
68
日期选择控件(选择器)是让用户在应用中选择(填入)日期或时间的一类控件,尤其是在B端产品中非常常见。这个控件看似简单,但它的易用性也容易被忽略。碰到需要这个功能时,很多开发者(当然也包括设计师)立即会说,“网上有那么多酷炫的选择器,而且都是开源的,我们找一个合适的就行了,我们没有必要为这个浪费时间……”但是,一切并没有那么简单。大多开源的选择器,要么丑陋不堪(大多源自好几年前的xp时代设计风格),要么异常难用(很多都是来源于后台公工具类应用,通用但远远不够好用);当然,还有一些选择器看似很酷且富有个性,但往往与我们产品的规范格格不入。我并不是强调每次我们都要重新“造轮子”,只是想说,日期选择器的设计,同样要考虑很多的易用性问题。无论是选择已有开源控件或是在其基础上改进,亦或是完全重新设计一个酷炫的个性化样式,在易用性上有一些原则和建议,可以帮助我们创造更好的产品使用体验。 1、默认选中项:应该有一个合适的默认值并不是所有的控件默认值都是今天或当前时间的。应该根据字段的类型来确定一个合理的默认时间,这样可以方便用户快速录入,或者减少点击次数。比如,一个toB的协同工具的待办事项功能,而根据我们的场景,创建这些事项通常是要求在工作日最后一天完成,那么,我们可以让默认值为当前周的周五;而一个录入用户生日的控件,默认字段需要根据用户群大概年龄,来给一个合理的中间值,比如你的产品核心用户群为20-30岁的,那么默认时间最好设为1990-01-01……想象一下,如果这里的默认时间是当前日期(很多糟糕的设计都是这样做的),那么几乎所有的用户都要点击很多次才能找到自己要选的选项。这个原则虽然简单,但是很容易被忽略。2、控制可选/录入的字段范围为了减少用户出错,保证产品数据的正常显示,日期/时间控件应当要控制可选的范围。常见的有两种控制方法,一是在选择时将不可选的日期置灰;二是选择后进行校验,若不符合要求,则不能录入并告知用户(一般是toast提示)。第一种方法是将校验放在了用户选择之前,能够杜绝用户输入错误的数据,且无需考虑出错的交互设计;第二种同样能达到限制输入的目的,但需额外的校验和设计(toast提示或弹窗),但我认为这种提示是必要的,因为告诉用户为什么有的选项不能选,可以减少用户的疑惑。3、清晰明确的提交或确定按钮我见过很多非常糟糕的日期控件,在你选择或切换选项后,还需要点击输入框或者空白处,才能填入/显示已选择的项目。特别是那种选择日期和设置时间结合的控件,如果没有比较明确的提交和确定按钮,用户会非常紧张和不知所措:“我已经选择完了,要怎样提交呢?”当然你会说,点击选择器以外的空白区就可以退出(实际上很多都是这样做的),但这并不能给用户直观的暗示,而且需要一定的认知成本。对于那种只需要点选日期的情况,在点击时就自动写入已选项并自动关闭控件,是一种比较合理的做法。最好有个明显的“确定”按钮没有明确的“确定”按钮,用户会感到困惑4、减少点击次数要录入一个日期区间,意味着用户要录入两个日期。很多设计师就会下意识的使用两个日期选择器,其实是完全没有必要的。首先一个日期选择器完全可以完成日期段的录入,而且多一个日期选择器会增加用户的点击次数。将两个控价合并,是一种比较明智的选择当然,如果你使用了统一的控件,又不想去设计新的控件,还有一种替代的方案:当在第一个控件中选择日期后,自动聚焦到第二个输入框,并弹出选择器。这样同样可以减少点击次数;但如果用户如果只是想修改其中某个时间,那么自动弹出另一个会让用户感到困惑和多余。5、标识出特定日期用户并非总是“记忆”在选择器中显示或标注例如当天、已选默认值、周末、节假日等特殊的日期,可以帮助用户更好、更快地做出选择。例如,在选择购买火车票日期时,标识出春节的七天,可以帮助很多用户快速选择出发和回城的日期,毕竟不是所有人都能很快反应过来,除夕是几月几号,初七又是几号?这样可以减少用户的记忆和判断成本,帮助用户快速做出选择,同时可以避免用户犯错。6、特殊的操作按钮对于一些通过填入日期或时间来筛选数据的选择器,有必要在选择器中加上如“清空”的按钮,允许用户快速清除已选项,回到数据的初始状态。一些录入型的选择器,也会加上类似“清除”的按钮,方便用户快速清除已填入的选项,或重新选择。还有一些选择器,会加上“今日”、“当月”、“本季度”等快速选择按钮,这对于某些特定的夜晚场景,可以有效帮助用户快速选择常用的选项,提高操作效率。写在最后日期选择器这类常用的交互控件,往往很容易被我们忽略。而正是这些常用元素的设计,才能体现产品的专注和用心程度。于细微处的恰当设计,往往能给用户带来可用性和情感上的愉悦,我想这就是设计的重要目标之一吧。
 0    0  42天前
hupei
70
过去60年人工智能经历了两次潮起潮落-新AI时代的头十年和后十年,前十年是通过ai去解决行业问题,例如医疗教育,信贷和金融等,通过大数据和机器学习迅速提升效率与准确率;新ai时代的后十年则升级到消费产品和用户生活场景(无人驾驶车,智能家居,家用机器人等领域),相对应的我们的交互方式也必然会随之更新。在特定的场景下,例如无人驾驶,智能家居等,语音交互方式其实是最便捷的交互方式,语言是人类独有的沟通方式,在未来的人工智能时代,必然会通过语音的交互彻底解放我们的双手。我们现在正处于语音智能产品的爆发之际,我们需要一个专业而系统的归纳,来帮助我们在语音交互和智能硬件的道路上共同探索和学习。今天我们就来讨论关于语音界面设计方面的一些知识,本文章观点大部分来自入《语音用户界面设计—对话式体验设计原则》这本书,希望能够对大家有帮助。第一:语音界面简史20世纪90年代出现了交互模式的语音应答,简称为ivr,它可以通过电话线路理解人们的话并且执行认为,一般都广泛的应用在运营的客服方面,即使是现在三大运营上的机器客服还是采用了这种语音应答的方式。但是通过电话拨号的方式开始语音的问答还存在很多的缺点,例如只能应用在单轮任务的问答,交互方式比较单一,不能进行中途打断等缺点。第二个阶段就是后期各大公司都出现了自己的语音助手,例如微软的cortana,谷歌的Google OK和苹果的Siri。这些语音助手集成了视觉和语音信息的app,可以同时使用语音和屏幕交互,是一种多模态的交互设计。发展到这个阶段就有了多轮对话的可能性,但是如何对用户的语音进行理解就成为了语音交互的技术瓶颈了。最近两年,各大公司都出了自己的智能家居音箱,例如amzon echo和Google home这类的纯语音设备。在未来的生活和工作场景中语音交互是一个新的入口,它提供了更灵活的交互方式,在未来的某一天人们必然会放弃屏幕和手势的操作,可以通过语音进行远距离的设备控制,这是各大公司抢占语音市场的原因。第二:在语音界面的设计中,vui应该注意什么?首先我们先了解下什么是vui,其实它就是voice user interface的简称,在我个人看来,vui设计和普通的互联网的设计没有太多的不一样,如果非要说区别的话,我个人认为vui设计所接触和涉及的范围更广。主要有下面几个工作内容:第一:进行用户研究,了解用户是谁,需要思考用户是谁以及在系统和终端之间从开始到结束的整个对话过程;第二,负责产品的原型设计和产品描述,描述系统与用户之间的交互行为。第三,描述系统与用户之间的交互行为并考虑需要处理的请求,通过分析数据来了解系统在什么地方发生了问题,最后进行系统问题的排查和改进。另外,Vui设计师在设计一个产品的时候,需要考虑你的产品是什么类型的,他的主要功能是什么,是多模态产品还是纯语音的硬件设备。在设计过程中可以通过示例对话的方式让vui设计师真正的了解产品,知道用户在和产品对话时会发生什么样的情况。第三:语音界面设计的常用规则有哪些?1、命令-控制模式/对话模式另外,在设计语音产品之前我们需要了解一些语音识别技术,从而让你的vui系统得以创建,在系统对人的语音理解方面分为两大类:asr:自动语言理解和nlu自然语言理解,目前的发展阶段已经到了自然语言理解的阶段。机器通过处理和理解文本,采用云处理的方式对用户语音进行识别和理解从而判断指令给出正确的反馈。一般的vui系统在对话模式上可以分为:命令-控制模式/对话模式,语音指令模式下用户在说话前必须要给系统明确的指示。目前大多数的vui系统都是采用这种模式。例如:Siri要求用户在说话前必须先按下主屏幕或者在Siri页面按下麦克风图标。对话模式情况下当出现较长的对话时,没有必然让用户在说话前总是告诉系统用户要开始说话了,当然这是建立在用户大致知道对话模式已经改变的情况下才会这么做,一般来说一个语音系统都会有命令控制模式和对话模式的切换。在视觉的表现上两者都需要有明确的物理图标和明确的唤醒词语,在对话模式中轮流对话更为自然,在视觉上需要有明确的开始和结束的封闭式对话标示。2、确认策略所有优秀的vui设计,都必须确保用户感觉到自己是被理解的,所以我们需要在设计原则中添加一个确认策略。确认策略的设计是因为在很多环境下机器并不能完全的识别用户所说的问题,同时在生活场景下,例如购物支付等场景,需要用户的再次确认,这个时候vui的确认策略就派上用场了。在设计确认策略的过程中我们需要了解几个问题:交互问答的错误后果是什么?系统需要什么样的方式怎么反馈?屏幕需要显示出什么?用户需要用什么样的手段进行确认等。在确认的形式上可以分为两大类:显性确认和隐性确认,显性确认即强制用户确认信息,例如:判断是否确认支付,这一类型的产生的后果还是挺严重的,需要强制用户确认信息,此时用户只需要回答是或者否即可。隐形确认通常采用的方法有下面几种:三级置信度/隐性确认/非语言式确认/通用确认/视觉确认。这种方法系统通过对不同阈值的判断,给出不同的信息确认,一般情况下分为三种阈值情况,因此也就是三级置信度的设计。对于移动设备,视觉确认是一种常用的方法,一般情况下系统会同时提供音频和视觉确认。在多模态的设计中,屏幕上可以出现可视化的列表。比如我们的语音助手,用户说打开或者关闭语音助手,那么相应的麦克风图标会有消失和出现的动效。答案连同原始的问题一起回复Siri通过视觉上的可视化列表和语言上的隐性确认来回复我的问题。非语言的确认方式也就是行动反馈,不需要口头进行确认,例如假如正在创建一个语音控制灯光的系统,当你说打开灯光的时候,灯自然就会打开,此时已经给了你一个反馈,不需要进行语音进行提示了。在纯语音设备或者系统下,可以提供一个行为反馈,例如光效等。Vui系统在说话的时候,确认用户是否可以打断,现在一般的语音智能听到唤醒词才会停止说话,唤醒词应在本地处理,设备一直处于接收唤醒词的状态。多模态形式下,一般是不可以打断的,可以用可视化列表,如Siri不可以打断对话。3、异常情况处理异常情况处理在语音识别和指令的场景下异常情况极为普遍,例如:未检测到语音,语音终止超时和无语音超时;检测到语音但是没有识别出来;正确识别但是系统无法处理;部分语音识别错误等异常情况,不同的异常情况也对应不同的异常情况的处理方式,具体的方法看下图:在这种情况下系统留给用户说话和思考的时间,某些场景下可以调整时间和灵活度。例如开始启动siri时,是用户主动的一个行为,用户不需要进行思考;然后当系统问用户某一问题时,需要用户思考,那么这个时候需要的时间就不一样了。当用户唤醒了vui系统,无语音超时发生的情况有几种:用户没有说话或者是用户说话声音小。这个 时候需要提供一个视觉上的一个退出按钮。这种帮助类似于我们在填写表单时,视觉的框里会告诉我们应该用什么格式填写。这个可能与语音识别技术相关联在一起了。比如说我们的语音助手,用户说打开word,系统列出:打开word/打开我的/打开卧底等等。第四:语音的发展趋势例如上下文语意的理解,当然我们对siri说我想吃汉堡 它列出了几个附近的餐馆 ,当用户说好腻,不吃了,这个时候就需要系统理解上下文的语境从而给出正确的判断。在消除歧义方面,当系统问用户,你的主要症状是什么?而用户说的是发烧和感冒,系统就要理解用户说的是两个症状,针对这个事情,系统需要进行回复两种不同的症状解决方式。情感和情绪分析则需要机器进入强人工智能了,让机器理解人的情绪和情感从而给出对应的有情感的回答,不在是冷冰冰的机器,这永远是一个未来的发展方向。对于高级自然语言的理解目前还处于初级阶段,目前,Siri和cortana出发处理问题的时候,会提供一个网页搜索,并不会直接回答你的问题,但高级自然语言理解可以听懂你说的话,直接回答。 
 0    0  42天前
hupei
60
需求在我们的日常生活中可以说是无处不在。比如你早上起床你需要洗漱,徐需要吃饭,需要做很多习以为常的事情。那么在日常的产品工作中,当我们遇到一个需求,我们要怎么做呢?答案肯定不是不分青红皂白的拿来就做,这样的做法很可能导致的结果就是一而再再而三的改稿。所以有以下几种方式,能够提高你对理解需求的方式。1、尽量在场我们在需求方发布的需求的时候,如果可以要尽量在场,不管你是被邀请的,还是自己主动要参加,都可以;尽量让自己在场,让自己知道 ,需求诞生的背景,这样能够非常有利于你的后期设计。可能有的小伙伴会说我如果很忙或者因为职位的级别不够等种种不可能抗力因素怎么办?其实这个很好解决,如果你实在是无法置身其中,那你就要打起十二分的精神,和向你传达需求的小伙伴好好请教,势必问到自己心中没有疑惑,在和小伙伴沟通的过程中,不妨用用下面几个小方法:第一个就是小伙伴在讲的时候,每到一个段落,你要在心里构思一下你对目前需求的理解,然后重复给他听,第一是传达自己的反馈,一方面也是证明自己有在认真考虑,再者让对方了解自己的描述是否准确传到了。第二个就是每到一个选择的十字路口的时候,你要重复他的话,比如:“我要在个人中心的最上面,添加一个头像。”你可以用自己的话对刚刚的决定性选择进行重复。当然具体要证明组织语言以及选择时机还是要看自己。第三个随手带一张纸和笔,俗话说好记性不如烂笔头,在沟通的过程中,做到实时的给出想法和判断是一个设计师必备的素质。第四个一定得问清楚,不管你心里os这个问题问出来会不会太蠢,因为你是需求的最后执行者,你有必要知道每一个细节。二、深度交流在需求传达的初期,往往需求本身也不是很完善,这个时候,你一定要和pm紧紧的搞在一起(开玩笑),因为你的反馈对他来说也很重要。从需求的制定背景,需求的等级,需求的开发时间,需求自身的重要程度等方面来进行交流,交流下来,你可能发现这只是一个因为竞品做了,所以我们也要做的需求,或者只是因为业务方为了kpi的好看,当然也有可能最后的结果是这是一个很重要很严肃的需求。三、及时提出自己的疑惑不要带着疑惑去处理需求,因为这个就像滚雪球,随着更多业务的不断增加,因为一开始的疑惑,而导致更多的不理解出现,这是一个令人懊恼的过程。因此在需求伊始,一定要将自己对需求的疑惑,充分地表达出来,好让需求方自检的同时,也好对你的问题进行一遍梳理。对于怎么更好的理解需求,先说这么多;接下来是当你对于需求重逢理解之后,要如何去处理需求。大致也分为以下几个部分:1、调研调研的方式有很多,比如通过数据进行一个趋势分析,或者通过桌面研究,竞品分析,定量定性的研究种种,但是你在具体实施的时候要考虑需求的等级,其时间周期以及本身的资源限制,来进行,不然这一步是无法开始的。但是基本的调研还是要有的,不然你无法应付后期的审稿模块。假设如果没有这些先天的条件,那你就要依赖自己的专业能力和经验来解决了,但是同时也可以在需求的处理过程中,去烦一烦pm,尽可能的阐述自己的具体解决办法。2、合理的排期产品上一直有句话叫“先有再说”,听起来好像不是那么负责任,其实这里的的先有再说,不是意味着有了之后就不管了,抛诸脑后,而是先将某个功能做上去,然后通过版本的不断叠加,最后达到产品的完美。你可能会说为什么在一开始就让它达到完美?但是其实在真实的环境中,一个功能需求的诞生和上线,时间都是非常紧凑的,你如果想在上线的初期就让产品趋于完美,那就需要大量的时间成本和人力成本来进行保障,但是这样往往解决了功能的不完美性,但是再上线,发现其他产品早就开始下一个产品亮点的推进了。3、沟通与推动在需求处理的末尾,你需求整理自己的稿件,标好相关信息进行,将自己的想法以及界面的相关信息进行整理,然后发到承接此项目的小伙伴手中。但这仅仅只是开始,你还要在具体的开发过程中,随时待命,比如一些技术限制,需求优先级,逻辑漏洞等,这些问题会陆陆续续的找上你,你要有解决这么矛盾冲突的地方,并解决它。关于推动,不仅要跟踪开发的进度,还要是不是关心一下是不是项目遇到了什么问题,有时候自以为制作的产品逻辑上都没有问题,但是开发小哥哥可以灵光一闪的告诉你同样一个解决问题的更简单的方法,让你钦佩不已。当然在需求的具体实施中,你可能要参加审稿大会,你要接受各个方面的质疑,也就是撕逼,他们考虑问题的角度和出发点都和你不一样,所以要善于倾听和接受,实在是无法妥协的地方可以再找一些方法来进行验证,比如灰度发布 a/b测试等。但是不能找身边的人举手表决,个人认为不是很专业,公平性也有待商榷。总结一下没有说太多理论性的东西,只是说了一些工作中的细节,我不是说理论性的东西不好,理论是基石,是想法的源泉,但是在和业务,pm争得面红耳赤的时候,更多的是对自己怎么去掌控各方的意见,和寻找突破口。 作者:秦东源,个人公众号:海鲜君的设计物语
 0    0  42天前
hupei
49
1、流量来源网站的流量来源主要来自于3个方面:链接跳转:访客通过另外一个网站上的链接跳转到你的网站;搜索引擎:通过搜索引擎的关键字搜索,在结果页中找到你的网站链接点击进来;URL输入:直接在地址栏输入你的网站的URL并进入。绝大多数的网站的流量来源于这三个方面。了解用户来自哪里,你就能够有意识地创建能够吸引用户的设计。打破现有流量来源结构,也许能够帮助你更好的了解如何让更多的细分受众接触到你的网站。你得让其他的网站主观上愿意链接到你的网站,比较常用的做法是创建带有优质内容的博客,最好包含有受众喜欢的内容或者素材,比如带有UI Kit,或者设计素材包、信息图之类的内容。进行搜索引擎优化也是常用的解决方案,比如带有正确的关键词和 Alt、Meta 属性。为搜索引擎进行优化也许是你设计工作中不起眼的一个部分,但是它所带来的价值可能超出你的想象。针对网站URL进行优化。创建让用户更容易记住的URL是很有必要的,中国内的网站大多会采用拼音式的域名,而国外的网站则可以选择更加直观的单词组合,比如 Webdesigndepot.com 所选择的就是 Web Designer Depot。最好不要在域名中加入下划线,这样会让用户感到迷惑。2、关键词你的网站主要是干什么的?网站的关键词通常可以回答这个问题。网站的实际内容和用户的想法可能是有偏差的,但是网站所包含的关键词往往能够清晰的告诉用户网站中实际的内容是关于什么的。那么,你所提供的关键词系统和真实的内容是完全匹配的么?那么需要特定内容的用户能否从你的网站获取到有价值的信息呢?除了关键词本身之外,你需要让整个设计和关键词本身匹配起来,包括基本功能,文本内容,整体主题,图片等各种元素都应该和关键词系统保持一致。接下来,你还需要专注地做到下面的事情:使用响应式的设计;避免同一内容占据多个不同的页面按照用户说话和阅读的方式来组织内容,确保不会有拼写错误和内容错误让你的网站尽量易于被分享,建立属于这个网站的声誉如果有链接尽量链接到和你的内容、关键词一致的来源宣传用户需要的内容和产品;不要过渡使用相同的关键词,这样会显得过于机械而不够人性化3、访客对于网站的访客,通常可以划分为两种,一种是第一次来的你的网站的,第二种是来过了回到这里的访客。这两种访客的比例其实是很能反映网站的状况。如果你的网站访客大都是第一种,那么说明你的网站没有足够的吸引力让他们成为回头客,如果你的网站绝大多数是第二种,这可以说明你的网站在发掘潜在的用户/客户/粉丝上花费力气,或者说效果不足。对于这两种不同的访客,你需要有针对性地对网站进行设计,来进行处理。首先,在视觉设计上要足够突出,这样可以吸引第一次来网站的访客。同时,网站的设计要是动态的,这样才能常看常新,不停地吸引人。有趣的图片和视频是很值得使用的元素。你应该让访客能够了解网站的内容,以及如何找到他们想要的信息。大标题、LOGO和设计优秀的导航都可以让网站的目标性更加突出。网站中应该包含一些访客可执行的操作或者交互,可点击的链接,可查看的视频,甚至可以立刻开始玩的游戏,这样才能够同用户产生链接,提升用户的留存率。行为召唤的交互设计要足够明显。不要害怕告诉用户该做什么以及如何互动,特别是规则比较麻烦的情况,尤其要如此。4、Top 10 页面这是最有意思的指标:访客最常访问网站的页面 Top 10 。许多优秀的博客和网站会使用这种指标来追踪热门话题和特定类型的文章,而电商类的网站则可以借助这个列表来跟踪页面流量和转化率。实际上,许多网站的运营和所有人在了解到自己网站最受欢迎的页面 Top 10 列表的时候,会表现得特别的惊讶,因为最终数据所呈现出来的结果和他们的预期,往往不太一样。不过规律是存在的,很多网站访问量最大的页面当中,都包含了“关于”页面和“联系”页面(用户想了解网站或者需要联系方式和帮助),而新闻和博客类网站当中访问量最大排名靠前的网站则通常是关于特定领域的页面和主页。用户最常访问的页面反映了你的网站的状况,也可以帮你指明设计网站的方向。在访问量最大的页面当中加入链接、行为召唤按钮是提升网站利用率的最典型做法。你应该尽可能简单地让尽可能多的用户找到它。想要让特定的页面被更多的用户看到,最好在首页等访问量较大的页面当中为其进行设计,比如使用行为召唤元素来引导,使用大图进行宣传,创建独特的视觉体验。在主要的导航当中加入热门页面的导航,或者在社交媒体上进行分享也能够提升这些页面的访问量。在侧边栏上将这些访问量最大的页面Top 10 列举出来,同样会吸引更多的用户点击。5、退出页用户是怎么打开网站的很重要,而用户是何时离开的,怎么离开的,同样重要。退出率指的是用户在特定页面离开占这个网站的百分比。这个概念和我们常说的跳出率是有差别的,跳出率通常是在单页面的尺寸上进行讨论。如果某个页面的推出率较高,那么可能这个界面存在问题,比如某些元素无法加载,或者干脆就是页面出错直接404了。不过,另一方面,对于电商网站而言,结帐和支付页面的高退出率其实是好事情,这反映了销售状况良好,成交比例高。如果页面的退出率较高,那么可能需要重新设计了。想要降低页面的退出率,通常你需要让页面内有吸引用户的内容,或者可供用户交互的操作,简单点说,就是让用户在这里有事情做。同时,这还不能损坏当前页面的行为召唤设计。如果电商页面的的退出率很低,对于销售和产品交易可能是不好的影响。这个时候需要注意页面中是否包含了循环链接,或者因为某些障碍导致用户无法进入到下一个环节。当然,用户最终还是会离开这个页面的。而我们需要关注的是意外离开,或者潜在错误导致的非正常的退出率数据。
 0    0  42天前
hupei
64
如何使任何食物变得更美味?只要加糖就可以了,食品行业巨头用这个伎俩把一切都变得如此简单。如今,糖无处不在:汉堡,软饮料,脱脂牛奶,蛋黄酱,甚至婴儿食品!1822年,美国人平均每五天消耗约45克糖,如今达到756g!我们的大脑不断地渴望糖,所以我们沉迷于含有它的食物(脑部扫描显示糖像可卡因一样上瘾)。糖没有营养价值,这只会给食品生产商带来更高的利润,并造成消费者的健康问题。有一个辉煌的纪录片《Fed Up》讲述的就是这个。(译者注:Fed Up是由Stephanie Soechtig指导,撰写和制作的2014年美国纪录片。这部电影重点在于关注美国人肥胖的原因,大量的数据显示,加工食品中大量的糖是人们忽视的根源。)如何使你的设计变得更好?只要加糖就可以了,视觉糖。什么是视觉糖?视觉糖是任何视觉装饰元素。最常见的视觉糖类型是图标、渐变、阴影、纹理、动效等。有时候,设计师会以无意义或过度的方式使用它们,使他们的设计更好,这里的关键是“无意义”。这些本身没有任何问题,只是它们被用来甜化原本无味和无意义的设计。为什么会这样呢?那么,我们假设在这样的情境下:你在设计时感觉有点平淡。你会怎么做?添加一些图标,或渐变和阴影?看起来使你的设计变得更好了,但实际上你只是将一个肤浅的设计伪装起来。有些设计甚至彻头彻尾是个糖衣炮弹(以坏的方式)。大量的糖分却毫无营养价值。我们看看来自Dribbble的典型的仪表板:到底多少糖分算多?根据美国心脏协会的数据,男性每天摄入的添加糖分最多为37.5克(9茶匙),而女性最多为25克(6茶匙)。产品设计呢?在产品设计中可以使用多少视觉糖?Edward Tufte在他的书《Visual Display of Quantitative Information》中有完美的答案:当视觉图表被杂乱的装饰形式取代、当数据量度和结构变成可见的设计元素、当视觉样式由整体设计决定而非定量数据,那你就可以称此“视觉设计”为“鸭形商店”。(译者注:大鸭子商店是位于美国长岛的一个建筑,外形是个写实派的鸭子造型,而其主要功能就是卖鸭子和鸭蛋。)对于这个建筑,整个结构本身就是装饰,就像鸭子数据图形一样。在拉斯维加斯的学习中,Robert Venturi, Denise Scott Brown和StevenIzenour撰写了关于现代建筑的鸭子–他们的想法也与数据图形的设计有关:当代建筑师自以为是地“摈弃”建筑外部的装饰,却无意中设计出了一个本身就是纯粹装饰品的建筑。在推动空间与艺术方面的象征意义和装饰,他们把整个建筑变成了鸭子。他们取代了传统的棚用装饰的天真和廉价的实践,这是一种非常愤世嫉俗和昂贵的程序和结构的扭曲来促进鸭子的发展…现在是时候重新评估John Ruskin曾经令人震惊的声明了,建筑风格是建筑物的装饰,但我们应该附上Pugin的警告:装饰建筑是可以的,但不要建造装饰品。如何减少视觉糖?在设计工作时,牢记几件简单的事情,确保你的设计不会变成视觉的垃圾食品。有五种方法:1. 始终记住产品需求的层级在开始考虑形式前,先把产品的功能性定位清楚。一旦你理清了设计目的,并将信息结构牢记于心,每个设计元素就能变得恰到好处。如果一开始就建立在产品视觉外观和感觉的基础上,金字塔将会倒塌。Devin Hunt的设计检查表iA.net还有一个很好的建议:不能因为你的设计感觉无意义、冷淡或者没有你预期的那样好,就成为你寻找使用图标的理由。图标不会修复结构有问题的设计。在设计过程的最后添加图标,在使用线框时不要使用图标。图片可以表达1000个不同的意思,强大的信息架构会帮助你找到正确的概念并将它们放在正确的语境中。在诉诸情感之前,先弄清楚你的理论基础。2. 你设计中的每个元素都应该有目的例如,Google的Material Design设计语言中,动效用于增加额外的意义,而不仅仅是让设计看起来更好:动效的作用不仅仅是使设计过渡自然,应该首先是帮助引导用户,在正确的时间提供正确的信息。动效应该有助于解决复杂的问题,并清楚地向用户传达一个元素的阻力、动态和路径。– 来自Sharon Correa和John Schlemmer“Making Motion Meaningful”3. 在没有必要的地方去除视觉糖Dropbox在重新设计之前,左侧导航面板中的每个菜单项旁边都有图标。他们看起来不错,但几乎没有任何实际意义:如果你隐藏每个图标旁边的文字,用户不会记得它的意思。在新设计中,所有的图标都不见了,现在导航不仅视觉上更干净,而且更容易理解。图片由Dropbox Design团队提供4. 不要跟随趋势当Dieter Rams开始研究他的第一个设计时,黑胶碟播放机的时尚设计就像这样:Fairchild 411H这是他设计的:Braun PC-35. 记住:好的设计不需要过甜Frank Chimero用香草冰淇淋比喻好的设计:我的设计就像香草冰淇淋:简单而甜美,朴素而不简陋。它应该是一个更加放纵的体验的基础,在他们需要的场合,添加巧克力片和曲奇饼。然而这些特殊场合是很少的。一份好的香草冰淇淋通常就够了。来个总结最近Peter Thiel’s在纽约时报中有一篇精彩的采访:记者:你坚信人从来就不应该吃糖。Peter Thiel:没错,我们说的都很容易,却从来做不到。
 0    0  42天前
hupei
166
内容:使用cronolog可以格式化日志文件的格式,比如按时间分割,易于管理和分析。cronolog的安装配置非常简单,简要说明如下:1.下载软件http://cronolog.org/download/cronolog-1.6.2.tar.gz2.解压缩tar xzvf cronolog-1.6.2.tar.gz3.进入相应的目录./configure --prefix=/usr/local/cronologmakemake install4.修改apache配置文件CustomLog "|/usr/local/cronolog/sbin/cronolog /opt/apache/logs/access_log.%Y%m%d" combinedTransferLog "|/usr/local/cronolog/sbin/cronolog /web/logs/%Y/%m/%d/access.log"ErrorLog    "|/usr/local/cronolog/sbin/cronolog /web/logs/%Y/%m/%d/errors.log"重起apache,这样就能在apache日志文件目录中按天来分隔日志了如果apache中有多个VirtualHost,也可以为每个VirtualHost分别输出一个日志的,方法与上面相同。官方网址:http://cronolog.org
 4    0  617天前
hupei
180
# cd /usr/local/apache2/conf# tar zxvf ssl.ca-0.1.tar.gz# cd ssl.ca-0.1生成根证书:# ./new-root-ca.sh                         (生成根证书)No Root CA key round. Generating oneGenerating RSA private key, 1024 bit long modulus...........................++++++....++++++e is 65537 (0x10001)Enter pass phrase for ca.key:              (输入一个密码)Verifying - Enter pass phrase for ca.key:  (再输入一次密码)......Self-sign the root CA...                   (签署根证书)Enter pass phrase for ca.key:              (输入刚刚设置的密码)................                                   (下面开始签署)Country Name (2 letter code) [MY]:CNState or Province Name (full name) [Perak]:HaiNanLocality Name (eg, city) [Sitiawan]:HaiKouOrganization Name (eg, company) [My Directory Sdn Bhd]:Wiscom System Co.,LtdOrganizational Unit Name (eg, section) [Certification Services Division]:ACSTARCommon Name (eg, MD Root CA) []:WISCOM CAEmail Address []:acmail@wiscom.com.cn这样就生成了ca.key和ca.crt两个文件,下面还要为我们的服务器生成一个证书:生成server证书:# ./new-server-cert.sh server              (这个证书的名字是server)............Country Name (2 letter code) [MY]:CNState or Province Name (full name) [Perak]:HaiNanLocality Name (eg, city) [Sitiawan]:HaiKouOrganization Name (eg, company) [My Directory Sdn Bhd]:Wiscom System Co.,LtdOrganizational Unit Name (eg, section) [Secure Web Server]:ACSTARCommon Name (eg, www.domain.com) []:acmail.wiscom.com.cnEmail Address []:acmail@wiscom.com.cn这样就生成了server.csr和server.key这两个文件。签署server证书:# ./sign-server-cert.sh serverCA signing: server.csr -> server.crt:Using configuration from ca.configEnter pass phrase for ./ca.key:             (输入上面设置的根证书密码)Check that the request matches the signatureSignature okThe Subject's Distinguished Name is as followscountryName           :PRINTABLE:'CN'stateOrProvinceName   :PRINTABLE:'JiangSu'localityName          :PRINTABLE:'NanJing'organizationName      :PRINTABLE:'Wiscom System Co.,Ltd'organizationalUnitName:PRINTABLE:'ACSTAR'commonName            :PRINTABLE:'acmail.wiscom.com.cn'emailAddress          :IA5STRING:'acmail@wiscom.com.cn'Certificate is to be certified until Jul 16 12:55:34 2005 GMT (365 days)Sign the certificate? [y/n]:y1 out of 1 certificate requests certified, commit? [y/n]yWrite out database with 1 new entriesData Base UpdatedCA verifying: server.crt <-> CA certserver.crt: OK(如果这里出现错误,最好重新来过,删除ssl.ca-0.1这个目录,从解压缩处重新开始。)下面要按照ssl.conf里面的设置,将证书放在适当的位置。# chmod 400 server.key # cd .. # mkdir ssl.key # mv ssl.ca-0.1/server.key ssl.key # mkdir ssl.crt # mv ssl.ca-0.1/server.crt ssl.crt然后就可以启动啦!# cd /usr/local/apache2 # ./bin/apachectl startssl
 1    0  617天前
hupei
237
一、内容简介        本书在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵、深和实践角度探讨Python在运维领域应用的著作;一方面本书的作者是中国运维领域的“偶像级”人物,本书是他在天涯社区和腾讯近10年工作经验的结晶。因为作者实战经验丰富,所以能高屋建瓴、直指痛处,围绕Python自动化运维这个主题,不仅详细介绍了系统基础信息、服务监控、数据报表、系统安全等基础模块,而且深入讲解了自动化操作、系统管理、配置管理、集群管理及大数据应用等高级功能。最重要的是,完整重现了4个来自实际生产环境的不同功能运维平台的综合案例,展示了完整的平台架构及开发流程。        全书一共16章:基础篇(1-4章)详细介绍了系统基础信息、业务服务监控、定制业务质量报表、系统安全等基础和常用模块;高级篇(5-12章)深入讲解了批量运维管理器pexpect、paramiko、Fabric,集中化管理平台Ansible、Saltstack,统一网络控制器Func等高级功能,涵盖自动化操作、系统管理、配置管理、集群管理及大数据应用等主题;案例篇(13-16章)详细介绍了4个来自不同平台的运维案例,如何从零开始打造一个B/S自动化运维平台、如何打造Linux系统安全审计功能、如何构建分布式质量监控平台、如何构建桌面版C/S自动化运维平台,这4个案例均来自实际生产环境。二、目录前  言第一部分 基础篇第1章 系统基础信息模块详解 21.1 系统性能信息模块psutil 21.1.1 获取系统性能信息 31.1.2 系统进程管理方法 61.2 实用的IP地址处理模块IPy 71.2.1 IP地址、网段的基本处理 81.2.2 多网络计算方法详解 91.3 DNS处理模块dnspython 111.3.1 模块域名解析方法详解 111.3.2 常见解析类型示例说明 121.3.3 实践:DNS域名轮循业务监控 14第2章 业务服务监控详解 172.1 文件内容差异对比方法 172.1.1 示例1:两个字符串的差异对比 172.1.2 生成美观的对比HTML格式文档 192.1.3 示例2:对比Nginx配置文件差异 192.2 文件与目录差异对比方法 212.2.1 模块常用方法说明 212.2.2 实践:校验源与备份目录差异 252.3 发送电子邮件模块smtplib 272.3.1 smtplib模块的常用类与方法 272.3.2 定制个性化的邮件格式方法 282.3.3 定制常用邮件格式示例详解 292.4 探测Web服务质量方法 342.4.1 模块常用方法说明 352.4.2 实践:实现探测Web服务质量 36第3章 定制业务质量报表详解 393.1 数据报表之Excel操作模块 393.1.1 模块常用方法说明 413.1.2 实践:定制自动化业务流量报表周报 483.2 Python与rrdtool的结合模块 503.2.1 rrdtool模块常用方法说明 513.2.2 实践:实现网卡流量图表绘制 533.3 生成动态路由轨迹图 563.3.1 模块常用方法说明 563.3.2 实践:实现TCP探测目标服务路由轨迹 57第4章 Python与系统安全 604.1 构建集中式的病毒扫描机制 604.1.1 模块常用方法说明 614.1.2 实践:实现集中式的病毒扫描 614.2 实现高效的端口扫描器 644.2.1 模块常用方法说明 644.2.2 实践:实现高效的端口扫描 66第二部分 高级篇第5章 系统批量运维管理器pexpect详解 705.1 pexpect的安装 705.2 pexpect的核心组件 715.2.1 spawn类 715.2.2 run函数 745.2.3 pxssh类 755.3 pexpect应用示例 765.3.1 实现一个自动化FTP操作 765.3.2 远程文件自动打包并下载 77第6章 系统批量运维管理器paramiko详解 796.1 paramiko的安装 796.2 paramiko的核心组件 816.2.1 SSHClient类 816.2.2 SFTPClient类 826.3 paramiko应用示例 856.3.1 实现密钥方式登录远程主机 856.3.2 实现堡垒机模式下的远程命令执行 856.3.3 实现堡垒机模式下的远程文件上传 88第7章 系统批量运维管理器Fabric详解 917.1 Fabric的安装 917.2 fab的常用参数 927.3 fabfile的编写 937.3.1 全局属性设定 937.3.2 常用API 947.3.3 示例1:查看本地与远程主机信息 957.3.4 示例2:动态获取远程目录列表 967.3.5 示例3:网关模式文件上传与执行 977.4 Fabric应用示例 987.4.1 示例1:文件打包、上传与校验 987.4.2 示例2:部署LNMP业务服务环境 997.4.3 示例3:生产环境代码包发布管理 101第8章 从“零”开发一个轻量级WebServer 1048.1 Yorserver介绍 1048.1.1 功能特点 1048.1.2 配置文件 1058.2 功能实现方法 1068.2.1 HTTP缓存功能 1078.2.2 HTTP压缩功能 1118.2.3 HTTP SSL功能 1118.2.4 目录列表功能 1148.2.5 动态CGI功能 114第9章 集中化管理平台Ansible详解 1189.1 YAML语言 1199.1.1 块序列描述 1209.1.2 块映射描述 1209.2 Ansible的安装 1219.2.1 业务环境说明 1219.2.2 安装EPEL 1229.2.3 安装Ansible 1229.2.4 Ansible配置及测试 1229.2.5 配置Linux主机SSH无密码访问 1239.3 定义主机与组规则 1249.3.1 定义主机与组 1249.3.2 定义主机变量 1259.3.3 定义组变量 1259.3.4 分离主机与组特定数据 1269.4 匹配目标 1279.5 Ansible常用模块及API 1279.6 playbook介绍 1329.6.1 定义主机与用户 1329.6.2 任务列表 1339.6.3 执行playbook 1349.7 playbook角色与包含声明 1359.7.1 包含文件,鼓励复用 1359.7.2 角色 1369.8 获取远程主机系统信息:Facts 1419.9 变量 1429.9.1 Jinja2过滤器 1439.9.2 本地Facts 1439.9.3 注册变量 1449.10 条件语句 1459.11 循环 1469.12 示例讲解 147第10章 集中化管理平台Saltstack详解 15510.1 Saltstack的安装 15610.1.1 业务环境说明 15610.1.2 安装EPEL 15610.1.3 安装Saltstack 15610.1.4 Saltstack防火墙配置 15710.1.5 更新Saltstack配置及安装校验 15710.2 利用Saltstack远程执行命令 15810.3 Saltstack常用模块及API 16110.4 grains组件 16610.4.1 grains常用操作命令 16710.4.2 定义grains数据 16710.5 pillar组件 17010.5.1 pillar的定义 17110.5.2 pillar的使用 17310.6 state介绍 17410.6.1 state的定义 17410.6.2 state的使用 17510.7 示例:基于Saltstack实现的配置集中化管理 17710.7.1 环境说明 17710.7.2 主控端配置说明 17710.7.3 配置pillar 17910.7.4 配置state 18010.7.5 校验结果 183第11章 统一网络控制器Func详解 18511.1 Func的安装 18611.1.1 业务环境说明 18611.1.2 安装Func 18611.2 Func常用模块及API 18911.2.1 选择目标主机 19011.2.2 常用模块详解 19011.3 自定义Func模块 19411.4 非Python API接口支持 19811.5 Func的Facts支持 199第12章 Python大数据应用详解 20212.1 环境说明 20212.2 Hadoop部署 20312.3 使用Python编写MapReduce 20712.3.1 用原生Python编写MapReduce详解 20812.3.2 用Mrjob框架编写MapReduce详解 21212.4 实战分析 21612.4.1 示例场景 21612.4.2 网站访问流量统计 21712.4.3 网站HTTP状态码统计 21912.4.4 网站分钟级请求数统计 22012.4.5 网站访问来源IP统计 22112.4.6 网站文件访问统计 222第三部分 案例篇第13章 从零开始打造B/S自动化运维平台 22613.1 平台功能介绍 22613.2 系统构架设计 22713.3 数据库结构设计 22813.3.1 数据库分析 22813.3.2 数据字典 22813.3.3 数据库模型 22913.4 系统环境部署 23013.4.1 系统环境说明 23013.4.2 系统平台搭建 23013.4.3 开发环境优化 23313.5 系统功能模块设计 23513.5.1 前端数据加载模块 23513.5.2 数据传输模块设计 23713.5.3 平台功能模块扩展 240第14章 打造Linux系统安全审计功能 24514.1 平台功能介绍 24514.2 系统构架设计 24614.3 数据库结构设计 24714.3.1 数据库分析 24714.3.2 数据字典 24714.4 系统环境部署 24814.4.1 系统环境说明 24814.4.2 上报主机配置 24814.5 服务器端功能设计 25214.5.1 Django配置 25214.5.2 功能实现方法 253第15章 构建分布式质量监控平台 25615.1 平台功能介绍 25615.2 系统构架设计 25715.3 数据库结构设计 25815.3.1 数据库分析 25815.3.2 数据字典 25815.3.3 数据库模型 25915.4 系统环境部署 26015.4.1 系统环境说明 26015.4.2 数据采集角色 26015.4.3 rrdtool作业 26115.5 服务器端功能设计 26315.5.1 Django配置 26315.5.2 业务增加功能 26415.5.3 业务报表功能 266第16章 构建桌面版C/S自动化运维平台 26916.1 平台功能介绍 26916.2 系统构架设计 27016.3 数据库结构设计 27116.3.1 数据库分析 27116.3.2 数据字典 27216.3.3 数据库模型 27216.4 系统环境部署 27316.4.1 系统环境说明 27316.4.2 系统环境搭建 27316.5 系统功能模块设计 27416.5.1 用户登录模块 27416.5.2 系统配置功能 27516.5.3 服务器分类模块 27716.5.4 系统升级功能 28016.5.5 客户端模块编写 28416.5.6 执行功能模块 28716.5.7 平台程序发布 289三、前言 为什么要写这本书   随着信息时代的迅速发展,尤其是互联网日益融入大众生活,作为这一切背后的IT服务支撑,运维角色的作用越来越大,传统的人工运维方式已经无法满足业务的发展需求,需要从流程化、标准化、自动化去构建运维体系,其中流程化与标准化是自动化的前提条件,自动化的最终目的是提高工作效率、释放人力资源、节约运营成本、提升业务服务质量等。我们该如何达成这个目标呢?运维自动化工具的建设是最重要的途径,具体包括监控、部署变更、安全保障、故障处理、运营数据报表等。本书介绍如何使用Python语言来实现这些功能点,以及Python在我们的自动化运维之路上发挥作用,解决了哪些运维问题等。   为什么是Python?Python是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年年底发明,具有简单易学、开发效率高、运行速度快、跨平台等特点,尤其是具有大量第三方模块的支持,其中不乏优秀的运维相关组件,例如Saltstack、Ansible、Func、Fabric等。大部分运维人员为非专业开发人士,对他们而言,选择一门上手快、技术门槛低的开发语言非常重要。由于Python具有脚本语言的特点,学习资源多,社区非常活跃,且在Linux平台默认已安装等优势。Python已经是当今运维领域最流行程的开发语言之一。   2003年毕业后,我的第一份工作是当PHP程序员,人力紧张时还要兼顾美工的工作。时常回想,其实也只有在小公司才能修炼出“十八般武艺”。在“非典”肆虐的岁月,大部分公司都闭门不招聘,一个毕业生能有这样的机会锻炼也显得尤为珍贵。工作中一次偶然的机会看到导师诗成兄在黑漆漆的界面中输入不同指令,第一感觉非常震撼,很酷,联想到《黑客帝国》电影中的画面,与之前接触到的Windows系统完全不一样,后来才晓得是Redhat 9(红帽9)。此后很长的一段时间里,整个人完全沉醉在Linux的世界里,处于一种痴迷的状态,那时我还是一个程序员。   到了2005年10月,看到隔壁公司招聘一名Linux系统工程师,抱着试一试的心态去面试,结果出乎意料,我被录用了,这样我就找到了第二个东家—天涯社区。人生的第一个转折点在此酝酿,由于赶上了公司快速发展的阶段,接触到了很多开源技术,包括LVS、Squid、Haproxy、MongoDB、MySQL、Cfengine等,并且不断在生产环境中应用所学的技术,取得了非常不错的效果,重点业务的高可用持续保持在99.99%。期间新的问题也陆续出现,包括如何更好整合各类开源组件,发挥其最大效能,以及如何高效运营。不可否认,具有开发背景的运维人员有着先天优势,可以在不同角色之间进行思考,扩大视野。期间我参与了推动大量标准化、规范化的建设,以此为前提,开发了“SDR1.0-Linux主机集中管理”、“天涯LVS管理系统”、“天涯服务器管理系统(C/S与B/S版)”、“服务器机柜模拟图平台”、“Varnish缓存推送平台V1.0”等平台,这些平台在很大程度上改变了运维人员手工作坊式的工作模式。在释放人力的同时,我看到国内其他公司的同仁也在做同样的事情,突然间有一个想法,就是开源。此时已经是2009年,这个想法也得到系统部经理小军认可,同年12月陆续在code.google.com平台托管,让业界更深入了解天涯社区的技术架构。凭着这些作品及分享的技术文章,我的博客“运维进行时”(http://blog.liuts.com/)荣获了“2010年度十大杰出IT博客”的殊荣。我还先后参与了51CTO、IT168、CU等门户网站以架构、运维为主题的专访,在运维圈得到越来越多同仁的认同。   再谈谈如何与Python结缘。接触Python是从《简明Python教程》开始,由于我有Perl与PHP的基础,学习Python没有太大压力。事实上,Python的简洁、容易上手以及大量第三方模块等特点,深深吸引了我,让我第二次沉醉于知识的海洋。我很快深入学习了Func、Django框架、SQLAlchemy、BeautifulSoup、Pys60、wxPython、Pygame、wmi等经典模块,同时将所学知识应用到运维体系中,解决在工作中碰到的问题。例如,开发的“多节点应用延时监控平台”解决了多运营商网络环境下的业务服务质量监控问题;开发的“Varnish&Squid缓存推送平台”解决了快速刷新缓存对象的问题。再例如,删除敏感帖子的时效性要求非常高,需要在后台触发删除后立即生效,与缓存推送平台对接后很好地解决了这一问题;天涯服务器管理系统(C/S、B/S、移动版)实现自助、智能、多维度接入,提高了运维效率,减少了人工误操作,释放了人力资源,同时标准化与流程化得到技术保障与实施落地。   天涯社区是我个人职业生涯的培育期,让我重新审视自我,明确了未来的规划与定位。2011年9月是我职业生涯的成长期的开始,加盟了腾讯,负责静态图片、大游戏下载业务CDN的运维工作,接触到庞大的用户群、海量的资源(设备、带宽、存储)、世界级的平台、人性化的工作氛围以及大量优秀的同事。所有的这些都深深地吸引着我,也让我的视野与工作能力得到前所未有的提升。分工细化产生运维工作模式的差异,从“单兵作战”转向“集团军作战”。我继续保持着对新技术的狂热,思考如何使用Python在运维工作中发挥作用。工作期间研究了大量高级组件,包括Paramiko、Fabric、Saltstack、Ansible、Func等,这些组件有了更高级的封装,强大且灵活,贴近各类业务场景。我个人也基于Python开发了集群自动化操作工具—yorauto,在公司各大事业群广泛使用,同时入选公司精品推荐组件。我的部分个人发明专利使用Python作为技术实现。目前我也关注大数据发展趋势,研究Python在大数据领域所扮演的角色。   回到主题“为什么要写这本书”,这一点可以从51CTO对我的专访中找到答案。当时的场景是这样的:   51CTO:您对开源是如何理解的?天涯社区在过去两年间陆续开源了包含LVS管理系统、Varnish缓存推送平台、高性能数据引擎memlink等好几个项目,业内人士对此都十分关注,您认为这给整个产业带来了哪些好处?身为天涯社区的一位运维人员,您认为在这个过程中自己的价值在哪里?   刘天斯:开源就是分享,让更多人受益的同时自己也在提高。经常看到很多朋友都在做监控平台、运维工具。事实上功能惊人相似,大家都在做重复的工作,为什么不能由一个人开源出来,大家一起来使用、完善呢。这样对整个行业来讲,这块的投入成本都会降低,对个体来讲也是资源的整合。如果形成良性循环,行业的生态环境将会有很大程度的改善。本人热衷于开源技术,同样也愿意为开源贡献自己一分微薄之力,希望更多的人能支持开源、参考开源。   这就是我的初衷,也是答案。写书的意义在于将10年的工作沉淀、经验、思路方法做个梳理与总结,同时与大家分享。最终目的是为每个渴望学习、进步、提升的运营人员提供指导。   读者对象   系统架构师、运维人员   运营开发人员   Python程序员   系统管理员或企业网管   大专院校的计算机专业学生   如何阅读本书   本书分为三大部分。   第一部分为基础篇(第1~4章),介绍Python在运维领域中的常用基础模块,覆盖了系统基础信息、服务监控、数据报表、系统安全等内容。 .  第二部分为高级篇(第5~12章),着重讲解Python在系统运维生命周期中的高级应用功能,包括相关自动化操作、系统管理、配置管理、集群管理及大数据应用等内容。   第三部分为案例篇(第13~16章),通过讲解4个不同功能运维平台案例,让读者了解平台的完整架构及开发流程。   说明:   书中的代码以“【路径】”方式引用,测试路径为“/home/test/模块”、“/data/www/项目”。   书中涉及的所有示例及源码的Github地址为https://github.com/yorkoliu/pyauto,以章节名称作为目录层次结构,模块及项目代码分别存放在对应的章节目录中。   其中第三部分以接近实战的案例来讲解,相比于前两部分更独立。如果你是一名经验丰富Linux管理员且具有Python基础,可以直接切入高级篇。但如果你是一名初学者,请一定从基础篇开始学习。本书不涉及Python基础知识,推荐新手在线学习手册:《简明Python教程》 与《深入Python: Dive Into Python中文版》。   勘误和支持   由于笔者的水平有限,且编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为此,特意创建一个在线支持与应急方案问答站点:http://qa.liuts.com。你可以将书中的错误发布到“错误反馈”分类中,同时如果你遇到任何问题或有任何建议,也可以在问答站点中发表,我将尽量在线上提供最满意的解答。我也会将及时更新相应的功能更新。如果你有更多的宝贵意见,欢迎发送邮件至邮箱liutiansi@gmail.com,期待能够得到你们的真挚反馈。   致谢   首先要感谢Guido大神,是他创立了Python语言,同时也要感谢提供Python优秀第三方模块的所有作者,开源的精神与力量在他们身上体现得淋漓尽致。   感谢钟总、王工、诗成兄,是他们给予我第一份工作,也为个人此后的成长提供了非常多的指导。感谢天涯社区的邢总(968)、王总(建科)、小军,是他们提供了这么优秀的平台,让我有机会可以尽情施展才能,体现个人价值。感谢腾讯的Willim(崔晓春)、Tomxiao(肖志立)、Thundersun(孙雷)、Stanleysun(孙龙君)、Trackynong(农益辉)、Chanceli(李飞宏)、Blue(许明)导师,以及接入运维组(TEG)、数据管理组(IEG)所有兄弟姐妹在工作中给予的帮助、指导与支持,让我可以在新的环境继续突破自我,实现自我价值。感谢洪春兄(抚琴煮酒)的引荐,在他的努力下才促成了这本书的合作与出版。   感谢机械工业出版社的编辑杨福川和姜影,在这一年多的时间中始终支持我的写作,他们的鼓励和帮助引导我能顺利完成全部书稿。   感谢已经过世的爷爷,是他深深影响着我的人生观与价值观,他的教导我会永远铭记在心。感谢我的爸爸、妈妈,感谢他们将我培养成人,在成长的过程中不断鼓励、激励我继续前进。感谢姐姐、弟弟,他们是我成长过程中最好的挚友与伙伴。   最后感谢我的爱人杜海英,没有你就没有我们幸福的小家和可爱的宝宝。感谢她支持我做的所有决定,没有她背后默默的支持与鼓励,也没有我今天的成就,更也不会有这本书。我想说:谢谢你!有你真好。   谨以此书献给我最亲爱的家人与我自己,以及众多热爱开源技术的朋友们!   刘天斯(Yorkoliu) 四、简介本书在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵、深和实践角度探讨Python在运维领域应用的著作;另一方面本书的作者是中国运维领域的“偶像级”人物,本书是他在天涯社区和腾讯近10年工作经验的结晶.因为作者实战经验丰富,所以能高屋建瓴、直指痛处,围绕Python自动化运维这个主题,不仅详细介绍了系统基础信息、服务监控、数据报表、系统安全等基础模块,而且深入讲解了自动化操作、系统管理、配置管理、集群管理及大数据应用等高级功能.最重要的是,完整重现了4个来自实际生产环境的不同功能运维平台的综合案例,展示了完整的平台架构及开发流程。全书一共16章:基础篇(第1~4章)详细介绍了系统基础信息、业务服务监控、定制业务质量报表、系统安全等基础和常用模块;高级篇(第5—12章)深入讲解了批量运维管理器pexpect、paramiko、Fabric,集中化管理平台Ansible、Saltstack,统一网络控制器Func等高级功能,涵盖自动化操作、系统管理、配置管理、集群管理及大数据应用等主题;案例篇(第13—16章)详细介绍了4个来自不同平台的运维案例,如何从零开始打造—个B/S自动化运维平台、如何打造Linux系统安全审计功能、如何构建分布式质量监控平台、如何构建桌面版C/S自动化运维平台,这个案例均来自实际生产环境。 五、作者介绍刘天斯 中国运维领域的偶像级人物,从事系统运维工作近10年,现就职于腾讯,担任高级系统工程师,负责腾讯CDN的运维工作;曾就职于天涯社区,担任架构师兼高级系统工程师。热衷开源技术的研究,包括系统架构、运维开发、负载均衡、缓存技术、数据库、分布式存储及云计算等领域,擅长大规模集群的运维工作。崇尚“技术让工作变得更简单”的理念,开发并维护着”天涯LVS管理系统”、“天涯服务器管理系统”、”在线图片处理平台”、”Varnish缓存推送平台”等7个开源项目.对Python如何在运维中发挥作用进行了深入研究,而且在腾讯内部开展了大量实践,基于Python开发了集群自动化操作工具yorauto,在腾讯各大事业群广泛使用,同时入选公司精品推荐组件。 曾多次荣获新浪技术、51CTO和ITUB等社区评选的”博客专家”称号。个人运维着博客“运维进行时”(http://biog.liuts.com/index.php),从2007年至今,笔耕不辍,坚持分享自己在运维领域的经验和智慧.拥有发明专利4项。 六、推荐理由国运维领域偶像级专家、腾讯高级系统工程师在天涯社区和腾讯近10年运维实践的经验和智慧结晶不仅详尽介绍了服务监控、数据报表、系统安全等基础模块,深入讲解了自动化操作、系统管理、配置管理、集群管理及大数据应用等高级功能。七、媒体评价  市面上介绍互动的、面向对象的Python编程语言的书有很多,其强大而又灵活的特性,使其成为很多企图通过工具来实现工作(半)自动化的运营同学的首选。更难得的是,本书作者以其在腾讯游戏运营的工作经验,辅以大量实际的案例来讲述了他是如何使用Python来解决诸如监控、安全、订制报表和大数据应用等问题,以及构建一个自动化运维的平台来提升运维工作效率,值得一看。   ——腾讯互动娱乐运营部副总经理崔晓春   《Python自动化运维:技术与最佳实践》是结合刘天斯先生超过十年,在互联网行业“天涯在线”及“腾讯”等的工作经验,实际贴近工作应用场景所撰写的书籍,没有浮夸的文藻修饰,只有实际的落地执行和动手操做,可以作为大家在工作中的工具书。   全书以系统信息的了解、采集、监控,以及信息良好地输出为开头,以提升个人工作效率的基础运维工具为承接,再深入介绍集中化管理海量机器、系统的方案,并且搭配实际的例子进行介绍,相信能够覆盖读者的大部分应用场景需求,也能够给予读者相关领域的入门指引。   刘天斯先生的精神也是很值得推广和赞赏的,在繁忙的工作之余,能够思考、总结,并且能够以文字的方式与更多的人分享和传承,是除了书籍本身之外,我学习到的重要收获。   腾讯互动娱乐运营部数据中心总监孙龙君   在移动互联和大数据时代,无论是出于对效率的追逐,还是应对海量规模运维,自动化运维都是企业的必然选择。Python因为具有简单、灵活、功能强大和适合脚本处理等优点,在运维领域被广泛使用,让很多运维工程师从烦琐的日常工作中解放出来。   天斯是运维领域的资深专家,在互联网行业工作多年,不仅具备解决各种运维难题的强大能力,拥有多项专利,还开发过多个运维利器,非常受欢迎。本书是国内第一本讲述Python如何应用在自动化运维领域的著作,是基于天斯对Python自动化运维的深入研究,以及在海量互联网实战经验中总结提炼而来,具有高度可读性和实战价值。   ——腾讯架构平台部运维服务中心总监孙雷   刘天斯和我相识于腾讯,期间我正在负责腾讯云平台相关工作。腾讯有一个优良的新员工培养体系,那就是导师制度。有幸作为天斯的导师,让我接触并逐渐深入了解天斯。所以当天斯找到我为本书写推荐语时,我欣然应允,因为共事期间天斯给我留下了深刻的印象。时至今日,在中国的互联网企业里,我认为天斯都是最优秀的架构师之一。   天斯来腾讯工作之前,在中国著名的天涯社区负责整个社区的运维工作,经历了天涯社区从Windows平台到开源架构的大改造,因此对B/S相关产品的技术架构和细节非常熟悉;而天斯又是一个在技术输出领域非常活跃的人,自己维护的技术博客荣获2010年度十大杰出IT博客,在中国互联网技术领域小有名气。   记得来腾讯不到两个星期,天斯就向我提交了一份关于腾讯业务自动化运维的技术文档,从业务的部署到监控再到容灾等,都理解得较为深刻。这份输出文档让我眼前一亮,当时第一感觉是这个典型的在生活中不善言辞的IT男,一定对云计算中的自动运维管理有独到的思维和沉淀。   Python语言作为获得2010年度编程大奖的语言,具备诸多优点:简单、开源、速度快、可移植性强、可扩展性强、面对对象、具备丰富的库等;更可贵的是,作为“胶水语言”,可以把Python嵌入C/C++程序等,从而向程序用户提供脚本功能。   本书从互联网业务自动运维的场景出发,以Python语言为基础,总结了大量的实战案例,这些都是作者在十余年的大型互联网运维工作中的宝贵经验,相信会给读者带来不少的启发。   更难能可贵的是,作者能从通俗易懂的角度出发,由浅入深地剖析Python自动运维管理之道。因此,目前Python水平处于各种层次的读者均能有效地阅读和吸收,各取所需。   最后,感谢天斯能给中国互联网从业者带来这么好的分享,感谢我们的老东家——中国互联网的黄埔军校——腾讯培养了一批又一批的杰出架构师。   开卷有益,我想应该就是指的此类书籍吧。   ——微赢宝创始人许明   “Operation”,运维在互联网时代一直有着举足轻重的地位,而近两年运维本身这个群体也变得强大起来,最为显著的特征就是运维人员所出的书越来越多,而都以“专”、“精”为卖点。这也是作为一名运维人员值得骄傲的地方。   伴随着“云时代”、“物联网”的到来,无论数据,还是服务器规模都达到了空前的庞大,企业对运维工作人员的要求也由之前的运维维护转为“DevOps”,即研发型运维;在这个充满挑战的时代,任何一个岗位都需要保持持续学习的状态,而运维更不例外。 八、封面【当当】 http://product.dangdang.com/23593858.html【京东】 http://item.jd.com/11571426.html【亚马逊】 http://www.amazon.cn/%E5%9B%BE%E4%B9%A6/dp/B00P5VKZWW【天猫】 http://detail.tmall.com/item.htm?spm=a1z10.3.w4011-7555161747.28.SgDdii&id=42141530490&rn=3a7da8b28eea552fb6ebb6ed43ab024d&abbucket=18【China-pub】 http://product.china-pub.com/3804188
 0    0  617天前
快速发帖高级模式
Powered by 虎佩中国
© 2012-2020 HuPei.net
您的IP:18.232.146.10,2020-11-29 20:54:08,Processed in 0.03161 second(s).
Powered by HuPei.net
免责声明:本站内容均来自网络,如有侵权请联系站长删除,一切后果概不负责!