设计模式 模式 基础 信息

23 21 | 网约车系统重构:如何用 DDD 重构网约车系统设计?

你好,我是李智慧。 软件开发是一个过程,这个过程中相关方对软件系统的认知会不断改变。当系统现状和大家的认知有严重冲突的时候,不重构系统就难以继续开发下去。此外,在持续的需求迭代过程中,代码本身会逐渐腐坏,变得僵硬、脆弱、难以维护,需求开发周期越来越长,bug却越来越多,系统也必须要进行重构。 我们在 ......
车系 DDD 23 21

【SpringCloud】 Eureka 单机模式

#系统配置信息 springboot版本:2.1.6.RELEASE jdk:1.8 系统:Windows10 ##工程结构 父工程 halo-cloud-parent 子工程<注册中心> halo-cloud-server 子工程<服务消费者> halo-cloud-consumer 子工程<服务 ......
SpringCloud 单机 模式 Eureka

MFC-CListCtrl-GetColumn获取列中某项信息

LVCOLUMN lvcol; TCHAR str[256]; lvcol.mask = LVCF_TEXT; lvcol.pszText = str; lvcol.cchTextMax = 256; BOOL b7=mylist4.GetColumn(1, &lvcol);//获取列中某项信息 / ......

网络信息采集工具 “八爪鱼”,无需编写任何代码

最近老板安排了个需求,想要我统计一下电商平台上的几个竞品的一些数据信息来进行比对,我想这还不简单,爽快就答应下来了说明天给他,没成想老板一个 excel 甩过来我起初并不在意,一打开我人都傻了整整 70 多个链接,这我不得整理个两年半?这我当然不干了,我刚想去找老板对线,就被我同事叫住了,他一脸鄙夷 ......
代码 工具 网络 信息

22 20 | 网约车系统设计:怎样设计一个日赚 5 亿的网约车系统?

你好,我是李智慧。 网约车的官方定义是:“以互联网技术为依托,构建服务平台,整合供需信息,使用符合条件的车辆和驾驶员,提供非巡游的预约出租汽车服务的经营活动。”通俗地说就是:利用互联网技术平台,将乘客的乘车信息发送给合适的司机,由司机完成接送乘客的服务。网约车包含专车、快车、拼车等多种形式。 中国目 ......
车系 22 20

24 22 | 大数据平台设计:如何用数据为用户创造价值?

特别说明:本文相关技术仅用于技术展示,具体实践中,数据收集和算法应用需要遵循国家个人信息保护法与信息安全法等有关法律制度。 你好,我是李智慧。 现在,业界普遍认为互联网创新已经进入下半场,依靠技术创新或者商业模式创新取得爆发性发展的机会越来越少。于是大家把目光转向精细化运营,主要手段就是依靠大数据技 ......
数据 价值 用户 平台 24

23-2期中测试获奖用户名单及参考答案:通达系统架构设计

你好,我是李智慧。今天我们来公布一下期中测试的获奖用户名单和对应的答案。 我们期中测试的要求是写一个同城快送业务的系统架构设计文档,这个测试主要考察的目标包括:使用UML进行系统建模的能力,用文档表达设计思路的能力,完整思考一个系统整体架构的能力,以及识别设计落地关键技术问题及对策的能力。 在这里, ......
架构 答案 名单 用户 系统

23-1 期中测试 | 动手写一篇你自己的设计文档吧!

你好,我是李智慧。 现在课程已经过半,我们已经学习了8个典型应用的架构设计,不知你对软件建模和设计文档掌握了多少,又对架构设计有了哪些思路呢? 回到我们这个专栏的目的:一个是了解典型的高并发系统架构是如何设计的;另一个就是熟悉架构设计文档的写法和设计建模的方法。 所以,我期望你学习每一节课,不是在复 ......
设计文档 文档 23

17 15 | 限流器设计:如何避免超预期的高并发压力压垮系统?

你好,我是李智慧。 在互联网高可用架构设计中,限流是一种经典的高可用架构模式。因为某些原因,大量用户突然访问我们的系统时,或者有黑客恶意用DoS(Denial of Service,拒绝服务)方式攻击我们的系统时,这种未曾预期的高并发访问对系统产生的负载压力可能会导致系统崩溃。 解决这种问题的一个主 ......
压力 系统 17 15

11 10 | 搜索引擎设计:信息搜索怎么避免大海捞针?

