网站代码中存在一些不容忽视的标签,这些标签对于网站的发展至关重要,不仅利于增加网站权重,还可以提升关键词排名。那么大家都知道有哪些标签吗?下面主要谈谈利于SEO优化的四大标签。 H标签 H标签包括H1—H6这六个标签,其中H1标签最能体现文章标题大小字号属性,当我们建设网站的时候,在内容页的标题上增加H1标签就可以了,不要修改它的字体大小,因为H1标签的字体大小已经设置好了。H1标签在网站优化中起着十分重要的作用,H1标签可以集中这个页面的权重,让搜索引擎知道这个页面的主要内容,更重要的是可以表达出内容的中心思想,让搜索引擎更方便地确认页面的主题是什么,提升网站对搜索引擎的友好度。 nofollow标签 nofollow是链接的HTML标签属性,站长可以通过这个属性来告诉搜索引擎不要追踪此网页上的链接或者不要追踪某个指定的链接,这些链接并不是本网站所推荐的。引用nofollow标签的目的是:用于指示搜索引擎不要追踪(即抓取)网页上的带有nofollow属性的任何出站链接,以减少垃圾链接的分散网站权重。nofollow可以辅助站长更好地引导站内权重的流向,这样就可以更好地优化网站的内链结构。 加粗标签 加粗标签是最常用的字体样式之一。那么给文字加粗有什么用呢?给文字加粗就是对这个词进行强调,让搜索引擎知道我们主要优化哪些关键词。粗体标签在突出内容方面所起的作用仅次于标题标签,使用标签的锚文本关键词确实能够给网站带来比较好的排名,但是一篇文章内建议放置不超过3个以上的加粗标签。 Alt标签 Alt标签也是很重要的,特别是有大量的图片的网站。alt标签是在IMG标签中的,这个标签的作用是表达这张图片的意思。现在的网站都有着大量的图片,这都是根据网民的喜好来进行的,在网站内容上添加一些图片可以提高网民的阅读兴趣,从而提升用户体验,更有效地吸引用户的眼球。alt标签就是让搜索引擎能识别图片的内容,可以提升对搜索引擎的友好度,而且除了友好度之外,图片还可以被百度收录,提高图片的排名,进而提高网站关键词的排名和转化率,所以说网站优化中alt标签是不可少的。 观点:标签运用是网站推广者必备的知识之一。我们在运用标签时应该站在用户的角度,注意每一个优化的细节,以达到最佳的优化效果。建议大家对网站的标签做一个全面的检查,方便日后对标签进行调整,帮助我们提高网站在搜索引擎中的排名。
网页设计(网站技术) 网页设计(web design,又称为Web UI design,WUI design,WUI),是根据企业希望向浏览者传递的信息(包括产品、服务、理念、文化),进行网站功能策划,然后进行的页面设计美化工作。作为企业对外宣传物料的其中一种,精美的网页设计,对于提升企业的互联网品牌形象至关重要。 网页设计一般分为三种大类:功能型网页设计(服务网站&B/S软件用户端)、形象型网页设计(品牌形象站)、信息型网页设计(门户站)。设计网页的目的不同,应选择不同的网页策划与设计方案。 网页设计的工作目标,是通过使用更合理的颜色、字体、图片、样式进行页面设计美化,在功能限定的情况下,尽可能给予用户完美的视觉体验。高级的网页设计甚至会考虑到通过声光、交互等来实现更好的视听感受。 网页设计主要以Adobe产品为主,常见的工具包括FW、PS、FL、DW、CDR、AI等,其中DW是代码工具,其他是图形图像和FL动画工具。还有最近几年Adobe新出的EdgeReflow、EdgeCode、Muse。
我们在推广网站时经常会利用H1标签来增加优化效果。H1标签是一级标题的意思,使用这个标签的文字将会以最大字体展现在网页上,可以起到着重强调的作用,可以引起搜索引擎的侧重,在搜索引擎访问网页进行抓取时,H1标签的内容作为强调部分更容易被抓去。今天笔者就跟大家分享一下如何在网站中正确使用H1标签? 1、网站首页,列表页,分类页,h1要分配给网站名称或给带alt标签的logo使用,用以强调网站名称。h2标签用来定义“站点副标题”。如果没有副标题,h2标签最好也空着,以备不时之需。H3标签用来定义导航栏目名称,H4标签用来定义文章列表标题,但大多数内容系统,文章列表输出用UL标签,所以<4可能就派不上用场,这里只是以此类推。 2、文章内容页中,h1一定要用在文章标题上,因为对于搜索引擎来说,内容就是他追求的目标,所以我们要把搜索引擎直接领到我们的文章标题。其它的h标签依次类推。 3、H1标签最好用在H2-H6之前,并且一个页面只用一次,不要一直用。有些站点在一个页面大量的使用,甚至出现了几十次,看到关键词就用,觉得可以增强效果,其实不然。H1可以用但不要泛滥,我们是有效的堆砌而不是胡乱的强塞。合理的使用H1标签可以给网站带来好的效果,而使用的不恰当会给网站带来不利影响,严重的甚至会导致K站。 4、H1标签尽量靠近在html中的body标签,越近越好,以便让搜索引擎最快的找到主题。从上面的例子就可以发现H1标签都在body代码的最前面,为什么?因为搜索引擎的抓取就是从上而下来的,这样可以让H1标签强调的关键词最快被发现。 5、H1标签中使用的关键词,应该是页面最主要的关键词或品牌词,并且应该是在网页标题中使用的关键词。H2-H6根据这个原理逐级递减,从一般关键词到长尾关键词,从长尾关键词到标题,不过一般H3以后就用得比较少了,因为H1代表最重要的,H6代表相对最不重要的,再者越到后面意义越来越小。 6、当不想将H1标签用在LOGO上并且网页主要的关键词在后面的时候,如果还是想加H1标签并且想H1标签的关键词靠前,可以利用DIV+CSS布局来调整主关键词的位置,这样也不会影响页面效果。 总之,H1标签在整个网页应该是表现得越自然越好。 H1标签就像一把锋利的双刃剑,不一定要去用,但是不用它时你会感觉自己在优化的过程中吃亏了,明明是很有作用。但是滥用H1标签的时候你也会吃亏,结果却是不如不用。所以在网站优化的过程中,H1标签要么不用,要用你就好好的用,合理的用。
编者按:这篇文章以名站 Inside 作为实例,分析了网站里的排版阅读体验,然后作者给出了一个改良过的方案,效果的确大不一样。南宁网站建设公司推荐给网页设计师们的干货,值得学习! 文字层级经常在交互设计中被忽视。无论如何,要建立一套成功的用户流程,在项目流程之初就得将文字纳入考虑。 文字层级在沟通中扮演着重要角色,将用户引向期望中的结果,还能改善用户体验。网页应用总有繁复的文字层级,区分不够鲜明。各级文字相互较劲,使用户不知所措、迷失其中。 新闻头条应用 Inside.com 就是个很好的例子,反映了不清晰的文字层级如何影响用户体验。在“all updates”中,新闻逐条展示。每条包含了7个文字层级(下图)。分类名(1)、标题(2)、标题链接(3)、正文链接(4)、正文(5)、网站链接(6)、发布时间(7),由于没有被清晰地区分开,它们全都在争相吸引用户注意。这种模棱两可的层级,使每则故事都不易阅读,阻滞了用户交互流程。 假如花更多心思在文字层级上,Inside.com会受益良多 为了更好地区分文字的层级,你需要对用户希望如何剖析信息有所了解。在缺乏可用性测试的情况下,我可以假设用户第一眼会看到标题,然后阅读正文,接下来如果他们感兴趣,则会点击网站链接。 很快,我重新设计了第一篇文章,优化了文字的层级。增大了标题的字号,将它剥离出正文,把正文改为中灰色,将网站链接放在正文下方,并加大了行高,增加易读性。 快速重设计 这些改变有助于区分文字层级,随后便提升了用户体验。 前后对比 从结构的角度看,还能使整体层级更加清晰。记住文字只是一种元素(尽管通常是最重要的),对导航条、图片位置、文章排列进行重新设计,也能提升用户体验。
提高用户体验最好的方向,就是尽力让用户切实地体会到整个操作流程的简单顺畅。要提高登录流程的用户体验,有很多方面的因素是需要设计师考虑的。这篇文章中,我们将主要讨论一下登录界面流程优化的5个细节。我们会从两种不同的登录类型着手,一直说到标识的重要性。 登录类型 目前,有两种主要的登录类型,一种是通过在网站本身注册登录,第二种是使用第三方社交网络帐号,诸如Google、Facebook、新浪微博等等。目前很多应用程序都采用第二种登录方式,设计师和开发者只需要做好登录按钮和接口就好了。 相对传统的处理方式,通常需要你设置用户名、电子邮箱和密码。而这种登录流程是可以优化的,所以接下来的5条策略就与此有关。虽然两种登录方式各有优劣,但是今天主要探讨的是传统登录方式的优化。 1、使用电子邮件登录 传统的注册流程中,不设置用户名还是很正常的,而Email通常是必填的项目,当然,两者都用是比较常见的情况。我想说的是,允许填写用户名的地方,应该也支持Email输入。 我曾碰到过同时支持用户名和Email登录的输入框,但是标注只写了“用户名”,这是典型的设计败笔。 问题在于,在不同的网站,用户通常使用一个Email注册,但是用户名各不相同。如果仅仅只能使用用户名登录的话,用户体验明显不够方便。 2、明显的错误提醒 当用户登录的时候,系统监测和反馈信息的方式也是非常值得深究的。当用户输入错误的时候,系统反馈的信息太多可能会给黑客盗号的机会,而反映信息太少的话,则会让用户感到迷惑。 我们很清楚,用户输入错误的时候,系统返回给用户的信息是“无效输入(Invalid input)”肯定是没多大意义的。你必须用更通俗的语言来告诉用户,他们的输入有错误。 如果你想提供更好的用户体验,不妨使用JavaScript来帮助用户来验证信息。这样做最完美的例子就是手机输入法的纠错功能,当你输入“.con”的时候,输入法会自动纠正成“.com”,或者提供用户纠错的机会。当用户输入错误以及因为输入错误再次输入的时候,不妨提供准确的说明信息,合理引导用户。这不仅让用户更轻松,也能节省时间。 3、加上“忘记密码?”链接 你可能认为加上“忘记密码?”的功能是一件理所当然的功能,但是确实有些网站忽略了它。“忘记密码”链接和登录框一样重要,不要隐藏这个链接,也不要让用户耗尽心神才能找到它。让它时刻为用户准备着。它无需放在显眼的地方,但是它应该紧靠着用户登录表单,以备不时之需。 4、让用户专注于登录 通常,登录框会以弹出框的形式存在,或者以单独的登录页面而存在。无需跳转页面就完成登录确实有其优势,但如果你考虑到页面中其他元素对于用户的干扰之时,你就应该清楚单独登录页面的必要性。你要向用户展现内容、推荐商品,让用户登录之后再进行更流畅不是吗?当用户进行注册、结帐的时候,通常都是单独页面,让用户专注做一件事情,那么这种设定理当延伸到登录界面。相比于复杂的内容页,登录页面的内容更少,加载更快,这也是单独登录页面的优势。 5、标识很重要 不管什么时候,都不要在提交信息的按钮上标注“提交”或者“完成”,而应该用“登录”。这很简单。对于用户而言,这会让用户明白他们的操作和预期是一致的,尽管对于系统而言这种行为就是提交信息。 不仅如此,在登录框中标明“输入用户名或者邮箱”,避免使用占位符或者其他的容易让用户迷惑的标识。这些都是增强用户体验的重要组成部分。 结语 细节影响体验,决定成败。这5项确实是细微末节,但是要做好登录框的设计需要将这些因素都考虑进去。在做好这些设定的基础上,再打磨视觉,会让你的网站体验再上一个层次。
设计要点 编辑 网页设计的两大要点是:整体风格和色彩搭配。 确定网站整体风格 在这里,我提供给大家一些参考经验: 1.将你的标志logo,尽可能的放在每个页面上最突出的位置。 2.突出你的标准色彩。 3.总结一句能反映贵站精髓的宣传标语! 4.相同类型的图像采用相同效果,比如说标题字都采用阴影效果,那么在网站中出现的所有标题字的阴影效果的设置应该是完全一致的! 网站的整体风格及其创意设计是最难以学习的,难就难在没有一个固定的模式可以参照和模仿。给你一个主题,任何两人都不可能设计出完全一样的网站。 R、G、B就是Red、Green、Blue(红,绿,蓝)三种颜色,RGB模式就是由这三种颜色为基色进行叠加而模拟出大自然色彩的色彩组合模式。我们日常用的彩色电脑显示器、彩色电视机等的色彩都使用这种模式。 1、 矢量图 矢量图又叫做向量图,是用一系列计算机指令来描述和记录一幅图,一幅图可以解为一系列由点、线、面等到组成的子图,它所记录的是对象的几何形状、线条粗细和色彩等。生成的矢量图文件存储量很小,特别适用于文字设计、图案设计、版式设计、标志设计、计算机辅助设计(CAD)、工艺美术设计、插图等。矢量图只能表示有规律的线条组成的图形,如工程图、三维造型或艺术字等; 常见的矢量图处理软件有CoreIDRAW、AutoCAD、Illustrator和FreeHand等。 2、位图 位图又叫点阵图或像素图,计算机屏幕上的图你是由屏幕上的发光点(即像素)构成的,每个点用二进制数据来描述其颜色与亮度等信息,这些点是离散的,类似于点阵。 位图在放大到一定限度时会发现它是由一个个小方格组成的,这些小方格被称为像素点,一个像素是图像中最小的图像元素。也就是我们俗称的马赛克。 bmp:是未经过压缩的用点阵来表示的真彩图片,占用磁盘空间较大 gif:是经过压缩的,只能表示256种颜色,占用磁盘空间小,常用来演示色彩单一的成块的卡通图案,GIF还有一种可以表示连续的动画。 png:是fireworks的图片格式 jpg:也称为jpeg,是有损压缩格式但是它表示的颜色比较丰富,一般用来显示真彩的照片或图案。 作为设计者和客户(这里指各站长),如果事先没有明文协议的话设计者有权不提供源文件。 VI是Visual Identity的缩写,中文译为“企业视觉识别”。VI是CI计划的静态识别符号,是企业理念视觉化传达的载体,因此它项目最多,效果最为直接。VI作为视觉识别,它是外在表现,固然需要具有美感,但VI必须是MI的体现,直接反映企业的理念。因此VI设计包含这样一些原则:即充分传达企业理念、人性原则、民族性原则、简洁抽象及动态原则、员工参与原则、法律原则、艺术性原则和个性原则。 CI是Corporate Identity的缩写,中文译为“企业形象”。CI计划,是指企业有目的、有计划、战略性地创造出所希望的自身形象,由此提高企业的社会知名度,最终得到自己最适合的经营环境。 而logo只是网站或企业一个标志。
扁平化设计是2014年最值得关注的10大网页设计流行趋势之一,比如在今年的iOS7中明显感到更加简化的图表替代了原本精致的描绘,更加突出应用的实际效果,反应使用应用的感受,而不是局限在某个应用的外在形象上。苹果公司在今年竭力推进扁平化设计,几乎所有可以修改的设计都加入了扁平化的元素。 扁平化设计从2012年开始就已经流行起来,我觉得flat design有点类似极简主义设计,同样是追求简洁、简约,不同的是,扁平化设计是一项运用简单效果,或者是刻意进行一个不使用三维效果的设计方案。一个好的扁平化设计必然不可能出现阴影、浮雕和渐变等效果。 扁平化设计看上去非常简单、直观,并且使用方便,所以在手机界面和网页设计中变得越来越受欢迎。 让我们来学习一下,如何进行扁平化设计吧。 确定色彩基调 扁平化设计并不局限于某种色彩基调,它可以使用任何色彩。但是大多数的设计师都倾向于使用大胆鲜艳的颜色。 那么,如何让扁平化设计在色彩上与众不同呢?设计师正在不断地增加色彩层次,将原本的一两个层次层加到三个、四个甚至更多。这些色彩的亮度和饱和度大都非常高。 在进行扁平化设计时,传统的色彩法则就不适用了,转而以彩虹色这种流行色来进行配色。 扁平化设计一般都有特定的设计法则,比如利用纯色,采用复古风格或是同类色。但并不是说这是唯一的选择,而是这种方式已经成为一种流行的趋势,也更加受大家欢迎。 纯色 提到扁平化设计的色彩,纯色一定首当其冲地出现在我们脑海里,因为它带来了一种独特的感受。纯粹的亮色往往能够与明亮的或者灰暗的背景形成对比,以达到一种极富冲击力的视觉效果。所以说,在进行扁平化设计时,纯色绝对是最受欢迎的色彩趋势。 从哪里开始? 前面设计达人网分享过Metro的配色方案,而 FlatUIColors.com将扁平化设计中最受欢迎的色彩进行了一个整理,从宝蓝和草绿到明黄和橘黄色,这些色彩概括出了我们现在能够看到的色彩趋势。这个网站将是进行扁平化设计的第一步,因为你能够免费下载任何你看中的色彩。 在扁平化设计中,三原色是很少见的,即正红、正蓝和正黄。 简单起见,在一个扁平化设计方案中,如果你想快速的配色,那就选择相似的色调和饱和度。另外,本文也将提供一些色彩样本。 样本:利用色彩进行一组扁平化设计的色彩配色。每一种色彩都能与背景形成最强劲的视觉冲击。 最受欢迎的色彩:蓝、绿、紫 复古色 在进行扁平化设计时,复古色也是一种常见的色彩方式。 这种色彩虽然饱和度低,但却是在纯色的基础上添加白色,以使色彩变得更加柔和。复古色经常以大量的橘色和黄色为主,但有时也有红色或蓝色。 在扁平化设计中,以复古色为主色调是很常见的,以为这种色彩能够使页面变得更加柔美、富有女性气质。 样本:在扁平化设计中,如果将复古色作为主色调,呈现效果最好。 最受欢迎的色彩:橘色、粉色或绯色和深蓝。 同类色(单色调) 在扁平化设计中,同类色正迅速成长为一种流行趋势。这种色彩往往以单一颜色搭配黑色或白色来创造一种鲜明且有视觉冲击的效果。 大部分的同类色利用一个基本色搭配两三个色彩。最受欢迎的色彩选择似乎是蓝色,但很多设计师则倾向于使用黑色搭配一两个流行色比如红色,作为按钮。 另一个方法是利用少量的色彩变化。比如,蓝色配以绿色呈现出一种蓝绿色的效果。 同类色在移动设备和APP设计中格外受欢迎。 样本:正如其他的色彩搭配一样,同类色也是需要对比的。 最受欢迎的颜色:蓝色、灰色和绿色。 结论:进行扁平化设计是一件令人愉悦的事情,所以,你的设计作品也应该反映出这种快乐的态度。 色彩的选择应该与你的作品相匹配,正确地引导用户有效地使用你的网站,并且在这一过程中拥有一个有趣的经历。当进行扁平化设计时一定不要拘泥与传统的色彩搭配法则,而是开阔你的思路,引发各种奇思妙想。
选择正确的配色方案对你的网站的成功至关重要。蓝色是冷色调最典型的代表色,是网站设计中运用得最多的颜色,也是许多人钟爱的颜色。 传导网络小编收集了一些蓝色系网站来供大家欣赏,看看蓝色在设计中颜色的搭配和使用,这些网站设计案例将是一个设计灵感的好来源,相信对大家有些启发! 01. Digital Atelier 02. Under Belly 03. Evolve Wealth 04. Tjcuk 05. Start up Weekend 06. drawingonthepromises 07. National Climate Assessment 08. the Tech Beach 09. w3 10. Change the World 11. Drink Smart Water 12. Danger Ous Robot 13. Decath Lon 14. Wallmob 15. Blood and Water Animalplanet 16. Selahrenovations 17. Petenottage 18. Eleks 19. Agencenr 20. Webit 21. Comfy Chair Consulting 22. Ace Tata Motors 23. World Under Water 24. Code Lab 25. Chimneys 观点:蓝色是色彩中比较沉静的颜色,衬托那些具有较强扩张力的色彩,同时可以活跃页面,令人心境畅快;网站设计结合淡蓝和深蓝,有的时候可以展示稳定、信任、能量与力量,所以常常会被用在企业网站中;希望对大家能够有所帮助!
FLASH设计的网站页面非常美观,互动性很强;在很多企业网站中,FLASH动画主要在于突出企业品牌的效应,彰显企业形象的实力;因此FLASH广泛的应用在网站建设中,但是FLASH也同样存在缺陷,如果在网站设计中大量使用Flash,可能会遇到一些问题,下面传导网络小编为大家分析FLASH建站的劣势。 开发成本: Flash开发需要高度专业技能,网站制作成本比传统的标准网站高,时间花费也长,网站修改起来相对复杂。 使用性: 没有Flash插件的用户或浏览器禁用Flash的用户无法浏览网站。 速度: Flash网站速度非常慢,一般来说,Flash网站的加载速度比同样的普通网站慢2~10倍。而且,用户必须等着引导页全部下载完毕才能进入网站,等待的时间会影响用户体验。 SEO效果不好: Flash网站对搜索引擎不太友好,搜索引擎蜘蛛无法抓取Flash网站里的关键字;因此Flash网站可能会导致搜索引擎排名的下降,Flash的网站无法被网络爬虫理解,也就很难抓取内容并做内容索引。 Flash不兼容手机: 如今是移动设备的年代,但是Flash网站不兼容手机浏览。随着智能手机用户以惊人的速度增长,Flash网站不能显示在一些智能手机上将是一个巨大的劣势。 访问障碍: 很多网络用户无法访问Flash插件。假如整个网站都采用Flash形式,等于自动屏蔽了智能手机用户、网络电视用户和某些带有防火墙的企业用户的访问。 相关度: Flash网站往往让人觉得很抢眼,但缺乏内涵。网站讲求内容为王,用户遇到Flash网站后会立刻觉得这是个广告,先入为主地认为这个网站缺乏实质内容,不值得等待。
现今,网页设计中多变的颜色,细腻的质感,让人爱不释手的磨砂背景受到了设计师的青睐,继而重回大家的视线。接下来一起欣赏一系列模糊背景及磨砂触感的手机APP设计。 Solar alarm 这款应用的设计理念为:我们就是要圆要可爱耶!设计师将模糊背景与高亮度的白色元素完美结合,整个设计看起来和谐且精妙。 Fitness 此款应用基于半透明的玻璃图画,将微模糊和小固件可爱的结合起来,背景中的绿色让应用看起来自然清新。 Notification Panelt 设计师在配色方面有技巧的采用了暖暖的棕色,这样做是为了让界面显得更加活泼。 Which Menu? My Doctor App 此款应用界面看起来平滑时尚,主要归因于它可爱的蓝色磨砂背景。 List IOS 7音乐界面 ios7音乐播放器有一个非常漂亮且简介的外观,非常符合用户的使用目标,让人爱不释手。 Extranet App Lively App 此款应用采用了重度磨砂背景,锐利的白色图标,干净的字体。 Weather Copy Shift uWhisp iOS7 这款设计深受萌妹纸的喜欢,颜色粉粉嫩嫩,功能简单易理解。 Concept WomenLog ios7 Click & Grow webapp Wear Preview #1 navigation menu App Login iPhone Weather App 抛光、明亮、高雅,这是很多人对此款应用的评价。设计师在设计的过程中思前想后,为不同口味的用户提供不同界面颜色,真正的实现了“点到哪里有哪里!” ios 7 Weather Spotify Redesign Concept Tag scanner app 观点:以上这些设计将是未来网页设计的趋势。不集中于图片,不纠结于背景,专注设计前端元素,强调文字以及细微的图像,这,就是模糊背景的含义。
是什么让人们在打开你的网页没多久就按下返回键?他们为什么那么快就想摆脱你的网站?可以做些什么来改善这一点呢? 长期思考这个问题之后,我发现了比原本想象的还要多的一些因素。 如果把一下因素单独考虑的话,可能还不至于让访问者产生迅速离开的冲动,但是如果这些因素掺杂在一起的话,却足以留给访问者一个足够坏的印象,让他们马上离开。 让用户在你的网站有个愉快的体验并不是件容易的事情。实际上大多数网站都会多多少少有些问题。但是看看下面这些负面因素并努力避免,或许可以对于做出更有用户黏性的网站有好处。 来,从最糟糕的开始说吧…… 1. 自动播放的声音 这真让我发狂。如果我访问网站时候立马遭到不想听的不必要的杂音的轰炸的话,我就想马上离开。接受这种自动播放声音的广告的发布者是最糟糕的发布者,(他们本可以拒绝这样的网站的,就像我一样),常见于酒店行业网站。 2.弹窗 老问题,大问题。因为我们视线里面,它从未消失。如果你想用弹窗弹我,那我就想被弹窗直接从你网站弹开算了。你越早用弹窗弹我,我越早离开。如果弹窗只显示半分钟一分钟,而且内容还能算是有用的话,还能稍微忍受一下。 3.插入式广告 我不再访问福布斯网站的原因就是那儿插入式广告太多了。一周消息不如改名叫一周插入呢。没有人喜欢等待,但这跟期望的东西有差距。当我点击一个链接的时候,心里希望的是能直接被带到我点的那个网页,而不是被扔到一个挂着个大大的广告牌的页面。 4.分页 看十张配着小标题的挺小的图片,你真的需要我连点十下翻十页么?或者翻十页只为了看个明明可以在一页内显示的前十名排行榜?分页在我看来就是个人为提高点 击率的低级伎俩。这种伎俩的存在,同时证明了在线广告的衡量和购买标准都是错误的。而且这也让很多站长都跑偏了——本应着重于内容的精力,都放在认为提高 点击率上了。 5.缓慢的载入 谁都不愿意等!我为我的50兆带宽付了那么多钱,可不是为了让你的慢死人的网页搞坏我的情绪的。如果我真心要看看你的网页,或者我真的必须看你的网页,或许还真的就那么等着。但是我要是只是好奇,或者手抖多点了一下到了你的网站,那我等不了几秒就闪了。 6. 对于广告的优化大于对内容的优化 这让人不爽的程度简直就跟漫长的载入时间一样。有些站长为了赚广告费,把广告的载入顺序优化,先载入广告后载入网站内容。有些时候是当我们等待着广告成功载入的时候,导航栏在整个网页出现之前快速载入,然后一切都卡住了。总结一下这条,站长尤其要留意缓慢的广告服务器加上一个缓慢的网页的时候,所产生的神奇效果。 7. 糟糕的导航栏 作为一个职业网页设计师,设计糟糕的导航栏是少数能说得上来的致命伤之一。导航需要的是直观,描述的清晰,直来直去。基于Flash的网页往往是最糟糕的那些。 8.结构混乱 嘿,我就是想找到我的问题的答案而已。如果我不能快速有效的找到我想要的,我就去别的地方看了。你的工作就是要帮助人们过滤出他们需要的信息。这就是为什么存在优化和测试这种事。 9. 关键信息的擅离职守 我最近访问了霍克斯顿酒店的网页,想知道在那里开个房得多少钱。找了几分钟之后我发现没有关于房费的信息。(呃,反正我没找到)。这太奇怪了。顺便说一句,我不可能就为了想知道房费多少,去点“订房”的。我不如直接去泽塔特酒店订个房。确保基本信息在你的网站上都有。 10. 过早的要求注册 为嘛?为嘛现在就得注册?连一点甜头都不让我尝么?时机非常的重要。 11. 太多闪烁的滚动的玩意儿 我在上网,并没有在我唯一能忍受到处是闪烁不停的灯光的夜店里。是的,又闪又滚是能抓人眼球,但总把人抓疼。这些东西绝望的想要引起人注意,同时又绝对的讨人厌。有个需要注意的特例是,有的人还就是好这口,只要是这样的风格他都爱! 12. 拼写错误 错误拼写和错误语法会给访问者不好的印象。这种事情真的没有借口。只要多用些心在细节上,啥都有了。如果你不在意你的网站,你的访问者会怎么想? 13.垃圾字体 你使用的是宋体?真哒?它很丑的啊。 尽管如此吧,至少你用的不是漫画体。正常人不会纯粹因为一个网站字体好看与否而离开的,但是丑陋的字体会给人留下你对你的网站不上心的印象。这种印象再加上这个列表上的其他负面因素,可能就足以让本想在你网站待一待的人拔脚就走了。 14. 网页很窄 还有为800像素宽度的显示器设计的网站呢,让我起鸡皮疙瘩。你不觉得? 15. 左对齐网站 重申一下——我不知道具体该怎么解释——左对齐网站(相对于居中对齐)看起来太过时了,起码在我看来。我不知道为啥,但总能注意到这些东西,而且我不觉得这是好设计。 16. 俗套的网站 有些网站我看着真是喜欢。事实上我希望所有的网站的标准化,按照最经典的指南手册设计。但是如果网页设计都一样的话就行不通了。谁会想要作为一个模仿者出名呢? 17. 年久失修 我希望在首页上能看到博客或者新闻板块,能看到这网站还在更新的迹象。显示个标题和日期就够了。如果我看到最新的新闻日期是2004一月,那我可能立马就看别的网页去了。 18. 主题模糊 访问网站的时候我希望是看一眼就能看出来这网站是干嘛的。有时候我挠头一分钟都看不出来网站是干嘛的。一行简单明白的描述就够了。 19. 术语/行话 我觉得你可以私下里来这套。 20. 浏览器不兼容 三天前,微软刚刚在Xbox Live客户服务领域拒绝了对于谷歌浏览器Chrome的支持。这是个多方面的错误,特别是我还是个付费的Xbox Live用户。浏览器错误真是各种大小各种型号。测试,测试,测试,找出你的用户喜欢的感觉。尽量避免插手于浏览体验,比如说在新窗口打开链接。 21. Flash 有时候我会在Flash多的网站多呆一会儿,就像是路上有车祸把我堵在那里一样。但是大多数时候我就是简单的点一下返回键。我了解了一些Flash网站, 几乎可以肯定地说,没有像样的。我只有在很特殊的情况下忍受这种网站。在这方面我是个强硬派。 22. 没有“关于”页面 有些网站好像对“关于”页面过敏似的,我压根想不出来这是为什么。有时候我访问网站就是为了找到有关某些公司的更多的信息而已,看到没有“关于”页面的时候,真是万念俱灰。 23. 只有视频的主页 用视频来介绍公司,或者用来解释某种具体的产品或者服务是一种新的趋势,特别是对于新公司。如果有空我还能看个三分钟的小短片,但是我觉得你总得配合点文字吧,更快捷,对网站的搜索优化也有好处。 24. 很傻很业余 有的网站没有活力,没有个性,就是个穿着制服的模子。其他人好像远远的超过了你的网站的境界,而你都不知道怎么赶上。这两方面都会是你的网站的后腿,把你的访问者往外推。 25. 配色失败 糟糕的配色会让你网站上的内容很难读。而如果你的网站读都不能读的话就更别想着别人会在你网站上待着了。 各种各样的原因让人们在还没有真正了解一个网站的时候就把网页直接关掉了。 那么我少说那种了?你是为什么离开一个网页的?
最新最热门的Web前端知识技能盘点 图片的形式具有诸多的不便。缺失源图的我们,无法为此图贡献些什么,随着时间的迁移,或许有些技术点会发生改变,所以有了这个GitHub项目。我们可以通过协作的方式来共同维护这个项目。Git的历史记录也可以见证前端行业的一些变迁。
在残酷的移动互联网竞争环境下, HTML5技术一直受到各方关注,“HTML5颠覆原生 App”的争论也从未停止过,不管怎样HTML5生态的构建方兴未艾。不过对于移动开发者来说更关心的问题是如何低成本、周期短开发出体验效果好的App,所以当下用HTML5远比赌HTML5更现实。于是,一个一直被提及但是从没有占据过统治地位的概念又一次走进了移动开发者们的视野,那就是跨平台开发。 目前国内外已经有很多基于HTML5的跨平台开发工具,你并不需要任何的原生应用编程经验,你只需要一些HTML的相关知识,懂一些CSS和JavaScript,运用工具中所提供的各种丰富的功能模块,便可在很短时间内完成App的开发而且让你的App具备完美的原生体验。 推荐几款跨平台工具 1、Appcelerator Appcelerator的Titanium开发平台使开发者可以通过HTML、PHP、JavaScript、Ruby、Python等Web编程语言开发手机、平板和桌面的原生App。其优势在于它可以让用户轻松地访问超过300个API以及定位信息。 此外,Appcelerator提供针对特定行为或事件定制的统计。App的数据既可储存在云端,也可储存在设备上。 2、APICloud APICloud是一款“云端一体”的移动开发平台,信仰“云端一体”的理念,重新定义了移动应用开发。APICloud为开发者从“云”和“端”两个方向提供API,简化移动应用开发技术,让移动应用的开发周期从一个月缩短到7天。APICloud由“云API”和“端API”两部分组成,可以帮助开发者快速实现移动应用的开发、测试、发布、管理和运营的全生命周期管理。 3、PhoneGap PhoneGap是一个免费且开源的开发环境,使开发者可以开发出在Android、Palm、黑莓、iPhone、iTouch及iPad等设备上运行的App。其使用的是HTML和JavaScript等标准的Web开发语言。开发者使用PhoneGap进行开发,可调用加速计、GPS/定位、照相机、声音等功能。 PhoneGap还提供Adobe AIR App以及在线的培训课程,帮助开发者了解原生API并在他们自己的平台上开发移动App。 4、NativeScript NativeScript是使用移动平台的 JavaScript 引擎来进行跨平台开发。逻辑部分自然无需多说,关键在于如何使用平台特性。NativeScript是通过反射得到所有平台 API,预编译它们,然后将这些 API 注入到 JavaScript 运行环境,接下来在 Javascript 调用后拦截这个调用,并运行 native 代码。NativeScript是使用大量 web 开发的技巧来进行 app 开发,因为工具链和语言都非常熟悉受到了很多前端开发者的欢迎。 5、Kinvey Kinvey同样是一个为移动应用开发者提供后台创建服务的平台。Kinvey强调加速移动应用开发与销售的“即取即用”理念。Kinvey的中间层与数据层均托管在多个云服务提供商处,包括 Rackspace、Amazon与Microsoft。所有通过Kinvey存储的数据都会有四种方式备份:Amazon EC2、Windows Azure、Rackspace以及Kinvey自己的服务器,假如其中一两个出现了故障,用户的数据依然安然无恙。 总结: 关于HTML5和原生App的争论一直在继续,不论最后谁能取胜,开发者更关心App的开发速度和最终体验。合理的使用工具会让开发效率大大提升,甚至达到事半功倍的效果,希望能有一款适合您。 期待未来有一天,App开发可以像在纸上画画一样简单。
虽然“互联网”一词在当下伴随着鼓吹与泡沫而炙手可热,但毋庸置疑的是,互联网将成为人类下一次飞跃的桥梁和动力毋庸置疑。用八张图互联网未来发展的六大趋势:连接与聚合、产业互联网化、产业金融化、个性化需求、O2O、智能工业。 趋势一:连接与聚合 趋势二:产业互联网化 趋势三:产业金融化 趋势四:个性化需求 趋势五:O2O将成为服务互联网的主要方式 趋势六:智慧工业时代
虽然许多人不满意MySQL被Oracle收购后的发展进度,但是该开源数据库被应用的广泛程度仍然不容质疑。然而开源到大型企业应用必然存在着很多的技术挑战,这里我们一起看不同并发访问量级下,Mysql架构的演变。 作为最流行的开源数据库,MySQL被广泛应用在Web应用程序以及其它中小型项目上。然而不可忽视的是,在许多大型IT公司中,MySQL在高度优化和定制化后,已逐渐偏离了原有的开源版本,更像是一种分支,比如Facebook前不久开源的WebScaleSQL。近日,有一篇博文,从大型网站架构发展的角度看MySQL应用所发生的改变,这里为大家分享。 以下为博文: 写在最前: 本文主要描述在网站的不同的并发访问量级下,Mysql架构的演变。 可扩展性 架构的可扩展性往往和并发是息息相关,没有并发的增长,也就没有必要做高可扩展性的架构,这里对可扩展性进行简单介绍一下,常用的扩展手段有以下两种: Scale-up:纵向扩展,通过替换为更好的机器和资源来实现伸缩,提升服务能力 Scale-out:横向扩展, 通过加节点(机器)来实现伸缩,提升服务能力 可扩展性的理想状态 一个服务,当面临更高的并发的时候,能够通过简单增加机器来提升服务支撑的并发度,且增加机器过程中对线上服务无影响(no down time),这就是可扩展性的理想状态!架构的演变V1.0 简单网站架构一个简单的小型网站或者应用背后的架构可以非常简单,数据存储只需要一个Mysql Instance就能满足数据读取和写入需求(这里忽略掉了数据备份的实例),处于这个时间段的网站,一般会把所有的信息存到一个Database Instance里面。 在这样的架构下,我们来看看数据存储的瓶颈是什么? 数据量的总大小 一个机器放不下 数据的索引(B+ Tree)一个机器的内存放不下 访问量(读写混合)一个实例不能承受 只有当以上3件事情任何一件或多件满足时,我们才需要考虑往下一级演变。 从此我们可以看出,事实上对于很多小公司小应用,这种架构已经足够满足他们的需求了,初期数据量准确评估是杜绝过度设计很重要的一环,毕竟没有人愿意为不可能发生的事情而浪费自己的精力。 这里简单举个我的例子,对于用户信息这类表 (3个索引),16G内存能放下,大概2000万行数据的索引,简单的读和写混合访问量3000/s左右没有问题,你的应用场景是否? V2.0 垂直拆分 一般当V1.0 遇到瓶颈时,首先最简便的拆分方法就是垂直拆分,何谓垂直?就是从业务角度来看,将关联性不强的数据拆分到不同的Instance上,从而达到消除瓶颈的目标。以图中的为例,将用户信息数据,和业务数据拆分到不同的三个实例上。对于重复读类型比较多的场景,我们还可以加一层Cache,来减少对DB的压力。 在这样的架构下,我们来看看数据存储的瓶颈是什么? 单实例单业务依然存在V1.0所述瓶颈:遇到瓶颈时可以考虑往本文更高V版本升级,若是读请求导致达到性能瓶颈可以考虑往V3.0升级, 其他瓶颈考虑往V4.0升级。 V3.0 主从架构 此类架构主要解决V2.0架构下的读问题,通过给Instance挂数据实时备份的思路来迁移读取的压力,在MySQL的场景下就是通过主从结构,主库抗写压力,通过从库来分担读压力,对于写少读多的应用,V3.0主从架构完全能够胜任。 在这样的架构下,我们来看看数据存储的瓶颈是什么?很明了,写入量主库不能承受。 V4.0 水平拆分 对于V2.0、V3.0方案遇到瓶颈时,都可以通过水平拆分来解决,水平拆分和垂直拆分有较大区别,垂直拆分拆完的结果,在一个实例上是拥有全量数据的,而水平拆分之后,任何实例都只有全量的1/n的数据,以下图UserInfo的拆分为例,将UserInfo拆分为3个Cluster,每个Cluster持有总量的1/3数据,3个Cluster数据的总和等于一份完整数据。 注:这里不再叫单个实例 而是叫一个Cluster 代表包含主从的一个小MySQL集群。 那么,这样架构中的数据该如何路由? 1. Range拆分 sharding key按连续区间段路由,一般用在有严格自增ID需求的场景上,如UserId、UserId Range的小例子,以UserId 3000万为Range进行拆分:1号Cluster的UserId是1-3000万,2号Cluster UserId是 3001万-6000万。 2. List拆分 List拆分与Range拆分思路一样,都是通过给不同的sharding key来路由到不同的Cluster,但是具体方法有些不同。List主要用来做sharding key不是连续区间的序列落到一个Cluster的情况,如以下场景: 假定有20个音像店,分布在4个有经销权的地区,如下表所示: 地区 商店ID 号 北区 3, 5, 6, 9, 17 东区 1, 2, 10, 11, 19, 20 西区 4, 12, 13, 14, 18 中心区 7, 8, 15, 16 业务希望能够把一个地区的所有数据组织到一起来搜索,这种场景List拆分可以轻松搞定 3. Hash拆分 通过对sharding key 进行哈希的方式来进行拆分,常用的哈希方法有除余,字符串哈希等等,除余如按UserId%n的值来决定数据读写哪个Cluster,其他哈希类算法这里就不细展开讲了。 4. 数据拆分后引入的问题 数据水平拆分引入的问题主要是只能通过sharding key来读写操作,例如以UserId为sharding key的切分例子,读UserId的详细信息时,一定需要先知道UserId,这样才能推算出在哪个Cluster进而进行查询,假设我需要按UserName进行检索用户信息,需要引入额外的反向索引机制(类似HBase二级索引),如在Redis上存储username->userid的映射,以UserName查询的例子变成了先通过查询username->userid,再通过userid查询相应的信息。 实际上这个做法很简单,但是我们不要忽略了一个额外的隐患,那就是数据不一致的隐患。存储在Redis里的username->userid和存储在MySQL里的userid->username必须需要是一致的,这个保证起来很多时候是一件比较困难的事情,举个例子来说,对于修改用户名这个场景,你需要同时修改Redis和Mysql。这两个东西是很难做到事务保证的,如MySQL操作成功,但是Redis却操作失败了(分布式事务引入成本较高)。对于互联网应用来说,可用性是最重要的,一致性是其次,所以能够容忍小量的不一致出现. 毕竟从占比来说,这类的不一致的比例可以微乎其微到忽略不计。(一般写更新也会采用mq来保证直到成功为止才停止重试操作) 在这样的架构下,我们来看看数据存储的瓶颈是什么? 在这个拆分理念上搭建起来的架构,理论上不存在瓶颈(sharding key能确保各Cluster流量相对均衡的前提下)。不过确有一件恶心的事情,那就是Cluster扩容的时候重做数据的成本,如我原来有3个Cluster,但是现在我的数据增长比较快,我需要6个Cluster,那么我们需要将每个Cluster 一拆为二,一般的做法是: 摘下一个slave,停同步 对写记录增量log(实现上可以业务方对写操作多一次写持久化mq或者MySQL主创建trigger记录写等等方式) 开始对静态slave做数据一拆为二 回放增量写入,直到追上的所有增量,与原Cluster基本保持同步 写入切换,由原3 Cluster 切换为6 Cluster 有没有类似飞机空中加油的感觉,这是一个脏活,累活,容易出问题的活,为了避免这个,我们一般在最开始的时候,设计足够多的sharding cluster来防止可能的Cluster扩容这件事情。 V5.0 云计算 腾飞(云数据库) 云计算现在是各大IT公司内部作为节约成本的一个突破口,对于数据存储的MySQL来说,如何让其成为一个SaaS是关键点。在MS的官方文档中,把构建一个足够成熟的SaaS(MS简单列出了SAAS应用的4级成熟度)所面临的3个主要挑战:可配置性,可扩展性,多用户存储结构设计称为"three headed monster"。可配置性和多用户存储结构设计在MySQL SaaS这个问题中并不是特别难办的一件事情,所以这里重点说一下可扩展性。 MySQL作为一个SaaS服务,在架构演变为V4.0之后,依赖良好的sharding key设计,已经不再存在扩展性问题,只是他在面对扩容缩容时,有一些脏活需要干,而作为SaaS,并不能避免扩容缩容这个问题,所以只要能把V4.0的脏活变成:第1,扩容缩容对前端APP透明(业务代码不需要任何改动);第2,扩容缩容全自动化且对在线服务无影响。如果实现了这两点,那么他就拿到了作为SaaS的门票。 对于架构实现的关键点,需要满足对业务透明,扩容缩容对业务不需要任何改动,那么就必须eat our own dog food,在你MySQL SaaS内部解决这个问题,一般的做法是我们需要引入一个Proxy,Proxy来解析SQL协议,按sharding key来寻找Cluster,判断是读操作还是写操作来请求Master或者Slave,这一切内部的细节都由Proxy来屏蔽。 这里借淘宝的图来列举一下Proxy需要干哪些事情 对于架构实现的关键点,扩容缩容全自动化且对在线服务无影响; 扩容缩容对应到的数据操作即为数据拆分和数据合并,要做到完全自动化有非常多不同的实现方式,总体思路和V4.0介绍的瓶颈部分有关,目前来看这个问题比较好的方案就是实现一个伪装Slave的Sync Slave,解析MySQL同步协议,然后实现数据拆分逻辑,把全量数据进行拆分。具体架构见下图: 其中Sync Slave对于Original Master来说,和一个普通的Mysql Slave没有任何区别,也不需要任何额外的区分对待。需要扩容/缩容时,挂上一个Sync slave,开始全量同步+增量同步,等待一段时间追数据。以扩容为例,若扩容后的服务和扩容前数据已经基本同步了,这时候如何做到切换对业务无影响? 其实关键点还是在引入的Proxy,这个问题转换为了如何让Proxy做热切换后端的问题。这已经变成一个非常好处理的问题了。 另外值得关注的是:2014年5月28日——为了满足当下对Web及云应用需求,甲骨文宣布推出MySQL Fabric,在对应的资料部分我也放了很多Fabric的资料,有兴趣的可以看看,说不定会是以后的一个解决云数据库扩容缩容的手段。 V more ?等待革命…… 淘宝用例 淘宝RDS 云数据库设计:http://blog.csdn.net/ywh147/article/details/8954625 http://www.infoq.com/cn/news/2012/10/taobao-ump Mysql Fabric http://mysqlmusings.blogspot.jp/2013/09/brief-introduction-to-mysql-fabric.html http://vnwrites.blogspot.jp/2013/09/mysqlfabric-sharding-introduction.html http://vnwrites.blogspot.in/2013/09/mysqlfabric-sharding-example.html http://vnwrites.blogspot.in/2013/09/mysqlfabric-sharding-migration.html http://vnwrites.blogspot.jp/2013/09/mysqlfabric-sharding-maintenance.html
实战技巧 编辑 网页技术更新很快,一个网站的界面设计寿命仅仅2-3年而已。不管是垃圾还是精品,都没有所谓的经典,经典只存在于是哪个首次成功创新性的应用。一个闭门造车者做出的东西,是远远赶不上综合借鉴者的。网页设计不同于其他艺术,在模仿加创新的网页设计领域当中,即便是完全自己设计的,也是沿用了人们已经认同的大部分用户习惯,而且这种沿袭的痕迹是非常明显的!还有哪个设计者敢腆着脸说,这都是我自己的原创设计?对于业界来说,经典只是个理念和象征! 设计环境 不可否认,国内网页设计环境还停留在初级的认知阶段,也就是说,绝大多数人不知道网络的真正的可用之处,你去做一个业务的时候,不得不去做大量的说服教育工作。以乙方的身份去说服甲方,以专业角度去教育非专业人士,结果是可想而知的。也正是这种全体社会普遍的低认知水平,导致了大量网络垃圾的产生。 企业客户所在行业往往有其特定的设计需求,特别是对于企业网站建设当中的配色,除了应根据企业的VI标准色,以及客户自身的喜好进行配色分析外,同时不能忽略整个行业对于颜色上的‘惯例’。那么,企业网站在设计和制作当中,到底有哪一些配色规则需要设计师遵循呢? 1、行业避忌的颜色 某些行业的企业客户,对于网站整体颜色的要求涉及到具体的颜色避忌,例如金融、投资类的企业网站,应尽量避免绿色,或相近颜色的使用。这是因为,绿色在金融投资行业当中代表的是低迷,不景气,下滑等负面的元素,因此即便企业宣扬的是环保、低碳等企业文化,也是不能轻易予以使用。 2、特征选色 企业客户在不同的发展阶段,对于网站设计的配色需求并不一样。在企业初创阶段,企业建站的目的是打造品牌网络形象,开拓客户资源,这时候的企业客户更多的是关注自身的个性化,如何才能凸显企业的特质,如何才能在行业当中显示其独有的特性,这是初建网站的企业客户所重点关注的内容;在企业形成规模,进行品牌提升阶段,企业建设网站或进行改版的目的是重塑品牌网络形象,打造更为专业、沉稳和可持续发展的品牌理念和文化,这时候的企业客户更多的是考虑如何将企业的品牌内涵与行业相融合,在配色的选择上更倾向于稳重、包容,能够适应各种场合需要的配色。
对于大多数web应用来说,数据库都是一个十分基础性的部分。如果你在使用PHP,那么你很可能也在使用MySQL—LAMP系列中举足轻重的一份子。 对于很多新手们来说,使用PHP可以在短短几个小时之内轻松地写出具有特定功能的代码。但是,构建一个稳定可靠的数据库却需要花上一些时日和相关技能。下面列举了我曾经犯过的最严重的11个MySQL相关的错误(有些同样也反映在其他语言/数据库的使用上)。 1.使用MyISAM而不是InnoDB MySQL有很多数据库引擎,但是你最可能碰到的就是MyISAM和InnoDB。 MySQL默认使用的是MyISAM。但是,很多情况下这都是一个很糟糕的选择,除非你在创建一个非常简单抑或实验性的数据库。外键约束或者事务处理对于数据完整性是非常重要的,但MyISAM都不支持这些。另外,当有一条记录在插入或者更新时,整个数据表都被锁定了,当使用量增加的时候这会产生非常差的运行效率。 结论很简单:使用InnoDB。 2.使用PHP的mysql函数 PHP自产生之日就提供了MySQL库函数(or near as makes no difference)。很多应用仍然在使用类似mysql_connect、mysql_query、mysql_fetch_assoc等的函数,尽管PHP手册上说: 如果你在使用MySQL v4.1.3或者更新版本,强烈推荐使用您使用mysqli扩展。 mysqli(MySQL的加强版扩展)有以下几个优点: 可选的面向对象接口 prepared表达式,这有利于阻止SQL注入攻击,还能提高性能 支持更多的表达式和事务处理 另外,如果你想支持多种数据库系统,你还可以考虑PDO。 3.没有处理用户输入 这或者可以这样说#1:永远不要相信用户的输入。用服务器端的PHP验证每个字符串,不要寄希望与JavaScript。最简单的SQL注入攻击会利用如下的代码: 只要在username字段输入”admin’;–”,这样就会被黑到,相应的SQL语句如下: SELECT userid FROM usertable WHERE username=’admin’;狡猾的黑客可以以admin登录,他们不需要知道密码,因为密码段被注释掉了。 4.没有使用UTF-8 美国、英国和澳大利亚的我们很少考虑除英语之外的其他语言。我们很得意地完成了自己的”杰作”却发现它们并不能在其他地方正常运行。 UTF-8解决了很多国际化问题。虽然在PHP v6.0之前它还不能很好地被支持,但这并不影响你把MySQL字符集设为UTF-8。 5.相对于SQL,偏爱PHP 如果你接触MySQL不久,那么你会偏向于使用你已经掌握的语言来解决问题,这样会导致写出一些冗余、低效率的代码。比如,你不会使用MySQL自带的AVG()函数,却会先对记录集中的值求和然后用PHP循环来计算平均值。 此外,请注意PHP循环中的SQL查询。通常来说,执行一个查询比在结果中迭代更有效率。 所以,在分析数据的时候请利用数据库系统的优势,懂一些SQL的知识将大有裨益。 6.没有优化数据库查询 99%的PHP性能问题都是由数据库引起的,仅仅一个糟糕的SQL查询就能让你的web应用彻底瘫痪。MySQL的EXPLAIN statement、Query Profiler,还有很多其他的工具将会帮助你找出这些万恶的SELECT。 7.不能正确使用数据类型 MySQL提供了诸如numeric、string和date等的数据类型。如果你想存储一个时间,那么使用DATE或者DATETIME类型。如果这个时候用INTEGER或者STRING类型的话,那么将会使得SQL查询非常复杂,前提是你能使用INTEGER或者STRING来定义那个类型。 很多人倾向于擅自自定义一些数据的格式,比如,使用string来存储序列化的PHP对象。这样的话数据库管理起来可能会变得简单些,但会使得MySQL成为一个糟糕的数据存储而且之后很可能会引起故障。 8.在查询中使用* 永远不要使用*来返回一个数据表所有列的数据。这是懒惰:你应该提取你需要的数据。就算你需要所有字段,你的数据表也不可避免的会产生变化。 9.不使用索引或者过度使用索引 一般性原则是这样的:select语句中的任何一个where子句表示的字段都应该使用索引。 举个例子,假设我们有一个user表,包括numeric ID(主键)和email address。登录的时候,MySQL必须以一个email为依据查找正确的ID。如果使用了索引的话(这里指email),那么MySQL就能够使用更快的搜索算法来定位email,甚至可以说是即时实现。否则,MySQL就只能顺序地检查每一条记录直到找到正确的email address。 有的人会在每个字段上都添加索引,遗憾的是,执行了INSERT或者UPDATE之后这些索引都需要重新生成,这样就会影响性能。所以,只在需要的时候添加索引。 10.忘记备份 虽然比较罕见,但是数据库还是有崩溃的危险。硬盘有可能损坏,服务器有可能崩溃,web主机提供商有可能会破产!丢失MySQL数据将会是灾难性的,所以请确保你已经使用了自动备份或者已经复制到位。 11.Bonus mistake-不考虑使用其他数据库 对于PHP开发人员来说,MySQL可能是使用最广泛的数据库系统,但并不是唯一的选择。PostgreSQL和Firebird是最强有力的竞争者:这个两者都是开源的,而且都没有被公司收购。微软提供了sql server Express,甲骨文提供了10g Express,这两者都是企业级数据库的免费版本。有时候,对于一个较小的web应用或者嵌入式应用,SQLite也不失为一个可行的替代方案。
最为一名程序员,如果你只顾得写代码,那是不行的,要抽出一下时间来丰富自己的知识,多看看书,在这里我将为程序员们推荐一些不错的书。能够给程序员们带来帮助。 大数据时代 《大数据时代》是国外大数据研究的先河之作,本书作者维克托•迈尔•舍恩伯格被誉为“大数据商业应用第一人”,拥有在哈佛大学、牛津大学、耶鲁大学和新加坡国立大学等多个互联网研究重镇任教的经历,早在2010年就在《经济学人》上发布了长达14页对大数据应用的前瞻性研究。 维克托•迈尔•舍恩伯格在书中前瞻性地指出,大数据带来的信息风暴正在变革我们的生活、工作和思维,大数据开启了一次重大的时代转型,并用三个部分讲述了大数据时代的思维变革、商业变革和管理变革。 维克托最具洞见之处在于,他明确指出,大数据时代最大的转变就是,放弃对因果关系的渴求,而取而代之关注相关关系。也就是说只要知道“是什么”,而不需要知道“为什么”。这就颠覆了千百年来人类的思维惯例,对人类的认知和与世界交流的方式提出了全新的挑战。 淘宝技术这十年 《淘宝技术这十年》内容简介:任何网站的发展都不是一蹴而就的。它在发展过程中会遇到各种各样的问题和业务带来的压力。正是这些问题和压力推动着技术的进步和发展,而技术的发展反过来又会促进业务的更大提升。如今淘宝网的流量排名已是全球前15名、国内前3名,其系统服务器也从一台发展到万台以上。 《淘宝技术这十年》从工程师的角度讲述淘宝这个超大规模互联网系统的成长历程,及其所有主动和被动的技术变革的前因后果。书中有幕后故事、产品经验、架构演进、技术启蒙,也有大牛成长、业内八卦、失败案例、励志故事。《淘宝技术这十年》文风流畅,有技术人员特有的幽默感;内容积极正面,有现场感,全部是作者亲身经历。 白帽子讲Web安全 《白帽子讲Web安全》内容简介:在互联网时代,数据安全与个人隐私受到了前所未有的挑战,各种新奇的攻击技术层出不穷。如何才能更好地保护我们的数据?《白帽子讲Web安全》将带你走进Web安全的世界,让你了解Web安全的方方面面。黑客不再变得神秘,攻击技术原来我也可以会,小网站主自己也能找到正确的安全道路。大公司是怎么做安全的,为什么要选择这样的方案呢?你能在《白帽子讲Web安全》中找到答案。详细的剖析,让你不仅能“知其然”,更能“知其所以然”。 重构:改善既有代码的设计 《重构:改善既有代码的设计》清晰地揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。《重构:改善既有代码的设计》提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。 《重构:改善既有代码的设计》适合软件开发人员、项目管理人员等阅读,也可作为高等院校计算机及相关专业师生的参考读物。 代码整洁之道 软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。《代码整洁之道》提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,《代码整洁之道》作者给出了一系列行之有效的整洁代码操作实践。这些实践在《代码整洁之道》中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。 《代码整洁之道》阅读对象为一切有志于改善代码质量的程序员及技术经理。书中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴的价值。 Web前端黑客技术揭秘 Web前端的黑客攻防技术是一门非常新颖且有趣的黑客技术,主要包含Web前端安全的跨站脚本(XSS)、跨站请求伪造(CSRF)、界面操作劫持这三大类,涉及的知识点涵盖信任与信任关系、Cookie安全、Flash安全、DOM渲染、字符集、跨域、原生态攻击、高级钓鱼、蠕虫思想等,这些都是研究前端安全的人必备的知识点。本书作者深入剖析了许多经典的攻防技巧,并给出了许多独到的安全见解。 本书适合前端工程师阅读,同时也适合对Web前端各类安全问题或黑客攻防过程充满好奇的读者阅读,书中的内容可以让读者重新认识到Web的危险,并知道该如何去保护自己以免受黑客的攻击。 浪潮之巅 近一百多年来,总有一些公司很幸运地、有意识或无意识地站在技术革命的浪尖之上。在这十几年间,它们代表着科技的浪潮,直到下一波浪潮的来临。 从一百年前算起,AT&T 公司、IBM 公司、苹果公司、英特尔公司、微软公司、思科公司、雅虎公司和Google公司都先后被幸运地推到了浪尖。虽然,它们来自不同的领域,中间有些已经衰落或正在衰落,但是它们都极度辉煌过。本书系统地介绍了这些公司成功的本质原因及科技工业一百多年的发展。 在极度商业化的今天,科技的进步和商机是分不开的。因此,本书也系统地介绍了影响到科技浪潮的风险投资公司,诸如 KPCB 和红杉资本,以及百年来为科技捧场的投资银行,例如高盛公司,等等。 在这些公司兴衰的背后,有着它必然的规律。本书不仅讲述科技工业的历史,更重在揭示它的规律性。 游戏改变世界 ◆《游戏改变世界》是著名未来学家、TED大会新锐演讲者简•麦戈尼格尔探索互联时代重要趋势的最新力作。在书中,作者指出:游戏可以弥补现实世界的不足和缺陷,游戏化可以让现实变得更美好。 ◆作者在书中用大量事例告诉我们,游戏击中了人类幸福的核心,提供了令人愉悦的奖励、刺激性的挑战和宏大的胜利,而这些都是现实世界十分匮乏的。她的研究表明,我们可以借助游戏的力量,让生活变得像游戏一样精彩。 ◆作者指出了游戏化将要实现的四大目标:更满意的工作、更有把握的成功、更强的社会联系及更宏大的意义,并用大量实践告诉我们该如何驾驭游戏的力量,解决现实问题,并提升幸福感。她告诫我们:如果人们继续忽视游戏,在不远的未来,就会处在极端不利的地位。 免费:商业的未来 在《免费:商业的未来 》这本书,克里斯·安德森认为,新型的“免费”并不是一种左口袋出、右口袋进的营销策略,而是一种把货物和服务的成本压低到零的新型卓越能力。在上世纪“免费”是一种强有力的推销手段,而在21世纪它已经成为一种全新的经济模式。 究竟什么是免费商业模式?根据克里斯·安德森的说法,这种新型的“免费”商业模式是一种建立在以电脑字节为基础上的经济学,而非过去建立在物理原子基础上的经济学。这是数字化时代一个独有特征,如果某样东西成了软件,那么它的成本和价格也会不可避免地趋于零。这种趋势正在催生一个巨量的新经济,这也是史无前例的,在这种新经济中基本的定价就是“零”。 对我们个人来说,“免费”是一种涤荡旧有思维的商业体验,而对企业来说,“免费”更多的是一种生存法则,一种可以改变旧有发展模式而实现脱胎换骨的“动力机器”。 罗辑思维 本书根据罗振宇的互联网视频知识脱口秀《罗辑思维》创作。 资深媒体人罗振宇对正在到来的互联网时代有深刻的洞察。他认为,互联网正在成为我们生活中的“基础设施”,它将彻底改变人类协作的方式,使组织逐渐瓦解、消融,而个体生命的自由价值得到充分释放。 《罗辑思维》的口号是“有种、 有趣、有料”,做大家“身边的读书人”,倡导独立、理性的思考,凝聚爱智求真、积极上进、自由阳光、人格健全的年轻人。 简约至上:交互式设计四策略 追求简单易用是人类的本性,无论是互联网产品。还是移动应用。亦或其他交互式设计,简单易用始终都是赢得用户的关键。同时,简单易用的程度也与产品寿命的长短密切相关。在《简约至上:交互式设计四策略》中,作者Giles托20多年交互式设计的探索与实践。提出了合理删除、分层组织、适时隐藏和巧妙转移这四个达成简约至上的终极策略,讲述了为什么应该站在主流用户一边,以及如何从他们的真实需求和期望出发,简化设计,提升易用性。创造出卓而不群、历久弥新的用户体验。 Head First设计模式(中文版) 《Head First设计模式(中文版)》编辑推荐:强大的写作阵容。《Head First设计模式(中文版)》作者Eric Freeman;ElElisabeth Freeman是作家、讲师和技术顾问。Eric拥有耶鲁大学的计算机科学博士学位,E1isabath拥有耶鲁大学的计算机科学硕士学位。Kathy Sierra FHBert Bates是畅销的HeadFirst系列书籍的创立者,也是Sun公司Java开发员认证考试的开发者。《Head First设计模式(中文版)》的产品设计应用神经生物学、认知科学,以及学习理论,这使得此书能够将这些知识深深地印在你的脑海里,不容易被遗忘。《Head First设计模式(中文版)》的编写方式采用引导式教学,不直接告诉你该怎么做,而是利用故事当作引子,带领读者思考并想办法解决问题。解决问题的过程中又会产生一些新的问题,再继续思考、继续解决问题,这样可以加深体会。作者以大量的生活化故事当背景,例如第1章是鸭子,第2章是气象站,第3章是咖啡店,书中搭配大量的插图(几乎每一页都有图),所以阅读起来生动有趣,不会感觉到昏昏欲睡。作者还利用歪歪斜斜的手写字体,增加“现场感”。精心设计许多爆笑的对白,让学习过程不会太枯燥。还有模式告白节目,将设计模式拟人化成节目来宾,畅谈其内在的一切。《Head First设计模式(中文版)》大量采用uML的class Diagram(Static Structure Diagram)。书中的例子程序虽然都是用JaVa编写,但是《Head First设计模式(中文版)》所介绍的内容对于任何00语言的用户都适用,包括c++和c孝。每一章都有数目不等的测验题。每章最后有一页要点整理,这也是精华所在,我都是利用这一页做复习。 程序员的数学思维修炼(趣味解读) 本书是一本专门为程序员而写的数学书,介绍了程序设计中常用的数学知识。本书门槛不高,不需要读者精通很多高深的数学知识,只需要读者具备基本的四则运算、乘方等数学基础知识和日常生活中的基本逻辑判断能力即可。本书拒绝枯燥乏味的讲解,而是代之以轻松活泼的风格。书中列举了大量读者都很熟悉,而且非常有趣的数学实例,并结合程序设计的思维和算法加以剖析,可以训练读者的数学思维能力和程序设计能力,进而拓宽读者的视野,增强职场竞争力。 互联网金融 《互联网金融》逐一深入探讨有关互联网金融的热点和难点问题。包括但不限于支付宝,余额宝,“三马”卖保险,众筹,智能理财,资产超市,金融垂直搜索,P2P借贷,互联网货币,比特币,互联网交易所,虚拟资产交易与保险,移动支付,手机银行,供应链金融等话题。 互联网时代的软件革命 国内第一本完整介绍SaaS应用设计的书籍。. 具有丰富SaaS实践经验的一线架构师的经验总结。.. 用创业故事贯穿全书,以一种活泼的风格来描述SaaS应用逐步成熟的过程。 设计模式之禅(第2版) 本书是设计模式领域公认的3本经典著作之一,“极具趣味,容易理解,但讲解又极为严谨和透彻”是本书的写作风格和方法的最大特点。第1版2010年出版,畅销至今,广受好评,是该领域的里程碑著作。深刻解读6大设计原则和28种设计模式的准确定义、应用方法和最佳实践,全方位比较各种同类模式之间的异同,详细讲解将不同的模式组合使用的方法。第2版在第1版的基础上有两方面的改进,一方面结合读者的意见和建议对原有内容中的瑕疵进行了修正和完善,另一方面增加了4种新的设计模式,希望这一版能为广大程序员们奉上一场更加完美的设计模式盛宴! 程序员修炼之道 《程序员修炼之道》由一系列的独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。利用许多富有娱乐性的奇闻轶事、有思想性的例子以及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,本书都适合你阅读。 平台战略:正在席卷全球的商业模式革命 《平台战略:正在席卷全球的商业模式革命》内容简介:平台商业模式的精髓,在于打造一个完善的、成长潜能强大的“生态圈”。它拥有独树一帜的精密规范和机制系统,能有效激励多方群体之间互动,达成平台企业的愿景。纵观全球许多重新定义产业架构的企业,我们往往就会发现它们成功的关键——建立起良好的“平台生态圈”,连接两个以上群体,弯曲、打碎了既有的产业链。 平台生态圈里的一方群体,一旦因为需求增加而壮大,另一方群体的需求也会随之增长。如此一来,一个良性循环机制便建立了,通过此平台交流的各方也会促进对方无限增长。而通过平台模式达到战略目的,包括规模的壮大和生态圈的完善,乃至对抗竞争者,甚至是拆解产业现状、重塑市场格局。 互联网创业启示录 《互联网创业启示录》是一部互联网公司的创业指南,内容涉及网站创业的现状和机遇、创业公司价值、平台选择、工具和群组、资金的筹集、管理和盈利、社会化媒体环境、行动执行管理、开发人员方法论和工作效率、创始人的角色等方面,既有纲领和指导性理论,又有具体操作方法。书中大量对互联网创业成功人士的访谈介绍,以及创业公司的成功案例,更可以作为初次创业者的良好借鉴。 《互联网创业启示录》主要写给想自己创业的程序员,但同样适合非技术人员,适合网络创业者、大学生创业者、网络营销人员及一切有志创业者。做网络不一定要懂技术,互联网的成功是可以借鉴和延伸的! 程序员健康指南 本书是为程序员量身制作的健康指南,针对头痛、眼部疲劳、背部疼痛和手腕疼痛等常见的问题,简要介绍了其成因、测试方法,并列出了每天的行动计划,从运动、饮食等方面给出详细指导,帮助程序员在不改变工作方式的情况下轻松拥有健康。 本书适合程序员、长期伏案工作的其他人群以及所有关心健康的人士阅读。
前端开发中,开发者懂得如何设计网页和增加网站实用性。但Web应用针对的客服群非常大,不好的用户体验,往往会导致重要的客户流失。以下8大细节,将决定成败。 细节1:表单标签和各自的选择域不匹配 使用“for”属性允许用户点击标签,就可以选择到表单中整个的输入区域,这对单选框和复选框扩大点击区域十分重要。但要注意选择内容的匹配。 细节2:Logo图片不能链接回首页 点击网站的Logo回到首页已经是一个基本的原则了,大多数的访问者也已经习惯于此。另外,将Logo图片展现在网页的左上方也是需要的。 细节3:没有区分已经访问过的链接和未访问的链接 处理已经访问过的链接不需要高超的CSS技术,但它经常被忽略。应该给用户一个视觉上的提示,告诉他/她网页中的哪些链接是已访问过的。 细节4:没有区别出当前处于激活态的表单 尤其在使用输入框或输入域时,选择使用“focus”或其它方式,展示出哪一个区域在当前是处于激活状态的,这一点对用户很有帮助。这里可以是一种CSS样式,比如高亮的边框或背景色有些不同。 细节5:图片没有提示描述 这也是一个相对强制性的规定,要有这样的思想和意识,除非你的图片是纯粹的装饰目的。另外,当你的图片存在链接时,图片的描述应该包括链接的地址。 细节6:错误的使用背景图片 我们经常会使用背景图片,但要注意有时你的背景图片会影响到客户的阅读,背景颜色和文字的颜色应该有较大的反差,防止网页上的文字无法被识别。 细节7:不一致的接口设计 有一种错误叫过度的设计。一些设计师对网站中的每一个页面都进行不同的设计,这就会让用户感到困惑和烦恼。无论你的网站多么的突出或吸引人,如果它的设计是不统一的,那么用户就会感到不自在,就会离开你的网站。所以建议你的网站中的每一个页面都使用统一的模板,设计尽可能的简洁,拥有好的用户体验。 细节8:非链接也带有下划线 根据经验,我们通常认为带有下划线或阴影的内容很可能包括超链接,所以不要在你的内容下方到处加下划线,从而误导用户。如果你要强调突出一些文字,你可以选择加粗它或使用其它的一些标签。
今天为大家分享一些 Good UI 在一些项目中获取的设计以及运营策略等方面的经验~ 1. 用通栏布局代替多栏布局 2. 给用户些好处,别急着做生意 3. 整合相似的功能,去掉零碎的 UI 元素 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. 循序渐进地引导用户,不要简单粗暴地直接呈现给用户
微信扫描关注我们
手机:15987653936 电话:0876-2154600
邮件:2422327850@qq.com
地址:云南省文山市景怡花园1-15号商铺