自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在bash for win10上安装jekyll

今天在bash上安装Jekyll,因为Jekyll用了ruby,所以需要安装ruby。sudo apt install ruby安装完以后,系统就有了gem(ruby配套来的。)Jekyll有发布在gem上,所以可以使用sudo gem install jekyll但安装失败了,原来jekyll使用了一些原生的拓展,所以还需要一些其他准备:sudo apt install ruby-dev安装完以后

2017-06-17 17:46:28 688

原创 关于字体

一般常见的字体库是ttf格式,可能是True Type,也可能是Open Type。Open Type是M$和Adobe联合推出的新的字体形式。在Windows打开字体查看器就可以看到字体具体是那种。还有一种字体格式是PostScript格式,是Adobe推出的。font creator是一个创建True Type字体的收费工具。sfntly是一个可以对字体库(.ttf文件)进行提取子集并生成.tt

2017-03-26 15:07:51 1203

原创 安卓抓包工具tcpdump

为了在android上抓取tcp数据有好几种方法,以下介绍的是tcpdump的做法。实现的前提:一台root过的手机。在androidtcpdump官网下载二进制执行文件。使用adb拷贝到手机上adb push your/path/tcpdump /sdcard/然后登陆adb shell,切换到超级用户权限(需要root)$ su# cp /sdcard/tcpdump /system/bin在

2017-03-15 17:31:54 1427

原创 在Powershell批量重命名文件

