Jan 27

MCTS 70-536复习笔记

突然心血来潮想去考MCTS,于是搞了本Training Kit来看。。。这里记录下之前没有学过/很少用过的知识点。。。

Ch. 2 Isolated Storage

Ch. 3 Regular Expressions

\d = [0-9]

\s = [ \f\n\r\t\v]

\w = [A-Za-z0-9_]

\b = Word boundary

{n,m}

(?<name>)

\k<name> = Back reference

Match.Result(“${name}”)

Ch.4

BitVector32: fixed 4-byte structure

BitArray: resizable reference type

Ch.5

IDeserializationCallback interface

XML Serialization Attributes

Ch.6

StringFormat class

Ch.7

Thread.BeginCriticalRegion, Thread.EndCriticalRegion

ExecutionContext

ThreadPool.RegisterWaitForSingleObject

Ch.8

Evidence

AppDomainSetup

Ch.9

Configuration file manipuation

Ch.10

debugger attributes

performance counter

Ch.11

Code Access Security

Ch.12

terms:

authentication: who the user is

authorization: whether the user can do something

Rfc2898DeriveBytes

Ch.16

CultrueInfo

RegionInfo

Jan 21

终于恢复了。。。囧

挂了整整两个星期。。。起因就是我手贱。。。orz。。。

网站数据全部挂了。。。找Godaddy也恢复不了。。。还好日志是放在数据库的,不然就要跳楼了。。。

这个星期忙死了。。。之前弄了个项目。。。等过完年有空发掉。。。

Jan 01

VFRHelper 1.2.2[1.1更新]

前几天弄某个DVDRip的时候写OVR写得我吐血。。。于是就有了这次更新。。。orz

Update 12.4:一些小更新。。。主要是界面的问题。。。

Update 12.4#2:囧。。。又发现一个bug。。。请各位下载升级包覆盖一下。。。orz

 TFMOVR

      
