美文网首页程序员
tech| 极客时间学习笔记 2

tech| 极客时间学习笔记 2

作者: daydaygo | 来源:发表于2019-01-16 16:02 被阅读108次

date: 2018-11-23 17:50:51
title: tech| 极客时间学习笔记 2

邱岳产品实战

和自己较劲, 是一个产品的实战历程; 法无定法, 然后知非法法也
坚韧的力量; 要建立更长的预期, 用对未来的信心支撑对现在的耐心; 我们去做产品, 不能只有理想思考和分析, 更要有策略迭代和实战, 既要胸怀远大也要心狠手辣

如何验证产品创意

  • 大量收集信息: 创意vs执行; 上下(上下游, 来源渠道, 消费者)左右(广义竞品 行业环境)+古今中外
  • 高效收集和获取信息: 体系化课程 跟行业专家深入交流 读书 财报/券商分析报告/行业分析报告 行业资讯/文章/论坛
    如何锤炼产品创意
  • 行业未来会是什么样子: 数据+观察+理解+拆解/逻辑推演
  • 行业痛点和机会在哪里: 大而化之的宏观判断+个人假设->赌
  • 为什么你能做成, 你打算怎么做: 独特优势和路径->大而化之的策略vs详细解决方案/产品特性
  • 给直觉一个机会vs冲动
    要不要相信调查问卷
  • 之前 清单+计划; 保证用户可以流畅的回答问题; 中 尽量少提假设性问题; 不要套路你的用户; 跳出调查问卷
    用最少的资源给产品试水
  • MVP, minimum viable product: 不断用尽可能少的投入创造尽可能多的价值
  • 未完成的功能键
  • 一个失败的案例: 询问使用者->客气导致误判->直到刚需产生
  • MVP 商业化验证作用: 盖茨忽悠IBM然后修改DOS Dropbox纸片视频
    如何快速利用MVP思想
  • 提前推演逻辑, 不要盲目验证(打点收集数据进行验证); 验证长板而非短板(第一版12306的长板->它有票); 创造性的低成本方案(人工 第三方 利用规则缩小场景)
  • 另一面: 缺少规划 再次唤醒用户更难
    如何做好产品立项
  • kickoff 项目立项阶段
  • 识别相关方, 理解产品对业务的影响; 明确需求, 联合利益; 估算代价, 安排计划(谁做谁估 多估几次 留足余量); 时刻->锁定资源, 「卖」创意
    产品发布的坑
  • 发布checklist: 该知道的人都知道了吗 脑子里排练过么 万一出意外有退路么
    产品增长
  • 增长越来越难->红利期结束; 增长新趋势->跑马圈地 拉新->精细化+扩宽战场(三四线下沉 东南亚非洲 新平台新形态押注)
    产品增长核心
  • 持续而有效的解决一方/多方利益相关者的问题, 为他们创造价值; 是爱创造了增长, 而不是增长创造了爱; 增长要回到产品本身
  • 创造产品的啊哈时刻: 不同层面组合信息->帮助用户最大程度的提高资讯阅读效率
  • 观察用户如何描述你的产品: 很可能你最终会做出一个跟初衷完全不同的产品形态
    增长团队
  • 经典结构和搭建逻辑: 用户从进入产品直到最后离开->增长本身需要策略贯穿始终; 独立团队/产品团队增加增长岗位
  • 增长实践: 角色->增长策略; 协调增长策略的规划和产品规划(功能增加/用户体验); 一定要有实权负责人全力支持/参与
  • https://medium.com/swlh/how-do-you-choose-the-best-growth-team-model-632ad5a85be9
    产品增长业务公式和指标
  • AARRR 漏斗, acquisition 获取, activation 激活, retention 留存, revenue 变现, referral 传播; 不要试图兼顾所有环节
  • RARRA 留存-激活-传播-变现-获客: 先把东西做好, 然后扩大影响
  • 留存是最重要的指标
  • 选定目标: 选定一定时间段内相对稳定的目标, 能够从源头为各种策略的优先级做好划分; 选对方向vs选对时机
  • 拆解业务公式: 收入=付费用户数*客单价 付费用户数=用户数*付费转化率 收入=新用户数(流量*注册转化)*新用户转化率*新购客单价+老用户述*复购率*复购客单价
  • 选定支点: 给我一个支点 它能否有效的承前启后的拉动整个业务公式 宏观核心目标/云因策略落地->随业务/市场环境/团队变化调整
    产品增长过程中关键套路
  • 不能关注具体操作层面的技巧, 而应多关注过程: 建立数据体系 → 分析 → 提出想法 → 排定优先级 → 测试 -> 周而复始
  • 使用自有打点策略和日志工具进行复杂分析 > 使用第三方工具进行自定义打点与复杂分析 > 使用自有打点策略进行简单分析 > 使用第三方工具的基本功能进行简单分析。
  • 优先从代价小的开始: 快速建立整个闭环 成功时更容易获得信心
    实战增长
  • 每次开五枪中一枪->加快开火频率; 提高尝试的成功率/准确率/效率; 希望通过个人经验避开错误提高效率; 专业人士->可能并不在与快而在于准; 设计方案的时候要带着下线的准备->向最好的结果努力, 往最坏的情况打算
    增长执行
  • 自愈力 动态完善策略的重要战术素养: 去寻找那些拥有自愈能力的人, 然后将资源向他倾斜并适当施加压力; 发布早, 迭代快, 脸皮厚, 能稳定节奏
  • 决断力: 敢于拿主意 决策得快vs决策得好
  • https://medium.com/@wooyi/7-lessons-from-jeff-bezos-annual-letters-to-shareholders-d2b795201c16
    钩子与用户留存
  • 留存本质: 没把留存做好之前, 不应该着急做其他阶段的事情; 留存不是单纯的追求数值指标, 而是不断夯实它背后的驱动力; 钩子->拉回用户不知节制的怪圈->体面一点/个性化一点的由头
  • 留存周期与分析: 不同产品应当有不同的时间框架不要一概而论; 对留存有足够长时间的观察; 分析原则是尽可能细分分析
  • 方法: 会员特权吸引留存; 直接利益吸引(游戏类似设计); 产品本身包含留存特性(功能本身 数据沉淀 网络效应); 有节奏的持续迭代
    传播获客的正确姿势
  • 产品本身缺乏生命力, 那无论是病毒传播还是分销裂变, 都难以保持长久
  • 传播与获客的关系 获客的原则 流量品类/利润品类 吸引的效率
  • 传播类型: 直接推荐 潜移默化推荐
  • 动机与设计: 核心功能是否对用户有价值, 能够成功向用户植入品牌印象; 向领域专家求助(使用障碍); 成就用户而不是凸显自己
    增长黑客阴暗面
  • 保持克制: 产品中的黑暗模式 剧场效应 热力学第二定律
  • 朝着用户利益努力: 不蒙骗不恐吓不嘲笑
  • 我们应当对那些病毒传播和爆炸式增长保持警惕, 对以刷屏增粉为目标的神奇增长手段保持冷静. 而关注那些真正能够给用户带来价值, 让他们心甘情愿变现和传播的特性
    突发性流量数据暴跌:
  • 分析: 有没有业务变化/发布; 排除技术故障可能性(系统故障 环境故障); 流量降低的案发现场; 数据变化的渠道特征(web流量->直接流量/SE/引荐)
  • 拆解: 新老用户 不同行为模式的用户(流量而非用户量) 业务有关数据因果 其他不可抗因素
  • 处理: 分析邮件(发生了什么事/结论/原因, 数据分析过程, 思考和建议); 数据分析要形成结论; 进行必要的有效沟通; 要有应对策略
    具体数据辅助决策
  • 通过数据了解用户是谁; 通过数据了解用户需求(搜索记录 假设反对意见 抽样用户轨迹); 提供什么解决方案(竞争现状 触达效率); 做出决定, 开工干活
    尽信数不如无数
  • 数据的骗局(别拿相关当因果) 不要去预设你的期望 数据不是唯一驱动力 数据不是终点
    基本商业概念
  • 利润=收入-支出(成本/费用 固定支出/浮动支出) 单元交易 毛利=收入(单次收入*交易次数)-浮动成本
    提高商业产品收入
  • 定价空间 定价和成本无关 定价时尽可能留出一定空间 定价vs直觉拍脑袋; 扩展空间 TAM, total addressable market
  • 大部分扩展情况下, 只能在速度/扩张成本/获客质量之间选两个 扩展成本的线性和非线性 寻找扩张中的机会
    烧钱获客
  • critical mass临界质量; BEP 盈亏平衡点; 尝试观察/分析别人的商业产品->创造机会和负责人聊天->在自己产品中多尝试, 并追踪和积累数据
  • 获客成本和流量 CAC TAC; 获客收益 LTV, 让更多人付钱, 并且持续的付钱->付款安全感, 功能支持免费试用, 足够吸引力, 支付和体验捆绑足够紧密 首充/复购
    赚钱意识和能力
  • 逻辑与计算: 任何一个决定的来龙去脉, 受到的限制和带来的影响; 降价促销->盈亏点
  • 不确定性与意志: 手上的资源是筹码->赌, 判断和取舍->最终盈利; 战略上谨慎细致深入的思考, 战术上尽可能凶狠执行到位
  • 微妙的时机 平衡的艺术
    小程序
  • 现状: 超级app+小程序模式 降低多段开发成本; 价值: 体验/用户归属不同
  • 传播: 分布式入口 怎样让传播自然而然
  • 设计原则: 碎片化/场景化/简单化 从传播出去设计功能; 风险与边界: 坚决和黄赌毒划清界限 尽量杜绝诱导分享 虚拟商品支付政策限制 被抄袭; 期待: 用完即走 当喧闹过去, 任何一个渠道, 最终都会回归理性, 回归用户价值

