vue 实现可拖曳的树状结构图
目录Vue递归组件drag事件最近用vue做了一个小项目--可拖曳的树状结构图。Vue递归组件结构通过Vue的递归组件实现布局使用flex,结构线由CSS伪类实现需要注意的是居中布局,当X轴元素过多导致子元素宽度超出视图,元素居中后虽然有滚动条,但只能到达右边的内容,左边的内容会无法访问,可以把...
2024-01-10使用 AJAX 和 history.pushState 无刷新改变页面 URL 加载网页
如果你使用 Firefox 和 Chrome 等先进的浏览器访问 Github 网站,你就会发现页面的切换是通过 AJAX 无刷新加载的,同时页面的 URL 发生了了改变,并且这样的处理能够很好的支持浏览器前进和后退。HTML5 里加入了新的浏览器 API、history.pushState 和 history.replaceState 功能,就是通过这个 API 接口做到无刷新改变...
2024-01-10MySQL InnoDB中的锁机制深入讲解
写在前面数据库本质上是一种共享资源,因此在最大程度提供并发访问性能的同时,仍需要确保每个用户能以一致的方式读取和修改数据。锁机制(Locking)就是解决这类问题的最好武器。首先新建表 test,其中 id 为主键,name 为辅助索引,address 为唯一索引。CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_...
2024-01-10分析PHP的垃圾回收机制
如果用过C语言,那么申请内存的方式是malloc或者是calloc,然后你用完这个内存后,一定不要忘了用free函数去释放掉,这就是传说中手动垃圾回收,一般都是扫地神僧用这种方式。很多高层次语言中,你这辈子都是接触不到内存管理的,比如世界上最好的语言php,这种语言替你管理了内存,你就安安心...
2024-01-10浅谈Rx响应式编程
目录一、Observable二、高阶函数三、快递盒模型3.1、快递盒模型1:fromEvent3.2、快递盒模型2:interval四、高阶快递盒五、销毁快递盒5.1、销毁快递盒——取消订阅5.2、销毁高阶快递盒六、补充七、后记一、ObservableObservable从字面翻译来说叫做“可观察者”,换言之就是某种“数据源”或者“事件源”,这...
2024-01-10Javascript异步编程之你真的懂Promise吗
目录前言基本用法语法错误处理Promise链式调用async & await常用的方法1、Promise.resolve()2、Promise.reject()3、Promise.all()4、Promise.allSettled()5、Promise.race()6、Promise.prototype.finally()实际应用前言在异步编程中,Promise 扮演了举足轻重的角色,比传统的解决方案(回调函数和事件)更合理和更强大。可能有些小伙伴...
2024-01-10JAVA图片水印开发案例详解
写在最前面上周零零碎碎花了一周的时间研究水印的开发,现在终于写了个入门级的Demo,做下笔记同时分享出来供大家参考。Demo是在我上次写的 JAVA实用案例之文件导入导出(POI方式) 框架基础上搭建的,基于Spring+SpringMVC。如果有错误还请大家指正。最后源码地址在:https://github.com/allanzhuo/myport.git...
2024-01-10Debian配置JDK1.7 与Linux Java Helloworld
其实JAVA的原生平台是Linux的,只是它可以跨平台运行而已。在Linux中甚至就有了原生的JDK,但是这些JDK难免不完整,因此最好自己配置一个JDK1,7,为以后的Tomcat,安卓等做好准备。下面以JDK1.7在Debian的配置为例子,讲解在Linux中如何配置JDK。一、JDK1.7的下载与安装1、首先,与在Windows配置JDK一样,打开J...
2024-01-10Java一些常见的出错异常处理方法总结
一些平时常见的错误及解决办法,我 是新手,每次遇到的错误都记录了下来。1. 404错误description The requested resource (/Struts2_0100_Introduction/hello.action) is not available. 先检查Manager Deployments,使之能打开(出现NullPointerException不能打开),主要是服务器在每次允许前备份,再修改了错误后不能及时更正。(如...
2024-01-10IM 系统设计,关于服务端如何管理连接的 Clients 问题?
RT,问题概况:想做一个类似聊天室的APP,属于没有太多经验正在探索中,看了一些文章没有读太懂,比如我觉得读扩散(Pull)模式适合我,但不懂里面说的发件箱和数据库的表是什么关系。数据库用的MongoDB,存储消息建了两个表send_message(主要储存消息内容)、 received_message(主要储存消息相关ID)...
2024-01-10请问ruby如何调用c++的动态库(.so)。
背景:1.c++有DEMO_Init()、time()、add()函数。2.而DEMO_Init()函数中又有小函数NET_DEV_Init(),小函数在.so中。3.需要用ruby调用DEMO_Init()、time()、add()函数。4.用的是swig工具。最后能成功调用time()、add()。问题:1.但是不能调用DEMO_Init(),会报错没有NET_DEV_Init()。但是NET_DEV_Init()在动态库.so文件中,我无法得知里面还...
2024-01-10c#程序循环查询数据的时候内存会不断的涨
问一个问题,就是c#程序循环查询数据的时候内存会不断的涨,数据库链接是写在循环里的,理论上循环一次程序就会自动回收一次,为什么会出现这个问题呢回答:看这个答案回答:回收不是实时的,你又不知道周期...
2024-01-10UIScrollView里面嵌套UITableView这种结构是否合理?
类似网易新闻和lofter这种多标签滚动切换的效果,我以为是在scrollview上添加tableview来实现的, 但这样实现感觉会导致ViewController臃肿不堪, 实现delegate和datasource也比较混乱;想听听大家对于架构这种界面有什么样的建议,能提高代码的复用还有把代码剥离放到合适的地方;真的好想写出结构清晰美观的代码...
2024-01-10struts2中下载文件,总是报错
在action中使用servlet的方法实现下载文件操作,总是报错,而且下载一个文件总是访问多次actionaction中代码是这样的结果是这样的:我只点了一次下载,但是它却访问了两次action,但下载功能仍然正常,是下载一次。但是不知道为什么一下载服务器上的exe文件就报这样的错误:你的主机中的软件终止了...
2024-01-10websevice客户端调用出现异常,出问题后,重启tomcat相关代码不会出现调用错误
1.通过wsdl2java命令生成的客户端代码;生成客户端代码cxf jar版本(CXF 3.1.10)与项目的jar版本(cxf: 3.1.2)不一致,这个有影响么2.测试时不会出现问题,正式环境才会出现问题,并且tomcat重启后问题解决,但是第二天早上可能又会出现问题回答:小版本一般影响不大;看异常是出现了空指针啊,由于...
2024-01-10java.util.List 类中的 get set 方法为什么没有可能抛出异常提示
通常一个方法如果有可能抛出异常,那么 IDE 会提示添加 throw ,然后上层函数就知道了。但是为什么 java.util.List 类中的 get set 方法可以这么写,而没有提示。回答:编译期不会要求捕捉运行时异常,也就是说 RuntimeExceptin 及其子类都是不强制要求捕捉的。看看 IndexOutOfBoundsExcepton 的继承树:java.lang....
2024-01-10二维数组的查找 数组越界问题
牛客网上做一道编程题,一直报出数组越界问题,但是我一直没看出来哪里越界了求助攻我的思路是 判断目标数是否在当前行范围中,若是,采用二分法咋找,若不是,跳到下一行public class Solution { public boolean Find(int [][] array,int target) { if(array==null) return false; int n = array.length;...
2024-01-10idea中,修改了xml之后,update resources为什么不起作用,必须要重启?
回答:idea是不提供刷新mybatis的xml文件的功能的。如果确实需要这样的一个功能,可以自己写一个监控xml文件变化的线程,然后监测到变化后重新加载xml文件。可以参考: Mybatis热部署加载Mapper.xml...
2024-01-10如何跨年计算 两日期之间相隔的周数 with java8 time API
如2015-12-01到2016-01-15隔了5周if (oneday.isAfter(sratDate) && oneday.isBefore(endDate)) { TemporalField weekFields =WeekFields.of(Locale.getDefault()).weekOfWeekBasedYear(); int startWeek = sratDate.get(weekFields); int oneWeek = o...
2024-01-10