推广101:初学者指南,了解推广背后的原理和策略

信途科技 新闻资讯 8 0

了解推广背后的原理和策略

推广是告知潜在客户你的产品或服务的过程。它涉及一系列策略和技术,旨在吸引受众的兴趣并让他们采取所需的行动,例如购买、注册或下载。

进行有效的推广活动需要理解其背后的基本原理和策略。以下是初学者需了解的一些关键概念:

目标受众

你的推广活动应该针对特定的目标受众,即最有可能对你的产品或服务感兴趣的人群。确定目标受众需要考虑人口统计数据(如年龄、性别、位置)、兴趣和行为。

信息传递

你的推广信息必须清楚、简洁且引人注目。它应该传达你的价值主张并激励受众采取行动。考虑使用强有力的号召性用语(CTA)来指导受众采取所需的下一步。

渠道

有各种渠道可用于推广你的产品或服务,包括:

  • 搜索引擎优化 (SEO)
  • 付费广告
  • 社交媒体营销
  • 电子邮件营销
  • 内容营销

选择合适的渠道很重要,这取决于你的目标受众和预算。

分析

跟踪和分析你的推广活动至关重要,以便了解哪些策略有效,哪些需要改进。使用分析工具来收集有关受众参与度、转化率和投资回报率的数据。

初学者策略

以下是一些适合初学者的推广策略:

  • 优化你的网站:确保你的网站在搜索引擎上排名靠前,并提供良好的用户体验。
  • 启动内容营销活动:创建有价值且信息丰富的博客文章、视频和信息图表,以吸引受众并建立信任。
  • 利用社交媒体:建立活跃的社交媒体形象,分享相关内容并与受众互动。
  • 尝试付费广告:在 Google AdWords 或社交媒体平台上投放广告可以快速提升你的可见度。
  • 进行电子邮件营销:创建电子邮件列表并发送引人入胜且个性化的电子邮件,以培养潜在客户和促进销售。

结论

推广是企业成功的关键方面。通过了解推广背后的原理和策略,你可以制定有效的活动,吸引受众并实现你的业务目标。从初学者策略开始,不断跟踪和分析你的结果,并根据需要进行调整。

记住,推广是一个持续的过程,需要持续的努力和关注。通过实施最佳实践和不断改进,你可以建立强大的推广策略,推动你的业务不断发展。

了解更多有关推广的资源


在线web界面设计-如何设计网站——对Web设计的一点总结

网页web设计应该如何排版?

反差

浅蓝色背景上的淡粉色文字,可能与你的T恤相配,但读起来不太好。 文本存在以供阅读;确保它与实现这一目标的背景有足够的对比。 如果你一直对对比度不确定,那就对你的页面进行屏幕转储,打开你的图像编辑软件,并将图像降到灰度。 你很快就会看到你是否有足够的对比。

层次性

更改类型大小是区分内容的最佳方法之一。 颜色和漂亮的方框可能会有帮助,但不同大小的字体,在整个页面中一致使用,会向读者发出响亮而清晰的信号,告诉读者页面元素的相对重要性。 这也意味着,如果你的读者很匆忙,他们可以迅速挑选出重要的部分--这可能意味着他们停留更长时间并继续阅读。

空间

让你的类型呼吸。 不要害怕在页面中留下空白。 这负或白色空间将有助于将注意力集中在文本上--而这是最响亮的文本,所以让它被听到。 接下来,请记住线高属性;一个好的经验法则是行间距,即至少140%的文本大小。 好的类型设计师将大量的精力投入到位于字体内部的微型白色空间中。 他们花了数不清的时间试图在黑色和它所包围的负面或空白之间取得平衡。 同样,我们应该花时间考虑宏空白,即形成文本块的“空白”。

关于网页web设计应该如何排版,青藤小编就和您分享到这里了。 如果您对页面排版、网站设计、图像处理等有浓厚的兴趣,希望这篇文章可以对您有所帮助。 如果您还想了解更多关于平面设计的素材及技巧等内容,可以点击本站的其他文章进行学习。

以上是小编为大家分享的关于

网页web设计应该如何排版?

环球青藤

分享更多干货

网页web设计应该如何排版?

反差

浅蓝色背景上的淡粉色文字,可能与你的T恤相配,但读起来不太好。 文本存在以供阅读;确保它与实现这一目标的背景有足够的对比。 如果你一直对对比度不确定,那就对你的页面进行屏幕转储,打开你的图像编辑软件,并将图像降到灰度。 你很快就会看到你是否有足够的对比。

层次性

更改类型大小是区分内容的最佳方法之一。 颜色和漂亮的方框可能会有帮助,但不同大小的字体,在整个页面中一致使用,会向读者发出响亮而清晰的信号,告诉读者页面元素的相对重要性。 这也意味着,如果你的读者很匆忙,他们可以迅速挑选出重要的部分--这可能意味着他们停留更长时间并继续阅读。

空间

让你的类型呼吸。 不要害怕在页面中留下空白。 这负或白色空间将有助于将注意力集中在文本上--而这是最响亮的文本,所以让它被听到。 接下来,请记住线高属性;一个好的经验法则是行间距,即至少140%的文本大小。 好的类型设计师将大量的精力投入到位于字体内部的微型白色空间中。 他们花了数不清的时间试图在黑色和它所包围的负面或空白之间取得平衡。 同样,我们应该花时间考虑宏空白,即形成文本块的“空白”。

关于网页web设计应该如何排版,青藤小编就和您分享到这里了。 如果您对页面排版、网站设计、图像处理等有浓厚的兴趣,希望这篇文章可以对您有所帮助。 如果您还想了解更多关于平面设计的素材及技巧等内容,可以点击本站的其他文章进行学习。

以上是小编为大家分享的关于

网页web设计应该如何排版?

环球青藤

分享更多干货

如何设计网站——对Web设计的一点总结

在最近的工作中,遇到了导航的问题,无意中发现了找出了收藏已久的《别让我思考》,花了一周时间读了两遍,才清楚的理解导航对于一个产品的重要作用。 也更加印证了产品圈中将用户当做小白的理论,其实并不是在产品设计中将一切都为用户标注出来,而是让用户能够通过自己的方式更加轻松的使用产品,这样的产品对于用户来说必定是不言而喻的,也就是主题“别让我思考”。 下面是这次读书的笔记,虽然这本书给我很大的启发,但是一切需要归于实践,在实践中验证这个理论。

一、指导原则

第一章:别让我思考---_捎眯缘谝欢_

web设计的终极法则:别让我思考,即看到一个界面应该是_谎远_,_荒苛巳_,_晕医馐_。

强迫我们思考的地方:(1)酷炫的名字或技术名词。(2)看起来不太明显的按钮和链接

当思考时,需要权衡,权衡应该更倾向于“显而易见”,而不行hi需要额外的思考

每个需要思考的地方会加重用户的认知负担,把用户的注意力从要完成的任务上拉开

访问网站时不需要思考的事都有什么?

我在什么位置?

该从哪里开始?

他们把xx放在什么地方?

这个项目上最重要的是什么?

为什么他们给它取这个名字?

如果做不到让一个页面不言而喻,那么至少应该让它自我解释

当浏览网站遇到问题时,用户会认为是自己的错误,而不会责怪网站

如果要让网页有效,它们必须在用户第一眼看到时将自己展示出来,而要做到这一点,最好的方法是创建不言而喻的网页,或者至少是自我解释。

第二章:我们实际上是如何使用Web的---__,满意即可,勉强应付

事实1--_颐遣皇窃亩,而是扫描,寻找能吸引用户注意力的文字或词语(除新闻故事,报告,产品描述界面)

为什么扫描?

(1)我们总是处于忙碌之中---_褂_eb是想节约时间

(2)我们知道自己不必阅读所有内容---_罢腋行巳せ蚴滞返娜挝裣喙氐哪谌

(3)我们善于扫描---_钕肮,找感兴趣的内容

用户在网页上看到什么却决于想看到什么,通常为页面的一小部分内容

吸引注意力的文字和短语是什么?

(1)与手头任务有关的

(2)我们当前或接下来的个人兴趣

事实2---_颐遣蛔髯罴蜒≡,而是满意即可

用户大多数时间不会选择最佳选项,而是选择第一个合理的选项---_獠呗

为什么不寻找最佳选择?

(1)我们总是处于忙碌之中---_罴巡呗允奔渚,满意策略效率高

