主页

setInterval与setTimeout

setInterval与setTimeout setInterval setInterval()方法可按照指定的周期来调用函数或者计算表达式(以毫秒为单位) 语法: setInterval(函数表达式,毫秒数); setInterval()会不停的调用函数,直到clearInterval()被调用或者窗口被关闭,由 setInterval()返回的ID值可用作clearInterval()方法

Nginx配置跨域请求 Access-Control-Allow-Origin

Nginx配置跨域请求 Access-Control-Allow-Origin *当出现403跨域错误的时候 No ‘Access-Control-Allow-Origin’ header is present on the requested resource,需要给Nginx服务器配置响应的header参数: 12345location / { add_header Acce

Nginx配置CACHE-CONTROL

https://www.cnblogs.com/sfnz/p/5383647.html Nginx配置CACHE-CONTROLHTTP协议的Cache-Control指定请求和响应遵循的缓存机制 请求时的缓存指令包括no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached等 响应消息中的指令包括public、private、no

Nginx配置proxy_pass

Nginx配置proxy_pass在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。 第一种: 123location /proxy/ { proxy_pass http://127.0.0.1/;} 代理到URL:http://127.0.0.1/test

Nginx配置worker_cpu_affinity 提升性能

原文:https://blog.csdn.net/songxiuliang/article/details/68060901 Nginx配置worker_cpu_affinity 提升性能Nginx默认没有开启利用多核cpu,我们可以通过增加worker_cpu_affinity配置参数来充分利用多核cpu的性能。cpu是任务处理,计算最关键的资源,cpu核越多,性能就越好。 规则设定 (1)

Nginx配置Etag

Nginx配置Etagnginx官网上说默认是开启etag的。 对于nginx,etag的格式是 unixtime-filesize 12unixtime: 文件的修改时间的unix time的十六进制filesize: 文件大小(字节)的十六进制 所以,要产生etag,必须有两个条件: 12文件时间文件大小 对于反代(包括proxy_pass, uwsgi_pass, fast-cgi等),不

运营参数说明

运营参数说明 PCU(Peak concurrent users )最高同时在线玩家人数。 ACU (Average concurrent users)平均同时在线玩家人数。 DAU(Daily Active User)日活跃用户数量。常用于反映网站、互联网应用或网络游戏的运营情况。 WAU是周活跃用户数量 MAU(monthly active users)月活跃用户人数。是在线游戏的一

yum 安装的nginx 增加模块

yum 安装的nginx 增加模块 查看编译参数 1234567nginx -Vnginx version: nginx/1.14.0built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)built with OpenSSL 1.0.1e-fips 11 Feb 2013TLS SNI support enabledconfigure argu

Nginx 根据url参数负载均衡

Nginx 根据url参数负载均衡 第三方模块ngx_http_upstream_consistent_hash 尝试使用第三方模块ngx_http_upstream_consistent_hash模块,问题: 如果某个节点挂了,则不会自动迁移到其他可用节点,致命问题。 发现nginx本身的hash就可以实现url参数负载均衡 1234567upstream wsbackend {

MP3转OGG

MP3转OGG 格式工厂 直接MP3转OGG会有很多文件转换失败,需要按照如下步骤: 先从MP3转成WAV 再从WAV转成OGG

js 集合转数组

js 集合转数组 Set 转数组 12var set = new Set([1, 2, 3, 3, 4]);Array.from(set) //输出[1,2,3,4] Map 转数组 12var m = new Map([[1, 2], [2, 4], [4, 8]]);Array.from(m); // 输出:[ [1, 2], [2, 4], [4, 8] ] 字符串 转数组 1

Nodejs moment 使用

Nodejs moment 使用 引用 1var moment = require('moment'); 当前时间 12var now = moment();var now = moment(new Date()); 通过字符串生成日期 1234var day = moment("1995-12-25");var day = moment(&qu

MongoDB 时间查询

MongoDB 时间查询Date方式查询日期大于等于2019年01月01日 1db.xxx.find({"ct":{$gte:new Date(2019,1,1)}}) ISODate方式查询日期大于等于2019年01月01日 1db.xxx.find({"ct":{$gte:ISODate(&q

Creator点击EditBox弹出虚拟键盘挡住EditBox

Creator点击EditBox弹出虚拟键盘挡住EditBox部分浏览器或app里面的webview会出现这个问题,目前的解决方案是自己监听事件移动EditBox位置 监听 Editing Did Began 和 Editing Did Ended 123456onEditBegin(event, customEventData){ this.mRootNode.y = th

app 缓存优化效果

app 缓存优化效果app 增加缓存前后打开游戏对比 游戏 NetWork Load time before cache load time after cache Game1 Wifi 00:00:05 00:00:02 Game1 Cellular (4G) 00:00:23 00:00:11 Game2 Wifi 00:00:10 00:00:01 Game2 C

JS对象引用、浅层拷贝与深层拷贝

JS对象引用、浅层拷贝与深层拷贝 使用JSON.parse()与JSON.stringify()对简单对象进行深层拷贝 123var clone = function (obj) { return JSON.parse(JSON.stringify(obj));} 对象深拷贝方法 1234567891011121314var clone = function (o

setTimeout 和 setInterval

setTimeout 和 setInterval setInterval 少用 如果setInterval执行的代码由于某种原因出了错,它还会持续不断(不管不顾)地调用该代码 setInterval无视网络延迟,仍然会按定时持续不断地触发请求 与setTimeout不同,你并不能保证到了时间间隔,代码就准能执行 setTimeout 替代 setInterval 使用链式setT

linux 查看日志关键字

linux 查看日志关键字 前n行: 1cat test.log | head -n 200  # 查看test.log前200行 尾n行: 1cat test.log | tail -n 200  # 查看test.log倒数200行 根据关键词查看日志并返回关键词所在行: 123cat test.log | grep "http"  # 返回test.lo

游戏启动黑屏时间长

游戏启动黑屏时间长 没有启动splash图片 预加载的声音文件太多 1SimpleAudioEngine::sharedEngine()->preloadEffect(soundfile.c_str()); 游戏第一个界面太复杂 安卓包里加载的第三方sdk太多,初始化不要都放到启动界面里

盒子特殊问题及要求

盒子特殊问题及要求由于盒子的水平质量参差不齐,故有如下问题需要注意: 安卓 要大于等于 22 build.gradle123compileSdkVersion 22minSdkVersion 22targetSdkVersion 22 project.properties 1target=android-22 资源异步加载的会出问题,导致资源没加载成功,图像是黑色方块了 123Armat

creator切后台音乐再开问题

creator切后台音乐再开问题问题: 12cc.audioEngine.pauseMusic();cc.audioEngine.resumeMusic(); 这两个方法在某些浏览器,切后台再切回会失效,并且播放的背景音乐id不再受cc.audioEngine控制 可以采用如下方法规避此问题: 1234567891011121314151617// 监听切后台cc.game.on(cc.gam

python压缩打包脚本

python压缩打包脚本 common压缩py 1234567891011121314151617181920212223242526272829#!/usr/bin/python# -*- coding: UTF-8 -*-from xml.dom.minidom import parseimport xml.dom.minidomimport jsonimport osimport tim

win10下端口被占用解决办法

win10下端口被占用解决办法 cmd打开控制台 1netstat -ano|findstr 8080 找到占用端口的进程id 打开任务管理器 找到进程结束任务即可

防止 scrollview 上按钮在滚动中响应

防止 scrollview 上按钮在滚动中响应在滚动时,经常会按到不想按到的按钮,十分影响用户体验,解决方法如下: scrollview上添加按钮 12345678910for(let i = 0; i < 10; i++){ let countryCell = cc.instantiate(prefab); let button = countryCell.ge

telnet 基本使用

telnet 基本使用telnet用于远程登录到网络中的计算机,并以命令行的方式远程管理计算机。需要注意的是,远程机器必须启动telnet服务器,否则无法打开telnet命令。 退出 输入 ctrl + ] 两个键 1telnet> quit 然后再输入 quit即可 查看某一个机器上的某一个端口是否可以访问 1telnet 192.168.1.1 8080

js判断方法是否存在

js判断方法是否存在1 123if (typeof testFun != 'undefined' && testFun instanceof Function) { //存在} 2 1234if (对象名.方法名) { //存在} 3 12345678if(typeof(testFun)==&quo

盒子按键监听注意

盒子按键监听注意 监听所有按键响应 除了返回按键,其他按键最好都要冒泡,因为返回按键也冒泡会导致游戏按返回就直接切换到后台了 \cocos2dx\platform\android\java\src\org\cocos2dx\lib\Cocos2dxGLSurfaceView.java 123456789101112131415@Overridepublic boolean onKeyDow