02__大厦基石:无生有,有生万物

你好,我是七牛云许式伟。

在上一篇中,我们把“构建一个应用程序”类比成“构建一座大厦”,并从宏观全局的视角剖析了应用程序这座大厦的构成。今天,我们将更加近距离地去解剖这座大厦的地基:冯·诺依曼体系结构。

02__到底该怎么理解工作与薪资的关系?

你好,我是乔新亮。今天,我想和你聊聊关于工作状态和薪资报酬的问题。

为什么要聊这个话题呢?在第一讲中,我们聊到每五年就要登上一个职业生涯的新台阶,很多同学觉得这很难。我必须得说,确实不容易。至少,很多人都还不具备快速成长的先决条件:一个良好的工作状态。

02__第一个程序:教你输出彩色的文字

你好,我是胡光。从今天开始,我将带你正式进入 C 语言的编程世界。我们总会听到这样一种说法:兴趣是最好的老师。引起你对编程的兴趣,就是今天这讲的目的。如果你之前对于 C 语言的认知还停留在黑白纯色阶段的话,今天就让我们一起来进入一个彩色的 C 语言世界,来,跟我一起给它点儿颜色!

02__方法论:没有任何文档,怎么才能快速了解接口的信息?

你好,我是陈磊。

我相信在学习完上一节课后,你已经明白了接口测试是在测什么,我们为什么需要做接口测试。那么,当你面对一个接口测试任务的时候,你知道该如何开始吗?其实,任何事情从 0 到 1 都是一个门槛,你只要跨过这个门槛,后面就会一马平川。今天我就来告诉你,如何开始接口测试,让你面对一个项目不再束手无策,也不再面露难色。

02__非线性结构检索:数据频繁变化的情况下,如何高效检索?

你好,我是陈东。

当我们在电脑中查找文件的时候,我们一般习惯先打开相应的磁盘,再打开文件夹以及子文件夹,最后找到我们需要的文件。这其实就是一个检索路径。如果把所有的文件展开,这个查找路径其实是一个树状结构,也就是一个非线性结构,而不是一个所有文件平铺排列的线性结构。

02__分布式系统的指标:啥是分布式的三围

你好,我是聂鹏程。

在上一篇文章中,通过对分布式发展历程的学习,我们对分布式技术有了一个整体印象。接下来,我们就再来看看可以用哪些指标去具体地衡量一个分布式系统。如果你已经对分布式系统的指标了解得很清楚了,可以直接跳过这篇文章,学习下一讲的内容。

02__分离关注点:软件设计至关重要的第一步

你好!我是郑晔。

上一讲我们讲了软件开发就是在解决问题。那问题一般是如何解决的呢?最常见的解决问题思路是分而治之,也就是说,我们要先把问题拆分开。在每个问题都得到解决之后,再把这些解决好的子问题以恰当的方式组装起来。如何分解与组合,就是我们要在软件设计中考虑的问题。

02__该如何选择消息队列?

你好,我是李玥。这节课我们来聊一下几个比较常见的开源的消息队列中间件。如果你正在做消息队列技术选型,不知道该选择哪款消息队列,你一定要先听一下这节课的内容。

02__工程思维:把每件事都当作一个项目来推进

你好,我是宝玉。我今天分享的主题是:掌握工程思维,把每件事都当作一个工程项目来推进。

我大学学的是软件工程专业,毕业十多年后再回顾当年学的专业课,好多专业概念已经记忆模糊,唯有对一位老师的教诲记忆深刻,对我毕业后的职业生涯影响深远:

02__关键概念:性能指标和场景的确定

你好,我是高楼。

上节课我们把性能从“测试”引到了“工程”级别。接下来,我们要理一理工程级别中几个重要的概念,包括:

  1. 性能需求指标;
  2. 性能场景;
  3. 性能分析决策树;
  4. 查找性能瓶颈证据链。

这些概念贯穿整个性能工程,有了它们,我们就不会在性能项目中迷失方向。为什么这么说呢?接下来的课程里,我会给你一一分析。

02__硅谷的产品经理是什么样子的?

硅谷的产品经理热