(2)如果猜错了,也不会产生什么严重的后果

(3)对选择进行权衡并不会改善我们的机会

(4)猜测更有意思---_虏獠换嵯袢ê饽敲蠢,猜对了,可能看到意外的内容

事实3---_颐遣皇亲犯康,而是勉强应付

勉强应付不仅限于初学者,技术专家也会在理解事物的工作原理上有着惊人的误会

原因是什么?

(1)这对我们来说并不重要---_靼资挛锕ぷ骰撇⒉恢匾

(2)如果发现某个事物能用,我们会一直使用它---_绻龅礁玫姆椒,会用好的方法,但是很少主动寻找更好的方法

如果用户明白网站,而不是勉强应付的作用

(1)用户更容易找到自己需要的东西,对用户和网站都好

(2)用户更容易理解你的网站有哪些服务---_唤鼋鍪怯没_既豢吹降

(3)引导用户看到你希望他们看到的内容(网站上)

(4)在你的网站上,用户会感到掌控全局,并逐渐成为老用户

第三章:广告牌设计101法则---__枭杓,不为阅读设计

吸引用户的5个重要方面(为下方2-6部分内容)

在每个页面上建立清楚的视觉层次

尽量利用习惯用法

把页面划分成明确定义的区域

明显标识可以点击的地方

最大限度降低干扰

建立清楚的视觉层次

视觉层次清楚的页面的特点

(1)越重要的部分越突出

(2)逻辑上相关的部分在视觉上也相关

(3)逻辑上包含的部分在视觉上进行嵌套

一个页面没有清楚的视觉层次,用户会降低扫描页面的速度,会寻找关键的文字和短语,然后拼凑出感觉重要的内容和内容的组织方式,这样会增加工作量

习惯用法是你的好帮手

web的习惯用法

(1)它们非常有用---_实笔褂孟肮哂梅,让用户访问更容易,减少额外学习工作原理ide成本

(2)设计师通常不愿意利用它们

如果不打算使用习惯用法,需要的做法:

a.必须确定你在使用一种同样清楚、同样不言而喻,没有学习曲线的方法

b.带来很大的价值

把页面划分成明确定义的区域

明显标识可以点击的地方

降低视觉噪声

噪声的分类

(1)眼花缭乱---_械男畔⒍枷胛没У哪抗,没有突出点

(2)背景噪声---_趁婷挥幸桓龅胤交嵩斐晒指扇,但是这些很小的噪声太多会惹人厌烦

第四章:动物、植物、无机物---_裁从没_不段扌杷伎嫉难≡

真正的问题不是到达目标之前要点击的次数,而是每次点击有多难,需要多少思考,多大的不确定性来判断自己是否在进行正确的选择

关键:如果用户需要一直在网络上进行选择,那么让这些选择变得无需思考是让一个网站容易使用的原因

第五章:省略不必要的文字---_灰_eb上写作的艺术

有力的文字都很简练。句子里不应该有多余的文字,段落中不应该有多余的句子

去掉没人看的文字的优点有哪些?

可以降低页面的噪声

让有用的内容更加突出

让页面简洁,让用户在每个页面上以言就能看见更多的内容,而不必滚动屏幕

需要去掉的文字是_队_和_甘舅得

二、必须正确处理的几个方面

第六章:街头指示牌和面包屑---_杓频己

如果在网站上找不到方向、人们不会使用你的网站

网络导航101法则

你通常是为了寻找某个目标

你会决定先询问还是先浏览

如果选择刘兰兰,你将通过标志的引导再层次结构中穿行

最后,如果找不到想要的东西,你会离开

web与生活从空间角度来看的不同点

感觉不到大小

感觉不到方向

感觉不到位置

用户使用Web导航是因为需要得知自己当前的位置

导航的用途---_远准挠猛

帮助我们找到想要的任何东西

告诉我们现在身处何处

导航给了用户一些固定的感觉,让用户感到脚踏实地

导航的其他用途---_缓鍪拥挠猛

导航告诉我们当前的位置---_嫠咄居行┦裁,导航表现了内容,导航站点比告诉我们位置更重要

导航告诉我们如何使用网站---_幽睦锟,如何进行选择

导航给了用户对网站建造者信心

Web导航的习惯用法

网站ID

栏目

实用工具

下一级栏目

页面名称

页面导航(当前这一层的内容)

小字体版的底端导航

持久导航(或全局导航):来描述出现在网站每个页面的一组导航元素

持久导航应在在整个网站保持一致,使用户只需要了解一次就够了,减少学习成本

持久导航的五个元素

站点ID

回首页的方式(Home)

搜索的方式

栏目

实用工具

主页和表单_恍枰褂贸志玫己

主页:承担一些不同的任务,遵守一些不同的承诺,所以不需要使用持久导航

表单:在填写表单的页面,持久导航会产生干扰

如何设计Web导航各元素(表格下方为示例-_锹硌)

导航元素名称

细节点

站点ID

1.在Web上需要在每个页面都能看到网站的名称---_趁_D,通常在左上或靠近左上

2.网站ID代表整个网站,也就是说在当前站点结构中层次最高

3.站点ID如何出现在页面可视层次的首要位置

(1)让网站站点成为本页最显眼的内容

(2)让网站ID涵盖页面所有其他元素

4.站点ID需看起来像一个站点ID---__ogo

栏目

1.栏目(或称主导航条)是到达站点主要栏目的链接,结构的最顶层

2.大部分情况,持久导航也包括二级导航(当前栏目的下一级栏目清单)的显示位置

实用工具

实用工具是到达网站中不属于内容层次的重要元素的链接

返回主页Home

1.返回主页(Home)的按钮需要始终可见,给用户一种随时可以从新开始的感觉

的用法

(1)在栏目或使用工具清单中包含一个回到主页的链接

(2)在主页之外的站点ID上小心地加上Home的字样,让用户知道点击它

搜索

1.避免混淆的方法

(1)花哨的用字

(2)指示说明

(3)选项---_∠钚聪吕

2.需要对低层次导航给予足够的重视(三级导航)

页面名称

1.页面名称的注意事项

(1)每个页面都需要一个名称

(2)页面名称要出现在合适的位置

(3)名称引人注目

(4)名称要和点击的链接一致

指示器

(1)在旁边放置一个指示器

(2)改变文字的颜色

(3)使用粗体

(4)按钮反白

(5)改变按钮的颜色

2.告诉用户你所在的站点层级结构的前后关系(在网页中的位置)

层级菜单

2.层级导航的最佳实践方式

(1)将它们放在最顶端

(2)使用“>”对层级进行分隔

(3)使用小字体(表明是一种补充机制)

(4)使用了文字“你在这里”

(5)将最后一个元素加粗

(6)不需要把它们用作_趁婷

标签

1.为什么标签做导航是一个上佳的选择

(1)它们不言而喻

(2)它们很难错过(视觉上与众不同)

(3)它们灵活

(4)它们暗示了一个物理的空间

2.注意事项

(1)正确绘制---_せ畹谋昵┮吃谄渌昵┮持

(2)颜色编码---_岣吖刈⒍

示例

如何评判一个网站设计的好

这是什么网站?(站点ID)

我在哪个网页上?(网页名称)

这个网站的主要栏目有哪些?(栏目清单)

在这个层上我有哪些选择?(本页导航)

我在导航系统的什么位置?(“你在这里”的指示器)

我怎么搜索?(搜索栏)

第七章:首先要承认,主页不由你控制---_杓浦饕

主页主要完成的任务

站点的标识和使命---_嫠哂没д馐鞘裁赐,做什么的

站点层次---_峁┓竦母琶,包括内容,功能,服务是如何组织

搜索

导读---_枰心谌萃平,功能推介

友情链接---_ち艨占浞胖霉愀,交叉推广,品牌合作

快捷方式---_畛7梦实哪谌萜沃档迷谕成戏胖昧唇

注册

主页需要满足的抽象目标

让用户看到自己在寻找东西---_糜糜谙胍娜魏味飨远准

......还有我没有寻找的---_糜没Э吹揭恍┚实哪谌,就算这些内容用户没有寻找

告诉用户从哪开始

建立可信度和信任感

主页的常见约束有哪些

每个人都想占一席之地---_平槟谌莨

想要参与的人太多

一个尺寸要适合所有的人---_毡槭视糜诖笾

