继续最后一篇文章,最后一篇文章忘记了也是非常重要的前端部分,今天的网站基本上是一个启示页面,然后少量的整页切换,大量的浏览器后台调用web从几年前开始,服务局部、动态更新页面显示状态的方式正在运行ajax流行起来,后台是基于xml的web服务,今日主流web基于所谓的服务rest架构的json为载体的web事实上,我个人认为服务rest和过去xml的soap与没有本质的变化相比,今天浏览器内运行的前端框架发生了更大的变化。
就我个人而言,我不擅长前端开发人员,也不热衷于前端内容。因此,为了帮助团队的前端,我做了相对详细的数据查询。我总结了今天使用的前端框架类型:
- 前端UI框架类:代表Bootstrap,Bootstrap其实是这一类框架里的后辈,但是知名度由于其优秀和源自Twitter这样的知名项目首当其冲成为这类项目的代表。简单来说,它让它成为这类项目的代表。UI组织人员更方便。ui,我个人认为程序员不会在这个层面使用太多的框架;
- Javascript模板引擎:简单地说,各种模板引擎从很久以前就充斥着web但是js模板引擎的大规模使用也源于ajax大量应用和node.js这款js因此,后端技术的出现,js其实模板引擎是用的js在做Response.Write当然,有浏览器端,更当然node除此之外,我相信在某些情况下js中调后端接口时,使用模板引擎会事半功倍;
以下是我能找到的模板引擎,因为js模板引擎种类繁多,我不太擅长前端。摘录过去著名帖子的内容:
Javascript模板引擎作为数据和界面分离中最重要的环节,受到开发者的广泛关注。五个流行的模板引擎:
-
- Mustache 通常被称为JavaScript模板的基础。另一个流行的解决方案Hanldebars实际上是基础Mustache构造。这并不意味着Mustache模板解决方案不好。
- Underscore Templates 它提供了各种有用的方法和简单的模板。它的语法和Mustache稍有不同。
- Embedded JS Templates 缩写EJS 来源于ERB模板,且与ERB有许多相似之处。它有着与ERB相同的Tag,它还包含许多相同的功能;EJS特别之处在于,您需要将模板存储在单独的文件中,并将文件名传输给EJS。它将加载文件并返回HTML。(我今天刚翻过来说ejs功能好,但使用不好慢)
- HandlebarsJS 构建在最流行的模板引擎之一Mustache以上。适用于Mustache模板的功能也适用于Handlebars模板。Handlebars还增加了很多Helper。其中之一是其中之一With”;
- Jade templating----Node.js的主流MVC随着框架中常用的模板引擎node走红,所以也很红;
- 真正意义上的Javascript框架:代表谷歌AngularJS,ReactJs是facebook轻量级的js框架,作为.net开发者还应该提到微软曾经推荐的微软MVVM框架Knockout.JS,基本上,这三个主题都是前端的分层框架,类似于后端mvc框架,浏览器端可以很好地获取所有的前端显示和后端数据js有些端分离,比如AngularJS比较谷歌所谓的重框架技术内部都有模板引擎,顺便说一句,vs2015年开始默认携带js前端框架是AngularJS;
用上前端ui你会很方便地构建框架web的ui即使同时处理移动终端,使用模板引擎也会让你js更容易从后台动态获取数据,然后显示到界面,AngularJS这样的框架几乎是为分层、多人开发和测试量身定制的大型框架。对许多公司来说,这将是一种前端混乱的良药,即学习成本可能更高。幸运的是,html css js的ui人员可以转移到前端多层框架层面,相信进步ui人员不会拒绝。
名词解释:
1、ajax
WebService三要素
SOAP、(ebervicesescriptionanguage)、(niversalescriptioniscovery andntegration)之一, soap用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, uddi用来管理,分发,查询webService 。具体实现可以搜索 Web Services简单实例 ; SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。SOAP使用基于XML的数据结构和超文本传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象。
React.js 是 Facebook 推出的一个用来构建用户界面的 JavaScript 库。
React中,把一切东西都看成组件,而且所有组件有其状态。 什么是状态?简单来说,一个组件有多种有限的状态,但同时只能是一种状态,不过条件处罚就会变成另一种状态。学术上叫有限状态机。
从评论这个组件说起,评论组件整体叫做CommentBox,这个父组件有两个子组件:CommentList和CommentForm,CommentList中又包含Comment这个小组件。
名词解释:
1、bs架构
B/S结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。B/S结构是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。 这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
2、b2b
B2B(也有写成 BTB,是Business-to-Business的缩写)是指企业对企业之间的营销关系,它将企业内部网,通过 B2B 网站与客户紧密结合起来,通过网络的快速反应,为客户提供更好的服务,从而促进企业的业务发展。近年来 B2B 发展势头迅猛,趋于成熟。
3、b2c
B2C是Business-to-Customer的缩写,而其中文简称为“商对客”。“商对客”是电子商务的一种模式,也就是通常说的直接面向消费者销售产品和服务商业零售模式。这种形式的电子商务一般以网络零售业为主,主要借助于互联网开展在线销售活动。B2C即企业通过互联网为消费者提供一个新型的购物环境——网上商店,消费者通过网络在网上购物、网上支付等消费行为。
4、wap
WAP 的盈利方式主要靠SP点播业务和WAP广告联盟,SP点播业务就是短信点播,彩信,铃声下载,包月服务等,本 小利大,早期的WAP网站靠他挣了不少钱,于是大量低俗网站应运而生,09年央视曝光SP业务存在欺诈用户及被大量WAP低俗网站利用后,SP被移动等运 营商规范整治,投放门槛提高,SP彻底进入寒冬,又加上智能手机普及,有着无数免费的精彩应用,SP逐渐退出WAP江湖。
5、app
6、webform
7、jquery
8、js
9、sql
10、io
I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分。 在POSIX兼容的系统上,例如Linux系 统,I/O操作可以有多种方式,比如DIO(Direct I/O),AIO(Asynchronous I/O 异步I/O),Memory-Mapped I/O(内存映设I/O)等,不同的I/O方式有不同的实现 方式和性能,在不同的应用中可以按情况选择不同的I/O方式。
软件里IO经常是读写行为的简写,和读写操作的库的简写。
11、队列
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。
12、异步
并行计算
并行通信
并行处理
13、同步
14、三层 MVC
三 层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(Presentation layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。
15、css
16、html html5
17、ui
UI即User Interface(用户界面)的简称。UI设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。UI还有其它的意义,如Unit Interval,Univ of Iowa,Unlock Instruction,Urgent Interrupt。
18、黑盒测试
19、白盒测试
采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方 法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定 的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要的技术是路径和分支测试。
20、webserver
Web Server中文名称叫网页服务器或web服务器。WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务
21、.net
对技术人员,想真正了解什么是.NET,必须先了解.NET技术出现的原因和它想解决的问题,必须先了解为什么他们需要XML,Web Services 和 SOA。技术人员一般将微软看成一个平台厂商。微软搭建技术平台,而技术人员在这个技术平台之上创建应用系统。从这个角度,.NET也可以如下来定义:(更精确的说,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时Common Language Runtime之上的应用程序。)如果一个应用程序跟.NET Framework无关,它就不能叫做.NET程序。比如,仅仅使用了XML并不就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是.NET应用。.NET是基于Windows操作系统运行的操作平台,应用于互联网的分布式。
22、linux
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
23、热数据
24、数据仓库
25、在线
26、近线
所谓近线存储(NearStore),是随着客户存储环境的细化所提出的一个概念,所谓的近线存储,外延相对较广泛,主要定位于客户在线存储和离线存储之 间的应用。就是指将那些并不是经常用到,或者说数据的访问量并不大的数据存放在性能较低的存储设备上。但同时对这些的设备要求是寻址迅速、传输率高。(例 如客户一些长期保存的不常用的文件的归档)。因此,近线存储对性能要求相对来说并不高,但又要求相对较好的访问性能。同时多数情况下由于不常用的数据要占 总数据量的比较大的比重,这也就要求近线存储设备在需要容量相对较大。在业界传统定义的近线存储设备主要为DVD-RAM光盘塔和光盘库设备。但随着存储设备的不断发展,跟据客户存储需求的不同,我们也会把低端的磁盘阵列(例如DS4100)或高端的磁带设备(例如3592)作为近线存储应用设备。
其实对于数据库来说,近线的概念,可以被认为就是不那么快,响应不那么及时,一个操作没有一个可控的最大响应时间范围的这类数据库系统,Hadoop很多传统的读写方式、技术方案就不像hbase那样能够及时、有效的反应。
27、hbase
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。 就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop 项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
全世界大量大型公司的数据都存储在其上。
28、mysql
由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
29、MariaDB
30、MyCat
MyCat是一位中国hp的系统架构师牵头,基于已经停止开发了的阿里开源的Cobar,所构建的分布式强事务兼容mysql协议的数据库集群中间件。
Mycat 1.4 alpha 版本发布,JDBC方式支持后端所有主流数据库,性能增强并修复一些Bug ,建议当前开发的项目采用。
什么是MyCAT
-
- 一个彻底开源的,面向企业应用开发的大数据库集群
- 支持事务、ACID、可以替代MySQL的加强版数据库
- 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群
- 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server
- 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
- 一个新颖的数据库中间件产品
目标
低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。
关键特性
-
- 支持SQL92标准
- 支持MySQL集群,可以作为Proxy使用
- 支持JDBC连接Oracle、DB2、SQL Server,将其模拟为MySQL Server使用
- 支持Galera for MySQL集群,Percona Cluster或者MariaDB cluster
- 提供高可用性数据分片集群,自动故障切换
- 支持读写分离,支持MySQL双主多从,以及一主多从的模式
- 支持全局表,数据自动分片到多个节点,用于高效表关联查询
- 支持独有的基于ER关系的分片策略,实现了高效的表关联查询多平台支持,部署简单
31、redis
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都 支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排 序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文 件,并且在此基础上实现了master-slave(主从)同步。
国内微博方案早期包括到现在都是基于Redis的。
32、Memcached
是一套分布式的快取系统,当初是Danga Interactive为了LiveJournal所发展的,但目前被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSD license授权释出。
memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。
memcached 的API使用三十二位元的循环冗余校验(CRC-32)计算键值后,将资料分散在不同的机器上。当表格满了以后,接下来新增的资料会以LRU机制替换掉。 由于memcached通常只是当作快取系统使用,所以使用memcached的应用程式在写回较慢的系统时(像是后端的数据库)需要额外的程式码更新 memcached内的资料。
33、Codis
Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务.
34、jexus
Jexus 即 Jexus Web Server,简称JWS,是Linux平台上 的一款ASP.NET WEB服务器。它是 Linux、Unix、FreeBSD 等非Windows系统架设 ASP.NET WEB 服务器的核心程序。
Jexus 即 Jexus Web Server,简称JWS,是Linux平台上的一款ASP.NET WEB服务器,是 Linux、Unix、FreeBSD 等非Windows系统架设 ASP.NET WEB 服务器的核心程序,是企业级ASP.NET跨平台部署的一种可选方案。与其它WEB服务器相比,Jexus不但具有跨平台ASP.NET服务器这样的标志 性特征,同时还拥有内核级的安全监控、入侵检测、URL重写、无文件路由等一系列重要功能和专有特性。
优点是:linux下一站式的asp.net容器,缺点:配置文档缺乏,封闭源代码,不开源,作为国产闭源产品却没有像样的商用案例支持其可靠性和安全性。
35、Apache
2个含义,著名webserver软件,或者Apache软件基金会
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
Apache软件基金会(也就是Apache Software Foundation,简称为ASF),是专门为运作一个开源软件项目的 Apache 的团体提供支持的非盈利性组织,这个开源软件项目就是 Apache 项目。除了Apache,实际上开源的软件里主要的基础的多一半是该基金会管理下或者基于该基金会所管理的软件项目。
36、Nginx