如果你问斯坦福大学的大四学生,竞争最激烈的工作是什么?他们的答案已经不是投资银行分析师,或者麦肯锡的咨询顾问,也不是谷歌的工程师,而是:产品经理。

02__函数即对象:一篇文章彻底搞懂JavaScript的函数特点

你好,我是李兵。这是我们专栏的第二讲,我们来看下“函数是一等公民”背后的含义。

如果你熟悉了一门其他流行语言,再来使用 JavaScript,那么 JavaScript 中的函数可能会给你造成一些误解,比如在 JavaScript 中,你可以将一个函数赋值给一个变量,还可以将函数作为一个参数传递给另外一个函数,甚至可以使得一个函数返回另外一个函数,这在一些主流语言中都很难实现。

02__基本概念:线性代数研究的到底是什么问题?

你好,我是朱维刚。欢迎你跟我学习线性代数。今天我们要讲的是“线性代数这门课的基本概念”。

线性代数可以运用在很多领域,比如:工程学、计算机科学、经济学、信号处理等等。我们来看一个在经济学中常见的例子:消费矩阵。

02__基础架构:etcd一个读请求是如何执行的?

你好,我是唐聪。

在上一讲中,我和你分享了 etcd 的前世今生,同时也为你重点介绍了 etcd v2 的不足之处,以及我们现在广泛使用 etcd v3 的原因。

今天,我想跟你介绍一下 etcd v3 的基础架构,让你从整体上对 etcd 有一个初步的了解,心中能构筑起一幅 etcd 模块全景图。这样,在你遇到诸如“Kubernetes 在执行 kubectl get pod 时,etcd 如何获取到最新的数据返回给 APIServer?”等流程架构问题时,就能知道各个模块由上至下是如何紧密协作的。

02__架构分层:我们为什么一定要这么做?

在系统从 0 到 1 的阶段,为了让系统快速上线,我们通常是不考虑分层的。但是随着业务越来越复杂,大量的代码纠缠在一起,会出现逻辑不清晰、各模块相互依赖、代码扩展性差、改动一处就牵一发而动全身等问题。

02__交互设计师可以被产品经理替代吗?

你好,我是炒炒。

上一讲,我们通过对用户体验的拆分,分解了用户吐槽体验不好的原因。但是,用户的问题只占据了体验设计师日常中的一部分,除了与外部沟通,大多数时间设计师还要和内部交流。

02__经理权:如何有效使用经理权?

你好,我是许健。今天我要跟你聊一聊,怎样来使用经理权的问题。

上一节课中我们介绍了领导力的 5 个层次和获得领导力的重要方法——信任,今天我就和你谈谈其中最低层次的领导力,也就是用“职位”来领导。

02__拒绝焦虑状态:TA到底爱我吗?

你好,我是李一帆。

在我做情感咨询的这么多年里,你猜一下,我被问的最多的一个问题是什么?这个问题就是:“老师,你觉得 Ta 到底喜不喜欢我?”或者,“Ta 到底爱不爱我?”

02__老生常谈:你真的知道敏捷到底是什么吗?

你好,我是宋宁。今天这节课我要给你讲一下到底什么是敏捷。

当谈到敏捷时,大家往往是仁者见仁,智者见智,有各种不同的理解。然而这里面,有不少是对敏捷的误解,比如在我平时的咨询过程中,会听到一些团队成员这样说敏捷:

02__列一份前端知识架构图

你好,我是 winter(加微信:642945106 发送“赠送”领取赠送精品课程 发数字“2”获取众筹列表。)。

在上一篇文章中,我们简要地总结了前端的学习路径与方法,我们提到的第一个学习方法就是:建立知识框架。那么,今天我们就一起来列一份前端的知识框架图。

02__领域、子域、核心域、通用域和支撑域:傻傻分不清?

你好,我是欧创新。

DDD 的知识体系提出了很多的名词,像:领域、子域、核心域、通用域、支撑域、限界上下文、聚合、聚合根、实体、值对象等等,非常多。这些名词,都是关键概念,但它们实在有些晦涩难懂,可能导致你还没开始实践 DDD 就打起了退堂鼓。因此,在基础篇中,我希望能带着你一起做好实践前的准备工作。