以下这个命令将文件夹中后缀为png的文件进行重命名,重命名的方式是给文件加上一个前缀test_,例如1.png,将重命名为test_1.png:Get-ChildItem *.png | Rename-Item -NewName { $_.name -Replace '(.+)\.', 'test_$1.' }分析:Get-ChildItem *.png 是第一个命令,这个命令的输出,将通过管道(管

2017-03-08 18:04:19 3223

原创 NDK、CMAKE、LLDB

以前编译动态库到android需要用NDK-build脚本,现在谷歌官网推荐使用CMake了。CMake是很好的工具,跨平台做的很好。另外,可以用LLDB来调试动态库。有时间可以了解一下。

2017-02-14 11:41:23 1435

原创 Android广告量监控的技术实现(campaign measurement)

有这么一种需求,我们找广告平台来推销我们的APP,我们想要知道这个广告平台的转化率到底怎么样。是否可以做到?如果APP是发布在Google Play的话,那么是可以做到的。当用户点击一条广告,并跳转进了Google Play,Google Play可以获取到广告的链接,而这条链接里带有referrer参数的话,referrer参数里的内容将在APP安装完之后,就发给APP。如果APP有监听这个广播的

2017-02-08 23:50:20 1638

原创 OpenGL的渲染流程梳理

渲染的机制可以拆分为多个步骤(stage),拆分之后,就可以使用管道(pipeline)来优化执行效率。打个比方,过安检的时候,至少有三个步骤,把包放在传送带上,然后走过去,取回传送带上的包。在排队过安检的过程中,排在后面的旅客并不需要等前面的旅客完成,只要前面的旅客把包放上传送带(完成第一个步骤),后面的旅客就可以接着把包放在传送带,这就是管道原理。

2017-02-05 14:51:52 769

原创 一个模拟2D水波荡漾Shader的研究

最初是看GPU Gem开篇介绍怎么模拟水面的,当时看不懂,以为2D的容易懂: 最近看GPU Gem讲水面的,没搞懂,退而求其次,先搞懂2D的水纹实现。从移植:在Cocos2d-X中实现水波滤镜这篇文章看到这个Shader,Shader的实现似乎是来自这位github 用户。为了测试,对Shader的源码稍作修改,就可以在shadertoy看效果:const float PI = 3.14159

2016-11-08 00:06:09 2789

原创 关于Fiddler和WireShark

以前做Web开发,以为Fiddler可以监听到所有的HTTP连接。现在做原生开发,听说Fiddler不能收到应用的Http连接,觉得很奇怪。查了一下,的确如此。而用WireShark可以抓到。Google了一下,因为应用用了libcurl的接口来创建HTTP连接,如果要使用Fiddler,需要在代码中插入类似如下的代码:curl_easy_setopt(m_curl, CURLOPT_PROXY,

2016-11-03 15:22:13 6550

原创 Facebook的开发文档笔记

Facebook的相关产品/API介绍所有文档简介

2016-10-19 11:53:18 2374 1

原创 查询Windows下的dll/exe所依赖的文件

有这么一个软件可以查询依赖:dependency walker但是如果安装了VS,可以用VS下自带的一个命令行工具:dumpbin.exe

2016-10-08 19:40:24 24364 2

原创 动态链接库(Unix/Linux)实战入门

本文介绍Unix/Linux环境下怎么使用命令行生成动态链接库,怎么链接动态链接库。 本文的代码在macOS环境下一一测试过。

2016-10-02 23:13:05 517

原创 使用OpenGL实现遮罩效果

本文适合于Cocos2d-X等使用OpenGL API的渲染框架一般实现自定义遮罩效果主要介绍以下几种:使用Stencil Buffer使用GL_SCISSOR_TEST(适合矩形区域)使用Shader使用BlendFunc(推荐!)

2016-09-22 20:32:12 7946

原创 用Python来合并图片(SoEasy)

开发游戏的时候,想要把几张小图合并成一个大图来使用。不是那种plist+png,而是单纯地想把图片合并一下。

2016-02-25 12:45:33 21141 4

原创 Xcode发布App的证书的问题

关于证书、秘钥还有Provisioning Profile这些概念的意思,可以拜读这篇博文:iOS Provisioning Profile(Certificate)与Code Signing详解最近遭遇的一个问题是: 在key chain中,提示了: ❌this certificate has an invalid issuer在Stack overflow上有一篇相应的解决方案:Xcod

2016-02-15 17:18:04 887

原创 js引擎garbage collection的问题

如何高效地编写Cocos2d-Js代码

2016-02-02 23:34:57 1105

原创 [游戏记录]滚动的天空

滚动的天空游戏的小评测

2016-01-27 13:06:09 1477

原创 有关于Cocos2d-X的几个坑(2016.1.26)

1. Cocos2d与-Objc2. Cocos2d-X 3.10的出错

2016-01-27 00:40:07 519

原创 Cocos2d-Lua 接IOS支付记录

Cocos2d-Lua 接IOS支付的全纪录,基本上可以拷贝到你的项目去直接用。

2016-01-27 00:26:58 3756 1

原创 代码分析/统计工具汇总

DoxygenAPI生成工具Graphviz图示分析类之间的关系,可作为插件在Doxygen中使用。cloc项目类代码语言分类(相关语言的文件数目)统计及行数统计等。

2015-12-21 11:39:54 707 1

原创 有关Doxygen及Graphviz代码分析软件

最近拿到一个项目的源码,因为没有文档,就想找个软件分析一遍这套源码。百度了一下,Doxygen是一个选择,于是就下载来试试。Doxygen 官方主页可以免费下载这个软件主要是用来分析代码生成文档的,只要根据一个的注释格式,就可以生成一份API文档。默认情况生成的只是每个文件的独立情况,也就是单纯将源码中的全局变量,方法,函数给罗列出来而已。这当然不是我想要的结果。在研究这个软件,发现有一个图表生成模

2015-12-20 21:15:03 1302

原创 有关Jar的小经历

在OSX下查看jar包内容的方式:小工具:JD-GUI 提取密码:tyx7很简单,把jar文件拖进去就可以查看了。也支持提取出文件。不过需要注意,反编译的文件可能有一点问题。将文件打包回jar包:尝试方法1(失败): 使用命令行,$ jar cvs classes.jar . 在项目中读取失败,用JD-GUI工具读取不了java文件的信息。 尝试方法2(成功):放入eclipse项目中,然

2015-12-18 15:33:19 495

原创 Luajit反编译之探索记

由于工作需求,要反编译一个luajit编译过的文件。百度反编译luajit,得到的信息是目前没有此类成熟的反编译器。所以,如果你用luajit编译了代码,基本上不用担心被别人破解(2015.12)。虽然没有luaj反编译器,但是不代表反编译不可能。至少,人肉反编译是可以的,哈。因为我只需要反编译一个文件,所以采取人肉的方式,也许是可行的。首先,在github上面找到了唯一的一个项目是关于反编译lua

2015-12-09 16:42:11 14948 7

转载 互斥锁pthread_mutex_t的使用

LinuxThreads的互斥锁

2015-03-10 17:11:20 526

原创 C/C++程序的命令行参数

C++程序的main函数有两个参数:int main(int argc, char *argv[])我以前(大学学习的时候)一直没有弄清楚这两个参数的真正目的,一直到做Linux C开发的时候,才知道,原来这两个参数就是用来提供我们在Linux的终端上执行某个命令时,携带的额外参数,例如:$ gcc -o test test.c在上面这个例子中, argc == 4 argv == [“gcc”

2015-03-05 13:43:46 1132

翻译 使用系统调用来处理文件

本文描述Linux系统下,系统调用方法write,read以及open的具体使用方法。

2015-01-26 17:55:41 484

翻译 库函数

直接使用底层的系统调用来输入与输出将面临一个问题,效率很低。为什么?

2015-01-23 16:40:41 522

翻译 系统调用与设备驱动

内置于Unix(以及Linux)系统的方法,被称为系统调用方法,是操作系统的接口。在操作系统的核心(内核)是一些设备驱动(device drivers),这是一系列用来控制系统硬件的底层接口(low-level interface)。

2015-01-23 16:34:45 2091

空空如也

空空如也

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

TA关注的人

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