-
对web前端的理解
2014-05-25 20:20:12对于一门技术的理解程度,个人觉得首先是从概念开始,理解并熟悉了概念后才能更好的运用起来。 所谓的前端就是: 用互联网来做比喻,凡是通过浏览器到用户端计算机的统称为前端技术.相反存贮于去面试了两次的web前端工程师,都问到了相同的一个问题:你所理解的前端。开始以为,这个概念性的问题,应该不会问到的,问的应该都是一些技术性的问题才是,觉得这个问题很没有技术含量,经过了两次的哑口无言才发现,我错了!对于一门技术的理解程度,个人觉得首先是从概念开始,理解并熟悉了概念后才能更好的运用起来。所谓的前端就是:用互联网来做比喻,凡是通过浏览器到用户端计算机的统称为前端技术.相反存贮于服务器端的统称为后端技术.前端技术包括JavaScript、ActionScript、CSS、xHTML等“传统”技术与Adobe AIR、Google Gears,以及概念性较强的交互式设计,艺术性较强的视觉设计等等。前端开发工程师(或者说“网页制作”、“网页制作工程师”、“前端制作工程师”、“网站重构工程师”),这样的一个职位的主要职责是与交互设计师、 视觉设计师协作,根据设计图用HTML和CSS完成页面制作。同时,在此基础之上,对完成的页面进行维护和对网站前端性能做相应的优化。另外,一名合格的前端开发工程师,应该具有一定的审美能力和基础的美工操作能力,能很好的与交互及视觉协作。刚开始接触前端时,以为前端就只是学学html,css等等简单的语言,其实不然,在慢慢深入学习的过程中,前端是很忙的,需要学习的知识很多,同时,你还要稍微的了解后台等等!!! -
个人对Web前端的理解
2013-03-14 18:52:53一直想说点什么,直到前段时间开通了博客,一直在忙忙碌碌,却不知道都忙了些什么,我需要记住我走过的路,我需要了解我人生的每一步,不管是生活是技术,今天终于有时间静静的坐在电脑边,随便聊聊我对Web前端的...一直想说点什么,直到前段时间开通了博客,一直在忙忙碌碌,却不知道都忙了些什么,我需要记住我走过的路,我需要了解我人生的每一步,不管是生活是技术,今天终于有时间静静的坐在电脑边,随便聊聊我对Web前端的认识和体会。
Web前端工程师是一个特别的岗位,只存在于互联网领域。最近几年随着互联网产业的火爆,对前端工程师的需求量暴增,兵源几近枯竭。各大公司技术掌门一定都有过类似的苦恼:“招一个靠谱的前端工程师、难于上青天”。
我想,一部分原因是,当前不少入道的前端工程师大都是转行而来,毕竟,正儿八经的学校里也不会教这玩意,觉得“切页面”有啥好教的,甚至不觉得html/css是一门语言。转行这事自不必详说,大家也各自瞄准当前市场需求,造成的现象是,初级前端工程师堆成山,中高级人才却一将难求。
起初的入行者无一例外对“视觉”的关注超过了对“内容”的重视,先让页面看起来漂亮,去关注html/css,沿着“视觉呈现”的思路,继续深入下去。因此,这类人是被“视觉”所吸引,从切页面入行,着迷于结构化的html和书写工整的css,喜欢简洁优雅的UI和工整的页面设计,之后开始接触视觉特效,并使用jQuery来实现视觉特效,以此为线索,开始深入研究Dom、Bom和浏览器的渲染机制等,html/css在这些人手中就像进攻兵器,而JavaScript则更如防守的盾牌。
还有另外一群人从另一条道路接触Web前端,即工程师转行做前端,他们有较多的后台语言开发背景,从读写数据开始,渐渐触及浏览器端,接触JavaScript库,起初是在html代码上加js逻辑,后来开始涉及html和css,他们喜欢OO、逻辑清晰、结构悦目的代码,更关注界面背后的“程序语言”和数据逻辑。html/css在这些人手中则更像盾牌,而JavaScript更如进攻的兵器。
应当说这两类人是互补的,他们各自了解浏览器本质的一部分,一拨人对渲染引擎了如指掌,另一拨人则将JS引擎奉为至宝,其实任何一部分的优势发挥出来都能做出精品。大部分前端工程师都能从这两条渊源中找到自己的影子。但,这两类人的思维模式和观点是如此不同,以至于形成了一些不必要的对抗,比如在某些公司,干脆将Web前端技术一分为二,“切页面的”和“写js的”。这样做看上去明确了分工提高了效率,但他对员工的职业发展带来巨大伤害。
对于很多Web前端工程师来说,初尝禁果的快感无法持续很久,就陷入一轮又一轮的迷惘,思索自己的职业规划,试图寻找到适合自己的成长道路、看清自身技能的瓶颈,寻找突破。但遗憾的是,Web前端技术被广泛接纳时日尚短,没有多少励志的成功样板可供遵循。然而情况不总是这么糟,毕竟Web前端技术是一门“技术”,和计算机科学系出同门,只是因为互联网的高速崛起而被蒙上了迷雾,遮住了双眼,让我们傻傻看不清时局。
那么,如何定义Web前端技术岗位边界?Web前端技术的价值体现在何处?前端工程师的价值仅仅体现在物以稀为贵吗?前端工程师的初级、中级、高级和专家之间到底如何界定?当前“我”处在什么位置?接下来的路子应当怎样走?何谓前端技术之“道”?
第一,梳理知识架构
我们知道知识积累有两种思路,第一种是先构建知识面、建立技术体系的大局观,即构建树干,然后分别深入每一个知识点,即构建枝叶,最终形成大树。第二种是先收集知识点,越多越好,最后用一根线索将这些知识点串接起来,同样形成大树。第一种方法比较适合科班秀才,第二种方法则更适合转行作前端的人,即实践先行,理论升华在后。比如对“IE6怪异模式“这条线索来说,要首先将遇到的IE6下的样式bug收集起来,每个bug都力争写一个简单的demo复现之,等到你收集到第100个bug的时候,再笨的人都能看出一些规律,这时就会自然的理解IE的hasLayout、BFC和各种bug的原因、你就成为了IE6的hack专家了,当你成为100个知识线索的专家的时候,你已经可以称得上“资深”的水平了。我们知道,10个人中有9个是坚持不下来的,他们会以项目忙等各种理由万般推托,将自己硬生生的限制在草根一族,坐等被淘汰。所以,对于立志作前端的人来说,这种点滴积累和梳理知识非常重要。
第二,分解目标
将手头的工作分解为几部分来看待,1,基本技能,2,项目经验,3,沟通能力,4,主动性和影响力。想清楚做一件事情你想在哪方面得到历练,比如,我之前在作第一次875常规性重构的时候(正好是一次视觉和交互上的全新设计),我清楚的明白这次重构的目的是锻炼自己在架构准富应用时的模块解偶能力,寻找在其他项目中架构的共通之处,所以我宁愿加班或花更多精力做这个事情,当然更没打算向业务方多解释什么,这件事情对我来说纯粹是技能的锻炼。而经过这一次重构之后,我意外的发现对业务的理解更透彻深入、更清晰的把握用户体验上的瓶颈所在。如果一开始就把这次常规改版当成一个普通的项目按部就班的做,我只能说,你也能按时完成项目,按时发布,但真真浪费了一次宝贵的锻炼机会,项目总结时也难有“动心忍性”的体会。
所以,每个项目的每个事情都应当认真对待,甚至要超出认真的对待,想清楚做好每件事对于自己哪方面有所提升?哪怕是一个bug的解决,即便不是自己的问题也不要草草踢出去了事,而是分析出问题原因,给出方案,有目的involve各方知晓……,正规的对待每个不起眼的小事,时间久了历练了心智,心有城府自然淡定万倍,而这种淡定的气场对身边浮躁的人来说也是一种震慑和疗伤,影响力自然而然就形成了。
第三,作分享
有心的人一定要逼着自己做分享,而且要做好。首先,自己了解的知识不叫掌握,只有理解并表达出来能让别人理解才叫掌握,比如如果你解释不清楚hasLayout,多半说明自己没理解,如果你搞不懂双飞翼的使用场景,可能真的不知道布局的核心要素。再者,作分享绝对锻炼知识点的提炼能力和表达能力,我们作为工程师不知道多少次和强硬的需求方pk,被击败的一塌糊涂。也反映出工程师很难提炼出通俗易懂的语言将技术要点表述清楚。而做ppt和分享正是锻炼这种能力,将自己的观点提炼出要点和线索,分享次数多了,自然熟能生巧,档次也再慢慢提高。
勤于思考,轻装上阵,大胆实践,勇于创新,发掘问题所在,实打实的解决(潜在)问题,这才是我们真正需要的能力。热爱你的工作。热爱跨浏览器开发带来的挑战、热爱互联网技术的种种异端,热爱业内的同行,热爱你的工 具。互联网发展太快了,如果你不热爱它的话,不可能跟上它的步伐。这意味着你必须多阅读,多动手,保证自己的才能与日俱增。下了班也不能闲着,要做一些对自己有用的事儿。可以参与一些开源软件的开发,读读好书,看看牛人的博客。经常参加一些会议,看看别人都在干什么。要想让自己快速成长,有很多事儿可以去做,而且付出一定会有回报。“ -
第0课:对web前端的理解与课程的规划
2018-05-26 22:02:15首先我们需要了解一下想要做一个合格的web前端开发工程师应该学会做什么?做web前端,我们需要以下流程:制作产品原型--利用HTML5+css+js等前端技术把网站前端做出来前端是什么?前端就相当于一个人的身体表面,一个...想学习web前端?废话不多说,所有软件的创始人和历史背景一律略过,我们直奔主题!
首先我们需要了解一下想要做一个合格的web前端开发工程师应该学会做什么?
做web前端,我们需要以下流程:制作产品原型--利用HTML5+css+js等前端技术把网站前端做出来
前端是什么?
前端就相当于一个人的身体表面,一个漂亮的人首先要有一个完美的形态、外表和举止,而一个漂亮前端也是这样它需要拥有一个完美的形态(html5)、外表(css3)、举止(JavaScript),但如果你不想让自己辛辛苦苦制作的前端被人说丑的话你还需要在制作之前征求一下别人的意见,因此我们需要制作一个产品原型,通过产品原型向别人展示一下你所设想的网站是什么样子,别人普遍认为你的原型很漂亮的时候你再去制作一个一模一样的真实的网站就万无一失啦!
我们首先需要学习HTML+css+JavaScript和Axure原型设计,在这一系列的课程中,我用到的软件有sublime和Axure8.0,再后续的课程中我还会讲解JavaScript中各个库的使用方法(e.g:jQuery、ajax等等)。
课程计划:
1. 完成HTML+css+JavaScript和Axure的讲解 18/5.26--18/8/1
2. 完成jQuery和ajax的讲解 18/8/1--18/9/1
3. PHP的开发 未知。。。
Ps:我也会不定期的发布一下python的课程,本人主攻的是python爬虫方面的技术,所以基础不是太好,见谅。如果时间允许的话我也会出一些jsp的基础教程(Linux系统的操作,java等等),总之,有你们的支持我才能不断前行。一起努力吧!
本人qq群:787940407 如果有任何关于课程中的疑问可以直接在课程下方留言或加我的QQ。感谢支持!
-
web前端技术基础课程讲解之浅谈对soket的理解
2018-12-05 17:32:25浅谈对soket的理解 定义: 网络上的两个程序通过一个双向的通信链实现数据的交换,这个链接的一端就成为Socket 它是进程通信的一种,即调用这个网络库的api函数实现分布在不同主机相关进程之间的数据交换,依照tcp/...浅谈对soket的理解
定义:
网络上的两个程序通过一个双向的通信链实现数据的交换,这个链接的一端就成为Socket
它是进程通信的一种,即调用这个网络库的api函数实现分布在不同主机相关进程之间的数据交换,依照tcp/ip协议分给每个主机的网络地址,如果两个主机要进行通信,任何一个进程都要首先知道对方的网络地址,也可以说是对方的IP。
端口号用来辨别本地进程,一个本地的进程通信时,,都要占用一个端口号,不同的进程端口号不同,因为在本地进程进行之前,首先要分配一个没有被占用的端口号,。
链接:是指两个进程通信之间的链路。
实现原理:
在TCP/IP网络应用中,通信的两个进程之间的主要模式为客户/服务器端(即client/server C/S)模式,即客户端向服务器发出服务请求,服务器收到请求以后,向客户端提供相应的服务,C/S模式创建需要的两个条件:(1)网络中软硬件资源,运算能力,信息不均等,需要共享(2)连个网络进程是完全异步的,需要一种机制为通信的进程间建立关系,为两者的数据交换提供同步,这就是基于C/S模式的TCP/IP;
工作过程:
服务器启动,根据请求提供相应的服务(1)打开一通信通道,告知本地主机,它愿意在公认的某一端口接受客户请求(2)请求客户请求到达端口(3)收到客户请求,处理并发出应答信号,接收到并发出应答请求,这需要出发一个新的进程来处理这个客户请求,这个进程不需要发出应答,服务处理完成后,关闭新进程与客户端的链路(4)返回第(2)步,等待另一客户端发来请求
关闭服务器:
(1)打开一个通信通道,连接到服务器所在的主机端口号,(2)向服务器发送服务器报文,等待并接收应答,继续发送报文(3)请求结束后,关闭通道
过程总结:客户端和服务器端是不对等的,所以两端的代码时不同的,服务器进程一般是先启动的,只要系统运行,该服务器进程一直存在,除非正常或者被迫中止
基于net 模块实现通信
Node.js的net模块提供了一些底层通信的小工具,其中包括创建C/S模式的方法
服务器端代码
var net=require(‘net’)
var server=new net.createServer();
//用来存放多个socket用户对象的集合
var obj=new Object()
//流水账号–保证用户不重复
var i=0;
server.on(‘connection’,(client)=>{
client.name=++i;
obj[client.name]=client
// client==像服务器发送数据的socket对象
client.on(‘data’,(data)=>{
console.log(‘客户端发来:–’+data)
huifu(data,client)
})
})
function huifu(message,client){
// client.write(‘服务器已经收到’)
for (let i in obj) {
obj[i].write(client.name+‘说:’+message)
}
}
server.listen(3000)
客户端代码
var net=require(‘net’)
var readline=require(‘readline’)
//创建socket对象
var client=new net.Socket();
var port=3000;
var hostname=‘localhost’;
client.connect(port,hostname,()=>{
client.write(‘hello 客户端已经上线’)
})
client.on(‘data’,(data)=>{
console.log(‘收到服务器回复:--’+data)
say()
})
var r1=new readline.createInterface({
input:process.stdin,
output:process.stdout
})
function say(){
r1.question(‘请输入要发送的内容:’,(str)=>{
client.write(str)
})
}
Websoket
是h5提供的一种双工通信的协议,而且目前所有流行的浏览器都支持这个协议
new WebSocket(“ws://echo.websocket.org”);申请一个WebSocket对象,参数是需要连接的服务器端的地址,WebSocket对象一共支持四个消息 onopen, onmessage, onclose和onerror。当Browser和WebSocketServer连接成功后,会触发onopen消息;如果连接失败,发送、接收数据失败或者处理数据出现错误,browser会触发onerror消息;当Browser接收到WebSocketServer发送过来的数据时,就会触发onmessage消息,参数evt中包含server传输过来的数据;当Browser接收到WebSocketServer端发送的关闭连接请求时,就会触发onclose消息。我们可以看出所有的操作都是采用消息的方式触发的,这样就不会阻塞UI,使得UI有更快的响应时间,得到更好的用户体验
-
对于web前端的理解
2016-03-19 03:34:59其实写这篇文章的首要目的是为了准备一道面试题——你对前端的...在2011年之前,web前端一直被作为后台代码的附属品的存在,甚至一众中小型公司的前端工作都由后台工程师完成。那时用户对网页的展现并没有什么很高的... -
web前端学习技术之对HTML5 智能表单的理解
2018-11-16 18:07:58Html5新增input的form属性,用于指向特定form表单的id,实现input无需放在form标签之中,即可通过表单进行提交。 … <INPUT … form=“xinzeng”> type新增属性: email、URL、date、time、month、... -
web前端开发技术之浅谈对HTML5 智能表单的理解
2018-11-21 18:08:23Html5新增input的form属性,用于指向特定form表单的id,实现input无需放在form标签之中,即可通过表单进行提交。 … <INPUT … form=“xinzeng”> type新增属性: email、URL、date、time、month、... -
最简单理解web前端
2021-01-08 07:49:53web前端 web中开发的三个基本技术(html5,css3,JavaScript) html简介:html语言是纯文本类型的语言,是internet上用来编写网页的主要语言,使用HTML语言编写的网页文件也是标准的纯文本文件(简单说告诉浏览器... -
我对微前端的一些理解
2020-10-27 20:06:28最近要开发的项目中需要用到微前端的内容,所以对微前端做了一些调研,并且总结了一些自己的理解,以问题&答案的形式展示给各位: 什么是微前端? 摘取了两种自己比较认可的说法: 1.一种将多个可独立交付的... -
如何学好Web前端开发 企业对前端人员什么要求
2020-09-27 09:39:50如何学好Web前端开发?企业对前端人员什么要求?移动互联网的飞速发展以及Angular、React、Vue等框架和Node.js、ES6等新技术的出现带动了前端技术的飞速提升,Web前端工程师价值进一步凸显... 那么企业对Web前端工程. -
Web前端面试指导(三十三):谈谈你对模块化开发的理解?
2018-06-30 18:21:26随着前端技术的发展,前端编写的代码量也越来越大,就需要对代码有很好的管理。目前比较好的开发语言就是OOP(面向对象编程)编程语言,例如java语言、C#语言。从JavaScript新的版本来看,要求JavaScrip... -
对前端工程化的理解
2018-12-22 15:15:18产品形态五花八门,涉猎极广,什么高大上的基础库/框架,拽炫酷的宣传页面,还有屌炸天的小游戏……不过这些一两个文件的小项目并非是前端技术的主要应用场景,更具商业价值的则是复杂的Web应用,它们功能完善,界面... -
零基础怎么入门web前端?技术小白怎么学前端?
2019-12-19 10:42:14我在千锋WEB前端培训班学习了一个月,对前端的学习又深入了解一些。总体来讲,就是跟想象中的完全不一样。以前我以为不用太注意细节,只需要理解即可,但事实上,这个工作本身细节更为重要,对于技术小白来说,真的... -
教小白最快速理解web 前端
2020-08-20 19:02:31Web前端就是提供数据交互的平台 WEB 前端就是通过HTML、CSS、JavaScript等编程语言,对通过各个途径获取到的数据提供一个有逻辑展示的平台的技术专业。 HTML语言 HTML语言是一种通过“描述”来编写页面的语言,负责... -
有关Web 前端开发的一些理解(HTML+CSS+JavaSacrip+jQuery)
2018-04-03 13:16:20在WEB前端中这种思想也有明显的体现,HTML+CSS+JavaSacrip+jQuery中HTML作为最基础的层,为一个网站搭建好最基本的框架,使得网站初具规模,CSS技术开始对这个框架进行修饰,在有了一定修饰的网站后,网站可以完成... -
对Web开发中前端框架与前端类库的一些思考
2020-12-11 07:30:02说起前端框架,我也是醉了。现在去面试或者和同行聊天,动不动就这个框架碉堡了,那个框架好犀利。 当然不是贬低框架,只是有一...前端框架的理解误区 网站的价值在于它能为用户提供什么价值,在于网站能做什么,而 -
【前端技术】谈谈你对跨域的理解
2021-02-03 17:22:06可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol)... -
web前端是干嘛的?你了解Web前端开发工程师吗?
2021-01-11 18:10:12目前企业对Web前端开发工程师的工作要求: 1、熟悉、理解并掌握公司系统的架构、技术和开发工作。 2、参与公司系统的需求分析、产品讨论。 3、能独立完成应用系统的开发、自测试、联调以及上线发 -
vue开发小游戏怎么样_学习web前端开发该如何突破零基础?
2020-12-12 10:24:38怎么样学习能够突破web前端学习零基础的状态,不得不说看书是不可缺少的学习环节,书籍可以帮我们了解web前端开发知识,提升对web前端技术的理解能力,web开发的学习分为四个四阶段,每个阶段应该看的书籍罗列如下:... -
web前端顶岗实习总结报告_web前端年度工作总结范文
2020-12-30 11:12:43在这段时间的学习和项目中使我对前端业务需求和项目开发流程有一定的了解和认识,对前端也有自己的理解。前端是建立在以产品为核心,用户体验为基础的一门技术,每一个细微的视觉效果、交互体验都能给用户带... -
资深web前端开发工程师的岗位职责.doc
2021-01-15 21:28:13资深web前端开发工程师的岗位职责 资深web前端开发工程师负责公司新产品或新功能... 3、对前端工程化、组件化、模块化有自己的理解和总结; 4、熟悉Linux平台,掌握一门后端开发语言(Java/Python/Ruby/Gode/PHP等)?.. -
移动前端开发和 Web 前端开发的区别是什么?
2020-06-05 17:44:20特别是随着网络制式的发展,移动设备在全球范围内得到了空前的普及,在前端领域,Hybird Web、React Native、Weex、Flutter 等等一系列新的移动前端技术也如同雨后春笋般冒出来,今天来和大家分享一下我对「移动前端... -
web前端架构师的岗位职责表述_精选.doc
2020-12-04 09:51:132、深入理解产品的需求和定位,全程参与产品的设计与研发,能提出可行的意见和措施 3、设计、开发可视化类库组件,对前端开发、数据可视化有自己的独立见解 4、工作积极主动,能带领前端团队攻克技术难点 ... -
Web前端开发最佳实践
2015-02-27 16:38:35最近几年,Web前端的发展非常迅速,并呈现出一片欣欣向荣的景象。但同时层出不穷的新技术又扰乱了开发者的思绪,造成了很多开发者疲于学习新技术而忽略了最基础的技术...让读者能对Web前端开发有一个全面的理解和认知。 -
web前端开发工程师岗位的职责.doc
2021-01-19 12:28:43web前端开发工程师岗位的职责 web前端开发工程师需要与后端开发团队紧密配合,确保代码有效对接,优化前端应用性能。以下是小编整理的web前端开发工程师岗位的职责。 web前端开发工程师岗位的职责1 职责: 1、...
-
MySQL 多平台多模式(安装、配置和连接 详解)
-
吉诺博客-源码
-
MySQL 高可用工具 DRBD 实战部署详解
-
MySQL DML 语言(插入、更新与删除数据)
-
在线快速阅读github代码方法推荐
-
linux安装jdk
-
MySQL 设计基础(数据库概论、初探)
-
itlovers-lab-源码
-
使用vue搭建微信H5公众号项目
-
美团面经总结基础篇
-
C和C++课程
-
MaxScale 实现 MySQL 读写分离与负载均衡
-
JVM虚拟机
-
精通编译Makefile,Nina, 从底层uboot到Android
-
音乐:misicas-源码
-
图像表示的鲁棒性和区分性概念分解
-
(一)消息队列中间件 ~ 消息队列优缺点以及如何选型
-
Python 数据结构与算法分析 五、
-
VMware vSphere ESXi 7 精讲/VCSA/VSAN
-
云开发后台+微信扫码点餐小程序+cms网页管理后台 含后厨端和用户端