千万级用户产品如何打造

  • 真正的难点其实并不在于想到, 而是选择(特性/时机); 每天和各种限制打交道(改变不了的, 只能接受, 与之共存)
  • 极客时间: 通识教育vs职场教育; 招聘->闭环
    时刻时间产品规划
  • 领域垂直用户群少->github官方数据, 编程教育普及->假设30%年增长
  • 优势: 积累大量专题资源; 积累大量高端技术人员和KOL(key option leader); 线上+线下运营能力
  • 用户量和收入更多取决于内容质量: 口语化 场景化 交付
  • 产品验证: 打造IT知识技能图谱->技能树+学习路径
    推动团队
  • 不要让你的队友失败
    需求评审
  • 产品逻辑不一致: UI vs 后端业务逻辑 -> 真正需要平衡的是产品的实现效果/交互的优化/功能改进等与技术实现难度上的平衡
  • 产品成败: 各种环境变量 掌舵人的价值选择与世界观
  • 技术问题最优解 vs 现实问题当前解
  • 强需求/弱需求/伪需求 用户需求/产品创造需求
  • 件件有着落, 事事有回音
    一次简洁并有效的产品分析
  • 产品分析->理解学习和启发 竞品分析->对抗/共存
  • 主流程走一遍, 形成产品信息架构->解决谁的什么问题, 切中哪些场景->会有什么方案来解决, 会有什么差异->哪里自己没想到的, 哪些策略和设计可以记录下来->竞品的定位和资源差距->竞品用户/客户的流入流出及口碑, 各条产品线, 运营成本->坚持自己
    分享有赏->关键决策
  • 找到需要重点关注的用户; MVP 快速试错; 内容为王; 一切就绪, 全力以赴
    数据分析验证新功能效果
  • 内力->强动力高效的自传播; 外力->持续有节奏的推广; 分享返现+限时优惠
    新用户转化为忠实长期用户
  • 蹦失: 了解 行动(精简 门槛后移 设计好新用户引导) 打动
    产品面试
  • 答案都不重要, 重要的是你的思路和表达; 一定不要试图伪装自己; 面试答得好vs成为优秀的产品经理; 见识/思路清楚
    职业发展阶段
  • 交付特性, 把交代的功能点做好-> 交付业务目标 -> 交付战略
    基本数据能力和意识
  • 数据是PM最忠实的伙伴: 养成数据走查习惯(第三方工具->宏观指标, 日活/用户新增/留存等 收入/总收入/总订单数); 建立数据体系(咬牙坚持过前期); 数据仪表盘
    极客时间获客与传播
  • 持续增强产品的核心功能, 为用户创造更多价值: 丰富内容, 构建IT知识图谱; 强调知识交付, 提升产品价值(交付感 品控手册); 重心促活提升粘性
    流量平台->资源匮乏平台
  • 规模不同->质量要求/谨慎程度差异->产品的流量结构也完全不同; 客观业务差异vs主管感受落差; 职业素养
    收集数据前后
  • 开始前: 用数据论证和预演目标; 开始埋头产品的时候很容易陷入细节, 可以随时回头来看看这些数据
  • 开始后: 纵向(产品内部)横向(竞品/渠道)的标杆数据
  • http://iamsujie.com/8000/8018/
    大众通用型vs受众小垂直领域
  • 如果BAT也做和你一样的事情: 不屑做 不擅长 等不及; 希望->大公司做平台型, 小公司做更垂直和更具体的事情
  • 具体的力量 算法的力量(数据量适中/数据非标/动态性强) 渠道的力量 创业团队/巨头/巨头里的小团队
    未来产品发展趋势
  • 用户品味上升 为版权付费 知识教育付费
    上手体验app
  • 用例: 用户+动作+流程->价值; 信息架构: 概念实体+结构关系+设计; 交互/UI: 内容生产消费; 运营增长: 获客/激活/留存/传播+网络效应+团建/运营成本
  • 商业策略: 收费模式+成本/利润+定价+市场规模; 其他: 风险+多端+团队+竞品; 应该深度长期地试着去体验一些应用
    app信息架构
  • 文字专栏 视频课程 社群 音频 个人中心
    专栏销量过万

