web技术

程序员Web面试之JSON

强颜欢笑 提交于 2020-03-12 08:46:15
JSON是什么? JSON(JavaScript对象表示法), 是在网络通信下,常用的一种数据表达格式,它有助于我们于一个自描述的,独立的和轻的方式呈现并交换数据。这些数据可以易于和转换为JavaScript对象。 JSON格式的最大优点: 它可以被很容易得被转换为一个javascript对象。例如,下面的代码片段中看到的,我们有一个JSON格式的数据里面有“姓名”,“街道”,“年龄”和“手机”。 <script type="text/javascript"> var JSONObject= { "name":"John Johnson", "street":"Oslo West 555", "age":33, "phone":"555 1234567"}; alert(JSONObject.name); </script> 现在,这个数据可以直接使用,如我们可获得JSONObject的对象,并很方便的调用其“name”属性。 是否用SOAP可以做JSON同样的事情呢? 有2点不同: 首先,SOAP是用XML标签表达,比较重。JSON比较轻,纯数据。 其次,最重要的是,JSON可直接转换为javascript对象。同样的要转换SOAP XML为javascript对象是较繁琐的任务。 是否所有的技术都支持JSON? 是的,几乎所有的数据交换都支持JSON。 如下所示: WCF服务

如何正确学习web前端流程以及如何找工作

孤街浪徒 提交于 2020-03-11 20:08:38
我给你解释一下web前端工作是做啥的,Web前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript/Flash等各种Web技术进行客户端产品的开发。完成客户端程序(也就是浏览器端)的开发,开发JavaScript以及Flash模块,同时结合后台开发技术模拟整体效果,进行丰富互联网的Web开发,致力于通过技术改善用户体验。 个人背景: 首先我的前端是自学的,而那个时候并没有前端的称呼,那个时候叫网页制作,所以我们当时是学Java,所谓的web前端其实就是顺带学的,并没啥难度,我学编程是用了大概一年的时间,因为当时在学校时间还是比较多的,所以我建议大家不要想着速成,学任何一门手艺都需要一个过程,这是我个人的建议,而且根据我目前对于行业的了解,速成找工作还是比较困难的,就培训来说,很多人培训出来都找不到工作,并不是培训教的不好,实在时间太短,只有四个月时间。 几点建议: 1.作为一个初学者,你必须明确系统的学习方案,我建议一定有一个指导的人,全靠自己学,放弃的几率非常大,在你对于web前端还没有任何概念的时候,需要一个人领进门,之后就都靠自己专研,第一步就是确定web前端都需要哪些内容,并且在多少时间内学完,建议时间6个月保底。 2.视频为主,书为辅。很多初学者在学习前端的时候非常喜欢去买书,但是最后的结果是什么?看来看去什么都不会写,所以在这里小编给大家提醒

RESTful Web 服务四种操作POST/DELETE/PUT/GET

*爱你&永不变心* 提交于 2020-03-11 11:24:03
前言 关于REST及RESTful的概念,已有不少文章介绍,这里整理几篇我觉得不错的参考: 维基百科的定义: REST 什么是REST跟RESTful? REST理论的中文详述,其中你可以了解到WCF Restful属于RPC 样式的 Web 服务,ASP.NET Web API属于RESTful Web 服务。 深入浅出REST InfoQ的专文介绍,文中甚至有Roy T. Fielding当年REST博士论文的中文翻译链接。另外值得一提的,大家可能没听过Roy Fielding的大名,但如果得知他是HTTP规格的主要作者及Apache HTTP Server项目的发起人之一,应该不会有人怀疑他在Web技术领域的分量。 上面的文章建议大家认真的读一下,这里我们简要的介绍下REST 做入门介绍,理解整个 REST 能让我们在 ASP.NET Web API 的路上更顺畅。 REST是什么? REST ( REpresentational State Transfer ),State Transfer 为 “状态传输” 或 "状态转移 “,Representational 中文有人翻译为"表征”、“具象”,合起来就是 “表征状态传输” 或 “具象状态传输” 或 “表述性状态转移”,不过,一般文章或技术文件都比较不会使用翻译后的中文来撰写,而是直接引用 REST 或 RESTful

整个行业都缺Web前端工程师,你还在问Web前端工作好找吗?

