- canvas绘制和数字签名
前端
关键是要把存放绘制的信息放到一个二维数组中:绘制时最好不要用定时器进行定时绘制,因为会卡顿,最好使用requestAnimationFrame这个原生js的api方法,因为是以帧的间隔绘制,所以会看起来流畅Documenthtml,body{height:100%;margin:0;padding:0;}.container{width:100%;padding:20px0;display:fle
- 分享vue好用的pdf 工具实测
何包蛋H
vue.jspdfjavascript
vue3-pdf-app:带大纲,带分页,带缩放,带全屏,带打印,带下载,带旋转下载依赖:yarnaddvue3-pdf-appornpminstallvue3-pdf-app配置类:创建文件pdfConfig.ts//工具栏配置项exportconstconfig={//右侧其他区工具sidebar:{viewThumbnail:true,//启用缩略图视图viewOutline:true,//
- URL拼接重复参数问题
Cloud_.
服务器运维后端javaspringboot
在调用第三方API时,手动拼接URL参数容易因编码或重复拼接引发隐藏Bug。例如:Stringname="name=520";//参数值本身包含等号Stringurl=SERVICE_URL+"/add?key="+key+"&sid="+sid+"&name="+name;//错误拼接导致name=name=520最终生成的URL会变成:http://api.com/add?key=123&si
- 【大模型对话 的界面搭建-Open WebUI】
y_dd
人工智能深度学习人工智能llama语言模型
OpenWebUI前身就是OllamaWebUI,为Ollama提供一个可视化界面,可以完全离线运行,支持Ollama和兼容OpenAI的API。github网址https://github.com/open-webui/open-webui安装第一种docker安装如果ollama安装在同一台服务器上:dockerrun-d-p3000:8080--add-host=host.docker.in
- uni-app移动端应用开发底部安全区域适配
向凡而生
uni-app前端
针对IOS机型,底部安全区域是系统动态计算的,所以我们也需要动态获取底部安全区域来适配在uniapp的manifest.json,打开源码视图,对需要适配的页面添加如下配置"styles":{"safeArea":{"bottom":"auto"}}如果使用CSS。一种常见的方法是使用padding-bottom或margin-bottom属性,并使用vh-unit单位来确保底部安全距离不受屏幕尺
- nodeJs获取某个文件夹下的所有文件信息
努力的白熊
node.jsjavascript前端vue.js
constfs=require('fs');constpath=require('path');functiongetAllFilesInfo(dirPath){constitemsInfo=[];functiontraverseDirectory(currentPath){constitems=fs.readdirSync(currentPath);for(constitemofitems){c
- rapidocr-onnxruntime库及在open-webui上传PDF 图像处理 (使用 OCR)应用
原野AI
大模型部署pdfocr深度学习open-webui
背景rapidocr-onnxruntime是一个跨平台的OCR库,基于ONNXRuntime推理框架。目前已知运行速度最快、支持最广,完全开源免费并支持离线快速部署的多平台多语言OCR。缘起:百度paddle工程化不是太好,为了方便大家在各种端上进行ocr推理,我们将它转换为onnx格式,使用Python/C++/Java/Swift/C#将它移植到各个平台。名称来源:轻快好省并智能。基于深度学
- 以下列举了一些典型的JavaScript网页设计实例,它们展示了多样化的功能和交互体验,非常适合初学者及中级开发者学习借鉴如下:
一一代码
javascript
1.动态导航栏-功能描述:创建响应导航栏,当用户滚动页面时,导航栏固定在页面顶部,并显示当前页面部分。-技术点:-`window.scroll`事件监控页面滚动。-`classList`动态添加/移除CSS类。-`IntersectionObserver`检测元素是否进入视口。-示例代码:```javascriptwindow.addEventListener('scroll',()=>{cons
- 特殊 IP 地址
tyustli
计算机网络受限广播地址直接广播地址多播地址环回地址本网络本主机
文章目录特殊IP地址概述受限广播地址(LimitedBroadcastAddress)直接广播地址(DirectedBroadcastAddress)多播地址(MulticastAddress)环回地址(LoopbackAddress)本网络本主机(0.0.0.0)总结参考特殊IP地址概述在IP地址体系中,除了用于分配给主机和网络的常规IP地址外,还存在一些特殊用途的IP地址。这些地址具有特定的功
- Python的*args和**kwargs
taoqick
python3python开发语言后端
简单来说args表示的是一个元组,而kwargs表示的是一个字典Python函数参数(PythonFunctionArguments)Pythonallowsustodefinethreetypesofargumentsforafunction:Python允许我们为函数定义三种类型的参数:FormalArguments,forexampledefadd(a,b)形式参数,例如defadd(a,b
- ENSP学习day3
vegetable\chicken
ENSP实验学习智能路由器网络
静态路由实验路由器划分成3个广播域,如图192.168.1.0/24192.168.2.0/24192.168.3.0/241.PC必须配置网关地址:网关地址是网段中连接其他网段的路由器的接口上的接口地址2.AR1配置:[Huawei]sysnameAR1[AR1]intg0/0/0[AR1-GigabitEthernet0/0/0]ipaddress192.168.1.25424[AR1-Gig
- NAT 和 IP 直接通信的区别
曹天骄
tcp/ip服务器网络协议
1.NAT的工作原理NAT(NetworkAddressTranslation,网络地址转换)是一种网络技术,用于将私有网络中的IP地址映射到公共网络中的IP地址,或者在不同的网络之间转换IP地址。NAT的主要目的是解决IPv4地址不足的问题,同时提供一定程度的安全性和灵活性。NAT设备(如路由器或防火墙)会在数据包经过时修改其源IP地址或目标IP地址。常见的NAT类型包括:静态NAT:将私有IP
- 007Java集合011遍历集合元素并修改
执笔未来
Java学习笔记java
注意:本文基于JDK1.8进行记录。1遍历Collection对List和Set的遍历,有四种方式,下面以ArrayList为例进行说明。1.1普通for循环使用普通for循环的遍历方式效率最高,尽量将循环无关的代码放置在集合外执行。代码如下:for(inti=0;ilist=newArrayList(); list.add(1); list.add(2); list.add(2); li
- java list遍历添加元素_Java List集合方法及遍历过程代码解析
清净平常心
javalist遍历添加元素
集合元素框架publicclassListDemo02{publicstaticvoidmain(String[]args){//创建集合对象Listlist=newArrayList();//添加元素list.add("hello");list.add("world");list.add("java");//输出集合对象System.out.println(list);//[hello,worl
- 【音视频】ffmpeg中AVpacket解析NALU总结
gma999
音视频ffmpeg
概述项目中涉及到一些向国标平台推送视频流的逻辑,因之前没有接触过该方面的知识,所以开始走了很多错误的路线,本文主要总结H265视频中解析出NALU方法代码实现输出[tcp@0x55842b7e60]Nodefaultwhitelistset[tcp@0x55842b7e60]Originallistofaddresses:[tcp@0x55842b7e60]Address192.168.1.181
- Rust语言——枚举与模式匹配
一只猪咪
rust开发语言后端
定义枚举枚举允许我们列举所有可能的值来定义一个类型关键字enumenumIpAdd{//枚举的变体可以是任意类型的甚至可以是结构体structv4(u8,u8,u8,u8),v6(String),v8{one:u32,two:u32},//匿名结构体}fnmain(){letfour=IpAdd::v4(127,0,0,1);//两个IpAdd的实例letsix=IpAdd::v6(String:
- MMD模型及动作一键完美导入UE5-Blender方案(三)
tangfuling1991
UE4移动端AndroidiOS入门ue5blenderMMD模型动作
1、下载并安装blender_mmd_tools插件1、下载并安装Blender,Blender,下载Blender3.6,下载太新的版本可能会跟blender_mmd_tools不匹配2、github下载blender_mmd_tools:https://github.com/UuuNyaa/blender_mmd_tools/3、Edit->Preference->Addons->Instal
- pip、Anaconda、docker、npm、cnpm、pnpm、yarn、conda、nvm等设置国内镜像仓库
软件科学研究院
pipdockernpm
一、pip设置阿里云镜像pipconfigsetglobal.index-urlhttps://mirrors.aliyun.com/pypi/simplepipfreeze>requirements.txt二、Anaconda设置清华镜像condaconfig--addchannelshttp://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/c
- Java List 接口的核心 API
胡歌1
javalistpython
1.添加元素方法:booleanadd(Ee):将元素添加到列表末尾。voidadd(intindex,Eelement):将元素插入到指定位置。booleanaddAll(Collectionc):将集合中的所有元素添加到列表末尾。booleanaddAll(intindex,Collectionc):将集合中的所有元素插入到指定位置。示例:importjava.util.ArrayList;i
- javaEE---JSTL代码示例
司天宏
2.jspusers=newArrayList();Useruser1=newUser(1,"令狐冲","男");Useruser2=newUser(2,"岳不群","男");Useruser3=newUser(3,"岳灵珊","女");Useruser4=newUser(4,"左冷禅","男");Useruser5=newUser(5,"东风不败","女");users.add(user1);u
- 让 Deepseek 写一个计算器(网页)
—Qeyser
HtmlJavaScript前端javascriptDeepseekaichatgpt
完整代码简单计算器body{font-family:Arial,sans-serif;display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f4f4f4;}.calculator{background-color:#fff;padding:20px;border-radius:10
- 【ARM系列】ARM常用汇编指令
阿兹尔猫
ARM系列arm开发汇编
本文目录前言数据传送指令MOV算数运算指令ADD(不带进位加法指令)SUB(不带进位减法指令)MUL(32位乘法指令)比较和跳转指令CMP(直接比较指令)BEQBNQBBL加载-存储指令LDRSTR移位指令LSLLSR系统寄存器访问指令MSRMRS逻辑运算指令AND(逻辑与指令)ORR(逻辑或指令)BIC(位清除指令)UBFXBFI前言在调试芯片启动代码或者分析ARMcore运行流程的过程中,尝尝
- fetch java_拦截Java语言中的Fetch()API响应和请求
就大概是这样
fetchjava
我想拦截Javascript中的提取API请求和响应。例如:在发送请求之前,要拦截请求URL,一旦获得响应,就要拦截响应。以下代码用于拦截所有XMLHTTPRequest的响应。(function(open){XMLHttpRequest.prototype.open=function(XMLHttpRequest){varself=this;this.addEventListener("read
- 【eNSP实战】基本ACL实现网络安全
敲键盘的Q
网络
拓扑图要求:PC3不允许访问其他PC和Server1PC2允许访问Server1服务器,不允许其他PC访问各设备IP配置如图所示,这里不做展示AR1接口vlan配置vlanbatch102030#interfaceVlanif10ipaddress192.168.1.254255.255.255.0#interfaceVlanif20ipaddress192.168.2.254255.255.25
- 【eNSP实战】配置NAPT(含动态NAT)
敲键盘的Q
网络
拓扑图要求:10.0.1.10和10.0.1.11这两个地址给内网计算机做NAPT使用设置地址如图所示AR1接口配置interfaceGigabitEthernet0/0/0ipaddress10.0.1.1255.255.255.0#interfaceGigabitEthernet0/0/1ipaddress192.168.0.1255.255.255.0#iproute-static0.0.0
- 8051汇编--条件转移指令
wperseverance
51单片机51单片机
在8051汇编语言中,控制转移指令用于改变程序的执行顺序,主要包括无条件转移、条件转移和调用/返回指令。以下是对这些指令的总结:一、无条件转移指令LJMP(LongJump)•功能:长转移,可以跳转到同一程序空间中的任何地址。•指令格式:LJMPaddr16,其中addr16是16位的目标地址。•特点:跳转范围大,适用于跨段跳转。•使用场景:当需要跳转到较远的地址时使用。SJMP(ShortJum
- 【eNSP实战】使用ACL实现路由器安全
敲键盘的Q
网络
拓图要求:允许10.0.0.0网段telent登录AR1,不允许其他主机telnet登录路由器设置接口如图所示AR1接口配置interfaceGigabitEthernet0/0/0ipaddress30.0.0.1255.255.255.0#iproute-static0.0.0.00.0.0.030.0.0.2AR2接口配置interfaceGigabitEthernet0/0/0ipaddr
- argparse.ArgumentParser args AttributeError: ‘Namespace‘ object has no attribute ‘xxx‘
城俊BLOG
Python报错#DL-基础标签
文章目录报错解决参数不需要写全更多要求已经添加了命令参数,但还是报这个错误。报错解决原因可能是参数添加顺序不对。正确的顺序:#先创建parserparser=argparse.ArgumentParser(description='xxx')#再添加参数parser.add_argument('--model',default=
- CSS3学习教程,从入门到精通, CSS3入门介绍的语法知识点及案例(1)
知识分享小能手
前端开发网页开发编程语言如门css3学习csshtml5前端javahtml
CSS3入门介绍一、CSS3选择器1.1基本选择器/*元素选择器*/p{color:red;}/*类选择器*/.myClass{font-size:20px;}/*ID选择器*/#myId{background-color:yellow;}/*通用选择器*/*{margin:0;padding:0;}这是一个段落这是一个带有类的段落这是一个带有ID的段落1.2属性选择器/*属性选择器*/[href
- redis的zset命令总结
脱氨垃圾
Redisredis数据库database
redis的zset命令总结文章目录redis的zset命令总结1.zadd2.zrem3.zcard4.zrange5.zrevrange6.zrangebyscore7.zrevrangebyscore8.zcount9.zrank10.zscorezset(sortedset:有序集合)Rediszset和set一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联
- [黑洞与暗粒子]没有光的世界
comsci
无论是相对论还是其它现代物理学,都显然有个缺陷,那就是必须有光才能够计算
但是,我相信,在我们的世界和宇宙平面中,肯定存在没有光的世界....
那么,在没有光的世界,光子和其它粒子的规律无法被应用和考察,那么以光速为核心的
&nbs
- jQuery Lazy Load 图片延迟加载
aijuans
jquery
基于 jQuery 的图片延迟加载插件,在用户滚动页面到图片之后才进行加载。
对于有较多的图片的网页,使用图片延迟加载,能有效的提高页面加载速度。
版本:
jQuery v1.4.4+
jQuery Lazy Load v1.7.2
注意事项:
需要真正实现图片延迟加载,必须将真实图片地址写在 data-original 属性中。若 src
- 使用Jodd的优点
Kai_Ge
jodd
1. 简化和统一 controller ,抛弃 extends SimpleFormController ,统一使用 implements Controller 的方式。
2. 简化 JSP 页面的 bind, 不需要一个字段一个字段的绑定。
3. 对 bean 没有任何要求,可以使用任意的 bean 做为 formBean。
使用方法简介
- jpa Query转hibernate Query
120153216
Hibernate
public List<Map> getMapList(String hql,
Map map) {
org.hibernate.Query jpaQuery = entityManager.createQuery(hql);
if (null != map) {
for (String parameter : map.keySet()) {
jp
- Django_Python3添加MySQL/MariaDB支持
2002wmj
mariaDB
现状
首先,
[email protected] 中默认的引擎为 django.db.backends.mysql 。但是在Python3中如果这样写的话,会发现 django.db.backends.mysql 依赖 MySQLdb[5] ,而 MySQLdb 又不兼容 Python3 于是要找一种新的方式来继续使用MySQL。 MySQL官方的方案
首先据MySQL文档[3]说,自从MySQL
- 在SQLSERVER中查找消耗IO最多的SQL
357029540
SQL Server
返回做IO数目最多的50条语句以及它们的执行计划。
select top 50
(total_logical_reads/execution_count) as avg_logical_reads,
(total_logical_writes/execution_count) as avg_logical_writes,
(tot
- spring UnChecked 异常 官方定义!
7454103
spring
如果你接触过spring的 事物管理!那么你必须明白 spring的 非捕获异常! 即 unchecked 异常! 因为 spring 默认这类异常事物自动回滚!!
public static boolean isCheckedException(Throwable ex)
{
return !(ex instanceof RuntimeExcep
- mongoDB 入门指南、示例
adminjun
javamongodb操作
一、准备工作
1、 下载mongoDB
下载地址:http://www.mongodb.org/downloads
选择合适你的版本
相关文档:http://www.mongodb.org/display/DOCS/Tutorial
2、 安装mongoDB
A、 不解压模式:
将下载下来的mongoDB-xxx.zip打开,找到bin目录,运行mongod.exe就可以启动服务,默
- CUDA 5 Release Candidate Now Available
aijuans
CUDA
The CUDA 5 Release Candidate is now available at http://developer.nvidia.com/<wbr></wbr>cuda/cuda-pre-production. Now applicable to a broader set of algorithms, CUDA 5 has advanced fe
- Essential Studio for WinRT网格控件测评
Axiba
JavaScripthtml5
Essential Studio for WinRT界面控件包含了商业平板应用程序开发中所需的所有控件,如市场上运行速度最快的grid 和chart、地图、RDL报表查看器、丰富的文本查看器及图表等等。同时,该控件还包含了一组独特的库,用于从WinRT应用程序中生成Excel、Word以及PDF格式的文件。此文将对其另外一个强大的控件——网格控件进行专门的测评详述。
网格控件功能
1、
- java 获取windows系统安装的证书或证书链
bewithme
windows
有时需要获取windows系统安装的证书或证书链,比如说你要通过证书来创建java的密钥库 。
有关证书链的解释可以查看此处 。
public static void main(String[] args) {
SunMSCAPI providerMSCAPI = new SunMSCAPI();
S
- NoSQL数据库之Redis数据库管理(set类型和zset类型)
bijian1013
redis数据库NoSQL
4.sets类型
Set是集合,它是string类型的无序集合。set是通过hash table实现的,添加、删除和查找的复杂度都是O(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。
sadd:向名称为key的set中添加元
- 异常捕获何时用Exception,何时用Throwable
bingyingao
用Exception的情况
try {
//可能发生空指针、数组溢出等异常
} catch (Exception e) {
 
- 【Kafka四】Kakfa伪分布式安装
bit1129
kafka
在http://bit1129.iteye.com/blog/2174791一文中,实现了单Kafka服务器的安装,在Kafka中,每个Kafka服务器称为一个broker。本文简单介绍下,在单机环境下Kafka的伪分布式安装和测试验证 1. 安装步骤
Kafka伪分布式安装的思路跟Zookeeper的伪分布式安装思路完全一样,不过比Zookeeper稍微简单些(不
- Project Euler
bookjovi
haskell
Project Euler是个数学问题求解网站,网站设计的很有意思,有很多problem,在未提交正确答案前不能查看problem的overview,也不能查看关于problem的discussion thread,只能看到现在problem已经被多少人解决了,人数越多往往代表问题越容易。
看看problem 1吧:
Add all the natural num
- Java-Collections Framework学习与总结-ArrayDeque
BrokenDreams
Collections
表、栈和队列是三种基本的数据结构,前面总结的ArrayList和LinkedList可以作为任意一种数据结构来使用,当然由于实现方式的不同,操作的效率也会不同。
这篇要看一下java.util.ArrayDeque。从命名上看
- 读《研磨设计模式》-代码笔记-装饰模式-Decorator
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.Fi
- Maven学习(一)
chenyu19891124
Maven私服
学习一门技术和工具总得花费一段时间,5月底6月初自己学习了一些工具,maven+Hudson+nexus的搭建,对于maven以前只是听说,顺便再自己的电脑上搭建了一个maven环境,但是完全不了解maven这一强大的构建工具,还有ant也是一个构建工具,但ant就没有maven那么的简单方便,其实简单点说maven是一个运用命令行就能完成构建,测试,打包,发布一系列功
- [原创]JWFD工作流引擎设计----节点匹配搜索算法(用于初步解决条件异步汇聚问题) 补充
comsci
算法工作PHP搜索引擎嵌入式
本文主要介绍在JWFD工作流引擎设计中遇到的一个实际问题的解决方案,请参考我的博文"带条件选择的并行汇聚路由问题"中图例A2描述的情况(http://comsci.iteye.com/blog/339756),我现在把我对图例A2的一个解决方案公布出来,请大家多指点
节点匹配搜索算法(用于解决标准对称流程图条件汇聚点运行控制参数的算法)
需要解决的问题:已知分支
- Linux中用shell获取昨天、明天或多天前的日期
daizj
linuxshell上几年昨天获取上几个月
在Linux中可以通过date命令获取昨天、明天、上个月、下个月、上一年和下一年
# 获取昨天
date -d 'yesterday' # 或 date -d 'last day'
# 获取明天
date -d 'tomorrow' # 或 date -d 'next day'
# 获取上个月
date -d 'last month'
#
- 我所理解的云计算
dongwei_6688
云计算
在刚开始接触到一个概念时,人们往往都会去探寻这个概念的含义,以达到对其有一个感性的认知,在Wikipedia上关于“云计算”是这么定义的,它说:
Cloud computing is a phrase used to describe a variety of computing co
- YII CMenu配置
dcj3sjt126com
yii
Adding id and class names to CMenu
We use the id and htmlOptions to accomplish this. Watch.
//in your view
$this->widget('zii.widgets.CMenu', array(
'id'=>'myMenu',
'items'=>$this-&g
- 设计模式之静态代理与动态代理
come_for_dream
设计模式
静态代理与动态代理
代理模式是java开发中用到的相对比较多的设计模式,其中的思想就是主业务和相关业务分离。所谓的代理设计就是指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。比如我们在进行删除操作的时候需要检验一下用户是否登陆,我们可以删除看成主业务,而把检验用户是否登陆看成其相关业务
- 【转】理解Javascript 系列
gcc2ge
JavaScript
理解Javascript_13_执行模型详解
摘要: 在《理解Javascript_12_执行模型浅析》一文中,我们初步的了解了执行上下文与作用域的概念,那么这一篇将深入分析执行上下文的构建过程,了解执行上下文、函数对象、作用域三者之间的关系。函数执行环境简单的代码:当调用say方法时,第一步是创建其执行环境,在创建执行环境的过程中,会按照定义的先后顺序完成一系列操作:1.首先会创建一个
- Subsets II
hcx2013
set
Given a collection of integers that might contain duplicates, nums, return all possible subsets.
Note:
Elements in a subset must be in non-descending order.
The solution set must not conta
- Spring4.1新特性——Spring缓存框架增强
jinnianshilongnian
spring4
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- shell嵌套expect执行命令
liyonghui160com
一直都想把expect的操作写到bash脚本里,这样就不用我再写两个脚本来执行了,搞了一下午终于有点小成就,给大家看看吧.
系统:centos 5.x
1.先安装expect
yum -y install expect
2.脚本内容:
cat auto_svn.sh
#!/bin/bash
- Linux实用命令整理
pda158
linux
0. 基本命令 linux 基本命令整理
1. 压缩 解压 tar -zcvf a.tar.gz a #把a压缩成a.tar.gz tar -zxvf a.tar.gz #把a.tar.gz解压成a
2. vim小结 2.1 vim替换 :m,ns/word_1/word_2/gc  
- 独立开发人员通向成功的29个小贴士
shoothao
独立开发
概述:本文收集了关于独立开发人员通向成功需要注意的一些东西,对于具体的每个贴士的注解有兴趣的朋友可以查看下面标注的原文地址。
明白你从事独立开发的原因和目的。
保持坚持制定计划的好习惯。
万事开头难,第一份订单是关键。
培养多元化业务技能。
提供卓越的服务和品质。
谨小慎微。
营销是必备技能。
学会组织,有条理的工作才是最有效率的。
“独立
- JAVA中堆栈和内存分配原理
uule
java
1、栈、堆
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型常量(public static f