自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python爬虫

Python 批量下载图片要批量下载图片,首先的有个图片的地址,要批量下载,那么就得解析网页,自动获取图片的地址,一页的图片总是不够的,所以需要翻页。下载图片下载图片就要用到网络库,用的是 request创建requests,注意开启stream因为图片都比较大,用流的方式保存图片r = requests.get(url, stream=True)filename = os.path.joi

2016-07-20 15:52:17 626

原创 矩阵乘法

矩阵乘法我们知道,在3D坐标变换中,有MVP的概念,M代表模型矩阵,V代表摄像机矩阵,P代表投影矩阵。一个顶点的结果可以这么表示,v’ = v * M * V * P但是呢,在OpenGLES中这个方向刚好相反,v’ = P * V * M * v为什么是这样呢、这里要说明矩阵左乘和右乘的区别,还有列主序和行主序。一般便于理解是行主序和右乘。但是OpenGLES是列主序和左乘。 比如,把4x4矩阵

2016-07-20 14:52:36 578

原创 使用命令行build Xcode工程

Xcode 命令行build使用xcodebuild命令,下面把xcodebuild别名为xcbuild 工程xc -project My.xcodeproj默认会在工程目录下生成build目录,默认是release版本,在Release-iphoneos目录下生成模拟器版本要添加模拟器的SDK,那么怎么取得本机的SDK版本 xc -showsdks 取的sdk列表,其中有-sdk iphone

2016-03-09 20:01:06 3409

原创 JSONModel的原理

JSONModel是快速方便的把JSON数据转化为ObjectiveC的数据类型JSONModel是怎么获取对象的属性的呢?核心就是用class_copyPropertyList得到类的属性列表,在遍历列表,用property_getAttributes得到每个属性的类型,最后用kvc,接可以得到所有的值。比如:CGFloat id -> Td,N,V_idNSString* name -> T

2015-03-01 17:10:18 5031

原创 iOS7.1 Xcode5.1 编译 fftw 3.3.4

http://stackoverflow.com/questions/3588904/how-to-link-third-party-libraries-like-fftw3-and-sndfile-to-an-iphone-project-in

2014-04-03 16:02:33 2952 3

原创 1+1的01是什么

CPU是由01的指令组成的,那最简单的1+1 的在CPU中指令是什么呢,1.准备工具在OSX 平台,自带的版本是 0.98.40 太老了,从官网下载最新2.11.02 版本 http://www.nasm.us/pub/nasm/releasebuilds/2.11.02/比如2.开始汇编新建 hello64.s 文件nopmov    rax, 1

2014-04-01 16:00:14 1066

原创 Xcode 4.6.1 证书崩溃

Xcode 4.6.1 在刷新证书 崩溃。查看日志是报这个错setObjectForKey: object cannot be nil (key: teamId)。搜素google原来删除这个~/Library/Developer/Xcode/connect1.apple.com4.6.1.db文件就好了

2013-04-08 19:51:38 1108

原创 as3 打印 object 所有内容