你好,我是李智慧。 在04讲中,我们讨论了大型分布式网络爬虫的架构设计,但是网络爬虫只是从互联网获取信息,海量的互联网信息如何呈现给用户,还需要使用搜索引擎完成。因此,我们准备开发一个针对全网内容的搜索引擎,产品名称为“Bingoo”。 Bingoo的主要技术挑战包括: 针对爬虫获取的海量数据,如何 ......

10 09 | 交友系统设计:哪种地理空间邻近算法更快?

你好,我是李智慧。 交友与婚恋是人们最基本的需求之一。随着互联网时代的不断发展,移动社交软件已经成为了人们生活中必不可少的一部分。然而,熟人社交并不能完全满足年轻人的社交与情感需求,于是陌生人交友平台悄然兴起。 我们决定开发一款基于地理位置服务(LBS)的应用,为用户匹配邻近的、互相感兴趣的好友,应 ......
交友系统 算法 更快 系统 空间

12 11 | 反应式编程框架设计:如何使方法调用无阻塞等待?

你好,我是李智慧。 反应式编程本质上是一种异步编程方案,在多线程(协程)、异步方法调用、异步I/O访问等技术基础之上,提供了一整套与异步调用相匹配的编程模型,从而实现程序调用非阻塞、即时响应等特性,即开发出一个反应式的系统,以应对编程领域越来越高的并发处理需求。 反应式系统应该具备如下的4个特质。 ......
反应式 框架 方法 12 11

9 08 | 秒杀系统设计:你的系统可以应对万人抢购盛况吗?

