Code

01
Oct
TradingView简易教程(二) —— UDF接口
本教程仅限于实现最基础功能,更详细精进的功能请绕道(ノ≧∀≦)ノ・‥…━━━★ ピキューン!上一篇教程介绍了如何配置TradingView的图表,这篇教程讲述如何通过UDF实现数据的传输。UDF接口文档UDF介绍Universal Data Feed 通用数据饲料,基于HTTP协议的旨在以简单有效的方式向图表库提供数据。以上为官方介绍,你只需要根据官方给出的接口文档写一份接口就行了,接口的调用图表自身会去完成。必须接口GET /config返回一个数组对象用于配置图表,详细属性参照文档public function config() { $config = array( ...
3,026
2018/10/01
25
Sep
safari浏览器输入法遮挡input解决方案
safari浏览器用户在输入一些诸如用户名密码一类的东西时,通常会发生输入法遮挡住输入框的情况,而其他浏览器不会.那是因为其他浏览器例如Chrome,当用户输入法弹出时,浏览器高度也随之改变,变为手机屏幕高度-输入法高度,所以我们能在弹出输入法后依然能滑动浏览器到底部.但是safari不同,用户输入法弹出后浏览器高度不会改变,当用户输入时,如果输入框下方页面足够长,浏览器会自动滑动页面,让输入框在输入法上方,倘若输入框下方的页面不够往上抬,则只能让输入法遮住输入框.此解决方案思路为当用户输入时,在html底部,即页面底部添加一个带高度的空div,使其高度约等于输入法高度.用户结束输入时,...
1,190
2018/09/25
24
Sep
Nodejs Http请求数据被分段
Nodejs中的http模块,发起http请求时,如果回复的数据过长,会被分段传回来如图,第一条json数据太长,在"cumulativeGasUsed"处被拆分成两断了 var req = http.request(options, res => { var data = ""; res.on("data",chunk => { data += chunk; }); res.on("end", () => { ...
677
2018/09/24
20
Sep
TradingView简易教程(一) —— 基础配置
本教程仅限于实现最基础功能,更详细精进的功能请绕道(ノ≧∀≦)ノ・‥…━━━★ ピキューン快速入口:TradingView中文文档TradingView授权申请虽然TradingView是一款开源插件,但是要使用它还是得需要官方的授权,使用github账号申请,申请地址,申请完之后可访问私有仓库插件引入插件下载完毕后会有如上所示文件tv-chart*.html会在插件运行后自动生成,除此之外还会有一些官方自带的demo.charting_library 插件 |__charting_library 插件目录 |__static 插件静态资源 c...
5,737
2018/09/20
15
Sep
Nodejs客户端websocket绕过ssl验证
因为项目网站使用的免费证书,导致安卓和nodejs的一些业务都出现了无法验证.报错:unable to verify the first certificate解决方案ws.connect("wss:localhost:6666", null, null, {rejectUnauthorized: false})Nodejs中大多数的websocket库都能用该方法解决
939
2018/09/15
14
Sep
Node.js中服务端和客户端的websocket应用
Node中的websocket通常用作服务端,但是今天在写JS脚本的时候才了解到Node的websocket也可以做用户端,即require('websocket').client服务端var WebSocketServer = require('websocket').server; var http = require('http'); var server = http.createServer(function(request, response) { console.log((new Date()) + ' Received request for ' + reque...
750
2018/09/14
10
Sep
使用pako.js解压服务端传来的gzip文件(火币api)
在接入火币api的时候发现,火币websocket中传输的数据均已经gzip压缩过,需要在客户端解压这里使用pako.js解压,直接上代码前端环境//需要先引入pako.js socket.onmessage = function (msg) { if (msg.data instanceof Blob){ blob = msg.data; let result = ''; let reader = new FileReader(); reader.readAsBinaryString(blob); ...
4,026
2018/09/10
07
Sep
Linux使用screen执行长时间运行的任务
当我们用SSH或者telent登录到远程服务器后,在执行例如websocket之类的需要长时间运行任务的时候,如果此时断开链接,正在进行的任务也会被强制终止。在Linux/Unix中,有这样几个概念:进程组(process group):一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID。会话期(session):一个或多个进程组的集合,有唯一一个会话期首进程(session leader)。会话期ID为首进程的ID。会话期可以有一个单独的控制终端(controlling terminal)。与控制终端连接的会话期首进程叫做控制进程(controlling pr...
1,298
2018/09/07
26
Aug
Mysql插入数据无默认值用0代替
1.修改Mysql配置  MYSQL安装目录--->搜索打开my.ini   查找:sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"   修改为:sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"   重启mysql2.使用sql语句临时设置  进入数据库,use所需要操作的表set global sql_mode='ONLY_FU...
516
2018/08/26
11
July
JS判断浏览器
function isBrowser() { var userAgent = navigator.userAgent; //微信内置浏览器 if(userAgent.match(/MicroMessenger/i) == 'MicroMessenger') { return "MicroMessenger"; } //QQ内置浏览器 else if(userAgent.match(/QQ/i) == 'QQ') { return "QQ"; } //Ch...
550
2018/07/11