但是现在说的view层和原来的view层含义已经不一样

2019-10-06 18:31栏目:美高梅开户
TAG:

nodejs

我纠结了一会node属不属于前端范畴的问题。我认为是属于的。

解决高并发一直是后台哥哥们乐于讨论的问题,比如咱们的好近实时监控系统,理论上每个连接都会生成一个新线程,每个新线程可能需要 2 MB 配套内存。在一个拥有 8 GB RAM 的系统上,理论上最大的并发连接数量是 4,000 个用户。随着用户的增长,咱们希望监控程序支持更多用户,这样,就必须添加更多服务器。当然,这会增加业务成本,尤其是服务器成本。除了成本上升外,还有一个技术问题:用户可能针对每个请求使用不同的服务器,因此,任何共享资源都必须在所有服务器之间共享,到这里,技术就到了瓶颈。node诞生的初衷,就是为了解决这个问题。node解决这个问题的方法是:更改连接到服务器的方式。每个连接发射一个在 Node 引擎的进程中运行的事件,而不是为每个连接生成一个新的 OS 线程,并为其分配一些配套内存。

nodejs属于服务器端语言,在前后端分离这场圈地运动中是前端的一个有利武器,同时在前端自动化上也提供了大量的可编程工具(grunt,bower,gulp等),淘宝百度对nodejs的热度一直很高,自然而然我认为这是一个趋势。去年美团成立了美团酒店的团队,选择了node作为后台语言,圈走了后台大部分的工作。我在想,前端js加上node再加上对UI的技能需求,以后是不是前端工程师是不是该叫全端工程师了。

P:我我对node只有粗浅的了解,也是以后希望学习的方向,不辩。

3、前端的统一与分割

58.Ajax 是什么?Ajax 的交互模型?同步和异步的区别?如何解决跨域问题?

Ajax 是什么:

  1. 通过异步模式,提升了用户体验
  2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
  3. Ajax 在客户端运行,承担了一部分本来由服务器承担的工作,减少了大用户量下的服务器负载。

Ajax 的最大的特点:

  1. Ajax可以实现动态不刷新(局部刷新)
  2. readyState 属性状态 有5个可取值: 0 = 未初始化,1 = 启动, 2 = 发送,3 = 接收,4 = 完成

Ajax 同步和异步的区别:

  1. 同步:提交请求 -> 等待服务器处理 -> 处理完毕返回,这个期间客户端浏览器不能干任何事
  2. 异步:请求通过事件触发 -> 服务器处理(这是浏览器仍然可以作其他事情)-> 处理完毕
    ajax.open方法中,第3个参数是设同步或者异步。

Ajax 的缺点:

  1. Ajax 不支持浏览器 back 按钮
  2. 安全问题 Ajax 暴露了与服务器交互的细节
  3. 对搜索引擎的支持比较弱
  4. 破坏了程序的异常机制
  5. 不容易调试

解决跨域问题:

  1. jsonp
  2. iframe
  3. window.name、window.postMessage
  4. 服务器上设置代理页面

  5. 对网站重构的理解

网站重构:在不改变外部行为的前提下,简化结构、添加可读性,而在网站前端保持一致的行为。也就是说是在不改变 UI 的情况下,对网站进行优化,在扩展的同时保持一致的 UI。

对于传统的网站来说重构通常是:

  1. 表格(table)布局改为 DIV + CSS
  2. 使网站前端兼容于现代浏览器(针对于不合规范的CSS、如对 IE6 有效的)
  3. 对于移动平台的优化
  4. 针对于 SEO 进行优化
  5. 深层次的网站重构应该考虑的方面
  6. 减少代码间的耦合
  7. 让代码保持弹性
  8. 严格按规范编写代码
  9. 设计可扩展的API
  10. 代替旧有的框架、语言(如VB)
  11. 增强用户体验
  12. 通常来说对于速度的优化也包含在重构中
  13. 压缩JS、CSS、image等前端资源(通常是由服务器来解决)
  14. 程序的性能优化(如数据读写)
  15. 采用CDN来加速资源加载
  16. 对于JS DOM的优化
  17. HTTP服务器的文件缓存

  18. HTML5的优点和缺点

IOS & ANDROID系统的普及