邱岳产品手记

产品经理的世界没有对错只有成败
产品才是唯一名片
专栏: 交谈的窗口 求知的窗口 vs 教程 知识
产品经理的基本功 实战素养 产品观点和思考 产品案例分析

验证码:

  • 不要把责任推卸给用户 方案选择的平衡 验证码的进化
    工具指南:
  • 纸笔+scanner; 原型工具 axure/keynote/omniGraffle/sketch/墨刀/POP; 思维导图 mindmannager/mindnode/xmind; UML startUML/Visio/LucidChart/ProcessOn
    关于需求变更:
  • 唯一不变的, 就是变化本身; 拥抱变化
  • 需求不会变更, 变更的是实现; 挖掘需求背后的需求; 给需求分析留出时间; 需求评审
  • 「具体」的力量; 变更时机的选择; 让团队能消化需求变更;
    产品被人抄了:
  • 世界上只有2种产品, 一种没人用, 一种被人抄
  • 摆正心态, 泰然处之 -> 别担心, 抄不走的是气质 -> 不要将产品的护城河建在脸上 -> 做有积累效应的事情 -> 有条不紊, 不要情绪化处理
    如何借鉴灵魂:
  • the early bird catches the worm, but the second mouse gets the cheese.
  • 不要像素级抄袭; 脑子里带着自己的问题; 追本溯源, 知其所以然; 跨领域跨行业借鉴; 致敬与付费
    产品规划:
  • in preparing for battle i have always found that plans are useless, but planning is indispensable; no battle plan ever survives contact with the enemy
  • 自下而上vs自上而下; 产品规划<>功能发布计划; 更宏观的视角和判断vs具体的项目和特性列表; 很难给出准确的时间点
  • 留白; 定期回顾和更新产品规划; 产品规划到项目交付的节奏感;
    AI时代的产品经理:
  • 唯一能持久的竞争优势是胜过竞争对手的学习能力; 纸上得来终觉浅
  • 需要学算法 -> 从视频开始 -> 从网上文章抓出关键领域 -> 写写程序找找感觉
  • 产品和算法的结合粒度要小 -> 要重视工程的力量 -> 利用产品最大化算法和工程产出结果 -> 做好数据规划 -> 去完美主义理解算法的不确定性
    在内部产品中找到产品经理的价值:
  • 心事浩茫连广宇, 于无声处听惊雷
  • 内部产品: CRM ERP CMS
  • 用户离你很近: 资源显性化 项目流程化 用户研究的最佳试验场
  • 不要成为功能经理, 化被动为主动: 跳过方案, 寻找背后的动机和诉求; 统一战线, 成本收益一致; 发挥强项, 用技术帮助业务
    产品经理获取非权力性影响力:
  • 何况异形体, 信任为股肱
  • 建立信任是个长期的过程; 如何试错; 要重视承诺, 不要找借口
    与开发打交道:
  • 横看成岭侧成峰; 兄弟睨于墙, 外御其务
  • 为什么vs怎么做; 甲方乙方(邮件签字画押 开小会); 加强沟通互通有无; 专程交代业务规划和产品价值; 掌握技术概念和技术语言
  • 合作共赢: 全流程参与; 多听工程师的意见; 不要强迫工程师做评估; 背黑锅与争取利益; 互背KPI, 同仇敌忾; 建立良好个人关系
    基本功: 图文
  • 没有内容的形式和没有形式的内容, 都是不能存在的; 即使存在的话, 那么, 前者有如奇形怪状的空洞的器皿, 后者则是虽然大家看得见但不认为是实体的空中楼阁
  • BDR 商业需求文档 MRD 市场需求文档 PRD 产品需求文档 UC 用例文档 FSD 详细功能说明 产品原型/交互稿
  • 如何写一份交互说明文档: http://heidixie.lofter.com/post/b8226_168d4b5
    基本功: 产品用例
  • 世间无限丹青手, 一片伤心画不成
  • 概念模型图 流程图/泳道图/时序图 状态图 用例图
    产品世界的暗黑模式: 操纵的诱惑
  • 卑鄙是卑鄙者的通行证
  • https://darkpatterns.org/: 操纵来自于基因 尊重和磊落的用户感知价值低 不成熟的劣币驱逐良币
    写好产品文档的诀窍:
  • 产品文档是产品经理交出的第一个产品
  • 明确受众/目的/形式; 知其所以然, 然后知其然; 打造良好的阅读体验->金字塔原理/逻辑/格式; 厚->薄
    产品分析的套路
  • 自小秦楼望巧, 吴机回锦, 歌舞为谁; 能帮助我们完成进步的, 恰恰是人类的天性本身; 知到蓬莱难再访, 问何方法得长生; 不是在测试你, 而是你在测试我们
  • 谁是利益相关者: 利益相关者, 不只用户;toB toC 的不同决策方式; 上下游特点和平台价值
  • 解决什么问题: 重视解决的问题而不是解决方案; 把自己放进场景吃自己的狗粮; 转益多师, 加深对场景的理解
  • 如何出解决方案: 解决方案是一个产品设计者最终输出的东西; 大量把玩各种互联网产品和服务; 方案和手段上的创新并不多, 真正困难的是挑选和平衡; 利用其他手段, 比如财务(闪电退款); 游戏把很多人性的东西利用得很好
    排定需求优先级:
  • 一朝需求不称意, 口里驱蛩心上蚝; 民为贵, 社稷次之, 君为轻, 是故得乎丘民而为天子, 得乎天子为诸侯, 得乎诸侯为大夫;
  • 避免毫无价值的正确; 规模(Total Addressable market, 趋势, 地域)/频率/强度->排定优先级
  • 价值曲线分析: 罗列利益相关者和他们的感知价值; 对问题进行优先级排序; 将问题指标化并拆解; 整体权衡和排序; 综合考虑解决方案
    需求评审:
  • 问渠那得清如许; 预则立, 不预则废
  • 讨论什么: 需求收集和分析; 不同利益方博弈; 项目落地实施的计划管理
  • 受众/目的: 需求方利益方->对需求的理解和分析; 研发团队->需求背景; 需求方->产品解决方案; 哪些人->业务->方案
  • 控场: 当心知识诅咒(知道一个知识后很难想象不知道这种知识的情况) 不要强迫要吸引 用自己的态度感染别人 不要为了赢而争吵 小公司->频繁沟通
    关于产品经理的12个问题:
  • 有AI背景的PM: 有过产品成果; 分析别人做过的产品; 介绍学到的知识与方法
    鸡汤:
  • 取一利生一弊深思熟虑抗住诋毁; 没有任何一个抉择是生死抉择; 什么都不做, 或许已经跑赢了大盘; 平淡无奇, 十之八九; 坚持执行, 不要绣花; 多喝热水
    项目管理心得:
  • 将者, 智信仁勇严也.
  • 影响力>权利; 管人>管事; 交付>计划; 正确看待项目管理工具; 稳住才是赢
    从游戏中学习产品设计:
  • 玩游戏, 就是自愿尝试克服种种不必要的障碍; 要保持淡定, 就算输掉了比赛, 还有人生
  • 游戏设计手段: 持续实时的反馈; 人性的开关; 与社群建立联系; 构建意义
  • 游戏机制为核心的启发: 那些精巧的处心积虑的功能性设计, 远不如关键性的机制设计来得重要有效
    你的快乐是哪一种:
  • 外在奖励vs内在奖励; 不吝给予克制索取

