《给产品经理讲技术》笔记之第三章:开发技术
生活随笔
收集整理的這篇文章主要介紹了
《给产品经理讲技术》笔记之第三章:开发技术
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
空指針
- 指向空的指針
數組越界
數據范圍越界
命名
- 變量命名
- 命名差原因
- 英文差
- 讀書少
- 架構不熟悉
- 匈牙利命名法
- 作用域+類型+名字
- 駝峰命名法
動畫開發
- 位移動畫
- 讓控件在一段時間內不斷改變位置
- 配置清單
- 動畫開始時控件的起始位置
- 動畫結束時控件要到達的位置
- 動畫的持續時間
- 縮放動畫
- 讓控件在一段時間內不斷改變自身大小
- 配置清單
- 動畫開始時控件的縮放倍率
- 動畫結束時控件的縮放倍率
- 動畫的持續時間
- 漸隱漸現動畫
- 在一定的時間內持續改變控件的透明度
- 配置清單
- 動畫開始時控件的透明度
- 動畫結束時控件的透明度
- 動畫的持續時間
- 設置重復次數
- 設置重復模式
- 旋轉動畫
- 讓一個控件在一段時間內圍繞一個固定點旋轉指定的角度
- 配置清單
- 動畫開始時控件的旋轉角度
- 動畫結束時控件的旋轉角度
- 動畫的持續時間
耦合與解耦
- 解耦
- 標準接口進行交互
- 消息
- 引入框架
棧與隊列
- 棧
- 先進后出的數據結構
- 歷史棧
- 棧溢出
- APP用的內存不小心超過了系統的限制,被系統強制結束
- 隊列
- 先進先出的數據結構
BUG不修復
- 修復 Bug 會產生不確定的后果
- 可能是被設計出來以隱藏一個大Bug的
加載等待
- 現代計算機執行任務主要依靠CPU的運算和存儲設備對數據的讀寫
- CPU密集型任務
- I/O密集型任務
- GPU密集型任務
并行計算
- 一臺計算機或一個計算系統(如分布式系統)可以在同一時刻執行兩個或者兩個以上的任務
- 前提
- 被執行的任務可以被拆分成多個可獨立執行的子任務
- 實現方式
- 時間上的并行
- 流水線技術
- 空間上的并行
- 增加核的數量
- 時間上的并行
- 系統調度的基本單位
- 線程和進程
- 多核操作系統就是將相互獨立的線程和進程分配到不同核心上,達到并行計算的目的
- 線程和進程
- Hadoop
- 將用戶的輸入轉化為大量可以并行的MapReduce操作,然后分配給集群上的各個主機并行執行
進程間通信
- 基于文件的通信方式
- 基于管道的通信方式
- 基于共享內存的通信方式
- 基于信號(消息)
- 基于信號量
- 基于套接字
應用程序崩潰
- 算法設計時遺漏異常狀態
- 操作系統崩潰
操作系統
- 啟動
- BIOS自檢
- BootLoader程序
- 內存管理和進程管理
- 物理內存
- 虛擬內存
- 文件系統
- 文件系統是硬盤上文件的組織方式
- API
代碼混淆
- 將一句條理清晰的話翻譯得晦澀難懂,但是功能卻保持不變
遇到BUG
- 斷點調試
- 輸出日志
倒排索引
- 正向索引
- 倒排索引
面向對象
- 面向過程
- 程序員接到需求,把它拆成一個一個的命令,然后串起來交給計算機去執行
- 面向對象
- 創建的對象應該剛剛好能做完它能做的事情,不多做也不少做
- 面向接口編程
重構
- 在保留現有功能的基礎上,重新梳理軟件中的代碼結構,讓原本雜亂無章的代碼重新具有可讀性、結構性和擴展性,增加軟件的開發效率,優化程序的性能
流水線技術
- 在重復執行一項任務時,可以把它細分成很多小任務,讓這些小任務重疊執行,來提高整體的運行效率
多線程
- 獲得CPU/獲得時間片
- 多線程程序核心
- 開啟更多的線程,獲得更多的CPU時間片,讓程序更快完成
- GUI系統
- 主線程
- 繪制界面、響應用戶操作
- 工作者線程
- 運算或者完成邏輯,并將一些結果反饋給主線程
- 主線程
- 多線程含義
- 開啟多個線程做不同的事情,目的是并發同時做很多事情
- 開啟多個線程做同一個事情,目的是提高效率
- 多線程弊端
- 多個線程的時序不好控制,多個線程之間的共享變量控制難度比較大,通知機制復雜,且調試困難
- 線程池
- 原理
- 設置一個放線程的池子,先分配幾個在里面,隨用隨取,用完放回,循環往復
- 服務器不可能無上限地分配線程
- 操作系統都有線程分配的最大值
- 操作系統創建線程的時候需要同時分配一些內存,雖然服務器的內存都很大,但也不是用不完的
- CPU 創建一個線程和銷毀一個線程是要花時間的,雖然很快,但肯定比直接拿來用要慢
- 原理
總結
以上是生活随笔為你收集整理的《给产品经理讲技术》笔记之第三章:开发技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POSIX风格正则表达式
- 下一篇: VIM 文件编码识别与乱码处理