主页需要传达整体形象,让用户一眼就能清楚你的网站是说什么的

如何向用户传达网页的整体形象

口号---_拷镜_D的地方,整个网站的描述

欢迎广告---_镜募蛞枋,在主页的首要位置,不需要滚动屏幕就能看到

传达信息的原则

需要多大空间就使用多大空间

但也不要使用过多的空间---_3旨蚨

不要把实名陈述当做欢迎广告

最后的是进行测试

口号的注意事项

好的口号

不好的口号

清楚、言之有物

含混不清

长度适中,易让用户领会表达思想

太笼统

表达出网站特点和显而易见的好处

把口号(传达某种价值主张)和宗旨(表达某种指导原则,某个目标或某个理想)混淆起来

有个性、生动、有时候很俏皮

由于主页独特的职责,通常不必使用持久导航,它们之间的差异

栏目描述---_饕承枰】赡芏嗟谋硐滞衬谌,其他页面不需要

不同的方向---_饕澈推渌趁娌季植煌,主页通常用

用于表示的空间更多---_饕成险镜_D比较大,口号留有空间也较大

让栏目的名称保持不变,同样的顺序、同样的文字和同样的分组,尽可能多地保持视觉提示,同样的字体,颜色和大小写

下拉框存在的问题

用户必须将它们找出来---_匦胝业较吕,才能看到下拉列表

它们难以扫描

不好控制---_吕斜硎账跛俣饶岩钥刂

下拉框对于组织按照字母顺序排列的项目比较有效

下拉框的优点是节约空间

任何共享的资源(共有区域)都会因为过度使用而遭到破坏---_谥饕成显黾痈嗟南钅克玫降牡暮透冻龅牟⒉灰恢,虽然给推荐栏目巨大的访问量,但是让主页变得混乱,所遭受的损失将由所有栏目承担

三、确定你没有做错的几件事

第八章:农场主和牧羊人应该是朋友---_裁_eb设计团队讨论可用性是在浪费时间,如何避免这种情况

由于各自的职位不同,Web团队成员对于好的网站设计的看法不同

通过测试将讨论对错转移到什么有效、什么无效上,测试会让我们看到用户的动机、理解和反应的不同,从而不再让我们坚持用户和我们的想法相同

第九章:一天10美分的可用性测试---_貌馐约虻,这样你能进行充分的测试

焦点小组并不是可用行测试,焦点小组是在项目早期阶段,用来收集用户的意见和感觉

可用性测试主要是希望得到用户是否知道该网站是做什么的,并且能用它完成一项典型任务

测试的作用是什么

如果想建立一个优秀的网站,一定要测试

测试一个用户比不做测试好一倍

在项目中,在点测试一位用户好过最后测试50位用户

人们对招募用户代表的重要性评估过高

测试的关键不是要证明什么或者反驳什么,而是了解你的判断力

测试是一个迭代的过程

没有什么比现场用户的反应更重要

寻找能够反应目标群体的测试用户,但别裹足不前

寻找的测试用户可以和目标群体有差别的理由是什么

差别的原因

例外

实际上,我们都是初学者

如果你的网站几乎只由某一类用户使用,且招募并不难,那就去招募

设计出的网站只有你的目标群体能使用,这通常并不是一个好主意

如果你的目标群体分为几个明显阵营,且各阵营有着完全不同的需求,那你至少要从每个阵营选择用户进行一次测试

专家通常不会介意对初学者来说很清楚的界面

如果使用你的网站需要专业的领域知识,那么你需要在该领域中招募有专业知识的用户

进行招募,需要注意的问题是什么

提供合理的激励

邀请要简单

避免对网站(或网站背后的组织结构)进行预先讨论

别不好意思请朋友帮忙

测试中遇到的问题

用户不清楚概念

用户找不到自己想要的字眼---_居美醋橹谌莸姆掷嗖环嫌没_肮;分类符合习惯但是没有使用他们期望的名字

内容太多---_跎僖趁嫔系母扇;将需要看到的内容涉及的更加醒目

一些关于问题分类指南

问题

行为(用户/主持)说明

正确解决方式

忽略Kayak(皮划艇)问题

1.出现问题的人马上发现自己偏离了原来的主题

2.用户尽量回到原来的方向而不需要帮助

3.这种情况并没有扰乱用户的活动

可以忽略

抵制添加的冲动

增加一些内容,注释,指导说明

去除某个让人混淆的内容

不要太看重用户对新功能的要求

抓住能够的着的果子

1.恍然大悟型

2.便宜型

尽量实现变更

进行变更

只要你进行改变,就要仔细思考它将会影响哪些内容,当你把某些部分调整的更为突出时,想想是不是把其他内容的重要性降低了

四、大的方面和外界影响

第十章:可用性是基本礼貌---_裁茨愕耐居Ω萌萌俗鹁

降低好感度的方式

隐藏我想要的信息

因为没有按照你们的方式行事而惩罚我

向我询问不必要的信息

敷衍我,欺骗我

给我设置障碍

你的网站看上去不专业

提高好感度的方式

知道用户在你的网站上想做什么,并让网站明白简易

告诉用户,他们想知道的

尽量减少步骤

花点心思

(1)保证网站准确有用

(2)产生解决我的问题所需要的信息

(3)网站用清楚的方式表达

(4)组织良好,用户可以轻松找到解决方案

知道用户有哪些疑问,并给予解答

为用户提供协助

容易从错误中恢复

如果不确定,记得道歉

总结

这本书主要讲了Web设计的一些核心的原则,以及用户在使用Web时的心理,并且基于用户的信息,来设计Web的导航和主页。 并且结合实践,在项目中需要不断的进行可行性测试迭代,从而使Web可行。 这样的网站才是一个成功的网站,在符合用户的习惯的基础上,让用户能够自行的解决问题,从而达到网站和用户的目的。

资源类:

大家都知道,学习本身是一个特别耗费时间和财力的事情,但是为了自身发展,却不得不学习,而且现在对于职业教育的课程特别贵,并且专业书籍也是非常贵的。虽然说是投资自己,但是对于生活来说还是较大的开销,因此算是众筹了,毕竟一个课程可能动则几千块,但是我并不贪心,所以分享的课程的价格很低,不会超过5块钱吧,毕竟大家都是为了生活,只希望弥补一点生活压力吧,各位加油吧

链接:在线教育视频课(产品设计)

提取码:afvs

俞军产品方法论:

链接:

提取码:lizk

梁宁产品思维30讲:

嵌入式系统Linux内核开发实战指南的目录