和自甴很熟 提交于 2020-03-11 09:53:06
现在,几乎整个互联网行业都缺前端工程师,不仅在刚起步的创业公司,对上市公司乃至巨头这个问题也一样存在。 据统计,国外的前端开发人员和后端开发人员比例约1:1,但是在国内比例却在1:3以下,Web前端开发职位人才缺口巨大。前端工程师的发展之路十分有“钱”景。 每天,HR 群都有人在吐槽招不到前端工程师。实话说对这些需求,高级招聘人员也无能为力,因为在供不应求的前端招聘市场上,优秀的前端工程师才是有话语权的那一方。 但是,市场上优秀的前端工程师却相对较少,全世界范围看都是个难题。那造成优秀Web前端工程师稀少的原因有哪些呢? 大量糟糕Web前端工程师的存在,扰乱了市场。由于Web前端工程师的入门门槛非常低,JS、CSS、HTML并不是很难入门掌握的语言,似乎只要花一点时间,谁都可以通过网上教程和书本学会它,Web前端工程师市场就是被这些浅尝辄止的家伙搞坏的。 糟糕的Web前端工程师是这样做事的: 1、滥用JS库,因为他们实际上并不了JS的内部(e.g.一切都用jQuery); 2、滥用JS插件,抄别人的代码哪怕自己根本读不懂(e.g.jQuery.doParallaxPls.js); 3、给Web应用程序添加CSS框架,却只用到CSS/JS的5%,没有看到任何的需求、设计或者比较和评价; 4、认为只要添加了CSS框架,网站就可以“有求必应”; 5、一边在说着“响应式Web设计”

Web前端技术分享之浏览器缓存机制

陌路散爱 提交于 2020-03-10 19:37:00
Web缓存是指一个Web资源(如HTML页面、图片、JS、数据等)存在于Web服务器和客户端(浏览器)之间的副本。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。但如何理解浏览器缓存呢?接下来的我就给大家简单介绍一下。 Web缓存有什么作用? 1、减少网络带宽消耗。无论对于网站运营者或者用户,带宽都代表着金钱,过多的带宽消耗,只会便宜了网络运营商。当Web缓存副本被使用时,只会产生极小的网络流量,可以有效的降低运营成本。 2、降低服务器压力。给网络资源设定有效期之后,用户可以重复使用本地的缓存,减少对源服务器的请求,间接降低服务器的压力。同时,搜索引擎的爬虫机器人也能根据过期机制降低爬取的频率,也能有效降低服务器的压力。 3、减少网络延迟,加快页面打开速度。带宽对于个人网站运营者来说是十分重要,而对于大型的互联网公司来说,可能有时因为钱多而真的不在乎。那Web缓存还有作用吗?答案是肯定的,对于最终用户,缓存的使用能够明显加快页面打开速度,达到更好的体验。 浏览器端的缓存规则 对于浏览器端的缓存来讲,这些规则是在HTTP协议头和HTML页面的Meta标签中定义的。他们分别从新鲜度和校验值两个维度来规定浏览器是直接使用缓存中的副本,还是需要去源服务器获取更新的版本。 1)新鲜度(过期机制):也就是缓存副本有效期

现在Web前端的发展趋势和行业前景,还能转行学习前端开发吗?

感情迁移 提交于 2020-03-10 16:36:43
2020年还能转行学web前端开发吗?这是很多人在网络上搜索的问题。及其原因,还是因为目前网络上充斥着前端饱和的说法,这让不少人怀疑还能不能转行web前端,目前程序员行业前景很好,而web前端的前景也不差。 不否认初级前端程序员供给泛滥,待遇恶化,发展遇冷。但是当你坚持到中高级web前端工程师时,就会越来越吃香了。这是因为前端技术栈的不断更新,效率提高,同样的前端人数,能完成比以前更多的职责范围。在不少企业,1个优秀的前端工程师就能搞定Web和移动端的开发,甚至负责一部分后端。因此只要你能忍受住寂寞,努力磨砺你的技术,那么在步入中高端web前端开发工程师后,就业薪资肯定是可以达到你的预期的。 接下来,小编来跟大家分享一下2020年Web前端的发展趋势如何?熟悉web的小伙伴们都了解,在2018年是前端技术的发展相对稳定的一年,就前端主流技术框架的发展而言,前几年里发展极快,在填补原有技术框架空白和不足的同时也渐渐趋于成熟。 未来前端在已经趋向成熟的技术方向上面将会慢慢稳定下来,并进入迭代优化阶段,例如语言标准、前端框架等。 那么2020年Web前端的发展趋势如何?让我们一起来看一看 1.新规范的更新与稳定 前端新标准和草案在不断更新,HTML、CSS、Javascript标准也在渐渐完善,尽管这些新的规范最终会淘汰旧的规范,新的项目也会以最新的标准作为开发依据,但要完全废弃旧规范

