设计一个网页,将奇异的美感和信息的冲击结合在一起,将艺术与科学融为一体。秘诀在于给自己一点创作自由 – 同时坚持一个经过验证的网页布局结构。这是一个快速指南,用于构建转换提升的网页布局设计教程。第1步:第一考虑用户旅程在开始草拟想法之前进行研究和摸索网页结构是至关重要的。在进行研究时,请确保您不遗余力地关注潜在客户的期望。毕竟,在不了解目标用户的期望的情况下,设计一个提供卓著用户体验的网站几乎是不可能的。一个无法提供良好用户体验的网站吸引大量流量的机会要少得多。但是有些不经意的用户体验仍在吸引大量用户。研究用户需求和期望的方法有很多种,但访谈和卡片分类可能是最受欢迎的方法。一旦您深入了解目标受众对页面的期望,您就可以开始研究信息架构了。卡片分类练习可以为您提供独特的见解,在您设计网站的整体结构及其导航时指导您的决策。信息架构(IA)就是以清楚,直观和明智的方式组织网站信息。考虑一下您自己浏览网页的体验:登陆网页计划不周,并且在几秒钟内无法证明其相关性令人沮丧,并且可能会让您立刻点击关闭或返回按钮。好的IA将创建一个层次结构,强调最重要的元素,并维持访问者的参与。如果没有坚实的“骨架”,你就会为失败做好准备。导航是您应该尽早考虑的IA的关键方面之一。如果用户无法找到自己的方式,那么您的网站是多么华丽并不重要。良好的导航有三个主要特点:简陋明晰一致性第2步:获得正确的视觉层次结构强盛的视觉层次结构使得引导用户访问您渴望他们采取的操作的站点与看起来不错的站点之间存在差异。人类是令人难以置信的视觉生物,当涉及到在线消费内容时,我们经常扫描页面以快速分辨出我们是否能在潜入之前找到我们需要的东西。作为设计师,您可以确保看到最重要的信息并吸引用户。如果没有清楚的视觉层次结构,页面上的所有内容似乎同样重要,使其变得无法抗拒。各种设计原则有助于创建强盛的视觉层次。使用网格网格提供了一种强盛的方法,可以在页面上的不同元素之间创建连接,并为布局提供顺序感。网格显示所有元素在页面上如何相互交互,并确保您使用清楚的结构来突出正确的信息。设计自然扫描模式人们使用两种主要的眼睛扫描模式来快速扫描内容块:F形图案Z形图案作为设计师,您可以很好地控制用户扫描页面时的外观,因此为他们设置正确的路径至关重要。我们经常在博客和新闻网站等文本较多的网站上遇到F形图案。值得注意的是,尼尔森 – 诺曼集团 – 那些在2006年发现这种阅读模式的人 – 最近重新审视了他们的研究并澄清了一些环绕它的误解:F形模式实际上对用户和企业不利,应该是避免。如果用户以F模式扫描您的网站,则表示他们对页面左侧显示强烈偏好,并且缺少右侧的重要内容。要阻挠F扫描,您必须格式化网站上的内容,以便将其引导至您认为最重要的信息。以下是引导访问者阅读最重要内容的几种方法:在前两段中包含最重要的信息使用标题和副标题大胆的重要单词或短语直观地分组少量相关信息经常使用项目符号和编号列表努力为您的用户做出艰苦的工作,以尽量减少干扰,并阻挠他们采取捷径。视觉上优先考虑关键元素使用网页布局设计的五个基本构建块来构建一目了然的视觉层次结构。(但请记住,对于有视力障碍的访客,内容顺序胜过所有这些!)1.尺寸在任何设计中将重要性与重要性联系起来非常重要 – 最重要的信息应该是页面上最大的信息并且需要最多的关注。2.颜色请记住,颜色可以作为组织工具,也可以作为设计中的品牌/个性工具。3.布局良好的格式可以激励访问者在整个页面中使用内容,并更快地找到最重要的信息。4.间距白色空间或负空间是设计师用来吸引注意力最重要的UI元素的工具。5.风格抉择匹配并突出您的品牌的风格将有助于您更有效地传达您的信息。网页布局应用三分法则这个原则要求您将设计划分为三分之三(三行和三列),以查看线相交的位置并找出设计焦点所在的位置。这是一种有效的技术,可以启动网站的构图,并选择元素的定位和框架。使用网格是将此技术应用于任何设计的最简单方法。第3步:专注于您的号召性用语按钮没有号召性用语按钮(CTA)的网站是不完整的。事实上,营销人员会说他们是页面上最重要的元素,所有的努力都应该集中在让人们点击上去。精心设计的CTA的战略性使用可以极大地改善页面的流动并引导用户进行转换,因此正确实现这一点至关重要。以下是设计按钮时需要注意的事项。确保您的按钮看起来可点击这可能听起来很明显,但是你会惊讶地发现设计师经常遗弃清楚度以支持创造力或一些新的潮流。要确保用户了解元素是一个按钮,请使用标准视觉提示来帮助他们确定可点击性,例如形状,阴影和高光。清晰地标记所有按钮按钮用于告诉用户下一步应该做什么。如果副本含糊不清,那么摸索而非行动的人。向用户明确说明他们点击后会发生什么。在视觉上突出显示最重要的CTA设计独特的CTA有三个重要方面:颜色,对比度和位置。使用醒目的颜色和足够的对比度来帮助主要按钮突出 – 并将它们放置在用户不会错过它们的显着位置。相关文章推举如何设计一个网站?设计网站的14个细节 设计网站并不困难,只需避免一些常见的错误。在这篇文章中,我们将介绍14个需要采取的设计细节,以达到完美的网站布 […]...UI设计教程:避免10个常见UI设计错误 莱昂纳多达芬奇说:“简约是最精致的形式。”无论我在设计什么,这都是我的口头禅,这也是有效UI设计的基本要求之一 […]...网页设计发展历史 在中国,十分之七的小企业都有商业网站,非商业实体以及个人也可以自由开发自己的网站,在2018年,网页设计是一种 […]...服务器集群是什么?服务器集群的重要性及类型 顾名思义,服务器集群是指两个或多个运算机同时工作。集群中的每台运算机都称为一个节点,具有自己的特性,如硬盘驱动 […]...如何使用phpMyAdmin从备份中恢复MySQL数据库? phpMyAdmin是一个数据库程序,用于通过web接口远程操作数据库。在基本级别,它答应完全治理数据库表(创 […]...网页布局设计教程
本帖最后由 瞒总 于 19:58 编辑 本课程时间比较长,有150个课时,需要耐心观看,都是关于seo排名优化的基本理论见识,还没入门的可以系统性的学习下。系统性的学习还是很不错的。如果你觉得这些基本东西已经对你无用了,可以移步 到我们网址的 VIP会员 板块去4.png (385 KB, 下载次数: 894)下载附件2019-1-22 19:54 上传本教学课程下载的地址是:游客,如果您要查看本帖隐蔽内容请回复SEO优化, SEO优化教程, SEO培训
Google创建了Kubernetes,以帮助开发人员更好地跨集群治理其容器化应用程序。尽管测试版于2014年发布,但Kubernetes的首先个稳固版本于2018年9月推出,以下将介绍这个流行的新工具的基本架构和用途。集群治理的必要性今天的互联网用户不能容忍停机时间,因此开发人员不得不在不中断服务的情况下找到执行维护和更新的方法。容器或包含应用程序运行所需的所有内容的隔离环境使开发人员可以轻松地动态编辑和部署应用程序。因此,容器化已成为打包,部署和更新分布式Web应用程序的首选方法。当然,跨多台运算机治理此类应用程序可能会很快变得复杂,这就是谷歌开始开发一个开源系统的原因,该系统可以简化跨多个主机的容器化应用程序的“部署,扩展和操作”。Kubernetes答应开发人员创建和治理物理和虚拟机的“集群”,以便通过共享网络协调合作。Kubernetes的优势Kubernetes减轻了在大规模生产环境中手动治理容器的负担,如果设置正确,Kubernetes可以通过自动化基础架构资源治理为开发人员节约时间和金钱。例如,当实例失败时,Kubernetes会自动重新创建,最终结果是更顺畅的用户体验和更少的应用停机时间,使用Kubernetes带来了学习曲线。Kubernetes集群Kubernetes集群是一个能够相互通信的容器网络,您可以拥有一个仅在一台运算机上运行的小型集群,或者您可以创建跨多台运算机运行的大型集群。集群中的运算机分配了特定角色,Kubernetes集群通常包括:主服务器主服务器是主要机器,负责促进集群的不同组件之间的通信,主服务器使用所谓的声明性计划,使用可用的基础架构最有效地运行应用程序。节点Kubernetes集群中的其他运算机充当在本地和外部资源的帮助下执行工作负载的节点,节点通过称为kubelet的代理与主节点通信,每个节点的配置数据存储在称为etcd的分布式键值存储中。一个容器运行时每个节点必须具有容器运行时(例如Docker)来处理来自主服务器的指令,Docker的工作当然是创建和治理容器。网络容器需要网络和IP地址以促进通信,Web开发人员可以抉择几个Kubernetes网络。Kubernetes API最终用户可以通过主API与集群交互,开发人员使用名为kubectl的命令行工具控制其容器化应用程序。这些组件一起工作以确保应用程序的所需状态与群集的状态匹配。对象和工作量Kubernetes对象模型提供了原语,答应开发人员定义工作负载,促进扩展和与对象交互,这些是您将要处理的主要对象类型和工作负载:Pods容器本身包含在称为pods的对象中,Pod由一个或多个容器组成,这些容器协同工作并在同一节点上共享生命周期。例如,pod可以包含运行应用程序服务器的主容器和负责在检测到外部存储库更改时检索文件的帮助程序容器。Kubernetes集群将每个pod作为一个单元进行治理。复制控制器和集通过定义pod模板和创建副本以分配工作负载,复制控制器和复制集可以实现水平扩展。部署部署是开发人员直接治理pod的生命周期的高级对象,它们描述了应用程序的所需状态。部署修改后,Kubernetes会自动调整所有副本集,从而可以在不影响应用程序可用性的情况下执行更新。服务Pod只能在其Kubernetes集群中访问,因此要使您的应用程序可用于外部单词,pod必须作为服务公开。Kubernetes服务将相关的pod组合在一起,并将它们作为单个实体出现给最终用户。Kubernetes入门在开始使用Kubernetes创建集群之前,必须先下载并安装几个东西,出于本教程的目的,我们需要:Minikube,一个轻量级的发行版,可让您在本地运行Kubernetes集群像VirtualBox这样的虚拟化软件Kubectl,Kubernetes的命令行客户端像Docker这样的容器运行时创建群集我们将使用Minikube创建一个小型虚拟机,并使用一个节点部署一个集群。1.安装VirtualBox下载VirtualBox并按照操作系统的安装说明进行操作,或者,您可以使用KVM2或您爱慕的任何治理程序。2安装KubectlKubectl是开发人员与集群交互的方式,您可以在Kubernetes网站上下载kubectl并查找安装说明。3.安装Docker请下载并安装适用于Windows的Docker或适用于Mac的Docker,Linux用户可以查阅Docker文档以查找其分发的安装说明。4.安装Minikube有关设置适用于Windows,Mac或Linux 的Minikube所需的一切,请参阅Minikube文档。5.运行Minikube完成所有设置后,创建群集只需要一个步骤,从命令行输入:minikube start现在,要确认您的集群正在运行,请输入:kubectl get nodes如果操作正确,您应该会看到有关群集的一些信息,例如其状态和版本号。配置Kubectl如果您按照上述步骤安装了Minikube,那么kubectl应该自动配置自己以访问您创建的集群,您可以使用以下命令进行确认:kubectl cluster-info~/.kube/config文件定义了kubectl可以访问的哪些API端点和集群,确定哪个集群kubectl与之交互称为“setting the context.”。要查看所有可用上下文,请使用以下命令:kubectl config use-context minikube您可以使用KUBECONFIG变量更改上下文,如果一切都配置正确,您应该能够使用以下命令在浏览器中打开Kubernetes外表板:minikube dashboardKubernetes外表板Kubernetes外表板会告诉您需要了解的有关群集的所有信息,要确定外表板是否已启动并运行,请输入以下命令:kubectl get pods -n kube-system寻找以kubernetes-dashboard,开头的条目,在您可以查看外表板之前,必须运行以下命令来代理API:kubectl proxy现在,Kubernetes API将在http://localhost:8001,要在浏览器中打开信息中心,请访问以下网址:http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/创建服务如前所述,pod最初只能通过集群中的内部IP地址访问,为了使您的容器可以在Kubernetes之外访问,必须将容器作为服务公开。Kubernetes服务基本上是一个内部负载平稳器,要公开pod,请使用以下kubectl命令:kubectl expose deployment hello-node –type=LoadBalancer–type=LoadBalancer标志让Kubernetes知道您渴望向公众公开该服务,只需替换hello-node应用程序容器的名称即可,您可以使用以下命令查看新创建的服务:kubectl get services如果您的云提供商支持负载均衡器,则可能会为您提供外部IP地址来访问该服务。如果您使用的是Minikube,则–type=LoadBalancer标志可通过minikube服务命令访问您的服务。结论考虑到该工具的复杂性和实用性,很难相信Kubernetes是一个开源工具。不要被看似复杂的架构和令人困惑的拼写所吓倒,如果您正在跨多台机器开展大型项目,Kubernetes可以让您的工作更轻松。相关文章推举OAuth 2.0:掩护客户端凭据的节点API 掩护服务器客户凭据可能很棘手,OAuth 2.0是将用户身份验证卸载到其他服务的绝佳方法,但如果没有用户进行身 […]...内联,外部和内部CSS样式之间的区别 有三种方法可以为网站添加CSS样式:可以使用内部CSS并在
HTML文档部分包含CSS规 […]...Flutter – 适用于Android和iOS的全新开源挪动应用程序框架 Flutter是一款挪动应用程序SDK,用于为Android和iOS构建高性能,高保真度的原生Android和 […]...APPIUM – 用于测试的自动化工具 Appium最初由Dan Cueller开发,用于利用Apple iOS的UI自动化框架对本机挪动应用程序运行 […]...谈天机器人开发框架 Chatbot也被称为IM Bot,人工会话实体,谈话机器人和谈天机器人。它是一个自动化软件程序,通过音频谈天 […]...Kubernetes教程, 基础见识入门Node.js是什么?Node.js是开源的Javascript,它答应用户从服务器端运行脚本。它在用户的Web浏览器中加载之前动态生成网页。因此,Node.js已经成为一个基础,它答应Web应用程序开发统一单个平台的代码。概观Node.js答应使用javascript来创建Web服务器和网络工具。Node.js应用程序可以在许多服务器上运行,例如Linux,Microsoft Windows和任何其他可以编译为javascript的服务器。Node.js中的函数被设计为非阻塞,这是PHP和Node.js之间的主要区别。为PHP Web开发安装Node.js.查看Microsoft Windows和Ubuntu上Node.js安装的详细指南。Node.js Gurus的启示要成为PHP开发领域的最佳Node.js开发人员,您断定需要了解Node.js的最佳实践。这篇文章将进一步帮助您将Node.js技能提升到新的水平。Node.js PHP Web开发的最佳实践1.新项目 – 使用npm脚本当你可以用npm脚本和Node安顿它们时,停止编写bash脚本。EG,npm运行构建,启动和测试Npm脚本就像Node开发新项目时的一个实际来源。考虑到npm脚本具有前后挂钩,您可以获得非常复杂的自动化级别:"scripts": {"preinstall": "node prepare.js","postintall": "node clean.js","build": "webpack","postbuild": "node index.js","postversion": "npm publish"}2.确保安全 – 使用env Vars通过使用env vars,即使在项目的早期阶段也能确保敏锐数据的安全性。此外,一些库和框架将引入像NODE_ENV这样的信息来修改它们的行为。将其设置为生产。同时设置MONGO_URI和API_KEY值。您可以创建一个shell文件(例如start.sh)并将其添加到.gitignoreNODE_ENV=production MONGO_URL=mongo://localhost:27017/accounts API_KEY=lolz nodemon index.jsNodemon also has a config file where you can put your env vars (example):{"env": {"NODE_ENV": "production","MONGO_URL": "mongo://localhost:27017/accounts"}}3.快速而精妙的Node.js – 事件循环功能强盛且智能的事件循环使Node.js如此快速和出色。在没有事件循环的情况下等待输入和输出任务完成后浪费的时间。如果您需要执行CPU密集型操作(例如,运算,密码散列或压缩),那么除了为这些CPU任务创建新进程外,您可能还想探索使用setImmediate()延迟任务的时间或setTimeout() – 其回调中的代码将在下一个事件循环周期继续。nextTick()与名称相反的工作循环。4.良好的文档 – 良好的命名约定Gurus一直都说在你的见识中使用最好的名称约定。因为好的名字可以作为一个很好的文档。同样,文件名必须正确反映内部代码的用途。如果您查看Node(GitHub链接)的lib文件夹,其中包含与该平台捆绑在一起的所有核心模块,那么您将看到文件/模块的明确命名(即使您对所有核心模块不是很熟悉) ):events.js fs.js http.js https.js module.js net.js os.js path.js process.js punycode.js querystring.js内部模块标有下划线(_debugger.js,_http_agent.js,_http_client.js),就像代码中的方法和变量一样。这有助于告诫开发人员这是一个内部接口,如果您正在使用它,您可以自己做 – 如果它被重构甚至删除,请不要埋怨。5.不要使用Javascript即使使用ES6和ES2016 / ES7添加的两个功能,JavaScript仍旧有其怪癖。你只需要几个宏(宏可以让你构建你想要的语言),而不是一个全新的语言,然后考虑Sweet.js就可以做到这一点 – 答应你编写生成代码的代码。6.集群Web应用程序由于节点运行时仅限于单个CPU核心并且约摸有1.5 GB,因此在大型服务器上部署非群集节点应用程序会极大地浪费资源。要获得超过1.5 GB的多核心,请在您的应用中加入群集支持。假设您现在正在使用小型硬件上的单个系统,Cluster为您提供了未来的灵活性。测试是检查应用程序的最佳群集进程数量的最佳抉择,但最好是在平台的帮助下提供合理的默认值,并提供简陋的回退,例如:const CONCURRENCY = process.env.WEB_CONCURRENCY || 1;7.Git主要位大多数应用程序都包含必不可少的记录和生成的记录。当使用像git这样的源代码控制系统时,必须阻挠监视生成的内容。例如,您的节点应用程序通常具有一个用于依赖项的node_modules目录,您应该将其保存在git之外。只要每个依赖项都列在包deal.Json中,任何人都可以使用jogging npm install创建应用程序的工作邻域复制 – 以及node_modules。跟踪生成的记录会导致git历史过去不必要的噪音和膨胀。更糟糕的是,鉴于某些依赖项是原生的并且应该被编译,检查它们会使您的应用程序变得不那么可挪动,因为您将仅从单个且可能不适合的架构提供构建。出于同样的原因,您不应该在bower_components或grunt构建的编译属性中确定。如果你不小心检查了node_modules,那没关系。你可以这样拿掉它:echo'node_modules'> .Gitignoregit rm -r --cached node_modulesgit commit -am'ignore node_modules'还要忽略npm的日志,以免它们混乱我的代码:echo'npm-debug.Log'> .Gitignoregit commit -am'igno npm-debug'通过忽略这些无用的记录,您的存储库可能会更小,您的提交可能更容易,并且您将阻挠生成的目录中的合并冲突。结论:最好的方法是熟悉Node.js并把握基础见识。现在,通过学习正确的方法来研究代码。是的,如果你有一些很好的见识可以分享这个,请不要犹豫,将你的想法放在下面的评论框中。相关文章推举OAuth 2.0:掩护客户端凭据的节点API 掩护服务器客户凭据可能很棘手,OAuth 2.0是将用户身份验证卸载到其他服务的绝佳方法,但如果没有用户进行身 […]...APPIUM – 用于测试的自动化工具 Appium最初由Dan Cueller开发,用于利用Apple iOS的UI自动化框架对本机挪动应用程序运行 […]...Kubernetes教程 – 基础见识入门 Google创建了Kubernetes,以帮助开发人员更好地跨集群治理其容器化应用程序。尽管测试版于2014年 […]...TypeScript简介:Web的静态类型 TypeScript是使用JavaScript创建更好体验的众多尝试之一。 TypeScript究竟是什么? […]...Swagger与Apiary有什么区别? Swagger和Apiary是软件开发人员用于构建,使用,设计和记录RESTful基于Web的服务的两种流行的 […]...