Django - 通往 Hacker 之路

通往 Hacker 之路

  • 如何更高效地寻求帮助?
  • Hacker 的成长之路

如何更高效地寻求帮助?

举几个栗子

  • 怎么样创建 Django 项目?
  • 为什么我的 k8s 应用部署不成功?
  • Python 里面怎么样读取环境变量?
    请求帮助

如何寻求帮助?

  1. 判断问题的类别,对于这个问题,只需要快速解决,还需要系统化了解背后的原理
  2. 如果是对自己非常重要的领域,先系统化了解相关知识(帮助文档,官方文档,书籍等)
  3. 如果不需要系统化了解,只需要快速解决,使用 Google 搜索问题
  4. 如果 Google 找不到答案,查阅帮助文档,看能否找到 (特别是帮助文档中的 FAQ)
  5. 仍然找不到答案,社区、群里提问;开源社区、论坛;身边同事朋友,行业内的专家
  6. 清晰描述你的问题:什么环境下出现的,贴出来代码,错误信息,期望的结果
  7. 问题解决,或者没有解决,都对回复者做一个回复

自助解决问题的方案

  • 查阅软件 / 程序自带的帮助文档
  • man 命令
  • tldr 工具:pip install tldr
  • Google & Baidu
  • 软件调试
  • 习惯 Google 带来的问题:不知道使用什么关键词进行搜索(建议减少 Google 的使用)

Hacker 的成长之路

什么是 Hacker?

  • 对技术有热情,不断创造和建设的人们

Hacker 应有的态度

  1. 这个世界充满了令人着迷的问题等着我们解决。
  2. 一个问题不应该被解决两次。
  3. 无聊和乏味的工作是罪恶。
  4. 崇尚自由。
  5. 态度不能替代能力。

如何成为 Hacker

To follow the path:(沿着这样一条道路)

  • look to the master,(寻找大师,)
  • follow the master,(跟随大师,)
  • walk with the master,(与大师同行,)
  • see through the master,(洞察大师,)
  • become the master.(成为大师。)

学习之道

  • 刻意练习,做自己用的产品
    • 难度合适的目标
    • 解决实际问题 - 有反馈
    • 持续,有意识的练习
  • 黑客与画家的共同点:不断反复地练习,犯错
  • 快速学习:花 20% 的时间学习到 80% 的知识
  • 使用 5whys 方法,跟自己不断提问,找到本质
  • 在实践中学习,做自己用的产品
    • 不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之;学至于行之而止矣
    • hear and I forget. I see and I remember. I do and I understand
  • 分享 – 通过教会别人来学习,能够清晰地讲出来,才是真正的掌握
  • 学习金字塔 - 分享是最好的学习方法
  • 使用不同的分享方式
    学习金字塔

推荐资料和学习建议

学习建议

  • 做自己用的产品
  • 使用 Google 搜索资料
  • 养成阅读英文资料的习惯,阅读领域开创者的论文和书籍(可以通过 Google/Widipedia 查到)

推荐资料

  • Django 官方文档
  • Mozilla 文档
  • 如何成为一名黑客
  • 《The Pragmatic Programmer 程序员修炼之道》
  • 《Kubernetes in Action 中文版》 - 七牛容器云团队反馈
  • 《黑客与画家》 Paul Graham
  • 《启示录 - 打造用户喜爱的产品 》 Martin Cagan
  • 《The Lean Startup 精益创业》 Eric Ries