在紫荆公寓这边,由于原生IPv6
需要认证才能使用,十分不方便。而使用isatap
隧道的方法访问IPv6
则十分的稳定。但是由于isatap
隧道只能够得到一个Global
的IPv6
的地址,因此需要在路由器上启用IPv6 NAT
才能够使得路由器后面的设备无缝访问IPv6
资源。之前的路由器,在配置好之后稳定地运行了一年有余,前几日因为一些需求,需要重新配置路由器,因此将配置的过程记录下来,供今后参考。
最水木发布了
最水木 (iZSM) 是专门为 iOS 用户开发的一款水木社区的非官方客户端。该客户端充分利用 iOS 的新特性,给您带来最完美的水木社区使用体验。不管您是资深潜水员,还是水木水车,最水木是您在 iOS 设备上访问水木社区的绝佳的选择!
OS X下在NAT后连接清华IPv6的脚本
由于IPv6是不支持NAT的,因此,默认情况下,宿舍里装上路由器后,就没法再使用学校提供的IPv6服务了。不过难道真的没有办法了么?答案是否定的。将下面的脚本保存后,并执行,就可以在NAT后利用isatap隧道来使用IPv6啦~脚本中的隧道服务器是清华的。
Buffalo wzr-hp-g300nh路由器折腾小记
之前该路由器一直用的是Open-WRT的固件,但是时间长了之后,总是会遇到莫名其妙的Wifi掉线问题,VPN崩掉的问题,可能是因为一直使用开发版的固件的缘故吧。但是稳定版的Backfire固件似乎有问题,我每刷必成砖,每次都要ttl进行修复。好了闲话少提,这次主要记录的是将该路由器刷成Buffalo官方提供的Professional版本的固件,并且配置使用的过程。
Mac OS X下通过ISATAP连接清华的IPv6的方法
紫荆15#这边的网络是v4/v6双栈,可以自动获取到v4和v6的地址,但是鉴于网络中心的某一个项目强行给全校绝大部分ipv6加上了一个前无古人后无来者充分彰显世界一流大学地位巨烂无比经常崩溃的认证系统,~~并且在可以预见的未来,该认证系统并不会被拿掉,~~因此我毅然放弃了使用原生的ipv6,而改用没有认证系统的isatap隧道。
Ubuntu上宋体显示的设置
默认情况下,Ubuntu上宋体也开了防锯齿,在字体比较小的时候,英文和中文都非常的模糊,看着十分的难受。在这里,提供一个配置文件,只修改宋体的设置,使得宋体的显示变锐利(像Windows下一样)。
Linux下登录新版TUNet的bash脚本
今晚闲来无事,便写了一个登录新版TUNet的脚本,因为是一边翻书一边写的,所以非常挫,不过应该能用。
写这个最初目的是做嵌入式的大作业的,因为TUNet更新了,所以不能做以前的那个mytunet的交叉编译了。。。
脚本在Openwrt上测试通过。
把脚本中的your_username
替换成info的用户名,your_password_md5
替换成你的密码的md5,可以用echo -n your_password | md5sum
来得到。另外脚本需要curl
,Ubuntu用户可以用sudo apt-get install curl
来安装。
堆和栈的区别
预备知识—程序的内存分配
一个由C/C++编译的程序占用的内存分为以下几个部分:
- 栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
- 堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。
- 全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统释放。
- 文字常量区:常量字符串就是放在这里的。程序结束后由系统释放。
- 程序代码区:存放函数体的二进制代码。
关于C#中的委托和事件,讲解得极好的一篇文章
委托和事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使 用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。