飞哥,你那里教什么?Java,python,C++……
这些都是编程“语言”,你可以理解成和计算机交流的一系列的语法“规则”集合,不同的语言有不同的语法规则(演示)
以语法为导向,必然带来这么个问题:
一定要牢记:语言只是工具。
用开车做个类比:
回答这些问题:
都需要一个最起码的基础。所以说稍安勿躁!
|
特征 |
工作结果 |
入行路径 |
科学 |
在未知领域进行突破,获得新知识、新技术、新发明 |
找到规律、提出见解、发表论文…… |
几乎就只有考大学考研考博…… |
工程 |
利用现有技术、资源解决具体的问题 |
芯片、电脑、软件/程序/应用 |
可以自学、培训 |
为什么要理解这些?确定你的方向呀!
比如一个常见的迷茫:每天都是写业务逻辑的增删改查,工作一点都没有技术含量,怎么才能够更上一层楼。
迷茫的根源在哪里?没有良好的启蒙。
综上,我们(培训班)能够教的,就在软件工程领域之中。
一般我们把直接面向“终端用户”的软件称之为应用。这里面的终端用户:
但不应该是开发人员。
开发人员一般来说也不会直接调用操作系统,而是使用的是框架/类库/中间件……
越接近硬件的就越底层。粗浅的理解:越是底层越难 (段子:相亲被鄙视,这么大年龄了还在做底层……)
但是,这里也有一个常见的误解:越底层工资越高。其实不一定!至少我知道的,底层到硬件了,工资真的可怜。
盲点:难≠工资高 (经济学范畴,不展开)
还可以按其种类划分为:
计算机上运行的软件,又可以按是否需要联网分为:
联网程序:需要通过网络连接到服务器才能正常运行,比如:QQ、哔哩哔哩、知乎、一起帮,这类软件又被分为两种架构:
广义上,所有需要联网的程序开发都可以称之为Web开发,但一般我们会认为B/S架构的、基于浏览器的项目才是Web开发(实际上B/S也占绝对份额)。
我们要学习的,就是:Web信息化应用
在Web开发领域,还可以再进行划分:
怎么划分?看代码运行(注意:是“运行”,不是部署)的位置:
所使用的语言通常是(但也是理解误区):
用于构建项目的界面(UI),但和美工又不同:
演示:用一行代码说明前端包含的三部分内容:
<button style="color:blue" onclick="alert('源栈欢迎你')">一起帮</button>
注意:代码都是在浏览器中运行。
只有“原生(native)”APP,才会用Java/Object-C/C#等开发客户端(client)。
但原生APP要为不同的手机操作系统(比如Android和iOS),写不同的前端代码
所以很多时候,都是“套壳(Html5)”APP,即用HTML + CSS + JavaScript这一套技术做一个移动端的网站,再用一些软件编译打包,转成不同手机系统的APP。
最后,微信小程序,套壳APP的壳是微信而已,技术本质上大同小异。
用于(连接数据库)处理业务逻辑。比如:
和前端最大的不同、最核心的内容就是:数据库操作
因为招聘时有前端&后端的岗位,所以很多培训机构也因此开设前端/后端的课程。好处显而易见:
现在的前端,无论是CSS还是JavaScript,都需要框架:
另外,一个professional的前端,还应该学习微信小程序开发吧?
关键的关键,前端框架(包括JavaScript语言):
前端的难,和后端的难,是不一样的。
“我不听,我不听,前端至少不用学SQL嘛!”
说得对。但是,@想一想@:你学编程的目标是什么?
是找到并胜任工作,是不是?
所以你必须:真正的理解/阐述一些概念:比如解释和编译、强类型弱类型、单线程多线程……
理解这个概念,仅仅是前端学习的知识储备不够。
#体会#:现在给你解释不清楚,等你长大了你就知道了。
有无相生,难易相成,长短相形,高下相盈 —— 《道德经》
复习:我们学习的目的是什么?千万不要忘了:提高能力。
说一千道一万,你学4个月,就只有4个月时间的锻炼,就只有4个月的能力。这肯定是远远不够的!
@想一想@:为什么招聘启事上都写着要求2年工作经验?
前后端岗位可以分开,但能力不能分开。
——某前端大佬。
意思就是说:做前端的人也要懂后端,做后端的人也得懂前端。不然,整个项目组必然一地鸡毛……
为什么?现代前后端之间实际上无法隔离,而是通过Ajax密切关联的。前端要实现一个完整的Ajax功能,必然需要后端的配合。
这时候,你完全不懂后端,……,咋整?就像:
让你想象、给你模拟,你能不能学踏实?你怎么去深刻理解?你怎么能装成“老鸟”的样子?
如果时间/经济条件允许的话,前端+后端+数据库,全部都学,拉通了学!
其实并不会额外耗费你更多的时间:
好处是显而易见的:
想通透了你自己都会觉得很奇怪:你已经浪费了这么多的大好年华,为什么偏偏这2个月就就就是不能拿出来多学点东西呢?
多学2个月,(在源栈)多花不到4000的学费,第一份工作哪怕一个月只多1000块钱,4个月也就回本了……学全栈的同学,工作了以后,气场都不一样!
你行不行嘛?不行我给你写了算了……
这就是底气。
首先,绝大多数情况,“专精”是厚积薄发的一种结果。而很多你所认为的、无用的“厚积”,其实是必不可少的。
@想一想@:大学选的专业必然用不到一些我们初中高中学科,但国家为什么不从初中甚至从小学就开始定你的专业?
我们不知道我们所学的、看起来“没用的”知识,会在哪一天帮助我们取得无法想象的突破。功不唐捐啊,同学。
更何况,我百分百保证,你多花2个月学的东西,一定会有助你的职业生涯!
其次,你能不能“专精”?
刻薄点说,有点naive。真有这个心气,培训的时候前后端一起就学了。
实际情况是(复习:学不动了……):
说明:阿拉伯数字代表标准学时,单位为周
我们把一些无论是前端还是后端,都应该掌握的知识抽离出来:
这一部分内容,有理论,也有实操;有简单的,也有复杂的。
希望同学们能在入栈之前就开始学习。
不要求100%掌握(后面会反复涉及),但可以作为学习能力和毅力的检验标准。
为期6周的前端,能完全满足项目功能需求,但不足以应付纯前端岗位需求。
确实要单学前端、并以此求职的同学,至少还需要学习:
开始分叉,根据使用的编程语言可分为:
除了编程语言,其他Java和C#相同/极其相似的:
也被我提取出来。
分为:关系型数据库(SQL) 和 非关系型数据库(NoSql)。
SQL是关系型数据库的的通用语法,可以适用于Sql Server和mysql(以及Oracle)等主流数据库软件。大致包括:
为什么以“用户权限(注册/登录/用户资料/忘记密码……)”、“内容发布(发布/修改/评论/赞踩……)”和“消息通知”三个模块为主:
布置的作业,大多都是“面向项目”(以项目为导向)的;但是,仍然【强烈建议】同学们至少保留2周的实战时间。
完成一个又一个的功能,是你信心的源泉!
所有的代码其实都有两个要求:
所谓的好:
注意:以上三者不可兼得。
比如:AI、大数据、云计算、物联网……
如果是培训:离得越远越好
高考选专业:都一样,哪个分数低选哪个。
简单的说明:
PS:一句闲话,选专业问做这个专业的人,不要凭“想象”。
学校差的话,还是推荐:英语,^_^
飞哥,我看了一下,这些东西好像都比较基础啊,我搜了招聘信息里面还要求有.net core,redis,mongodb,elasticsearch啥的
表扬:挺机灵的小伙子
这折射的是一种非常常见的心理:用什么,教什么,学什么……
理想很丰满,但现实很骨感:搭建一个项目的技术不能说多如牛毛,但绝对不是屈指可数(.NET还好点,前端/Java那就……)
我们不是委培,即:受招聘单位的委托,定向的培训。
所以,必然出现招聘要求和学习内容不匹配的情况。
那怎么办?只能教“基础”的东西,有了这些基础,其他一些“非基础”的东西,到了单位自己学……
这也是为什么不断强调:
开始做培训的时候:试图“高大上”,几节课拉完分支循环,把时间省出来讲点“高级货”不香么?多线程/异步、高并发大流量、系统架构和设计模式、数据结构和算法……
结果一是大量的同学跟不上,二是我也认识到:
我们培训还是要面向就业。入行是最重要的,在入行的n年内,大量的都是基础工作:
但就是这些基础工作,奠定你的基础(认知/价值观),即:如何看待软件工程,它的难点在哪里,
从而进一步的理解(悟)“高级”的部分:面向对象、架构、性能安全可维护性如何权衡取舍……
多快好省!前端后端,线上线下,名师精讲
更多了解 加: