自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 简单封装了一个spring-retry的工具类,使用非常方便。

使用如下:

2022-06-21 15:44:40 384 1

原创 Android中Webview显示全屏拉伸图片

需要在一个视频view上叠加一个webview显示一些第三方的内容,例如视频、图片、h5页面等。显示图片时出现了边框和滚动条等不在预期的内容。犹豫对html

2021-06-17 11:14:08 1051

原创 MySQL的锁,共享锁,排它锁

首先要明确,如果不指定具体锁那么InnoDb引擎中update,delete,insert语句自动加排他锁的。接下来说手动加锁的情况。 共享锁 后缀是LOCK IN SHARE MODE,例如:/* 开启事务1 */BEGIN;/* 查询ID为1的数据并加上共享锁 */SELECT * FROM `test` WHERE `id` = 1 LOCK IN SHARE MODE;COMMIT;多个事务的查询语句可以共用一把共享锁;意义是多个事务都可以通过LOCK IN SHA

2020-11-30 17:56:13 204

原创 c++11通过std:bind绑定类成员模板函数

目前网上的教程大都是bind类成员函数,基本上加上this后和bind普通函数差别不大。很少遇到bind类成员模板函数的,我也是在阅读buttonrpc_cpp14源码时遇到的相关用法。不得不佩服buttonrpc_cpp14的作者,把c++11和C++14的新功能玩得真叫一个6。话不多说直接上代码:class ThreadObject{public: typedef std::function<void(std::string)> tTask;public: Thre

2020-11-25 14:50:29 2945

原创 关于mem_fun_ref和mem_fun的应用场景

mem_fun_ref和mem_fun都属于函数适配器。除此之外,还有bindlst(op,value) 和bind2nd(op,value)等。我的理解是,bindlst(op,value) 和bind2nd(op,value)是针对标准类型的函数适配器。而mem_fun_ref和mem_fun是专门针对类成员函数的函数适配器。有如下一段代码:class Person{public: Person(const string &name) : name_(name) {}.

2020-10-14 14:56:46 162

原创 C++函数对象

(部分例子源于其他文章,以下为个人理解,不对的地方欢迎指正)函数对象也称为仿函数,需要重载运算符operator(),函数对象可以接受0到多个参数,只需在operator()后面新增即可如:bool operator() { return true; }或者bool operator()(int n) { return n; }函数对象使用时必须带(),参数写在()后面。范例class CFunObj{publ...

2020-10-13 22:35:21 169

原创 ios crash分析,锁定出问题的代码行数

定位crash最重要的是复现问题,或者获取出现问题的crash文件。如果根据用户或者测试提供的操作手顺,我们也可以复现问题,那就简单了,直接去device logs中获取crash信息。如下图:首先我们找到crash线程,可见Thread 1为出问题线程,然后根据堆栈信息,锁定最上面的一行"0x0000000104a5cc30 0x104484000 + 6130736"为出问题代码。有了crash的log,接下来需要根据dSYM文件,找到对应代码。至于dSYM文件的作用,大家可以自

2020-10-13 16:57:37 830

原创 C++中常用的库函数用法范例(不定时更新)

C++中常用的库函数用法范例greater()和less()greater()和less()范例一,在函数中使用template <typename A, typename B, typename U = less<int>>bool m(A a, B b, U u = U()){  return u(a,b);}int main(){  cout << less<int>()(10, 12) <<eendl;  cout

2020-10-10 16:23:46 272

原创 npm install 报错npm ERR! git: ‘credential-cache‘ is not a git command

更换了电脑更新代码。gitclone正常的。但是npm install报错,开始怀疑和用户名密码有关,但是怎么都搞不定,按照网上的教程在凭据管理器根本没有https相关域名的用户名密码信息。后来把注意力放到上面一行npm ERR! git: 'credential-cache' is not a git command. See 'git --help'.搜了下,原来win下仅仅有git和npm还不够,还需要一个git相关凭据管理.下载地址如下:https://github.com/Micro.

2020-09-01 11:32:56 776

原创 eclipse使用的keystore转换为android studio的jks

之前公司的项目打包apk一直使用的eclipse,现在由于需要必须通过android studio打包。用过android studio的都知道打包的签名文件使用的是jks格式,为了保证签名的指纹信息一致,现在需要将以前eclipse的keystore转换为jks格式的签名文件。需要用到的工具:1.keystore格式签名文件:例如:game1_release.keystore2....

2020-05-07 11:57:05 423

原创 ZeroMQ的几种模式和使用场景

ZeroMQ也看了几天了,感觉这个库就是为我而生的,一直很讨厌封装底层socket,这个库的出现,的确对于通信的基础工作减轻了很多。ZeroMQ一共有以下几种模式:PUB - SUB REQ - REP REQ - ROUTER DEALER - REP DEALER - ROUTER DEALER - DEALER ROUTER - ROUTER PUSH - PULL PA...

2020-04-23 15:23:24 2505

原创 js的接口(Interface)定义和示例

定义接口(Interface)的实现。然后定义一个接口ResultSet有两个函数['getDate','getResults'],并且这个接口名字是Interface的第一个参数。最后示例是实现一个对象resultObject,遵循接口ResultSet,这个对象resultObject必须实现接口定义的两个函数['getDate','getResults'],且通过resultFo...

2020-01-02 14:15:56 23408 2

原创 Android AppLink功能实现,原理和干货,包教会

AppLink简单来说就是你的app注册一个scheme,当安卓系统发现有用户点击可以识别的scheme,并且这个scheme在你的app中注册过,则会拉起你app的指定activity,并且可以附带参数。不过由于Android只能识别http开头的链接,因此你注册其他scheme基本上也没意义。举例来说,可以测试注册asdkfh://www.我的app.com。由于Android不认识asd...

2019-11-20 10:07:30 9581 3

原创 从libuv中提取出来的双循环链表

就一个文件:/* Copyright (c) 2013, Ben Noordhuis <info@bnoordhuis.nl> * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted...

2019-10-14 16:51:35 212

原创 使用webview的h5游戏在iPhoneX设备全屏的实现

用cocosCreator做的h5小游戏,在有刘海的iphone上无法全屏,出现了安全区问题。折腾了一下午,主要是对h5和html这些web 的东西很陌生,现在基本解决了问题。由于我们的前端载体是基于quickcocos3.3的内嵌webview实现,因此还需要找的cpp部分创建uiwebview的代码修改部分。主要需要修改两处实现:1.在cocos2dx引擎的UIWebVIewI...

2019-07-26 11:44:41 1935

原创 CocosCreator动态加载预制体

目前有两个办法加载预制体,一个是动态加载,一个是放到scene上动态加载 showTip(str){ //我們先動態取得Canvas var CanvasNode = cc.find( 'Canvas' ); if( !CanvasNode ) { cc.log( 'find Canvas error' ); return; } ...

2019-07-04 19:11:27 16573

转载 c++实现的最小堆定时器 ubuntu可运行

在ubuntu上实现了最小堆定时器,关于最小堆的算法也是站在前人的肩膀上实现的,因此本帖不能算原创。在Ubuntu上可以编译运行,在main中的死循环如果放在线程中,就基本达到可用的了。最小堆算法在minheap-internal.h中,封装的类在my_timer.h和my_timer.cpp中。minheap-event-firecat.h是一些宏定义。minheap-event-f...

2019-06-18 17:52:59 679

转载 prototype & _proto_

每个js学习者的必经之路,虽然复杂,必须攻克。网上收集的资源会不定期更新到这里。没事了看看。 在JS中并不是所有对象都拥有 prototype 属性,只有函数类型的变量拥有该属性。也就是只有通过 function ,或者是与 function 对应的构造方法 new Function() 声明的变量。而所有的JS对象是存在一个内置的 [[Prototype]] 属性,指向它“父类”的 ...

2018-11-18 12:56:32 126

原创 js的bind和call

bind:改变this的指向空间var name = 'sally';function sayName() { return this.name;}function sayName2() { return this.name}var o = { 'name': 'John', sayName: sayName, sayName2: say...

2018-11-06 20:05:24 239

原创 ios接微信支付和字符串转json对象

帮朋友做个小活,微信支付的前期工作就不说了,网上一找一大把。就是服务器发过来的json字符串转成json对象稍微卡了下。代码如下:void IosHelper::startWeiXinPay(const char *pStr){ if(pStr == nil) return; NSString *jsonString = [NSString string...

2018-11-06 19:32:09 382

原创 替换APK中的文件重新打包

这两天遇到一个问题,一直没有头绪,为了确认原因,需要将新的资源和代码,替换到老包中,看看问题是否会出现,结果很无情,问题依旧。不过倒是研究了下如何替换assets中的文件。脚本基本都是网上搜集来的,发现这个方法有个bug,替换可以,无法删除,因此res会变大。用的时候要注意这点。#签名相关信息 需要按需修改为自己的SET KEYSTORE_NAME=xxxxxxxxxxxxxx.keyst...

2018-10-18 17:01:23 5328

原创 常用傻瓜式SQL Server语句,优化数据库

基本都是网络收集来的,有些挺好用,例如查询是否缺索引的语句。 查找出什么语句占内存最高,针对占内存高的语句进行优化SELECT SS.SUM_EXECUTION_COUNT,T.TEXT,SS.SUM_TOTAL_ELAPSED_TIME,SS.SUM_TOTAL_WORKER_TIME,SS.SUM_TOTAL_LOGICAL_READS,SS.SUM_TOTAL...

2018-10-16 14:31:58 390

原创 关于lua的弱引用表和指向c++的内存

公司客户端代码有个viewMgr类,用来管理各个弹框的层级显示,但是由于每次场景切换都需要手动先close一次。秉持着用更少的代码实现功能,同时主要是怕我的队友在使用时忘记close时导致的BUG,因此打算研究研究看看有没有办法自动释放内存。核心代码如下:function ViewMgr:openView(viewName, data) if nil == self._openedVi...

2018-09-21 15:10:45 255

原创 JS的时间比较方法

JS的时间比较还真高级,每次new Date()必定生成UCT时间,并且月的索引从0开始。被时间比较卡住了一下,特来简单总结比较时间:console.log(new Date("2018-9-4 00:00:00".replace(/-/g, "\/")) &lt; new Date("2018-9-10 00:00:00".replace(/-/g, "\/")))这个是通过Da...

2018-08-31 13:57:31 2276

转载 [转]如何做到高效配合?浅谈项目管理中的闭环思维

前言:腾讯的游戏学院公众号还是挺不错的,经常有技术和运营、策划等游戏相关的干货分享,这篇讲管理的我觉得挺不错的,特来分享一下。导语:谈到闭环,想必大家都不陌生。本文将结合项目管理中一些实际的场景和模型,谈谈项目管理中的闭环思维。作者徐州系腾讯互动娱乐光子工作室群高级项目经理。我所理解的闭环我们先看看关于闭环的一个定义:闭环(闭环结构)也叫反馈控制系统,是将系统输出量的测量值与所期望的给...

2018-08-26 19:43:02 4424

转载 [转]深入理解JavaScript执行上下文、函数堆栈、提升的概念

前言:虽然也不知道我未来的技术栈在何方,当下觉得js很有意思,就多学学吧,起码技多不压身。首先明确几个概念:EC:函数执行环境(或执行上下文),Execution Context ECS:执行环境栈,Execution Context Stack VO:变量对象,Variable Object AO:活动对象,Active Object scope chain:作用域链想当初自己...

2018-08-12 17:07:05 312

原创 今天被js灵活的语法折腾了一下午,特来总结一下

1.变量命名:全局,函数内,回调返回值的变量一定要尽可能分开,否则由于作用域的缘故,出的问题很难查。2.变量作为参数传递undefined,boolean,number,string,null类型都是基本类型,会作为值传递,array和table都是引用类型,会作为指针传递(这点和lua一样)。因此在函数内修改了array或者table的值一定要小心。最好是不要改。不过老实讲,当我看到下面...

2018-08-07 22:03:09 519

转载 关于js的闭包,写的太好了

转自:http://www.cnblogs.com/wangfupeng1988/p/3994065.html对于初学者非常适合。其中有句话我觉得对于理解闭包原理非常有帮助:函数的特别之处在于可以创建一个独立的作用域。的确,各种闭包带来的方便,都是基于函数创建的独立作用域。接下来是正文转贴:前面提到的上下文环境和作用域的知识,除了了解这些知识之外,还是理解闭包的基础。至于“闭包”这...

2018-07-17 21:15:18 171

原创 ios去苹果沙盒服务器校验订单是否支付成功

比较乱,在#if 0中,主要用作测试。- (void) completeTransaction: (SKPaymentTransaction *)transaction{    NSLog(@"-----completeTransaction--------");    // Your application should implement these two methods.    NSStr...

2018-07-12 16:58:46 1775

原创 博大精深的Promise

 不定期收集一些和Promise相关的代码片段,各种缘由自行体会。一、function timeout(ms = 100) {    /*1. 为何这种写法,立即返回数据而不是等到过了 ms 后才返回*/     return new Promise((resolve, reject) =&gt; {       setTimeout(resolve('World'), ms); ...

2018-07-11 15:23:36 170

原创 不确定函数数目使用nodeJS的async.parallel方法

网上给的demo都是确定函数a,b的方式使用async.parallel或者async.series。实际需求中,不确定需要处理多少个函数,但是却又需要等这些函数都处理完,流程才能结束。要解决这个问题只能,通过async.parallel的函数参数下手。幸运的是,async.parallel第一个函数是个数组,数组中保存着需要执行的函数列表,那么问题简单了,只需要将不确定数目的函数列表,通过for...

2018-07-11 12:34:25 583 1

原创 到底什么样的团队,才能激励大家把公司的事当作自己的事业来做。

作为公司合伙人的身份尽量的,但是做的更多的是项目管理的工作。这两年时间里,一直在想,怎么样才能带出一个出色能打仗的团队,总结后,感觉靠一己之力,真的很难,很多时候需要公司角度给予协助,这个也是项目经理迫切需求也很难达到的。作为创业小公司,本来就没有大公司健全的福利,开发工作却很重。这种情况下,公司更应该多考虑基层员工的感受。保证开发质量之外,在工作氛围,工作时间灵活度等地方,尽量给大家一个相对轻松...

2018-07-10 11:47:22 795

原创 网狐服务器通过RPC和nodeJS交互

背景:公司的棋牌游戏需要数据收集系统。并且在玩家登陆和大厅等环节返回给用户。考虑到c++的维护成本,不打算继续增加游戏服务器的复杂度了,计划c++服务器仅用于游戏逻辑,包括坐下,判断出牌胡牌等。其他功能全部交给另外的扩展服务器处理。c++服务器进需要进行数据上报和反馈给用户,其中的处理和判断都不需要再关心。这么做的好处是,有效降低了c++服务器复杂度,相同功能开发完也不需要多次更新。只需要重启额外...

2018-07-10 11:20:24 954

空空如也

空空如也

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

TA关注的人

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