自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

无心云

云无心以出岫,鸟倦飞而知还。

  • 博客(244)
  • 资源 (3)
  • 收藏
  • 关注

原创 如何找回存储在ssh客户端中的密码

最近碰到一件蠢事儿,有个服务器的ssh密码给忘记了,找来找去后来发现只有在一台电脑的ssh客户端mobaxterm里存储了,找了一圈发现客户端里存储的都是加密后的密码,没法显示明文(mobaxterm比较奇葩付费就可以获得明文)。后来想来想去自己写了个fake ssh-server专门用来打印登录时的用户名密码,用go也就几行,分享一下package mainimport ( "github.com/gliderlabs/ssh" gossh "golang.org/x/crypto/ssh"

2020-06-09 14:16:21 7440

原创 关于透明代理的原理性描述

最近因为ss被封禁被迫走上了trojan的路子,然后也就仔细研究了一下透明代理的基本原理,以前也基本上是无脑用,很多东西一知半解,正好也当学习rust练手,就用rust重写了一下trojan,另外增加了透明代理的支持,同时支持udp和tcp(原版本仅提供了nat的redirect功能,所以不支持udp,也不支持本地请求)。工具地址在:https://github.com/lazytiger/t...

2020-03-03 13:38:19 2546

原创 在kvm上安装黑苹果

首先说明一下为什么要搞在kvm上安装黑苹果这么蛋疼的事情。原因是我们游戏公司经常需要对游戏进行打包,而现在的用unity开发的游戏其实打包时间还是比较长的,另外还涉及到同时打安卓包以及ios包,release包以及debug包等需求,另外公司现在同时开发的项目也不少,大家各自进行基础建设也比较浪费。之前各个项目组的策略是安卓用linux服务器打包,ios用mac机器打包,这样管理起来其实很不方便,...

2019-05-21 11:04:17 7354

原创 git与svn协调开发

在游戏开发中是否使用git一向都是一个老大难问题,原因在于:1、对策划美术而言git实在是学习成本太高,容易出问题,2、游戏资源都过于庞大,导致git的资源库很大,甚至可能会出现导不出来的问题,当然目前可以使用git lfs来解决问题。其实针对这个问题git有一个git svn的解决方案,但是那个方案基于命令行,而且与git命令也有区别使用起来不是很方便,最重要的一点是对于svn:external

2017-11-20 10:24:52 579

原创 Unity在development模式下的一个坑

最近发现unity生成的包在Nexus上如果打开带Input控件的界面时,关闭屏幕再打开,则永远无法显示输入法界面了。一开始还以为是unity自己本身的bug,后来发现release版本并无这个问题,于是弄了个最简单的测试版本分别打了两个包,然后apktool解码对比发现,com/unity3d/player/UnityPlayer.smali在development模式下多了几行代码如下

2016-12-05 14:35:21 4116

原创 安卓AssetManager的一个坑

今天踩到AssetManager的一个坑(也可以说是cocos2dx的坑),cocos2dx里实现了一个文件处理类,用于屏蔽所有跟操作系统相关的一些东西,但是突然发现a/b/c.txt以及a//b/c.txt在ios以及android上的表现是不一样的。首先,根据一般操作系统的实现,a/b/c.txt与a//b/c.txt应该算是同一个文件的,这一点在ios上也确实是一样的。但是在安卓上,

2016-01-21 19:41:20 2189 1

原创 git的repository如果太大的话怎么clone

最近遇到项目所使用的repository太大的情况,这种情况下如果要clone应该怎么做呢?网上找了一圈,各种说法都有,我试了一下发现最好使的办法如下git clone -depth 1 urlcd urlgit fetch --depth 2git fetch --depth 3 #注意这里可以是任意大的数字,只要你的buffer允许最后git pull即可

2015-08-07 18:39:19 6447 1

转载 操作系统宏定义

http://sourceforge.net/p/predef/wiki/OperatingSystems/收藏一下AIXTypeMacroDescriptionIdentification_AIX Version_AIX'VR'V = VersionR = Re

2015-06-12 11:29:42 4494

原创 ios交叉编译参数

一个针对automake的ios交叉编译脚本

2015-01-16 15:18:54 2416 2

原创 cocos2dx 2.x版本在android下CCLabelTTF的一个bug

cocos2dx在android下是采用Paint来生成图片然后在CCLabelTTF里显示的,它具体的代码都在java类Cocos2dxBitmap里,生成完成之后会调用一个jni函数将结果传给cpp层,cpp层靠一个static变量来与java层交换数据,具体如下 BitmapDC &dc = sharedBitmapDC(); CC_BREAK_IF(! d

2014-11-27 08:33:39 2837

原创 cocos2dx windows phone平台下CCLabelTTF自动换行的实现(2)

前几天发过一篇文章说如何实现wp8下的CCLabelTTF如何自动换行,后来发现果如预料的那般,效果很不好,主要是非等宽字体的情况下看着很糟心,因此再修改了一版,效果要好很多了。具体实现其实就是参考initGlyphs,但是会不断的检查是否超过宽度,如果超过则自动换行。具体的直接看代码就明白了/**********************************************

2014-08-07 11:25:09 3382 1

原创 cocos2dx windows phone平台下CCLabelTTF自动换行的实现

看了一下,自动换行的实现在CCFreeType这个类里,这个类的实现只是针对英文的,它采用空格断句的方式来进行操作,一个word一个word的加,如果发现超过规定的范围就会换行,但是对于中文来说,这个实现简直弱爆了,所以就会出现不能自动换行的情况。参考它的实现,做一点小的修改,基本原理如下1、读一行文本出来,参考它的实现,算出这个文本的宽度2、如果这个宽度没有超过,则直接显示3、如果这

2014-08-05 17:48:19 2641

原创 将cocos2dx+lua创建的游戏port到windows phone

在整个Port的过程中遇到的问题总结如下1、一定要使用最新版本的cocos2dx,原因大家看一下changelog就知道了,最近的cocos2dx版本都是在修windows phone上的bug,所以为了避免少出问题,还是直接升级到最新版本吧2、如果你使用的是cocos2dx + lua方式,目前的project-creator并不支持lua版本的windows phone平台,但是cpp

2014-07-10 10:49:24 4381 19

原创 cocos2dx中使用的tolua关于字符串处理的一个问题

在使用cocos2dx的tolua binding的过程中发现一个问题,如果返回或者输入是std::string的时候不允许包含二进制数据,而std::string是允许的,这样一来就造成了一个使用上的不对等,可能会造成一系列的问题,特别是我们需要用std::string来传递一些协议信息的时候。造成问题的原因是tolua生成的代码对于std::string都没有加入length参数,这样就造

2014-07-01 10:04:45 3558

原创 ssh会导致while结束

观察如下代码

2014-05-26 18:36:08 1293

原创 安卓下cocos2dx实现cpp部分在线更新

目前cocos2dx + lua的方式可以动态更新所有的脚本文件,但是却无法动态更新cpp部分的代码(这部分东西一般我们称之为底包),事实上采用同样的方案在android下也是可以实现动态更新的,只需要将java代码里加载libgame.so的代码稍微做些修改即可    static {        System.loadLibrary("game");    }  

2014-05-04 15:29:21 4580 9

原创 如何解决xcode里开发cocos2dx修改lua脚本后不刷新的问题

用xcode来开发cocos2dx,结果发现一个很纠结的问题,如果我一旦修改了一个Lua文件,我必须clean之后再build,否则修改的Lua文件不会体现出来。这是一个很令纠结的结果,特别是我要进行调试的时候,在网上搜索了一圈,发现xcode原来可以提供一个build phase的功能,允许在build中间执行一些脚本,而这个时候只要将脚本文件touch一下就可以解决问题,但是比较奇怪的是,如果

2014-05-02 17:09:04 4673

原创 关于luajit的bytecode模式

最近把android下的Lua换成了Luajit,并且使用了bytecode,后来发现某些品牌的手机崩溃的比较多,于是怀疑是不是luajit的问题,所以就对Luajit的bytecode模式做了点调研,我们先来看一下-b参数的说明-b[options] input outputThis option saves or lists bytecode. The followin

2014-04-30 15:36:58 10591 1

原创 cocos2dx中对lua脚本进行覆盖率测试

原理很简单,利用debug.sethook可以得到代码执行情况,然后再用phpunit来生成html版本的覆盖率报告出来直接上两个代码首先是CodeCoverage.luamodule("CodeCoverage", package.seeall)local mResult = nillocal mRunninng = falselocal mPrefix = nillocal

2014-04-24 18:47:12 2618

转载 The 18 best image file compression tools

原文地址 :http://www.creativebloq.com/design/image-compression-tools-1132865FeaturesNewsTutorialsOpinionInterviewsVideosTwitterFacebookPintrestY

2014-04-15 16:22:49 2552 1

转载 Android NDK Cross-Compile Setup

按照这个文章来做就行了http://mortoray.com/2012/08/21/android-ndk-cross-compile-setup-libpng-and-freetype/分享一个脚本#!/bin/shset -ePLATFORM_PREFIX=/home/hoping/Downloads/geos-3.4.2/androidPATH=$PLATFORM_

2014-03-03 13:53:29 2085

原创 基于closure的lua面向对象编程

事实上lua对于oop并没有语言上的支持(也即没有class之类的关键字),但是我们却可以利用lua本身来实现一些类似oop的效果,基本思路上有两种,基于table和基于closure的,以下是两种方案的一个大致比较+---------------------------------------+---------------------------+---------------------

2014-02-26 16:19:37 2377

原创 在Lua Development Tools中使用代码帮助

事实上1.2M1之前的版本对于继承支持的不是很好,今天试用了1.2M1发现,已经支持的很好了咱们先看一下示例代码,这样就明白怎么来继承了local function Class(super) local Cls = {} Cls.__index = Cls local mtable = { __call = function(cls, ...) return

2014-02-25 15:59:41 4505

原创 集成cocos2dx中的CHttpClient到lua中

不知道为什么cocos2dx中似乎没有把extensions/network里的HttpClient集成进去,自己试了一下DIY也不是很难,现总结如下首先CCHttpRequest中的setResponseCallback需要处理一下,因为这里我们需要的是一个lua的回调而并非c++的,处理方案参考CCSchduler中的scheduleScriptFunc,采用lua的handler来解

2014-01-29 16:11:57 6052 6

转载 jQuery Selector

http://api.jquery.com/category/selectors/保存一下

2014-01-22 16:11:11 1012

原创 工欲善其事,必先利其器-如何根据cocos2d-x中tolua++的pkg文件生成ldt的自动帮助

为什么选用ldt呢,因为我最早使用的ide就是eclipse,同时调研了一下目前的ide,发现还是ldt对于代码提示支持的比较好所以那就ldt吧,上网找了一圈,发现了如何将外部代码加入到ldt中让它能够自动提示,具体的可以参考如下两个wikihttp://wiki.eclipse.org/Koneki/LDT/User_Area/Documentation_Language

2014-01-09 17:45:22 3055 3

原创 在cocos2d-x中使用luajit

今天尝试了一下如何在cocos2d-x中使用luajit,发现cocos2d-x本身对luajit的支持还算不错,但是有一些地方做的还是不够完善,我的平台是linux,我不知道是不是平台的问题,也许mac上做的很完善,所以写下这往篇文章希望对在linux平台上开发cocos2d-x的同学有所帮助。首先,为什么要用luajit呢?我能想到的原因有两个,一是效率,二是加密。用luajit之后执

2014-01-08 14:01:11 12810 1

转载 Wine的中文显示与字体设置

原文地址http://linux-wiki.cn/wiki/zh-hans/Wine%E7%9A%84%E4%B8%AD%E6%96%87%E6%98%BE%E7%A4%BA%E4%B8%8E%E5%AD%97%E4%BD%93%E8%AE%BE%E7%BD%AE

2013-12-06 16:00:45 3949

原创 rpath与ld_library_path

一般我们需要在编码中使用一些第三方的动态链接库,但是这些库不一定在标准查找路径上,这样我们链接的时候就必须指定-L参数,但是如果这样一来,在运行的时候就必须指定LD_LIBRARY_PATH环境变量,否则就会报找不到动态链接库。事实上ld在链接的时候有一个参数来指定运行时应该去哪儿找动态链接库,即-rpath参数,对于g++来说只需要指定-Wl,rpath=xxx即可

2013-11-14 17:10:22 2762

原创 golang新版本对于cgo支持的一个坑

文件test.h如下#ifndef _TEST_H#define _TEST_H#ifdef __cplusplusextern "C" {#endifextern void myTest();#ifdef __cplusplus}#endif#endif文件test.cc如下#include "_cgo_export.h"extern

2013-11-12 17:08:35 9461 2

原创 理解v8的Isolate调度

这两天看了一下v8的在多线程情况下多个Isolate的调度原理,别的不多说了还是先看一下测试代码吧#include #include #include #include using namespace v8;typedef struct _Args{ Isolate* isolate; char message[256];} Args;void* test(v

2013-11-07 18:45:37 10134

转载 linux下添加自签名根证书的脚本

#!/bin/shusage() { ex="${1:-0}" echo "Usage: $0 []" echo "\n\tPort will be set to 443 by default" exit $ex}host="$1"if [ -z $host ] ; then usage 1fiport="${2:-443}"ssl=/u

2013-11-05 11:39:16 3570

原创 升级ubuntu失败时如何处理

好久没写blog了,今天刚好碰到一个新问题,记录一下升级ubuntu到一半的时候突然卡死了,没办法只能重启系统,结果发现无法mount文件系统了上网搜索了一下,发现可以用如下方法来解决1、进入recovery模式->root shell2、mount -o remount,rw /3、dpkg --configure -a4、sync5、reboot其实进不了系统的

2013-10-22 15:00:26 1318

转载 游戏开发相关的一些中英文对照

原文地址:http://blog.sina.com.cn/s/blog_556e97420100t3uf.html2D artist 2D美工3D artist 3D美工3D digitizing pen 三维数字笔3D engine 3D引擎3D morphing 3D变形动画3D programmer 3D程序员 AAABB(axis

2013-08-02 17:52:43 5623

原创 如何在ubuntu下使用stage3d的硬件加速

最近想尝试一下心动的新游戏深渊,但是由于公司的电脑是ubuntu的,只要进游戏就提示说没有stage3d的硬件加速,于是google了一下,发现这么一篇文章http://phoronix.com/forums/showthread.php?73121-Unreal-Engine-3-works-on-Linux-via-Stage3D文章中使用的脚本是21.0.1180.81,但是我使

2013-07-09 18:19:20 1774

原创 备份一个通过拷贝来创建虚拟机镜像的脚本

#!/bin/shmachine=$1mac=$2ip=$3if [ -z "$machine" ]; then echo "usage: sh $0 machine mac ip" exitfisource_bytes=`fdisk -ucl /dev/vbd/test00|grep test00|grep -Eo "[0-9]+ bytes"|cut -d" " -f1`

2013-07-05 16:49:57 1584

原创 ubuntu下利用cron来提醒自己休息

原来使用windows的时候用爱眼卫士,提醒自己一个小时起来活动一下,现在换成了ubuntu,于是就想用cron直接提醒自己休息一下原理很简单,每隔一个小时就锁屏一次DISPLAY=:000 * * * * /usr/bin/gnome-screensaver-command --lock注意上面的DISPLAY=:0,如果没这个变量,gnome-screensaver

2013-05-28 08:51:51 2180

转载 利用tc来做网络延时的模拟

To add 100ms to all outbound traffic on eth0tc qdisc add dev eth0 root netem delay 100msTo check statustc -s qdiscTo remove the delay from eth0tc qdisc del dev eth0 rootmark一下,原文地址

2013-05-24 08:54:40 1495

原创 如何利用iptables的端口转发

最近遇到一些这样的情况,原来我们的服务是架设在有两个网卡的环境下的,一个是公网网卡,一个是私网网卡,但是一些海外合作平台由于使用了虚拟机,所以不能满足这个需求,于是就想到给一个网卡上绑定两个ip比如一台机器的私网ip是192.168.3.1 nat出去的公网ip是54.123.123.123 ,只有一块网卡eth0那么可以这么办ifconfig eth0:1 54.123.

2013-05-13 15:53:12 1406

原创 golang中的defer panic recover

大家都知道golang里的panic相当于其他语言里的throw,而recover相当于其他语言里的cacth,可是由于golang的recover机制要求必须在defer的函数里才能执行catch panic大概意思如下func protect(g func()) { defer func() { log.Println("done") // Println exec

2013-04-18 10:22:21 4277 2

Computer Science Handbook第二版.下

计算机科学的百科全书,包括:algorithms, architecture, computational science, graphics, human-computer interaction, information management, intelligent systems, net-centric computing, operating systems, programming languages, and software engineering

2010-02-03

Computer Science Handbook第二版.上

算是计算机科学百科全书了吧!包括:algorithms, architecture, computational science, graphics, human-computer interaction, information management, intelligent systems, net-centric computing, operating systems, programming languages, and software engineering

2010-02-03

Handbook of Data Structures and Applications

Alogrithm Design Manual一书中作者强烈推荐的数据结构方面的参考书,可以当做数据结构的工具书来用,可以查到各种基本数据结构及其用法。在网上找了很久才下到的,拿来和大家分享!

2009-06-22

空空如也

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

TA关注的人

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