第1部分 嵌入式系统硬件开发第1章 嵌入式系统概述 2这一章对嵌入式系统的概念及其特点和应用作了概括介绍,笔者根据自己多年的经验阐述了对嵌入式系统的理解,并对一些常见的嵌入式处理器的硬件数据进行了比较。 1.1 嵌入式系统概念 21.2 嵌入式处理器 31.3 嵌入式系统应用 41.4 嵌入式系统发展 41.5 一些嵌入式处理器的硬件特性比较 5第2章 ARM处理器概述 16为了使本书内容完整,从第2章到第7章中的内容大部分是笔者阅读《ARM体系结构与编程》(详情参见附录中的参考文献)的笔记和心得,把与嵌入式系统开发和Linux内核密切相关的硬件知识进行了概括和整理,本章主要介绍了ARM处理器的特点、ARM处理器的体系架构版本和ARM处理器系列。 2.1 ARM发展历程 162.2 ARM处理器特点 172.3 ARM处理器应用 172.4 ARM体系架构 182.4.1 ARM体系架构版本 182.4.2 ARM体系架构变种(Variant) 202.4.3 ARM体系架构版本命名格式 222.5 ARM处理器 222.5.1 ARM7系列处理器 232.5.2 ARM9系列处理器 242.5.3 ARM9E系列处理器 242.5.4 ARM10E系列处理器 252.5.5 SecurCore系列处理器 252.5.6 StrongARM处理器 262.5.7 Xscale处理器 26第3章 ARM指令及其寻址方式 27本章主要介绍了ARM处理器的指令和寻址方式以及ARM汇编伪指令,这是做ARM处理器应用系统底层软件开发必备的知识。 3.1 ARM处理器的程序状态寄存器(PSR) 273.2 ARM指令的条件码 283.3 ARM指令介绍 293.3.1 跳转指令 293.3.2 数据处理指令 303.3.3 乘法指令 313.3.4 杂类算术指令 323.3.5 状态寄存器访问指令 323.3.6 Load/Store内存访问指令 333.3.7 批量Load/Store内存访问指令 343.3.8 LDREX和STREX指令 353.3.9 信号量操作指令 373.3.10 异常中断产生指令 373.3.11 ARM协处理器指令 373.4 ARM指令寻址方式 393.4.1 数据处理指令的操作数的寻址方式 393.4.2 字及无符号字节的Load/Store指令的寻址方式 433.4.3 杂类Load/Store指令的寻址方式 473.4.4 批量Load/Store指令的寻址方式 493.4.5 协处理器Load/Store指令的寻址方式 513.4.6 ARM指令的寻址方式总结 523.5 ARM汇编伪操作(Directive) 533.5.1 符号定义伪操作 543.5.2 数据定义伪操作 543.5.3 汇编控制伪操作 563.5.4 栈中数据帧描述伪操作 573.5.5 信息报告伪操作 573.5.6 其他伪操作 583.6 ARM汇编伪指令 593.7 Thumb指令介绍 60第4章 ARM处理器内存管理单元(MMU) 61本章主要介绍了ARM处理器内存管理单元(MMU)的工作原理,Linux内存管理功能是通过处理器硬件MMU实现的,在没有MMU的处理器系统中,Linux只能工作在物理地址模式,没有虚拟(线性)地址空间的概念。 4.1 ARM处理器中CP15协处理器的寄存器 614.1.1 访问CP15寄存器的指令 614.1.2 CP15寄存器介绍 624.2 MMU简介 704.3 系统访问存储空间的过程 714.3.1 使能MMU时的情况 714.3.2 禁止MMU时的情况 714.3.3 使能/禁止MMU时应注意的问题 724.4 ARM处理器地址变换过程 724.4.1 MMU的一级映射描述符 734.4.2 MMU的二级映射描述符 744.4.3 基于段的地址变换过程 754.4.4 粗粒度大页地址变换过程 754.4.5 粗粒度小页地址变换过程 764.4.6 细粒度大页地址变换过程 764.4.7 细粒度小页地址变换过程 774.4.8 细粒度极小页地址变换过程 774.5 ARM存储空间访问权限控制 784.6 TLB操作 794.6.1 使TLB内容无效 794.6.2 锁定TLB内容 794.6.3 解除TLB中被锁定的地址变换条目 804.7 存储访问失效 804.7.1 MMU失效(MMU Fault) 804.7.2 外部存储访问失效(External Abort) 81第5章 ARM处理器的Cache和Write Buffer 82本章主要介绍了ARM处理器高速缓存(Cache)和写缓存(Write Buffer)的工作原理,使读者了解如何提高处理器的性能。 5.1 Cache和Write Buffer一般性介绍 825.1.1 Cache工作原理 825.1.2 地址映像方式 835.1.3 Cache写入方式原理简介 845.1.4 关于Write-through和Write-back 855.1.5 Cache替换策略 865.1.6 使用Cache的必要性 875.1.7 使用Cache的可行性 875.2 ARM处理器中的Cache和Write Buffer 885.2.1 基本概念 885.2.2 Cache工作原理 885.2.3 Cache地址映射和变换方法 895.2.4 Cache分类 905.2.5 Cache替换算法 915.2.6 Cache内容锁定 915.2.7 MMU映射描述符中B位和C位的含义 925.2.8 Cache和Writer Buffer编程接口 935.3 ARM处理器的快速上下文切换技术 945.3.1 FCSE概述 945.3.2 FCSE原理 945.3.3 FCSE编程接口 95第6章 ARM处理器存储访问一致性问题 97本章介绍了在支持MMU、Cache和DMA的系统中可能出现的存储访问一致性问题,以及Linux中解决类似问题的方法。 6.1 存储访问一致性问题介绍 976.1.1 地址映射关系变化造成的数据不一致性 976.1.2 指令cache的数据不一致性问题 986.1.3 DMA造成的数据不一致问题 996.1.4 指令预取和自修改代码 996.2 Linux中解决存储访问一致性问题的方法 99第7章 ARM处理器工作模式与异常中断处理 101本章主要介绍了ARM处理器的工作模式和异常中断处理过程,这是ARM处理器系统启动程序编写者或Bootloader开发人员的必备知识。 7.1 ARM处理器工作模式 1017.2 ARM处理器异常中断向量表和优先级 1037.3 ARM处理器异常中断处理 1047.3.1 进入异常中断处理 1047.3.2 退出异常中断处理 1057.4 ARM处理器的中断(IRQ或FIQ) 109第8章 ARM处理器启动过程 110本章根据笔者的开发经验介绍了ARM处理器系统的启动过程以及编写ARM处理器系统启动程序需要注意的事项。 8.1 ARM处理器上电/复位操作 1108.2 ARM处理器系统初始化过程 1118.3 ARM处理器系统初始化编程注意事项 111第9章 嵌入式系统设计与调试 113本章根据笔者10多年的开发经验介绍了嵌入式系统的设计流程和调试方法,列举了大量笔者工作中碰到的实际案例。 本章内容对于嵌入式系统硬件开发和调试有较高的参考、指导价值。 9.1 嵌入式系统设计流程 1139.2 嵌入式系统硬件原理设计与审核 1149.3 硬件设计工具软件 1179.4 嵌入式系统调试仿真工具 1179.5 嵌入式系统调试诊断方法 118第10章 自制简易JTAG下载烧写工具 123本章根据笔者自己制作简易JTAG线缆的经验,介绍了简易JTAG线缆的硬件原理和软件流程,这是初学者必备的最廉价的工具,必须掌握。 10.1 JTAG简介 .1.1 一些基本概念 .1.2 JTAG接口信号 .1.3 TAP控制器的状态机 .1.4 JTAG接口指令集 .2 简易JTAG线缆原理 .2.1 PC并口定义 .2.2 PC并口的寄存器 .2.3 简易JTAG线缆原理图 .2.4 简易JTAG线缆烧写连接图(见图10-5) .3 简易JTAG烧写代码分析 .3.1 简易JTAG烧写程序(flashp)使用说明 .3.2 flash与CPU连接及flash属性描述文件 .3.3 简易JTAG烧写程序的执行逻辑和流程 138第2部分 Linux内核开发初步第11章 Bootloader 142本章根据笔者的工作经验介绍了流行的几种Bootloader、Bootloader应该具备的基本功能以及Bootloader的裁剪与移植。 11.1 Bootloader的任务和作用 .2 各种各样的Bootloader .3 Bootloader编译环境 .4 Bootloader的移植与裁减 .5 编译Bootloader .6 烧写Bootloader .7 Bootloader使用举例 .8 Bootloader修改举例 149第12章 创建嵌入式Linux开发环境 151本章介绍了如何创建嵌入式系统Linux内核交叉开发环境,本章和后续3章的内容是嵌入式系统Linux内核开发的基础,必须掌握。 12.1 安装Linux host .2 在虚拟机中安装Linux host .3 安装Linux交叉编译环境 .4 在主机上设置TFTP Server .5 在主机上设置DHCP Server .6 在主机上设置Telnet server .7 在开发过程中使用NFS .8 设置超级终端 163第13章 编译Linux内核 166本章介绍了Linux内核的配置和编译方法。 13.1 获取Linux内核源代码 .2 Linux内核目录结构 .3 配置Linux内核 .4 编译Linux内核 168第14章 创建Linux根文件系统 170本章介绍了Linux的根文件系统的结构以及创建根文件系统的方法。 14.1 根文件系统概述 .2 根文件系统目录结构 .3 获取根文件系统组件源代码 .4 编译根文件系统源代码 .5 创建一个32MB的RAMDISK根文件系统 .6 在根文件系统中添加驱动模块或者应用程序 173第15章 固化Linux内核和根文件系统 174本章介绍了固化(烧写)Linux内核和根文件系统的方法。 第16章 关于Clinux 176本章简要介绍了Clinux与标准Linux的区别。 16.1 Clinux简介 .2 Clinux源代码目录结构 .3 Clinux与标准Linux的区别 .4 编译Clinux 179第3部分 Linux 2.6内核原理第17章 Linux 2.6.10@ARM启动过程 182本章以start_kernel()和init()函数中调用到的函数说明的方式,介绍了从Linux汇编代码入口到init内核进程最后调用用户空间init命令的Linux整个启动过程。 本章内容是笔者第一次阅读Linux内核源代码时对这些函数的注释,仅供读者了解start_kernel()和init()函数中调用到的每个函数的大致功能时使用。 17.1 Linux 2.6.10中与ARM处理器平台硬件相关的结构和全局变量 .1.1 相关数据结构 .1.2 相关全局变量 .2 Linux汇编代码入口 .3 Linux汇编入口处CPU的状态 .4 start_kernel()函数之前的汇编代码执行过程 .5 start_kernel()函数中调用的函数介绍 .5.1 lock_kernel()函数 .5.2 page_address_init()函数 .5.3 printk(linux_banner) .5.4 setup_arch(&command_line)函数 .5.5 setup_per_cpu_areas()函数 .5.6 smp_prepare_boot_cpu()函数 .5.7 sched_init()函数 .5.8 build_all_zonelists()函数 .5.9 page_alloc_init()函数 .5.10 printk(Kernel command line: %s\n, saved_command_line) .5.11 parse_early_param()函数 .5.12 parse_args()函数 .5.13 sort_main_extable()函数 .5.14 trap_init()函数 .5.15 rcu_init()函数 .5.16 init_IRQ()函数 .5.17 pidhash_init()函数 .5.18 init_timers()函数 .5.19 softirq_init()函数 .5.20 time_init()函数 .5.21 console_init()函数 .5.22 profile_init()函数 .5.23 local_irq_enable()函数 .5.24 vfs_caches_init_early()函数 .5.25 mem_init()函数 .5.26 kmem_cache_init()函数 .5.27 numa_policy_init()函数 .5.28 calibrate_delay()函数 .5.29 pidmap_init()函数 .5.30 pgtable_cache_init()函数 .5.31 prio_tree_init()函数 .5.32 anon_vma_init()函数 .5.33 fork_init(num_physpages)函数 .5.34 proc_caches_init()函数 .5.35 buffer_init()函数 .5.36 unnamed_dev_init()函数 .5.37 security_init()函数 .5.38 vfs_caches_init(num_physpages)函数 .5.39 radix_tree_init()函数 .5.40 signals_init()函数 .5.41 page_writeback_init()函数 .5.42 proc_root_init()函数 .5.43 check_bugs()函数 .5.44 acpi_early_init()函数 .5.45 rest_init()函数 .6 init()进程执行过程 .6.1 smp_prepare_cpus(max_cpus)函数 .6.2 do_pre_smp_initcalls()函数 .6.3 fixup_cpu_present_map()函数 .6.4 smp_init()函数 .6.5 sched_init_smp()函数 .6.6 populate_rootfs()函数 .6.7 do_basic_setup()函数 .6.8 sys_access()函数 .6.9 free_initmem()函数 .6.10 unlock_kernel()函数 .6.11 numa_default_policy()函数 .6.12 sys_dup()函数 .6.13 execve()函数 302第18章 Linux内存管理 305从本章开始,笔者将带领读者走进神秘的Linux内核世界。 笔者在阅读内核源代码以及两本相关参考书(见参考文献)的基础上,以自己的理解和语言总结概括了Linux内核每个组件的原理。 笔者对与每个内核组件相关的关键数据结构和全局变量作了尽量详尽的说明,并且对核心函数进行了详细注释,在向读者灌输理论知识的同时引导读者自己去阅读、分析Linux内核源代码。 本章讲解了Linux内核第一大核心组件“内存管理”的原理和实现内幕。 18.1 Linux内存管理概述 .1.1 Linux内存管理的一些基本概念 .1.2 内存管理相关数据结构 .1.3 内存管理相关宏和全局变量 .1.4 Linux内存管理的任务 .1.5 Linux中的物理和虚拟存储空间布局 .2 为虚拟(线性地址)存储空间建立页表 .3 设置存储空间的访问控制属性 .4 Linux中的内存分配和释放 .4.1 在系统启动初期申请内存 .4.2 系统启动之后的内存分配与释放 360第19章 Linux进程管理 480本章讲解了Linux内核第二大核心组件“进程管理”的原理和实现内幕。 19.1 进程管理概述 .1.1 进程相关概念 .1.2 进程分类 .1.3 0号进程 .1.4 1号进程 .1.5 其他一些内核线程 .1.6 进程描述符(struct task_struct) .1.7 进程状态 .1.8 进程标识符(PID) .1.9 current宏定义 .1.10 进程链表 .1.11 PID hash表和链表 .1.12 硬件上下文(Hardware Context) .1.13 进程资源限制 .1.14 进程管理相关数据结构 .1.15 进程管理相关宏定义 .1.16 进程管理相关全局变量 .2 进程管理相关初始化 .3 进程创建与删除 .4 进程调度 .4.1 进程类型 .4.2 进程调度类型 .4.3 基本时间片计算方法 .4.4 动态优先级算法 .4.5 交互式进程 .4.6 普通进程调度 .4.7 实时进程调度 .4.8 进程调度函数分析 .5 进程切换 .6 用户态进程间通信 .6.1 信号(Signal) .6.2 管道(pipe)和FIFO(命名管道) .6.3 进程间通信原语(System V IPC) 641第20章 Linux文件管理 651本章讲解了Linux内核第三大核心组件“文件系统”的原理和实现内幕。 20.1 文件系统概述 .1.1 Linux文件管理相关概念 .1.2 Linux文件管理相关数据结构 .1.3 Linux文件管理相关宏定义 .1.4 Linux文件管理相关全局变量 .2 文件管理相关初始化 .3 文件系统类型注册 .4 挂接文件系统 .5 文件系统类型超级块读取 .5.1 get_sb_single()通用超级块读取函数 .5.2 get_sb_nodev()通用超级块读取函数 .5.3 get_sb_bdev()通用超级块读取函数 .5.4 get_sb_pseudo()通用超级块读取函数 .6 路径名查找 .7 访问文件操作 .7.1 打开文件 .7.2 关闭文件 .7.3 读文件 .7.4 写文件 .8 异步I/O系统调用 .9 Linux特殊文件系统 .9.1 rootfs文件系统 .9.2 sysfs文件系统 .9.3 devfs设备文件系统 .9.4 bdev块设备文件系统 .9.5 ramfs文件系统 .9.6 proc文件系统 .10 磁盘文件系统 .10.1 ext2文件系统相关数据结构 .10.2 ext2文件系统磁盘分区格式 .10.3 ext2文件系统的各种文件 .10.4 创建ext2文件系统 .10.5 ext2文件系统的操作方法 .11 关于initramfs .11.1 initramfs概述 .11.2 initramfs与initrd的区别 .11.3 initramfs相关全局变量 .11.4 initramfs被编译链接的位置 .11.5 initramfs文件的生成过程 .11.6 initramfs二进制文件格式说明(cpio格式) .11.7 initramfs二进制文件和列表文件对照示例 .11.8 initramfs利弊 .12 关于initrd .12.1 initrd概述 .12.2 initrd相关全局变量 .13 关于gzip压缩文件 832第21章 Linux模块设计 834本章讲解了Linux内核模块程序与应用程序的区别以及如何编写和加载Linux内核模块程序。 21.1 Linux模块设计概述 .2 Linux的内核空间和用户空间 .3 内核模块与应用程序的区别 .4 编译模块 .5 装载和卸载模块 .6 模块层叠 .7 模块版本依赖 .8 模块编程示例 839第22章 Linux系统异常中断管理 841本章讲解了Linux内核如何管理系统异常中断以及Linux系统调用的实现内幕。 22.1 Linux异常中断处理 .2 指令预取和数据访问中止异常中断处理 .2.1 指令预取中止异常中断处理 .2.2 数据访问中止异常中断处理 .3 Linux中断处理 .3.1 内核模式下的中断处理 .3.2 用户模式下的中断处理 .4 从中断返回 .5 Linux中断管理 .5.1 Linux中断管理相关数据结构与全局变量 .5.2 Linux中断管理初始化 .5.3 安装和卸载中断处理程序 .5.4 使能和禁止中断 .6 Linux系统调用 .6.1 Linux系统调用内核实现过程 .6.2 从系统调用返回 .6.3 Linux系统调用用户程序接口函数 .6.4 Linux系统调用用户接口函数与内核实现函数之间参数传递 899第23章 Linux软中断和工作队列 901本章讲解了Linux内核中的两种延迟处理机制“软中断”和“工作队列”的原理和实现。 23.1 概述 .2 Linux软中断 .2.1 软中断相关数据结构和全局变量 .2.2 软中断初始化 .2.3 软中断的核心操作函数do_softirq() .2.4 软中断看护进程执行函数ksoftirqd() .2.5 如何使用软中断 .3 Linux工作队列 .3.1 Linux工作队列相关数据结构和全局变量 .3.2 Linux工作队列初始化 .3.3 将工作加入到工作队列中 .3.4 工作者进程执行函数worker_thread() .3.5 使用Linux工作队列 931第24章 Linux并发与竞态 933本章讲解了Linux内核同步机制,包括几种锁定技术以及免锁算法。 24.1 并发与竞态概述 .1.1 Linux中的并发源 .1.2 竞态可能导致的后果 .1.3 避免竞态的规则 .2 消除竞态的“锁定”技术 .2.1 信号量(semphore)和互斥体(mutual exclusion) .2.2 读写信号量(rw_semaphore) .2.3 完成量(completion) .2.4 自旋锁(spinlock_t) .2.5 读写自旋锁(rwlock_t) .2.6 使用“锁定”技术的注意事项 .3 消除竞态的非“锁定”方法 .3.1 免锁算法 .3.2 原子操作 .3.3 位操作 .3.4 顺序锁 .3.5 读-复制-更新(Read-Copy-Update,RCU) 954第25章 Linux设备驱动程序 958本章讲解了Linux内核第四大核心组件“设备驱动”的原理和实现内幕。 同时还总结归纳了编写各种设备驱动程序的方法和步骤。 25.1 设备驱动程序概述 .1.1 设备驱动程序组成部分 .1.2 设备号 .1.3 设备文件 .1.4 编写设备驱动程序的关键 .2 字符设备驱动程序 .2.1 字符设备相关数据结构 .2.2 字符设备相关全局变量 .2.3 字符设备驱动程序全局初始化 .2.4 为字符设备分配设备号 .2.5 注册字符设备驱动程序 .2.6 字符设备的操作方法 .2.7 用户对字符设备驱动程序的调用过程 .2.8 如何编写字符设备驱动程序 .2.9 关于TTY设备驱动程序 .2.10 控制台设备驱动程序 .3 块设备驱动程序 .3.1 块设备相关数据结构 .3.2 块设备相关宏定义 .3.3 块设备相关全局变量 .3.4 块设备驱动程序全局初始化 .3.5 为块设备分配主设备号 .3.6 注册块设备驱动程序 .3.7 块设备驱动程序的操作方法 .3.8 调用块设备驱动程序过程 .3.9 I/O调度 .3.10 如何编写块设备驱动程序 .4 网络设备驱动程序 .4.1 网络设备驱动程序概述 .4.2 网络设备相关数据结构 .4.3 网络设备相关宏定义 .4.4 网络设备相关全局变量 .4.5 创建net_device结构 .4.6 注册网络设备 .4.7 网络设备的操作方法 .4.8 网络设备中断服务程序 .4.9 如何编写网络设备驱动程序 .5 PCI设备驱动程序 .5.1 PCI接口定义 .5.2 PCI设备的三个地址空间 .5.3 PCI总线仲裁 .5.4 PCI设备编号 .5.5 如何访问PCI配置空间 .5.6 如何配置PCI设备 .5.7 PCI驱动程序相关数据结构 .5.8 PCI驱动程序相关宏定义 .5.9 PCI驱动程序相关全局变量 .5.10 Bootloader和内核做的事 .5.11 PCI驱动程序注册 .5.12 PCI驱动程序接口函数 .5.13 如何编写PCI驱动程序 1072第4部分 Linux内核开发高级指南第26章 Linux系统参数设置 1076从本章开始的后续章节主要讲解了比较高级或者平时较少关注的Linux内核方面的知识,本章讲解了Linux中的4种系统参数格式和设置方法。 26.1 旗语系统参数(tag) .1.1 与旗语系统参数相关数据结构和全局变量 .1.2 旗语系统参数说明 .1.3 旗语系统参数设置方法 .2 前期命令行设置的系统参数 .2.1 与前期命令行系统参数相关数据结构和全局变量 .2.2 前期命令行设置的系统参数说明 .2.3 前期命令行系统参数设置方法 .2.4 如何添加自己的前期命令行设置的系统参数 .3 老式命令行系统参数 .3.1 与老式命令行系统参数相关数据结构和全局变量 .3.2 老式命令行设置的系统参数说明 .3.3 老式命令行设置的系统参数设置方法 .3.4 如何添加自己的老式命令行设置的系统参数 .4 命令行系统参数 .4.1 与命令行系统参数相关数据结构和全局变量 .4.2 命令行设置的系统参数说明 .4.3 命令行设置的系统参数设置方法 1090第27章 Linux内核调试 1091本章介绍了Linux内核的调试方法。 27.1 打开Linux内核及其各模块自带的调试开关 .2 内核剖析(Profiling) .3 通过打印调试(printk) .3.1 关于printk() .3.2 内核信息级别 .3.3 打印速度限制 .3.4 控制台重定向 .4 使用proc文件系统调试 .5 oops消息 .6 通过跟踪命令strace调试 .7 使用gdb、kdb、kgdb调试 1099第28章 Linux内核移植 1101本章介绍了Linux内核的移植方法。 第29章 Linux内核优化 1104本章介绍了Linux内核的优化方法。 29.1 编译优化 .2 根据CPU特性进行优化 .3 对内核进行裁减 .4 优化系统内存配置 .5 优化系统启动过程以缩减系统启动时间 .6 内存映射优化 .7 工具软件辅助优化 1107第30章 Linux定时器 1109本章介绍了Linux内核的软件定时器。 30.1 定时器相关数据结构 .2 定时器相关宏定义 .3 定时器相关全局变量 .4 定时器和时钟初始化 .5 获取系统时间 .6 延迟函数 .7 与定时器相关系统调用 .8 使用定时器方法 1116第31章 杂项 1117本章介绍了PER_CPU变量以及Linux中的数据类型定义。 31.1 per_cpu变量 .2 Linux中的数据类型定义 1118第32章 编译链接文件说明 1119本章注释了ARM处理器系统中Linux内核的链接文件,以帮助读者了解编译出来的Linux内核各区段在内存中的存放位置。 参考文献 1125

