紫荆15#这边的网络是v4/v6双栈,可以自动获取到v4和v6的地址,但是鉴于网络中心的某一个项目强行给全校绝大部分ipv6加上了一个前无古人后无来者充分彰显世界一流大学地位巨烂无比经常崩溃的认证系统,~~并且在可以预见的未来,该认证系统并不会被拿掉,~~因此我毅然放弃了使用原生的ipv6,而改用没有认证系统的isatap隧道。
给小本换SSD
自从一年多以前买来这个上网本Samsung N148之后,一直对其抱着复杂的情感,便携性是没的说,平时听听歌,写写代码是没有问题的,可是浏览网页或者是做其他一些操作的话,经常会卡住半天,慢得要死。看来上网本确实是有点鸡肋啊,食之无味,弃之可惜。上网查阅一些资料得知,反应慢的主要瓶颈是在硬盘,因此就萌发了给我的小本换个固态硬盘的念头,也好让它焕发一下第二春,发挥点余热。
在淘宝上买了intel的20GSSD,20G确实有点小,不过对于一个基本不存什么东西的上网本,还是足够用了的。
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设计模式的意义,对它们的中间代码也做了讨论。