1、了解并掌握前端开发的一些基本技术栈
因为我们要做基于B/S架构的软件,那么必须用到浏览器,而浏览器中所使用到的技术、都是基于WEB标准制定的一系列针对网页页面的技术,使用这些技术就可以构建我们日常在浏览器中看到的网页的内容,用户根据网页中的功能就可以进行相应的操作,浏览器针对用户在网页上的某些操作会发送到服务器上,服务器调用其上存放着我们使用PHP编写的软件执行,然后返回到浏览器进行操作结果展示,这就是B/S架构的基础操作执行流程,根据这个流程我们可以知道,要想做一套基于B/S架构的软件就需要同时掌握前端技术栈和PHP。
- HTML:HTML标签、HTML表单、HTML5中的图形处理(SVG、Canvas)、Web存储、HTML5地理定位、HTML5多媒体处理、URL编码
- JavaScript:DOM、BOM、ES5、ES6
- CSS:选择器、盒子模型、定位、伪元素、CSS3
- 前端框架:jQuery、Bootstrap、Vue、React、Angular、QucikUI、Layui、Avalon、Dojo、Ember、Aurelia
2、了解并掌握数据库基础和SQL
在计算机中最核心的东西就是数据(数据可以抽象描述客观世界中存在的事物),那么软件的本质就是对数据的处理;那么数据库可以简单理解为:针对数据的结构化存储、处理(读取、写入、查询)所开发的一套软件来管理我们的数据,有了数据库以后,我们对于数据的操作将会更加合理和快速,试想一下,早期的软件中所有的数据都由我们软件自己来进行维护和管理,在数据量小的情况下,可以做到游刃有余,那么一旦数据量增大、并且数据之间的关系变得越来越复杂的时候,我们就会手忙脚乱,每天就会奔波于数据的管理和维护上。SQL(Structured Query Language,结构化查询语言)是用于访问和处理数据库的标准的计算机语言,也是我们与数据库沟通的桥梁。
- 关系数据库、非关系数据库:(高性能、高并发、对数据一致性要求不高 )NoSql数据库、键值(key-value)数据库
- Microsoft Office Access、Mysql、Oracle、DB2、SqlServer、Mongodb、Memcached、Redis、MemcacheDB、SQLite
- DQL、DML、DDL、DCL
- 增删改查
- 排序
- 分组
- 通配符
- 分页
- 连接查询:内/左/右/全连接
- 合并/并集查询
- 权限处理
- 事务处理
- SQL函数
- SQL存储结构
- SQL触发器
- SQL数据类型
3、了解基础的数据结构和算法
计算机中最核心的东西就是数据,说到其运作的本质,都是0101的二进制数字,所以我们程序的存在必然也是针对数据进行操作,那么数据如何构造?如何存储?如何快速访问和读取?这一系列问题都是我们要研究的东西。数据结构就是针对数据的存储结构进行研究的学科,它总结了数据在计算机中的各种存储结构所表现出来的特性,以便我们针对具体软件应用来选择使用合适的数据结构模型,这样就能达到一个非常好的数据扩展和高效读取的层次,但只是有了数据的存储结构,接下来就是对数据的操作了,那么对数据的操作又能有多少种?那种更好?这就是算法研究的领域了,算法总结了针对数据操作的各种流程控制逻辑,最能体现算法应用实例的就是:数据的排序和数据的查找了,如何在海量的数据中快速的查找和排列是很关键的应用。
- 逻辑结构、存储结构(物理结构)
- 线性结构:数组、栈、队列
- 非线性结构:链表、树、二叉树(先序遍历、中序遍历、后序遍历)、平衡二叉树、红黑树、图、堆、散列表
- 排序算法:冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序、快速排序
- 查找算分:二分查找、DFS、BFS、双指针
- 常用算法: 穷举法、贪婪算法,动态规划算法,分治算法,回溯算法以及分支限界算法