自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 收藏
  • 关注

原创 电脑护眼之硬件

如何选购护眼显示器

2022-11-09 18:25:40 133

原创 cloudflare使用笔记

鲨鱼主机和cloudflare联合

2022-07-19 13:48:51 269

原创 美国鲨鱼主机使用笔记

鲨鱼VPS ubuntu

2022-07-11 20:15:09 269

原创 centos7 netfilter过滤程序

centos7下netfilter示例程序

2022-07-03 15:01:26 317

原创 html5离线缓冲(service worker)

最简单示例程序

2022-06-24 11:48:03 117

原创 tomcat 9 配置https

tomcat9 http改https

2022-06-17 16:17:27 998

原创 制作linux下netfilter过滤驱动程序

centos下网包过滤

2022-06-16 08:54:18 333

原创 SSH断开连接时长控制ServerAliveInterval

SSH自动断开解决

2022-06-13 12:14:46 497

原创 vscode使用笔记

配置文件内容解释

2022-06-07 20:56:30 148

原创 vscode安装笔记

可以在windows上安装Visual studio code通过插件远程连接linux。这对于习惯了windows界面编程的我是最佳选择。

2022-06-06 20:48:02 148 3

原创 html5 canvas绘图模糊总结

canvas绘图过程中出现模糊情况及解决办法

2022-05-12 22:05:17 438

原创 象棋AI最佳杀着

