diary22
周日,晴。
生活上没啥好更的,最近打球热情降低了,估计后续不会直接在群里摇人打了。
今天搞清楚了一些概念,顺便来梳理一下思路和学习路线吧。
web开发
从今年六月底(大概21日),在metriver.top 的引导下,我从blog开始逐渐接触web开发,涉及到前后端、服务器、linux、docker等杂七杂八的概念,加入了两个项目,总体的学习路线算是非常崎岖、迷茫,截止到10.6共三个半月左右,现在算是有个大概的方向。
先谈谈理解吧,首先web就是一个数据的交流手段、一个计算机通信的媒介。当我在浏览器中敲下一串网址,我的电脑就发送请求,网址被解析到对应IP,请求将发送到该IP对应的服务器的特定端口上,该服务器的该端口接受到我的请求返回响应的界面,这个界面就是我看到的前端页面。
当我在前端页面敲敲点点并上传一些数据比如写留言、注册等时,前端页面会调用相应的api接口,这个api是后端开发、前端调用的路由规则,我的操作数据的请求被服务器接收并由api处理,并且执行相应的操作(如:修改数据库数据),然后酌情返回新的前端页面。
这就是典型的前后端分离架构,其核心就在于api。
前端
在nodejs出现之前,前端三剑客(hcj)能做的事情相当有限,当nodejs出现后,js有了浏览器以外的运行环境,成功成为一门真正的语言,它和python类似是解释性语言,弱类型速度慢。
js也因此从前端语言进化成了全能手,丰富的api和框架也让它能够成为独当一面的后端开发语言。
但是这其实也很诡异,至少在我看来,js不伦不类,从前端来看它的运行速度很慢,从后端来看,它最初被创造应该不是为了后端开发。但是它也为前后端不分离的架构打开了窗户。
后端
对于后端目前我只涉及到nodejs的后端框架和python的flask、django框架,我的理解,后端就是编写api并处理数据交互和业务逻辑,可能因为我目前学习的后端知识太少,涉猎太少导致眼界还不够。
学习路线
对于前端的话打算继续深入了解webpack和vue和react。后端的话,打算先把mysql看完,了解基本的sql语法和api中的操作数据库的方式和关系型数据库、非关系型数据库的区别;然后再看一下redis,系统学一下flask、django之一。
打算在10之前先系统了解一下,13号之前先把组里的任务完成并且制定下一步的统一学习路线。