你好,我是李智慧。 秒杀是电子商务应用常见的一种营销手段:将少量商品(常常只有一件)以极低的价格,在特定的时间点出售。比如,周日晚上8点整,开售1部1元钱的手机。 因为商品价格诱人,而且数量有限,所以用户趋之若鹜,在秒杀活动开始前涌入系统, 等到秒杀活动开始的一瞬间,点下购买按钮(在此之前购买按钮为 ......
系统 盛况 08

16 14 | 百科应用系统设计:机房被火烧了系统还能访问吗?

你好,我是李智慧。 百科知识应用网站是互联网应用中一个重要的类别。很多人上网是为了获取知识,而互联网上的信息良莠并存,相对说来,百科知识应用网站能为普通人提供较为可信的信息。因此,百科知识网站虽然功能单一、设计简单,但是依然撑起了互联网的一片天空:维基百科是全球访问量TOP10的网站,百度百科是百度 ......
系统 应用系统 机房 百科 16

7 06 | 短视频系统设计:如何支持三千万用户同时在线看视频?

你好,我是李智慧。 短视频(short video)通常时长在15分钟以内,主要是在移动智能终端上进行拍摄、美化编辑或加特效,并可以在网络社交平台上进行实时分享的一种新型视频形式。短视频具有时间短、信息承载量高等特点,更符合当下网民手机使用行为习惯,短视频的用户流量创造了巨大的商机。 我们准备开发一 ......
视频系统 视频 同时 用户 系统

6 05 | 网盘系统设计:万亿 GB 网盘如何实现秒传与限速

你好,我是李智慧。 网盘,又称云盘,是提供文件托管和文件上传、下载服务的网站(File hosting service)。人们通过网盘保管自己拍摄的照片、视频,通过网盘和他人共享文件,已经成为了一种习惯。我们准备开发一个自己的网盘应用系统,应用名称为“DBox”。 十几年前曾经有个段子,技术人员对老 ......
限速 系统 05 GB

5 04 | 网页爬虫设计:如何下载千亿级网页?

你好,我是李智慧。 在互联网早期,网络爬虫仅仅应用在搜索引擎中。随着大数据时代的到来,数据存储和计算越来越廉价和高效,越来越多的企业开始利用网络爬虫来获取外部数据。例如:获取政府公开数据以进行统计分析;获取公开资讯以进行舆情和热点追踪;获取竞争对手数据以进行产品和营销优化等等。 网络爬虫有时候也被称 ......
网页 爬虫 04

3 02 | 高并发架构设计方法:面对高并发,怎么对症下药?

你好,我是李智慧。 我们知道,“高并发”是现在系统架构设计的核心关键词。一个架构师如果设计、开发的系统不支持高并发,那简直不好意思跟同行讨论。但事实上,在架构设计领域,高并发的历史非常短暂,这一架构特性是随着互联网,特别是移动互联网的发展才逐渐变得重要起来的。 现在有很多大型互联网应用系统,其用户是 ......
对症下药 架构 方法 02

1 开篇词 | “附身”大厂架构师,身临其境设计高并发系统

你好,我是李智慧,目前担任同程旅行交通首席架构师。我曾在阿里巴巴和英特尔担任架构师,主要从事高并发系统架构和大数据相关产品的开发。我参与过alibaba.com和Apache Spark的架构设计与开发,也曾作为CTO领导团队经历了日订单从零到一百万的高并发技术挑战。 说来我也是你的老朋友了,因为我 ......
身临其境 开篇 架构 系统

我设计了个【方案】:比redis好10倍的kv库【一统kv】

基于ssd磁盘,此我设计了比redis更好的缓存方案。此方案:没有缓存击穿问题。没有缓存雪崩问题。没有缓存污染问题。没有热key问题。 不需要snap和aof。支持任何sql库,sql库不需要带有任何分布式功能。 ......
方案 redis

k8s 编写pod yaml 文件 启动pod 查看pod详细信息 查看pod日志 连接pod容器 删除pod

#1 创建pod yaml 文件# 使用帮助命令 [root@master01 pod]# kubectl explain pod.spec [root@master01 pod]# cat pod-self.yaml apiVersion: v1 kind: Pod metadata: name: ......
pod 容器 文件 信息 日志

数据库基础问题?

数据库是指按照一定的数据结构对大量数据进行存储和管理的系统。数据库系统是一个软件系统,用来管理和组织数据。它可以让用户方便地访问和处理数据,从而提高数据的使用效率和准确性。 数据库系统的基础包括以下几个方面: 数据库设计:数据库设计是指根据业务需求和数据特点,设计出适合业务的数据库结构和数据模型。 ......
数据库 基础 数据 问题

mysql使用基础

MYSQL学习,冲冲冲 数据库学习的重要性是:各个网站媒体依赖的数据存储在数据库内。 数据库:用来存储和管理数据的技术。 在研发岗内需要使用,在面试题内出现--重要性。 学习sql语言,使用mysql数据库,学习内容包括:事务,存储引擎,索引,sql优化,锁,日志,主从复制,读写分离,分库分表。 基 ......
基础 mysql

Python爬虫需要哪些基础

Python爬虫是指使用Python语言编写程序,自动化地访问Web页面并抓取其中的信息。以下是Python爬虫的基础知识: 爬虫的工作原理:爬虫程序通过网络请求获取Web页面的HTML源码,然后使用正则表达式或解析器提取所需要的信息。 常用的爬虫库:Python中常用的爬虫库包括requests、 ......
爬虫 基础 Python

golang基础知识

一 golang基础知识 Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种计算机编程语言语言。 设计初衷 Go语言是谷歌推出的一种的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程 ......
基础知识 基础 知识 golang

信息安全保护设计与实现

方案需求与目标 本方案包含病毒保护、VPN连接、防火墙搭建、身份验证系统实现和漏洞验证五个模块。其中病毒保护模块可以为系统提供实时保护,以防止计算机被安装上安装恶意软件。 该方案主要工作流程是首先扫描系统可能存在的安全风险,再通过黑白名单校验、病毒库特征码校验、云安全校验三种方式杀毒。VPN连接的建 ......
信息

医疗行业中台设计-前言

这几年一直从事医疗行业数据治理相关工作。深入了解了这个行业的现状,未来并不知道是啥样。虽然医疗行业教其他行业起步很晚,各种新技术近几年来在该行业应用场景层次不穷,医疗行业确实有很大的挖掘价值,专攻专精的精神在最近几年各种概念伴随这PPT影响下,开始飘了起来。 本人偏业务和实施,最近在整理之前做过的项 ......
前言 医疗 行业

jvm基础

jvm 中两个线程: 1、守护线程:jvm自己使用的线程,比如垃圾回收(GC)就是一个守护线程 2、普通线程:一般的java程序线程,只要JVM中有普通线程在执行,那么JVM就不会停止 结束生命周期 在如下几种情况下,Java虚拟机将结束生命周期 1、执行了System.exit()方法 2、程序正 ......
基础 jvm

工厂模式-抽象工厂模式

定义 抽象工厂是工厂方法的升级版,为相关或者相互依赖的对象提供一个统一的接口,而且无需指定他们的具体实现类。 UML类图 优缺点 优点 对产品族进行约束,封装性好 缺点 产品族扩展困难,添加一个产品需要修改抽象和具体工厂类,违背开闭原则。 代码: 1.Program.cs public class ......
工厂 模式

Django--基础登录的表单

HTML页面关键代码 <form action="" method="post"> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!--导入jquery--> <script ......
表单 基础 Django