一,背景 项目从windows部署到centos,在客户端获取数据出现中文乱码,自己百度半天,各种编码设置也没有解决问题。 二,排查 根据上下文推测,应该跟系统的编码有问题,因为windows 默认编码gdk,然后centos默认编码是utf-8。所以猜测代码里面涉及系统默认编码问题,于是猜测 String getbytes(),如果改成getbytes("utf-8")就没有乱码了。 三,总结 乱码问题,基本都是服务器和客户端编码对不上导致的问题
一,背景 项目从windows部署到centos,在客户端获取数据出现中文乱码,自己百度半天,各种编码设置也没有解决问题。 二,排查 根据上下文推测,应该跟系统的编码有问题,因为windows 默认编码gdk,然后centos默认编码是utf-8。所以猜测代码里面涉及系统默认编码问题,于是猜测 String getbytes(),如果改成getbytes("utf-8")就没有乱码了。 三,总结 乱码问题,基本都是服务器和客户端编码对不上导致的问题
背景 新手使用electron 会遇遇到自己的html页面加载的Js无法使用node js功能,Preload加载干什么,上下文隔离的问题,这个对于我使用electron确实造成困扰。 关键词 nodeIntegration preload contextIsolation 详解 nodeIntegration 控制渲染进程加载页面是否能够调用node js功能,高版本默认关闭,意思就是加载的html是无法使用node js代码,如果你想用就必须设置 nodeIntegration 为 true。 preload …
背景 今天自己给快速打开增加自动启动,但发现开机启动后 无法正常运行。 排查 通过开发者模式发现路径到C盘系统的目录,我原来用的process.cwd(),返回进程的当前工作目录。后面我换成process.execPath 然后通过path 模块获取文件夹路径,这样子获取一定是安装目录执行的exe。同时不要__dirname 这个代表源码目录,因为打包了,所以目录对不上。
背景 这个之前上传过,但后来发现有bug,导致可能出现不能多开,后面自己修复同时借鉴微软的handle工具【逆向分析】,win8以后【包含win8】,采用新的API,可以减少内存分配,防止内存不够用,导致内部能多开的情况【出现概率还是非常低的】。 原理 这个之前写过,由于自己博客的数据库,被自己不小心删除,导致文章消失了,通过系统API 【微软没有暴露出来】,遍历所有句柄就可以拿到对应的句柄,然后复制句柄,调用关闭即可。【window 核心编程有讲复制API的知识】 代码: https://github.com/x…
一,背景 这个很久之前就想开发的小工具,自己陆陆续续开发一段时间,方便快速打开自己常打开的url.为了练手前端,开始用纯原始的js 开发界面,你会在设置界面发现一个丑陋的菜单,这个就是原生js代码弄的,没有用到前端ui控件,后面接触jquery,amazeui,于是导入进来,现在算是前端基本可以快速开发了。话说对于习惯wpf 和 windows 界面开发,用html开发界面确实不太习惯, 说明 软件快速通过关键词或者关键词的缩写打开对应的网址,因为自己常常会开一些web,进行访问。 这个软件有点借鉴utools,这…
一,背景 自己找了一个datetimepicker, 算是比较流行,但自己测试在IE8没法赋值。他的官网是https://xdsoft.net/jqplugins/datetimepicker/。 二,排查 我从源代码入手,在不同的事件加入日志,最终找到IE8出现代码的地方。 在2573 地方 这里我改成blur,源码对应的blur.xdsoft,第一次看这种写法,自己才最近开始写前端代码,对jquery不是很属性。ie8 选择事件或者点击其他的就会触发blur事件,IE8以上就不会,于是我直接写屏蔽代码。 三,解…
背景 一个接口A会请求另外一个接口Btoken是否有效【因为2个服务器,token存放在 接口B redis里面】,为了减少接口A请求B的次数,我们希望在A实现一个简单的过期Map。 逻辑 用对应的语言的map 创建定时器随机抽取一些值做是否过期校验【确保线程问题,因为我们用Node 全部都在主线程,所以没有竞争,其他语言可以通过任务队列来保证线程竞争,建议不要加锁】 获取key校验是否过期,然后再验证是否有效 总结 上述思路借鉴redis过期逻辑,保证cpu消耗和内存占用,一种比较好的策略。同事开始希望用redi…
背景 我最近正好遇到这样子的需求,自己跟同事讨论一下,得出了一些结论,于是我就写下来方便其他遇到类似的问题。 需求 用户访问一个url,然后这个Url会调到公众号得到用户授权,然后获取openid,然后跳转到最终的展示页面。同事开发时候直接跳转了最终的展示页面,同时带了openid,却没有其他验证,我开始跑流程时候没有注意到这个逻辑,后面突然发现,你既然没有带任何验证,openid 又是固定,那么用户只要复制这最终的url,那么他后面就不需要任何授权。所以这个就一个非常巨大的安全问题。 解决方案 公众号回调接口时候…
## 背景 因为自己一台云服务器,先搭建好运行环境,再安装宝塔,所以不想再安装套件,但每次都会弹出提示框。 ## 解决方案 找到宝塔安装目录,我的默认[C:\\BtSoft](C:\BtSoft),打开js C:\\BtSoft\\panel\\BTPanel\\static\\js\\index.js , 我的是宝塔7.1.0。文本跳到51行,然后进行代码屏…
背景 今天同事无意间说百度网盘下载不限制了,我觉得不可能,除非百度网盘实现P2P奖励机制,最后确认缺失百度的P2P奖励机制,我们不限制下载方式,当然依赖官方这个设置。 什么是P2P奖励? 你帮百度网盘提供下载资源给其他用户,其他百度用户从你这下载,你获得对应的报酬 怎么设置? 勾选提速模式,理论上你刚开启提速模式,加速应该不明显,因为你的没有提供上传,但我没有测试,因为自己是会员,所以我选择积分模式。 总结 百度:这种可能是百度一种算是双赢的模式,因为百度用户实在太多,免费用户占比应该比较大,提供这种方式,可以减少…