模式 设计模式 访问者

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

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

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

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

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

若依登录验证码不显示404访问问题

最近在学习接触Java,那若依开源项目来练练手,部署后发现登录界面的登录验证码一直刷不出来,提示404访问错误。查看网上一直没找到解决办法。但知道原理都是配置文件的问题。后来在一个其他项目上找到灵感,给nginx的nginx.conf配置文件增加配置信息,项目可以正常启动并可以正常登录了。 我的若依 ......
问题 404

信息安全保护设计与实现

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

PL/SQL:ORA-22905:无法从非嵌套表项访问行

ORA-06550:第11行,第25列:PLS-00642: 在SQL语句中不允许使用本地收集类型ORA-06550:第11行,第2列PL/SQL:ORA-22905:无法从非嵌套表项访问行ORA-06550:第8行,第3列:PL/SQL:SQL Statement ignored 解决方式: 表值 ......
22905 ORA SQL PL

医疗行业中台设计-前言

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

工厂模式-抽象工厂模式

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

解决上传md文件时出现的“<Fault 401: '请配置正确的用户名与访问令牌(access token), 密码登录已取消,请在密码框中输入请访问令牌, 在博客后台获取访问令牌 https://i.cnblogs.com/settings#enableServiceAccess'>”问题

使用的工具:pycnbolg 下载地址: https://github.com/dongfanger/pycnblog 具体操作按这位大神的博客:如何在博客园上传markdown文件 - NotYourferry - 博客园 (cnblogs.com) 出现报错如图: 偶然看到这两位的评论: 于是我 ......

Avalonia使用d:DataContext实现设计时预览

​ 在我们使用MVVM开发项目时,免不了要用到绑定,但是数据通过绑定获取的时候,就不能再预览器里看到效果了,只能调试起来才能看到,这样就很麻烦。 ​ 我们可以通过 d.DataContext 来解决,这个属性仅在设计时应用 DataContext。官网建议将此属性与 {x:Static} 指令结合使 ......
DataContext Avalonia

matlab程序设计,承接研究范围:综合能源系统优化调度,主从博弈,综合需求响应,碳交易机制,阶梯型碳交易

matlab程序设计,承接研究范围:综合能源系统优化调度,主从博弈,综合需求响应,碳交易机制,阶梯型碳交易机制,多时间尺度优化。ID:41100678701976813 ......
主从 阶梯 程序设计 机制 范围

常见未授权访问漏洞汇总

本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担!!! 本文导读: 本文覆盖了目前网络资讯上公布的30+种未授权访问漏洞 本文把未授权访问漏洞按照默认端口顺序从小到大排列,对于默认端口可进行批量端口探测服务,再进一步进行漏洞检测,逻辑清晰,方便学者学习和漏洞复现。 本文涵盖漏洞描 ......
漏洞 常见

天气预报查询 API 提供个性化的天气服务的设计思路

引言 假设你是一个开发人员或公司,正在考虑开发一款天气应用程序,但你意识到市场上已经有很多竞争者在使用天气预报查询 API 来提供类似的服务,本文将一起探寻一些创新的方法来提高应用程序的竞争力。 扩大竞争力的一些建议 如果市面上已经有很多使用天气预报查询 API 的应用,您可以通过以下方法来扩大您的 ......
天气 天气预报 思路 个性 API

工程数学--上机实验四:共轭梯度法程序设计

首先,根据目标函数,我们计算其梯度和海森矩阵: syms x1 x2; f = 100*(x2 - x1^2)^2 + (1 - x1)^2; grad_f = gradient(f, [x1, x2]); grad_f_fun = matlabFunction(grad_f); hes_f = h ......
梯度 数学 工程

工程数学--上机实验三:Newton 法程序设计

首先,我们需要根据目标函数计算梯度和海森矩阵。使用MATLAB计算得到: syms x1 x2; f = 100*(x2 - x1^2)^2 + (1 - x1)^2; grad_f = gradient(f, [x1, x2]); hes_f = hessian(f, [x1, x2]); gra ......
数学 Newton 工程

