到底什么才是真正的空间复杂度?

前言 本篇文章收录于专辑:http://dwz.win/HjK,点击解锁更多数据结构与算法的知识。 你好,我是彤哥,一个每天爬二十六层楼还不忘读源码的硬核男人。 上一节,我们一起学习了复杂度分析的套路和常见的复杂度。 但是,我们的案例基本都是以时间复杂度为主,很少接触到空间复杂度。 那么,到底什么才 ...

作为架构风格的 REST 到底是什么

很多人搞不明白 REST(Representational State Transfer 表述性状态转移)原因在于一开始就是把它当做设计风格而不是架构风格来理解,因而一上来就大谈特谈什么 RESTful API,结果是只见树木不见森林。 仅从设计的角度去理解 REST(仅把它作为 API 设计原则) ...

《全栈工程师 Web 开发指南》 - 学习笔记

《全栈工程师 Web 开发指南》 [作者] (意) Dino Esposito[译者] (中) 李永伦[出版] 人民邮电出版社[版次] 2019年03月 第1版[印次] 2019年03月 第1次 印刷[定价] 79.00元 【第02章】 【选择支撑架构】 (P018) 领域模型模式的要点是构建一个完 ...

Nginx安全优化与性能调优

Nginx基本安全优化 隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题,别的批次可能就都是好的。因此,我们应尽量隐藏或者消除Web服务对访问用户显示各类敏感信息(例如Web软件名称以及版本号等信息),增加恶意用户攻击服务器的难度,从而 ...

复杂度分析的套路及常见的复杂度

前言 本篇文章收录于专辑:http://dwz.win/HjK,点击解锁更多数据结构与算法的知识。 你好,我是彤哥,一个每天爬二十六层楼还不忘读源码的硬核男人。 上一节,我们一起学习了表示复杂度的几个符号,我们说,通常使用大O来表示算法的复杂度,不仅合理,而且书写方便。 那么,使用大O表示法评估算法 ...

设计模式(11) 享元模式

基于面向对象思想设计的应用程序有时遇到需要场景大量相同或显示对象实例的场景,这些数量庞大的实例很可能会消耗很多系统资源,最直接的就是内存了。比如要一款围棋游戏,如果每次落子都新建一个对象,将会占用大量内存,而实际上棋子只有黑白两色,不同的只是落子位置而已。另外,大量的主动型对象还会占用很多CPU和显 ...

设计模式之适配器模式案例详解

基本介绍 适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主要目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。 适配器模式属于结构性模式,主要分为三类:类适配器模式、对象适配器模式、接口适配器模式。 类适配器模式 什么是类适配器模式 类适配器模式介绍:Adapter类,通 ...

O、Θ、Ω、o、ω,别再傻傻分不清了!

前言 本篇文章收录于专辑:http://dwz.win/HjK,点击解锁更多数据结构与算法的知识。 你好,我是彤哥,一个每天爬二十六层楼还不忘读源码的硬核男人。 前面几节,我们一起学习了算法的复杂度如何分析,并从最坏、平均、最好以及不能使用最坏情况全方位无死角的剖析了算法的复杂度,在我们表示复杂度的 ...

Wpf 自定义截图的实现

//记录鼠标按下 public static bool MouseBtnIsDown = false; //截图起始坐标 public static Point StartPoint; //截图的长宽 double width = 0; double height = 0; //鼠标按下事件 pub ...

模板方法模式

基本介绍 模板方法模式 是在一个固定步骤的方法骨架中,将某些步骤延迟到子类实现,以便重新定义该方法中的某些特定步骤。 模板方法模式属于行为型模式,较为简单。 假设我们开了一家早餐店,每天早上一大早我们就要研磨豆浆,研磨豆浆的步骤都是特定的,只是原材料不同,它们都要进行 选材 -》 添加配料 -》 浸 ...

什么情况下不能使用最坏情况评估算法的复杂度?

前言 本篇文章收录于专辑:http://dwz.win/HjK,点击解锁更多数据结构与算法的知识。 你好,我是彤哥,一个每天爬二十六层楼还不忘读源码的硬核男人。 上一节,我们从最坏、平均、最好三种情况分析了算法的复杂度,得出结论,通常来说,使用最坏情况来评估算法的复杂度完全够用了。 但是,有些算法是 ...

Jmeter接口压测示例

Jmeter接口压测示例 Apache JMeter™ 是 Apache 组织开发的一款开源软件,是典型的纯 Java 开发的应用程序,可以在不同平台比如 Windows 、 Linux 或 macOS 系统上进行软件测试。 JMeter 主要用于应用程序的功能负载测试以度量软件的性能,也可以用于其 ...

设计模式(10) 外观模式

外观模式(或门面模式、包装模式)是设计模式中非常朴素地体现面向对象“封装”概念的模式,它的基本原理是将复杂的内部实现以统一接口的方式暴露出来,最大程度地减少客户程序对某些子系统内部众多对象的依赖关系。 外观模式在开发过程中运用频率非常高,比如各种第三方SDK大多会使用外观模式。通过一个外观类是的整个 ...

springcloud vue 分布式 flowable工作流 前后分离 有代码生成器

1.代码生成器: [正反双向](单表、主表、明细表、树形表,快速开发利器)freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面、建表sql脚本、处理类、service等完整模块2.多数据源:(支持同时连接无数个数据库,可以不同的模块连接不同数的据库)支持N个数据源3.阿里数据库连 ...

策略模式

基本介绍 策略模式的策略,该怎么理解呢?在我看来,就是在面对不同的场景,采取不一样的处理方式 策略模式属于行为型模式,大多应用于动态在一个对象的多种行为进行切换的场景。 **意图:**定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换,以避免在多种算法相似的场景下,使用过多的 if...e ...

如何从最坏、平均、最好的情况分析复杂度?

本篇文章收录于专辑:http://dwz.win/HjK 前言 你好,我是彤哥,一个每天爬二十六层楼还不忘读源码的硬核男人。 上一节,我们从事后统计法过渡到渐近分析法,详细讲解了如何进行算法的复杂度分析。 但是,如果遵循严格的渐近分析法,需要掌握大量数学知识,这无疑给我们评估算法的优劣带来了很大的挑 ...

本周六 Apache DolphinScheduler & Doris 将联合线上 Meetup

活动背景 2020年,大数据成为国家基建的一个重要组成,大数据在越来越多的领域展现威力。随着大数据的应用场景越来越多,大家对数据的响应速度和数据加工工作流的方便程度也提出了更高的要求。在这种背景下,相信做过大数据的技术小伙伴应该对 Apache 一词不会陌生,Apache 基金会旗下拥有被广泛使用的 ...

观察者模式

基本介绍 观察者模式(Observer Design Pattern)也被称为发布订阅模式(Publish-Subscribe Design Pattern) **意图:**当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。 观察者模式属于行为型模式, 大多应用于一些**事件驱 ...

<1···345···200>