(咱们接着昨儿的来。)
四:数据库知识:
1:数据库类似于一个进行数据存储的仓库,运行在服务器中,数据按照一定的规则存储,可以对数据库中的数据进行增删改查的操作。主要分为关系型数据库和非关系型数据库。
2:关系型数据库:指一种基于关系模型的数据库,关系模型折射出现实世界中的实体关系,将现实世界中各种实体及实体之间的关系通过关系模型表达出来.
实体 A 具有三个属性,实体 B 具有三个属性,他们之间以某一种关系关联起来,这种关系可以是一对一的,也可以是一对多的或者多对多的。主流的关系型数据库有 MySQL、Oracle、DB2 等,在只能手机中使用的小型轻量级数据库 SQLite 也是一种关系型数据库
3:数据库表和表的关系:在关系型数据库中可以通过数据库表和表之间的关系来具象表示这种模型,表就是我们常用的二维表格,有表的名字,表的各项标题名。在数据库中,表名和属性名只能用英文命名,表与表之间可以通过关系来链接,如果两个表之间有对应关系,在两个表中就有对应的属性项来标识这个关系
4:数据库字段和字段类型:在定义一个数据库表的时候,我们需要定义表名、字段名及字段的字符型,这样一个数据库表就定义清楚了,我们就可以按照定义好的表结构往里面存储数据,为了更简洁而且分类更明确的表达数据库表,我们可以通过关联关系将不同的实体进行连接.
5:数据库操作语言 SQL
SQL 即 Structured Query Language 结构化查询语言,是一种用来操作关系型数据库的编程语言,可以理解为对数据库的操作命令
创建一个“people”表,SQL 语句为:create table people (peopleID varchar(30)primary key,name varchar(50)),这条语句创建了一个名为 people 的表,表里有 peopleID和 name 两个字段,并且通过关键词 primary key 指明字段 peopleID 为主键,字段后面 varchar(30)也是一个关键词,在数据库中表示字符型,括号里面的数字表示字符型数据的最大长度是多少字符.
6:非关系型数据库:非关系型数据库是一种相对松散且可以不按照严格的结构规范进行存储的数据库。非关系型数据库一般叫做 NoSQL(Not Only SQL),非关系型数据库没有关系型数据库那样严格的数据结构约束,在存储的形式和使用上有别于关系型数据库。现在主流的非关系型数据库有 MongoDB 和 CouthDB。以 MongoDB 为例,它是一种典型的非关系型数据库,数据以类似文档的方式进行存储,每一个文档都有对应的唯一标识和版本号我们用键值对的方式表示和存储数据,键值对就是“key-value”的形式,类似在关系型数据库中的字段名和该字段名对应的值。非关系型数据库适合在一些对存取要求比较高且并发处理比较高的场合,例如对网站访问数据的统计。非关系型数据库处在不断发展的过程中,现阶段与关系型数据库形成一种互补的局势,在很多产品后台,同时使用关系型数据库和非关系型数据库。
五:客户端技术知识:
1.常用客户端技术客户端:普通用户使用的终端,用户通过客户端接触使用产品。
H5:HTMl 5 具有跨平台使用的特性,但体验上无法达到本地应用的水平。 Android 系统:基于 Linux 开发,主要运用在智能手机或平板电脑上,具有开源特性 iOS 系统:闭源系统,主要应用在苹果相应的硬件上,开发语言是 Objective-C,目前,也可以用 Swift Web 网页:是一门相对成熟的技术,可以跨平台使用,比如公众号文章的实现,通常也叫 H5 页面
2:Android 基本技术及控件:每个界面上有各种按钮、输入框、文本框、列表、以及一些操作对象构成这些元素结合在一起为我们提供产品使用的交互介质,这些元素在技术上称为“控件”。例如一个按钮是一个控件,一个输入框也是一个控件
View:即视图的意思,表示在屏幕上展示的一个可视化控件,是安卓系统所有控件的根。也就是说,所有安卓空间都是基于 View 扩展开来的,可以把 View 理解成所有系统空间的祖先,其他(例如,按钮 Button 和文本展示框 TextView)都是继承View,在具备了 View 的一些基本属性的同时还扩展了属于自己的属性。
Button:Button 是安卓系统默认提供的按钮控件,我们在使用产品中所有可点击的部分都是按钮,对于按钮的形状和外观可以进行自定义设置,还可以设置按钮点击事件,所谓点击事件就是当我们点击某个按钮的时这个按钮会出发什么操作
dp:独立于设备像素的单位,也可以叫 dip,他与像素密度有关
像素密度:每英寸像素数量,单位是 dpi。
安卓系统定义了四种像素密度:低(120dpi)、中(160dpi)、高(240dpi)、超高(320dpi)他们对应的 dp 到 px 系数分别为 0.75、1、1.5、2,这个系数乘 dp 长度就是像素数。Px=系数*dp
Sp:是与缩放无关的抽象像素,一般用于文字大小的单位
TextView:文本展示框,也需要制定高度和宽度,宽高实际上狂顶出文本的范围,同时,还需要定制文本内容的字体大小和颜色等
EditText:文本输入框,也就是我们在产品中输入内容的控件与文本展示框不同的是,他可以进行内容的输入,而且对于输入的内容可以进行类型控制,如明暗文限制,号码输入时限制数字和长度。它还有个属性叫做“hint”,我们在使用文本输入框时,输入框内部往往有提示语句,如“请输入用户名”之类的,当我们触发输入框的时候,提示语句就消失了。通过设置 EditText 可以得到很多个性化的定制
ImageView:ImageView 是图片展示控件,一般也是一个矩形区域,但我们一般都隐藏,所以我们在产品上看到的都是各式各样
ListView:安卓里面列表控件。比如微信里面的联系人会话列表,淘宝浏览商品时的商品列表,以及使用通讯录的联系人列表。ListView 有一个很重要的组成部分,就是每一行展示的条目内容,根据产品内容的不同,条目展示的格式和内容都所有不同,例如,微信联系人会话列表条目,左边是头像,头像右边分别按照一定的布局方式显示名称、聊天内容缩略及更新时间。在安卓系统中 ListViw 是一种容器性控件,可以在它里面放其他控件,如 ImageView 和 TextView。其他控件是不能进行嵌套布局的,如我们不能将 TextView 放在 ImageView 中(但 IOS 中是可以的)
GridView:GridView 和 ListView 类似,也是一种容器控件,区别在于 ListView 以列表的方式展示,而它是以表格的方式展示。比如支付宝的首页,展示了多个入口,每一个入口对应着相应的产品模块
3:Android 界面布局原理
线性布局:空间依次由上到下的布局方式,简单的说就是按照顺序从左至右或者从上至下依次在界面上排列控件,线性布局支持横向和纵向两种方式。标记位置以一个控件上底边与上一个控件的下底边进行标记
相对布局:指定控件与其他控件的相对位置,所谓相对位置就是以某一控件为参考基础,与其他控件的相对位置。比如,可全是用用户输入框来进行参考
4:安卓系统的控制权限安卓系统有专门的权限管理机制,应用访问用户隐私或者获取一些系统权限时需要取得用户的授权后才能使用。
5:安卓系统应用打包及发布安卓应用开发完成后,需要被打包一个扩展名为“apk”的文件,类似于 windows 系统中的“.exe”安装文件。打包安装文件时,我们需要使用一个特殊的签名文件为这个安装包文件进行签名,签名的目的是保证这个应用安装包的唯一性和安全性。由于安卓市场碎片化,每次发布要更新很多应用市场,在发布安卓应用时,我们需要标记当前所发布的版本的版本号,这个版本号和我们在产品里看到版本号不是一样的,这是给别人用户识别的,工作人员的版本号是以自然数标记并给计数机增加,这样就可以区分市场上的新老版本。例如,我们可以标记安装包 1 是给腾讯应用宝市场的,安装包 2 是给小米应用市场的,通过渠道标记来源,我们可以统计安装渠道,从而知道每个应用市场的安装量,同时还可以统计出有问题的版本来自那个应用市场这样就可以更加精确地定位问题
6:安卓多屏幕适配同一个产品会因为不同产品的分辨率而看起来不同,为了解决界面适配的问题,安卓提供了一种使用可拉伸图片作为界面素材的解决方案,这种图片是以扩展名“.9.png”结尾的图像文件们通常叫做”点九图”。点九图分为图片画布、黑点、图片。最外侧的矩形框就是一张画布,内侧有一个图像内容,外侧和内测图片之间隔了一个 1px 像素的距离,背景图片的四条边,我们用欸色像素来标记,表示拉伸区域,要进行拉伸则只会对黑点所标记的相应区域进行复制,从而实现拉伸的效果。点九图配合相对布局就可以解决大部分的屏幕适配问题
7:iOS 基础技术及基本控件:与安卓类似,iOS 中也有许多系统控件其基本表现形式类似,只是叫法不同
UIView:和安卓系统里面的 View 类似,其他控件都是基于 UIView 继承扩展而来,UIView在 iOS 系统中是通过坐标的长宽表示的矩形图形,我们可以指定 UIView 的背景颜色或者矩形的圆角。与安卓系统不同的是:在 iOS 系统中可以实现 UIview 的相互嵌套,也就是说我们可以在 UIView 里面再放一个 UIView,但是在安卓系统中,我们不能再一个TextView 里面再放一个 TextView,这是两者的差异。在 iOS 系统中每个控件在屏幕中都通过坐标轴定位到具体位置,但这个坐标的范围不是根据物理分辨率的像素点去标记,而是通过逻辑像素去标记,所谓逻辑像素就是不管屏幕尺寸,只需要按照固定的逻辑像素定位坐标轴中控件的位置
UIButton:与安卓系统里面的 Button 类似,但不同的是 UView 中间可以镶嵌其他控件
UILabel:文本展示控件,与安卓上的 TextView 类似。在屏幕上布局一个 UILabel 时需要制定控件所处的坐标轴位置,以及控件高度和宽度
UITextField:文本输入控件,对应安卓上的 EditText,安卓中通过“hint”属性来表示文本提示信息,在 iOS 中叫做”placeholder” UIImageView:图片展示控件,类似于安卓中的 ImageView。在 iOS 系统中 UIImageView可以对图片进行展示和一些基本处理,例如对图片进行圆角处理,可以使用系统的一些滤镜功能对图片进行特殊处理。在 iOS 中所有的界面控件开头都使用“UI”开头,UI 的意思是 User Interface,代表用户接口。
UITableView:和安卓系统中的 ListView 类似,用来表示列表型控件,也是一种容器类控件,但 UITableView 在自带功能上更强大,所谓自带功能是指系统已经实现的,不需要另外开发的功能,使用时直接拿来用即可。
UICollectionView:是 iOS 中进行表格展示的控件,和安卓中的 GridView 类似,例如 :IPhone的系统相册、图片社交应用上的瀑布流设计都是用 UICollectionView 原理实现的。
8:iOS 界面布局原理
iOS 界面布局与安卓不同,iOS 使用的是绝对布局,也就是睡哦没一个控件在界面上是通过指定控件的绝对位置进行显示的。由于现在 iOS 尺寸变多,苹果也推出了相对布局。
9:iOS 系统权限控制
iOS 系统授权的控制方式也与安卓不同,安卓的授权是发生在应用的安装阶段,当用户安装安卓应用时会提示用户同意相关权限协议才能进行安装,而 iOS 的授权则是发生在用户使用产品的过程中。
10:iOS 通过苹果开发工具 Xcode 完成,打包完成后,可以进行集中类型的发布,一种就是我们常见的发布之苹果的官方应用市场 APP Store,通过 Xcode 上传安装包只 APP Store 后,需要等待苹果的审核人员对应用进行测试和审核,这个周期一般为一周左右,审核成功后则可以通过 APP Store 下载应用。另一种是发布内部测试版这种方式是在制定的测试设备上安装应用包,这种方式是通过有限授权的方式,苹果个给具备开发资格的开发者账户授权每个账户能开通有限的测试设备,授权的设备可以不通过 APP Store 直接安装应用宝
苹果的开发者证书分为三种,一种是个人开发者,也就是在苹果上署名为个人的开发者,一种是公司开发者,这种开发者在苹果商店署名为公司,申请公司开发者需要提供公司的相关证明材料。第三种是企业开发者,企业开发者恶意自行打包并发布应用,简单说,企业开发者可以绕过 APP Store 提供 APP 下载,但是只能在有限的范围内使用,企业开发者往往是提供企业内部作为内部 APP 开发和下载使用,不面向公共市场,苹果的开发者需要按年付费购买,个人和公司类型的账户是 99 美元一年,企业类型的是 299 美元一年。
11:Web 基础技术知识
通过浏览器访问的网页通常被称为 Web 页,没一个 Web 页都有一个唯一的地址,不同的地址组合在一个,通过链接相互跳转,最终形成一个网站系统
域名:每个网站的唯一地址
http:一个互联网协议
www 代表万维网,是一个网页地址前缀,后面的是域名,域名的存在是为了方便使用者更方便的记住,域名实际上是一个数字化的 IP 地址进行了表达方式的转换,例如我们访问一个网站的时候,实际访问的是这个互联网的 IP 地址
我们利用 HTML 语言编制 Web 页面,通过 CSS 样式表对 Web 页面进行美化只要有浏览器,我们就可以方便的访问任何一个 Web 网页。CSS(Cascading Style Sheets)全称层样式表,是一种将网页内容与网页样式分离的技术,简单地说,CSS 是给只有内容的 HTML 页面传衣服,让 HTML 页面好看起来
URL(Uniform Resource Locator)全称是统一资源定位符,互联网上所有的资源都有唯一一个唯一的 URL 地址,资源的类型可以是一个网页、一张图片、一首歌曲或者一段视频。
HTTP:全称超文本传输协议,是互联网的基本协议。字面的意思是通过该协议我们可以在互联网上传递文字以外的其他内容,例如网页、音乐、图片等。他还有安全版本 HTTPS,当我们的浏览器使用网银或者跟支付相关的服务的时候,浏览器的地址协议通常是”https://”HTTPS 是加密协议的传输协议,其加密方式 OpenSSL 组织研发的 SSL 加密方式,
Web热门框架:
1.bootstrap
目前最流行的 HTML, CSS 和 JavaScript 框架,用于开发响应式,移动端先行的 web 项目。
2、vue
一个用以创建用户接口的直观、快速、简洁的 MVVM 框架。
3、angular.js
Google推出的MVVM框架,它会通过双向数据绑定自动从你的UI(视图)同步数据到javascript模型。
4、react
Facebook 推出的一款声明式的,高效的,灵活的用于创建用户界面的JavaScript 库。
5、webpack
一个现代 JavaScript 应用程序的静态模块打包器。
Web比较好用的UI框架:Vant,element-ui,react-native,layer,video.js,uni-app
(现在公司里面比较用Vue和React多一点,Vue是2014年发布的第一版,作者还是中国人:尤雨溪,Vue类似于Angular,Vue一般语法是v-of.....,Angular一般语法是ng-repeat......)
六:服务端技术知识:
1:服务端基本架构
服务端通常被叫做云端,也就是我们说的云服务器,云服务器是指物理机房托管在第三方,而不用自建机房。每个机房都有应用服务器、数据库服务器、交换机、网络端口和外网光缆构成。
负载均衡服务器是用来处理大规模请求的服务器,通常对于一些访问量比较高的系统来说,负载均衡就显得尤为重要,负载均衡服务器的作用就是将同时进来的大量访问请求根据系统应用服务器的忙碌程度进行动态调度,可以把负载均衡服务器理解成服务端的调度中心,它负责流量的动态分配,根据对应的应用服务器的负载情况,动态分配请求到不同的应用服务器。
2:数据接口及结构
数据接口是指客户端与服务器进行数据传输和交互的数据协议,数据接口是一种数据交换的标准。例如我们通过客户端的登录功能向服务器发起登录的请求时,客户端将用户名和密码通过数据接口经网络传递给服务端,服务端判断处理完成后再将处理结果通过数据接口反馈给客户端,客户端根据服务端返回的结果进行登陆反馈处理,数据接口扮演的是信息传递的角色,根据不同的产品功能,对应的数据接口也会有所不同
3:服务端与客户端的交互模型客户端请求—服务器获取并解析客户端请求---服务器响应---客户端获取并解析服务器响应,这种模型叫请求响应模型,这是互联网技术产品实现信息交互的一种数据交换模型,通过这个模型主要完成信息的发送、处理和响应。这个模型主要由三个模块组成、客户端、服务端和中间的互联网,在这个模型中还包括了数据的流动
(基本的都在这里了,如果还有补充的,请私信我哦~)