在线web设计-如何设计网站——对Web设计的一点总结

什么是web网站设计

web就是我们说的万维网的意思

就是指互联网

web网页设计,就是特指电脑端看到的那些网站的页面设计(除了电脑端,我们还有一个很大的地方是移动端,就是指手机端。)

注意,只是设计哟。不包括把网站用代码写出来,用代码制作网站的技术是另一个学科

叫做:web前端开发(你看,都叫web什么什么)

如何设计网站——对Web设计的一点总结

在最近的工作中,遇到了导航的问题,无意中发现了找出了收藏已久的《别让我思考》,花了一周时间读了两遍,才清楚的理解导航对于一个产品的重要作用。 也更加印证了产品圈中将用户当做小白的理论,其实并不是在产品设计中将一切都为用户标注出来,而是让用户能够通过自己的方式更加轻松的使用产品,这样的产品对于用户来说必定是不言而喻的,也就是主题“别让我思考”。 下面是这次读书的笔记,虽然这本书给我很大的启发,但是一切需要归于实践,在实践中验证这个理论。

一、指导原则

第一章:别让我思考---_捎眯缘谝欢_

web设计的终极法则:别让我思考,即看到一个界面应该是_谎远_,_荒苛巳_,_晕医馐_。

强迫我们思考的地方:(1)酷炫的名字或技术名词。(2)看起来不太明显的按钮和链接