案例分析 Trigraphy

  • 利用设计, 来管理用户对于进度的认知; 如何将2个不同的页面更顺滑的连接起来; 通过一个随机效果设计去区分不同级别的用户
    案例分析 Guardian
  • 卡片设计 文章中的扩展阅读 手势导航设计
    案例分析 hopper:
  • 产品是需求的灵魂, 我们需要让产品和功能贴着需求与场景长出来
    案例分析 labRdr:
  • 从用户场景出发, 贴着场景设计产品; 用户收集数据的透明化处理; 产品和用户的每一次互动, 其实都是一次交易
    Mimo & learn py
  • mimo: 题目设置->简单编程基础; 答题反馈设置; 成就体系
  • learn py: 利用社交的方式增加用户粘性
    WWF together: 情怀设计
  • 用动效传递暗示; 望向镜头的眼睛; 沉浸式交互; 引入深思的传播和分享
    Fabulous:
  • Material Design; 藏在姓名中的细节; 循序渐进的引导; 替用户负责人
    PathSource:
  • 导航的迷茫; 视频的直观渲染
    Quartz:
  • 聊天式界面的黏着力; 模拟人类的对话感; 建立在对话模式上的小说阅读; 对话式交互使用->在一些需要跟用户循序渐进交互的过程中使用这种方式
    Google Primer:
  • 自然接收的暗示; 独特的信息展示; 类似的卡片应用
    Google arts&culture
  • 首页feeds流; 知识图谱+标签+搜索->撑起内容体系结构; 快速定位到一个主题; 浏览作品的几种观赏方式
    知识星球:
  • 手机版的论坛: 从哪里看都像是论坛+细节差异->另一个物种; 蒸发式降温; 微信推送->拽人机制; 发现机制
    SeatGeek:
  • 门票的快速浏览; 票价的直观筛选; 位置的真实视角; 卡片的流畅转场
    unread:
  • 设计美学->咋见之欢vs久处不厌; 字体差异->英文vs中文; 信息架构的逻辑->解决问题vs制造问题
    chartistic:
  • 「假数据」的靠谱->假数据填充, 直接可以看效果; 被放大的屏幕; 自由度的取舍; 从场景出发

