超赞的贴图站

http://www.cgtextures.com/

directx基础

没得办法,老了,记性不好,很多东西都要不断的翻书温习。

矩阵与变换:两种视图变换,正交变换和透视变换。正交变换的过程,将向量先在世界空间做平移旋转变换(如果有平移旋转),再从世界矩阵变换到摄像机矩阵,再利用缩放变换矩阵将其缩放到屏幕空间;透视变换的过程:将向量先在世界空间做平移旋转变换(如果有平移旋转)从世界矩阵变换到摄像机矩阵,再利用投影变换矩阵将其变换到二维屏幕空间。

关于STL内存泄露误报问题

这几天一直在查程序的内存泄露问题,那个visual leak detector 着实很好用,但是查出来的报告大篇幅的被stl误报问题占据。之所以会报告stl内存泄露,是因为stl自己的内存分配机制并不保证在容器析构的时候就回收内存,实验证明clear是没有回收内存的。

网上找到一个被称为“swap魔语”的惯用法来解决这个问题:

vector<int> nums;
nums.push_back(1); //push, push, push.....
vector<int>().swap(nums);  //swap magic word

这个hack做法的原理就是:通过交换函数swap,使得容器离开其自身的作用域,从而强制释放容器所占的内存空间。

首次定制wordpress超简约主题

因为默认主题太窄,经常一句话显示不全;忍了几次终于忍不了了,所以把wordpress的文档通读了一遍,照着示例(示例教程在这里)搞了现在的这个超级简单的主题,不过看起来好像还不错哈,有点blogbus上文青的味道~~

上传在这里:ktheme,任意下载,改了更漂亮的给我个链接看就更好了。

Flex文件流操作

实例代码如下:

<?xml version=”1.0″ encoding=”utf-8″?>
<mx:WindowedApplicationxmlns:mx=”http://www.adobe.com/2006/mxml”
layout=”absolute”
fontSize=”13″
creationComplete=”initApp()”>
<mx:Script>
<![CDATA[
import flash.filesystem.*;             //引用filesystem下的全部类
[Bindable]
//定义File变量,并指向“test.txt”文件。
var file:File=new File(File.applicationResourceDirectory. nativePath+”\\test.txt”);
private function initApp():void
{
var stream:FileStream = new FileStream(); //定义FileStream类实例,用以处理文件流
stream.open(file,FileMode.READ);    //以读的方式打开文件
txtFile.text=stream.readUTFBytes(stream.bytesAvailable);  //读取文件中的内容
stream.close();                     //关闭文件流
}
]]>
</mx:Script>
<mx:Panel title=”文件流方式传输” verticalAlign=”middle”
horizontalAlign =”center” width=”446″ height=”295″>
<mx:TextArea id=”txtFile”  width=”426″ height=”250″/>
</mx:Panel>
</mx:WindowedApplication>

代码中首先定义文件流,然后利用文件流对象stream将数据读入到文本控件TextArea的text属性中,实现文本显示

Flex使用json格式数据

下边是一段使用json格式数据的flex代码:

<?xml version="1.0" encoding="utf-8"?>
 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical" creationComplete="jsonservice.send()">
 <mx:Script>
 <![CDATA[
 import mx.rpc.events.ResultEvent;
 import com.adobe.serialization.json.JSONDecoder;

 private function onJSONResult( event:ResultEvent ) : void {
 var data:String = event.result.toString();
 data = data.replace( /\s/g, '' );
 var jd:JSONDecoder = new JSONDecoder( data );
 dg.dataProvider = jd.getValue();
 }
 ]]>
 </mx:Script>
 <mx:HTTPService id="jsonservice"
 url="http://localhost:8080/jsp-examples/flexds/json.jsp"
 resultFormat="text" result="onJSONResult(event)" />
 <mx:Panel title="Stock Data " width="100% " height="100% ">
 <mx:DataGrid id="dg" width="100%" height="100%">
 <mx:columns>
 <mx:DataGridColumn dataField="compa " />
 <mx:DataGridColumn dataField="compb " />
 </mx:columns>
 </mx:DataGrid>
 </mx:Panel>
 </mx:Application>

代码中使用HttpService的通信方式,从http://localhost:8080/jsp-examples/flexds/json.jsp地址取text格式的json数据,
然后在回调函数onJSONResult中进行数据解析,去除所有空格,利用JSONDecoder解码,将DataGrid的数据源指定为解码后的数据,
以显示出来

为小黑做xp

vista是不能忍受的,这是公认的~

于是被逼要为小黑重做系统为xp,为了不重装一堆驱动,经历了一个极其艰辛的xp系统恢复历程….

1. 首先介绍这个伟大的链接:http://itbbs.pconline.com.cn/notebook/9593550.html, 就是它指引了我走向光明。

2.但是帖子里说漏了一个东西,就是要给虚拟机vmware重做bios,在vmware安装目录下的bin目录下有个叫vmware-vmx.exe的文件,要修改的就是这个文件。首先我在csdn上找到一个大大做好的ROM文件(VM-IBM.ROM),链接忘了~~,然后用ResScope软件打开vmware-vmx.exe,然后导入这个ROM资源文件,会发现编号为6006的资源文件被修改,保存vmware-vmx.exe后,bios信息就修改好了。

3. 未完待续

一个斜杠

写了一个登录的表单:

<form action=”/login/” method=”post”>

<p>用户名: <input name=”username” type=”text” /></p>

<p> 密码: <input name=”password” type=”password” /> </p>

<input type=”submit” value=”登录” />

</form>

就因为 action=”/login/”少写了一个斜杠,点击按钮提交的时候,django死活也找不到处理函数,血的教训啊~~~

其实:setting.py中是可以设置其兼容此问题的,杯具啊啊啊~~

css控制图片自适应大小

获取的图片链接是不知道长宽的,设置成固定长宽会导致变形,所以需要用css自适应的控制其大小,这里给出了很trick的方法

防盗链与反防盗链

rss阅读很头疼的一个问题就是:很多网站会防盗链,图片显示不正确;对此网上给出的反“防盗链”的方法都是伪装referer, 就是在http请求包里强制修改referer; 有很多实现方式,asp,php的都有,最后我用了残耳同学的,希望他能一直让我免费用下去,给出链接