从零开始制作示波器--原理图设计之CIS库制作-0-CIS库建立-FPGA元件库建立(xcku5p)(cadence-orcad16.6)

设计中拟采用FPGA+zynq的方案,其中FPGA选型为:XCKU5P-FFVB676AAZ,这是一款676引脚的kintex-U+系列FPGA,此部分介绍其原理图库设计。 1、建元件 先建立一个元件,里面小元件个数随意写个值(后期可更改),其中“package Type”,“Part Number ......
示波器 cadence-orcad 元件 CIS 原理

【访问者设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 访问者模式(Visitor Pattern)是一种行为型模式。它封装一个访问者类,把各元素类的操作集合起来,目的是将数据结构与数据操作分离。在不改变原有元素类数据结构的前提下,改变了元素类的执行算法。 当某些较为稳定的东西(数据结构或算法),不想直接被改变但又想扩展功能,这时候适合用访问者模式 ......
设计模式 访问者 语言 模式 Python

工程数学--上机实验二:最速下降法程序设计

这是一个无约束优化问题,可以使用最速下降法(也称负梯度法)求解。按照要求,我来给出MATLAB代码:、 % 定义目标函数 f = @(x) 100*(x(2)-x(1)^2)^2 + (1-x(1))^2; % 最速下降法求解 % 设定初始点和迭代终止准则 x0_list = [-2, 2; -3, ......
数学 工程

工程数学--上机实验一:一维寻优法(0.618 法)程序设计

封装好的golds函数: function [xm,fm,aList,bList,alList,akList] = golds(f,a,b,tol) % f: 待优化的目标函数 % a,b: 初始区间 % tol: 精度要求 % xm,fm: 最优解和相应的最优函数值 % 黄金分割比例 r = (s ......
寻优 程序设计 数学 程序 工程

profile.ps1 : 无法使用点 '.' 获得此命令来源,因为该命令是在不同语言模式下定 义的。要调用此命令而不导入其内容,请忽略 '.' 运算符。

使用自定义的PowerShell配置文件(所有用户,所有主机的情况下): 打开PowerShell提示: C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1 : 无法使用点 '.' 获得此命令来源,因为该命令是在不同语言模式下定 义的。要调用 ......
命令 运算符 39 来源 profile

设置MySQL 允许别人远程访问

1、use mysql; select user,host from user;2、update user set host="%" where user="root"; //修改后本机作为服务器,ipconfig查询ip3、flush privileges;//保存配置4、quit;//退出5、重 ......
MySQL

权限表设计

常规权限管理数据结构设计,三张常规表:用户、角色、菜单,通过用户和角色的关系,角色和菜单(权限)的关系,实现用户和菜单(按钮)的访问控制权 ......
权限

HDFS网页访问静态用户设置

在使用网页删除文件夹时,被提示权限不够,因为默认是以普通用户权限访问,而文件夹时root用户的 配置网页默认访问用户为root <!-- 配置HDFS网页端使用的静态用户 --> <property> <name>hadoop.http.staticuser.user</name> <value>r ......
静态 网页 用户 HDFS

VMware 报错:“另一个程序已锁定文件的一部分,进程无法访问”解决办法

https://blog.csdn.net/FreeRxs/article/details/125039449 错误信息:打开虚拟机出现 另一个程序已锁定文件的一部分,进程无法访问 打不开磁盘“D:\Virtual Machines\CentOS 7 64 位\CentOS 7 64 位.vmdk” ......
进程 办法 文件 程序 VMware

【算法设计与分析】期中复习

一、概论 什么是算法? 算法是求解问题的一系列步骤,用来将输入数据转换成输出结果 算法设计应该满足以下目标(对使用算法的人来讲) 正确性:算法能正确地执行,能完成任务 可使用性:算法要能被方便地使用 可读性:算法应具有较好的可读性,易于理解 健壮性:要有异常处理,对不合理的数据进行检查,从而避免异常 ......
算法