左耳听风

洞悉技术本质, 享受科技乐趣: 程序员技术练级攻略 成长 管理
业精于勤行成于思

  • 技术变现: 打工vs在公司工作提高自己的技能->更多时间研究技术; 最好的seo就是独一份; 出书vs培训; 25-35是每个人最宝贵的时光, 要用在刀刃上; 技术和技能领先/对技术本质和趋势的敏感度; 只要你能帮上大忙就一定会赢得别人的尊重; 同样的for循环, 你写在这里一钱不值, 而我那里就值2k
  • 如何技术变现: 积跬步; 关注有价值的东西->市场需求/技术趋势; 能体现价值的地方->高速发展的公司; 动手能力很重要; 关注技术付费点->帮别人省钱/挣钱; 找到有价值的信息源; 输出观点和价值观; 朋友圈很重要; 会赚钱 会投资 时间比钱重要

渴望 热情 选择:

  • 加班没时间学: 对学习是有渴望的
  • 写这么多东西: 学习阶段->利益驱使阶段->记录自己观点打脸阶段->与他人交互阶段
  • 职业发展: 20-30打基础, 30-40发展; 客观审视自己->激进冒险vs按部就班; 确定自己想要什么->「极端」, 不随波逐流; 长期可能性vs短期功利; 关注得到vs失去; 不要和大众的思维方式一样
    时间管理: 同扭曲时间的事情做斗争
  • 主动管理: 不是管理自己, 而是同事+自己的信息
  • 学会说不: 提供可选方案vs回绝 部分满足 共同抗压->有条件的说是
  • 加班: 两害相权->bug
  • 开会: 讨论问题vs讨论方案 有议题vs有议案
    利用好自己的时间:
  • 投资自己: 基础+文档(系统的学习) 解放生产力(解放自己) 自己成长 建立高效环境
  • 规划: 优先级 短作业 想清楚再做 长期利益
  • 用好时间: 将军赶路不追小兔 形成习惯 形成正反馈 反思+举一反三
    识别表象和本质:
  • 兴趣和投入: 需要保持 可以培养->正反馈/成就感
  • 学习和工作: 解决实际问题/和他人讨论/高手帮助->学习/成长; 学习方法->对新事物的学习能力
  • 技术和价值: 规模化/高效解决问题
  • 趋势和未来: 被人控制的->有权有是有钱的公司和国家->成长到加入第一梯队

