程序员读书笔记

发展方向

  1. 技术+管理
  2. 技术+管理+商业
  3. 趋势:
    • 全栈是现在的趋势
    • 标准化是未来的趋势

技术三阶段

实现

  1. 概括:
    • 只在乎功能实现,
    • 持续2-3年,
    • 什么不会就做什么,后端、前端、服务器等都要有了解
  2. 方法:
    • 科学的学习方法

借鉴

  1. 概括:
    • 自己发展的第一个瓶颈:
    • 多借鉴其他人代码,看开源程序源码
    • 持续1-2年,
    • 看到开源程序感觉看不出新的思路了,就ok
  2. 方法:
    • 学会分析程序:

优化

  1. 概括:
    • 考虑代码的:
      • 可读性
      • 安全性
      • 可扩展性
      • 服务器的优化:安全+高并发
        • 高并发:
          • 数据库优化
          • 使用缓存
          • 使用队列:减少服务器负载,不会宕机,只是用户等待时间增长
          • 搭建分布式环境
          • 压缩文件
          • 使用云计算
          • 并发测试
    • 需要:
      • 设计模式
      • 编程思想
      • 网络安全

学习方法

  1. 大脑发展过程
    • 脑干:
      • 脑部分最原始的部分,爬虫类脑
      • 指挥人体的四肢和器官执行基本的功能
    • 缘脑:
      • 比脑干更先进一点的部分,哺乳类脑
      • 对陌生信息有阻碍作用
    • 大脑皮层:
      • 人类特有的脑部分区
  2. 接收信息过程
    • 接收信息,缘脑进行过滤(与已有的知识储备进行比较),
      • 说服缘脑:
        • 宏观定位:与以前的知识关联
        • 整体了解:知道将做什么
    • 进入大脑,开始学习:
      • 理解
      • 记忆
        • 左脑:
          • 长大后,多习惯左脑,记忆能力差
          • 逻辑,语言数字,次序,因果,线性分析
          • 左脑思维:分析思维
        • 右脑:
          • 小时候,多习惯右脑,记忆能力强
          • 图像,节奏,幻想,白日梦,色彩,空间感,全貌
          • 右脑思维:想象力+创造力
        • 利用:
          • 记忆过程:
            • 阅读(10%)
            • 听取(20%)
            • 看图(30%)
            • 边听边看(50%)
            • 讲给他人听(70%)
            • 实际运用一次(90%)
          • 编程抽象化
          • 调动自己的右脑:瀑布练习(休息时候想象瀑布等,训练自己的感官)
          • 借助眼球运动,激活大脑分区:
            • 眼球右上运动,激活大脑的想象力
            • 眼球左上方转动,激活回忆
            • 眼球左转与耳朵平齐,回忆听觉
            • 眼球右转与耳朵平齐,想象听觉
            • 眼球左下角转动,比如自言自语,打电话的时候
            • 眼球右下方转动,触觉,比如情绪低落的时候,
      • 练习-有平台期
        1. 不知己不能:不知道自己不会开车
        2. 知己不能之:发现自己确实不会开车
        3. 知己己能之:开车时候必须专心开车
        4. 不知己能之:开车时候可以随心所欲

万变不离其宗

  1. 特定技术
    • 前端、后端、移动开发
    • 缓存、效率、优化
    • 项目管理、业务分析能力
  2. 多方向和语言
    • 无外乎:变量、常量定义,顺序条件循环结构、函数、
    • 面向对象:封装、继承、多态、重载、覆盖、抽象、静态
  3. 基础和核心
    • 操作系统原理、计算机组成原理
    • 计算机网络
    • 数据结构、算法

工具

  1. xmind
    • 估算时间
  2. trello看板
    • 灵活使用,不建议加班
    • 标记不同任务状态
  3. 番茄工作法
    • 时间管理的方法:
    • 人的注意力天生就是分散的,注意力集中半小时以上就开始疲倦
    • 一个番茄时间 = 做事25分钟+休息5分钟,
      • 25分钟没有特殊情况不允许打扰,坚持25分钟
      • 一次没有25分钟,即为作废
    • 每天工作效率通过计算“番茄”个数

团队精神

  1. 认可
    • 少说不,多说好
  2. 乐观
    • 程序员大多内向,需要技术总管给予大家自信
  3. 关怀
    • 主管需要知道每个人的困难,了解每个人的需求
  4. 跟我冲
    • 做好带头模范
  5. 不专制
    • 自下而上的氛围
  6. 产品心态
    • 程序开发两种心态:
      • 外包心态:按要求按部就班,不注重可读性、扩展性、安全性等
      • 产品心态:会站在用户的角度,积极反馈产品问题
  7. 批判性思维讨论问题
    • 不要做谬论,也就是找极端理由,来使人信服。
  8. 不等待、不欺骗
    • 引导大家坦诚,做完事情了可以在站立会议上说,自己做完了,可以鼓励大家完成任务后,利用时间学习
  9. 解决问题的心态
    • 有问题,不推卸责任
  10. 换位思考
    • 程序员不能瞧不起项目经理~

人生

认识困难

  1. 把困难看小,把前进看大
    • 人很主观,认为困难很大,困难就真的很大,so。。。
  2. 有失必有得
    -
  3. 提高挫折商
    • AQ(Adversity Quotient)
    • 衡量指标:
      • 控制Control:面对困难把握局面的能力,C低的人会觉得大势已去
      • 归因Ownership:分析挫折的原因
      • 延伸Reach:不要将挫折的恶果泛化到其他方面,高R的人能够控制特定的范围,很少泛化
      • 忍耐Endurance:高E的人,认为困难总是暂时的,就坚持一下就好
  4. 抓住重要的事,学会放下
  5. 程序员思维
    • 不要太保守,学会放开思维

      认识潜意识

  6. 后天形成的潜意识
  7. 先天形成的潜意识
    • 心里默念:放松~~
  8. 人类的三层意识模型
    • 意识5%
    • 后天潜意识
    • 先天潜意识
  9. 心理暗示
  10. 不断改变自己的潜意识

认识本体

  1. 向内寻找:
    • 程序员是一群善于思考的人,或多或少都会思考过人生
  2. 感悟本体
thank you for donating~