2009年之后IOS和Android的快速发展,导致WEB开发发生以下改变:
1. html5在移动浏览器上优先实现,Android和IOS设备全面支持html5、CSS3,加速了IE消失
2. 上网随时随地发生。鼠标点击、内容繁复的网页越来越简洁,响应式设计快速流行。

  1. APP和服务器交互大部分和网页一样基于HTTP协议,webapp,hybrid app的概念被提出。

关于webapp,这里简单说下web相比原生的优势

  • 跨平台:常说的一次编译,到处运行
  • 免安装:打开浏览器,就能使用
  • 快速部署:升级只需在服务器更新代码,而不像客户端需要更新版本
  • 超链接:可以与其他网站互连,可以被搜索引擎检索

听起来刁刁的,这些优势却经不住推敲。首先,不同系统的用户使用习惯是不同的,ios用户返回按钮习惯在左上角,而安卓用户却习惯在屏幕最下方的位置,产品经理问,那放在哪儿。呵呵哒不知道。其次,曾经看过一个调查报告,问用户更喜欢用客户端还是web端。

喜欢客户端的用户远远超过了web端。你问我喜欢什么,我也是喜欢客户端。你问我为什么,我觉得比较有安全感吧,而且更新版本让我觉得很爽,很有存在感,让我知道我并没有被世界遗忘,让我知道你们产品在更新,在为我操心。另外超链接..我一个客户端要你seo干什么。这还没完,webapp的缺点还有一大把,最大的缺点莫过于没有GPU加速,想要实现一个复杂一些动画,真是要了浏览器亲命了。其次网页是单线程的,加载dom时会阻塞js,导致的结果就是,卡。一卡就烦了,烦了就关了,用户减一。

而hybrid就不同了,hybrid app的意思是混合原生应用,将需要频繁更新的页面作为web放在远程更新。这是一个靠谱的解决方案,BAT有很多案例,如微信发布的JS SDK,掌上百度和淘宝客户端Android版;

当然这里边的坑有很多,有机会,我把我踩过的坑讲给你们听。

1、前端的发展史

43.ajax 的过程是怎样的

  1. 创建XMLHttpRequest对象,也就是创建一个异步调用对象
  2. 创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息
  3. 设置响应HTTP请求状态变化的函数
  4. 发送HTTP请求
  5. 获取异步调用返回的数据
  6. 使用JavaScript和DOM实现局部刷新

  7. 异步加载和延迟加载

  8. 异步加载的方案: 动态插入 script 标签

  9. 通过 ajax去获取 js 代码,然后通过 eval 执行
  10. script 标签上添加defer 或者 async 属性
  11. 创建并插入iframe,让它异步执行 js
  12. 延迟加载:有些js 代码并不是页面初始化的时候就立刻需要的,而稍后的某些情况才需要的

  13. 前端的安全问题?

  14. XSS

  15. sql注入
  16. CSRF:是跨站请求伪造,很明显根据刚刚的解释,他的核心也就是请求伪造,通过伪造身份提交POST和GET请求来进行跨域的攻击

完成CSRF需要两个步骤:

  1. 登陆受信任的网站A,在本地生成 COOKIE
  2. 在不登出A的情况下,或者本地 COOKIE 没有过期的情况下,访问危险网站B。

未来

3D页游?WebOS? 虚拟现实?

最后,随着用户硬件性能的提升,网络带宽的越来越粗,传感系统,Retina,WebGL技术的日渐成熟,再加上O2O的蓬勃发展,上边这些会成为现实么?

1 赞 3 收藏 评论

图片 1

这是一个演讲稿,mark一下

优点:

网络标准统一、HTML5本身是由W3C推荐出来的。
多设备、跨平台
即时更新
提高可用性和改进用户的友好体验
有几个新的标签,有助于开发人员定义重要的内容
可以给站点带来更多的多媒体元素(音频和视频)
可以很好的代替Flash和Silverlight
被大量应用于移动应用程序和游戏

BIG DATA

大数据大概是过去几年最火热的名词,我一大批同学听说数据挖掘年薪30万都嗷嗷嗷去做数据库了。
大多数时候,我们在谈大数据其实都是在谈在海量数据下的数据挖掘、数据分析、智能推荐、实时分析等。不同公司的技术方案不同,我只列两个国内成功的案例:
• 京东个性化电商,场景包括基于行为、偏好、地域、时间、好友关系等维度,向不同的用户推荐不同的产品,不同用户搜索产品排序也不同…
• 百度地图东莞8小时迁徙图;百度搜索智能提醒
• 360手机卫士,电话号码防骚扰功能是通过用户的地域、身份、骚扰趋势,将标记的2.56亿个电话号码选出1000个和用户关联度最高的,写入用户手机的10k的文本里,达到不联网不做任何网络交互的情况下,为用户防骚扰