显而易见,黑方已在劫难逃。红方只需车四进一就可绝杀。然而我的象棋AI却走出车五平六,虽然最后依然绝杀黑棋,却绕了一大圈。问题出在两个地方,第一个是:function search(){ var WINVALUE = 9000; var best = 0; var result = 0; while(var step = nextStep()){ var vl = alphaBeta(1,step); if(vl >= WI..

2022-04-16 20:42:21 291

原创 CSDN MD编辑器添加内锚

传统html编辑器叫内锚,MD编辑器里叫标题/目录。点击右侧“语法说明”有介绍。首先要把文章中需要跳转到的位置处添加上标题/目录。一级标题/目录是文字前加一个"#“号,二级标题目录是两个”#“号依此类推。最后你在文章开头加上一行这个是总的目录,你只需指定一个名字如"文章目录”、"内容索引"之类的。MD编辑器会根据你文章中设置的标题(目录)自动生成相应内容。...

2022-03-30 12:47:21 178

转载 JS 程序中可能存在的内存泄漏

目录:不正当的闭包隐式全局变量游离DOM引用遗忘的定时器遗忘的事件监听器排查问题一、不正当的闭包闭包是指有权访问另一个函数作用域中的变量的函数,通常情况闭包就是函数内部嵌套并 return 一个函数。function fn1(){ let test = 'isboyjc' return function(){ console.log('hahaha') }}let fn1Child = fn1()fn1Child()上面是是一个典型闭包,但是它并没有造成内存泄

2022-03-30 12:24:01 548

原创 同一wifi下电脑共享文件夹

1.控制面板,用户帐户下开启各自guest帐号2.控制面板\所有控制面板项\网络和共享中心\高级共享设置 关闭密码保护共享3选择要共享的文件夹,属性-共享-高级共享设置 设置读写权限

2021-12-22 12:54:46 2921

原创 html5 ApplicationCache的两个坑

注:浏览器以chrome为例1.MANIFEST文件的加载晚于DOM的加载。所以当浏览器发现有更新并下载后,网页其实已显示了出来,不过还是旧版!想让新内容显现需要reload。var cache = window.applicationCache;var count = 0;if(window.navigator.onLine){ cache.addEventListener('noupdate', function(e){ console.log("没有更新可用")

2021-10-02 07:52:51 125

原创 jquery获取鼠标位置(兼容原生js)

e.offsetX/e.offsetY 鼠标点距绑定事件的dom源左上角距离e.clientX/e.clientY 鼠标点距浏览器客户区左上角距离e.pageX/e.pageY 鼠标点距浏览器文档左上角距离e.screenX/e.screenY 鼠标点距屏幕左上角距离注:1.有文章说firefox不支持offsetX/offsetY,经测试新版firefox已支持了。这样以上4种位置实现了主要浏览器的兼容(IE/Chrome/Firefox)2.当body没有滚动条时,offset和

2021-08-31 12:34:30 321

原创 消除canvas闪烁

canvas的闪烁主要和平台有关,如何去避免需要慢慢积累经验。1. clearRect造成闪烁使用clearRect清空局部区域后重绘能会造成闪烁。PC上问题不大,移动端比较明显。(注clearRect(0,0,canvas.width,canvas.height)也会闪烁,除非是clearRect(0,0,canvas.width+1,canvas.height+1))。原因:可能是canvas抗锯齿的动作导致。关于该问题的分析见:https://stackoverflow.com/que

2021-08-26 15:59:32 1453 1

原创 [cache和buffer的区别]canvas的缓冲绘图

canvas的缓冲绘图涉及到两个概念,一是“双缓冲”,二是"预渲染"。双缓冲历史已久。记得当年学习windows编程时就用到了双缓冲技术,先在内存中开辟一块画布,在上面执行完绘制操作后,把该内存画布作为一幅图片整体投射到屏幕上。这样可以避免显示器闪烁。而预渲染则是把图画中常用到的一些背景部分预先画到一个buffer上,当动画中需要显示该部分时,直接从buffer上拷过来用就行了。"双缓冲"和"预渲染"是两个不同的技术。需要注意的是:在html5 canvas编程中,已不需要双缓冲了。因为浏览器已

2021-08-23 19:00:52 406

原创 JS用匿名函数封装库

var Test = (function(){ var global = 123; return function(value){ var local = value; this.add = function(){ console.log(global += local); } }})();new Test(2).add();//125new Test(2).add();//127new Test(2).add();//129.

2021-08-13 12:23:48 76

原创 java - List集合中如何删除多个元素?

/* 删除ArrayList集合中的 "bbb" 元素.*/public class list { public static void main(String[] args) { // 定义ArrayList集合,并存入多个字符串。 ArrayList<String> list = new ArrayList<>(); list.add("aaa"); list.add("bbb"); .

2021-06-11 13:38:07 708 1

原创 eclipse子包不显示在父包里面

Eclipse 中包结构展开有两种方式:一:平坦方式(flat),(如图一);二、分层方式(hierarchical)需要调整package presentation(项目树视图右lp)

2021-06-03 17:43:35 235

转载 web.xml中一个filter配置多个url-pattern

需要在filter标签后添加多个filter-mapping标签,一个url-pattern就对应一个filter-mapping标签,不能直接把多个url-pattern配置到同一个filter-mapping标签里,也不能直接把多个url直接配置到一个url-pattern标签里。正确地配置方式如下所示:<filter> <filter-name>test</filter-name> <filter-class>com.t

2021-05-17 18:52:40 662

原创 viewport 说明

手机的DPI要大大高于PC显示器。在移动端浏览器中以及某些桌面浏览器中,window对象有一个devicePixelRatio属性。这个属性可以反映出手机和一般PC在DPI上的差距。比如我的vivo x27手机其devicePixelRatio值为3,就是x27的DPI是一般PC的3倍。也就意味着如果你在网页中定义的大小(字体或者图形尺寸)在PC上看起来大小正好的话,放到我手机上大小只有PC上的1/3,会感觉到小的不行。比如高25个像素的按钮在PC上感觉正好,那么在手机上就得定义成75像素,不然会太小难以操

2021-03-27 21:14:50 75

原创 windows下升级tomcat

原版本是7.0.27,WebSocket中的createWebSocketInbound方法只有一个参数,而29后版本有两个参数使用更方便。步骤:1. 首先下载解压tomcat7.0.34到任意目录2. 在eclipse中配置tomcat,基本路径是:打开Eclipse,单击“Window”菜单,选择下方的“Preferences” ,单击“Server”选项,选择下方的“Runtime Environments”。选择tomcat版本和位置。3. 由于我删掉了旧的tomcat配置,结果程序

2020-08-17 14:23:25 2970

转载 js 怎样判断用户是否在浏览当前页面

转自:https://www.cnblogs.com/csuwujing/p/10315309.html有些时候我们需要在项目中判断用户是否在浏览当前页面,或者当前页面是否处于激活状态。然后再进行相关的操作。浏览器中可通过window对象的onblur、onfocus判断,或者document的hidden属性判断。1、window.onblur & window.onfocus关于是否失焦点,浏览器对象有onfocus和onblur事件可以监听。但是触发这两个事件的前提是页面之前是..

2020-08-13 13:34:31 470

原创 本地测试网页出现跨域错误

ajax请求出现跨域请求错误(虽然服务器返回了数据),经查原来是打开网页文件的方式不对。我直接双击打开了网页文件,这样它的地址就是file:///开头。正确应该是http://localhost:8080/项目名/网页名...

2020-08-03 17:48:57 228

原创 获取元素在文档中的位置

视口、窗口,文档,屏幕座标,窗口座标,逻辑座标。这些概念是我在学习《windows程序设计》时接触到的。在学习js/jquery/css时也会遇到类似概念。感觉有点混乱,自己去理解好了,程序里能运行就是正确的。首先“文档”是什么?我认为文档就是窗口中的内容。如果文档的尺寸超过窗口尺寸,那么窗口就可以显示滚动条。我想获取文档中某处元素(domx)到文档开头(dom0)的距离。可以使用以下方法:方法1:domx.offsetTop方法2:$(domx).offset().top -$(dom0)..

2020-07-18 22:29:20 231

转载 Java基本类型与byte数组之间相互转换

package com.my.wxf4j.utils;import java.nio.charset.Charset;public class ByteUtil{ public static byte[] getBytes(short data) { byte[] bytes = new byte[2]; bytes[0] = (byte) (data & 0xff); bytes[1] = (byte) ((data...

2020-07-08 19:23:19 168

原创 在eclipse中使用mysql【基于JDBC】

1. 首先找一个依赖包比如mysql-connector-java-5.1.39-bin.jar放到WebContent/WEB-INF/lib文件夹下2 .选择Project - Properties - Java Build Path - Libraries - Add JARs添加3 .在项目中新建Package名为mysql4. 将下面两个类添加到mysql包下package mysql;import java.sql.Connection;import java.sql.D

2020-07-02 11:47:47 388 1

原创 eclipse操作

1.移除项目先右键close,然后再移除。删除时可选连物理文件一并删除。2.创建项目时指定classes文件夹路径

2020-07-02 09:27:56 78

原创 避免重复局面

重复局面不论是在真人对弈,还是象棋AI中,都要尽量避免。确认局面重复非常简单,遍历zobrist 队列就可以了。但后续处理比较麻烦,要不同情况具体分析。一. 在AI中在搜索算法中,发现局面重复,首先判断重复的性质:(1) 为了进攻而导致重复(具体又可为了捉将和捉子)(2) 遭受攻击,为了逃避而触发重复。(3) 无意义的废棋。仅情况(2)被允许,其它情况予以剪裁。二...

2020-03-22 11:22:01 138

原创 PVS技术及其不稳定性探讨

dynamism(depth,upperLeft,left),被搜索点的分值应介于(left,-upperLeft)之间。如果这个区间向两侧扩展,会使得搜索效率降低,但不会影响搜索结果。如果向内收缩,会加快搜索速度,但会影响搜索结果。区间收缩分两种情况讨论,一是left值增大(下边界收缩),二是upperLeft值增大(上边界收缩)。PVS(Principal Variation Search...

2020-03-14 13:21:45 258

原创 超出边界搜索和不超出边界的搜索

前文说过,一个点的分值不可以低于其兄弟点分值,否则触发剪裁。假如兄弟点最佳分值为8(left值),那么当前点分值不高于8都可触发剪裁。当前点可以返回其具体分值(7、6、5、4....)这叫超出边界(left == 8)。也可以返回8,这叫不超出边界。function dynamism(depth,upperLeft,left){ if(depth >= MAXDEPTH){ r...

2020-03-14 11:56:12 258 1

转载 图像为什么刷新一下才能显示?启动时是空白页,这是怎么回事?

转载自:https://bbs.csdn.net/topics/390057728弄了很久才用<canvas>标签显示出图像来,可是启动浏览器之后必须刷新一下才能看到图像,不然就是空白的什么都没有。哪里的问题。。。。。。[html文件]<!DOCTYPEhtml><html><head><title>javascript&...

2020-03-08 11:09:24 367

原创 html5 audio异步模式测试

setTimeout(fun1(),0);fun2();fun1必需要等于fun2执行完成后才能运行,即使是把延时设为0毫秒。如果fun2是一个比较费时的操作,感觉尤为明显。

2020-02-17 21:17:19 564

原创 对空着裁剪的思考

空着剪裁的形式很简单:比如红棋走完该黑棋走了,黑棋不走,让红棋继续走一步,然后黑棋再走...那么原理是什么?中局阶段,获取某一方的走法,约有40个左右。这其中顶多有两个,甚至只有一个是好的着法。大部分是无用甚至送死着法。这么多坏着,每个都要进行指定深度的搜索,确实是可惜了电脑的时间~回到开头,假设红棋刚走了r1,黑棋不走,让红棋继续走,然后形成了r1,r2,b1,r3,b2,r4,b3...

2020-02-12 20:30:05 270

原创 中国象棋left-upperLeft搜索算法

一. 搏弈树红棋走一步后,黑棋有多种应对招法。黑棋走完后,红棋又有多种走法可选。依次类推,就构成了一个搏弈树。 【 图1 】二. 静态评分在某个点上,不考虑后续步法,仅对双方当前形势好坏进行评分。评分以棋子质量为基础。如果该点是红方行棋,得分为红方质量为r减去...

2019-07-01 10:55:37 284

原创 html5 canvas画粗线时座标指定注意事项

画粗线时,座标不能定位在画布边界上,就是0或者width或者height。这是因为canvas画线粗线时是以你给定座标值为中心向两侧绘制,如果把座标定位到画布边界上,那么画出来的线就只有你给定粗细值的一半。...

2019-02-26 10:26:34 272

原创 js splice方法的返回值

参考:http://www.w3school.com.cn/jsref/jsref_splice.asp如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。 var a = [1,2,3];a= a.splice(2,1);//这样写就错了a.splice(2,1);//正确...

2019-01-17 12:02:30 2709

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除