Introducing DevOps for Developers


An introduction to DevOps for developers and it’s purpose in software development.

给开发人员介绍 DevOps 及其在软件开发中的作用。

To enter a career in DevOps, it is helpful to have experience in both software development and IT operations. This may include experience with coding and scripting languages, as well as experience with system administration and infrastructure management.

要将 DevOps 作为职业,有软件开发和 IT 运营方面的经验是有帮助的。这可能包括对编码和脚本语言的经验,以及对系统管理和基础架构管理的经验。

Having a strong understanding of collaboration and communication tools and methodologies, such as Agile and lean principles, can be beneficial. It is also important to have a passion for continuous learning and staying up-to-date with the latest technologies and best practices in the field.


Understanding FIRST, tools SECOND. DevOps is a philosophy, not a technology.

阅读全文 »


Part 1: Understanding
Part 2: Improving
Part 3: Planning

Elements of Performance

Why Care About Web Performance

Part 1: Understanding

  • Psychology of performance
  • Measuring performance
  • Interpreting performance data
    阅读全文 »


  • My First “Big” Interview

    • Explain the problem

      讲了个故事,第一次重要面试,题目是在 1000 个文件中找出特定字符串,使用 java 写了 40 分钟,实际可以用grep完成~~

    • The length of knowledge is a measurement of its value
  • What is developer Productivity?

最近面试比较多,常见问题其实也就那么几个,Virtual DOM 与 DOM Diff 算是绕不开的一个,毕竟主流框架为了提高性能,常见策略就是引入 Virtual DOM 与 DOM Diff,二者往往共同存在,这里也写篇文章记录下我当前的理解。
本文大部分内容来自于极客时间,李兵老师的《浏览器工作原理与实践》中 《虚拟 DOM:虚拟 DOM 和实际的 DOM 有何不同?》

阅读全文 »


In object-oriented programming, the decorator pattern is a design pattern that allows behavior to be added to an individual object, dynamically, without affecting the behavior of other objects from the same class –wiki


阅读全文 »



  • Overview

    • JavaScript principles
    • Callbacks & High Order functions
    • Closure
    • Classes/Prototypes & Asynchronicity
  • What to focus on in the workshop?

    • Analytical problem solving
    • Engineering approach
    • Technical communication
    • Non-technical communication
    • JavaScript and programming experience
      阅读全文 »


  • 为什么面试很难

    • 因为技术栈不适合当前公司?
    • 即使编程技能很好但仍会当前公司使用的是不熟悉的技术?
  • 也许是每个人对编程的理解不同

    • 每个工程师对于构建产品或者解决问题的思路可能不同
    • 所以并没有一个类似高考分数的同一标准
  • 3 type of programmers

    1. Programming is math
      • 编程就是算法,操作数字的技术
    2. Programming is for controlling hardware
      • 编程的关键是硬件性能,程序是否足够接近底层以获得更高的性能表现
    3. Programming is for building things
      • 巨大多数人的类型,前端工程师的主要工作
      • 制作产品,用产品与用户沟通,理解规范与浏览器差异来实现功能
  • 3 tribes of programming

    阅读全文 »


  • This is a course for keeping your state manageable when it’s no longer a toy application.

  • In this course, we’ll be working with pure React.

  • So, what are we going to do today?

    • Think deeply about what “state” even means in a React application.
    • Learn a bit about the inner workings of this.setState.
    • How class-based component state and hooks differ.
    • Explore APIs for navigating around prop-drilling.
    • Use reducers for advanced state management.
    • Write our own custom hooks for managing state.
    • Store state in Local Storage.
    • Store state in the URL using query parameters.
    • Fetch state from a server-because that’s a thing.
      阅读全文 »