自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (3)
  • 收藏
  • 关注

转载 golang使用redis(redigo)

redigo

2022-07-18 16:52:46 1012

原创 记录一个坑了我三天Go语法导致gob解析pb的bug

写代码写多了就是犯糊涂bug源代码和修改好的代码一张清晰的截图对比:错误的调试信息进行解析后报错:unexpected EOFfunc DispatchPacket(packet rpc.Packet) bool { xxxx... 解析代码: buf := bytes.NewBuffer(rpcPacket.RpcBody) dec := gob.NewDecoder(buf) dec.Decode(&messageNa

2022-04-25 17:58:47 580

原创 Golang服务器部署SSL超级大坑

我第一次部署golang SSL相关的东西这2天用golang部署wss给小游戏测试我把拿到完整的pem拆解出cert给ListenAndServeTLS传进去为什么要拆出来用呢!?因为ListenAndServeTLS给的传参提示是certFile string结果我特么给ListenAndServeTLS第二个参数使用的文件居然是这货的结果!openssl x509 -in server.pem -out server.crt结果是啥文件呢?就是特.

2022-03-17 15:02:58 4394

原创 CocosCreator Label优化

1.需要修改引擎,参阅引擎定制工作流程2.BITMAP缓存优化原理,参阅【乐府】突破Label的缓存模式之(1) BITMAP - Creator - Cocos中文社区3.查看动态合图的api运行时在console中输入开启cc.dynamicAtlasManager.showDebug(true);关闭cc.dynamicAtlasManager.showDebug(false);4.修改记录cocos2d/core/renderer/utils/label/tt..

2021-09-17 09:11:34 1481

原创 CocosCreator关于DrawCall数量增加逻辑

1.Sprite + 1 空的+0,多一张图片+1,多个Sprite同一张图集=12.Label + 13.RichLabel + 24.Particle + 1

2021-09-03 10:43:02 455

原创 CocosCreator图片载入优化

无疑之间看到这段代码,400M+的项目用了后300M+,不知道原理,莫名其妙,在此记录一下,顺便求大神解惑cc.game.once(cc.game.EVENT_ENGINE_INITED,()=>{ let oldHandleLoadedTexture = cc.Texture2D.prototype.handleLoadedTexture; let optimizedHandleLoadedTexture = function(premultiplied){ oldHandleLoa.

2021-08-24 10:45:18 474

原创 Golang Map并发问题

今天在面试过程中遇到了一个问题:map在并发时怎么保证一致性(简化后的问题)。这里记录一下2大map一个是老的map类型一个是1.9版之后的sync.map老的map解决办法比如 使用互斥锁,使用channel进行封装(太麻烦)sync.WaitGroup也是一个不错的选择sync.map里面有一些常用方法需要了解一下:func syncMap(){ var sm sync.Map //向a这个key里面存111 sm.Store("a",111) //读值 s

2021-07-23 18:37:55 154

原创 分布式服务器读写数据问题

假如这段操作放到不同的微服务里去使用怎么确保数据的一致性和原子性func change_balance(uid, amount int64){ user := getUser(uid) // user: { balance } 进行数据库查询select * from t_user where uid = uid if user.balance + amount < 0 { return errors.new("balance error") } user.balance +=

2021-07-07 14:36:21 117

转载 golang redigo并发的问题

正在开发游戏服务器客户端是个坑,所有信息都在登录请求,导致我这边没有做连接池的redigo崩溃redigo: unexpected response line (possible server error or unsupported concurrent read by application)找了一天才定位到问题所在...

2021-05-30 22:36:20 1421

原创 解决go语言range遍历map的乱序问题

开发过程中遇到个map必须顺序遍历的时候测出了bug然后取查询这个range排序map的问题搜到一篇文章https://www.cnblogs.com/noKing/p/11661567.html我截取重要部分放在这里:==========分割线==========WHAT?发现下面这段代码,多次运行出的结果是不一样的 1 2 3 4 5 6 7 8 9 10 11 12 13

2021-05-25 18:58:24 2583

原创 protobuf.js使用uint64类型超过16位长度decode的bug

protobuf.js使用uint64类型超过16位长度decode的bug原版在这里:https://www.npmjs.com/package/protobufjsprotobuf-library.js里有个LongBits的原型toNumber是这样写的:LongBits.prototype.toNumber = function toNumber(unsigned) { if (!unsigned && this.hi >>> 31).

2020-10-21 17:46:54 2040

原创 Node.js 搭建 HTTPS 服务器

在 Node.js 中开启一个 HTTP 服务很简单,如果想使用 Node.js 开启一个 HTTPS 的服务需要两步:一是生成签名证书,二是还需借助 Node.js 提供的系统模块 HTTPS 完成。自签名证书通常在企业中面向公网使用的证书通常是由全球权威 CA 机构签发的证书,受各大浏览器厂商信任。在开发测试时为了简单点我们可以自签名证书,但是这在浏览器中打开时会有安全问题提示。使用 openssl 工具生成自签名证书。简单分为以下几个步骤: 使用 openssl 的 genrsa

2020-10-12 17:32:14 684

转载 pomelo/pinus在linux环境上的简单部署

在pomelo目录的根目录或pinus的dist脚本生成目录创建一个随便文件名的js文件,粘贴以下代码var masterJsonFile = require('./config/master.json');var serversJosnFile = require('./config/servers.json');//pomelo 源码目录var cwd = '/home/yunyou_pinus_server/game-server/dist';//配置运行环境 developmen

2020-08-10 10:40:21 1036

原创 修复目前CocosCreator2.3.4热更新插件以及热更新的问题

最近在做项目用的是2.3.4的CocosCreator我用老项目(1.9.3版)的main.js覆盖到2.3.4里发现热更新各种问题,搞了好久还是出现热更新第二次打开游戏丢失文件等一系列问题。今天无意之间看到官方文档里面的一段代码https://github.com/cocos-creator/tutorial-hot-update// 在 main.js 的开头添加如下代码(function () { if (typeof window.jsb === 'object') {

2020-07-08 10:24:58 2577

转载 pomelo相关的转载

今天发现的,这里面不知道有没有什么好的干货反正我自己做的时候没参考这些教程nodejs+pomelo+mysql实战经验分享 简书专题:pomelo 游戏开发 Pomelo框架参考 pomelo - 寒风 - CSDN博客 专栏:pomelo入门 - CSDN博客 分类: Pomelo | Vitah's Blog remote的写法支持es6的class么 pomelo-admin-web 不能使用及其解决方案 Pomelo 常见问题集Cocos Creator 相关.

2020-06-22 18:18:02 167

原创 CocosCreator2.3.4,Android APP,接入穿山甲SDK的激励视频

文章时间:2020年6月13日。工具:CocosCreator : 2.3.4 (以下简称CCC)Android Studio : 4.0 (以下简称AS)SDK : Android 9.0(Level 28)NDK : 29.0.3(最新版本是30.0.0)本篇文章只针对CCC打包成Android应用的过程CCC项目构建时我的选择项:(我这是竖屏游戏,各位自己构建时注意设备方向的选项)现在基本上都是安卓9.0系统,我自己手机时安卓10,有几个同事的是安卓9,所...

2020-06-13 10:54:00 9920 2

原创 TypeScript中的HTTP协议请求与接收

无意在ts官方网站的“起步”里看到一张图片,出于好奇点进去看了一下附上链接:https://github.com/Microsoft/TypeScript-WeChat-Starter下面有一段代码是这样的:import * as express from "express";import * as request from "request";import sha1 = require("sha1");let app = express(); // Insert metada

2020-06-06 11:10:09 5644

原创 NodeJS多种创建WebSocket监听的方式

第一种,原生自带的//引用net库的方式const net = require('net');const server = net.createServer((socket)=>{ socket.on("connect",(data)=>{ console.log("connect"); })});server.listen("8111","127.0.0.1")//js的原生方式const websocket = requir.

2020-06-02 11:36:48 1138

转载 cocoslua3.10升级到cocos3.17.2 记录(二)

转载自:https://www.cnblogs.com/mingfuqishi/p/11458114.html参考:https://blog.csdn.net/shimazhuge/article/details/798481991.首先将cjson加入到libluacocos2d工程(cjson目录:/frameworks/cocos2d-x/external/lua)...

2020-05-01 22:33:15 467

原创 cocoslua3.10升级到cocos3.17.2 记录(一)

原引入如下:Scheduler=require("framework.scheduler")原调用方法如下:查找资料后改为:cc.exports.Scheduler=cc.Director:getInstance():getScheduler()Scheduler.scheduleScriptFunc([callbackfunc],[delay],false...

2020-05-01 19:55:38 633

转载 23种设计模式总纲

设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两类:并发型模式和线程池模式。

2017-05-31 10:27:43 296

NodeJS深入浅出

2017-05-01

NodeJS实战

2017-05-01

空空如也

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

TA关注的人

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