技术领导力 解决问题:

  • 技术是否重要->野蛮开采->资源整合->精耕细作->发明创造; 长期->差距
  • 是什么: 尊重技术, 追求核心基础技术; 自动化+组织效率; 解放生产力->提高人效; 可重用的技术组件; 坚持高于社会主流
  • 如何拥有: 所有工程师都有机会; 能够发现问题->解决问题的思路和方案并对比->正确的技术决定->更优雅/简单容易的方式解决问题->扩展性/重用性/可维护性->正确的方式管理团队->创新能力
  • 4个方面: 扎实的基础技术 非同一般的学习能力 坚持做正确的事 不断提高对自己的要求标准
  • 如何拥有: 基础技术->编程(c/编程范式/算法/数据结构)+系统(计算机系统原理/操作系统原理和基础/网络基础/数据库原理/分布式技术架构)->不可速成; 提高学习能力->信息源/与高手交流/举一反三/不怕困难; 坚持做正确的事->提高效率/自动化/前沿技术/知识密集型/技术驱动; 高标准要求自己->Google评分卡/技术嗅觉/实践,学以致用/lead by example
    大家愿意追随的leader:
  • leader vs boss: 指导vs驱动; 制造热情vs制造畏惧; 面对错误->解决问题的技术或管理方法vs人事惩罚; 展示怎么做vs只是知道怎么做; 发展人vs用人; 给予团队成绩vs从团队收割成绩; 沟通+写作vs命令+控制; 跟我上vs给我上
  • 帮人解决问题; 被人依赖(甚至敏感话题, 比如猎头, 吐槽公司); 赢得他人信任(相信你能做成事->能打开心扉说事); 开放的心态+倾向性的价值观; lead by example(ABC, always be coding); 保持热情和冲动; 抓住重点看透事物本质; 描绘令人激动的方向, 提供令人向往的环境; 铺路->给他人创造机会
    故障处理:
  • 快速恢复: 重启+限流 回滚 降级 紧急更新
  • 准备: 服务地图: 以用户功能为索引的服务和资源的全视图->导航仪: 为各个服务制定关键指标/一套运维流程和工具/应急方案->故障等级/故障演练/灰度发布
  • 最佳实践: 复盘(整个处理过程 原因分析 5why 整改计划) 故障责任人(对事不对人) 整改方法->技术手段 根除问题的本质(举一反三 简化技术架构/流程/组织 全面改善优化整个系统/组织)