function getObjectString(obj:*, indent:String=''):String{ var str:String = ""; if(obj is Array){ str += "\n";

2012-12-11 21:39:46 2594

原创 Cocos2D 源码阅读 图形篇

一个游戏引擎就是在不停的在刷新屏幕,根据游戏状态,显示图片。Cocos2d的主循环由CCDirectorDisplayLink 类实现,当客户端运行场景runWithScene 的时候,会触发startAnimation 事件,启动循环。要更新屏幕,就要更新一个个node,drawScene 调用,图形是一个层次结构,会先从最顶层往下层访问,visit 会调用到每一个节点,并调用nod

2012-07-18 00:39:54 986

原创 Sublime Text2 编译 lua

http://finalanubis.com/zh/2011/07/sublime-text-2-lua-developing/ 这篇文章提供的方法提示找不到文件,试了下其他命令,文件能找到的。那就是找不到lua命令了,把lua改成全路径就OK了,如下:{ "cmd": ["/usr/local/bin/lua", "$file"], "file_regex": "^(...*?)

2012-05-08 10:16:44 4944

翻译 增加投影

为了在2D屏幕上出现3D,我们需要在对象上做投影变换。如下图:这里有一个near平面和far平面,显示的对象在这个之间。离near近的会缩小而变得小,离far近的会放大而变的大。打开SimpleVertex.glsl,做如下修改:// Add right before the mainuniform mat4 Projection; // Modify gl_Posi

2012-04-22 11:04:49 1836

翻译 增加顶点和片段着色器

在OpenGL ES 2.0中渲染任何几何图形到屏幕中,你必须创造叫着色器的两个小程序。着色器是写用一种叫做GLSL的类C语言。不用担心在这个点学习这个参考,现在你只要看这个例子在这个教程中。有两种类型的着色器:顶点着色器是一种程序在场景里的每个顶点将调用一次。如果你用一个正方形渲染一个简单的场景,每个角用一个顶点,这个将调用四次。他的工作是执行一些计算像光照,几何变化,等等。

2012-04-21 17:14:47 4805 2

翻译 iPhone OpenGL ES 2.0 教程

OpenGLES 是一个低级别的API 让你用来编写2D和3D图像在iPhone上。如果你使用另一些像Cocos2D,Sparrow,Corona 或者 Unity 框架,他们都是建立在OpenGL顶层。有一个原因为什么程序员喜欢使用这些上层框架比直接使用OpengGL,是因为OpengGL是出了名的难学。这个教程是为了使开始学习OpenGL的程序员有一个平缓的曲线。在这个系列中,你将掌握

2012-02-27 22:37:07 6593

原创 XCode4 字符串 管理

做项目中,为了以后修改方便和国际化应该把字符串提取出来管理!像window,andoid一样,iOS中有个专门的文件  Localizable.strings  管理分布在不同语言的目录里,如:en.lprojzh-Hans.lproj/* zh-Hans.lproj/Localizable.strings*/"language"="简体中文";/*

2012-01-05 23:16:36 1132

原创 xcode 4.2 调试 添加命令行参数

To run your application with arguments . . .From the Scheme pop-up menu, choose a scheme.From the same menu, choose Edit Active Scheme to display the scheme dialog.In the lef

2011-11-29 00:37:06 4563

原创 以 GBK 的格式初始化NSString

NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding (kCFStringEncodingGB_18030_2000);NSString *content = [[NSStringalloc]in

2011-10-18 23:02:00 600

原创 iOS 从图片截取图片,类似Window bitblt

实现window中的bitblt功能#if 1 UIGraphicsBeginImageContext(CGSizeMake(230,230)); CGContextRef ctx = UIGraphicsGetCurrentContext();

2011-08-25 17:26:21 1513

原创 iOS 多个 view 直接 切换

CATransition *animation = [CATransition animation];[animation setDuration:1.25f];[animation setTimingFunction:[CAMediaTimingFunction fun

2011-08-10 15:21:44 3337

原创 Window内核对象

每个进程启动时会构造一个内核对象表索 引 内核对象内存块访问屏蔽标志1 0 x F 0 0 0 0 0 0 0 00 x ? ? ? ? ? ? ? ?0 x00000000HANDLE WINAPI CreateMutex( __in_opt LPSECURITY_ATTRIBUTES lpMutexAttributes, __in BOOL bInitialOwner, __in_opt LPCTSTR lpName); 

2010-11-15 22:18:00 1254

原创 游戏编程知识摘录

<br /><br />投影,从2D到3D<br />透视投影:从投射中心发射投影线,被物体遮挡,与投影平面相交,形成投影。<br />分为一点透视,二点透视,三点透视;<br />效果:近大远小<br /> <br />平行投影:投影线平行的,所有看起来不够真实,所有多用在3D工具软件中,比如地图和关卡设计器。<br /> <br />VRP:视平面,也叫投影平面<br /> <br />隐藏面消除算法:<br />1)精确到点算法<br />Z缓存算法<br />2)物体比较算法<br /> <br /

2010-11-06 23:16:00 501

转载 placement new 操作符

<br /><br />在处理内存分配的时候,C++程序员会用new操作符(operator new)来分配内存,并用delete操作符(operator delete)来释放内存。这是一个new操作符的例子。<br />class CTest<br />{<br />     /* 成员函数和成员数据 */<br />};<br /><br />// . . . 代码<br /><br />// 分配一个对象<br />CTest * pTest = new Test;<br />// 分配一个有十个对象

2010-10-02 18:32:00 644

转载 VS2005 安装文件 "由于应用程序配置不正确,应用程序未能启动"

<br />FROM:http://blog.csdn.net/denglei265/archive/2008/01/17/2049973.aspx<br />最近用vc2005写了一个程序,拷贝到其它机器上运行时,提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”。<br />觉得很奇怪,依赖的dll都有在,怎么会提示错误呢。马上上网用这个错误查了一下,大多数人说是编译选项的问题,以下是摘自http://bbs.mscommunity.com/forums/ShowTh

2010-09-10 22:16:00 685

原创 wm xp net 上网

<br />主机:WNet8 <br /><br /> IP Address. . . . . . . . . . . . : 192.168.0.1<br /> Subnet Mask . . . . . . . . . . . : 255.255.255.0<br /> Default Gateway . . . . . . . . . :<br /> <br />WM WNet8<br /><br /> IP Address. . . . . . . . . . . . : 192.168.0.0<b

2010-09-10 21:03:00 615

原创 操作系统启动过程

开机后,cpu加点,初始化(CS)=0FFFFH,(IP)=0,自动从FFFF:0 单元执行程序,FFFF:0处有条跳转指令,cpu执行该指令后,转去执行BIOS中的硬件系统检测和初始化程序,初始化程序将建立BIOS所支持的中断向量表,即将BIOS提供的中断例程的入口地址登记在中断向量表中。硬件系统检测和初始化完成后,调用int 19h进行操作系统引导,复制软盘0道0面1扇区512b内容到内存

2010-02-01 14:36:00 665

原创 汇编指令

汇编指令.定义栈stack segmentdb 100 dup (0)   ;定义100个0,长度100bytesstack ends. ret(return)pop ip或(IP) = ((SS)*16 + (SP))(SP) = (SP) + 2.retf(return far)pop ippop cs或(IP) = ((SS)*16

2010-02-01 14:34:00 873

原创 键盘原理——汇编级

键盘按下一个键,由键盘处理芯片产生个扫描码,送入BIOS中的键盘缓冲区,这个缓冲区可以存放15个键盘输入,最开始的键盘输入放到了60h端口,有硬件给CPU发送int 9指令,CPU执行int 9号中断。

2010-01-26 14:44:00 1050

原创 int指令理解

以下是王爽老师的《汇编语言》中第十五章中的一段程序代码,其功能是增加9号中断的功能,当按下Esc键时屏幕中显示的字母改变颜色assume cs:codesg,ss:stack,ds:datadata segmentdw 0,0 data endsstack segmentdb 128 dup(0)stack endscodesg segment star

2010-01-26 14:02:00 4333

原创 linux Web Server software

JDK1.6,Tomcat5.0, MySQL4.1, JDK安装:jdk-6u13-linux-i586.bin1. #./jdk-6u13-linux-i586.bin2.安装环境变量在/etc/prifile或/etc/rc.local中加入JAVA_HOME=#JDK目录PATH=$JAVA_HOME/bin:$PATH 注:/etc/rc.loca

2009-12-12 19:37:00 551

原创 C++基本知识

1.函数  inline const int &max(int a, int b) const;inline 表示内联函数第一个const表示返回值是const类型int & 返回值是int类型引用最后的const表示传递给函数的this指针是const类型2.标准IO库  ios_base | basic_ios           |

2009-12-05 09:58:00 494

原创 #pragma

1. #Pragma message(“消息文本”) 如:      #ifdef  NDEBUG  #Pragma message(“_X86 macro activated!”)   #endif 2.

2009-12-03 18:33:00 462

空空如也

空空如也

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

TA关注的人

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