02__流量大、数据多的商品详情页系统该如何设计?

你好,我是李玥。

今天这节课我们看一下,如何设计一个快速、可靠的存储架构支撑商品系统。

相对于上节课提到的订单系统,电商的商品系统主要功能就是增删改查商品信息,没有很复杂的业务逻辑,支撑的主要页面就是商品详情页(下文简称:商详)。不过,设计这个系统的存储,你仍然需要着重考虑两个方面的问题。

02__命令源码文件

我们已经知道,环境变量 GOPATH 指向的是一个或多个工作区,每个工作区中都会有以代码包为基本组织形式的源码文件。

这里的源码文件又分为三种,即:命令源码文件、库源码文件和测试源码文件,它们都有着不同的用途和编写规则。( 我在“预习篇”的基础知识图介绍过这三种文件的基本情况。)

02__内存池:如何提升内存分配的效率?

你好,我是陶辉。

上一讲我们提到,高频地命中 CPU 缓存可以提升性能。这一讲我们把关注点从 CPU 转移到内存,看看如何提升内存分配的效率。

或许有同学会认为,我又不写底层框架,内存分配也依赖虚拟机,并不需要应用开发者了解。如果你也这么认为,我们不妨看看这个例子:在 Linux 系统中,用 Xmx 设置 JVM 的最大堆内存为 8GB,但在近百个并发线程下,观察到 Java 进程占用了 14GB 的内存。为什么会这样呢?

02__人物:如何画出引人注目的主角?

你好,我是高伟。准备好纸和笔了吗?让我们一起来学习视觉笔记。

这一节课我们来学习“人物”这个视觉元素。有的课程会把人物的绘画放在教程中比较靠后的位置,因为人物在视觉呈现里其实是比较难画的一种元素。

02__日志(上):日志究竟是如何加载日志段的?

你好,我是胡夕。今天我来讲讲 Kafka 源码的日志(Log)对象。

上节课,我们学习了日志段部分的源码,你可以认为,日志是日志段的容器,里面定义了很多管理日志段的操作。坦率地说,如果看 Kafka 源码却不看 Log,就跟你买了这门课却不知道作者是谁一样。在我看来,Log 对象是 Kafka 源码(特别是 Broker 端)最核心的部分,没有之一。

02__容量测试与验证:怎样科学实施容量测试?

你好,我是吴骏龙。今天我会和你分享容量测试与验证的话题。

相对于性能测试和压力测试这些耳熟能详的名词,“容量测试”这个词也许你是第一次听到。在百度、Google 上一搜,结果倒是不少,但很多解释过于陈旧,并没有跟上互联网的发展速度。比如:

02__如何才能做好动静分离?有哪些方案可选?

上一篇文章中,我介绍了秒杀系统在架构上要考虑的几个原则,我估计你很快就会问:“知易行难,这些原则应该怎么应用到系统中呢?”别急,从这篇文章开始,我就会逐一介绍秒杀系统的各个关键环节中涉及的关键技术。

02__如何锤炼你的产品创意

你好,我是邱岳,今天我要和你分享的主题是:如何锤炼产品创意。

在充分收集信息、了解领域知识和市场情况之后,在开始投入资源进行产品设计和研发之前,我们需要做个简单的推演。这是锤炼自己产品创意的第一步,无论产品形式,都应该有这个过程。

02__如何发现并纠正文章语病?

你好,我是曹倩芸。在开始本节课程之前,我想让你先看看以下三个例子,并基于你已有的文学素养和基础,判断一下它们的结构是否存在问题?或者说,在你看来,它们是否是病句呢?

02__如何判断产品体验的商业化潜能?

你好,我是相辉。

在我过去十几年的咨询工作中,经常会遇到一个问题:面对五花八门的用户需求,到底哪一个才是具有商业化潜能,需要我们集中兵力去做的?

因为并不是所有的业务方向都能帮助企业成长发展,作为商业顾问,我需要确定该需求最终能够成为一个正向现金流的循环,它可以逐渐自转起来,从而帮企业实现盈利。