Category: 程序设计
在 HTML4.01 可以使用 target=”_blank”, 但 XHTML1.0是不被允许的. <a href="document.html" target="_blank">Open in New Window</a> 在 XHTML1.0 需要用 rel=”external” 属性. <a href="document.html" rel="external">Open in New Window</a> 当然这是符合 XHTML 1.0 strict 标准规范, 而且你不要忘记在文件头声明文档类型: …
最近在学 Powershell, 发现语法和PHP很像, 但又有一些不太一样, 先放上递归的实现: // helloacm.com function Fib($n) { switch ($n) { 0 { 1; break } 1 { 1; break } default { # 必须用 () 括号, …
以前听过 Powershell 但是也没有去仔细关注. 最近同事在尝试用 batch 批处理写一个 服务端自动编译脚本 (AutoBuild) 时遇到一此很奇怪不能解释的现象之后 果断用了 PowerShell 然后我就发现 Powershell 的确比较适合做这一类的任务. 首先语法强大, 是一种完整的编程语言, 而不像批处理 (*.bat) 弄一个循环都得借助很难用的 for 命令. 在批处理里, 语法不灵活, 很死板, 特别是 if 命令. 在 Powershell …
有时候博客主页上只显示文章摘要是很有好处的, 比如文章过长的时候用户就不方便定位文章. 只在首页, 搜索页, Tag, 目录类别, 还有存档页显示文章标题, 还有一两句话摘要 则会让页面显得简洁许多. 其实你只需要编辑模板页面 content.php (推荐子主题),然后找到下面这行代码: <?php if ( is_search() ) : // Only display Excerpts for Search ?> 把它改成: <?php if ( …
几乎所有软件程序都能被破解, 只是时间长短的问题, 国外有一个有名的组织是 ZeroDay 意思就是不用一天就可以破解任何软件. 有两种桌面程序,最常见的就是用 C++/Delphi 编写的 原生 native 代码,这样写出来的软件是不容易看到源代码的,因为编译器做了优化和处理.这样的代码的优点是执行速度快,效率高, 但是关键部分的代码,比如 License 验证,有经验的黑客还是很容易破解的. 俄罗斯有一个很有名的商业软件 VMProtect, 用于保护 native 代码,保护强度非常不错, 加壳,压缩,虚拟指令,防虚拟器,防调试程序等功能,保护出来的文件有时候会被一些杀毒软件认为是恶意的程序.因为用到了一些特殊指令,而杀毒软件无法分析.这种情况下可以通过联系杀毒软件公司将程序加入白名单里. .NET 程序是另一大类别.有点和 Java 类似, .NET 程序编译出来不是 本地代码 (Native),而是中间代码(类似JAVA的 ByteCode). …
Matlab 的数据(矩阵,数组等)都可以用 *.mat 文件来保存. 可以通过 scipy.io 库在 Python 里读写 *.mat 文件. import scipy.io 在导入单元之后就可以用 loadmat 方法来读取 *.mat 数据. mat = scipy.io.loadmat('file.mat') 同样的, 可以用 savemat 方法来导出数据到 *.mat 文件. arr = …
在做代码审核的时候,发现有一同事写了这样的代码.出现这种代码只能说明工作压力山大, 都不思考了. 不需要注释也能看明白,意思就是想获取一个唯一的临时文件,用了 Path.GetRandomFileName() 得到一个随机文件名,并且用 Path.GetTempPath() 得到临时文件夹.问题是他觉得这样不保险,于是就不停的尝试,如果文件存在的话,就试着下一个随机的文件名,直到不重复(或者最大尝试 100 次), 看到这里, 真是醉了. 另一个小问题就是,这个 while 还每次判断 文件名是否为空,这个只有在第一次判断的时候才为空,之后都不可能为空的,这样的代码质量真的很低. C# (.NET) 里 Path.GetTempFileName() 创建一个临时文件,并返回这个文件名.创建文件名的好处是这样就能确定该文件是唯一的, 因为其它进程在执行这个函数的时候如果文件名存在,则会获取下一个临时文件名并创建.每次都能保证唯一,而不会出现多个进程获取得到同样的文件名. 该程序员想的是,获取一个文件名(并不着急创建),之后再创建,感觉就是脱裤子放屁,多此一举,因为获取临时文件名就是肯定要创建该文件的,不创建的话获取文件名干什么? 代码审核很重要,因为这段代码平常来说是不会出问题的,但是效率实在不敢恭唯. 实际上,上面的代码完全可以替换成下面的代码(不会创建文件名), 这样的结合会更加实用些 (而且更简便, 高效) public static …