你好大神 你好!我是学自动化的转行做了Java!技术一般,但感觉和计算机专

大专女生想转行做IT,应该先学哪一块?
本人是大专应届毕业生,21岁,护理专业,现在想转行做IT。由于最近几天才开始接触IT行业,所以想请教各位大神:1.零基础没有工作经验从哪一块开始学起比较好找工作?2.女生适合从事哪一方面的工作比较有前途?3.是自学好还是报班好?(分类是随便选的,这个不作为参考)谢谢大家了!
因为是零基础,我不太建议你报班。先自己找点资料视频了解一下。虽然it行业目前是热门行业,但是你想有长远的发展的话纯看技术水平。请三思
你还没有登录,请先登录或注册慕课网帐号
建议你直接找个IT的男友,养一只猿,猿在手,IT你有;
你还没有登录,请先登录或注册慕课网帐号
你是护理专业的? 转行做IT~我想说...我是临床专业的 , 现在是Java工程师推荐你做前端这块吧 , 待遇不错 , 前景也挺好的即使你报培训班 , 培训班里能教你的也只是一些基础的入门知识 , 工作求职比较重要的项目经验 , 自学很难获得 , 培训班也给不了你这个我的建议是自己先学一些入门知识 , 像是HTML/css 还有JavaScript ... 有一定基础 然后找个工作
刚开始不用要求太高
主要在工作中多见多学一些东西
然后慢慢积累 . 祝你成功~
你还没有登录,请先登录或注册慕课网帐号
一个零基础的建议:无论你想走哪条路,建议先从前端做起,前端是基础,学好了可以慢慢玩后端,建议先学WEB前端,主修jJavaScript,感觉AngularJS框架玩转了,就可以慢慢转PHP,然后Laravel框架也玩转了,就可以玩数据库了,到数据库的话那恭喜你,你已经差不多通关了!
你还没有登录,请先登录或注册慕课网帐号
自学学的是自制力,培训学的是教学氛围,没有谁对谁好,比如后端框架,培训不太可能会教吧,全靠自己摸索,会自学的人,给他课他都会主动去学,不会自学的,你让他去报清华北大班都会半途而废,因人为主,而且学习一直是长期的,不论是培训还是以后出来就业,最重要是培养学习能力,会学,肯学精神。女生比较适合前端,或者ui也挺吃香的。我身边了解的部分女生,只会静态页面,js效果都是网上抄的,公司也不大,薪水也就5000多。其实如果安于现状,只要在公司站稳脚,技术可能不是最重要的,因为常见效果就这么点,抄也抄会了。但如果你有一颗不平凡的心,那定会脱颖而出,凡是有这种精神的,我建议可以去学后端。或者主导前端应用领域,
你还没有登录,请先登录或注册慕课网帐号
首先肯定是HTML+CSS
然后可以学点JavaScript 最后上MYSQL
你还没有登录,请先登录或注册慕课网帐号
你给我护理我给你编程。
你还没有登录,请先登录或注册慕课网帐号
找个共同加油的小伙伴一定很棒
你还没有登录,请先登录或注册慕课网帐号
刚上大学,遇到编程,内心独白“(⊙o⊙)哇,这么装逼的技能要是get到,骗骗妹子,顺带还能升职加薪,当上CTO走上人生巅峰”,然后就走上了码农的不归路。然后我一个理工科背景,还怀着这么崇高梦想的人也是在这条路磕磕碰碰。一个称职的程序员要精通6门编程语言(goog总监说的),对着电脑的时间很多,会有脊椎职业病,还有其他弊端,当然好处我就略过了。你至少要入门一种编程语言,要学着程序员去敲上一段时间代码,跟一两个程序员吹完牛皮你才能判断自己是否适合
你还没有登录,请先登录或注册慕课网帐号
零基础的话报班学吧,我也是今年毕业,本科读的英语,大四下学期去报班学的iOS,个人强烈建议千万不要报iOS!!! 太难就业了! 安卓,web端还好吧。。。感觉现在IT也不好找工作,也不好拿高薪了(当然这是我作为一个IT新人的感觉!无论哪个行业大神都是好就业拿高薪的!)
你还没有登录,请先登录或注册慕课网帐号
实话实说,学PHP吧。先把HTML和CSS学习,试着自己做,看自己能不能坚持?不能就走他路~
你还没有登录,请先登录或注册慕课网帐号
我想说我是计算机的女生,计算机现在他们工作都挺累的吧,加班加到后半夜的也不少如果你要做,那也是你自己的选择1、首先肯定是可以的,本科生考上大学之前几乎跟你一样,可能的差别就在数学上2、本科生有很多大二就开始变成比较厉害了,3、一些理论基础也是很重要的4、如果想报班也可以,不想报班就按照慕课网上的视频,找个本科问问主要课程,自己学也可以,但是我觉得大学的课程并不都是要学的,有选择的来吧,稍微学一下,5、然后找一个可以时间的地方实践学习。
你还没有登录,请先登录或注册慕课网帐号
搜 山东东营软件园 java培训 那里是免费的 加油·只能帮你到这了
你还没有登录,请先登录或注册慕课网帐号
现在前端挺火的,而且女生学习前端也很不错,建议你先看一些HTML、CSS、JS这些。尤其是JS,学好了很多地方都能用得着。另外要告诉你的就是别浮躁。尤其是转行去学另一种东西,有时候很难学的进去的,当你学习觉得很不愉快的时候就不要继续下去,想些办法让自己学的开心一点,可以先在慕课网这个平台上多看些东西,也没必要专门去找一大堆资料呀什么的去看。。。
表示我这几年攒的资料这辈子都看不完。。 慕课网真的很不错了。。
现在基本热门的技术都有教程。
找一个你想学的,耐心的学下去。或者去参加一个培训班,一般人的自控力不是太强,所以参加培训也是有必要的。。 最后,祝顺!
你还没有登录,请先登录或注册慕课网帐号
怎么都推荐java??零基础不应该先学学html+css入门么,也得看你城市职位的热度,个人感觉学学html5还是不错的~找一家靠谱的机构报班吧还是,无论是想学php还是java~
你还没有登录,请先登录或注册慕课网帐号
前端吧 入门比较简单 html+css 入门超简单 1周足够 用div+css就能模仿静态页了 然后不喜欢语法逻辑的话 就可以做网页设计了
会用修图工具就好
你还没有登录,请先登录或注册慕课网帐号
护理专业转行做IT,恭喜你,欢迎入坑你零基础啊,建议你报班吧,因为公司都希望自己招的人,一招进来就能给自己干活,而且好多培训班,教的都是基础,但是却是入门必备。现在女生大部分做的是软件测试或是PHP Java或是前端开发相对比较难点,没基础的话学起来可能会比较吃力呢建议前两者 :软件测试或是PHP
工资不低 相对容易些 而且好入门 而且也比较稳定 我有个同事就是护理转行做的测试 现在都干3年多了,干得挺好的。而且你比较小,学东西就趁早。
你还没有登录,请先登录或注册慕课网帐号
你还没有登录,请先登录或注册慕课网帐号
很多都建议女生学前端 你给我写个JavaScript试试?前端并不比后端简单
你还没有登录,请先登录或注册慕课网帐号
年轻,意味着无限种可能性,耐住寂寞,就可以编程
你还没有登录,请先登录或注册慕课网帐号
71066人关注
34003人关注
27251人关注
Copyright (C)
All Rights Reserved | 京ICP备 号-2如何使用位掩码可以参考我的一篇博客:&a href=&///?target=http%3A////java-bitmask/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Java位运算在程序设计中的使用:位掩码(BitMask)&i class=&icon-external&&&/i&&/a&&br&&br&&p&在Java中,位运算符有很多,例如与(&)、非(~)、或(|)、异或(^)、移位(&&和&&)等。这些运算符在日常编码中很少会用到。&/p&&p&在下面的一个例子中,会用到位掩码(BitMask),其中包含大量的位运算。不只是在Java中,其他编写语言中也是可以使用的。&/p&&p&例如,在一个系统中,用户一般有查询(Select)、新增(Insert)、修改(Update)、删除(Delete)四种权限,四种权限有多种组合方式,也就是有16中不同的权限状态(2的4次方)。&/p&&b&&br&&br&Permission&/b&&p&一般情况下会想到用四个boolean类型变量来保存:&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&kd&&class&/span& &span class=&nc&&Permission&/span& &span class=&o&&{&/span&
&span class=&c1&&// 是否允许查询&/span&
&span class=&kd&&private&/span& &span class=&kt&&boolean&/span& &span class=&n&&allowSelect&/span&&span class=&o&&;&/span&
&span class=&c1&&// 是否允许新增&/span&
&span class=&kd&&private&/span& &span class=&kt&&boolean&/span& &span class=&n&&allowInsert&/span&&span class=&o&&;&/span&
&span class=&c1&&// 是否允许删除&/span&
&span class=&kd&&private&/span& &span class=&kt&&boolean&/span& &span class=&n&&allowDelete&/span&&span class=&o&&;&/span&
&span class=&c1&&// 是否允许更新&/span&
&span class=&kd&&private&/span& &span class=&kt&&boolean&/span& &span class=&n&&allowUpdate&/span&&span class=&o&&;&/span&
&span class=&c1&&// 省略Getter和Setter&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&&p&上面用四个boolean类型变量来保存每种权限状态。&/p&&b&&br&&br&NewPermission&/b&&p&下面是另外一种方式,使用位掩码的话,用一个二进制数即可,每一位来表示一种权限,0表示无权限,1表示有权限。&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&kd&&class&/span& &span class=&nc&&NewPermission&/span& &span class=&o&&{&/span&
&span class=&c1&&// 是否允许查询,二进制第1位,0表示否,1表示是&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&ALLOW_SELECT&/span& &span class=&o&&=&/span& &span class=&mi&&1&/span& &span class=&o&&&&&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span& &span class=&c1&&// 0001&/span&
&span class=&c1&&// 是否允许新增,二进制第2位,0表示否,1表示是&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&ALLOW_INSERT&/span& &span class=&o&&=&/span& &span class=&mi&&1&/span& &span class=&o&&&&&/span& &span class=&mi&&1&/span&&span class=&o&&;&/span& &span class=&c1&&// 0010&/span&
&span class=&c1&&// 是否允许修改,二进制第3位,0表示否,1表示是&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&ALLOW_UPDATE&/span& &span class=&o&&=&/span& &span class=&mi&&1&/span& &span class=&o&&&&&/span& &span class=&mi&&2&/span&&span class=&o&&;&/span& &span class=&c1&&// 0100&/span&
&span class=&c1&&// 是否允许删除,二进制第4位,0表示否,1表示是&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&ALLOW_DELETE&/span& &span class=&o&&=&/span& &span class=&mi&&1&/span& &span class=&o&&&&&/span& &span class=&mi&&3&/span&&span class=&o&&;&/span& &span class=&c1&&// 1000&/span&
&span class=&c1&&// 存储目前的权限状态&/span&
&span class=&kd&&private&/span& &span class=&kt&&int&/span& &span class=&n&&flag&/span&&span class=&o&&;&/span&
&span class=&cm&&/**&/span&
&span class=&cm&&
重新设置权限&/span&
&span class=&cm&&
&span class=&kd&&public&/span& &span class=&kt&&void&/span& &span class=&nf&&setPermission&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&permission&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&n&&flag&/span& &span class=&o&&=&/span& &span class=&n&&permission&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&cm&&/**&/span&
&span class=&cm&&
添加一项或多项权限&/span&
&span class=&cm&&
&span class=&kd&&public&/span& &span class=&kt&&void&/span& &span class=&nf&&enable&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&permission&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&n&&flag&/span& &span class=&o&&|=&/span& &span class=&n&&permission&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&cm&&/**&/span&
&span class=&cm&&
删除一项或多项权限&/span&
&span class=&cm&&
&span class=&kd&&public&/span& &span class=&kt&&void&/span& &span class=&nf&&disable&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&permission&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&n&&flag&/span& &span class=&o&&&=&/span& &span class=&o&&~&/span&&span class=&n&&permission&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&cm&&/**&/span&
&span class=&cm&&
是否拥某些权限&/span&
&span class=&cm&&
&span class=&kd&&public&/span& &span class=&kt&&boolean&/span& &span class=&nf&&isAllow&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&permission&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&o&&(&/span&&span class=&n&&flag&/span& &span class=&o&&&&/span& &span class=&n&&permission&/span&&span class=&o&&)&/span& &span class=&o&&==&/span& &span class=&n&&permission&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&cm&&/**&/span&
&span class=&cm&&
是否禁用了某些权限&/span&
&span class=&cm&&
&span class=&kd&&public&/span& &span class=&kt&&boolean&/span& &span class=&nf&&isNotAllow&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&permission&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&o&&(&/span&&span class=&n&&flag&/span& &span class=&o&&&&/span& &span class=&n&&permission&/span&&span class=&o&&)&/span& &span class=&o&&==&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&cm&&/**&/span&
&span class=&cm&&
是否仅仅拥有某些权限&/span&
&span class=&cm&&
&span class=&kd&&public&/span& &span class=&kt&&boolean&/span& &span class=&nf&&isOnlyAllow&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&permission&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&n&&flag&/span& &span class=&o&&==&/span& &span class=&n&&permission&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&&p&以上代码中,用四个常量表示了每个二进制位代码的权限项。&/p&&p&例如:&/p&&p&ALLOW_SELECT = 1 && 0 转成二进制就是0001,二进制第一位表示Select权限。&br&ALLOW_INSERT = 1 && 1 转成二进制就是0010,二进制第二位表示Insert权限。&/p&&p&private int flag存储了各种权限的启用和停用状态,相当于代替了Permission中的四个boolean类型的变量。&/p&&p&用flag的四个二进制位来表示四种权限的状态,每一位的0和1代表一项权限的启用和停用,下面列举了部分状态表示的权限:&/p&&img src=&/9c5f03aaa69d68d2de756_b.png& data-rawwidth=&1180& data-rawheight=&608& class=&origin_image zh-lightbox-thumb& width=&1180& data-original=&/9c5f03aaa69d68d2de756_r.png&&&p&使用位掩码的方式,只需要用一个大于或等于0且小于16的整数即可表示所有的16种权限的状态。&/p&&p&此外,还有很多设置权限和判断权限的方法,需要用到位运算,例如:&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&kt&&void&/span& &span class=&nf&&enable&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&permission&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&n&&flag&/span& &span class=&o&&|=&/span& &span class=&n&&permission&/span&&span class=&o&&;&/span& &span class=&c1&&// 相当于flag = flag |&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&&p&调用这个方法可以在现有的权限基础上添加一项或多项权限。&/p&&p&添加一项Update权限:&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&enable&/span&&span class=&o&&(&/span&&span class=&n&&NewPermission&/span&&span class=&o&&.&/span&&span class=&na&&ALLOW_UPDATE&/span&&span class=&o&&);&/span&
&/code&&/pre&&/div&&p&假设现有权限只有Select,也就是flag是0001。执行以上代码,flag = 0001 | 0100,也就是0101,便拥有了Select和Update两项权限。&/p&&p&添加Insert、Update、Delete三项权限:&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&enable&/span&&span class=&o&&(&/span&&span class=&n&&NewPermission&/span&&span class=&o&&.&/span&&span class=&na&&ALLOW_INSERT&/span&
&span class=&o&&|&/span& &span class=&n&&NewPermission&/span&&span class=&o&&.&/span&&span class=&na&&ALLOW_UPDATE&/span& &span class=&o&&|&/span& &span class=&n&&NewPermission&/span&&span class=&o&&.&/span&&span class=&na&&ALLOW_DELETE&/span&&span class=&o&&);&/span&
&/code&&/pre&&/div&&p&NewPermission.ALLOW_INSERT | NewPermission.ALLOW_UPDATE | NewPermission.ALLOW_DELETE运算结果是1110。假设现有权限只有Select,也就是flag是0001。flag = 0001 | 1110,也就是1111,便拥有了这四项权限,相当于添加了三项权限。&/p&&p&上面的设置如果使用最初的Permission类的话,就需要下面三行代码:&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&setAllowInsert&/span&&span class=&o&&(&/span&&span class=&kc&&true&/span&&span class=&o&&);&/span&
&span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&setAllowUpdate&/span&&span class=&o&&(&/span&&span class=&kc&&true&/span&&span class=&o&&);&/span&
&span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&setAllowDelete&/span&&span class=&o&&(&/span&&span class=&kc&&true&/span&&span class=&o&&);&/span&
&/code&&/pre&&/div&&b&&br&&br&二者对比&/b&&br&设置仅允许Select和Insert权限&p&Permission&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&setAllowSelect&/span&&span class=&o&&(&/span&&span class=&kc&&true&/span&&span class=&o&&);&/span&
&span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&setAllowInsert&/span&&span class=&o&&(&/span&&span class=&kc&&true&/span&&span class=&o&&);&/span&
&span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&setAllowUpdate&/span&&span class=&o&&(&/span&&span class=&kc&&false&/span&&span class=&o&&);&/span&
&span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&setAllowDelete&/span&&span class=&o&&(&/span&&span class=&kc&&false&/span&&span class=&o&&);&/span&
&/code&&/pre&&/div&&p&NewPermission&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&setPermission&/span&&span class=&o&&(&/span&&span class=&n&&NewPermission&/span&&span class=&o&&.&/span&&span class=&na&&ALLOW_SELECT&/span& &span class=&o&&|&/span& &span class=&n&&NewPermission&/span&&span class=&o&&.&/span&&span class=&na&&ALLOW_INSERT&/span&&span class=&o&&);&/span&
&/code&&/pre&&/div&判断是否允许Select和Insert、Update权限&p&Permission&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&k&&if&/span& &span class=&o&&(&/span&&span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&isAllowSelect&/span&&span class=&o&&()&/span& &span class=&o&&&&&/span& &span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&isAllowInsert&/span&&span class=&o&&()&/span& &span class=&o&&&&&/span& &span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&isAllowUpdate&/span&&span class=&o&&())&/span&
&/code&&/pre&&/div&&p&NewPermission&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&k&&if&/span& &span class=&o&&(&/span&&span class=&n&&permission&/span&&span class=&o&&.&/span& &span class=&nf&&isAllow&/span& &span class=&o&&(&/span&&span class=&n&&NewPermission&/span&&span class=&o&&.&/span&&span class=&na&&ALLOW_SELECT&/span&
&span class=&o&&|&/span& &span class=&n&&NewPermission&/span&&span class=&o&&.&/span&&span class=&na&&ALLOW_INSERT&/span& &span class=&o&&|&/span& &span class=&n&&NewPermission&/span&&span class=&o&&.&/span&&span class=&na&&ALLOW_UPDATE&/span&&span class=&o&&))&/span&
&/code&&/pre&&/div&判断是只否允许Select和Insert权限&p&Permission&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&k&&if&/span& &span class=&o&&(&/span&&span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&isAllowSelect&/span&&span class=&o&&()&/span& &span class=&o&&&&&/span& &span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&isAllowInsert&/span&&span class=&o&&()&/span&
&span class=&o&&&&&/span& &span class=&o&&!&/span&&span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&isAllowUpdate&/span&&span class=&o&&()&/span& &span class=&o&&&&&/span& &span class=&o&&!&/span&&span class=&n&&permission&/span&&span class=&o&&.&/span&&span class=&na&&isAllowDelete&/span&&span class=&o&&())&/span&
&/code&&/pre&&/div&&p&NewPermission&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&k&&if&/span& &span class=&o&&(&/span&&span class=&n&&permission&/span&&span class=&o&&.&/span& &span class=&nf&&isOnlyAllow&/span& &span class=&o&&(&/span&&span class=&n&&NewPermission&/span&&span class=&o&&.&/span&&span class=&na&&ALLOW_SELECT&/span& &span class=&o&&|&/span& &span class=&n&&NewPermission&/span&&span class=&o&&.&/span&&span class=&na&&ALLOW_INSERT&/span&&span class=&o&&))&/span&
&/code&&/pre&&/div&&p&二者对比可以感受到MyPermission位掩码方式相对于Permission的优势,可以节省很多代码量,位运算是底层运算,效率也非常高,而且理解起来也很简单。&/p&&b&&br&&br&一些用到位掩码的源代码&/b&&br&java.lang.reflect.Modifier&p&在Java反射中,java.lang.reflect.Modifier是用来判断类、成员变量、方法等包含的修饰符。在Modifier的源代码中可以看到:&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&PUBLIC&/span&
&span class=&o&&=&/span& &span class=&mh&&0x&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&PRIVATE&/span&
&span class=&o&&=&/span& &span class=&mh&&0x&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&PROTECTED&/span&
&span class=&o&&=&/span& &span class=&mh&&0x&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&STATIC&/span&
&span class=&o&&=&/span& &span class=&mh&&0x&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&FINAL&/span&
&span class=&o&&=&/span& &span class=&mh&&0x&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&SYNCHRONIZED&/span&
&span class=&o&&=&/span& &span class=&mh&&0x&/span&&span class=&o&&;&/span&
&span class=&c1&&// ......&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kt&&boolean&/span& &span class=&nf&&isProtected&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&mod&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&o&&(&/span&&span class=&n&&mod&/span& &span class=&o&&&&/span& &span class=&n&&PROTECTED&/span&&span class=&o&&)&/span& &span class=&o&&!=&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kt&&boolean&/span& &span class=&nf&&isStatic&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&mod&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&o&&(&/span&&span class=&n&&mod&/span& &span class=&o&&&&/span& &span class=&n&&STATIC&/span&&span class=&o&&)&/span& &span class=&o&&!=&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&android.text.util.Linkify&p&在Android开发中,Linkify可以设置文本中的地址、电话、邮箱等是否支持点击链接:&/p&&div class=&highlight&&&pre&&code class=&language-text&&Linkify.addLinks(textView, Linkify.WEB_URLS | Linkify.EMAIL_ADDRESSES);
&/code&&/pre&&/div&&p&android.text.util.Linkify部分源码:&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&WEB_URLS&/span& &span class=&o&&=&/span& &span class=&mh&&0x01&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&EMAIL_ADDRESSES&/span& &span class=&o&&=&/span& &span class=&mh&&0x02&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&PHONE_NUMBERS&/span& &span class=&o&&=&/span& &span class=&mh&&0x04&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&MAP_ADDRESSES&/span& &span class=&o&&=&/span& &span class=&mh&&0x08&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&ALL&/span& &span class=&o&&=&/span& &span class=&n&&WEB_URLS&/span& &span class=&o&&|&/span& &span class=&n&&EMAIL_ADDRESSES&/span& &span class=&o&&|&/span& &span class=&n&&PHONE_NUMBERS&/span& &span class=&o&&|&/span& &span class=&n&&MAP_ADDRESSES&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&boolean&/span& &span class=&nf&&addLinks&/span&&span class=&o&&(&/span&&span class=&n&&Spannable&/span& &span class=&n&&text&/span&&span class=&o&&,&/span& &span class=&kt&&int&/span& &span class=&n&&mask&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span&&span class=&n&&mask&/span& &span class=&o&&==&/span& &span class=&mi&&0&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&kc&&false&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&n&&URLSpan&/span&&span class=&o&&[]&/span& &span class=&n&&old&/span& &span class=&o&&=&/span& &span class=&n&&text&/span&&span class=&o&&.&/span&&span class=&na&&getSpans&/span&&span class=&o&&(&/span&&span class=&mi&&0&/span&&span class=&o&&,&/span& &span class=&n&&text&/span&&span class=&o&&.&/span&&span class=&na&&length&/span&&span class=&o&&(),&/span& &span class=&n&&URLSpan&/span&&span class=&o&&.&/span&&span class=&na&&class&/span&&span class=&o&&);&/span&
&span class=&k&&for&/span& &span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&i&/span& &span class=&o&&=&/span& &span class=&n&&old&/span&&span class=&o&&.&/span&&span class=&na&&length&/span& &span class=&o&&-&/span& &span class=&mi&&1&/span&&span class=&o&&;&/span& &span class=&n&&i&/span& &span class=&o&&&=&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span& &span class=&n&&i&/span&&span class=&o&&--)&/span& &span class=&o&&{&/span&
&span class=&n&&text&/span&&span class=&o&&.&/span&&span class=&na&&removeSpan&/span&&span class=&o&&(&/span&&span class=&n&&old&/span&&span class=&o&&[&/span&&span class=&n&&i&/span&&span class=&o&&]);&/span&
&span class=&o&&}&/span&
&span class=&n&&ArrayList&/span&&span class=&o&&&&/span&&span class=&n&&LinkSpec&/span&&span class=&o&&&&/span& &span class=&n&&links&/span& &span class=&o&&=&/span& &span class=&k&&new&/span& &span class=&n&&ArrayList&/span&&span class=&o&&&&/span&&span class=&n&&LinkSpec&/span&&span class=&o&&&();&/span&
&span class=&k&&if&/span& &span class=&o&&((&/span&&span class=&n&&mask&/span& &span class=&o&&&&/span& &span class=&n&&WEB_URLS&/span&&span class=&o&&)&/span& &span class=&o&&!=&/span& &span class=&mi&&0&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&n&&gatherLinks&/span&&span class=&o&&(&/span&&span class=&n&&links&/span&&span class=&o&&,&/span& &span class=&n&&text&/span&&span class=&o&&,&/span& &span class=&n&&Patterns&/span&&span class=&o&&.&/span&&span class=&na&&WEB_URL&/span&&span class=&o&&,&/span&
&span class=&k&&new&/span& &span class=&n&&String&/span&&span class=&o&&[]&/span& &span class=&o&&{&/span& &span class=&s&&&http://&&/span&&span class=&o&&,&/span& &span class=&s&&&https://&&/span&&span class=&o&&,&/span& &span class=&s&&&rtsp://&&/span& &span class=&o&&},&/span&
&span class=&n&&sUrlMatchFilter&/span&&span class=&o&&,&/span& &span class=&kc&&null&/span&&span class=&o&&);&/span&
&span class=&o&&}&/span&
&span class=&k&&if&/span& &span class=&o&&((&/span&&span class=&n&&mask&/span& &span class=&o&&&&/span& &span class=&n&&EMAIL_ADDRESSES&/span&&span class=&o&&)&/span& &span class=&o&&!=&/span& &span class=&mi&&0&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&n&&gatherLinks&/span&&span class=&o&&(&/span&&span class=&n&&links&/span&&span class=&o&&,&/span& &span class=&n&&text&/span&&span class=&o&&,&/span& &span class=&n&&Patterns&/span&&span class=&o&&.&/span&&span class=&na&&EMAIL_ADDRESS&/span&&span class=&o&&,&/span&
&span class=&k&&new&/span& &span class=&n&&String&/span&&span class=&o&&[]&/span& &span class=&o&&{&/span& &span class=&s&&&mailto:&&/span& &span class=&o&&},&/span&
&span class=&kc&&null&/span&&span class=&o&&,&/span& &span class=&kc&&null&/span&&span class=&o&&);&/span&
&span class=&o&&}&/span&
&span class=&k&&if&/span& &span class=&o&&((&/span&&span class=&n&&mask&/span& &span class=&o&&&&/span& &span class=&n&&PHONE_NUMBERS&/span&&span class=&o&&)&/span& &span class=&o&&!=&/span& &span class=&mi&&0&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&n&&gatherLinks&/span&&span class=&o&&(&/span&&span class=&n&&links&/span&&span class=&o&&,&/span& &span class=&n&&text&/span&&span class=&o&&,&/span& &span class=&n&&Patterns&/span&&span class=&o&&.&/span&&span class=&na&&PHONE&/span&&span class=&o&&,&/span&
&span class=&k&&new&/span& &span class=&n&&String&/span&&span class=&o&&[]&/span& &span class=&o&&{&/span& &span class=&s&&&tel:&&/span& &span class=&o&&},&/span&
&span class=&n&&sPhoneNumberMatchFilter&/span&&span class=&o&&,&/span& &span class=&n&&sPhoneNumberTransformFilter&/span&&span class=&o&&);&/span&
&span class=&o&&}&/span&
&span class=&k&&if&/span& &span class=&o&&((&/span&&span class=&n&&mask&/span& &span class=&o&&&&/span& &span class=&n&&MAP_ADDRESSES&/span&&span class=&o&&)&/span& &span class=&o&&!=&/span& &span class=&mi&&0&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&n&&gatherMapLinks&/span&&span class=&o&&(&/span&&span class=&n&&links&/span&&span class=&o&&,&/span& &span class=&n&&text&/span&&span class=&o&&);&/span&
&span class=&o&&}&/span&
&span class=&n&&pruneOverlaps&/span&&span class=&o&&(&/span&&span class=&n&&links&/span&&span class=&o&&);&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span&&span class=&n&&links&/span&&span class=&o&&.&/span&&span class=&na&&size&/span&&span class=&o&&()&/span& &span class=&o&&==&/span& &span class=&mi&&0&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&kc&&false&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&for&/span& &span class=&o&&(&/span&&span class=&n&&LinkSpec&/span& &span class=&n&&link&/span&&span class=&o&&:&/span& &span class=&n&&links&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&n&&applyLink&/span&&span class=&o&&(&/span&&span class=&n&&link&/span&&span class=&o&&.&/span&&span class=&na&&url&/span&&span class=&o&&,&/span& &span class=&n&&link&/span&&span class=&o&&.&/span&&span class=&na&&start&/span&&span class=&o&&,&/span& &span class=&n&&link&/span&&span class=&o&&.&/span&&span class=&na&&end&/span&&span class=&o&&,&/span& &span class=&n&&text&/span&&span class=&o&&);&/span&
&span class=&o&&}&/span&
&span class=&k&&return&/span& &span class=&kc&&true&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&&br&&b&可以替代位域的更好的方案&/b&&br&在《Effective Java》一书中,更推荐用EnumSet来代替位域:&br&&blockquote&位域表示法也允许利用位操作,有效的执行像union和intersection这样的集合操作。但位域有着int枚举常量所有的缺点,甚至更多。当位域以数字形式打印时,翻译位域比翻译简单的int枚举常量要困难很多。甚至要遍历位域表示的所有元素也没有很容易的方法。&br&&/blockquote&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&kd&&class&/span& &span class=&nc&&Text&/span& &span class=&o&&{&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&STYLE_BOLD&/span&
&span class=&o&&=&/span& &span class=&mi&&1&/span& &span class=&o&&&&&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&STYLE_ITALIC&/span&
&span class=&o&&=&/span& &span class=&mi&&1&/span& &span class=&o&&&&&/span& &span class=&mi&&1&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&STYLE_UNDERLINE&/span&
&span class=&o&&=&/span& &span class=&mi&&1&/span& &span class=&o&&&&&/span& &span class=&mi&&2&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&STYLE_STRIKETHROUGH&/span& &span class=&o&&=&/span& &span class=&mi&&1&/span& &span class=&o&&&&&/span& &span class=&mi&&3&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kt&&void&/span& &span class=&nf&&applyStyles&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&styles&/span&&span class=&o&&)&/span& &span class=&o&&{...}&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&调用:&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&n&&text&/span&&span class=&o&&.&/span&&span class=&na&&applyStyles&/span&&span class=&o&&(&/span&&span class=&n&&STYLE_BOLD&/span& &span class=&o&&|&/span& &span class=&n&&STYLE_ITALIC&/span&&span class=&o&&);&/span&
&/code&&/pre&&/div&改成EnumSet的写法是:&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&kd&&class&/span& &span class=&nc&&Text&/span& &span class=&o&&{&/span&
&span class=&kd&&public&/span& &span class=&kd&&enum&/span& &span class=&n&&Style&/span& &span class=&o&&{&/span&
&span class=&n&&BOLD&/span&&span class=&o&&,&/span& &span class=&n&&ITALIC&/span&&span class=&o&&,&/span& &span class=&n&&UNDERLINE&/span&&span class=&o&&,&/span& &span class=&n&&STRIKETHROUGH&/span&
&span class=&o&&}&/span&
&span class=&kd&&public&/span& &span class=&kt&&void&/span& &span class=&nf&&applyStyles&/span&&span class=&o&&(&/span&&span class=&n&&Set&/span&&span class=&o&&&&/span&&span class=&n&&Style&/span&&span class=&o&&&&/span& &span class=&n&&styles&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&out&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&n&&styles&/span&&span class=&o&&);&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&调用:&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&n&&text&/span&&span class=&o&&.&/span&&span class=&na&&applyStyles&/span&&span class=&o&&(&/span&&span class=&n&&EnumSet&/span&&span class=&o&&.&/span&&span class=&na&&of&/span&&span class=&o&&(&/span&&span class=&n&&Style&/span&&span class=&o&&.&/span&&span class=&na&&BOLD&/span&&span class=&o&&,&/span& &span class=&n&&Style&/span&&span class=&o&&.&/span&&span class=&na&&ITALIC&/span&&span class=&o&&));&/span&
&/code&&/pre&&/div&
如何使用位掩码可以参考我的一篇博客: 在Java中,位运算符有很多,例如与(&)、非(~)、或(|)、异或(^)、移位(&&和&&)等。这些运算符在日常编码中很少会用到。在下面的一个例子中,会用到位掩码(BitMask)…
你的问题其实可以理解为,“在我现在基础的前提下,如何在7月份离职的时候能找到一份前端的实习机会”。&br&&br&之前有个机会给一个没有任何技术背景的人做一对一前端培训(当然因为各种原因没进行下去),当时列的一份课程内容,可以参考下:&br&&br&&ul&&li&3月(前端基础)&ul&&li&前端语言基础&ul&&li&JavaScript语言基础&/li&&li&JavaScript难点:闭包&/li&&li&JavaScript难点:单线程异步&/li&&li&JavaScript难点:原型继承&/li&&li&CSS语言基础&/li&&li&HTML语言基础&/li&&/ul&&/li&&li&前端DOM编程&ul&&li&DOM操作&/li&&li&DOM事件&/li&&/ul&&/li&&li&计算机网络原理&/li&&li&前端网络编程&ul&&li&AJAX&/li&&li&异步&/li&&/ul&&/li&&/ul&&/li&&li&4月(后端基础)&ul&&li&简单的PHP服务端编程&ul&&li&PHP语言基础(简单)&/li&&li&简单的PHP服务端编程&/li&&/ul&&/li&&li&数据库知识&ul&&li&数据库基础知识&/li&&li&PHP操作数据库&/li&&/ul&&/li&&li&前后端贯通&ul&&li&cookie & session&/li&&li&登录&/li&&li&数据库读写&/li&&/ul&&/li&&/ul&&/li&&li&5月(前端实践)&ul&&li&框架与库&/li&&li&大量前端页面的实践&/li&&li&兼容性&/li&&/ul&&/li&&li&6月(Mobile Web)&ul&&li&H5开发基础知识&/li&&li&H5页面实践&/li&&/ul&&/li&&li&7月(NodeJS)&/li&&ul&&li&NodeJS语言基础&/li&&li&Node 服务端开发&/li&&li&Node 命令行工具开发&/li&&/ul&&/ul&&br&我列的这个时间计划,基本上是全天学习(早上9点开始上课,下午继续上课,晚上还有作业),周末会有测试。然后我实践了两周下来发现学生的学习进度还是比我预期的慢很多。当时得出的结论是,&b&知识背景和学习能力这两个要素会对课程进度产生很大的差异&/b&。所以你在评估自己的进度的时候,需要看清楚自己在这两块的能力。&br&&br&从长远来看我的建议:&br&&br&- 欲速则不达。做长远的学习计划,或许用一年的时间成为一名各方面知识都基本了解的前端工程师会是一个更好的目标&br&- 重视基础知识。比如我的课程设计里面,前面两个月都是以基础知识的掌握为主&br&- 重视后端知识。前端工程师不仅仅是需要会JS,CSS,HTML就可以,还需要对网络原理,后端的一些实现原理有了解。&br&- 关于CSS这块的能力。相比JS,CSS这块的能力更加偏向于经验的积累,我的建议是,多进行实际项目的实践,并且有针对性的写独立的样式模块,对写的页面都保证兼容性(IE8+,Chrome,Firefox,Safari)。另外要是有耐心,尝试写一个类似Bootstrap这样的样式库,能得到比较完整的经验覆盖面,以及增加对CSS模块化的理解(尝试使用LESS和SASS)&br&- H5可以往后放。H5的本质还是以上的这些知识在移动端的应用,只是额外补充更多的知识而已(如touch相关的编程,各种传感器,viewport,高分屏适配等)&br&- 程序员是一个知识体量很大的职业,不要仅仅局限在前端,可以看看 陈皓写的 &a href=&///?target=http%3A///articles/4990.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&程序员技术练级攻略&i class=&icon-external&&&/i&&/a&&br&&br&短期对于7月份离职准备的建议:&br&&br&- 1、巩固基础知识,参考我上面写的3月和4月计划,时间有限,以3月计划为主,时间不够,4月后端相关知识可以只是做大体了解&br&- 2、基础框架使用:jQuery用起来,并且直接用它来做页面&br&- 3、CSS 部分实践:不仅仅是切页面,同时保证兼容性&br&- 了解各种新技术名词趋势(注意只是了解,你没那么多时间。面试的时候面试官会觉得你能follow最新的趋势,可能倾向于认为你会有学会这些技能的潜力),参考 &a href=&///?target=https%3A///gaohailang/blog/issues/12& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&& 展望 Javascript 2016年的趋势和生态发展 · Issue #12 · gaohailang/blog · GitHub&i class=&icon-external&&&/i&&/a&
你的问题其实可以理解为,“在我现在基础的前提下,如何在7月份离职的时候能找到一份前端的实习机会”。 之前有个机会给一个没有任何技术背景的人做一对一前端培训(当然因为各种原因没进行下去),当时列的一份课程内容,可以参考下: 3月(前端基础)前端…
既然提到我了,我就露一下面。具体的计划,看我下面这个:&br&&p&&a href=&///?target=http%3A///jikey/p/3600308.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&1. web前端开发分享-css,js入门篇&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A///jikey/p/3601666.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&2. web前端开发分享-css,js进阶篇&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A///jikey/p/3604459.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&3. web前端开发分享-css,js提高篇&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A///jikey/p/3607133.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&4. web前端开发分享-css,js工具篇&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A///jikey/p/3611394.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&5. web前端开发分享-css,js深化篇&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A///jikey/p/3632392.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&6. web前端开发分享-css,js移动篇&i class=&icon-external&&&/i&&/a&&/p&&br&&p&&b&1. 看书流程是这样的&/b&,高程只是其中的一本,还有很多本:&/p&&br&js dom编程艺术(2 version)-&js高级程序设计 (3 version)-& js dom高级程序设计 -& js 语言精粹 -& 精通js -& 编写可维护的js -& 高性能js -& js面向对象编程指南
-& js模式 -& js权威指南(6 version) -& js语言精髓与编程实践&br&&p&js dom编程艺术 : 他只是截取了js中的部分概念进行了介绍,并不完整或深入。&/p&&p&js高级程序设计 : 经典的js基础书,之所为经典是因为系统完善的介绍了js的历史,基础及预测了当下的流行趋势。与犀牛比更测重于实践结合&/p&&p& js dom高级程序设计 : 主要讲如何去写一个框架或库。&/p&&p&js 语言精粹:json作者,道格拉斯写的,主要解析js语言本质或内涵。&/p&&p&精通js:jquery作者写的,浅浅的解析了jquery一些方法的实现,注意是很浅。&/p&&p&编写可维护的js,高性能js:这两本是高程作者尼古拉斯的,出版日期在高程后,深度可想而知。&/p&&p&js面向对象编程指南:主要讲面向对象的一些东西。&/p&&p&js模式: -& js权威指南(6 version)&/p&&br&js模式,这两本是淘宝团队翻译的,模式主要一半讲模式一半讲基础。&br&js权威指南(6 version),经典犀牛,一半讲基础,一讲是参考。&br&&br&&p&2. &b&看书的目的:&/b&掌握理论知识,梳理js的知识结构,最主要的一点是为了应付面试。面试的主要环节是为了表达自己的想法,只凭简单的理解,是不能完全的表达出一个问题的广度或深度,只有结合了行业中的术语约定或一些习惯叫法,表达出来的意思才更专业。如果不是这样,表达出来的意思别说面试官听不懂,连自己都感觉要么表达不出来,要么表达的不是想要的。但书着重于对理论知识的阐述,缺少实际例子的支持,很难快速的消化。这时候视频可以弥补这个缺陷,而且妙味视频用简单的代码实现一些常见的效果,学习兴趣很快就能被吸引。但是对js的高级特性,个人感觉视频没有达到那个深度。而且js的一些基础的问题,或一个知识的扩充,限于各种条件的限制,可能无法完全表达出来。所以要结合书来补充。&/p&&br&一般学习的心态是:不急不躁,不快不慢。持之以恒,相信自己。&br&另外如果是实习生或者刚进公司有人带你就更好了,他给你布置任务,然后代码回查,有错误帮你指出。这样成长就很快,但是如果没有这样的环境就积累自己,找一个这样的环境,这样的平台也是有门槛的,所以,积累基础,跨越这个门槛。&br&&br&&b&3. 作品&/b&,下面的是我群的高手的一些积累,有空的借鉴一下高手们的学习方式或积累过程:&br&&a href=&///?target=http%3A//thx.github.io/magix/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Magix - Magix&i class=&icon-external&&&/i&&/a&&br&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&小剧客栈_剧中人的个人博客 网页设计师博客 前端工程师 互动设计学习者&i class=&icon-external&&&/i&&/a&&br&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Introduce of GuoShan&i class=&icon-external&&&/i&&/a&&br&&a href=&///?target=http%3A///liyunhua/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&静逸 - 博客园&i class=&icon-external&&&/i&&/a&&br&&a href=&///?target=http%3A//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&百码山庄,看前端,做前端,专注前端!会前端,一切皆有可能...&i class=&icon-external&&&/i&&/a&&br&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&坚壳&i class=&icon-external&&&/i&&/a&&br&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&hacke2's blog&i class=&icon-external&&&/i&&/a&&br&&a href=&///?target=http%3A//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&br&&a href=&///?target=http%3A//hcjp.github.io/work/demo/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Demo&i class=&icon-external&&&/i&&/a&&br&&br&以上个人建议仅供参考。&br&&b&如果你还比较孤单,找不到方向,请入群:。&/b&
既然提到我了,我就露一下面。具体的计划,看我下面这个:
&b&前言&/b&&br&&b&===============================&/b&&br&&b&&br&CSS入门比较简单,很适合零基础的人去学习。&/b&&br&&b&但是该从哪里开始呢?又该学到什么程度,学会了之后,又会能找到一份什么样的工作呢。&/b&&br&&br&&br&&b&首页,我必须要告诉你们,IT修真院的弟子们是可以在一个月之内胜任初级CSS工程师的工作的。已经有近10个人通过线下的学习,成功的从零基础进入互联网前端工程师这个行业。&/b&&br&&br&&br&&b&线上也有近60人开始这种新的互联网IT技术教育的模式,不过,相对于传统的看视频,看教程的学习方式,你必须按照这篇贴子里所说的去做, 才行。&/b&&br&&br&&br&&b&还有,记着,对于线上来讲,缺的永远是一个好的环境,一个好的交流氛围,一个让自己坚持下去的理由。&/b&&br&&br&&br&&br&&b&目录&/b&&br&&b&===============================&/b&&br&&b&一 什么是CSS&/b&&br&&b&二 该学习哪些内容&/b&&br&&b&三 能胜任什么工作&/b&&br&&br&&b&四 为什么不推荐去看视频&br&五 究竟该怎么去学习&/b&&br&&b&六 遇到问题怎么交流&/b&&br&&b&七 下一步学什么&/b&&br&&b&八 哪些能力是工程师必须要掌握的&br&===============================&/b&&br&&br&&b&一 什么是CSS?&/b&&br&&br&CSS【层叠样式表】是一种用来表现&a href=&///?target=http%3A///view/692.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&HTML&i class=&icon-external&&&/i&&/a&(&a href=&///?target=http%3A///view/5286041.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&标准通用标记语言&i class=&icon-external&&&/i&&/a&的一个应用)或&a href=&///?target=http%3A///view/63.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&XML&i class=&icon-external&&&/i&&/a&(标准通用标记语言的一个子集)等文件样式的计算机语言。&br&&br&解释一下标准的IT项目组成员的含义和职责:&br&&b&1.产品经理:&/b&每一个好的产品,都是产品经理在浴室里思考会议室上拍桌子说服大佬最后拿着枪指着程序员做出来的。这就是产品经理的职责,他们被认为是互联网的灵魂和发动机,理解用户痛点,给出解决方案,做出差异化的产品,能够快速迭代,可以合理分期并能够及时评估项目风险。产品经理就是负责把用户的需求,变成需求文档和原型和PPT和流程图。&br&&br&
当然,大多数程序员对于产品经理的形容只有两个字:SB&br&&br&&b&2.UI:&/b&UI是一个又能做产品又能做页面又能做交互的神奇物种,做UI是跟做前端的人打交道最多的职业,所以他们跟CSS一样,有时候都被简称是美工或切图的,有时候就是给合影照做PS的。UI就是把产品经理设计的原型图,上色变成好看的设计稿。也就是PSD文件。&br&&br&
当然,大多数程序员(特别是CSS)对于UI人员的形容只有三个字:像素眼&br&&br&&b&3.CSS:其实有时候CSS根本不算程序员啦,这也是为什么有时候UI会兼职做CSS的重要原因。也是CSS成为了最容易上手的IT职业。CSS就是负责把UI设计的图片(PSD&/b&&b&),变成Html网页,里面的数据全是假的。&/b&很多时候学会CSS就能找到一份IT行业的工作,但是并不能帮助你拿高薪。&br&&br&
当然,大多数程序员对于CSS人员的形容只有三个字:切页面的。&br&&br&&br&&b&4.JS:JS入门的难度比CSS稍高一些,但也是所有真正程序员里比较简单的工种了。简单的JS程序员只是做点轮播,做点特效和动画,加个弹窗,做个验证。但是,现在呢,前后端分离的方式,前端架构概念的出现,Html5的普及,已经让前端成为了一个最重要和最热门的工种。&/b&&br&&br&
当然,大多数程序员对于JS人员的形容就是:我靠,你居然会写后端代码?&br&&br&&br&&b&5.后端:&/b&后端其实才是神一样的存在,无论前端是有Apple还是IOS还是桌面客户端,永远少不了后端,后端要懂业务逻辑,要懂扩展,要懂备份和安全。但是后端是一个很吃年限,入门要求很高的职业。&br&&br&
当然,大多数产品经理对于后端人员的形容就是:马丹又延期了。&br&&br&&br&&b&6.QA:&/b&QA归属于程序员,但是常常会被程序员孤立哈哈哈哈哈。因为QA就是专门挑错的人,如果你挑错挑的不严谨,Boss会骂你。如果你挑错挑的很认真,程序员会杀了你。你自己看着办吧。&br&&br&
当然,大多数程序员对于QA的形容就是:你是不会用吧。&br&&br&&b&7.OP:&/b&OP是比较奇葩的物种,跟各个程序员之间基本上没什么大的冲突,除非是到了发布的时间点。无数的OP都会经历过这样的事情,线上发布一次,马丹,有Bug,回滚或者是直接在线上改。改了半个小时,马丹,还是错,再继续改。这次先到了测试环境验证,好不容易验证通过了,再发到线上,又出问题了。马丹,程序员们继续改。&br&&br&
当然,大多数程序员最喜欢对OP说的一句话就是:大哥,睡了没?没睡再帮我发一个版本吧?&br&&br&&br&&br&&b&小结:CSS就是负责把UI设计的效果图变成静态网页,然后由后端或者是前端JS把静态网页中(假数据)变成动态网页(真数据)。简单说,不用理解太多产品需求,只要勾搭好UI妹子,做好浏览器兼容,做好自适应和响应式,代码写的别那么烂,有点通用性,就好啦。这就为一个月之内学会CSS,成为一个初级的CSS工程师,创造了前提条件。&/b&&br&&br&&br&&br&&b&二 该学习哪些内容&/b&&br&&b&===============================&/b&&br&先看一下这张图,不同的颜色代表着你需要了解到不同的程度。&br&&br&&br&&img src=&/a86cc5b218ce6ae6c9dfdc8f_b.png& data-rawwidth=&1017& data-rawheight=&1948& class=&origin_image zh-lightbox-thumb& width=&1017& data-original=&/a86cc5b218ce6ae6c9dfdc8f_r.png&&&br&&br&&br&简单来说呢,我对一个月的CSS工程师要求是:&b&能独立完成自适应和响应式的项目,能会使用Bootstrap和Less。&/b&&br&&br&你们觉得难么?可能大部分人都未必知道,什么是适应,什么是响应式,什么是Boostrap和Less。&br&&br&&br&&b&好吧,这确实是有点难度,不过我大IT修真院的弟子可以在15天之内完成这个的。所以,其实还不算太难啦,难的还在于是编码规范。&/b&&br&&b&&br&这儿我把CSS初级工程师,需要会的内容,再整理成一个文字版的。&/b&&br&&br&&b&1.基础环境的配置&/b&:WebStorm/sublime,Svn/Git,Nginx/shell ,PS ,命名和规范。&br&&br&这些都是一开始就要会的了,只有一开始都先从简单的功能开始使用,然后每天巩固,每天在用,当一个月之后,你会发现根本就不用刻意去学,自然就会了。其中,WEBStorm是IDE,SVN是源码管理工具,Nginx是WEB服务器,Shell只需要会一些简单的脚本,PS是要你自己学会切图,命名和规范是格外的重要的。。这里每一个点都可以无限扩散,然而你并不需要会那么多,暂时来说,会用就行。&br&&br&&b&2.布局+样式&/b&:布局是最基础的操作,先抛开各种奇怪的控制的属性不谈,单说各种对齐和局中。&br&&br&这里其实是需要了解一些理论知识的(大概也是CSS里为数不多的理论知识之一),主要就是盒子模型,定位(标准流)(浮动)(相对,绝对)。用这些东西做出常见的居中,两列,三列,Header,Foot,侧边栏等。 然后就是学习各种控件(简单的和复杂的)的样式,这里包括选择器,优先级等等。&br&&br&&b&3.自适应+响应式&/b&:可以这么说吧,从现在开始,表再做没有自适应的网页了,优先考虑响应式吧,跨屏时候已经来临。所以你要了解屏幕尺寸(Media),要懂长度单位(em,rem,百分比)&br&&br&&b&4.性能优化&/b&:一些简单的常识就够了。最少要学会雪碧图的制作。&br&&br&&b&5.框架:&/b&Bootstrap和Less,在学会以上4种的时候,已经可以自己搭建一个网站了~&br&&br&吃惊咩?然而还是需要学习一下Bootstrap,学会了解一下使用开源框架的感受,学习别人封装代码的思路,这是最重要的。Less可以帮助你从另一个角度去思考,让你的代码更简洁。&br&&br&&br&&br&&b&好的,现在来简单总结一下,当我说,一个月之内成为一个CSS初级工程师的时候,就是指的你已经学会了以上的内容。这样你就能开始写一些项目了,在写项目的过程中,会加深很多细节的知识,CSS的知识就是繁琐的。&/b&&br&&b&只有掌握了这些,你才能完成接下来的学习。&/b&&br&&br&&br&&br&&b&三 能胜任什么工作&/b&&br&&b&===============================&/b&&br&&br&其实,刚刚已经说到一些了。初级的CSS工程师,在北京可以拿到4K~8K的薪水,能不能找到工作,取决于你能不能独立做出来项目的页面。能拿到多少薪水,取决于你会不会一些JS。&br&这样的水准啊。在北京找到份工作其实不难了,你每天的日常工作就是,从UI那里拿到图。然后切成静态页面,然后当后端的同学套页面的时候,去看看套的对不对。&br&&br&跟着会做一些轮播图,做个小弹框之类的。如果你停止学习,你可能在这个水平上停留很长时间。哦,还有可能会懂一些浏览器的Hack。学会兼容IE的老版本。&br&&br&&br&&b&四 为什么不推荐去看视频&/b&&br&&b&===============================&/b&&br&坦白的说呢,如果没有人教你,没有人带你,想要实现在一个月的时间里就学会这些,基本上是做不到的。&br&这也是我写这篇贴子的很重要的原因,这也是这篇贴子中最有价值的地方。&br&&br&&b&总的原则是:&/b&&br&&b&&br&1.永远永远不要去先看视频,先看书。&/b&&br&&b&2.永远永远记着代码是写出来的,不是看出来的。&/b&&br&&b&3.永远永远记着要有自己独立学习独立解决问题的能力。&/b&&br&&b&4.永远永远记着不要说自己不会英语。&/b&&br&&b&5.永远永远记着不要给自己没有时间找借口。&/b&&br&&b&6.永远永远记着要学的知识有很多,找到一条正确的途径才可以。&br&&/b&&br&&br&&br&好了。看完这些,也可能会跟你之前的认知有所不同。&br&但是,想想,你有没有遇到过这些问题。&br&&br&&br&&b&1.不知道自己该学什么,从哪里入手。&/b&&br&&b&2.视频看了很多,讲起来好像懂了,做起来完全又不会。&/b&&br&&b&3.遇到了问题,根本找不到人解决。&/b&&br&&br&&br&&br&&br&&b&&br&那么我来解释一下,为什么我会让你们抛弃看视频,看教程,做测试题等各种奇怪的学习方式,转而投向更高效更快速的IT修真方式。&/b&&br&&br&&b&首先,技术是有体系的,但是又是非常零散的。&/b&&br&这些零散的小知识太多了,而且在实际使用中,你并不需要把所有的零散小知识都学会,那样太慢了,更何况,在做真实的项目中,根本用不到这些小知识。&br&用不到的东西很容易就会忘啊。所以这就是你看视频或者是教程之后,就算是懂了也会很快就忘记的原因。&br&怎么解决?多写多练,学习致用。&br&&br&&b&其次,做技术的要培养的是自我学习和解决问题的能力。这是看视频和看教程绝对没有办法教会你的。&/b&比如说,遇到了问题,该去找哪些关键词?百度的结果中,哪些常用网站的答案是可信的?哪些的方法根本就是错的?&br&请教别人的时候,如何能够快速准确的描述清楚自己的问题呢?&br&每个人都有自己的学习方式,都有自己无法理解的问题和困扰,这些只能靠真正的写代码去实践出来的。&br&&br&&b&再次,学习的氛围很重要,讨论交流,同学都在努力学习的氛围会让你不自然的向前走。&/b&&br&这同样是视频和教程很能给你培训的啊。没有人监督,没有人一起学,很容易被各种各样的琐事打断。&br&&br&&br&&b&最后,做项目更看重的是编码规范,交流沟通,协作和进度支持。&/b&&br&&b&这也是各种培训机构很难带给你们的。很多培训机构的老师都只会讲课,并不会做项目。&/b&&br&&br&&br&&br&&b&五 该怎么去学习&/b&&br&&b&===============================&/b&&br&&br&说了这么多,该怎么去学习呢。别着急,容我仔细讲来。&br&&br&&br&&b&1.要明白自己学习的目标是什么。&/b&&br&
这里的学习目标,并不是成为一个CSS工程师之类的,也不是迎娶白富美什么的,而是一个明确的,专业的目标。&br&
对于CSS工程师来讲,要进入公司就必须能够独立做项目,必须学会编码规划和协作,必须学会自适应和响应式,再学会Bootstrap来了解框架,最后是学习Less扩展视野。&br&&br&&br&
记住了么,如果这些名词不太熟悉,不要害怕,学习都是有顺序的。但是,前提条件是,你必须明白,你会了这些,你才能够说自己算是CSS入门了,可以独立去找一份工作了。&br&&br&&br&&b&2.要有明确的学习规划&/b&&br&
从简到难,先学什么,后学什么,有人带和没人带的差别,就在于这里。&br&
对于CSS来说,重新回过头来看看本篇贴子的第二节,这就是你的一个学习的规划。这就是你要学习的内容。&br&&br&&br&&b&3.要不断的用代码去验证自己学习的成果&/b&&br&
会和不会最直接的方式,就是你能不能做得出来,所以一定是你去做一个任务,然后这个任务呢,包括某种技能和知识点的训练(玩过游戏的都会比较熟悉这种方式),在做任务的时候遇到了问题,再去找人交流或者是请教师兄。&br&
能直接写出来的代码,会让你有脚踏实地的感觉,不会心虚。&br&
对于CSS来说,重新回过头来看看本篇贴子的第二节,这就是你的一个学习的规划。这就是你要学习的内容。&br&&br&&br&&b&4.要学会自己去主动解决问题&/b&&br&&br&记着,每一个你遇到的问题,都是你成长的机会。&br&&br&
之前提到过,自己主动解决问题的能力很重要,这是一个程序中的生涯中必不可少的解决问题的方式。所以从一开始就要培养自己在这方面的能力,而这个真的是一种能力。有的人能够快速找到问题的解决方案,有的人会被一个问题卡很久,每个人的情况都不一样,早点入手,早点找到更适合自己的方式。&br&&br&&br&&b&5.要学会自己去和其他人交流请教&/b&&br&其实交流和请教别人,也不是一件简单的事儿,很多时候你并不能描述清楚你的问题。因为出现问题的原因总是千奇百怪,特别是每个人走的路子不一样,解决问题的方案也不一样。因些,最好的方式就是寻找那些刚刚解决过这些问题,比你早走一步的师兄,对他们来说,更乐意去帮助你解决掉这些问题,这也是强化记忆的一种方式。&br&
学会寻找合适的人去请教,描述清楚又不能过多打扰对方,这也是一种能力的训练。还有,提前认识一些技术上的前辈,他们能给你们的指导和帮助,远远超出你的想像。(IT修真院就是提供这么一种途径)&br&&br&&br&&b&6.每天都去总结反馈&/b&&br&
不要给自己任何的理由去停止练习,哪怕你什么都没做,也要保持记录日报的习惯(IT修真院的论坛里有很多师兄写的日报,可以参考,也是我带IT修真院学员的时候,点评日报是和学员交流的最好方式),你可以发现,自己究竟学会了什么,又因为什么阻碍了自己的进度,在什么地方进步更快。&br&
不断的反思和总结,会让你收益颇丰。&br&&br&&b&7.公开代码,接受交流&/b&&br&
你是一个新人,所以没什么可羞涩的。把代码公开出来,把做出来的效果贴出来,这都是很好的交流方式和心态。&br&&br&&b&8.注重规范,注重合作,注重交流&/b&&br&
在真实项目中,这比什么都重要,你会发现,当你和三个人一起合作的时候,因为Class命名不统一不规范产生冲突,因为三个人风格不一致导到项目后期维护困难,当需求发生变化的时候你发现自己写的代码简直无法改动,等等等等这些,在刚开始的时候就这么做,考虑代码的扩展性和可维护性,否则一旦你养成很多坏习惯,再纠正过来就很难了。&br&&br&&b&9.在需要的时候再去看视频和教程&/b&&br&在遇到一些关键的节点上,自己解决不了的问题的时候,再去翻阅视频和教程-我不确定你们是否明白这两种方式的差别,就是不要跟着教程和视频走,那样太慢,不要去做所谓的练习题,对你没有任何帮助。而是把教程和视频当成是词典,你只在需求的时候去查阅它,在自己积累到了一定的困惑的时候,再去梳理和总结。这是我从业近十年以来发现的最快的学习方式。&br&&br&&b&10.不要太贪心,什么都想学&/b&&br&严格按照任务序列去做,不要太纠结于细节,学会把不会的内容放一放,留在脑袋里一直让它困惑。保持足够的进度,当积攒到一定程度,你发现他成为你学习的瓶颈的时候,再去解决它。
否则你会就迷失到知识的海洋中,根本找不到方向。&br&&br&&br&&b&11.学会最佳实践&/b&&br&在做CSS或者是其实的语言的时候,慢慢的你会发现,完成一份工作,总是有很多种方式,很多时候你会困惑,我究竟该用哪些方式好?这个在项目中,就叫做最佳实践,换句话说。最佳实践就是无数人走了无数的弯路,告诉你那么走是走不通的,按照正确的方法走是没问题的。&br&&br&
然而问题又来了,很多时候都会告诉你正确的路怎么走,但是为什么不能走其他的路,并没有人说。而且,也太多了。&br&
因此我必须要认真的提醒你,先确定自己能用一种方式把问题解决,然后再去寻找更好的方式,这就是你的最佳实践。等以后有更好的办法解决问题的时候,再去改进自己的经验体系。&br&&br&&br&六 遇到问题怎么交流&br&=================================&br&&br&一般来说,遇到问题往往会有以下几种解决方案。&br&&br&&b&
1.如果有之前的正确代码,回滚到正确的代码上,先确认是哪一行代码产生的问题。&/b&&br&&b&&br&
2.确认你的运行环境,如果是CSS的话,确定是在哪个浏览器的哪个版本下出的问题。&/b&&br&&b&&br&
3.打开F12,如果有报错信息,那么就直接百度报错信息,先试着理解一下报错的含义。&/b&&br&&b&&br&
4.如果没有报错信息,用两到三个词来描述你的错误现象,查一下百度结果。用最快的速度判断出来哪些结果有用和没用。如果没用,更换关键词,通常你应该做到,在10秒钟之内至少切换两到三次关键词。&/b&&br&&b&&br&
5.写清楚自己的环境很困惑的地方,像一个程序员一样的去问问题,比如说,为什么我的Nginx配置完正确的路径之后显示出来的仍然是默认的欢迎页面,并没有切换到我自己的Html页。而不是像个傻子一样说,有没有人会Nginx?为什么我的Nginx不能用?如果有截图,截上全屏的图,不要只截一小块,真的很烦只截一小块代码的没头没脑的图。&/b&&br&&b&&br&
6.先整理问题,再去提问,不要随便遇到一个问题就各种去找人问,整理清楚自己的困惑,然后发给别人,等他们有时间的时候再回复。&/b&&br&&b&&br&
7.查阅相关的资料,用最短的时间确定是否能解决自己的问题。不要迷失,不要一直看下去。有困惑一定要存疑,积累至少一到两天或者一周(看你困惑的是不是关键性的问题)。&/b&&br&&b&&br&
8.多写不同的代码,多找已有的例子,公开自己的源码,找固定的学习伙伴,寻找比你刚好多学了一点点的师兄,而不是一定要找一些技术大牛,你遇到的问题,他很难领会到你的困境,因为离菜鸟困惑的时间点太远了。【我不得不强烈推荐IT修真院,去哪找这么好的学院找师兄?】&/b&&br&&br&&br&&br&&br&七 下一步学什么&br&=====================================================&br&&br&&br&实际上,当你能通过IT修真院的15个Task,你就已经可以成为一个具有学习能力,了解CSS的整体趋势,能够独立完成一些项目的初级CSS工程师了。接下来就应该偏向于代码规范,JS,CSS3和Html5的内容。如果想了解更多,就关注IT修真院的微信公众账号,开始CSS中级工程师的修真之旅吧。&br&&br&&br&&b&八 哪些能力是工程师必须掌握的&/b&&br&&b&===============================&/b&&br&通过以上的描述,你们会发现,IT修真院强调有几个非常关键的原则。&br&&br&1.代码是写出来的,不是看出来的。&br&2.你遇到的问题,恰恰就是你成长的机会。&br&3.比你刚刚好快一步的师兄,是教导你的最好的老师,并不是水平越高,教你越好。&br&4.知识是有体系的,在学习的过程中,最忌讳就是方向不清,茫然没有目标。&br&5.在遇到问题的时候,快速去寻找相关的解决方案,可以找书,可以找视频,可以找人请教。而不是反过来,先去看书,看教程,让人教。&br&&br&所以,总结出来,CSS工程师(其实所有的IT技术工程师都是通用的)应该具备的能力:&br&&br&1.独立解决问题的能力&br&&br&通过百度,学会如何查找关键词,学会如何快速筛选结果,了解哪些网站的答案真实可用,学会描述问题,定位问题,尝试不同的方式解决问题。&br&&br&2.搭建基础环境的能力&br&&br&无论做什么事情,第一步永远都是搭建最基本的开发环境。这是重要的不能再重要的能力了,程序员可能仅仅是写代码,工程师必须是解决问题。&br&所以环境很重要,包括IDE和各种代码管理工具和Nginx的使用。&br&&br&3.反思总结知识体系的能力&br&&br&每天写日报来反思自己,每天的进步都看得到。每隔一段时间就总结和回顾一下,对自己的知识体系做梳理,特别是要学会把自己会的内容讲给别人听,这对工程师的成长格外重要,学会把自己会的,不会的列的清清楚楚。&br&&br&4.沟通协调的能力&br&&br&工程师是一个不停的和各个角色交互的职务,并不仅仅是面向代码而已。CSS工程师要学会和产品经理,UI和后端工程师和QA打交道,偶尔还有运维。只是这些都是需要专业的语言而已。&br&&br&&br&&br&以上这些,都必须是通过写代码,做真实的项目才可以完成。当你看完这篇贴子,如果还不相信可以在一个月之内完成这些,就来修真院看看吧,这里已经有很多人开始了自己的IT修真之旅。&br&&br&&br&&b&北京葡萄藤.IT修真院 &a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&首页 | IT修真院&i class=&icon-external&&&/i&&/a&&/b&&br&&b&===============================&/b&&br&&b&&b&免费,快速,高效的帮助IT新人入门,加QQ群:&/b&&b&&b&。微信公众号:&/b&&/b&葡萄藤IT技能树&/b&&br&&br&&br&&b&修真院给你一个精心设计的成长体系,一个热血的学习氛围,一个强大的人脉背景,一个免费快速的学习环境。&/b&
前言 ===============================
CSS入门比较简单,很适合零基础的人去学习。 但是该从哪里开始呢?又该学到什么程度,学会了之后,又会能找到一份什么样的工作呢。 首页,我必须要告诉你们,IT修真院的弟子们是可以在一个月之内胜任初级CSS工程师的…
&p&【本人性格不好,被惹到了必然句句带脏字,所以评论中如果有不开眼的,请慎重。另外,这篇回答从头到尾都是我自己的个人偏见,绝对不客观,也绝对不会为本答案负责。所以,有自己正常思维的请不要再看下去了。最后,这篇文章在最后会指向硬广,来佐证文中实例,因此,不喜欢有广告的可以直接举报了,顺手推荐一下修真院的专栏,各种IT行业的真实小故事。&a href=&/jnshu& class=&internal&&IT修真院 - 知乎专栏&/a&】&/p&&p&&br&&/p&&p&&br&&/p&&p&Live已开通~想听Live的可以点这里&/p&&p&&a href=&/lives/107520& class=&internal&&知乎 Live - 全新的实时问答&/a&&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&互联网行业的薪资水准相对较高,刚入行一个月,半年,或者一年超过其他行业薪资很正常。
那么,互联网行业究竟有哪些职位呢,又分别适合哪些传统行业转型?&/p&&p&1.产品
5.后端(Java/php/python)
6.DBA(mysql/oracle)
7.运维(OP)
8.测试(QA)
9.算法(分类/聚类/关系抽取/实体识别)
10.搜索(Lucene/Solr/elasticSearch)
11.大数据工程师(Hadoop)
12.Android
14.运营&/p&&p&&br&&/p&&p&&br&&/p&&p&然后等下我会分别介绍每个职业的工作内容,发展前景,入门门槛,适合哪些职业转行,成长周期,薪水范围等。&/p&&p&* 薪水都以北京为例
* 运营和市场都有更细致的划分,然而我并不太了解了
* 其他的偏门的&/p&&p&&br&&/p&&p&一.产品
========我是求某个姑娘快原谅我的的分割线=============&/p&&p&&br&&/p&&p&&br&&/p&&p&1 工作内容:了解用户需求,做竞品调研,画产品原型,写产品文档,讲解产品需求,测试产品Bug,收集用户反馈,苦练金刚罩以防止程序员拿刀砍。&/p&&p&2 需要技能:PPT,Word, Axure,XP,MVP,行业知识,沟通&/p&&p&&br&&/p&&p&
PPT是最容易被忽视的技能,很多时候很多人都把产品经理=画原型,如果你这么想,再做五年的产品经理也是一个画原型的。我在修真院的时候,给修真院的弟子讲过很多次,产品经理更多的是理解一个行业,熟悉这个行业的用户,知道这个行业有哪些没有满足的需求,寻找解决方案,对比行业,找到自己的切入点,最终落地成:哪些功能要做,哪些功能不要做。&/p&&p&
这些都是要在PPT里写清楚的。所以,PPT并不是简简单单的一个工具,而且是用这个工具把你对这个行业的了解和分析和解决方案展示出来。&/p&&p&
XP是敏捷开发,不会敏捷开发的产品经理很难说会是一个好的产品经理(我很偏激,所以接受不了可以直接无视)。敏捷开发对于产品经理来讲,是逼着产品经理去用Story的方式去思考,去考虑自己每一个Story的价值是什么,所有的Story优先级是什么。&/p&&p&
MVP是最小化验证产品的缩写,这在精益创业里是很重要的概念。也就是说,你臆想了一个产品,他有了什么样的功能,但是!请注意,我们认为所有没有经过用户验证的功能都是在扯淡。所以,你其实是设计了一个扯淡的功能然后交给一堆人去开发,再交给人去运营,直到一个月或者是三个月以后才能拿到反馈结果。我们等不了,所以你必须在程序员开始启动之前,先想办法验证自己要解决的问题是存在的,要解决的需要是用户确实需要的---你有无数的办法可以这么做,真的。好比是,我做IT修真院,并没有先直接做线上的网站,而是直接去贴吧发贴,用QQ群,在论坛直接做,去观察这些弟子的行为,然后去修正自己的产品设计,我发现了他们需要日报,需要点评,需要有班级的概念,需要有学号,需要有首席大弟子等等等等这些。然后我会把这些需要分析整理之后加入到网站的设计里去,这就是MVP的价值--当年穷疯了每个决策都慎重的时候,就会特别喜欢这种方式,土豪除外,只会浪费时间而已。&/p&&p&Word是产品需求文档,我自己不太喜欢Word文档,更喜欢XP的Story,不过会一点也没有关系。&/p&&p&行业知识是产品经理最重要最重要的技能,没有之一,你可以不懂PPT,不会Axure,不会Word,也不会什么XP和MVP,但是绝对不能不懂一个行业。某种程度上来讲,产品经理拥有的其实是快速了解一个行业的能力。现在的互联网已经和以前的不一样了。以前的产品经理懂点儿交互,知道什么是表单,知道点IT术语就能混日子了,现在必须要懂一个行业,地产,金融,汽车,教育,餐饮,医疗等等各种行业,你都需要了解这个行业的模式,如果你不懂,你就是一个画原型的人。&/p&&p&沟通也是产品经理的必备技能,出门不带沟通技能,一定会被程序员砍。一方面是要跟用户沟通,一方面是要跟程序员沟通(这是世界上最难沟通的物种,没有之一),一方面要跟领导沟通(其实就是想办法拍领导马屁然后哄着他们听自己的话)。&/p&&p&&br&&/p&&p&&br&&/p&&p&3 发展前景&/p&&p&不用说,产品经理绝对是一个炙手可热的职业,而且,TNND的几乎是零门槛,这表示,是个人都可以说,我想成为一个产品经理。
然而,好的产品经理很多么?并不多,所以,好像围棋一样的,入门容易,学精难。&/p&&p&而且,似乎并没有一个系统的教程(这真是一个很难让人相信的事情啊,这么一种职业,没有大学的知识培养,甚至都很少有标准化的职业化培训,全靠业界手把手培养和自发的交流,就能够拿着无数DS程序员根本就想像不到的薪水--产品经理真的跟DS有点儿不搭边的,当然,我大修真还是在努力做产品人员的培养的)。&/p&&p&产品经理的发展前景是很赞的,只是越来越体系化了,而且很容易出人头地。&/p&&p&一般来说:&/p&&p&0~6个月:4K~8K
6~12个月:6K~12K
1年~3年:10K~24K
3年~5年:20K~40K
:30K~&/p&&p&三个月到半年左右就可以算是迈入这个行业啦,如果遇到P2P这种对于专业属性要求比较高的,随便在一家公司混点经验,跳到另外一家新的公司就是一个产品总监:因为并没有其他人又了解金融又了解互联网。&/p&&p&&br&&/p&&p&&br&&/p&&p&成长路径:&/p&&p&产品助理-产品经理-高级产品经理-产品总监-CEO&/p&&p&&br&&/p&&p&大致这个样子。&/p&&p&&br&&/p&&p&&br&&/p&&p&4.入门门槛&/p&&p&无(甚至你可以不认识字)&/p&&p&&br&&/p&&p&5.哪些行业适合做产品经理&/p&&p&IT界:程序员,UI,QA,运营,市场
其他界:无限制&/p&&p&PS:想了想,还真是没见过身边有做运维的转产品经理的。&/p&&p&&br&&/p&&p&6.职业限制&/p&&p&很多产品经理都很怕跟程序员沟通。而且经常会苦恼,觉得自己设计的功能,程序员做不了,做不出来,做的太慢,做的太差。惟独不会觉得自己设计的太烂。&/p&&p&所以,很多产品经理都会认为不同技术是自己的一个弱项,我曾经整理过一个产品经理需要了解的技术术语,有需要直接看楼下的广告。&/p&&p&&br&&/p&&p&7.去哪里学,}

我要回帖

更多关于 电气自动化转行 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信