推荐两个有趣的软件

1. Gource

Gource是一个基于OpenGL的3D虚拟化演示工具,通过读取版本控制系统的日志,将所有commit历史通过动画展现出来,非常酷炫,支持Git、Mercurial、Bazaar及SVN。

官网地址
http://gource.io/

GitHub地址
https://github.com/acaudwell/Gource

要是问Gource有什么实际作用,就是做Presentation时收获若干 Wow, cool~~

2. PaperBack

最有效的数据保存方式是什么?

《三体》中给出的答案是刻在石头上...

OllyDbg的作者Oley Yuschuk大神给出了另外一个办法:Paperbak,可以把文件存储到一个巨大的Bitmap图像中。根据官网的介绍,如果打印机的分辨率达到600 DPI,一张A4纸可以保存500000 Bytes的数据。

使用说明及软件下载,请访问官网
http://ollydbg.de/Paperbak/

Setting up Proxy on Debian

Debian上并没有一个统一的"区域"或"选项"来设置代理服务器,有些桌面环境会提供这样的功能,或者使用软件自带的选项。不过系统中已经提供了一些预定义的环境变量(Environment Variable),可以通过这些变量来设定代理服务器地址。

- 继续阅读 -

位运算的例子

给定一个正整数n,如何判断是否是2的乘方?

通常的解法是,声明一个临时变量t,从1开始,连续乘2,在t不大于n的情况下,比较t和n,如果相等,则n是2的乘方。如果t大于n,计算结束,n不是2的乘方。

- 继续阅读 -

diff and patch

diff是Linux系统上一个很重要的命令,用来查看两个文件或者目录之间的不同,是实现版本管理的基础,其算法基础是动态规划中的最长公共子序列,diff命令支持很多额外选项,最常用的是 -u 这个选项,即合并格式(Unified Format)的diff,此选项的输出格式可以被很多自动化工具识别并处理。

- 继续阅读 -

解决TortoiseSVN无法访问服务器的问题

局域网内部署了一台SVN服务器,用于管理各种文档,其环境为

Server: Debian 8 x64 + Apache2 + Subversion
IP:192.168.1.10/24

Client: Windows 7 x64 + TortoiseSVN 1.9.4 x64

最近发现TortoiseSVN的版本库浏览器总是无法连接服务器,错误提示

Unable to connect to a repository URL 'http://192.168.1.10/svn'
The URI does not contain the name of a repository

- 继续阅读 -

网页链接的target属性漏洞

这是一位国外的网友发现的漏洞,原文地址在这里
https://dev.to/ben/the-targetblank-vulnerability-by-example

在网页中引用一个网址是很常见的做法,通常会给该网址加上 target="_blank" 属性,这样就可以在一个新的浏览器标签页或者新窗口中打开链接,此时用户会暴露在一个非常简单的钓鱼攻击之下。

在这位网友的博客中也演示了这个漏洞,打开一个网址,点击网页中的某个链接后,原网页会跳转到另一个网页,如果原网页还保存了用户的登录信息,被恶意构造的网页就可以利用到保存的这些信息。

解决办法是给包含 target="_blank" 属性的链接加上 rel="noopener" 属性,因为Firefox浏览器不支持这个属性,需要用 rel="noopener noreferrer" 属性来代替。