程序员应该知道的知识:

程序错误处理 error code & exception:

  • c: errno()+errstr()
  • go: 多返回值(err, res) 资源清理(defer)
  • c++: 资源清理(构造函数+析构函数)
  • 异常 exception: 不期望发生vs可能会发生
  • 场景: 资源错误 程序错误(log/监控/报警) 用户错误(通知用户端)
  • 异步编程: onSuccess() onFail()
  • 最佳实践: 统一分类错误字典 同类错误的定义最好可扩展 同类错误处理同样模式 定义错误严重程度 错误信息vs错误码 忽略错误最好有日志 注意不停报错 错误处理逻辑vs业务处理逻辑 尽可能在错误处理的地方处理错误 尽可能返回原始错误 处理错误+清理资源

数据安全:

  • equifax信息泄露 + apache struts 漏洞
  • 数据泄露攻击: 框架或库已知漏洞/暴利破解密码/代码注入(sql/xss/csrf)/程序日志/社会工程学
  • 数据管理: 只有一层安全; 弱密码; 向公网暴露内部系统; 系统安全补丁; 安全日志被暴露; 保存了不必要的用户数据; 密码散列
  • 安全建议: 追踪依赖的安全性声明; 建立快速发布带安全补丁产品的流程; 所有复杂软件都有漏洞; 建立多个安全层; 针对公网资源建立对异常访问的监控机制
  • 技术上的安全做法: 区分敏感数据->隔离/加密->api交互而不是直接使用数据->关键信息传到外部系统需要做通知(用户/管理员)

go/docker:

  • 语言简单上手快; 并行+异步几乎无痛点; lib库小而全; 社区; 工业化标准; 杀手级应用; 提高开发效率的框架; 巨型技术公司做后盾; 软件开发中的痛点
  • PaaS: 软件生产线devops; 分布式服务化; SLA; 软件能力的复用
  • 技术的发展过程很重要->技术变迁和行业发展; 关键新技术->抢占先机

