03__揪出隐藏在背后的那些子项目
你好,我是温铭。
我们先来揭晓上一节最后留下的思考题,如何把 Lua 代码从 nginx.conf 里面抽取出来,保持代码的可读性和可维护性呢?
操作其实很简单。
我们先在 geektime 的工作目录下,创建一个名为 lua 的目录,专门用来存放代码:
你好,我是温铭。
我们先来揭晓上一节最后留下的思考题,如何把 Lua 代码从 nginx.conf 里面抽取出来,保持代码的可读性和可维护性呢?
操作其实很简单。
我们先在 geektime 的工作目录下,创建一个名为 lua 的目录,专门用来存放代码:
你好,我是朱维刚。欢迎你继续跟我学习线性代数,今天我们要讲的内容是“矩阵”。
在开始学习之前,我想先问你个问题,你觉得,学习矩阵有什么用呢?你可以先自己想一想。之后我们讲任何一个知识的时候,你都可以从这个角度出发,自己先思考一下,这样有助于你对所学内容理解得更深刻。
你好,我是乔新亮。“本质”这个词现在已经烂大街了,我看很多的公众号文章,动不动就说本质、底层原理,这也侧面说明我们每个人面对复杂问题时的心态:我们想直击问题的关键点,找到问题背后的本质。
其实对于不同的公司来说,产品经理的定义可能会差非常多。在科技巨头当一个产品经理,和在一个刚刚成立的小公司做,需要的技能和要求其实非常不一样。
像谷歌、Facebook 这样的公司,至少有几百个产品经理,上万名员工,一般每一个技能都会有专门的人来对应,而且划分地非常细。
你好!我是郑晔。
上一讲,我们讲了软件设计的第一步:分离关注点。作为至关重要的第一步,分离关注点常常被人忽略,严重影响了设计的有效性。这一讲,我们再来看另一个经常被很多人忽视的因素:可测试性。
你好,我是王庆友,今天我和你聊一聊如何打造可扩展的架构。
在实际工作中,业务需求总在不断变化,因此,你经常会面临以下这些问题:
对于新的需求变化,我们一方面要快快搞定,另一方面要稳稳接住。但问题是软件虽然姓“软”,但也不是想变就能变,如果事先没有经过良好的设计,调整起来,往往牵一发动全身,导致系统到处出问题。
你已经使用过 Go 语言编写了小命令(或者说微型程序)吗?
当你在编写“Hello, world”的时候,一个源码文件就足够了,虽然这种小玩意儿没什么用,最多能给你一点点莫名的成就感。如果你对这一点点并不满足,别着急,跟着学,我肯定你也可以写出很厉害的程序。
你好,我是许健。
前面我们聊了领导力和经理权。基本问题我们现在理清楚了,今天我们来聊聊一个合格经理人应有的 4 个待人处事原则。
事实上,很多性格不同的人能够胜任同样的工作,但是千千万万的“领导特质”总有一些共性的内容。我不敢说自己是成功的领导者,这里我更多的是基于自己这么多年的管理经验,总结的一些经理人普遍具有的优秀特质。
你好,我是袁武林。
我在前面第一篇文章中,从使用场景的需求方面,讲到了 IM 系统的几个比较重要的特性。其中之一就是“消息到达的实时性”。
实时性场景是所有的 IM 系统绕不开的话题,为了支持互联网的“实时互联”的概念,大部分的 App 都需要实时技术的支持。
说到 A/B 测试,不论你是工程师、数据科学家、还是产品经理,应该对这个概念都不陌生。
简单来说,A/B 测试是一种数据分析手段,它可以对产品特性、设计、市场、营销等方面进行受控实验。在实验中,数据样本被分到两个“桶”中,分别加以不同的控制和处理,然后对采集回来的信息进行对比分析。
你好,我是白海飞。今天的主题是“面试官的面试逻辑”。在上一篇,我介绍了招聘的全过程,以便让你做到心中有数。今天我们聚焦在面试环节,仔细看一下面试官是如何考查应聘者能力的。
在上一节课中,我们讲到,要具备编写高质量代码的能力,你需要学习一些编程方法论,其中就包含面向对象(我们可以把它看成一种设计思想)、设计原则、设计模式、编程规范、重构技巧等。而我们整个专栏的内容也是围绕着这几块展开讲解的。所以,今天我就先来简单介绍一下这几个概念,并且说一说它们之间的联系。
也许你早就决定做一名管理者,又或者你刚刚有这个打算,不管哪种情况,你是否已经和你的上级交流过这个问题呢?在我调研过的几百位新经理中,只有百分之十几的比例和上级表达过管理意愿,而我自己培养的几十位新经理中,明确表示自己想做管理的,大约只有 20% 左右,这个比例很低。虽然我可能没法立刻满足他们,但在有合适岗位的时候,我的确会优先考虑他们,因为对于做管理来说,个人意愿很重要。
在写今天这篇文章前,我又翻了翻三年前我在 WeMobileDev 公众号写过的《Android 内存优化杂谈》,今天再看,对里面的一句话更有感触:“我们并不能将内存优化中用到的所有技巧都一一说明,而且随着 Android 版本的更替,可能很多方法都会变的过时”。
你好,我是炒炒。
作为设计师,在工作中,免不了要讨论需求或者设计方案。但是,这种讨论参加的多了,慢慢地,我就发现了一个问题,就是我经常能听到下面这样的话:
在平时的生活中,我们几乎时时刻刻都在使用操作系统,只是大部分时间你都意识不到它的存在。比如你买了一部手机或者一台平板电脑,立马就能上手使用,这是因为它们里面都预先安装了操作系统。
你好,我是胡光,咱们又见面了。不知道上一讲的内容,你自己做练习了么?你是否还觉得 C 语言枯燥无味呢?不管你有没有练习,我都还要啰嗦下,学习编程,就像是学骑自行车,你只看别人怎么骑,你只看自行车的原理,那永远也不可能学会骑自行车,对于你来说,唯一的捷径就是多练习,多思考。在上一讲小试牛刀之后,今天我将带你领略一下算法和逻辑层面的小惊喜。
你好,我是宋宁。从今天这一讲起,我要给你讲一下具体怎么推进敏捷,并结合案例,通过四讲来介绍推进敏捷所涉及的评估诊断、团队敏捷试点、大规模推广这三大步骤。今天,我们先来看推进敏捷的第一步:评估诊断。
你好,我是宝玉,我今天分享的主题是:瀑布模型,像工厂流水线一样把软件开发分层化。
可以这么说:**瀑布模型算是现代软件工程的起源,软件工程的发展,很大部分都是构建于瀑布模型的基础之上的。**我们后面所学的软件工程的很多内容,都是源自瀑布模型的衍生,或者其中某个阶段的细分。
你好,我是胡夕。上节课,我们一起了解了日志加载日志段的过程。今天,我会继续带你学习 Log 源码,给你介绍 Log 对象的常见操作。
我一般习惯把 Log 的常见操作分为 4 大部分。
你好,我是吴骏龙。今天咱们多聊聊干货,我会与你分享和解答容量指标分析的几个经典问题。
有名言道“数据是钢,分析是铸造”,容量指标只是摆在桌面上的数据而已,要让这些数据产生价值,需要通过分析挖掘出背后深藏的容量隐患。如果能练就一双火眼金睛,从这些纷繁复杂的指标中快速识别出潜在的容量隐患,就能最大程度上规避可能发生的容量事故。你不仅将成为一名高手,还能为公司创造巨大的价值。
你好,我是黄勇。在正式探讨今天的话题之前,我想先来请你思考几个问题:在企业中应该如何实施 OKR?从哪个层面实施比较好呢?是给老板和高管使用?还是给部门负责人使用?或者让全体员工都使用?
你好,我是陈航。
今天,我会从跨平台开发方案的诞生背景、原理和发展历史的角度,和你聊聊这些常见的开发方案,以及针对不同的场景我们应该如何选择对应的方案。
今天我要跟你分享的主题是单元测试,如果你没有开发背景,感觉这篇文章理解起来有难度,那你可以在学完后续的“代码级测试”系列的文章后,再回过头来看一遍这篇文章,相信你会有醍醐灌顶的感觉。
你好,我是月影。今天,我们来讲 SVG。
SVG 的全称是 Scalable Vector Graphics,可缩放矢量图,它是浏览器支持的一种基于 XML 语法的图像格式。
对于前端工程师来说,使用 SVG 的门槛很低。因为描述 SVG 的 XML 语言本身和 HTML 非常接近,都是由标签 + 属性构成的,而且浏览器的 CSS、JavaScript 都能够正常作用于 SVG 元素。这让我们在操作 SVG 时,没什么特别大的难度。甚至,我们可以认为,SVG 就是 HTML 的增强版。
你好,我是雷蓓蓓。在上一讲中,我给你介绍了项目管理的十大知识领域,今天,我会接着来讲五大过程组。同时,我还会结合在网易的项目实战经验,给你分享一下我对互联网项目管理的理解。
提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转 100 块钱,而此时你的银行卡只有 100 块钱。
转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的,不然等程序查完之后,还没做减法之前,你这 100 块钱,完全可以借着这个时间差再查一次,然后再给另外一个朋友转账,如果银行这么整,不就乱了么?这时就要用到“事务”这个概念了。
你好,我是王新栋。
在上一讲,我从为什么需要授权码这个问题开始,为你串了一遍授权码许可流程整体的通信过程。在接下来的三讲中,我会着重为你讲解关于授权服务的工作流程、授权过程中的令牌,以及如何接入 OAuth 2.0。这样一来,你就可以吃透授权码许可这一最经典、最完备、最常用的授权流程了,以后再处理授权相关的逻辑就更得心应手了。现在呢,让我们开始这一讲。
你好,我是郭忆。
在上一讲中,我带你了解了什么样的企业适合建数据中台,可能有的同学会说:你可真的戳中我了,我们现在就面临这个问题,可是知道要转型,要建设数据中台,却不知道要咋做,怎么办呢?
你好,我是陈磊。
在前面的课程中,我们聊到了如何开始一个接口测试,我相信你一定掌握了整个过程的推进方法,这包括如何分析一个不理想的提测项目的接口,并在自己的能力范围内完善和维护接口文档,最终设计一个流程化接口测试用例。
你好,我是陶辉。
上一讲我们谈到,Ptmalloc2 为子线程预分配了 64MB 内存池,虽然增大了内存消耗,但却加快了分配速度,这就是以空间换时间的思想。
在内存有限的单片机上运行嵌入式程序时,我们会压缩数据的空间占用,以时间换空间;但在面向海量用户的分布式服务中,使用更多的空间建立索引,换取更短的查询时间,则是我们管理大数据的常用手段。
你好,我是相辉。
在前面的两讲中,我们了解了商业阶段和商业化价值对于体验设计策略的影响。那么接下来最重要的,就是为体验设计构建模型了。利用体验设计的模型,可以帮助我们理解用户体验是如何构成的,进而帮我们寻找到产品体验的规律,定位体验问题,优化和改进产品。
“性能”这个词,不管是在日常生活还是写程序的时候,都经常被提到。比方说,买新电脑的时候,我们会说“原来的电脑性能跟不上了”;写程序的时候,我们会说,“这个程序性能需要优化一下”。那么,你有没有想过,我们常常挂在嘴边的“性能”到底指的是什么呢?我们能不能给性能下一个明确的定义,然后来进行准确的比较呢?
你好,我是郭朝斌。
在上一讲中,我为你介绍了物联网设备常用的几种无线通信技术。通过这些技术联网之后,物联网设备就可以向云平台上报数据了吗?还不可以。
你好,我是四火。
相信你在学习了第 02 讲的面试计划之后,心中对于它已经有了更深入的理解。
我们在面试计划中,谈到了规划合适的面试内容,来帮助我们获取面试重点所对应的数据。而在技术面试中,技术问题就是这个面试内容的直接体现。
提到互联网系统设计,你可能听到最多的词儿就是“三高”,也就是“高并发”“高性能”“高可用”,它们是互联网系统架构设计永恒的主题。在前两节课中,我带你了解了高并发系统设计的含义,意义以及分层设计原则,接下来,我想带你整体了解一下高并发系统设计的目标,然后在此基础上,进入我们今天的话题:如何提升系统的性能?
你好,我是朱晔。今天,我来讲讲使用线程池需要注意的一些问题。
在程序中,我们会用各种池化技术来缓存创建昂贵的对象,比如线程池、连接池、内存池。一般是预先创建一些对象放入池中,使用的时候直接取出使用,用完归还以便复用,还会通过一定的策略调整池中缓存对象的数量,实现池的动态伸缩。
你好,我是欧创新。今天我们重点学习“限界上下文”。
在 DDD 领域建模和系统建设过程中,有很多的参与者,包括领域专家、产品经理、项目经理、架构师、开发经理和测试经理等。对同样的领域知识,不同的参与角色可能会有不同的理解,那大家交流起来就会有障碍,怎么办呢?因此,在 DDD 中就出现了“通用语言”和“限界上下文”这两个重要的概念。
你好,我是李玥。这节课我们来学习消息队列中像队列、主题、分区等基础概念。这些基础的概念,就像我们学习一门编程语言中的基础语法一样,你只有搞清楚它们,才能进行后续的学习。
你好,我是葛俊。今天,我来和你聊聊如何正确使用效能度量。
在上一篇文章,我给你介绍了效能度量的定义、作用,以及几个使用误区。我们先简单回顾一下:
正是因为这种种看似难以解决的问题,业界甚至有人认为研发效能的度量是一个无解的问题。但我并不这样认为。如果使用得当,效能度量可以给公司的研发带来非常大的好处。