- 博客(57)
- 资源 (8)
- 收藏
- 关注
原创 如何在iOS Safari/Android Chrome禁止手势缩放、阻止下拉刷新、阻止滑动前进后退
本文代码源自我在 StackOverflow Disable pull-to-refresh in iOS 15 Safari 的回答,难点在于 1. 同时兼容iOS Safari和Android Chrome 2. 足够标准不至于过段时间就不适用 3. 副作用小不至于让开发者左右两难
2022-12-06 01:15:28
4681
5
原创 各浏览器的setInterval实现细节测试
如何以指定的帧速绘制动画?用setInterval来调度误差大吗?下面的测试会给出解答。测试15fps的帧速(帧间隔毫秒为1000/15),测试持续60秒,期间页面一直保持显示状态(不切换到后台,不息屏)
2022-12-01 19:29:56
1110
原创 通过HTTP Link标头实现页面资源预加载(preload)
本文介绍一种采用HTTP Link响应标头的资源预加载方式http-preload,通过预先定义preload manifest文件来描述哪个页面需要预加载哪些资源,并使用Node.js, Tomcat, Nginx等多种服务端的middleware/filter读取preload manifest按照其中的描述规则来实现页面资源预加载。...
2022-07-24 19:35:48
1568
原创 一种3D视频格式转换(H264 MVC至SBS / OU)方案
本文介绍如何使用系列软硬件对3D MVC编码的蓝光视频进行Rip,Split,Transcode,Merge,最终得到3DFull-SBS或Full-OU格式,以便在VR头显上观看。
2022-07-23 01:45:06
4752
原创 系列关于Windows主机与Linux虚拟机的集成技巧
通过在Windows端和虚拟机Linux端安装系列软件并按一定的方式配置,开发者可以实现类似于WSL那样的Linux虚拟子系统。
2022-07-07 11:30:28
1013
1
原创 给网站添加“开放搜索描述“以适配浏览器的“站点搜索“
要在一个常用网站搜索,想必大部分人会这样:而如果一个网站适配了浏览器的"站点搜索"(site search)特性,或者说添加了"开放搜索描述"(opensearch description),那么用户可以也通过以下方式进行搜索:如果你需要频繁新打开页面在一个网站搜索,使用站点搜索方式来搜索通常可以节省时间。以下步骤将以站点www.example.com为例,介绍如何将一个现有查单词的搜索功能集成到浏览器地址栏。例如:search.osdx,放置在站点首页旁边服务器在提供search.osdx时最好使用标准
2022-06-23 11:11:41
828
原创 VSCode语法高亮 禁用括号花俏的颜色
问题升级VSCode到版本1.67之后,源代码的语法高亮 各种括号(小括号、中括号、大括号)成了代码中最醒目的,黄色、紫色、各种颜色看起来没有规律。排查一开始我以为是那个扩展程序不兼容最新的VSCode,搞乱了语法高亮功能。于是我尝试了各种操作,以试图让代码高亮恢复以往的正常,包括:禁用所有扩展程序,重开VSCode,卸载所有扩展程序,…卸载VSCode, 删除VSCode遗留目录(appdata/settings),重启Windows,…重装VSCode,…问题依旧,因此可以基本确定是V
2022-05-07 22:01:19
4385
11
原创 一种canvas动画的帧速控制方法
在使用requestAnimationFrame时,如何以指定的帧速绘制动画?我能想到的是:假设检测到浏览器允许的requestAnimationFrame帧速为60fps,要实现30fps动画只需在每2个requestAnimationFrame回调中丢弃1个,要实现24fps则在每5个中丢弃3个,要实现59fps呢?当然是在每60个中丢弃1个。关于帧丢弃的规则,我之前的设想是预设一些帧丢弃的范式例如 60fps转24fps的范式为[1,0,0,1,0,1,0,0,1,0,...](其中的0代表丢弃帧
2022-03-24 15:43:57
1866
1
原创 一些Pixel手机的使用技巧
作为用过3款Pixel手机的用户,平时总结了一些技巧,现分享给大家。安装Files应用来启动内置的文件管理器适用于Pixel/Android 10或后续机型/系统其实Pixel内置一个文件管理器,功能对一般人来说是够用的。但默认情况下要通过设置 > 存储 > 文件才能将其启动。安装Files就可以以应用的方式快速启动它。启用谷歌拼音输入法适用于Pixel 2/Android 11或后续机型/系统把系统刷成Android 11后,默认输入法从谷歌拼音输入法变成Gboard。谷歌拼音输入
2022-03-13 16:04:32
7850
原创 在Debian/Ubuntu安装Tomcat
这个话题的文章已经有很多人写,但每个人起点/途径/目的都可能不一样。先介绍我写这篇博客的场景:起点:Ubuntu 20.04 LTS x86-64 Server途径:直接从apt仓库安装软件包,并大体按照Debian推荐的方式来配置目的:可作开发自测环境(支持远程调试、支持一键WAR包部署),兼模拟生产环境(开启APR、开启SSL)安装过程注:下文中提到的Shell命令均不带sudo,请酌情添加sudo,或改通过用户root来执行安装JDK可直接从apt仓库安装OpenJDK,或下载
2021-10-31 00:31:17
1488
原创 OpenSSL自签名SSL证书相关脚本
本文介绍的OpenSSL脚本采用自签名CA(以方便多份证书的签发和使用)支持SAN(主体备用名称)导出各种文件格式,并简述文件用法以下脚本仅供参考,风险自负1. 证书的请求创建目录接口mkdir sslcd sslmkdir certs private csr conf# intial directory structure# ssl/# ├── certs/# ├── conf/# │ ├── ca.conf# │ └── localhost.conf# ├─
2021-10-29 09:55:57
2791
2
原创 DCI-P3广色域显示器的支持现状
有了DCI-P3广色域显示器当然要让它发挥出色,只是平台/框架的支持正在发展,离真正的应用还需要些时日,但这不妨开发者实验性地探索。
2021-10-16 19:31:40
3128
原创 配置PotPlayer渲染HDR10视频
要尽可能正确地渲染HDR10视频,这里分两种情况,请根据自身情况对号入座。第一种情况:显示器没通过DisplayHDR认证,位深度低于10-bit,色域没达到90% DCI-P3/AdobeRGB此时PotPlayer的默认设置已考虑到HDR10视频的呈现问题,会做HDR->SDR tone mapping,所以开箱即用,无须特别设置第二种情况:显示器通过DisplayHDR认证,颜色位深度达到10-bit,亮度峰值达500nits,色域达到90% DCI-P3/AdobeRGB。
2021-10-16 18:34:43
15309
1
原创 Ethernet应用层有效网速计算方法
此方法用于计算以太网应用层的理论传输速率,理论传输速率跟以下因素相关第四层:TCP 或 UDP第三层:IPv4 或 IPv6第二层:MTU值第一层:链路速度(10Mbps ~ 100Gbps)/** * calc transfer speed over TCP or UDP * @param {number} bps - 10Mbps to 100Gbps * @param {mtu} mtu - 1500(standard), 7935(lan) or 9000(jumbo) * @pa
2020-12-18 19:09:54
820
1
原创 Nginx的跨源/跨域配置宏cors_params
网上搜到的很多Nginx CORS配置虽然也起作用,但是可能因未参考规范而缺少基本的逻辑判断,不能表达CORS的工作原理。Tomcat中有参考自CORS specification的CORS实现CorsFilter,用起来非常方便...
2020-07-20 20:03:05
888
原创 配置Debian/Ubuntu桌面版,默认启动到CLI界面
为什么虽然安装Linux系统时选择了安装了桌面环境,但有些时候我们用Linux只是为了运行一些服务,启动到CLI终端就够了,并不需要每次都启动到GUI桌面环境,毕竟启动到桌面环境会多占用一些系统资源。我希望系统默认启动到CLI,如果在CLI使用过程中要使用GUI,再通过运行startx切换过去。怎么弄备份/etc/default/grub,编辑/etc/default/grub,调整或添加...
2020-05-07 14:13:16
1835
原创 配置PotPlayer和Dolby Access启用耳机杜比全景声
背景电影的6声道8声道环绕声通常由播放器程序(如PotPlayer)downmix成2声道立体声输出,因downmixing算法质量参差不齐,空间音效也无从保证。Windows10中新增一种名为WaveOut音频输出过滤接口,从架构层定义了音频过滤的机制。杜比实验室依靠多年的混响经验,推出了基于WaveOut接口的Dolby Atmos for Headphones,可接收并加工其他播放器输出...
2020-05-07 13:30:17
43179
23
原创 用VirtualBox安装Debian/Ubuntu到物理磁盘,并实现从BIOS启动Debian/Ubuntu
操作步骤1. 腾出一块磁盘准备好所腾出磁盘的序号按Win+R运行diskmgmt.msc打开磁盘管理鉴别出所腾出的磁盘,记住其序号(如0),后面需要用到(如SELECT DISK 0, PhysicalDrive0)2. 使用DISKPART修改磁盘属性以管理员身份打开命令行窗口,执行diskpart执行SELECT DISK 0选择要操作的磁盘 (0代表所腾出磁盘的序号)执...
2019-10-25 16:37:36
1452
原创 把Windows PC打造成最基本的路由器
介绍本文不是:Windows如何在创建WiFi移动热点本文也不只是:Windows如何启用Internet共享本文分享的是:把Windows PC作为简单NAT路由器(基于但不限于Internet共享),将PC与其他终端连接,实现数据高速传输,以作的应急之需。背景两台电脑之间要传输大量数据,需要以最快的速度实时传输(通过1000M以太网口)。可能存在的问题: 1. 没有相应配置的路由器...
2019-05-09 00:28:38
26935
1
原创 进一步配置Nginx支持HTML5 history state,React browser router
Nginx支持支持HTML5 history state,基本的配置方法如下 location / { try_files $uri /index.html; }你很快就会发现这种配置方式地缺点:只要/index.html存在,就服务端不会有响应404状态,包括实际资源不存在的JS/CSS/图片等请求。上述缺点导致的问题可能会让人抓狂:页面出不来预期效果,网络加载...
2019-01-10 19:56:02
1373
原创 Servlet IO限速的一种粗略实现
本实现参考了 Daniel Matuschek - A FilterInputStream with a limited bandwith分别为设置下载限制速度为1MB/s 128KB/s 256KB/s,使用wget测试下载速度
2017-12-04 21:35:06
638
原创 解决"Eclipse启动Tomcat时一直preparing launch delegate"的终极方法(如果是)
描述墙内的搜索不给力,最近经常使用代理翻墙搜索,然而这时不时Eclipse启动Tomcat时却时常卡住,即使Tomcat报告Server startup in 301 ms。尝试也曾尝试按照 Eclipse 中 Tomcat启动卡100%(preparing launch delegate…) 来解决,然而这样的文章对我的情形不适用
2017-11-20 12:19:01
14281
1
原创 解决 “The absolute uri: xxx cannot be resolved in either web.xml or the jar files“
背景:使用Eclipse + Tomcat + Maven Project组合;在Eclipse中启用了Serve modules without publishing模式来部署Maven Project到Tomcat;在Eclipse中,Tomcat以调试模式运行问题:用浏览器访问Maven Project中一个页面(该页面用到jstl),服务器响应500,The absolute uri: xxx cannot
2017-03-02 11:48:42
23082
4
原创 解决Windows中修改hosts文件不起作用的问题
网传的什么“保证hosts文件编码为ANSI”,什么“执行net stop Dnscache”,什么“执行ipconfig /flushdns”,全都不适用。通过分析发现“修改hosts文件不起作用”是因“hosts文件的权限不对”导致
2017-02-13 11:01:41
20928
2
原创 文档属性时间戳修改
前几天翻阅了几年前收藏的一些文档,当对这些文档进行一番整理后,我发现部分文档属性中的修改日期变了。虽然文档元数据中存有更靠谱的修改日期信息,但是人们了解修改日期的第一途径是查看文档属性中的。 我想让文档属性中的修改日期保持原样,因为HTTP服务器在列出目录时,显示的修改日期是文档属性的。为修改文档属性的各个时间戳,我花了周五周六两天零碎的free time,做了一个修改文档时间戳的小工具FreeTime
2016-10-30 13:13:02
3638
原创 一般人不清楚的JavaScript概念
1. literal2. IIFE3. property and expando4. mixin5. shim and polyfill6. SemVer
2016-10-23 01:18:31
1573
原创 在Windows 8使用Chrome打开文件时Class not registered(没有注册类)的另类解决办法
最近基于Chrome一个扩展程序私人定制了一个Markdown查看器My GitHub Flavored Markdown,它可以查看本地或在线的md文档。当把md文件设置为使用Chrome打开时,双击md文件系统总会有对话框提示”Class not registered”;而当把md文件设置为使用Notepad打开时,则没有此问题。先后在http://answers.microsoft.com/
2016-10-15 11:43:26
7765
原创 ECMAScript 6时代悄悄来临
NodeJS v6 LTS将于2016-10-01发布,特点是正式支持ES6。回头看各浏览器(Chrome,Firefox,Safari),开发工具(Eclipse,WebStorm),压缩工具(Closure Compiler),文档工具(JSDoc)对都开始支持ES6,发现ECMAScript 6时代已经悄悄来临
2016-09-30 23:50:17
828
原创 彻底禁用UAC,解决“Windows 8/10 Administrator须以管理员身份运行才有权限”的问题
那时,开发用的新电脑一来,因系统配置的操作较多,我不想受太多权限束缚,所以登入系统后的第一件事就是启用Administrator用户,然后注销登录Administrator,并把安装时创建的用户删掉。用着用着我发现:作为Administrator之后,执行某行操作仍然没有足够权限,以至于运行cmd后无法通过net start MySQL启动服务,也无法使用mklink创建符号链接。这让人甚是困惑
2016-09-28 23:03:50
13620
原创 多份HTTP服务80端口复用问题
我们知道:1台主机有65536个端口(0~65535),每个进程会占用1个端口,HTTP协议的默认端口是80。问题现有多份HTTP服务(设作HTTPD,IIS,Tomcat)要运行时,若都想用默认端口去访问,就出现80端口稀缺的问题。常规方案通常的做法是设一个Web代理服务器(如Nginx),根据HTTP请求头Host来转发到相应的服务。本文思路好在可以通过端口转发来解决这个问题。端口转发,其原
2016-09-13 21:54:52
9358
原创 Windows之修改鼠标或触控板的滚轮方向
自从用了Mac再回来使用Windows时,鼠标滚轮的滚动方向我不习惯。 于是将家用,办公和移动三台Windows设备的鼠标或触控板的滚轮方向全部作了倒置。虽有时候别人用起来不太习惯,可是PC(Personal Computer)大部分时间都是自己在用,何必委屈自己。 具体方法,一些博友中有分享,如ahjesus - 更改windows鼠标滚轮的方向这里不再复述。 补...
2016-08-30 09:52:51
15326
原创 解决Windows下载(Downloads)目录打开速度异常慢的问题
最近我的Downloads目录打开特别慢,每打开需耗费近10秒的时间。虽说里面有100多个文件,可C:\Windows\System32里有4000多个文件却还能流畅打开。通过谷歌搜索”Windows Explorer Open Folder Slow”,我很快找到了问题原因和解决方法: 右击文件夹选择属性,在选项卡切换到”自定义“,在“优化此文件夹”下拉列表中选择“常规项目”,并“确定”。 此
2016-08-16 13:34:40
5023
1
原创 Polyfill hashchange Event oldURL and newURL attributes for IE 9+
No oldURL or newURL attribute in hashchange event? try this solution.
2016-04-30 17:33:17
1459
原创 CSS的逻辑长度与现实的物理长度
已知在现行的CSS版本中,in、cm、px是逻辑绝对长度单位,独立于显示设备,三者的转换关系是1in=2.54cm=96px。1in在显示设备(后文称显示器)上呈现多长,由操作系统的分辨率配置与显示设备的规格共同决定...
2016-02-21 22:29:24
2456
原创 JavaScript String Byte Length of UTF-8
To calculate byte length( with UTF-8 encoded) of a string, here you are, a proper method...
2016-02-21 19:31:05
1451
原创 Mac OS X磁盘重新分区后 BootCamp Windows启动项丢失
我有一台Mac,装有OS X和Windows两系统。两系统中又分别安装了VirtualBox,创建了虚拟机。...常规情形,OS X不能对NTFS分区进行写操作,Windows亦不能对HFS+分区进行写操作。...因Windows和OS X都能读写exFAT分区,故若在Machintosh HD和Windows HD之间开辟一个exFAT分区...
2016-01-15 23:51:39
15110
原创 纯文本转超文本
本文介绍一种将纯文本转换成超文本的方法,使其转成的超文本内容在HTML页面中预览的效果与原纯文本预览的效果一致。该转换可采用正则表达式搜索替换来实现,具体规则如下:将HTML中5个基本保留字符(<, >, &, ", ')转换成对应HTML实体("&lt;", "&gt;", "&amp;", "&quot;&qu
2015-12-09 17:35:48
988
2
原创 用命令行对closure compiler进行封装调用
部分JavaScript库只提供src版,min版及其map则需要自己生成。为简化编译操作,我写了一个封装closure compiler的小批处理,以简化调用参数
2015-06-18 21:42:49
3483
会循环跑的类marquee实现(改进版)
2011-08-05
Native2ASCII快捷方式 properties
2012-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