《给产品经理讲技术》笔记之第三章:开发技术
空指针
- 指向空的指针
数组越界
数据范围越界
命名
- 变量命名
- 命名差原因
- 英文差
- 读书少
- 架构不熟悉
- 匈牙利命名法
- 作用域+类型+名字
- 驼峰命名法
动画开发
- 位移动画
- 让控件在一段时间内不断改变位置
- 配置清单
- 动画开始时控件的起始位置
- 动画结束时控件要到达的位置
- 动画的持续时间
- 缩放动画
- 让控件在一段时间内不断改变自身大小
- 配置清单
- 动画开始时控件的缩放倍率
- 动画结束时控件的缩放倍率
- 动画的持续时间
- 渐隐渐现动画
- 在一定的时间内持续改变控件的透明度
- 配置清单
- 动画开始时控件的透明度
- 动画结束时控件的透明度
- 动画的持续时间
- 设置重复次数
- 设置重复模式
- 旋转动画
- 让一个控件在一段时间内围绕一个固定点旋转指定的角度
- 配置清单
- 动画开始时控件的旋转角度
- 动画结束时控件的旋转角度
- 动画的持续时间
耦合与解耦
- 解耦
- 标准接口进行交互
- 消息
- 引入框架
栈与队列
- 栈
- 先进后出的数据结构
- 历史栈
- 栈溢出
- APP用的内存不小心超过了系统的限制,被系统强制结束
- 队列
- 先进先出的数据结构
BUG不修复
- 修复 Bug 会产生不确定的后果
- 可能是被设计出来以隐藏一个大Bug的
加载等待
- 现代计算机执行任务主要依靠CPU的运算和存储设备对数据的读写
- CPU密集型任务
- I/O密集型任务
- GPU密集型任务
并行计算
- 一台计算机或一个计算系统(如分布式系统)可以在同一时刻执行两个或者两个以上的任务
- 前提
- 被执行的任务可以被拆分成多个可独立执行的子任务
- 实现方式
- 时间上的并行
- 流水线技术
- 空间上的并行
- 增加核的数量
- 时间上的并行
- 系统调度的基本单位
- 线程和进程
- 多核操作系统就是将相互独立的线程和进程分配到不同核心上,达到并行计算的目的
- 线程和进程
- Hadoop
- 将用户的输入转化为大量可以并行的MapReduce操作,然后分配给集群上的各个主机并行执行
进程间通信
- 基于文件的通信方式
- 基于管道的通信方式
- 基于共享内存的通信方式
- 基于信号(消息)
- 基于信号量
- 基于套接字
应用程序崩溃
- 算法设计时遗漏异常状态
- 操作系统崩溃
操作系统
- 启动
- BIOS自检
- BootLoader程序
- 内存管理和进程管理
- 物理内存
- 虚拟内存
- 文件系统
- 文件系统是硬盘上文件的组织方式
- API
代码混淆
- 将一句条理清晰的话翻译得晦涩难懂,但是功能却保持不变
遇到BUG
- 断点调试
- 输出日志
倒排索引
- 正向索引
- 倒排索引
面向对象
- 面向过程
- 程序员接到需求,把它拆成一个一个的命令,然后串起来交给计算机去执行
- 面向对象
- 创建的对象应该刚刚好能做完它能做的事情,不多做也不少做
- 面向接口编程
重构
- 在保留现有功能的基础上,重新梳理软件中的代码结构,让原本杂乱无章的代码重新具有可读性、结构性和扩展性,增加软件的开发效率,优化程序的性能
流水线技术
- 在重复执行一项任务时,可以把它细分成很多小任务,让这些小任务重叠执行,来提高整体的运行效率
多线程
- 获得CPU/获得时间片
- 多线程程序核心
- 开启更多的线程,获得更多的CPU时间片,让程序更快完成
- GUI系统
- 主线程
- 绘制界面、响应用户操作
- 工作者线程
- 运算或者完成逻辑,并将一些结果反馈给主线程
- 主线程
- 多线程含义
- 开启多个线程做不同的事情,目的是并发同时做很多事情
- 开启多个线程做同一个事情,目的是提高效率
- 多线程弊端
- 多个线程的时序不好控制,多个线程之间的共享变量控制难度比较大,通知机制复杂,且调试困难
- 线程池
- 原理
- 设置一个放线程的池子,先分配几个在里面,随用随取,用完放回,循环往复
- 服务器不可能无上限地分配线程
- 操作系统都有线程分配的最大值
- 操作系统创建线程的时候需要同时分配一些内存,虽然服务器的内存都很大,但也不是用不完的
- CPU 创建一个线程和销毁一个线程是要花时间的,虽然很快,但肯定比直接拿来用要慢
- 原理
《给产品经理讲技术》笔记之第三章:开发技术相关推荐
- 《人人都是产品经理》读书笔记 Part 3
Part3--项目的坎坷一生 今天分享的是<人人都是产品经理>读书笔记第三部分:项目.照例先给出本部分的思维导图. 这一部分主要讲了从产品到项目.项目启动.需求开发.项目周期.产品经理 ...
- 产品经理深入浅出学习笔记
@TOC产品经理深入浅出学习笔记 发现市场需求 -> 商业需求文档(BRD)-> 组织团队头脑风暴(关键节点把控,梳理思路)-> 面对团队中出现的各种阻力与不同意见.能有效的化解与统 ...
- 《人人都是产品经理》读书笔记 Part 1
Part1--产品经理入门 之前读了一本书叫做<人人都是产品经理>,最近整理了一下人人都是产品经理的读书笔记.今天分享的是第一部分:产品经理入门. 该部分的思维导图下图所示: 为什么要 ...
- 《人人都是产品经理》读书笔记 Part 4
Part4--本书剩余的其他部分 今天分享的是<人人都是产品经理>读书笔记剩余部分:第四.五.六章.照例先给出各部分的思维导图. <人人都是产品经理>的整本书总共六章,参考 ...
- 黎想深度访谈腾讯顶级产品经理的进阶之路——第三篇《需求》
16个月精心打磨,9位顶级产品专家研讨提炼,凝聚腾讯产品经验的八集八分钟产品课分别从用户.定位.需求.时机.匠心.危机.合作.商业角度出发,还原产品背后的故事,分享给你腾讯产品的心法.艺形艺意工作室创 ...
- 数字图像识别笔记(第三章-灰度变换与空间滤波)
title: 数字图像识别笔记(第三章-灰度变换与空间滤波(1)) categories: 数字图像识别 tags: 数字图像识别 date: 2020/10/1 20:33 mathjax: tru ...
- OpenGL超级宝典(第7版)笔记13 前三章实例 下个五子棋 (上)
OpenGL超级宝典(第7版)笔记13 前三章实例 下个五子棋 (上) 文章目录 OpenGL超级宝典(第7版)笔记13 前三章实例 下个五子棋 (上) 前言 1 初构建 2 构建数据结构 3 绘制 ...
- 【计算机网络高分笔记】第三章:数据链路层
[计算机网络高分笔记]第三章:数据链路层 标签(空格分隔):[计算机网络] 第三章:数据链路层 第三章:数据链路层 3.1 数据链路层的功能 3.2 组帧 3.3 差错控制 3.3.1 检错编码 3. ...
- 第三章 车联网技术架构
第三章 车联网技术架构 基于通信的车联网技术遵循了7层网络模型.同时,对于系统架构.安全.测试.用户数据等相对独立又横跨多层的重要功能实体进行了重点考虑. 车联网标准的推动和移动通信相似,来源于不同厂 ...
- 黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第三章 网络工程-原始套接字与嗅探(1)主机发现工具与包嗅探
黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第三章 网络工程-原始套接字与嗅探(1)主机发现工具 文章目录 黑帽python第二版(Black Ha ...
最新文章
- Python告诉你这些旅游景点好玩、便宜、人又少!
- sqlalchemy(一)基本操作
- Silverlight测试——利用Ranorex实现数据驱动测试
- Java中的线程和同步
- css画个框,用CSS绘制带有边框的尖端
- Team photo的新api
- 【贪心】雷达装置(ybtoj 贪心-1-2)
- 尽力去帮助一个陌生人
- 仿hotmail收件人弹层: onkeyup事件无法捕获到回车按键, 用onkeydown事件捕获额外处理回车键...
- 【题解】 bzoj4004: [JLOI2015]装备购买 (线性基)
- 计算机常用的采样频率,采样频率
- 社会工程学攻击的三个典例
- android获取系统签名,Android apk签名详解——AS签名、获取签名信息、系统签名、命令行签名...
- linux下光模块信息命令,华为交换机查看光模块信息命令
- Kafka学习——基于已有zookeeper集群实现kafka的集成
- 安卓-电子签名signature
- 自然语言处理NLP星空智能对话机器人系列:Facebook StarSpace框架初体验
- DTU(data-transfer unit 数据传输装置)
- QQ自动登录/QQ登录器/程序源代码/VS2010/VS2012/VC/MFC
- ethtool 开启网卡_ethtool查看/设置以太网网卡
热门文章
- arcmap新手教程_ArcGIS入门教程来袭,零基础的同学快看过来!
- 《学生信息管理系统》论文
- 衬线字体与无衬线字体
- c语言c99标准,C语言 1999年标准 (C99)
- can卡、usbcan、can分析仪通用测试软件LCANTest详细介绍
- html滑动验证图片,js插件实现图片滑动验证码
- android theme.appcompat.light,Theme.AppCompat.Light的解决方法
- java往jsp页面嵌入弹出框_jsp页面制作弹出框
- GBase数据库-时间函数
- linux 蓝牙测试程序下载,Linux下蓝牙测试软件包和命令介绍