VFRHelper - MKV章节制作工具(不要问我为什么叫这个名字。。。
更新日志:
1.2.2
(*)FFMpegSource更新到2.0 beta 4
1.2.1
(*)Bug修复及易用性改动
1.2.0
(+)新增插件框架,章节编辑器改为插件形式
(+)新增插件:TFM OVR文件编辑器
(*)一些小改动
1.1.1
(+)新增功能:按时间跳转
1.1.0
(*)视频代码重写,速度提高
(+)FFMpegSource更新到2.0 beta 3,现在打开非avs文件不需要AviSynth了
(+)使用FFMpegSource打开文件时,在标题栏显示索引进度
(+)新增支持读取VFR MP4的Timecode
(*)一些小改动及bug修复
1.0.2
(+)新增1个快捷键
(+)FFMpegSource更新到1.19
(-)使用按钮能够正常打开非AVI文件了
1.0.1
(+)新增2个快捷键
(+)快捷键现在可以自定义
(*)退出程序时会询问是否保留临时文件(如果有的话)
1.0.0
初始版本
功能:
*可视化制作MKV章节文件
*支持打开TXT及XML格式的章节
*支持VFR(只支持V2的Timecode,如果是V1的话请预先转换好
*查看V2 Timecode各帧的时间(附带功能
*编辑TFM的OVR文件
支持的视频格式:
AVI
AVS
MKV
MP4
FLV
MKV、MP4及FLV需要FFMS2.dll支持。
快捷键说明:
方向键左/右					跳转至上一个/下一个关键帧
Shift+方向键左/右			跳转至上一帧/下一帧(注意:跳转的时候会忽略空帧)
方向键上/下					上一个/下一个章节
空格								设置当前选中章节的时间
F12									解码速度测试(可以无视
快捷键可以自定义,使用记事本之类的工具编辑keymappings.xml即可。按键名称可查看KeyNames.htm获得。
一些注意事项:
*章节文件的格式无法被改变(即只能保存为打开时候的格式)
*新建章节只支持TXT格式

 

下载:

完整包(内附源代码)

系统需求:

.Net Framework 2.0

Windows(废话

AviSynth(可选

源代码编译需求VS2008

Dec 28

TBTBSAP – 传输损坏文件修复器

昨天某人传的ISO传坏了,于是准备用TBTB修复之。然后发现TBTB不支持4GB以上的文件。。。google发现作者的网站也神隐了。。。所以这个工具出现了。。。

使用方法:

1、把损坏的文件拖到界面

2、把生成的STBC文件传给有完好文件的人,放到原文件目录

3、拖放STBC文件到界面,生成STBR文件

4、STBR文件传回来

5、放到同一目录后,把STBR文件拖到界面完成修复

下载

内附源代码

需要.Net Framework 2.0

Dec 14

Mac的TrueType字体无法精简的解决方法

前几天收到“叫你自由”兄的留言,他的一些字体不能用我的工具精简。研究了一下,发现那个字体是Mac的字体,Windows没办法直接精简。

Google一番后找到了一个工具:CrossFont。这个工具能把Mac字体转换成兼容Windows的字体。但是转换之后的字体还残留有Mac系统专用的数据,而且体积还很大。如果不去掉的话精简就没什么意义了。。。

去除这些数据我没有找到什么方便的方法,只能用TTX来做,命令行如下:

ttx -i -x morx -x Zapf “abc.ttf”

ttx “abc.ttx”

(顺便说一句,那工具速度非常慢。。。所以在使用的时候要耐心。。。

由于那些数据是苹果专有的,所以去掉之后在Windows使用理论上应该没有问题。(未完全证实,如有错误还请指出。。。)

上面的东西写完之后才发现CrossFont转换出来的字体只能显示英文和符号。。。于是只能另寻方法。。。

最后找到了FontForge,一个非常强大的字体工具。只要用它打开字体重新生成之后就能输出兼容Windows的字体了。之前那些麻烦的步骤(而且还不成功。。。)可以全部省掉了。。。

PS:官网是提供的版本是cygwin版,安装非常麻烦。。。推荐下载mingw版(已被GFW,各位请自行翻墙。。。),下载回来立刻可以使用。

Nov 07

VFRHelper – MKV章节制作工具[11.10更新]

很久没有更新了。。。orz

这次的更新主要是因为FFMpegSource更新到2.0了,可以脱离AVS运行了(已经像是FFMpeg的一个包装了。。。)然后看着代码很乱,就稍微重构了一下,把视频的代码分离出来了。另外还找到了快速播放视频的方法,实测速度提高了1/6左右。。。

 

11.10:应要求增加了一个小功能。。。

      
VFRHelper - MKV章节制作工具(不要问我为什么叫这个名字。。。

更新日志:
1.1.1
	(+)新增功能:按时间跳转

1.1.0
	(*)视频代码重写,速度提高
	(+)FFMpegSource更新到2.0 beta 3,现在打开非avs文件不需要AviSynth了
	(+)使用FFMpegSource打开文件时,在标题栏显示索引进度
	(+)新增支持读取VFR MP4的Timecode
	(*)一些小改动及bug修复
	
1.0.2
	(+)新增1个快捷键
	(+)FFMpegSource更新到1.19
	(-)使用按钮能够正常打开非AVI文件了
	
1.0.1
	(+)新增2个快捷键
	(+)快捷键现在可以自定义
	(*)退出程序时会询问是否保留临时文件(如果有的话)
	
1.0.0
	初始版本

功能:
*可视化制作MKV章节文件
*支持打开TXT及XML格式的章节
*支持VFR(只支持V2的Timecode,如果是V1的话请预先转换好
*查看V2 Timecode各帧的时间(附带功能

支持的视频格式:
AVI
AVS
MKV
MP4
FLV

MKV、MP4及FLV需要FFMS2.dll支持。

快捷键说明:
方向键左/右					跳转至上一个/下一个关键帧
Shift+方向键左/右			跳转至上一帧/下一帧(注意:跳转的时候会忽略空帧)
方向键上/下					上一个/下一个章节
空格								设置当前选中章节的时间
F12									解码速度测试(可以无视
快捷键可以自定义,使用记事本之类的工具编辑keymappings.xml即可。按键名称可查看KeyNames.htm获得。

一些注意事项:
*章节文件的格式无法被改变(即只能保存为打开时候的格式)
*新建章节只支持TXT格式
        

下载:

点我

内附源代码

 

系统需求:

.Net Framework 2.0

Windows(废话

AviSynth(可选

源代码编译需求VS2008

Oct 06

发现了Haali分离器非正常退出时内嵌字体残留的原因。。。

翻MSDN的时候偶然发现用AddFontResourceEx安装内嵌字体的话,是可以让windows在进程终结的时候自动把字体卸载的。而haali安装内嵌字体的时候用的是AddFontResource,这个函数加载的字体必须手动卸载。。。于是播放器非正常结束的时候字体就残留在内存了。。。

只有等haali更新的时候修复这个bug了。。。(话说已经大半年没有更新了。。。orz

PS:顺便去看了mpc-hc内置mkv分离器的源代码,它安装字体的时候是用AddFontResourceEx,所以应该不会出现这个问题。。。

Aug 23

算法与数据结构学习笔记(7)

1、图

图由包含数据的顶点(Vertex)以及代表数据间关系的边(Edge)组成。现实中许多问题都可以用图表示。

  • 图有有向图、无向图、加权图等类型
  • 边可用邻接矩阵(Adjecency Matrix)或邻接表(Adjecency Matrix)表示
  • 图的主要遍历方法有深度优先搜索(DFS)、广度优先搜索(BFS)两种
  • 深度优先搜索使用栈实现,广度优先搜索使用队列实现
  • 最小生成树为连接所有顶点最少所需的边
  • 最小生成树中边的数量为顶点数量-1,且不能有循环
  • 可使用DFS建立最小生成树
  • 拓扑排序(Topological sorting)是把有向无循环图(Directed Acyclic Graph)的顶点按照出现顺序排序

2、加权图(Weighted Graph)

加权图的每条边都有一个权重(Weight),可用于表示距离、时间、价格等。

  • 最小生成树为连接所有顶点的总权重最低的边集合
  • 最小生成树建立方法:任选一个顶点为当前顶点,把所有边以权重作为优先级放入优先队列,从优先队列删除两端顶点均已在最小生成树中连接的边,再取出权重最小的边加入最小生成树。移动到新连接的顶点。重复直到所有顶点均已连接或所有边都测试过。
  • 最短路径问题可用Dijkstra算法解决