当思考时,需要权衡,权衡应该更倾向于“显而易见”,而不行hi需要额外的思考

每个需要思考的地方会加重用户的认知负担,把用户的注意力从要完成的任务上拉开

访问网站时不需要思考的事都有什么?

我在什么位置?

该从哪里开始?

他们把xx放在什么地方?

这个项目上最重要的是什么?

为什么他们给它取这个名字?

如果做不到让一个页面不言而喻,那么至少应该让它自我解释

当浏览网站遇到问题时,用户会认为是自己的错误,而不会责怪网站

如果要让网页有效,它们必须在用户第一眼看到时将自己展示出来,而要做到这一点,最好的方法是创建不言而喻的网页,或者至少是自我解释。

第二章:我们实际上是如何使用Web的---__,满意即可,勉强应付

事实1--_颐遣皇窃亩,而是扫描,寻找能吸引用户注意力的文字或词语(除新闻故事,报告,产品描述界面)

为什么扫描?

(1)我们总是处于忙碌之中---_褂_eb是想节约时间

(2)我们知道自己不必阅读所有内容---_罢腋行巳せ蚴滞返娜挝裣喙氐哪谌

(3)我们善于扫描---_钕肮,找感兴趣的内容

用户在网页上看到什么却决于想看到什么,通常为页面的一小部分内容

