25__实战二(上):针对非业务的通用框架开发,如何做需求分析和设计?

上两节课中,我们讲了如何针对一个业务系统做需求分析、设计和实现,并且通过一个积分兑换系统的开发,实践了之前学过的一些设计原则。接下来的两节课,我们再结合一个支持各种统计规则的性能计数器项目,学习针对一个非业务的通用框架开发,如何来做需求分析、设计和实现,同时学习如何灵活应用各种设计原则。

25__使用阻塞I_O和进程模型:最传统的方式

你好,我是盛延敏,这里是网络编程实战第 25 讲,欢迎回来。

上一讲中,我们讲到了 C10K 问题,并引入了解决 C10K 问题的各种解法。其中,最简单也是最有效的一种解决方法就是为每个连接创建一个独立的进程去服务。那么,到底如何为每个连接客户创建一个进程来服务呢?在这其中,又需要特别注意什么呢?今天我们就围绕这部分内容展开,期望经过今天的学习,你对父子进程、僵尸进程、使用进程处理连接等有一个比较直观的理解。

25__数据存储架构:如何改善系统的数据存储能力?

在整个互联网系统架构中,承受着最大处理压力,最难以被伸缩的,就是数据存储部分。原因主要有两方面。一方面,数据存储需要使用硬盘,而硬盘的处理速度要比其他几种计算资源,比如 CPU、内存、网卡都要慢一些;另一方面,数据是公司最重要的资产,公司需要保证数据的高可用以及一致性,非功能性约束更多一些。

25__数据分布方式之哈希与一致性哈希:“掐指一算”与“掐指两算”的事

你好!我是聂鹏程。今天,我来继续带你打卡分布式核心技术。

在上一篇文章中,我带你了解了分布式存储系统的三个要素:顾客、导购和货架。其中,导购实现了分布式数据存储系统中数据索引的功能,包括存储数据时确定存储位置,以及获取数据时确定数据所在位置。

25__体验品牌:用户与企业的精神图腾

你好,我是相辉。

在前面的课程中,我们从理解商业的节奏,再到明确用户的价值,然后了解了场景服务的搭建流程,又熟悉了互联网产品的体验设计,对于用户体验架构有了一个初步的掌握。那么今天,我们就来到了课程的最后一个模块,打造体验的品牌。

25__玩转Git:五种提高代码提交原子性的基本操作

你好,我是葛俊。今天,我们来聊一聊 Git 吧。

毫无疑问,Git 是当前最流行的代码仓管理系统,可以说是开发者的必备技能。它非常强大,使用得当的话可以大幅助力个人效能的提升。一个最直接的应用就是,可以帮助我们提升代码提交的原子性。如果一个团队的成员都能熟练使用 Git 的话,可以大大提高团队代码的模块化、可读性、可维护性,从而提高团队的研发效能。但可惜的是,现实情况中,由于 Git 比较复杂,用得好的人并不多。

25__为什么蘑菇街会选择上云?是被动选择还是主动出击?

2018 年 1 月 22 日凌晨,我们美丽联合集团旗下的蘑菇街和美丽说的业务,整体搬迁到腾讯云,完成了从托管 IDC 模式,到腾讯云上混合云模式的转变。

云计算发展到今天,无论是在技术、服务层面,还是在商业层面都已经相对比较成熟。当前绝大多数初创公司在基础设施上的策略一定是公有云,已经极少再有自建或托管 IDC 的情况,所以不会存在是否上云这样的纠结。

25__系统架构:如何从写代码的程序员,成长为软件系统架构师?

你好,我是臧萌。这一节,我们来聊聊软件系统架构师。软件系统架构师简称架构师,它可以说是每个做技术的程序员心向往之的职位。这个职位对于很多人,还有些许神秘的味道。在这节课里,我就来和你谈谈我眼中的软件系统架构师,它其实并没有那么神秘。

25__想进BAT等大厂,你要做好哪些准备?

你好,我是炒炒。

粉丝群里有小伙伴好奇地问我,大厂的设计师都是怎么干活儿的?

我想,问这个问题的小伙伴一定是在提前准备进大厂的能力。我之前在“加餐 | 大厂的围城:你想进去,我想逃离”也提到过,虽然大厂不是唯一的选择,但是你可以把它作为一个目标