本文摘取《起点学院》Ryan老师的课程笔记,系统的讲解了产品经理需要了解的技术,以下为课程的基本知识摘录以及学习过程中遇到的问题。
一、技术基础
1.1 计算机世界---代码
语言:C语言、JAVA、PHP 代码可以用多种程序语言表示, 最终表现为0和1
代码的基础单元和语言规则为:数据类型和逻辑结构 =程序
1.2 数据类型
1)int (integer),向下取整函数,-2^31至2^31-1 存储4个字节 整型 支持数学运算
如:int a=10; int b=20; int c=a+b;30
2)tinyint:0-255整型数据,存储大小为1个字节
3)varchar(m):255字符
4)bigint:-2^63至2^63-1 存储8个字节
5)smallint :-2^15至2^15-1 存储1个字节
6)date:存储3个字节,日期
7)datetime:存储8个字节,日期+时间(小时+分钟+秒+毫秒)
8)String:字符型,字符可拼接
9)float/double:浮点型,带小数的数字,支持数学运算。计算结果也要带小数点。
10)boolean/bool:布尔型,数据种类--true,false,唯一具有默认值的类型,true:1 false:0
如: bool a=true bool b=false (判断用户名和密码)
注意:从界面上获取的值都是字符串,经过转换成整型进行计算,计算结果再转换成字符串。
1.3 逻辑结构
1)if else:判断逻辑,根据判断条件选择执行对应的操作,如
if(用户名和密码不为空){
执行登录操作;
}else{
提示用户相关信息;
}
if(条件1){
执行结果1;
}else if(条件2){
执行结果2;
}else{
执行结果3;
}
2)switch case:选择逻辑,根据选项执行对于的操作。
switch(钱的面值){
case5:
选购5元商品;
case10:
选购10元商品;
case15:
选购15元商品;
default:
退回并提示无法识别;
}
3)while/do while :循环逻辑,根据循环条件重复执行某项固定操作,区别在于do while 首选会执行do,然后再执行while,即先执行循环体的内容。
while(int i=10; i>0;i--){
显示变量i的值;
}
do{
10秒倒计时,每次倒计时数减一;
}while(倒计时大于0);
Q:ios 、安卓、后台开发用什么语言?
A:IOS----Objective-C,简称:OC,或者Swift
安卓----JAVA
后台一般用PHP、JAVA,这两种应用比较广泛。
Q:除以上介绍的逻辑结构外,还有哪些?
A:
1.4 前端技术的分类
1)APP: Android、iOS、Windows Phone
2)网页:html、CSS、JavaScript
3)桌面应用:Windows、MAC OS、Linux
1.5 安卓和IOS 的基本组件
1)Android: 点9图 .9.PNG
按钮:Button
文本展示框:TextView
文本输入框:EditText
图片展示框:ImageView
列表展示容器:ListView
表格展示容器:GridView
2)IOS: @2x @3x
按钮:UIButton
文本展示框:UILabel
文本输入框:UITextField
图片展示框:UIImageView
列表展示容器:UITableView
表格展示容器:UICollectionView
3)示例图
二、网页技术基础
2.1 Html和CSS
Html:是网页的基础和骨架,是超文本标记语言,以标签形式表示网页组成元素,通过浏览器解析还原视觉页面
CSS:层叠样式表,定义统一的样式风格,给html页面元素进行展示样式渲染,如控制页面效果,如字体、文字大小、颜色、显示样式等,同一个html页面可以定义每个元素的CSS。
Q1:同一套Web网页可以适配PC浏览器和手机浏览器,主要用到什么技术?
A:
Q2:什么是热更新?主要应用场景是什么?优缺点是什么?
A:
2.2 Html5和Native
Html5应用: 即我们平常说的移动web网页,轻量化,易维护的特点
Native应用:即安卓或者ios原生技术实现的客户端产品,体验号,功能丰富的特点
混合应用:Html5和Native应用混合实现,一般都是在Native中嵌套H5页面代替部分功能,具有动态扩展,高灵活性的特点
一般现在的APP大多都是混合应用,经常需要变动更新的,都可以用h5页面,如新闻页,活动页,而需要用户经常使用的,对性能要求比较高的,都是Native页实现。作者举例,微信聊天页--Native;微信红包页---H5。
Q:如何查看APP的页面是原生的还是H5的?
A:
Q:如何优化APP中的h5页面的加载速度?
A、
三、常用服务器技术及其基本架构
3.1 服务器的功能及技术
两个客户端之间的信息互动和数据传输都是通过服务器完成的,服务器负责处理业务逻辑并进行数据存储管理。所以服务器端是客户端之间信息交换和通信的中间载体。
常用服务器技术:PHP 、JavaEE、Python、ASP.NET、Node.js
客户端与服务器端基于因特网和数据交换协议进行通信;
不同客户端载体均可根据标准数据接口接入同一服务器端 (安卓和ios开发只需要一套数据接口即可);
服务器负责对数据进行存储于管理,基于客户端的请求进行业务处理并响应客户端的请求。
Q:数据交换协议有哪些?
A:
3.2 服务器端的构成:---补充各自功能
1)应用服务器
2)负载均衡服务器
3)交换机
4)数据库服务器
5)网络端口
3.3 服务器机房
1)服务器机组 2)网线及网络端口 3)备用电源 4)冷却装置
3.4 服务器涉及的技术职能
1)服务器端应用开发工程师 2)运维工程师 3)机房监控及管理人员 4)数据库管理员
Q:图中的API服务器和Web服务器是什么意思?
A:
3.5、服务器端数据接口(JSON/XML)
数据接口:定义客户端与服务器端的数据通信规范,常用形式有以下2种:
1)JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,结构灵活性高、易于理解和阅读,如下示例:
{
“username”: "ryan",
"password": "123"
}
2)XML(Extensible Markup Language)全程可扩展标记语言,它也可以用来进行简单的结构化文本数据的存储。示例如下:
<username>ryan</username>
<password>123</password>
Q:JSON和XML各自的优缺点?一些大型的网站主要用哪种数据通信规范?
A:
3.6 服务器端与客户端交互模型
请求响应模型(Request-Response),流程如下图所示:
客户端与服务器的沟通方式与使用的语音即为4中的JSON或XML
3.7 云服务器
如亚马逊AWS、阿里云、腾讯云等。目前创业型公司基本都采用大型云服务商提供的服务。优势:省去机房成本,降低服务器维护成本、服务器动态配置、按需付费。云服务器是互联网中心化的表现。
3.8 总结
1)服务器和客户端沟通构成完整的产品技术体系
2)服务器端是产品实现数据交换和信息传递的中间调度者
3)客户端与服务器之间通过JSON/XML进行数据接口定义
4)客户端与服务器之间基于请求响应模型进行交换
5)云服务器作为中心化处理和数据中心为产品提供技术支撑。