空指针

  • 指向空的指针

数组越界

数据范围越界

命名

  • 变量命名
  • 命名差原因
    • 英文差
    • 读书少
    • 架构不熟悉
  • 匈牙利命名法
    • 作用域+类型+名字
  • 驼峰命名法

动画开发

  • 位移动画

    • 让控件在一段时间内不断改变位置
    • 配置清单
      • 动画开始时控件的起始位置
      • 动画结束时控件要到达的位置
      • 动画的持续时间
  • 缩放动画
    • 让控件在一段时间内不断改变自身大小
    • 配置清单
      • 动画开始时控件的缩放倍率
      • 动画结束时控件的缩放倍率
      • 动画的持续时间
  • 渐隐渐现动画
    • 在一定的时间内持续改变控件的透明度
    • 配置清单
      • 动画开始时控件的透明度
      • 动画结束时控件的透明度
      • 动画的持续时间
      • 设置重复次数
      • 设置重复模式
  • 旋转动画
    • 让一个控件在一段时间内围绕一个固定点旋转指定的角度
    • 配置清单
      • 动画开始时控件的旋转角度
      • 动画结束时控件的旋转角度
      • 动画的持续时间

耦合与解耦

  • 解耦

    • 标准接口进行交互
    • 消息
    • 引入框架

栈与队列

    • 先进后出的数据结构
    • 历史栈
    • 栈溢出
      • APP用的内存不小心超过了系统的限制,被系统强制结束
  • 队列
    • 先进先出的数据结构

BUG不修复

  • 修复 Bug 会产生不确定的后果
  • 可能是被设计出来以隐藏一个大Bug的

加载等待

  • 现代计算机执行任务主要依靠CPU的运算和存储设备对数据的读写
  • CPU密集型任务
  • I/O密集型任务
  • GPU密集型任务

并行计算

  • 一台计算机或一个计算系统(如分布式系统)可以在同一时刻执行两个或者两个以上的任务
  • 前提
    • 被执行的任务可以被拆分成多个可独立执行的子任务
  • 实现方式
    • 时间上的并行

      • 流水线技术
    • 空间上的并行
      • 增加核的数量
  • 系统调度的基本单位
    • 线程和进程

      • 多核操作系统就是将相互独立的线程和进程分配到不同核心上,达到并行计算的目的
  • Hadoop
    • 将用户的输入转化为大量可以并行的MapReduce操作,然后分配给集群上的各个主机并行执行

进程间通信

  • 基于文件的通信方式
  • 基于管道的通信方式
  • 基于共享内存的通信方式
  • 基于信号(消息)
  • 基于信号量
  • 基于套接字

应用程序崩溃

  • 算法设计时遗漏异常状态
  • 操作系统崩溃

操作系统

  • 启动

    • BIOS自检
    • BootLoader程序
  • 内存管理和进程管理
    • 物理内存
    • 虚拟内存
  • 文件系统
    • 文件系统是硬盘上文件的组织方式
  • API

代码混淆

  • 将一句条理清晰的话翻译得晦涩难懂,但是功能却保持不变

遇到BUG

  • 断点调试
  • 输出日志

倒排索引

  • 正向索引
  • 倒排索引

面向对象

  • 面向过程

    • 程序员接到需求,把它拆成一个一个的命令,然后串起来交给计算机去执行
  • 面向对象
    • 创建的对象应该刚刚好能做完它能做的事情,不多做也不少做
    • 面向接口编程

重构

  • 在保留现有功能的基础上,重新梳理软件中的代码结构,让原本杂乱无章的代码重新具有可读性、结构性和扩展性,增加软件的开发效率,优化程序的性能

流水线技术

  • 在重复执行一项任务时,可以把它细分成很多小任务,让这些小任务重叠执行,来提高整体的运行效率

多线程

  • 获得CPU/获得时间片
  • 多线程程序核心
    • 开启更多的线程,获得更多的CPU时间片,让程序更快完成
  • GUI系统
    • 主线程

      • 绘制界面、响应用户操作
    • 工作者线程
      • 运算或者完成逻辑,并将一些结果反馈给主线程
  • 多线程含义
    • 开启多个线程做不同的事情,目的是并发同时做很多事情
    • 开启多个线程做同一个事情,目的是提高效率
  • 多线程弊端
    • 多个线程的时序不好控制,多个线程之间的共享变量控制难度比较大,通知机制复杂,且调试困难
  • 线程池
    • 原理

      • 设置一个放线程的池子,先分配几个在里面,随用随取,用完放回,循环往复
    • 服务器不可能无上限地分配线程
      • 操作系统都有线程分配的最大值
      • 操作系统创建线程的时候需要同时分配一些内存,虽然服务器的内存都很大,但也不是用不完的
      • CPU 创建一个线程和销毁一个线程是要花时间的,虽然很快,但肯定比直接拿来用要慢

