whoru

学习、分享、交流、沉淀

本文整理自:极客时间微课《如何做好一场技术演讲》

1. 精心准备

1.1. 明确演讲主题

如同架构设计一样,了解需求永远是第一位的,任何脱离需求的架构设计都是耍流氓。

想要开始演讲,首先需要了解听众的诉求,确认下面这些问题:

  • 听众组成?
  • 对要演讲主题的了解程度?
  • 听众想听什么?
  • 演讲能给听众带来什么价值?
  • ……

1.2. 确定演讲主线

  1. Who 自我介绍,让听众了解自己,建立连接;
  2. What&When 今天要分享的主题,通过简短介绍吸引听众的注意力、好奇心;
  3. Why 为什么要做这个架构改造、技术升级,整个项目的背景是什么样的,结合对听众的了解,做特定的介绍;
  4. How 深入浅出 3~4 个最核心的内容点,当然为了全面性,你可以都罗列出来,但介绍的重点建议控制在 3~4 项;
  5. Future 让大家了解你未来的计划,你对技术趋势的看法等;
  6. Recap 对今天的主题再做一个回顾,让听众加深对核心内容记忆。

1.3. 关于 PPT

  • 做一个演讲型(注重体验和创意)的幻灯片,风格保持“简洁、干净、一致、跳脱”。
  • 字体和风格的选择要保持一致性,最好不要用三个以上的颜色。
  • 合理的排版;
  • 合理而有意义的动效(一定不要太多);
  • 页数尽量控制在 15~20 页,可根据实际情况再追加,但一定不要太多;
    • Who 1 页
    • What&When 1~2 页
    • Why 1 页
    • How 展开 3~4 点,每点 2~3 页
    • Future 1 页
    • Recap 1 页
  • 减少大篇幅文字,用最简洁的文字+图表(一图胜千言)来表示;
  • 以 keyword 为指引,适当的临场发挥,切勿照本宣科。
阅读全文 »

本文整理自: 极客时间专栏《朱赟(yūn)的技术管理课》 (微信扫码进入课程)

从给答案到做引导

每次别人向你请教问题,你都有现成的答案或快速找到答案,就会渐渐导致两个问题:

  1. 向你问问题和各种琐事的人越来越多;
  2. 因为你给的是答案,下次如果有类似的问题,别人还会来找你。

那么如何改变呢? 授人以鱼,不如授人以渔。

  • 首先,需要明确什么时候适合直接给答案,什么时候适合给线索,让对方自己找答案。

    可根据问题类型(简单、复杂、常见、不常见等),提问人所处阶段(新人、略有经验、熟手)来决定。

  • 其次,如何引导?

    可以根据对方的问题,提出一些相关的问题,通过问题去引导对方进行深入思考。

  • 最后,引导的好处。

    如果是通过别人的引导,自己摸索出来的,那么他解决类似问题的能力后续就会提升。同时,也会调动他工作的积极性,让其产生一种自己解决来问题的成就感。

阅读全文 »

1. PM2 是什么?

PM2 = Process Manager 2

ADVANCED, PRODUCTION PROCESS MANAGER FOR NODE.JS

PM2 is a daemon process manager that will help you manage and keep your application online 24/7

上面是官网给出的 title,简单来说:它是在后台运行的 Node.js 进程管理器,提供一套针对生产环境运行时的工具集,可以保障你的程序 7 * 24 小时在线。

官网:https://pm2.keymetrics.io

文档:https://pm2.keymetrics.io/docs/usage/quick-start

总结其主要特性如下:

  • 日志管理:应用程序日志保存在服务器的硬盘中 ~/.pm2/logs/
  • 负载均衡:使用 Node cluster 集群模块,可以通过创建共享同一服务器端口的多个子进程来扩展您的应用程序。这样做还允许您以零秒停机时间重新启动应用程序,实现热重载。
  • 终端监控:可以在终端中监控您的应用程序运行状况,包括CPU使用率,使用的内存,请求/分钟等。
  • 自动停止不稳定的进程(避免无限循环)
  • 支持静态服务器功能
  • 提供 HTTP API
阅读全文 »

1. 基本特性

  • 速度快

    • 基于 C 语言开发,源码短小精悍
    • 数据存在内存中
    • 单线程(高性能,因为 Redis 一次只会运行一条命令,应避免在生产环境使用比较耗时的命令。)
  • 支持数据持久化,异步保存到磁盘

  • 丰富的数据结构(key-value):string、list、hash、set、zset

  • 多语言客户端

  • 功能丰富:发布订阅;Lua 脚本;等

  • 简单

    • 核心代码量小
    • 不依赖外部库
    • 单线程模型
  • 支持主从复制

  • 原生高可用和分布式解决方案

    • Redis-Sentinel 高可用 v2.8+
    • Redis-Cluster 分布式 v3.0+
阅读全文 »

Day.js 是一个轻量的 JavaScript 时间日期处理库,与 Moment.js 的 API 设计保持一致。

本文只介绍了一些常用操作,关于国际化、插件、自定义等高级内容详见官方文档。

其主要特性如下:

  • 与 Moment.js 相同的 API 和用法
  • 不可变数据(Immutable)
  • 支持链式操作(Chainable)
  • 只有 2kb 大小(一些高级用法以扩展的形式存在,可按需加载)
  • 全浏览器兼容
  • 强大的国际化支持(I18n)

官网:https://day.js.org/en

Github:https://github.com/iamkun/dayjs

阅读全文 »