今天,公司架构师跟我分享多年的私货 | 进阶之路必读书籍(附下载链接)

拈花ヽ惹草 提交于 2020-03-10 13:53:01
HTML与CSS 初级 《Head First HTML与CSS(第2版)》豆瓣评分:9.3 入门经典,初始获得信息的好途径。帮助读者逐步构件小的知识点,再结合一本整体的类别逻辑型的书,就可以把所有基础知识学清楚了。 中级 《CSS权威指南(第三版)》 豆瓣评分 8.5 本书适合自学过 CSS 的人但希望全面了解 CSS 的人阅读。由浅入深,全面易懂,不愧为权威指南。虽然内容有点儿老,但依然能够满足学习的需求。希望出版社能引进更新的版本。 《css禅意花园》豆瓣评分 8.4 这本书的作者是世界著名的网站设计师,书中的范例来自网站设计领域最著名的网站——CSS Zen Garden(CSS禅意花园)。 书籍较老,但理念却很经典。 高级 《CSS揭秘》豆瓣评分 9.4 多年难得一见的重磅 CSS 书籍,看得很过瘾,CSS 进阶必读。 JavaScript 初级 《javascript语言精粹》豆瓣评分9.1 本书通过对JavaScript语言的分析,甄别出好的和坏的特性,从而提取出相对这门语言的整体而言具有更好的可靠性、可读性和可维护性的JavaScript的子集,以便你能用它创建真正可扩展的和高效的代码。 雅虎资深JavaScript架构师Douglas Crockford倾力之作。 向读者介绍如何运用JavaScript创建真正可扩展的和高效的代码。 《JavaScript

servlet 过滤器(Filter)和监听器(listener)

让人想犯罪 __ 提交于 2020-03-10 11:23:39
Servlet中的过滤器(拦截器)Filter与监听器Listener的作用和区别 Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断等。其 工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request、 Response)统一设置编码,简化操作;同时还可进行逻辑判断,如用户是否已经登陆、有没有权限访问该页面等等工作。它是随你的web应用启动而启 动的,只初始化一次,以后就可以拦截相关请求,只有当你的web应用停止或重新部署的时候才销毁,以下通过过滤编码的代码示例来了解 它的使用: 1: MyCharsetFilter.java 编码过滤器 2: package ...; 3: import ...; 4: 5: // 主要目的:过滤字符编码;其次,做一些应用逻辑判断等. 6: // Filter跟web应用一起启动 7: // 当web应用重新启动或销毁时,Filter也被销毁 8: public class MyCharsetFilter implements Filter { 9: private FilterConfig config = null; 10: 11: public void destroy() {

java servlet Listener监听器

核能气质少年 提交于 2020-03-10 11:08:18
现在来说说Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动 而启动,只初始化一次,随web应用的停止而销毁。主要作用是:做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些 固定的对象等等。首先来看一下ServletContextListener接口的源代码: [java] view plain copy public abstract interface ServletContextListener extends EventListener{ public abstract void contextInitialized(ServletContextEvent paramServletContextEvent); public abstract void contextDestroyed(ServletContextEvent paramServletContextEvent); } 下面利用监听器对数据库连接池DataSource的初始化演示它的使用:ListenerTest.java [java] view plain copy import javax.servlet.ServletContext; import javax

[原]《Web前端开发修炼之道》-读书笔记CSS部分

拥有回忆 提交于 2020-03-10 05:31:46
如何组织CSS-分层 应用 css 的能力分两部分:一部分是css的API,重点是如何用css控制页面内元素的样式;另一部分是css框架,重点是如何对 css 进行组织。如何组织 css 可以有多种角度,例如按功能划分,或者按区块划分。这里讲一下 base.css + common.css + page.css 的组织方法。将网站内的所有样式,按照职能分成三大类:base、common、page,这三者是层叠结构。 1、base 层-精简通用 位于三者的最底层,提供 css reset 功能和粒度最小的通用类——原子类。这一层会被所有页面引用,是页面样式所需依赖的最底层,不同风格的网站可以使用同一个 base 层,所以,应具有高度可移植性,力求精简和通用。该层相对稳定,基本不需要维护,可以简单地放在一个文件里,如 base.css。 css reset 即一开始就将浏览器的默认样式全部去掉,就是通过重新定义标签的样式,“覆盖”掉浏览器提供的默认样式。可以将常用的标签显式地罗列出来,避免使用“*”,如来自于 YUI 的部分 css reset 的代码: /*CSS reset*/ body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin