- 设计模式-观察者模式
乔以亦
设计模式设计模式观察者模式
设计模式-观察者模式前言观察者模式前言由于作者做的C++开发比较多所以本文实例都以C++语言方式给出。观察者模式//观察者接口classObserver{public:virtual~Observer()=default;virtualvoidupdate(conststd::string&message)=0;};//主题接口classSubject{public:virtual~Subject
- 《设计模式之禅》笔记摘录 - 2.单例模式
使二颗心免于哀伤
《设计模式之禅》笔记摘录笔记设计模式
单例模式的定义单例模式(SingletonPattern)是一个比较简单的模式,其定义如下:Ensureaclasshasonlyoneinstance,andprovideaglobalpointofaccesstoit.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。)通用类图如下:Singleton类称为单例类,通过使用private的构造函数确保了在一个应用中只产生一个
- 《重构》笔记摘录 - 9.处理继承关系
使二颗心免于哀伤
《重构》笔记摘录重构笔记
文章目录1函数上移(PullUpMethod)2字段上移(PullUpField)3构造函数本体上移(PullUpConstructorBody)4函数下移(PushDownMethod)5字段下移(PushDownField)6以子类取代类型码(ReplaceTypeCodewithSubclasses)7移除子类(RemoveSubclass)8提炼超类(ExtractSuperclass)9
- 《设计模式之禅》笔记摘录 - 3.工厂方法模式
使二颗心免于哀伤
《设计模式之禅》笔记摘录设计模式笔记工厂方法模式
工厂方法模式的定义工厂方法模式使用的频率非常高,在我们日常的开发中总能见到它的身影。其定义为:Defineaninterfaceforcreatinganobject,butletsubclassesdecidewhichclasstoinstantiate..FactoryMethodletsaclassdeferinstantiationtosubclasses.(定义一个用于创建对象的接口,
- PPT到PDF转换器:一个功能强大的Python GUI应用(unzip,convert,replace,merge)
winfredzhang
pythonpowerpointpdf7zreplacemerge
在当今的数字时代,文档格式转换已成为一项常见需求。特别是将PowerPoint演示文稿转换为PDF格式,这不仅可以确保文档的一致性,还能方便分享和打印。今天,我们将深入探讨一个使用Python开发的强大GUI应用程序,它不仅可以将PPT转换为PDF,还具备文本替换、PDF处理和文件合并等多项功能。C:\pythoncode\new\unzipconvertpdfmerge.py应用概述这个应用程序
- Python——进程与线程
TY-2025
pythonlinux网络
进程与线程1.进程进程是指启动后的程序,系统会为进程分配内存空间1.1创建进程的方式(1)使用Process子类语法结构class子进程(Process):pass(2)使用multiprocessing模块语法结构Process(group=None,target,name,args,kwargs)参数说明group:表示分组,实际上不使用,值默认为Nonetarget:表示子进程要执行的任务,
- Java线程
偷萧逸苦茶
javajvm开发语言
线程线程Thread是一个程序内部的一条执行流程程序中如果只有一条执行流程,那这个程序就是单线程的程序多线程多线程是指从软硬件上实现的多条执行流程的技术(多条线程由CPU负责调度执行)创建线程多线程创建方式之一:继承Thread类packageitheima.demo.thread;publicclassdemo1{ //main方法本身是由一条主线程负责推荐执行的 publicstatic
- 【RAG文档解析优化】复杂Excel表格处理
kakaZhui
大模型实践之知识库RAGexcelAIGC人工智能AgentLLMRAG文档解析
1.引言:复杂ExcelExcel表格因其直观易用,在企业中被广泛用于制作财务报表、项目计划、销售跟踪、数据汇总等。为了人类阅读的便利性,制作者常常会使用合并单元格来创建标题、使用多层表头来组织复杂的列、在同一个Sheet页中放置多个相关的表格,并添加大量的注释说明。这些操作对于人类来说一目了然,但对于依赖程序化解析的RAG系统而言,却是一场噩梦。它们就像一朵朵“带刺的玫瑰”,虽然蕴含着宝贵的数据
- 力扣 hot100 Day32
19.删除链表的倒数第N个结点给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。//自己写的classSolution{public:ListNode*removeNthFromEnd(ListNode*head,intn){ListNode*cur=head;intlen=0;while(cur!=nullptr){len++;cur=cur->next;}inttmp=0;if(t
- 力扣 hot100 Day33
qq_51397044
Hot100leetcode算法
24.两两交换链表中的节点给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。//抄的classSolution{public:ListNode*swapPairs(ListNode*head){ListNode*dummy=newListNode(0);dummy->next=head;ListNode*prev=d
- 力扣 hot100 Day31
2.两数相加给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0开头。//抄的classSolution{public:ListNode*addTwoNumbers(ListNode*l1,ListNode*l2){ListNode*dummy=n
- 力扣 hot100 Day24
240.搜索二维矩阵II编写一个高效的算法来搜索mxn矩阵matrix中的一个目标值target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。//看提示写的classSolution{public:boolsearchMatrix(vector>&matrix,inttarget){intm=matrix.size(),n=matrix[0].size();intr
- 力扣 hot100 Day18
238.除自身以外数组的乘积给你一个整数数组nums,返回数组answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘积。题目数据保证数组nums之中任意元素的全部前缀元素和后缀的乘积都在32位整数范围内。请不要使用除法,且在O(n)时间复杂度内完成此题。//自己写的classSolution{public:vectorproductExceptSelf(vector&
- 力扣 hot100 Day5
qq_51397044
Hot100leetcode算法
11.盛最多水的容器给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。//自己写的classSolution{public:intmaxArea(vector&height){intresult=0,water=0;intn
- 深入解析 RAGFlow:文件上传到知识库的完整流程
ZHOU_CAMP
RAGpythonragflow
在RAGFlow这样的检索增强生成(RAG)系统中,知识库是其核心。用户上传的文档如何高效、可靠地转化为可检索的知识,是系统稳定运行的关键。今天,我们就来深入探讨RAGFlow中文件上传到知识库的完整流程,揭秘其背后的任务调度机制。1.概览:文件上传到知识库的生命周期RAGFlow的文件上传并非简单的文件存储,而是一个涉及前端交互、后端API、消息队列、后台服务和多个数据存储组件的复杂协作过程。它
- Class5多层感知机的从零开始实现
Morning的呀
深度学习深度学习机器学习pytorch
Class5多层感知机的从零开始实现importtorchfromtorchimportnnfromd2limporttorchasd2l#设置批量大小为256batch_size=256#初始化训练集和测试集迭代器,每次训练一个批量train_iter,test_iter=d2l.load_data_fashion_mnist(batch_size)#构建一个单隐藏层的前馈神经网络(MLP)#n
- JavaWeb开发3
偷萧逸苦茶
前端javascript开发语言
JavaScript一门跨平台、面向对象的脚本语言,用来控制网页行为,能使网页可交互js引入方式内部脚本:将JS代码定义在HTML页面中JavaScript代码必须位于在HTML文档中,可以在任意地方,放置任意数量的一般会把脚本置于元素的底部,可以改善显示速度外部脚本:将JS代码定义在外部JS文件中,然后引入到HTML页面中外部JS文件中,只包含JS代码,不包含标签标签不能自闭和 焦点访谈-
- 力扣 hot100 Day34
qq_51397044
Hot100leetcode算法
226.翻转二叉树给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点翻转的定义是,对于每个节点,交换它的左右子树//抄的classSolution{public:TreeNode*invertTree(TreeNode*root){if(root==nullptr)returnnullptr;TreeNode*left=invertTree(root->left);TreeNode*r
- Java面试题
木鱼时刻
软件开发java开发语言
说明本文档是Java技术面试问题与答案集合,涵盖Java基础知识、集合框架、并发编程、Spring框架、数据库、消息队列、系统设计等核心技术领域。模板使用指南难度分级:L1:低难度,适合初级开发者,基础概念和原理L2:中难度,适合中级开发者,实际问题解决和系统设计L3:高难度,适合高级开发者,复杂系统架构和深度技术挑战问题结构:每个问题按「类别-序号-具体问题」格式组织使用Markdown链接连接
- JVM类加载过程
JVM类加载过程是将类的字节码文件(.class)加载到内存,并转换为运行时数据结构的过程,核心分为加载(Loading)、链接(Linking)、初始化(Initialization)三个阶段,其中链接又包含验证、准备、解析三个子阶段。以下是详细流程:1.加载(Loading)任务:查找并加载类的二进制数据。过程:通过类的全限定名(如com.example.MyClass)获取字节码。将字节
- python语言视频格式转换工具程序代码ZXQZQ
EYYLTV
python开发语言
importsubprocessimportosimporttkinterastkfromtkinterimportfiledialog,messagebox,ttkimportthreadingimportreclassVideoConverter:def__init__(self,ffmpeg_path):self.ffmpeg_path=ffmpeg_pathdefconvert_video
- Java基础:Java运行原理
1024de小shen
Java基础java
文章目录一、Java运行原理二、Java虚拟机2.1JVM概念2.2JVM体系结构2.2.1ClassLoader:类装载器2.2.2执行引擎2.2.3运行时数据区三、Java线程四、Java方法调用五、Java字节码执行一、Java运行原理我们都知道,机器只能识别0和1,那么程序是如何在机器上运行的呢?当我们在IDEA等开发工具上编写Java代码,经过构建(javac.exe编译)后,会生成字节
- mybatis考试
题目:学生选课管理系统(高级版,无事务)数据库表结构(保持不变)1.学生表(student)id(主键,自增)name(学生姓名)gender(性别)age(年龄)class_id(班级ID)2.班级表(class)id(主键,自增)class_name(班级名称)课程表(course)id(主键,自增)course_name(课程名称)teacher(授课老师)3.选课表(student_cou
- 2958、最多K个重复元素的最长子数组
椎名ひる
#滑动窗口leetcodeleetcode算法数据结构
题目:解答:在上一题的基础上,修改一下即可。上一题是哈希表的value与1相比,本题改成与k相比即可。classSolution{public:intmaxSubarrayLength(vector&nums,intk){unordered_mapcnt;intleft=0,right=0;intlen=nums.size();intans=0;for(right;rightk){cnt[nums
- Python tip:优先使用函数
CS创新实验室
Pythonpythonjava服务器
1.优先使用函数而非方法静态方法通常可以直接作为函数存在。对于大多数不使用传入的实例或类的方法来说,同样如此。换句话说,不要这样写:frommathimportisqrtclassTools:@staticmethoddefis_prime(n):ifn>>Tools.is_prime(7)True而不是这样:>>>is_prime(7)True把is_prime函数放在类里,既让实现变得复杂,又
- usb3.0开发
小xiao白
usb3.0
CYUSB3014开发板开发开发环境:SDK开发工具,编辑器和编译器使用Eclipse,使用固件例程slavefifo。测试数据使用controlcenter,测试速率使用streamer,均在Cypress下。相关文档在:SDK默认安装路径/Cypress/EZ-USBFX3SDK/1.3/doc下。本项目使用了EP0的in和out端点作为控制端点EP1的in和out端点作为pc与fpga传输数
- PHP学习笔记 PHP基本语法——PHP开始和结束标记PHP指令分隔符PHP注释PHP空白符处理
咖啡续命又一天
PHPphp
PHP开始和结束标记以“”结束是PHP/FI2.0的标记,已经被替换。以“”结束是PHP3.0开始的标准标记,这是PHP推荐使用的标记。不能禁用这种标记、XML风格标记。以“”结束是PHP3.0开始的标记,通过php.ini配置文件中的short_open_tag选项打开,不推荐使用。干扰XML文档的声明。短输出标签以开始和以结束是PHP3.0开始的标记已经废弃。PHP7.0.0版本中将此风格标记
- Markdown 图片使用指南
lsx202406
开发语言
Markdown图片使用指南随着信息技术的飞速发展,Markdown编程语言因其简洁、易用的特点,在文档编写、博客撰写等领域得到了广泛应用。Markdown图片功能是Markdown中的一项重要功能,它允许用户在文档中插入图片,使内容更加生动形象。本文将详细介绍Markdown图片的使用方法,帮助您轻松掌握这一技能。一、Markdown图片基本语法在Markdown中插入图片,主要使用以下两种语法
- 谷歌Google抓取视频使用受支持的视频文件类型
阿酷tony
Google视频应用专栏音视频chrome谷歌视频
谷歌Google抓取视频使用受支持的视频文件类型:若要能够使用视频功能,请使用受支持的视频文件类型。Google可处理以下类型的视频文件:3GP、3G2、ASF、AVI、DivX、M2V、M3U、M3U8、M4V、MKV、MOV、MP4、MPEG、OGV、QVT、RAM、RM、VOB、WebM、WMV和XAP。结构化数据类型定义本部分介绍了与Google搜索中的视频功能相关的结构化数据类型。若要使
- 第5章:Python编码规范:遵循PEP8打造高质量代码
DogDog_Shuai
python运维数据库
第5章:Python编码规范:遵循PEP8打造高质量代码作者:Python进阶者阅读时间:约30分钟难度:入门目录1.引言2.PEP8是什么3.代码布局4.命名规范5.编程建议6.注释与文档字符串
- PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
javaUIPHPandroidlinux
╔-----------------------------------╗┆
- 各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
bozch
.net.net mvc
在.net mvc5中,在执行某一操作的时候,出现了如下错误:
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。
&
- Java 对象大小的计算
e200702084
java
Java对象的大小
如何计算一个对象的大小呢?
 
- Mybatis Spring
171815164
mybatis
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust
- JVM 不稳定参数
g21121
jvm
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”
- 用户自动登录网站
永夜-极光
用户
1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码
2.思路:将用户的信息保存为cookie
每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接
- centos7 安装后失去win7的引导记录
程序员是怎么炼成的
操作系统
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry "Windows 7 (loader) (on /dev/sda1)" { 
- Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载
aijuans
oracle
Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程
- JavaEE开源快速开发平台G4Studio_V3.2发布了
無為子
AOPoraclemysqljavaeeG4Studio
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。
访问G4Studio网站
http://www.g4it.org
G4Studio_V3.2版本变更日志
功能新增
(1).新增了系统右下角滑出提示窗口功能。
(2).新增了文件资源的Zip压缩和解压缩
- Oracle常用的单行函数应用技巧总结
百合不是茶
日期函数转换函数(核心)数字函数通用函数(核心)字符函数
单行函数; 字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心)
一:字符函数:
.UPPER(字符串) 将字符串转为大写
.LOWER (字符串) 将字符串转为小写
.INITCAP(字符串) 将首字母大写
.LENGTH (字符串) 字符串的长度
.REPLACE(字符串,'A','_') 将字符串字符A转换成_
- Mockito异常测试实例
bijian1013
java单元测试mockito
Mockito异常测试实例:
package com.bijian.study;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.
- GA与量子恒道统计
Bill_chen
JavaScript浏览器百度Google防火墙
前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下:
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同?
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后
- 【Linux命令三】Top命令
bit1129
linux命令
Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果:
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total, 4 running, 198 sl
- spring四种依赖注入方式
白糖_
spring
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我
- angular.injector
boyitech
AngularJSAngularJS API
angular.injector
描述: 创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入. 使用方法: angular.injector(modules, [strictDi]) 参数详解: Param Type Details mod
- java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待
bylijinnan
Integer
public class PC {
/**
* 题目:生产者-消费者。
* 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
*/
private static final Integer[] val=new Integer[10];
private static
- 使用Struts2.2.1配置
Chen.H
apachespringWebxmlstruts
Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar
struts2-core-2.2.1.jar struts2-sp
- [职业与教育]青春之歌
comsci
教育
每个人都有自己的青春之歌............但是我要说的却不是青春...
大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的....
&nbs
- oracle连接(join)中使用using关键字
daizj
JOINoraclesqlusing
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FRO
- NIO示例
daysinsun
nio
NIO服务端代码:
public class NIOServer {
private Selector selector;
public void startServer(int port) throws IOException {
ServerSocketChannel serverChannel = ServerSocketChannel.open(
- C语言学习homework1
dcj3sjt126com
chomework
0、 课堂练习做完
1、使用sizeof计算出你所知道的所有的类型占用的空间。
int x;
sizeof(x);
sizeof(int);
# include <stdio.h>
int main(void)
{
int x1;
char x2;
double x3;
float x4;
printf(&quo
- select in order by , mysql排序
dcj3sjt126com
mysql
If i select like this:
SELECT id FROM users WHERE id IN(3,4,8,1);
This by default will select users in this order
1,3,4,8,
I would like to select them in the same order that i put IN() values so:
- 页面校验-新建项目
fanxiaolong
页面校验
$(document).ready(
function() {
var flag = true;
$('#changeform').submit(function() {
var projectScValNull = true;
var s ="";
var parent_id = $("#parent_id").v
- Ehcache(02)——ehcache.xml简介
234390216
ehcacheehcache.xml简介
ehcache.xml简介
ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信
- junit 4.11中三个新功能
jackyrong
java
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn
- 国外程序员爱用苹果Mac电脑的10大理由
php教程分享
windowsPHPunixMicrosoftperl
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi
- 位运算、异或的实际应用
wenjinglian
位运算
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
&n
- weblogic部署项目出现的一些问题(持续补充中……)
Everyday都不同
weblogic部署失败
好吧,weblogic的问题确实……
问题一:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve
- tomcat7性能调优(01)
toknowme
tomcat7
Tomcat优化: 1、最大连接数最大线程等设置
<Connector port="8082" protocol="HTTP/1.1"
useBodyEncodingForURI="t
- PO VO DAO DTO BO TO概念与区别
xp9802
javaDAO设计模式bean领域模型
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持