这里偶将文章中的内容再复述一遍。
最近总是有人会问偶类似于这样的问题。偶是一个大一大二的学生,以后想从事编码的工作,偶是该学习java还是web前端啊?或者是偶非计算机科班出身,想从事程序员的工作,是该学习java还是web前端啊?
对于这样的问题偶该怎么回答呢,偶只想说听天由命吧,抓阄抓到哪个学哪个。哈哈,当然这只是开玩笑的,对于大家未来的方向选择必须要慎重,在偶讲解自己的看法之前,大家先来看下一个程序员界的段子。
C程序员看不起C++程序员,C++程序员看不起Java程序员,Java程序员看不起C#程序员,C#程序员看不起美工,周末了,美工带着妹子出去约会了…剩这群程序员在加班。
没想到,最后美工成了人生赢家,这样一来大家是不是都想说偶还是去做美工吧。如果真是这样,那就too young too simple啦,周末美工约到妹子高兴了,程序员哭了,而等到发工资的时候就该美工哭了,程序员笑了,结果还是程序员笑到了最后。
这里可能就有很多人要说了,都说PHP是世界上最好的语言,你为什么都不提一下PHP呢?关于这个问题,偶只想说,没有最好的语言,只有最适合的语言,当然如果你有什么想说的欢迎在评论区讨论。
切回正题,该如何选择Java或者Web前端呢?下面分几点述说
看兴趣,看兴趣,看兴趣
无论做什么开发,永远要以兴趣来驱动自己学习。先大致的说一下,Java学习是一个需要耗费长周期的过程,考验一个人的逻辑能力,如果你现在还在学校,时间比较充裕,建议从学习Java开始。相比较而言,Web前端门槛较低,入门稍快,可以在短时间内看到收益,但是由于前端变化特别快,需要永远保持积极学习的态度,如果你急需找工作,没太多时间,可以选择Web前端开发。不管你选择哪个方向,到最后都会有一个好的发展。
从上面这张图片可以看出,不管是哪个方向,需要学习的东西都很多,那么大家该如何确定自己的学习路线呢?
Java学习路线(1)首先你必须得学习JavaSE,JavaSE是你做java web开发的基础,不管书籍还是网上视频,在讲解JavaSE的时候都会讲解的很透彻,可以跟着进度一点点的学下去。不过如果遇到swing,jFrame,AWT的章节可以直接跳过,现在已经用的特别少了,而且不影响后续学习。在这里小编推荐几本书,《Thingking in Java》、《Java核心技术》、《Java从入门到精通》,书籍不需要太多,能看完一本并跟着教程多敲demo就足够了。不过偶还是推荐看视频学习,看视频会让你的大脑更加集中。
JavaSE部分的内容在笔试面试的时候特别容易会遇到,而且都是涉及jdk源码级别的,需要了解底层数据结构设计,像ArrayList和LinkedList,HashTable和HashMap等经典的问题。不过如果只是作为初学者可不必要注意这些,按照书籍或者视频的节奏来就可以。
(2)XML学习,在使用的很多框架中都是通过XML文件进行配置的,这个也必须掌握。
(3)JavaEE部分,JavaEE的生态特别庞大,大家无法学习完所有的知识点,偶就按照重要程度来说明学习的先后顺序。首先是Servlet,这是必须要学的,像Struts2和SpringMVC都是基于Servlet的封装,推荐书籍《深入体验Java Web开发内幕-核心基础》和《深入体验Java Web开发内幕-核心基础》。然后是JSP部分,因为目前基于纯HTML的开发已经越来越多,所以JSP部分可以不必深究。
(4)Spring和SpringMVC,Spring作为目前Web项目必须集成的框架也是一定要掌握的,推荐书籍《spring实战》。有人经常拿Struts2MVC和SpringMVC来作比较,但由于Struts2存在的漏洞( 前段时间爆出的京东数据泄露事件就是因为Struts2漏洞造成的),让很多公司都放弃使用Struts2,转而使用SpringMVC。
(5)数据库相关知识,首先要懂得数据库相关理论,推荐书籍《数据库系统概念》了解重点概念,然后就主要是SQL语句的学习了,可以在w3school上按照教程学习,具体能掌握一到两种数据库就行
(6)数据库连接JDBC,原生的JDBC语句要会编写
(7)持久化层MyBatis或者Hibernate,两者在使用方式上稍有差别,Hibernate更加面向对象化一些,而MyBatis在处理起SQL时更加灵活,目前好像MyBatis更加火热一点。
(8)Ajax,目前Ajax技术运用越来越广泛,Ajax技术也是一定要掌握的
(9)Maven,作为java中十分有用的包管理工具,学习它是十分有必要的
(10)版本控制工具SVN或者GIT,个人推荐使用GIT
前端学习路线如果你选择了前端,首先欢迎你入坑O(∩_∩)O,你将会在一片汪洋大海里越陷越深
(1)前端最先让大家想到的就是页面了,那么最基本的HTML+CSS是一定要学习的,推荐学习书籍《CSS权威指南》
(2)页面上还包括DOM处理与一些数据逻辑,所以JavaScript也是一定要学习的,推荐书籍《Javascript权威指南》,进阶书籍《Javascript高级程序设计》
(3)当大家学习完基本的页面知识后,便可以使用类库来简化大家的代码,提高效率。CSS方面可以进阶到Less或者Sass;如果是针对DOM处理,javascript方向可进阶到jQuery,推荐书籍《jQuery 实战》、《锋利的jQuery》
(4)当大家真正会了以上一些内容后才能说自己前端入门了,而且好戏才刚刚开始,ES6作为未来各种前端框架支持的主语言是一定要会的。前端再细化的话会分为PC端和移动端,如果重点在PC端,应该学习AngularJS,推荐书籍《AngularJS权威指南》,不过由于AngularJS的版本更新速度很快,尤其是1.0到2.0版本的升级,简直是面目全非,相当于要重新学习一遍。AngularJS2.0版本是用的Typescript语言编写的,这就要去学习Typescript,而Typescript又是基于ES6的,这些内容都可以根据官方文档进行学习。
(5)如果重点是在移动端,则可以学习Vue.js和React Native,Vue.js是由国内尤大神写的,是一个前端轻便的MVVM框架,而且目前Vue生态也已经渐渐丰富了起来。React Native用于移动端十分便利,可以参考官方文档进行学习,不过它存在的虚拟DOM概念需要大家去理解,而且所有代码都是Javascipt对象的编码方式也有一定特殊性,需要多加练习才能慢慢理解。
(6)不管是哪种框架,在编码后都需要代码编译,压缩,打包等操作,这个时候构建工具就出现了。目前的构建工具层出不穷,大概有十几种,大家无法学完全部的构建工具,但是可以选择其中比较重要的进行学习,典型的就是gulp+webpack了。
(7)当大家学完以上一些东西后,总想着朝全栈的方向走去,这个时候就体现出NodeJS的意义了。NodeJS基于javascript编写,却能够处理服务器端逻辑,实则为一大突破,推荐书籍《NodeJS开发 指南》、《NodeJS深入浅出》。NodeJS作为服务器端开发语言,可以学习Express框架和KOA框架,顺便比较一下与传统的服务端Java语言处理起来有什么不同。
(8)版本控制工具GIT
总结还是那句话,不管选择哪个方向学习,都要是自己最感兴趣的。而且不管是哪个方向都需要通过不断的练习来积累经验,请记住“一万小时定律”。
学习Java就需要时间来沉淀,目前Java生态已经这么庞大且稳定,大家只需要慢慢地深入就会有成果。
学习前端就要抱着大浪淘沙的心态,由于前端发展极为迅速,可能自己学习的东西没过多久就已经过时了,但是也要抱着平和的心态去面对,并积极学习更加新颖的知识。
目前已经在头条上发表过一百多篇关于前端开发的文章了,得到的反响也比较好,后面会持续更新,喜欢的可以关注下噢~
css图,sass编译css,css排版是什么,html css验证码,好看的登录界面css,css文字加分割线,ul css样式
怎么样才是落地的职业规划呢?
读大学的时候以及毕业后的前几年,偶特别热衷于各种职业规划理论和职场技巧。工作几年后,偶想说:见鬼去吧!
当然一些经典理论还是有道理的,但大多数人除了做做测试得到一些似是而非的解读外,缺乏理论指导实际的能力,也就无法把这些经典的好东西用于指导大家的人生。
不过偶要推荐《好工作是设计出来的》这本书。虽然名字鸡汤得想让人吐槽,但的的确确是适合普罗大众的真东西。
这本书的作者是成长分子,嗯,不算自媒体崛起后的头部名人,但提到他十多年前的经典帖子“如何在三个月内获得三年的工作经验”,可能很多人都有印象,至今网上都有转载和笔记。他对职场,对工作技能的认识,毋庸置疑。
之所以说这本书是接地气的干货,原因有以下几点:
首先,作者成长分子的资历和职业成长路线,是普通人完全可以复制的成功案例。
很多职业规划理论,那就不是给普通人做的。偶也知道考一个好学校,选一个好专业,北上广深各个大公司跳来跳去,title越来越高——绝对清晰的成长路线,金光闪闪的职场履历,但是很多人第一步都做不到,对不?就算勉强制定了一个方案,几年后就发现,根本没法按照计划的来,陷入瓶颈了。
无法执行的规划,就是个P。
大多数人面对的职场,可能是在一个二三线城市,在一家不知名的民营公司,小小的规模,你的上司就是老板或者老板娘,和你谈笑风声的只有身边小猫三两只,公司在居民楼里,一年的总利润抵不上传说中互联网人的年薪,让你觉得这工作环境都配不上叫“职场”。
这个时候,那些高大上的职业规划就是失效的。
但是成长分子自己就是一个从民营企业成长起来的行业专家,他所说的,所写的,都是自己亲身经历的东西分析所得,不光是理论,还有最真实的经验和教训,看的时候会觉得身边很多东西都有了答案,或者至少是一些启迪。
第二,不煲鸡汤,帮你调整思路,拟定职业目标
有些的职业规划理论就不断地煲鸡汤,要认识你自己,激发你自己,如何如何。
这都近乎哲学终极问题了……
这本《好工作是设计出来的》,只谈具体的事情。作者以自己的职场智慧和经验,从思想上帮你拟定目标:不是一线城市风口行业那些虚幻的东西,而是偶如何在现在这样的环境中,获得一个好的职场位置和收入,去赢取生活的幸福。
通俗地说,就是老子不混那些高大上啦,就想过过滋润的小日子,有不错的收入,有获得稳定获得收入的能力,咋个搞。
他非常详细地解析把大家所说的“职业”解析为七个层面:
岗位——工作中具体要做的事情,对应的是职务。
工作——一个人在某一领域或者机构从事的活动,由岗位组成。
专业——你的知识结构和思维方式。
行业——这个就是大家平时所说的意思,没有区别。
职业——个人参与的社会分工。
事业——你的奋斗目标,包括金钱、精神上的获得。
志业——马斯洛需求的最高层次,即不为物质回报而心甘情愿投入的事情。
而职业规划,就是要拟定一个个清晰的职业目标,即时间+地点+行业+企业+职业+职务。
你所做的,所想的,究竟是不是职业规划,用这几项去套,套不进去,就说明有问题。能按这些要点说清楚,才有可执行性。
而这些目标一列清楚,很多事情就清楚了:你在哪个阶段、要达到你想要的目标还需要什么,还有多少 时间,达到的目标能不能满足你的需求,你真正想要什么……
第三、帮助提高专业能力,保证规划的可操作性
全书前三分之一都是在讲如何拟定职业目标,内在决定方向,外在决定路径。
决定之后,就要看操作了——也就是很多鸡汤不给的勺子,他给你了。
整本书的后半部分,都在讲如何提升专业能力,以及如何用专业能力去推进职业阶段目标的实现。
这些技能包括:
职业基本功:谈吐说话、文档制作、更高层次的做事逻辑……这些看起来不起眼的技能,却是很多人都没打好的基本功。大家身边,高手其实并不多,这些小事做好了很容易脱颖而出。
通过专业能力的提升塑造核心竞争力——学校学的是专业?你的经验是专业?如果不能将你的能力打造成核心竞争力,你在老板眼里就是一个可以被被取代的“干活的”。
如何建立真正有用的行业人脉——不是乱发名片、乱加微信、在行业群里BB,而是你能从一个公司或者一个职位上,得到什么真正属于你的,能带走的东西;
大量的信息处理,保证自己知道、先知道、知道得比其他人多且对——流行的话来说,叫认知升级;
站在更高的层次看自己所在的行业,以此来调整自己的职业目标和做事方式。
这些技能都和职业规划息息相关,专业能力是职业规划实施的保证。作为一个实战派,作者对待工作的思路层次是非常高的,哪怕不是要进行职业规划,只是看书的同时复盘自己的工作和过去,都会有很大提升。
最后,作者还把他经典的“如何在三个月内获得三年的工作经验”整理了放在正文后面。对于想转行跳槽,或者职场新人刚进入一个行业,也非常有参考意义。
这本书出版有好几年了,实体书估计不好买,好在还有Kindle版和豆瓣电子版可以看。
css和jquery有什么区别?
jQuery
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。
CSS (层叠样式表)
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
id是什么类型的选择器?
id是css的唯一选择器,使用ID选择器,必须给标签添加上id属性,为标签设置id="ID名称"。