吸引注意力的文字和短语是什么?

(1)与手头任务有关的

(2)我们当前或接下来的个人兴趣

事实2---_颐遣蛔髯罴蜒≡,而是满意即可

用户大多数时间不会选择最佳选项,而是选择第一个合理的选项---_獠呗

为什么不寻找最佳选择?

(1)我们总是处于忙碌之中---_罴巡呗允奔渚,满意策略效率高

(2)如果猜错了,也不会产生什么严重的后果

(3)对选择进行权衡并不会改善我们的机会

(4)猜测更有意思---_虏獠换嵯袢ê饽敲蠢,猜对了,可能看到意外的内容

事实3---_颐遣皇亲犯康,而是勉强应付

勉强应付不仅限于初学者,技术专家也会在理解事物的工作原理上有着惊人的误会

原因是什么?

(1)这对我们来说并不重要---_靼资挛锕ぷ骰撇⒉恢匾

(2)如果发现某个事物能用,我们会一直使用它---_绻龅礁玫姆椒,会用好的方法,但是很少主动寻找更好的方法

如果用户明白网站,而不是勉强应付的作用

(1)用户更容易找到自己需要的东西,对用户和网站都好

(2)用户更容易理解你的网站有哪些服务---_唤鼋鍪怯没_既豢吹降

(3)引导用户看到你希望他们看到的内容(网站上)

(4)在你的网站上,用户会感到掌控全局,并逐渐成为老用户

第三章:广告牌设计101法则---__枭杓,不为阅读设计

吸引用户的5个重要方面(为下方2-6部分内容)

在每个页面上建立清楚的视觉层次

尽量利用习惯用法

把页面划分成明确定义的区域

明显标识可以点击的地方

最大限度降低干扰

建立清楚的视觉层次

视觉层次清楚的页面的特点

(1)越重要的部分越突出

(2)逻辑上相关的部分在视觉上也相关

(3)逻辑上包含的部分在视觉上进行嵌套

一个页面没有清楚的视觉层次,用户会降低扫描页面的速度,会寻找关键的文字和短语,然后拼凑出感觉重要的内容和内容的组织方式,这样会增加工作量

习惯用法是你的好帮手

web的习惯用法

(1)它们非常有用---_实笔褂孟肮哂梅,让用户访问更容易,减少额外学习工作原理ide成本

(2)设计师通常不愿意利用它们

如果不打算使用习惯用法,需要的做法:

a.必须确定你在使用一种同样清楚、同样不言而喻,没有学习曲线的方法

b.带来很大的价值

把页面划分成明确定义的区域

明显标识可以点击的地方

降低视觉噪声

噪声的分类

(1)眼花缭乱---_械男畔⒍枷胛没У哪抗,没有突出点

(2)背景噪声---_趁婷挥幸桓龅胤交嵩斐晒指扇,但是这些很小的噪声太多会惹人厌烦

第四章:动物、植物、无机物---_裁从没_不段扌杷伎嫉难≡

真正的问题不是到达目标之前要点击的次数,而是每次点击有多难,需要多少思考,多大的不确定性来判断自己是否在进行正确的选择

关键:如果用户需要一直在网络上进行选择,那么让这些选择变得无需思考是让一个网站容易使用的原因

第五章:省略不必要的文字---_灰_eb上写作的艺术

有力的文字都很简练。句子里不应该有多余的文字,段落中不应该有多余的句子

去掉没人看的文字的优点有哪些?

可以降低页面的噪声

让有用的内容更加突出

让页面简洁,让用户在每个页面上以言就能看见更多的内容,而不必滚动屏幕

需要去掉的文字是_队_和_甘舅得

二、必须正确处理的几个方面

第六章:街头指示牌和面包屑---_杓频己

如果在网站上找不到方向、人们不会使用你的网站

网络导航101法则

你通常是为了寻找某个目标

你会决定先询问还是先浏览

如果选择刘兰兰,你将通过标志的引导再层次结构中穿行

最后,如果找不到想要的东西,你会离开

web与生活从空间角度来看的不同点

感觉不到大小

感觉不到方向

感觉不到位置

用户使用Web导航是因为需要得知自己当前的位置

导航的用途---_远准挠猛

帮助我们找到想要的任何东西

告诉我们现在身处何处

导航给了用户一些固定的感觉,让用户感到脚踏实地

导航的其他用途---_缓鍪拥挠猛

导航告诉我们当前的位置---_嫠咄居行┦裁,导航表现了内容,导航站点比告诉我们位置更重要

导航告诉我们如何使用网站---_幽睦锟,如何进行选择

导航给了用户对网站建造者信心

Web导航的习惯用法

网站ID

栏目

实用工具

下一级栏目

页面名称

页面导航(当前这一层的内容)

小字体版的底端导航

持久导航(或全局导航):来描述出现在网站每个页面的一组导航元素

持久导航应在在整个网站保持一致,使用户只需要了解一次就够了,减少学习成本

持久导航的五个元素

站点ID

回首页的方式(Home)

搜索的方式

栏目

实用工具

主页和表单_恍枰褂贸志玫己

主页:承担一些不同的任务,遵守一些不同的承诺,所以不需要使用持久导航

表单:在填写表单的页面,持久导航会产生干扰

如何设计Web导航各元素(表格下方为示例-_锹硌)

导航元素名称

细节点

站点ID

1.在Web上需要在每个页面都能看到网站的名称---_趁_D,通常在左上或靠近左上

2.网站ID代表整个网站,也就是说在当前站点结构中层次最高

3.站点ID如何出现在页面可视层次的首要位置

(1)让网站站点成为本页最显眼的内容

(2)让网站ID涵盖页面所有其他元素

4.站点ID需看起来像一个站点ID---__ogo

栏目

1.栏目(或称主导航条)是到达站点主要栏目的链接,结构的最顶层

2.大部分情况,持久导航也包括二级导航(当前栏目的下一级栏目清单)的显示位置

实用工具

实用工具是到达网站中不属于内容层次的重要元素的链接

返回主页Home

1.返回主页(Home)的按钮需要始终可见,给用户一种随时可以从新开始的感觉

的用法

(1)在栏目或使用工具清单中包含一个回到主页的链接

(2)在主页之外的站点ID上小心地加上Home的字样,让用户知道点击它

搜索

1.避免混淆的方法

(1)花哨的用字

(2)指示说明

(3)选项---_∠钚聪吕

2.需要对低层次导航给予足够的重视(三级导航)

页面名称

1.页面名称的注意事项

(1)每个页面都需要一个名称

(2)页面名称要出现在合适的位置

(3)名称引人注目

(4)名称要和点击的链接一致

指示器

(1)在旁边放置一个指示器

(2)改变文字的颜色

(3)使用粗体

(4)按钮反白

(5)改变按钮的颜色

2.告诉用户你所在的站点层级结构的前后关系(在网页中的位置)

层级菜单

2.层级导航的最佳实践方式

(1)将它们放在最顶端

(2)使用“>”对层级进行分隔

(3)使用小字体(表明是一种补充机制)

(4)使用了文字“你在这里”

(5)将最后一个元素加粗

(6)不需要把它们用作_趁婷

标签

1.为什么标签做导航是一个上佳的选择

(1)它们不言而喻

(2)它们很难错过(视觉上与众不同)

(3)它们灵活

(4)它们暗示了一个物理的空间

2.注意事项

(1)正确绘制---_せ畹谋昵┮吃谄渌昵┮持

(2)颜色编码---_岣吖刈⒍

示例

如何评判一个网站设计的好

这是什么网站?(站点ID)

我在哪个网页上?(网页名称)

这个网站的主要栏目有哪些?(栏目清单)

在这个层上我有哪些选择?(本页导航)