分布式架构:

  • Amazon: 分布式团队(two pizza team) 分布式服务查错 开发all(eat your own dog food) devops(运维优先->简化/自动化) 内部服务/外部服务一致
  • 需要注意的问题: 异构系统的不标准问题 系统架构中的服务依赖性问题 故障发生的概率更大 多层架构的运维复杂度更大 分工->协作统一和规范ch
    技术栈:
  • 目标: 大流量处理 关键业务保护
  • 提高架构性能: 缓存 负载均衡 异步调用 数据镜像 数据分区
  • 提高架构稳定性: 服务拆分 服务冗余 限流降级 高可用架构 高可用运维
  • 关键技术: 服务治理 架构软件管理 devops 自动化运维 资源调度管理 整体架构监控 流量控制
  • 大纲: 应用整体监控 资源/服务调度 状态/数据调度 流量调度 开发/运维自动化
    全栈监控:
  • 多层体系: 基础层(cpu等) 中间层(nginx等中间件) 应用层(http访问/调用链路等)
  • 好的监控系统: 监控数据可以辅助到业务而非隔离 监控关键数据项而非非常多(信息太多等于没有信息) 关注应用整体SLA 关联指标聚合 快速定位故障
  • 场景: 体检->容量管理/性能管理 急诊->定位问题/性能分析
  • 如何做: 服务调用链跟踪 服务调用时长分析 服务topN视图 数据库操作关联 服务资源跟踪
    服务调度:
  • 服务关键程度和服务的依赖关系: 微服务是服务依赖最优解的上限, 而服务依赖的下限是千万不能有衣懒环 依赖反转->container/pub-sub
  • 服务状态和生命周期管理: Provision ready run update rollback scale destroy failed
  • 整个架构的版本管理: 服务版本 运行环境 实例数范围
  • 资源/服务调度: 服务状态的维持和拟合 服务的弹性伸缩和故障迁移 作业和应用调度 作业工作流编排 服务编排
    流量和数据调度:
  • 功能: 服务控制(发现 路由 降级 熔断 保护) 流量控制(LB 流量分配 流量控制 异地灾备/多活) 流量管理(协议转换 请求校验 数据缓存 数据计算)
  • 关键技术: 高性能 抗流量 业务逻辑 服务化
  • 状态数据调度
  • 分布式事物一致性
    PaaS:
  • 软件工程能力: 提高服务SLA(高可用系统 自动化运维) 能力/资源重用/复用(软件模块复用 软件运行环境/资源重用) 过程自动化(生产流水线 自动化运维)
  • 本质: 服务化 分布式 自动化 分层开放 高可用 devops
    设计模式:
  • 弹力设计: 认识故障和弹力设计 隔离设计 异步通讯设计 幂等性设计 服务的状态 补偿事务 重试设计 熔断设计 限流设计 降级设计
  • 管理设计: 分布式锁 配置中心 边车模式 服务网格 网关模式 部署升级策略
  • 性能设计: 缓存 异步处理 数据库扩展 秒杀 边缘计算
    经典资料: https://time.geekbang.org/column/article/2080
    分布式数据调度相关论文: https://time.geekbang.org/column/article/2421

编程范式: 泛型编程 类型系统和泛型本质 函数式编程 修饰器模式 OOP 基于原型的编程范式 go语言的委托模式 编程的本质 逻辑编程范式 程序世界的编程范式
区块链技术: 革命性和技术概要 哈希算法 加密和挖矿 去中心化的共识机制 智能合约 传统金融和虚拟货币
程序员练级攻略2018: 技术资料
程序员面试攻略: 面试前准备 面试中技巧 面试风格 实力才是王中王

高效学习 端正学习态度

  • 主动学习vs被动学习
  • 低水平勤奋 努力读更多书 满目追求阅读速度和数量 使蛮力 -> 要思辨 要践行 要总结和归纳
  • 浅度学习 -> 深度学习 高质量信息源和第一手知识 知识连成图 不断反思思辨 举一反三并践行 -> 知识采集/知识缝合/技能转换
  • 学习是为了找到方法 学习是为了找到原理 学习是为了了解自己 学习是为了改变自己
    高效沟通 talk和code一样重要
  • 沟通 -> 通讯协议

魔数 0x5f3759df: 平方根倒数速算 浮点数
机器学习: https://time.geekbang.org/column/article/862
git协同工作流: gitflow/githubflow/gitlabflow -> 微服务/soa/devops -> 软件架构/软件开发流程

相关文章

网友评论

    本文标题:tech| 极客时间学习笔记 2

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