可维护性 状态 模式 代码
设计模式(十九)观察者
一、定义 定义对象之间的一种一对多依赖关系,使得当每一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式是一种行为型模式,又称为发布-订阅(Publish-Subscribe)模式、模型-视图(Model-View)模式、源-监听器(Source-Listener)模式或从属者( ......
day06 代码随想录算法训练营 349. 两个数组的交集
题目:349. 两个数组的交集 我的感悟: 轻轻松松 理解难点: python中 字典存,集合去重 代码难点: del要掌握 dic.get(i,0) +1 要掌握 总结概括: 无 代码示例: class Solution: def intersection(self, nums1: List[in ......
C#设计模式之策略模式
策略模式在设计模式中属于对象行为型模式,它的意图是定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。策略模式使得算法可独立于使用它的客户而变化。 ......
Spring学习记录之回顾GoF工厂模式
Spring学习记录之回顾GoF工厂模式 前言 这篇文章是我第二次学习b站老杜的spring相关课程所进行的学习记录,算是对课程内容及笔记的二次整理,以自己的理解方式进行二次记录,其中理解可能存在错误,欢迎且接受各位大佬们的批评指正; 关于本笔记,只是我对于相关知识遗忘时快速查阅了解使用,至于课程中 ......
使用Visual Studio Code开发php,并打开debug模式,打开断点调试
使用Visual Studio Code开发php,并打开debug模式,打开断点调试一:安装Visual Studio Code二:安装插件2.1:安装 PHP Debug,PHP IntelliSense 插件三:安装php debug所需插件Xdebug3.1:下载Xdebug3.2:配置Xd ......
vscode 代码片段 php.json
{ // Place your snippets for php here. Each snippet is defined under a snippet name and has a prefix, body and // description. The prefix is what is u ......
需分/系设/测/用户手册/部署/手册/维护
1、项目概述(简介、目标、人员、范围、预果)2、产品需求规格说明书 架构、流程、模块、数库、接口 (需分、系设) 项目计划 编码规范(开发规范) 注:参考:阿里或华为4、测试用例/用户手册5、部署计划/培训手册6、维护计划 ......
多开模式,体验Line带来的多彩世界
开启多开模式,畅享Line带来的多彩世界 导语: 如今,随着科技的不断进步,人们对于通讯工具的需求也在不断提高。而作为一款广受欢迎的即时通讯软件,Line以其丰富多样的功能和便捷的使用体验,成为了全球数亿用户心目中的首选。而通过多开模式,我们更可以进一步拓展Line的使用潜力,体验到更多多彩世界的乐 ......
设计模式—行为型模式之模板方法模式
设计模式—行为型模式之模板方法模式 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。 模板方法(Template Method)包含两个角色: 抽象类/抽象模板(Abstract Clas ......
设计模式-状态模式
状态模式的使用 代码中包含大量与对象状态有关的条件语句。 方法 将各种具体的状态类抽象出来。 优点 结构清晰,避免了过多的switch…case或if…else语句的使用。 很好的体现了开闭原则和单一职责原则,想要增加状态就增加子类,想要修改状态就修改子类即可。 封装性非常好,状态变化放置到了类的内 ......
设计模式-单例
单例模式 优点:系统内存中该类只存在一个对象,节省了系统资源,对于一些需要频繁创建销毁的对象,使用单例模式可以提高系统性能。 缺点:当想实例化一个单例类的时候,必须要记住使用相应的获取对象的方法(getInstance()等),而不是使用new,可能会给其他开发人员造成困扰,特别是看不到源码的时候。 ......
ZooKeeper 3.9.1 集群模式安装
准备三台集群节点 1.下载ZooKeeper 3.9.1 https://dlcdn.apache.org/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1-bin.tar.gz 2.安装JDK Linux 安装Openjdk 3.解压 mkdir / ......
day06 代码随想录算法训练营 242. 有效的字母异位词
题目:242. 有效的字母异位词 我的感悟: 卡尔的思路,挺好。简单易懂。 理解难点: 没有难点 总结概况: 建立数组存 遍历一遍 ++ 遍历一遍 -- 再遍历一遍 判断0 代码示例: class Solution: def isAnagram(self, s: str, t: str) -> bo ......
day04 代码随想录算法训练营 24. 两两交换链表中的节点
题目:24. 两两交换链表中的节点 我的感悟: 我感觉,python中对链表的概念,很弱。 链表在现在语言中,用的不多。 先搁置。 理解难点: 可以看懂代码。 总结概括: 代码示例: # Definition for singly-linked list. # class ListNode: # d ......
代码随想录算法训练营第二十天|654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树
一、654.最大二叉树 题目链接: LeetCode 654.最大二叉树 学习: 思路: 前序遍历 方法参数:(int[] nums, int start, int end) 返回类型:TreeNode 终止条件: if(end-start==0) return null; if(end-start ......
低代码如何实现插件化架构?
大家好,本文介绍了实现插件化的低代码架构的思路,以及在Meta3D(开源Web3D低代码平台)中具体实现的方案 需求 有同学想做个编辑器,希望可以随意替换引擎、编辑器UI,能以插件的形式进行扩展,问该如何实现? 下面,我们首先给出抽象的解决方案: 抽象的解决方案 如上图所示,编辑器由多个积木组成,其 ......
day03 代码随想录算法训练营 206. 反转链表
题目:206. 反转链表 我的感悟: 理解cur是什么? 相信自己!! 代码难点: cur = head 可以省略不 每一个步骤里的cur是什么 代码示例: # Definition for singly-linked list. # class ListNode: # def __init__(s ......
代码随想录 day06 有效的字母异位词 返回数组的交集 找快乐数 两数之和
有效的字母异位词: 思路比较简单 由于范围比较小 只有小写字母为范围 利用26大小的数组 遍历字符串 第一个串在对应下标++ 第二个++ 然后数据存在不为零就是不一样的 不存在则时字母异位词 返回数组的交集 由于要返回的是交集 就是查找两个集合出现的元素 想到要使用hash map 具体的数据结构而 ......
uni app 上拉加载下拉刷新代码
uni app 上拉加载下拉刷新代码 先记下来,以后备用 <template> <view class="app"> <u-row> <u-col span="4"> <!-- <mix-list-cell :title="category.caname" @onClick="show=true"> ......
js设计模式之单例模式二
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>登录</title></head><body><button id="login">登录</button><script> class Login { create ......
使用 callgrind 在 Linux 进行局部代码性能分析
VS 的性能剖析器可以很方便在选定的代码之间(用断点或者别的什么控制)进行性能剖析,这个功能在大型项目里是十分重要的。linux 有比 win 下更强的,更深入的性能剖析器,但是很遗憾,pref 之类的这些剖析器都是输出整个程序运行的信息的,反而会让你找不到需要关键信息。 找了很久,最后在 Visu ......
代码随想录算法训练营第14天 | lc104、lc111、lc222
(本合集全部为Go语言实现) 相关文章链接:104题解 111题解 222题解 相关视频链接: Leetcode104 状态:这种简便的写法一开始忘了,看了题解才想到 实现过程中的难点:需要首先明确最终答案的得出是模拟了那种遍历方式 个人写法 func maxDepth(root *TreeNode ......
代码随想录算法训练营第13天 | 树的层序遍历、lc226、lc101
(本合集全部为Go语言实现) 相关文章链接:层序遍历题解 226题解 101题解 相关视频链接: Leetcode102 状态:迭代写法秒了,递归写法确实吗,没太能想到 实现过程中的难点:递归写法中,思想要转变。迭代写法是真正的按层遍历,递归写法是以类似深度优先的方式将遍历结果放到不同的层级的集合当 ......
代码随想录 小结02 链表
第一题 移除链表元素 这题比较简单 使用dummyHead的方式会比较简单 不需要对头指针进行单独处理 但是空间开销会大一些 第二题 设计链表类 这个没什么好说的 感觉有可能一些细节会忘记 需要经常复习的一块 第三题 反转链表 这题难度不大 用一个tmp指针存储一下当前指针的next 然后直接反转就 ......
js设计模式之单例模式
//字面量const logi = { name: "贾维斯", password: '123456', method: function () { }}/** * 闭包: * 1. 闭包是指有权访问另一个函数作用域中的变量的函数 * 2. 创建闭包的常见方式,就是在一个函数内创建另一个函数,通过另 ......
代码随想录算法训练营第十八天 | 513.找树左下角的值,112. 路径总和,113.路径总和ii,106.从中序与后序遍历序列构造二叉树,105.从前序与中序遍历序列构造二叉树
一、513.找树左下角的值 题目链接: LeetCode 513.找树左下角的值 学习前: 思路: 层序遍历。采用递归和迭代两种方式 递归:定义最大深度和目标值两个成员变量,方法参数是结点和当前结点的深度;返回类型为void;终止条件为结点为空;单次循环内容为判断该节点是否符合目标要求,且分别传入左 ......
浅谈一类状态转移依赖邻项的排列计数问题 - 连续段 dp
UPD 2023.12.31:失手把原来的博文删掉了,这篇是补档。 引入 在一类序列计数问题中,状态转移的过程可能与相邻的已插入元素的具体信息相关(e.g. 插入一个新元素时,需要知道与其插入位置相邻的两个元素的值是多少,才可进行状态转移,如「JOI Open 2016」摩天大楼)。这类问题通常的特 ......
代码随想录 小结01 数组
数组篇一共有五个题目 第一题二分查找 值得注意的是,要自己想好 区间的边界到底是写左闭右开 还是左闭右闭 根据边界不同 while的条件和左右指针的移动会有差别 目前我的习惯是写左闭右开 还是固定一下习惯比较好 第二题是实现数组类的erase() 使用快慢指针可以做到在数组原地进行指定元素的移除而不 ......
浅谈一类状态转移依赖邻项的排列计数问题 - 连续段 dp
UPD 2023.12.31:失手把原来的博文删掉了,这篇是补档。 引入 在一类序列计数问题中,状态转移的过程可能与相邻的已插入元素的具体信息相关(e.g. 插入一个新元素时,需要知道与其插入位置相邻的两个元素的值是多少,才可进行状态转移,如「JOI Open 2016」摩天大楼)。这类问题通常的特 ......
Spark 3.5.0 独立部署(Standalone)模式
1.下载Spark 3.5.0 https://spark.apache.org/downloads.html 2.安装JDK Linux 安装Openjdk 3.安装Hadoop Hadoop-3.3.6分布式集群搭建步骤 4.解压 mkdir /usr/spark tar -zxvf spark ......