html/css/js

刀和火什么时候才到的呢?一直到96年,css的出现,同年,网景公司推出了javascript 之后微软也推出了vbscript 前端届的刀和火出现了,同时意味着正式开始出现前段,这个时候前端的html负责页面结构,决定着网页的结构和内容,是整个网页的躯壳,css负责样式部分,他决定了网站看起来是什么样子,属于前段的皮肤吧,js控制网页的行为,决定做什么一般来说,js负责调用一些前端计算与动态加载,应该属于整个网页的灵魂。只有这三个同时具备的,才能算是一个真正的网站前端。
但是这个时后的网页还有些许的缺陷,不能局部加载,复用性比较差。就拿我们的网银举例子:可看到,基本上所有的界面的头部,底部还有菜单部分,都基本上是一样的,我没道理同样的代码在每个页面上都要写一遍,所以不久,微软就推出了ifram标签,实现了异步的局部加载,就是相当于在网页中嵌套一个网页,切换目录只是切换ifram中的网页,像我们的验印系统和CRM中的局部加载就是这样实现的。

47.javascript里面的继承怎么实现,如何避免原型链上面的对象共享

用构造函数和原型链的混合模式去实现继承,避免对象共享可以参考经典的extend()函数,很多前端框架都有封装的,就是用一个空函数当做中间变量

HTML5+CSS3

这是这几年被说烂了的一个词,人人都在说HTML5,问HTML5是什么,他们也说不清楚,就是酷,就是炫,就是酷炫。

在我看来,HTML5只是一个三人成虎的东西,它吸引的眼球远超过了它提供的功能,HTML5只是提供了一些新的API,就等于一个app从1.0升级到2.0增加了附近的人功能而已。而且其提供的API,也就是在移动端试一试水,在pc端因为兼容的问题,始终不能被明媒正娶。pc端的开发还是以HTML4.0+CSS2为基准渐进增强。至于css3,它最被人关注的动画,也是flash玩剩下的东西。

移动端的飞速发展催化了HTML5的发展,HTML5的发展也促使各浏览器趋于标准化。

这条标准化路上,微信功不可没,1024,围住神经猫,淘宝十年,LEXUS NX这些融合了大量HTML5+CSS3元素的页面让人印象深刻。

此外,微软抛弃IE代号,开发edge,各大浏览器厂商的不断标准化,HTML5草案定稿,ES6草稿的不断实现与完善,前端之路看起来是一条京畿坦途,我充满期待。

jquery

然后一直到09年的时候,前端一直稳定发展,没有进行什么大的改变,这段时间市面上主要有两款浏览器,我们称之为IE浏览器和非ie浏览器,所谓神仙打架凡人遭殃,ie浏览器为了抢夺网景公司的市场,开发出了javascript的变种,jscript。虽然两个基本上完全一样,但是语法糖上可能还是有些许的差别,所以,那个时代的前端工程师他们的主要工作就是画页面和踩各种坑,那个时代一个阅历丰富的程序员的一个标志就是熟练掌握两种浏览器之间的差别,且能找到兼容的方法,
jquery的出现在一定程度上缓解了这个问题,正如jquery的logo显示的一样,他封装了write less do more 他致力于用更少的代码实现更多的功能。
jquery其实是一个脚本库,jQuery抽象了复杂的代码和浏览器怪异模式,兼容不同的浏览器,用简短的代码实现动效,用链式语法风格减少了程序员的代码量。使我们有时间做重要的事情.虽然现在市面上的各种框架都能实现jquery的各种功能,但是他凭借较低的学习成本以及多少年来积攒的用户量,依然在现如今的前端圈中占有一席之地

46.ie 各版本和 chrome 可以并行下载多少个资源

  1. IE6 2 个并发
  2. iE7 升级之后的 6个并发,之后版本也是 6 个
  3. Firefox,chrome也是6个

版权声明:本文由美高梅开户送58元官网发布于美高梅开户,转载请注明出处:但是现在说的view层和原来的view层含义已经不一样