我在导航系统的什么位置?(“你在这里”的指示器)

我怎么搜索?(搜索栏)

第七章:首先要承认,主页不由你控制---_杓浦饕

主页主要完成的任务

站点的标识和使命---_嫠哂没д馐鞘裁赐,做什么的

站点层次---_峁┓竦母琶,包括内容,功能,服务是如何组织

搜索

导读---_枰心谌萃平,功能推介

友情链接---_ち艨占浞胖霉愀,交叉推广,品牌合作

快捷方式---_畛7梦实哪谌萜沃档迷谕成戏胖昧唇

注册

主页需要满足的抽象目标

让用户看到自己在寻找东西---_糜糜谙胍娜魏味飨远准

......还有我没有寻找的---_糜没Э吹揭恍┚实哪谌,就算这些内容用户没有寻找

告诉用户从哪开始

建立可信度和信任感

主页的常见约束有哪些

每个人都想占一席之地---_平槟谌莨

想要参与的人太多

一个尺寸要适合所有的人---_毡槭视糜诖笾

主页需要传达整体形象,让用户一眼就能清楚你的网站是说什么的

如何向用户传达网页的整体形象

口号---_拷镜_D的地方,整个网站的描述

欢迎广告---_镜募蛞枋,在主页的首要位置,不需要滚动屏幕就能看到

传达信息的原则

需要多大空间就使用多大空间

但也不要使用过多的空间---_3旨蚨

不要把实名陈述当做欢迎广告

最后的是进行测试

口号的注意事项

好的口号

不好的口号

清楚、言之有物

含混不清

长度适中,易让用户领会表达思想

太笼统

表达出网站特点和显而易见的好处

把口号(传达某种价值主张)和宗旨(表达某种指导原则,某个目标或某个理想)混淆起来

有个性、生动、有时候很俏皮

由于主页独特的职责,通常不必使用持久导航,它们之间的差异

栏目描述---_饕承枰】赡芏嗟谋硐滞衬谌,其他页面不需要

不同的方向---_饕澈推渌趁娌季植煌,主页通常用

用于表示的空间更多---_饕成险镜_D比较大,口号留有空间也较大

让栏目的名称保持不变,同样的顺序、同样的文字和同样的分组,尽可能多地保持视觉提示,同样的字体,颜色和大小写

下拉框存在的问题

用户必须将它们找出来---_匦胝业较吕,才能看到下拉列表

它们难以扫描

不好控制---_吕斜硎账跛俣饶岩钥刂

下拉框对于组织按照字母顺序排列的项目比较有效

下拉框的优点是节约空间

任何共享的资源(共有区域)都会因为过度使用而遭到破坏---_谥饕成显黾痈嗟南钅克玫降牡暮透冻龅牟⒉灰恢,虽然给推荐栏目巨大的访问量,但是让主页变得混乱,所遭受的损失将由所有栏目承担

三、确定你没有做错的几件事

第八章:农场主和牧羊人应该是朋友---_裁_eb设计团队讨论可用性是在浪费时间,如何避免这种情况

由于各自的职位不同,Web团队成员对于好的网站设计的看法不同

通过测试将讨论对错转移到什么有效、什么无效上,测试会让我们看到用户的动机、理解和反应的不同,从而不再让我们坚持用户和我们的想法相同

第九章:一天10美分的可用性测试---_貌馐约虻,这样你能进行充分的测试

焦点小组并不是可用行测试,焦点小组是在项目早期阶段,用来收集用户的意见和感觉

可用性测试主要是希望得到用户是否知道该网站是做什么的,并且能用它完成一项典型任务

测试的作用是什么

如果想建立一个优秀的网站,一定要测试

测试一个用户比不做测试好一倍

在项目中,在点测试一位用户好过最后测试50位用户

人们对招募用户代表的重要性评估过高

测试的关键不是要证明什么或者反驳什么,而是了解你的判断力

测试是一个迭代的过程

没有什么比现场用户的反应更重要

寻找能够反应目标群体的测试用户,但别裹足不前

寻找的测试用户可以和目标群体有差别的理由是什么

差别的原因

例外

实际上,我们都是初学者

如果你的网站几乎只由某一类用户使用,且招募并不难,那就去招募

设计出的网站只有你的目标群体能使用,这通常并不是一个好主意

如果你的目标群体分为几个明显阵营,且各阵营有着完全不同的需求,那你至少要从每个阵营选择用户进行一次测试

专家通常不会介意对初学者来说很清楚的界面

如果使用你的网站需要专业的领域知识,那么你需要在该领域中招募有专业知识的用户

进行招募,需要注意的问题是什么

提供合理的激励

邀请要简单

避免对网站(或网站背后的组织结构)进行预先讨论

别不好意思请朋友帮忙

测试中遇到的问题

用户不清楚概念

用户找不到自己想要的字眼---_居美醋橹谌莸姆掷嗖环嫌没_肮;分类符合习惯但是没有使用他们期望的名字

内容太多---_跎僖趁嫔系母扇;将需要看到的内容涉及的更加醒目

一些关于问题分类指南

问题

行为(用户/主持)说明

正确解决方式

忽略Kayak(皮划艇)问题

1.出现问题的人马上发现自己偏离了原来的主题

2.用户尽量回到原来的方向而不需要帮助

3.这种情况并没有扰乱用户的活动

可以忽略

抵制添加的冲动

增加一些内容,注释,指导说明

去除某个让人混淆的内容

不要太看重用户对新功能的要求

抓住能够的着的果子

1.恍然大悟型

2.便宜型

尽量实现变更

进行变更

只要你进行改变,就要仔细思考它将会影响哪些内容,当你把某些部分调整的更为突出时,想想是不是把其他内容的重要性降低了

四、大的方面和外界影响

第十章:可用性是基本礼貌---_裁茨愕耐居Ω萌萌俗鹁

降低好感度的方式

隐藏我想要的信息

因为没有按照你们的方式行事而惩罚我

向我询问不必要的信息

敷衍我,欺骗我

给我设置障碍

你的网站看上去不专业

提高好感度的方式

知道用户在你的网站上想做什么,并让网站明白简易

告诉用户,他们想知道的

尽量减少步骤

花点心思

(1)保证网站准确有用

(2)产生解决我的问题所需要的信息

(3)网站用清楚的方式表达

(4)组织良好,用户可以轻松找到解决方案

知道用户有哪些疑问,并给予解答

为用户提供协助

容易从错误中恢复

如果不确定,记得道歉

总结

这本书主要讲了Web设计的一些核心的原则,以及用户在使用Web时的心理,并且基于用户的信息,来设计Web的导航和主页。 并且结合实践,在项目中需要不断的进行可行性测试迭代,从而使Web可行。 这样的网站才是一个成功的网站,在符合用户的习惯的基础上,让用户能够自行的解决问题,从而达到网站和用户的目的。

资源类:

大家都知道,学习本身是一个特别耗费时间和财力的事情,但是为了自身发展,却不得不学习,而且现在对于职业教育的课程特别贵,并且专业书籍也是非常贵的。虽然说是投资自己,但是对于生活来说还是较大的开销,因此算是众筹了,毕竟一个课程可能动则几千块,但是我并不贪心,所以分享的课程的价格很低,不会超过5块钱吧,毕竟大家都是为了生活,只希望弥补一点生活压力吧,各位加油吧

链接:在线教育视频课(产品设计)

提取码:afvs

俞军产品方法论:

链接:

提取码:lizk

梁宁产品思维30讲:

链接:

提取码:tr7i

增长黑客:

链接:

提取码:dpm3

web网页设计都有哪些就业方向?

1、内容往重度化方向发展。 在用户对页面交互能力和Web前端拓展功能的要求提高之际,轻度营销的市场份额会逐渐降低,往重度营销内容转化。

2、网页游戏往交互游戏方向发展。 网页游戏未来更有可能结合Web前端优良的通信功能,往跨屏互动等交互特征更明显的形式发展。

3、垂直领域解决方案往在线应用方向发展。 与Web前端行业密切相关的垂直行业主要包括在线教育、电商和流媒体三种类型。

4、传媒业往内容直接填充方向发展。 新媒体内容能通过应用母版进行编辑,用户只需后期进行图文内容的替换,因此很有可能成为传媒业转型的契机。

标签: 推广101 初学者指南 了解推广背后的原理和策略

抱歉,评论功能暂时关闭!