左耳听风笔记之一

左耳听风

技术变现

千里之行,基于硅步

关注有价值的东西

  • 了解市场需求
  • 看清技术趋势

高速发展的公司,技术人员的价值最大化

动手能力

关注技术付费点,能帮别人挣钱的

提升自己的能力和精力

找到有价值的信息源

输出观点和价值观

积累有效的朋友圈

新增节点

信息泄露和数据安全

程序已知漏洞

暴力破解密码

代码注入

程序日志泄露密码等信息

社会工程学,员工没有安全意识

公网暴露内部系统

何为技术领导力

社会发现过程

  • 一 野蛮发展
  • 二 资源整合
  • 三 精耕细作
  • 四 发明创造

什么是技术领导力

  • 工业革命

    • 第一次 蒸汽机 机械代替人力
    • 第二次 电力 内燃机
    • 第三次 信息技术革命 计算机
  • 技术领导力

    • 尊重技术,追求核心技术
    • 追逐自动化的高效和技术
    • 解放生产力,追逐人效的提高
    • 开发抽象和高质量的技术组件
    • 坚持高于社会主流的技术和要求

如何拥有技术领导力

  • 能发现问题
  • 能够提供技术问题的思路
  • 能做出正确的决定
  • 能用更简单的方式解决问题
  • 能够提高代码和软件的扩展性和重用性
  • 能够正确的管理团队

技术领导力

  • 扎实的技术基础
  • 高效的学习能力
  • 不断提高自己的要求标准

如何拥有技术领导力

吃透基础技术,基础技术是上层技术的共同基础

一 编程部分

  • C语言,底层交互较多
  • 汇编语言,了解计算机的工作原理
  • 编程范式 ,C语言的,Java的,函数式变成的Python,Erlang
  • 算法和数据结构, 算法是程序设计的有力支撑。通过算法可以有销售的抽象问题,并提高程序的执行效率

二 系统部分

  • 计算机原理

    • CPU 的体系结构( 分支预测、缓存结构、总线、DMA、中断、陷阱、多任务、虚拟内存、虚拟化等
    • 内存的原理与性能特点(SRAM、DRAM、DDR-SDRAM 等)
    • 磁盘的原理(机械硬盘 [盘面、磁头臂、磁头、启停区、寻道等]、固态硬盘 [页映射、块的合并与回收算法、TRIM 指令等])
    • 推荐书籍《深入理解计算机系统》
  • 操作系统原理和基础

    • 进程、进程管理、线程、线程调度、多核的缓存一致性、信号量、物理内存管理、虚拟内存管理、内存分配、文件系统、磁盘管理
    • 学习操作系统 一是要仔细观察和探索当前使用的操作系统,二是要阅读操作系统原理相关的图书,三是要阅读 API 文档(如 man pages 和 MSDN Library)
  • 网络基础

    • 网络层次结构(ISO/OSI 模型、TCP/IP 协议栈),包括物理层、数据链路层(包含错误重发机制)、网络层(包含路由机制)、传输层(包含连接保持机制)、会话层、表示层、应用层(在 TCP/IP 协议栈里,这三层可以并为一层)
    • 《TCP/IP 详解》
    • CP 的滑动窗口限流,完全可以用于分布式服务中的限流方案
  • 数据库原理

    • SQL(基于 B+ 树,强一致性)
    • NoSQL(较弱的一致性,较高的存取效率,基于哈希表或其他技术)
    • 学习了数据库原理之后便能了解数据库访问性能调优的要点,以及保证并发情况下数据操作原子性的方法
  • 分布式技术架构

    • 横向扩展,这样才能提供足够高的性能
    • 学习分布式技术架构,包括负载均衡、DNS 解析、多子域名、无状态应用层、缓存层、数据库分片、容错和恢复机制、Paxos、Map/Reduce 操作、分布式 SQL 数据库一致性(以 Google Cloud Spanner 为代表)等知识点

三 提升学习能力

  • 提高学习能力。所谓学习能力, 就是能够很快地学习新技术,又能在关键技术上深入的能力

  • 学习的信息源 Google Quora

  • 与高手交流

    • 参加 开源会议
    • 技术社区
  • 举一反三的思考

  • 不怕困难的态度

  • 开放的心态

四 坚持做正确的事

  • 做正确的事,比用正确的方式做事更重要,因为这样才始终会向目的地靠拢
  • 提高效率的事
  • 自动化的事
  • 掌握前沿技术的事
  • 知识密集型的事
  • 技术驱动的事

五 高标准要求自己

  • 只有不断地提高标准 ,你才可能越走越高,所以,要以高标准要求自己,不断地反思、总结和审视自己,才能够提升自己

  • Google 的自我评分卡

  • 敏锐的技术嗅觉

  • 强调实践,学以致用

    • 学习知识,一定要实际用一用,可以是工作中的项目,也可以是自己的项目,不仅有利于吸收理解,更有利于深入到技术的本质
  • Lead by Example

    • 永远在编程。不写代码,你就对技术细节不敏感,你无法做出可以实践的技术决策和方案。

每个程序员都该知道的知识

每个程序员都应该要读的书

  • 《代码大全》
  • 程序员修练之道
  • 计算机的构造和解释
  • 算法导论
  • 设计模式
  • 重构
  • 人月神话
  • 代码整洁之道

Docker和新技术

对Go的体会

  • 语言简单,上手快
  • 并行和异步编程几乎无痛点
  • Go 语言的 lib 库“麻雀虽小,五脏俱全
  • C 语言的理念和 Python 的姿态

新技术发展起来的要素

  • 有没有一个比较好的社区
  • 有没有一个工业化的标准
  • 有没有一个或多个杀手级应用
  • 学习难度是否低,上手是否快
  • 有没有一个不错的提高开发效率的开发框架
  • 是否有一个或多个巨型的技术公司作为后盾
  • 有没有解决软件开发中的痛点

PaaS 层解决的问题

  • 软件生产线的问题
  • 分布式服务化的问题
  • 提高服务的可用性 SLA
  • 软件能力的复用

早点进入新技术

  • 技术的发展过程非常重要
  • 这些关键新技术,可以让你提前抢占技术的先机

XMind: ZEN - Trial Version

posted on 2020-11-30 23:40  王守昌  阅读(150)  评论(0编辑  收藏  举报

导航