美文网首页产品经理0岁的产品经理
技术知识入门笔记!(1):基础知识、编程篇

技术知识入门笔记!(1):基础知识、编程篇

作者: 胆大冒险家 | 来源:发表于2017-11-21 14:17 被阅读42次

    本系列适合没有技术背景的菜鸟看,是我阅读唐韧老师的《产品经理必懂的技术那些事儿》的笔记,欢迎产品菜鸟们一起交流~

    第一篇包括互联网的发展、常见开源技术、架构、交互原理、编程理解、编程语言、程序


    1. 基础知识

    1.1 技术发展阶段

    基础技术发展期(20世纪五六十年代)→PC互联网时代(20世纪90年代)→移动互联网时代(21世纪)

    1.2 产品形态发展

    本地安装软件(借助光盘、安装包)→ 网址访问(借助浏览器)→APP(借助手机)

    从第一到第二阶段,解决了容灾性的问题(切换计算机、计算机损坏的风险)。

    从第二到第三阶段,让互联网向普通人生活渗透,提高生活效率。

    1.3 开源社区与技术

    互联网大部分技术都是开放源代码的,可以无偿使用。

    GitHub:线上开源社区。提供项目托管和软件版本管理服务。

    Linux:服务器操作系统。安卓底层系统就使用的Linux,很多超大型计算机也用的Linux。

    OpenSSL:密码库,是网络安全的基础保障协议。

    MySQL:关系型数据库。具有开源、轻量化、支持大规模访问特点。

    Apache:服务器运行系统。

    Eclipse:开发平台,提供开发服务框架。

    1.4 技术架构

    分为前端和服务端(又称后端),前端和服务端通过网络进行数据传输。

    对应到图中,前端就是智能手机、个人电脑。后端就是服务器+数据库

    服务器:部署服务端程序,处理前端请求并且响应,通过程序对数据库读写操作。

    数据库:存储数据。

    1.5 请求与响应的模式

    所有的互联网技术产品,背后的实现模型基本都是 请求与响应模式。

    前端通过网络向后端的服务器发请求,请求中会携带必要的数据(比如登录时的用户密码)。后端服务器接收到请求后,会解析出数据,对数据库进行写入、查询等操作,然后返回一个响应(比如登录成功)给前端。

    2. 编程基础知识

    2.1 编程是什么

    程序员与计算机进行交互的指令集。

    计算机的本质是0与1组成的代码,不能识别人类语言,需要借助编程与计算机进行交互。

    2.2 常见编程语言

    C语言:面向过程的语言,由丹尼斯·里奇发明

    Java:面向对象的语言,由James Gosling发明

    PHP:用于Web的语言,有轻量化、灵活的特点,由Rasmus Lerdorf发明

    JavaScript:用于Web的语言,可以为网页增加动态功能

    2.3 数据

    组成:

    数据由数据类型、数据名称(又称变量名)、数据值组成。

    类型:

    整型 int:不带小数点的数字,可进行数学计算

    浮点型 float/double:有小数点的数字,可进行数学计算

    字符型 string(java)/char(c)/NSstring(Objective-C):不可计算。注意产品界面上所有的数据都是字符型,即使是数字。

    布尔型 bool/boolean:表是非判断,只有两个值“true”和“false”,转化为整型时分别转成1和0。例子:注册时的是否同意用户协议。

    还有:长整型、单精度浮点型、双精度浮点型。

    数据拼接:

    例子:目前有 1254 人参与了本次活动,其中1254是动态变化数字

    背后由三个元素拼接而成:a = “目前有” ,b = 1254 , c = “人参与了本次活动”,String s = a + b + c

    逻辑结构:

    条件判断 if else :用于判断执行

    条件选择 switch case :用于多选一

    循环操作 while/do while:用于重复操作、循环滚动

    数据结构:

    定义:按一定规则进行组织的数据的集合,形式包括数组、栈、队列、堆、树、图

    数组:同一类型的数据的集合。数组可以指定大小,且数组中元素可以通过数组下标标记和获取,注意下标从0开始排列而不是1。如 a[0] 就是数组a的第一个元素

    栈/堆栈:汉诺塔结构,符合后进先出的原则。底部封口,上端开口,先进入的后出,后进的先出。如用户注册功能:第一步设置账号密码页面→第二步个人资料→第三步产品首页,这是一个典型的栈结构,就可以用栈来实现界面的跳转。(图片来自百度)

    先进后出,后进先出的栈结构

    队列:分队头和队尾,先进先出,后进后出。适用于控制事务性的操作,步骤有严格的先后顺序的情况。(图片来自百度)

    先进先出,后进后出的队列结构

    树:有一个根节点,下有很多子节点。适用于产品结构设计、权限设计及用户等级设计场景。例如微信底部的Tab栏。(图片来自百度)

    一个根节点,很多子节点的树结构


    2.4 程序

    定义:程序是按一定规则和顺序的任务执行过程,是一套指令集合。

    组成:程序=数据结构+算法

    最小执行单元:函数或方法。它们是完成一项具体任务的独立模块。

    函数 = 输入 + 输出 + 函数内部处理流程。注意输出可以为空类型,为空时返回值用void表示。


    还会持续往下更新数据库、前端、后端的内容~

    相关文章

      网友评论

        本文标题:技术知识入门笔记!(1):基础知识、编程篇

        本文链接:https://www.haomeiwen.com/subject/nxbivxtx.html