天梯 题解 估值 程序设计

领域驱动设计(DDD)架构演进和典型架构介绍

我们生活中都听说了DDD,也了解了DDD,那么怎么将一个新项目从头开始按照DDD的过程进行划分与架构设计呢? 一、专业术语 各种服务 IAAS:基础设施服务,Infrastructure-as-a-service PAAS:平台服务,Platform-as-a-service SAAS:软件服务,S ......
架构 典型 领域 DDD

程序员面试金典---21

最小差 思路: 先将两个数组升序排序,然后使用双指针逐个进行比较。 /** * @param {number[]} a * @param {number[]} b * @return {number} */ var smallestDifference = function(a, b) { a.so ......
程序员 程序 21

pta_【CPP0024】设计并实现大数类BigNum

#include <iostream>using namespace std;#define N 100 #include<cstring> class BigNum{private: char num[N];public: BigNum(char c[N] = "+0") { int i,j,a ......
大数 BigNum 0024 pta CPP

Redis定长队列设计与实现

业务背景: 只展示最近10条礼物打赏动态,用户名+礼物名称 不管在app端还是在web端,或多或少都有这样的需求,所谓技术方案的选型都是受限于实际的业务场景的,都是以解决实际业务为目的,由于刚开始这样的需求还是比较少的,所以采用了简单的方式实现了功能,但是随着业务扩大,重复的也会很多,再写一套代码就 ......
队列 Redis

青岛市程序设计竞赛冲刺⑦(2022市北区程序设计竞赛小学组试题)

1.2的N次方 原题: 解题思路: 送分题,找规律,不妨看出,有2,4,8,6的规律,直接运算即可 AC代码: #include<bits/stdc++.h> #define ll long long using namespace std; int x;//0<x<1000000000 ²»ÓÃÌ ......
程序设计 小学组 程序 试题 小学

Java设计模式-建造者模式

简介 建造者模式是一种创建型设计模式,用于将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通过将复杂对象的构建过程分解为多个简单的步骤来实现。 与其他创建型模式不同,建造者模式强调的是将构建过程与表示分离,而不是将对象与其构建方式分离。这使得建造者模式在需要创建多个 ......
模式 设计模式 Java

天梯赛L1-028 判断素数

一、问题描述 本题的目标很简单,就是判断一个给定的正整数是否素数。 输入格式: 输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于231的需要判断的正整数。 输出格式: 对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。 输入样例: 2 11 111 输出样 ......
素数 天梯 028 L1

linux 安装程序

目录 一、编辑安装 二、yum安装 一、编辑安装 原理:本地源码包安装,编辑后安装 编辑安装过程: 1.解压压缩包:tar -xzvf 2.安装依赖环境:yum install apr* gcc* pcre* -y 3.配置安装路径:./configure --prefix=/opt/apps/ht ......
程序 linux

python调用c程序

C代码 文件名 《task.c》 # include<stdio.h> int task(){ int i,j,k; unsigned long s = 0; for(i=0;i<1000;i++){ for(j=0;j<1000;j++){ for(k=0;k<1000;k++) { s = s ......
程序 python

ch583/ch582/ch573/ch571 central(主机)程序

本程序是在CH582m上运行的, 一、主从连接 主机这里可以根据从机的MAC地址进行连接。static uint8_t PeerAddrDef[B_ADDR_LEN] = {0x02, 0x02, 0x03, 0xE4, 0xC2, 0x84}; 一般从机在使用的时候不做其他配置时使用的是芯片本身的 ......
ch 主机 central 程序 583

C统计单词程序

C统计单词程序 需求描述 读取并报告单词的数量 计算字符数和行数 识别单词的处理 把一个单词定义为不含空白的字符序列 既:没有空格、制表符、换行符 /** * @Author: Lucifer * @Date: 4/30/2023, 2:12:10 PM * @LastEditors: Lucife ......
单词 程序

C菜单响应程序

C菜单响应程序 需求: 提供一个响应程序 用户输入正确得到响应 用户输入错误重新输入 注意: 混合字符和数值输入可以识别 处理用户输入Enter键 示例代码: /** * @Author: Lucifer * @Date: 5/1/2023, 2:43:11 PM * @LastEditors: L ......
菜单 程序

【手记】翻新显卡安装驱动程序

只尝试过N卡,A卡不知道适不适用。 解包驱动程序到目录。正常运行驱动程序,它会先解压到c:\nvidia\xxx,然后报错,此时不要把报错叉掉,因为叉掉后刚刚解压得到的c:\nvidia会被删掉,而我们要的就是这个目录,所以要趁这个时候,把c:\nvidia复制一份,然后再叉报错,这样就得到了一个解 ......
手记 驱动程序 显卡 程序

聊一聊 GDB 调试程序时的几个实用命令

一:背景 1. 讲故事 用惯了宇宙第一的 Visual Studio 再用其他的开发工具还是有一点不习惯,不习惯在于想用的命令或者面板找不到,总的来说还是各有千秋吧,今天我们来聊一下几个在调试中比较实用的命令: 查看内存 硬件断点 虚拟内存布局 二:命令解读 1. 查看内存 相信大家都知道 Visu ......
命令 程序 GDB

10 10|法则四:架构设计中怎么判断和利用技术趋势?

你好,我是郭东白。 上节课我们讲了为什么要顺应技术的生命周期。但是“往者不可谏,来者犹可追”,我们就不能抓住一个技术萌芽和发展的机会吗?今天我们就来探讨一下这个问题。 技术未来的趋势,谁主沉浮? 你有没有想过,到底是谁决定技术的未来呢?其实大多数人都不决定技术的未来,哪怕是雷军,他也在思考该怎么顺势 ......
架构 法则 趋势 技术 10

12 12|法则五:如何提升一个架构设计的外部适应性?

你好,我是郭东白。 上节课我们讲了外部适应性这个概念,也强调了架构师的职责是通过架构活动为企业不断注入外部适应性,从而帮助企业更好地实现它的战略意图。 那么该怎么注入呢? 上节课在讲影响技术体系外部适应性的因素这部分,我们提到了挑战主要来自三个方面:企业的内部压力、企业的外部环境和企业的组织结构。这 ......
适应性 架构 法则 12

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

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

微信小程序打开腾讯会议小程序并入会

wx.navigateToMiniProgram({ appId: 'wx33fd6cdc62520063', // 要跳转的微信小程序appid path: 'pages/sub-preMeeting/join-meeting/join-meeting?scene=m%3Dxxxxxxxxx', ......
程序 会议

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

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

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

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

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

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

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

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

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

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

PA 2022 部分题解

[PA 2022] Wielki Zderzacz Termionów 有 $n$ 个球,每个球有 A、B 或 C 三种颜色。开始时你将每个 C 涂成 A 或 B。之后的每次操作,你可以选择相邻的两个 A 合并为一个 B,或选择相邻的两个 B 合并为一个 A。求将 C 涂色的方案数,满足你能够通过若 ......
题解 部分 2022 PA

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

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

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

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

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

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

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

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

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

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

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

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