《给产品经理讲技术》笔记之第三章:开发技术相关推荐

  1. 《人人都是产品经理》读书笔记 Part 3

    Part3--项目的坎坷一生  今天分享的是<人人都是产品经理>读书笔记第三部分:项目.照例先给出本部分的思维导图.  这一部分主要讲了从产品到项目.项目启动.需求开发.项目周期.产品经理 ...

  2. 产品经理深入浅出学习笔记

    @TOC产品经理深入浅出学习笔记 发现市场需求 -> 商业需求文档(BRD)-> 组织团队头脑风暴(关键节点把控,梳理思路)-> 面对团队中出现的各种阻力与不同意见.能有效的化解与统 ...

  3. 《人人都是产品经理》读书笔记 Part 1

    Part1--产品经理入门  之前读了一本书叫做<人人都是产品经理>,最近整理了一下人人都是产品经理的读书笔记.今天分享的是第一部分:产品经理入门.  该部分的思维导图下图所示: 为什么要 ...

  4. 《人人都是产品经理》读书笔记 Part 4

    Part4--本书剩余的其他部分  今天分享的是<人人都是产品经理>读书笔记剩余部分:第四.五.六章.照例先给出各部分的思维导图.  <人人都是产品经理>的整本书总共六章,参考 ...

  5. 黎想深度访谈腾讯顶级产品经理的进阶之路——第三篇《需求》

    16个月精心打磨,9位顶级产品专家研讨提炼,凝聚腾讯产品经验的八集八分钟产品课分别从用户.定位.需求.时机.匠心.危机.合作.商业角度出发,还原产品背后的故事,分享给你腾讯产品的心法.艺形艺意工作室创 ...

  6. 数字图像识别笔记(第三章-灰度变换与空间滤波)

    title: 数字图像识别笔记(第三章-灰度变换与空间滤波(1)) categories: 数字图像识别 tags: 数字图像识别 date: 2020/10/1 20:33 mathjax: tru ...

  7. OpenGL超级宝典(第7版)笔记13 前三章实例 下个五子棋 (上)

    OpenGL超级宝典(第7版)笔记13 前三章实例 下个五子棋 (上) 文章目录 OpenGL超级宝典(第7版)笔记13 前三章实例 下个五子棋 (上) 前言 1 初构建 2 构建数据结构 3 绘制 ...

  8. 【计算机网络高分笔记】第三章:数据链路层

    [计算机网络高分笔记]第三章:数据链路层 标签(空格分隔):[计算机网络] 第三章:数据链路层 第三章:数据链路层 3.1 数据链路层的功能 3.2 组帧 3.3 差错控制 3.3.1 检错编码 3. ...

  9. 第三章 车联网技术架构

    第三章 车联网技术架构 基于通信的车联网技术遵循了7层网络模型.同时,对于系统架构.安全.测试.用户数据等相对独立又横跨多层的重要功能实体进行了重点考虑. 车联网标准的推动和移动通信相似,来源于不同厂 ...

  10. 黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第三章 网络工程-原始套接字与嗅探(1)主机发现工具与包嗅探

    黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第三章 网络工程-原始套接字与嗅探(1)主机发现工具 文章目录 黑帽python第二版(Black Ha ...

最新文章

  1. Python告诉你这些旅游景点好玩、便宜、人又少!
  2. sqlalchemy(一)基本操作
  3. Silverlight测试——利用Ranorex实现数据驱动测试
  4. Java中的线程和同步
  5. css画个框,用CSS绘制带有边框的尖端
  6. Team photo的新api
  7. 【贪心】雷达装置(ybtoj 贪心-1-2)
  8. 尽力去帮助一个陌生人
  9. 仿hotmail收件人弹层: onkeyup事件无法捕获到回车按键, 用onkeydown事件捕获额外处理回车键...
  10. 【题解】 bzoj4004: [JLOI2015]装备购买 (线性基)
  11. 计算机常用的采样频率,采样频率
  12. 社会工程学攻击的三个典例
  13. android获取系统签名,Android apk签名详解——AS签名、获取签名信息、系统签名、命令行签名...
  14. linux下光模块信息命令,华为交换机查看光模块信息命令
  15. Kafka学习——基于已有zookeeper集群实现kafka的集成
  16. 安卓-电子签名signature
  17. 自然语言处理NLP星空智能对话机器人系列:Facebook StarSpace框架初体验
  18. DTU(data-transfer unit 数据传输装置)
  19. QQ自动登录/QQ登录器/程序源代码/VS2010/VS2012/VC/MFC
  20. ethtool 开启网卡_ethtool查看/设置以太网网卡

热门文章

  1. arcmap新手教程_ArcGIS入门教程来袭,零基础的同学快看过来!
  2. 《学生信息管理系统》论文
  3. 衬线字体与无衬线字体
  4. c语言c99标准,C语言 1999年标准 (C99)
  5. can卡、usbcan、can分析仪通用测试软件LCANTest详细介绍
  6. html滑动验证图片,js插件实现图片滑动验证码
  7. android theme.appcompat.light,Theme.AppCompat.Light的解决方法
  8. java往jsp页面嵌入弹出框_jsp页面制作弹出框
  9. GBase数据库-时间函数
  10. linux 蓝牙测试程序下载,Linux下蓝牙测试软件包和命令介绍