装完windows7首先要做的几件重要事情

一个好的系统是需要调整和优化的,不是简单用的系统盘进行安装完后就了事了。以下是本人总结经验,希望能给大家一些帮助。

通常我们在安装完Windows 7之后,C盘中主要会有如下几个文件夹,也是空间占用的主要来源:
Program Files
:应用程序文件夹,一般软件默认都会安装在这里(64位用户会多出一个Program Files (X86)文件夹,是系统中32位软件的安装目录,是正常的)
ProgramData
:系统文件夹,放置程序的使用数据、设置等文件,不建议删除。
Windows
:存放操作系统主要文件的文件夹,非常重要
用户
:保存着用户的配置文件和数据,Windows 7中的“用户”文件夹其实就是XP中的Documents and Settings文件夹。
hiberfil.sys
:系统的休眠功能所占用的硬盘空间的文件
pagefile.sys
:虚拟内存页面文件
还有一些其他文件夹:
$RECYCLE.BIN :系统文件夹,也就是的“回收站”,是不能删除的
System Volume Information:系统卷标信息文件。这个文件夹里就存储着系统还原的备份信息。PerfLogs: Windows的日志信息文件,如磁盘扫描错误信息。PerfLogs是系统自动生成的。MSOCache:Office的本地安装源
 以上就是“C盘”中的主要文件和文件夹内容,另外在使用过程中还会出现一些其他文件,比如说可能会有以数字字母命名的文件,这个可能是Windows Update的更新临时文件夹,通常会自动删除的。
下面详细说一下Windows文件夹和用户文件夹:
Windows文件夹:
这个文件夹中保存这Windows系统的主要文件,其中占用最大的文件夹为system32和winsxs。
System32:系统重要文件夹,包含大量用户Windows的文件,主要为Dll、CPL、驱动以及支持系统运行的一些文件。
Winsxs:Winsxs 是 VISTA/Windows 7 的 Windows 目录下一个非常重要的文件夹,该文件夹里边有很多重要的组件,版本也很复杂,为了保证 Windows 的正常运行,里面的文件是不可删除的。

用户文件夹:
该文件夹中会包括用户使用过程中的数据、程序内容以及文档、音乐等内容,进入用户文件夹后会发现已用户名命名的文件夹,打开后会看到桌面、我的音乐、我的图片、我的视频、收藏夹、我的文档、音乐、AppData、Downloads等文件夹。
桌面
:会保存当前用户的桌面上所有内容,很多朋友习惯把文件放在桌面,这些也是占用C盘空间的哦!
我的音乐
、我的图片、我的视频:顾名思义,这些内容默认是会保存在这里,当然很多朋友都放在单独的地方。另外,有一点需要注意的就是使用itunes下载的应用程序等内容默认是会放在我的音乐文件夹中的,也会占用C盘的空间。
收藏夹
:包含IE浏览器中的收藏夹文件
Downloads
:IE以及很多浏览器或者其他程序的一些下载内容默认会保存在这里,同样会占用一些“C盘”空间。
我的文档
:就是我的文档,保存了很多程序的记录文件,比如常用的Outlook、QQ、MSN等文件夹的数据文件都会保存在这里的。
AppData
:程序的数据存放,也就是早起Windows系统中的Application Data,安装软件里的用户自定义设置,临时文件夹,快速启动文件夹等.

以上:参考

Windows自带的清理工具


“以管理员身份运行,所有程序→附件→命令提示符”,右击选择“以管理员身份运行”, 进入命令提示符后,手工输入“powercfg -h off” 。

删除备份,关闭系统保护(计算机右键属性--高级管理设置--系统保护)

转移虚拟内存(计算机右键属性--高级管理设置--高级--性能-设置-高级-更改)


转移“用户的文件”(桌面双击Administrator(用户文件夹)文件夹,在这里推荐转移文件夹桌面,收藏夹,我的桌面,我的文档,我的tupian。右键要转移的项目属性--修改文件夹位置即可,重装系统后改成相同的文件夹,所有的东西就都回来了.

减肥攻略(删文件不删功能、简化优化系统不简优化性能)
C:\Boot (13.3M) 这个里面是不同语言的Windows启动界面,除zh-CN外均可删除
您需要来自TrustedInstaller的权限
C:\perflogs\System\Diagnostics (9.39M) 这个是系统测试之后的测试记录文件存放处 删

C:\Windows\Downloaded Installations 有一些程序(Dreamweaver。。)
安装的时候会把安装文件解压至此文件夹里面。可以安全删除。几十M到几百M不等。
C:\Windows\Help (66.7M) 全部咔嚓。相信没有小白同志 看这个了吧。。
C:\Windows\IME\IMESC5 您自定吧,反正我是用第三方输入法的。 微软拼音输入法(74.5M)可留
C:\Windows\IME\IMEJP10 日文输入法(37.8M) 删
C:\Windows\IME\imekr8 韩文输入法(2.86M) 删
C:\Windows\IME\IMETC10 繁中输入法(21.6M) 删
C:\Windows\System32\IME 下 也会有这几项输入法!删除方法同上
“C:\Windows\System32\IME\IMESC5”
“C:\Windows\System32\IME\***X”
C:\Windows\Installer 下,已安装程序的卸载修改时所需程序,如果你删除了,有些程序卸载和修改就会有问题。
C:\Windows\winsxs 这个不能删除,但是可以压缩,压缩后大小为2.48G。节省空间近1G!
系统文件,总大小3.22G,
C:\Windows\winsxs\Backup(备份文件,占用354MB); 删除 放心吧,用不到的。。

C:\ProgramData
一些程序安装时会放一些文件到这里面,看需要删除,里面的安装文件exe、msi,可以删除,但是有些是软件运行时需要的文件,不能乱删。
C:\Program Files\Microsoft Games 系统自带游戏,不玩的可以删除掉,删除自带游戏的方法如下: 开始-控制面板-程序-打开或关闭Windows功能,找到游戏,点加号展开,去掉你想删除的游戏前面的对勾,然后确定,即可,同时可以关闭的功能有Tablet PC可选组件/Windows DFS服务/打印服务/Windows传真和扫描/Windows会议室/远程差分压缩,如需打开IIS,在这里打开Internet信息服务即可
以下 这些删不删看你了
C:\Program Files\Microsoft Games\Chess
象棋高手(30.3M)
C:\Program Files\Microsoft Games\FreeCell
空当接龙(690K)
C:\Program Files\Microsoft Games\Hearts
红心大战(687K)
C:\Program Files\Microsoft Game
s\inkball
墨球(1.2M)
C:\Program Files\Microsoft Games\Mahjong
麻将高手(12.6M)
C:\Program Files\Microsoft Games\Minesweeper
扫雷(4.96M)
C:\Program Files\Microsoft Games\Purble Place
厨房大赛(3囧M)
C:\Program Files\Microsoft Games\Solitaire
纸牌(696K)
C:\Program Files\Microsoft Games\SpiderSolitaire
蜘蛛纸牌(697K)
C:\Users\Public(删除)
所有用户公用文件夹,里面有一些示例图片、视频等,可以删除之(217M)
其中C:\Users\Public\Recorded TV\Sample Media为Windows Media Center的示例电视录制文件(143M),
C:\Users\Public\Music\Sample Music为示例音乐(59M),
最后最好还是做一个GHOST备份,有备无患。也方便以后的。

来源:http://technet.microsoft.com/zh-cn/library/ff629046.aspx

在上面的步骤之后通常我也会设置一些本地组策略
1.设置"显示以前登录信息"
运行--gpedit.msc打开本地组策略编辑器--计算机配置--管理模板--Windows组件--Windows登录选项--设置"在用户登录期间显示有关以前登录的信息"为启动.这样每一次登录就能知道前一次谁登录成功,有谁在登录时几次尝试失败.
2.Windows组件下的桌面小工具一般情况我会选择禁用.


MSOCache,是Office的本地安装源,“本地安装源”是一种安装功能,它将安装源文件从 Microsoft Office 2003 安装媒体(例如 Office 2003 光盘)复制到 Msocache 文件夹。该文件夹是一个隐藏文件夹,而且还很大。
当您安装Office时,如果您的一个可用硬盘驱动器具有 1.5 GB 以上的可用磁盘空间,并且具有足够空间的硬盘不是可移动驱动器或网络驱动器,那么安装源文件将被从安装媒体复制到您的本地硬盘上的Msocache 文件夹。
“本地安装源”功能已安装后,将会使你在执行诸如“检测和修复”、“要求式安装”、“维护模式安装”、“Service Pack和修被程序”等的安装操作过程中不必插入光盘。
此文件夹较大,占据270MB的硬盘空间,事实上该文件夹在Office安装成功后是可以删除的,从而达到节省磁盘空间的目的。如要删除 Msocache 文件夹,可以在 Office 安装期间或 Office 安装之后执行此操作。
如果您选择在安装期间删除 Msocache 文件夹,则应在“安装已完成”页中,单击以选中“删除安装文件”复选框,然后单击“完成”。
如果您选择在 Office 安装之后删除 Msocache 文件夹,注意切毋使用 Microsoft Windows 资源管理器删除 MSOCACHE 文件夹,可以使用 Windows 清理向导删除 Msocache 文件夹。
步骤:1.单击“开始”,依次指向“所有程序”、“附件”、“系统工具”,然后单击“磁盘清理”。
2.在“选择驱动器”对话框中的“驱动器”列表中,单击“C:”,然后单击“确定”。
注意:如果您有多个硬盘,Office 安装文件将位于在 Office 安装期间具有最多可用空间的分区中。
3.等待磁盘清理工具完成对该驱动器的检查。
4.在“要删除的文件”列表中,单击以选中“Office 安装文件”复选框,然后单击“确定”。
注意:如果 Office 安装文件的大小为零,则 Office 安装文件位于另一硬盘上。
5.在收到以下消息时,请单击“是”:确定要删除这些文件吗?
注意:(1)如果您的硬盘上有多个分区,您可能必须对每个分区重复这些步骤。(2)MSOCACHE 文件夹不总是位于可用空间最多的硬盘驱动器上。如果您计算机的 NTFS 驱动器至少具有 1.5 GB 的可用空间,MSOCACHE 文件夹将位于该 NTFS 驱动器中。

油猴子脚本

油猴子脚本备份,省得重装Chrome老是丢失一些脚本.

Chrome下推荐安装Tampermonkey插件

YouTube系列

Download YouTube Videos as MP4
顾名思义,用来下载YouTube上的视频的.为了给人演示视频,不得不离线保存一些高质量的视频,我就把几个小时长的Google I/O 2012下了.
YouTube Video Download


OpenGG.Clean.Player
OpenGG大大的作品,用于去除国内视频网站超长时间的广告,虽然我也不大用优酷,土豆什么的,国内的视频网站就只剩下搜狐影视看看美剧什么的了.尼基塔第三季怎么还不出来!!!!

Google系列

Straight Google
去除Google重定向的

Google+系列

Google+ Hover Zoom
当初也常用这个脚本,但是现在已经换成了Chrome下的插件Hover Zoom,因为这个插件不仅能够放大G+上面的图片还能放大你想放大的任何网页上的图片,并且更加稳定.


Replies and more for Google+
没找到好用的快速回复脚本,只能用上面的插件了.等找到了再说吧.


豆瓣系列

爱问共享资料豆瓣插件
在豆瓣的读书、电影和音乐三个频道,根据其内容推荐新浪爱问共享资料里的相关内容,方便豆友在豆瓣站内下载相关资料。

verydou
在豆瓣的电影,音乐,书籍页面显示VeryCD相关资源,虽然现在VeryCD已经在黄泉路上了,但是积累下来的资源还是蛮丰富的.如果等级高的话,貌似还能看到下载链接.

豆瓣电影下载插件
在豆瓣电影页面显示torrentproject.com的下载链接


插件扩展和脚本的区别?
感谢 Simon Chan 分享以下内容
什么是插件?
插件是指 Plug-in,一般为二进制,比如 Flash,或是 Adobe 的 PDF Reader 什么的
IE 必须用插件来扩充功能,在 Chrome 系和 Firefox 系上则是一种高效、难以反向的扩充程序

什么是扩展?
扩展在 Firefox 系上叫 Add-on ,在 Chrome 系叫 Extension,其实就是这两个词都翻译成扩展而已,它们都是 js 写的,比如常见的 ADBlock Plus,Stylish 之类的

什么是脚本?
脚本就是单个的 js 文件,Chrome 系和 Firefox 系都支持以 .user.js 结尾的“用户脚本”,可以方便地对网页进行修改,而且在各个支持的浏览器上都是通用的,可以到 userScripts.org 之类的地方一找一大堆

C语言文件操作详解(转)

1. 需要了解的概念
需要理解的知识点包括:数据流、缓冲区、文件类型、文件存取方式

1.1 数据流:
指程序与数据的交互是以流的形式进行的。进行C语言文件的存取时,都会先进行“打开文件”操作,这个操作就是在打开数据流,而“关闭文件”操作就是关闭数据流。
1.2 缓冲区(Buffer):
指在程序执行时,所提供的额外内存,可用来暂时存放做准备执行的数据。它的设置是为了提高存取效率,因为内存的存取速度比磁盘驱动器快得多。
 C语言中带缓冲区的文件处理:
C语言的文件处理功能依据系统是否设置“缓冲区”分为两种:一种是设置缓冲区,另一种是不设置缓冲区。由于不设置缓冲区的文件处理方式,必须使用较低级的I/O函数(包含在头文件io.h和fcntl.h中)来直接对磁盘存取,这种方式的存取速度慢,并且由于不是C的标准函数,跨平台操作时容易出问题。下面只介绍第一种处理方式,即设置缓冲区的文件处理方式:
当使用标准I/O函数(包含在头文件stdio.h中)时,系统会自动设置缓冲区,并通过数据流来读写文件。当进行文件读取时,不会直接对磁盘进行读取,而是先打开数据流,将磁盘上的文件信息拷贝到缓冲区内,然后程序再从缓冲区中读取所需数据,如下图所示:

事实上,当写入文件时,并不会马上写入磁盘中,而是先写入缓冲区,只有在缓冲区已满或“关闭文件”时,才会将数据写入磁盘,如下图所示。

1.3 文件类型:
分为文本文件和二进制文件两种。
文本文件是以字符编码的方式进行保存的。二进制文件将内存中数据原封不至文件中,适用于非字符为主的数据。如果以记事本打开,只会看到一堆乱码。
其实,除了文本文件外,所有的数据都可以算是二进制文件。二进制文件的优点在于存取速度快,占用空间小,以及可随机存取数据。
1.4 文件存取方式:
包括顺序存取方式和随机存取方式两种。
顺序读取也就是从上往下,一笔一笔读取文件的内容。保存数据时,将数据附加在文件的末尾。这种存取方式常用于文本文件,而被存取的文件则称为顺序文件。
随机存取方式多半以二进制文件为主。它会以一个完整的单位来进行数据的读取和写入,通常以结构为单位。

2. 文本文件操作
C语言中主要通过标准I/O函数来对文本文件进行处理。相关的操作包括打开、读写、关闭与设置缓冲区。
相关的存取函数有:fopen(), fclose(), fgetc(), fputc(), fgets(), fputs(), fprintf(), fscanf()等。
2.1 打开文件
函数原型为:_CRTIMP FILE * __cdecl fopen(const char *, const char *);
第一参数为文件名,第二个参数为打开模式。
打开成功,fopen返回一个结构指针地址,否则返回一个NULL。如果没有指定文件路径,则默认为当前工作目录。如:
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->FILE *fp;
fp = fopen("c:\\temp\\test.txt", "r") //由于反斜杠\是控制字符,所以必须再加一个反斜杠

使用fopen()函数打开的文件会先将文件复制到缓冲区。注意:所下达的读取或写入动作,都是针对缓冲区进行存取而不是磁盘,只有当使用fclose()函数关闭文件时,缓冲区中的数据才会写入磁盘。
  谈文件打开模式

打开文本文件:

"r":只能从文件中读数据,该文件必须先存在,否则打开失败
"w":只能向文件写数据,若指定的文件不存在则创建它,如果存在则先删除它再重建一个新文件
"a":向文件增加新数据(不删除原有数据),若文件不存在则打开失败,打开时位置指针移到文件末尾
"r+":可读/写数据,该文件必须先存在,否则打开失败
"w+":可读/写数据,用该模式打开新建一个文件,先向该文件写数据,然后可读取该文件中的数据
"a+":可读/写数据,原来的文件不被删去,位置指针移到文件末尾

打开二进制文件的模式与打开文本文件的含义是一样的,不同的是模式名称里面多一个字母'b’,以表示以二进制形式打开文件。

2.2 关闭文件
函数原型为:_CRTIMP int __cdecl fclose(FILE *);
关闭成功返回值0,否则返回非零值。
注:在执行完文件的操作后,要进行“关闭文件”操作。虽然程序在结束前会自动关闭所有的打开文件,但文件打开过多会导致系统运行缓慢,这时就要自行手动关闭不再使用的文件,来提高系统整体的执行效率。
例1. 打开文件并进行判断和关闭文件
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->FILE *fp;
fp = fopen("c:\\temp\\test.txt", "r");

if(fp == NULL)
    printf("fail to open the file! \n");
else
{
    printf("The file is open! \n");
    fclose(fp);
}


2.3 字符存取函数
函数原型为:
_CRTIMP int __cdecl fputc(int, FILE *);
_CRTIMP int __cdecl fgetc(FILE *);
字符读取函数fgetc()可从文件数据流中一次读取一个字符,然后读取光标移动到下一个字符,并逐步将文件的内容读出。
如果字符读取成功,则返回所读取的字符,否则返回EOF(end of file)。EOF是表示数据结尾的常量,真值为-1。另外,要判断文件是否读取完毕,可利用feof()进行检查。未完返回0,已完返回非零值。
feof()函数原型为:_CRTIMP int __cdecl feof(FILE *);
例2. fgetc()函数的使用
版本1:利用feof()函数检查文件是否读取完毕
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->
#include <stdio.h>

main()
{
    FILE *fp;
    fp = fopen("c:\\temp\\test.txt", "r");
    if(fp != NULL)
    {
        while(!feof(fp))
            printf("%c", fgetc(fp));
    }
    else
        printf("fail to open! \n");
    fclose(fp);

    return 0;
}

版本2:利用文件结束标志EOF(即-1)
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->
#include <stdio.h>

main()
{
    char ch;
    FILE *fp;
    fp = fopen("c:\\temp\\test.txt", "r");
    if(fp != NULL)
    {
        ch = fgetc(fp);
        while(ch != EOF)
        {
            putchar(ch);
            ch = fgetc(fp);
        }

    }
    else
        printf("fail to open! \n");
    fclose(fp);

    return 0;
}

版本3 - 重构版本2
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#include <stdio.h>

main()
{
    char ch;
    FILE *fp;
    if((fp = fopen("test.txt", "r")) != NULL)
        while((ch = fgetc(fp)) != EOF)
            putchar(ch);
    else
        printf("fail to open! \n");
    fclose(fp);

    return 0;
}

版本4 - 重构版本3 (不正确的重构)
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#include <stdio.h>

main()
{
    FILE *fp;
    if((fp = fopen("test.txt", "r")) != NULL)
        while(fgetc(fp) != EOF)
            putchar(fgetc(fp));
    else
        printf("fail to open! \n");
    fclose(fp);

    return 0;
}


若要将字符逐一写入文件,用fputc()函数。示例为:
例3. fputc()函数的使用
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#include <stdio.h>
#include <conio.h>

main()
{
    char filename[20], ch;
    FILE *fp;
    printf("Enter a filename: ");
    scanf("%s", filename);
    printf("Enter some characters to output to file: ");
    if((fp = fopen(filename, "w")) == NULL)
        printf("fail to open! \n");
    else
    {
        while((ch = getche()) != '\015')
            fputc(ch, fp);
    }
    fclose(fp);

    return 0;
}


2.4 字符串存取函数
函数原型为:
_CRTIMP int __cdecl fputs(const char *, FILE *);
_CRTIMP char * __cdecl fgets(char *, int, FILE *);
fgets函数的作用是从指定文件读入一个字符串,如:fgets(str, n, fp);
参数n为要求得到的字符个数,但只从fp指向的文件输入n-1个字符,然后在最后加一个'\0'字符,因此得到的字符串共有n个字符,把它们放在字符数组str中。如果在读完n-1个字符之前遇到换行符或EOF,读入结束。
fputs函数的作用是向指定文件输出一个字符串,如:fputs("Hey", fp);
把字符串"Hey"输出到fp指向的文件。fputs函数的第一个参数可以是字符串常量、字符数组名或字符型指针。若输出成功,则返回0,否则返回EOF。
实例略

2.5 格式化存取函数
函数原型为:
_CRTIMP int __cdecl fprintf(FILE *, const char *, ...);
_CRTIMP int __cdecl fscanf(FILE *, const char *, ...);
它们与printf和scanf函数相仿,都是格式化读写函数。不同的是:fprintf和fscanf函数的读写对象不是终端(标准输入输出),而是磁盘文件。printf函数是将内容输出到终端(屏幕),因此,fprintf就是将内容输出到磁盘文件了。
实例4. fprintf和fscanf函数的使用
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#include <stdio.h>

void main()
{
    FILE *fp;

    int num = 10;
    char name[10] = "Leeming";
    char gender = 'M';

    if((fp = fopen("info.txt", "w+")) == NULL)
        printf("can't open the file! \n");
    else
        fprintf(fp, "%d, %s, %c", num, name, gender); //将数据格式化输出到文件info.txt中

    fscanf(fp, "%d, %s, %c", &num, name, &gender); //从文件info.txt中格式化读取数据
    printf("%d, %s, %c \n", num, name, gender); //格式化输出到屏幕

    fclose(fp);
}

2.6 指针重返函数
函数原型为:
_CRTIMP void __cdecl rewind(FILE *);;
rewind函数的作用是使位置指针重返回文件的开头,属于文件的定位。

3. 二进制文件操作
3.1 数据块存取函数
函数原型:
_CRTIMP size_t __cdecl fread(void *, size_t, size_t, FILE *);
_CRTIMP size_t __cdecl fwrite(const void *, size_t, size_t, FILE *);
当要求一次存取一组数据(如,一个数组、一个结构体变量的值),fread和fwrite函数可以解决该类问题。它们的调用形式一般为:
fread(buffer, size, count, fp);
fwrite(buffer, size, count, fp);
buffer:对于fread来说,指的是读入数据的存放地址;对于fwrite来说,是要输出数据的地址。
size:读写数据时,每笔数据的大小
count:读写数据的笔数
fp:文件指针
实例5. fread和fwrite函数的使用
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#include <stdio.h>
#define SIZE 3

typedef enum { MM, GG } Gender;

typedef struct
{
    char name[10];
    int  age;
    Gender gender;
} Person;

void write2file(Person emp[SIZE])
{
    FILE *fp;
    if((fp = fopen("emp.txt", "wb")) == NULL)
    {
        printf("cannot open file! \n");
        return;
    }

    for(int i=0; i<SIZE; i++)
        if(fwrite(&emp[i], sizeof(Person), 1, fp) != 1)
            printf("file write error! \n");
    fclose(fp);
}

void read_from_file(FILE *fp)
{
    Person emp_out[SIZE];

    if((fp = fopen("emp.txt", "rb")) == NULL)
    {
        printf("cannot open file! \n");
        return;
    }

    printf("\n%d employee's information read: \n", SIZE);

    for(int i=0; i<SIZE; i++)
    {
        if(fread(&emp_out[i], sizeof(Person), 1, fp) != 1)
            if(feof(fp))
            {
                fclose(fp);
                return;
            }
            printf("%-5s %4d %5d \n", emp_out[i].name, emp_out[i].age, emp_out[i].gender);
    }
    fclose(fp);
}

void main()
{
    FILE *fp = NULL;
    Person employee[SIZE];

    printf("Enter %d employee's information: \n", SIZE);
    for(int i=0; i<SIZE; i++)
        scanf("%s %d %d", employee[i].name, &employee[i].age, &employee[i].gender);

    write2file(employee);

    read_from_file(fp);
}

3.2 随机存取函数fseek()
函数原型:
_CRTIMP int __cdecl fseek(FILE *, long, int);
对流式文件可以进行顺序读写,也可以进行随机读写。关键在于控制文件的位置指针,如果位置指针是按字节位置顺序移动的,就是顺序读写。如果能将位置指针按需要移动到任意位置,就可以实现随机读写。所谓随机读写,是指读完上一个字符(字节)后,并不一定要读写其后续的字符(字节),而可以读写文件中任意位置上所需要的字符(字节)。该函数的调用形式为:
fseek(fp, offset, start);
start:起始点。用0、1、2代替。0代表文件开始,名字为SEEK_SET,1代表当前位置,名字为SEEK_CUR,2代表文件末尾,名字为SEEK_END。
fseek()函数一般用于二进制文件,因为文本文件要发生字符转换,计算位置时往往会发生混乱。
调用实例如:

fseek(fp, i*sizeof(Person), 0);

引用:1

重新注册系统所有DLL文件

Windows系统有时之所以会频繁受到损伤,主要是许多应用程序常常共享调用一些DLL文件,一旦有的应用程序在使用完毕被自动卸载掉后,这些应用程序所调用的DLL文件往往也会跟着被删除掉了,这么一来Windows系统或系统中的其他应用程序再次调用那些共享了的DLL文件时,就自然会发生错误现象了!可能引起各种各样不可知的问题,比如无法打开二级链接,经常出现“内存不能为read或written”等错误。

在急救那些由于系统DLL文件丢失引起的Windows系统运行不正常故障时,我们根本不需要重新安装操作系统,只需要对那些已经丢失了的DLL文件进行一下重新注册,就能让系统恢复正常运行状态了。

如何一下把所有的dll文件重新注册一遍呢?其实很简单!

1、开始-运行:输入cmd,按“enter”键回车!进入"c:\windows\system32\cmd.exe"窗口

2、在"c:\windows\system32\cmd.exe"窗口中的命令提示符下直接输入:for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1

3、按“enter”键回车!    开始对系统所有的DLL文件重新注册了!耐心等待吧!

4、回复命令提示符闪烁状态时,注册结束!在命令提示符下直接输入exit,按“enter”键回车退出吧。

SQL Server 2005数据库实验四

实验名称:SQL Server2005 视图、存储过程、触发器的创建及使用

实验内容:在SQL Server 中完成视图的定义并在此基础上进行更新等操作;
在SQL Server 中完成视存储过程的设计、创建及执行等操作;
在SQL Server中创建DML触发器,并设置相关操作使之运行。
实验目的:掌握视图的定义并了解什么情况下视图修改可以成功,体会视图与表的异同之处;
理解和掌握存储过程的创建及调用方法;
理解和掌握触发器的创建方法,体会触发器的执行条件和作用。
实验方法:在SQL Server 环境下,通过SQL语句完成相应操作。

实验步骤及要求:
一.视图
使用 pc、product表相同的model属性进行关联, 建一个视图testview,包含maker,model,price三个属性。
1.   修改视图中的price的值,观察视图和pc表中相关的变化。
2.   修改视图中的model的值,观察视图、pc、product表中相关的变化。
3.   上一步中的修改完成的有问题,两个原始表(pc、product)的内容不是都修改了,为完成相应操作,请设计一个触发器,当对视图的model进行修改时,触发器自动完成pc、product的修改。

二.存储过程(创建及调用的sql语句)
1.查询成绩在x和y之间的学生信息。(x,y是两个输入参数,学生信息包括学号、姓名、年龄)
2.计算指定课程的及格率(输入参数:课程编号,输出参数:该课程的及格率。)

三.触发器
1.修改SC表中学生成绩时,成绩(grade)的增加幅度不能超过10%,超过该范围,取消操作,并给出错误提示。
2.删除一条学生信息(S表)时,如果该生信息已经存在于成绩SC表中,给出提示,不能删除。

实验4要求下载
实验4实验数据 (实验4数据没有后缀名,在数据库管理界面SQL SERVER MANAGEMENT STUDIO添加到数据库即可)

在视图上建立触发器

对视图建立触发器,SQL Server 2000提供了instead of 方法,可以对原触发行为进行改写。
这里以一个简单的例子来说明使用对视图建立触发器的方法:
1. 创建两个Table (假设id唯一)
    create table test1(id varchar(50), name varchar(50))
    create table test2(id varchar(50), name varchar(50))
2. 创建一个视图
    create view viewTest as
    select test1.id, test1.name as name1, test2.name as name2 from test1 inner join test2 on test1.id = test2.id
3. 创建insert触发器
    create trigger triggerInsertViewTest on viewTest
    instead of insert
    as  
    begin
         insert test1(id, name) select id, name1 from inserted
         insert test2(id, name) select id, name2 from inserted
    end
4. 创建update触发器
update操作实际上是先进行delete, 再进行insert操作。
    create trigger triggerUpdateViewTest on viewTest
    instead of update
    as
    if update(id)
    begin
         update test1 set test1.id = inserted.id from test1, inserted, deleted where test1.id = deleted.id
         update test2 set test2.id = inserted.id from test2, inserted, deleted where test2.id = deleted.id
    end
    if update(name1)
    begin
        update test1 set test1.name = inserted.name1 from test1, inserted where test1.id = inserted.id
    end
    if update(name2)
    begin
         update test2 set test2.name = inserted.name2 from test2, inserted where test2.id = inserted.id
    end
5. 创建delete触发器
    create trigger triggerDeleteViewTest on viewTest
    instead of delete
    as
    begin
         delete test1 from test1, deleted where test1.id = deleted.id
         delete test2 from test2, deleted where test2.id = deleted.id
    end

引用网址: 1

Delete语句语法

DELETE FROM table_name
WHERE 条件

Windows7下修复wubi安装Ubuntu引导

重装系统,Ubuntu引导丢失,好在找回引导不是很麻烦.通过命令行下几行代码就能够快速的找回.
以前还用一个EasyBCD的软件能够简单的找回引导,但是毕竟还是要装一个软件嘛.能够不通过软件直接找回引导,那才显得快捷方便.
步骤:
1.用管理员身份运行cmd.exe
2.依次输入以下命令
bcdedit /create /d "Ubuntu" /application bootsector
此时将会生成一个id,以下说的“id”均用此时生成的id替代
bcdedit /set {id} device partition=I:
bcdedit /set {id} path \ubuntu\winboot\wubildr.mbr
bcdedit /displayorder {id} /addlast

在Ubuntu下安装软件

最近急事不得不切换到Ubuntu下,各种的不方便不习惯随之而来,不过所有的事情都需要经历一个熟悉的过程。所以慢慢来熟悉吧。

安装Chrome Dev

Chrome作为各种系统中最重要的部分怎能不装,无论是重新安装Windows还是刚刚上手Ubuntu第一件事情就是安装Chrome,所以我期待着Chrome系统的那一天。

1.首先导入google 的key
   wget --quiet http://dl.google.com/linux/linux_signing_key.pub -O - | sudo apt-key add -

2.运行命令:sudo gedit /etc/apt/sources.list.d/google-chrome.list 在文件最后添加下面一行:
   deb http://dl.google.com/linux/deb/ stable main

3.运行 sudo apt-get update

4.运行命令:sudo apt-get install google-chrome-unstable 可安装dev版的google chrome;
   同理,运行命令:sudo apt-get install google-chrome 可安装稳定版chrome;
   运行命令:sudo apt-get install google-chrome-beta可安装测试版chrome
参考:ACE's BLOG

输入法

Ubuntu下默认的输入法实在太差,以前还一直用用iBus,今天恰好看到Ubuntu下原来有google拼音输入法。那当然切换到Google拼音啦。
后发现这个方式在12.04下貌似有点问题,又切换到了fcitx,更加详细的请看Ubuntu中文

感谢这个项目:https://code.google.com/p/libgooglepinyin/
准备工作:你得安装ibus。(这是ubuntu的默认输入法框架,所以一般都不需要你去安装),具体可以参考 http://wiki.ubuntu.org.cn/IBus

然后:
sudo apt-get install cmake build-essential opencc mercurial ibus

hg clone http://code.google.com/p/libgooglepinyin/

cd libgooglepinyin

mkdir build; cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr

make
sudo make install
再然后:
在ibus的选项中,选择添加google拼音输入法
参考:Google Code 豆瓣小组

Ubuntu下安装KDE桌面
Ubuntu xx.xx版本后面自带的桌面系统就已经变成了Unity。貌似这个桌面在老一辈的Linux用户看来并不实用,而Ubuntu以前的GNOME桌面我也安装了。不过还是不习惯啦。尤其是关闭,最大化,最小化都在左边,所以再用完学校OPEN SUSE的KDE桌面之后我就想在Ubuntu上面安装KDE。
具体步骤:
1.打开终端,输入 sudo apt-get install kubuntu-desktop
2.接下来就是漫长的等待过程,中间有几次输入Y,然后重启就行了。
更加具体的步骤,安装中文包,卸载桌面,参考

好了,至于我看到一篇文章,详细的,我已经不想写了,直接去看那篇文章算了。这篇文章更新到此结束。

Ubuntu无法获得锁


Ubuntu下安装软件经常遇到这个问题,备份下解决方案
E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?


强制解锁,命令
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

豐富Blogger內容-Blogger修改全記錄

在Windows Live Space關閉後,Blogger和WordPress.com成了兩大個人網誌提供服務商,更由於Blogger屬於Google的產品,我更加要學會去使用它。

內容推薦插件
功能是在一篇博文後面推薦五篇內容相關的博文
無需註冊

DISQUS評論插件
增強Blogger評論功能,增加社交因素,在安裝完這個插件後可能發現這個插件在靜態頁面,也就是http://yourdomain.blogspot.com/p/xxx.html,類似這種頁面中不能正常工作,參考這篇文章已解決。

Blogger優化
Blogger標題的優化,對搜索引擎和用戶更加友好

去除Blogger導航欄
Blogger上方有一個個人認為非常難看的導航欄,幸好Blogger自定義的程度非常高,所以很容易做自定義隱藏Blogger的導航欄

Blogger首頁摘要顯示
讓Blogger首頁以摘要形式顯示,不顯示全文

YouTube視頻Blogger居中內嵌
為了讓內嵌在Blogger中的視頻居中顯示,只要簡單的加上幾行代碼即可

在博客側邊欄顯示分享按鈕
增加博客的互動性

在Blogger右側邊欄添加豆瓣秀
增加視覺效果和互動性

2013/1/9--更新
去除Blogger底下版權頁
添加自定義

2013/01/13--更新
Blogger中添加平滑返回顶部

Google2013校园招聘

今天上课听闻Wendy说到Google 2013校园招聘,对于很多计算机专业的人来说,Google肯定是最理想的公司,可我知道我离那个距离还很远。Google作为最受欢迎的雇主,各种福利政策下进入Google工作的门槛肯定很高。而我今天听到的关于Google 2013校园招聘的事情却是,招聘的笔试部分竟然被说成并不难,这个有点出乎我意料。Google之后,找到点资料。
谷歌官方招聘信息
谷歌 2013 校园招聘
2013 google校园招聘笔试题
又在itHome见到一份
试题备份,感谢braveheart89记住了几乎所有的试题
##ReadMore##

2013 google校园招聘笔试题

回忆版,难免有错误,欢迎指正。评论请到原网页
1、  单项选择题
1.1如果把传输速率定义为单位时间内传送的信息量(以字节计算)多少。关于一下几种典型的数据传输速率:
1.使用USB2.0闪存盘,往USB闪存盘上拷贝文件的数据传输速率
2.使用100M以太网,在局域网内拷贝大文件时网络上的数据传输速率
3.使用一辆卡车拉1000块单块1TB装满数据的硬盘,以100km/h的速度从上海到天津(100km)一趟所等价的数据传输宽带
4.使用电脑播放MP3,电脑的pci总线到声卡的数据传输速率
在通常情况下,关于这几个传输速率的排序正确的是:
A. 4<1<2<3
B. 1<4<2<3
C.4<1<3<2
D.1<4<3<2
1.2.#define SUB(x,y) x-y
#define ACCESS_BEFORE(element,offset,value) *SUB(&element, offset) =value
int main(){
int array[10]= {1,2,3,4,5,6,7,8,9,10};
int i;
ACCESS_BEFORE(array[5], 4, 6);
printf("array: ");
for (i=0; i<10; ++i){
printf("%d", array[i]);
}
printf("\n");
return (0);
}

A.array: 1 6 3 4 5 6 7 8 9 10
B.array: 6 2 3 4 5 6 7 8 9 10
C.程序可以正确编译连接,但是运行时会崩溃
D.程序语法错误,编译不成功

1.3 在区间[-2, 2]里任取两个实数,它们的和>1的概率是:
A.3/8
B.3/16
C.9/32
D.9/64

1.4 小组赛,每个小组有5支队伍,互相之间打单循环赛,胜一场3分,平一场1分,输一场不得分,小组前三名出线平分抽签。问一个队最少拿几分就有理论上的出线希望

A.1
B.2
C.3
D.4
1.5用二进制来编码字符串“abcdabaa”,需要能够根据编码,解码回原来的字符串,最少需要多长的二进制字符串?
A.12
B.14
C.18
D.24
1.6 10个相同的糖果,分给三个人,每个人至少要得一个。有多少种不同分法
A.33 B.34C.35D.36
1.7 下列程序段,循环体执行次数是:
y=2
while(y<=8)
y=y+y;

A.2
B.16
C.4
D.3
1.8下面哪种机制可以用来进行进程间通信?
A.Socket B.PIPEC.SHARED MEMORYD.以上皆可
1.9 下列关于编程优化的说法正确的是:

A. 使用编译器的优化选项后程序性能一定会获得提高
B. 循环展开得越多越彻底,程序的性能越好
C. 寄存器分配能够解决程序中的数据依赖问题
D. 现代主流C/C++编译器可以对简单的小函数进行自动Iinline

1.10 一下程序是用来计算两个非负数之间的最大公约数:
long long gcd(long long x, long long y){
if( y==0) return 0;
else return gcd (y, x%y);
}
我们假设x,y中最大的那个数的长度为n,基本运算时间复杂度为O(1),那么该程序的时间复杂度为:

A.O(1)
B.O(logn)
C.O(n)
D.O(n^2)

2 程序设计与算法(2.1,2.2为编程题,2.3为算法设计题,只需设计思路和关键步骤伪代码)
2.1 写函数,输出前n个素数。函数原型:void print_prime(int N); 不需要考虑整数溢出问题,也不许使用大数处理算法。

2.2 长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他书的swap,请设计并实现排序( 必须采用交换实现)。

2.3 给定一个原串和目标串,能对原串进行如下操作:

1 在给定位置插入一个字符

2 替换任意字符

3 删除任意字符

要求写一个程序,返回最少的操作数,使得原串进行这些操作后等于目标串。原串和目标串长度都小于2000.

Perl模式匹配-动态语言程序设计5

模式匹配,正则表达式,很牛叉的一个概念,很久以前就听说过只是一直没去看,正好今天Perl语言讲到了这个。

$str="abcabacabvdaf1423adsf323";
if($str =~/abc/){
}

ab?c    匹配abc|ac    ?表示b出不出现
ab+c   >=1个b出现   ab...c
ab*c    >=0个b出现   ac|ab..c
ab{n1,n2}c    n1<=b出现的次数<=n2
ab{n1}c         b出现n1次
ab{,n1}c        最多n1次
ab{n1,}c        至少n1次
总结:匹配出现次数的有 ? + * {n1,n2}
.    表示任意字符
[abc]  表示abc其中一个字符
[^abc]    表示非abc字符
总结:集合符号 单字符 . [] [^]
其他集合
\d    表示0~9任意一个数字
\D   非数字
\s   =[ \t\r\n] 隔离符号
\S   非隔离符

/^a/    以a开头
/a$/    以a结束

()*    *作用于()
模式匹配中的()   $1 $2来表示

~/aBc/i    忽略大小写
~/xxx/g   匹配所有

@array=$str=~/a.b/g;    所有符合的串放到数组中

替换
$str=~s/pattern/target/;    将$str串中所有符合pattern的串替换为target串
$str=~s/a.b/ab/;


模式匹配指在字符串中寻找的特定序列的字符。若在该字符串中找到了该模式,则返回true,不匹配则返回false
$string=~/pattern/; #在string中查找是否包含模式pattern的字符串
$string=~m/pattern/; #同上,另外一种表示方法
$string=~m!pattern! ; #pattern中不含转义字符

匹配操作符 =~与 !~

=~检验匹配是否成功:$result = $var =~ /abc/;若在该字符串中找到了该模式,则返回非零值,即true,不匹配则返回0,即false。!~则相反。
这两个操作符适于条件控制中,如:
if ($question =~ /please/) {
    print ("Thank you for being polite!\n");
}
else {
    print ("That was not very polite!\n");
}

模式中的特殊字符

PERL在模式中支持一些特殊字符,可以起到一些特殊的作用。
1、字符+
+意味着一个或多个相同的字符,如:/de+f/指def、deef、deeeeef等。它尽量匹配尽可能多的相同字符,如/ab+/在字符串abbc中匹配的将是abb,而不是ab。
当一行中各单词间的空格多于一个时,可以如下分割:
@array = split (/ +/, $line);
注:split函数每次遇到分割模式,总是开始一个新单词,因此若$line以空格打头,则@array的第一个元素即为空元素。但其可以区分是否真有单词,如若$line中只有空格,则@array则为空数组。且上例中TAB字符被当作一个单词。注意修正。
2、字符 []和[^]
[]意味着匹配一组字符中的一个,如/a[0123456789]c/将匹配a加数字加c的字符串。与+联合使用例:/d[eE]+f/匹配def、dEf、deef、dEdf、dEEEeeeEef等。^表示除其之外的所有字符,如:/d[^deE]f/匹配d加非e字符加f的字符串。
3、字符 *和?
它们与+类似,区别在于*匹配0个、1个或多个相同字符,?匹配0个或1个该字符。如/de*f/匹配df、def、deeeef等;/de?f/匹配df或def。
4、转义字符
如果你想在模式中包含通常被看作特殊意义的字符,须在其前加斜线"\"。如:/\*+/中\*即表示字符*,而不是上面提到的一个或多个字符的含义。斜线的表示为/\\/。在PERL5中可用字符对\Q和\E来转义。
5、匹配任意字母或数字
上面提到模式/a[0123456789]c/匹配字母a加任意数字加c的字符串,另一种表示方法为:/a[0-9]c/,类似的,[a-z]表示任意小写字母,[A-Z]表示任意大写字母。任意大小写字母、数字的表示方法为:/[0-9a-zA-Z]/。
6、锚模式
^ 或 \A 仅匹配串首
$ 或 \Z 仅匹配串尾
\b 匹配单词边界
\B 单词内部匹配


例1:/^def/只匹配以def打头的字符串,/$def/只匹配以def结尾的字符串,结合起来的/^def$/只匹配字符串def(?)。\A和\Z在多行匹配时与^和$不同。
例2:检验变量名的类型:
if ($varname =~ /^\$[A-Za-z][_0-9a-zA-Z]*$/) {
  print ("$varname is a legal scalar variable\n");
} elsif ($varname =~ /^@[A-Za-z][_0-9a-zA-Z]*$/) {
  print ("$varname is a legal array variable\n");
} elsif ($varname =~ /^[A-Za-z][_0-9a-zA-Z]*$/) {
  print ("$varname is a legal file variable\n");
} else {
  print ("I don't understand what $varname is.\n");
}
例3:\b在单词边界匹配:/\bdef/匹配def和defghi等以def打头的单词,但不匹配abcdef。/def\b/匹配def和abcdef等以def结尾的单词,但不匹配defghi,/\bdef\b/只匹配字符串def。注意:/\bdef/可匹配$defghi,因为$并不被看作是单词的部分。
例4:\B在单词内部匹配:/\Bdef/匹配abcdef等,但不匹配def;/def\B/匹配defghi等;/\Bdef\B/匹配cdefg、abcdefghi等,但不匹配def,defghi,abcdef。
7、模式中的变量替换
将句子分成单词:
     $pattern = "[\\t ]+";
     @words = split(/$pattern/, $line);


8、字符范围转义
E 转义字符 描述           范围
\d           任意数字          [0-9]
\D           除数字外的任意字符 [^0-9]
\w           任意单词字符    [_0-9a-zA-Z]
\W           任意非单词字符 [^_0-9a-zA-Z]
\s           空白                 [ \r\t\n\f]
\S           非空白                 [^ \r\t\n\f]
例:/[\da-z]/匹配任意数字或小写字母。

9、匹配任意字符
   字符"."匹配除换行外的所有字符,通常与*合用。
10、匹配指定数目的字符
   字符对{}指定所匹配字符的出现次数。如:/de{1,3}f/匹配def,deef和deeef;/de{3}f/匹配deeef;/de{3,}f/匹配不少于3个e在d和f之间;/de{0,3}f/匹配不多于3个e在d和f之间。
11、指定选项
字符"|"指定两个或多个选择来匹配模式。如:/def|ghi/匹配def或ghi。
例:检验数字表示合法性
if ($number =~ /^-?\d+$|^-?0[xX][\da-fa-F]+$/) {
  print ("$number is a legal integer.\n");
} else {
  print ("$number is not a legal integer.\n");
}
   其中 ^-?\d+$ 匹配十进制数字,^-?0[xX][\da-fa-F]+$ 匹配十六进制数字。
12、模式的部分重用
当模式中匹配相同的部分出现多次时,可用括号括起来,用\n来多次引用,以简化表达式:
/\d{2}([\W])\d{2}\1\d{2}/ 匹配:
     12-05-92
     26.11.87
     07 04 92等
注意:/\d{2}([\W])\d{2}\1\d{2}/ 不同于/(\d{2})([\W])\1\2\1/ ,后者只匹配形如17-17-17的字符串,而不匹配17-05-91等。

13、转义和特定字符的执行次序
象操作符一样,转义和特定字符也有执行次序:
特殊字符 描述
()          模式内存
+ * ? {} 出现次数
^ $ \b \B
|          选项
14、指定模式定界符
缺省的,模式定界符为反斜线/,但其可用字母m自行指定,如:
     m!/u/jqpublic/perl/prog1! 等价于/\/u\/jqpublic\/perl\/prog1/
注:当用字母'作为定界符时,不做变量替换;当用特殊字符作为定界符时,其转义功能或特殊功能即不能使用。
15、模式次序变量
在模式匹配后调用重用部分的结果可用变量$n,全部的结果用变量$&。
     $string = "This string contains the number 25.11.";
     $string =~ /-?(\d+)\.?(\d+)/; # 匹配结果为25.11
     $integerpart = $1; # now $integerpart = 25
     $decimalpart = $2; # now $decimalpart = 11
     $totalpart = $&; # now totalpart = 25.11

参考:Perl模式匹配

正则表达式注意事项


dup和dup2函数作用

#include <unistd.h>
int dup( int filedes );
int dup2( int filedes, int filedes2 ); //新文件描述符复制filedes,并且将filedes2值作为新文件描述符的值

//dup函数的作用:复制一个现有的句柄,产生一个与“源句柄特性”完全一样的新句柄
// (也即生成一个新的句柄号,并关联到同一个设备,而且它返回的一定是当前可用的
// 文件描述符中的最小数值)

免费注册申请tk域名以及推广

在co.cc免费域名被Google全部K掉之后,我的NOD ESET 32就开始报毒,co.cc域名算是完全报废了。但是我们有了tk免费域名这个代替品。我申请了 einverne.tk 已经快一年了,其中没有发生太多的状况,唯一的一次就是前几天突然发邮件给我说,因为我违规所以取消了我的 einverne.tk。那天中午着实着急了下,心想这这个域名下的所有努力都付之一炬了,尤其是我辛辛苦苦赚来的+1,如果恢复到Google Blogger自带的二级域名,所有的+1都丢失了。不过还好,那天不知怎么的,tk官网就莫名其妙的把 einverne.tk又还给了我。
那封邮件我还留着呢!原文如下:
Dear Ein Verne,
The Dot TK Abuse and Copyright Infringement department has visited your website today.
Unfortunately we have to say that today we cancelled your domain EINVERNE.TK.
No-one can re-register this domain again at this stage. This may change in the future.
The reason for the cancellation is that the website address you used for your Dot TK domain name was not accessible or did not follow the guidelines set in our terms and conditions.
If you want to have us re-verify the content you can press this link.
http://my.dot.tk/registration/reverify?xxxxx
If you are in doubt, please review our terms and conditions, which can be found at: http://www.dot.tk/en/doc_tcfree_v350.pdfWe thank you for using Dot TK.
Dot TK Abuse / Copyright Infringement team
说实话,我看到这封邮件的时候心凉了半截,这就是免费的坏处,不能安心的享受一切。之后我差点狠下心买10年的tk域名。不过后来想想用钱买一个免费的域名于心还是不忍。那现在只好就这样留着了。但愿tk好心不要收回这个域名吧 。
不过人总不能这样被动嘛,所以在网上又搜索了下,知道了如果申请tk大使帮忙宣传tk域名,tk官方就可以让einverne.tk有不被收回的命运。作为一个让亿万人免费享受到的优质服务,确实有值得推广的地方。

那就先介绍一下tk域名
.tk是太平洋岛国Tokelau(克劳托)的顶级域名,这个国家的地理位置如图所示,在南太平洋。
这个岛国以渔业为生,也正是这也原因,在申请成为大使后购买的时候虚拟货币是以”鱼“来计算的,75条鱼就能够购买2年的tk域名。
下面是我找到一些Tokelau的风景照
全岛风景
岛上以打鱼为生的渔民
海岸风景
这个岛国风景还是不错的嘛,应该不会落得像马尔代夫一样被海水淹没的结果吧。God Bless。
如果心动了,现在就跟随我的步骤注册自己的域名吧。你应该看到了下面的广告了吧,点击(你可以为我增加5条鱼),他会引领你到tk域名的注册首页。
如果点击了上面的横幅,就会看到下面的图像。
然后想一个好的名字,点击Go,如果你的名字没有被别人使用你就可以使用 xxx.tk 这样的域名来叫别人访问你的博客,或其他你想绑定的。
点击GO,之后就会出现这样的页面,根据上面的提示一步一步往下做,很快就会有自己的域名啦。
Sign Up之后,可以选择当场用邮箱注册一个帐号,还是用社交网络的帐号直接登录,我当然是用Google帐号登录了。并且在这个帐号下面已经注册了好几个域名了,反正是免费的现行把好的名字先注册了。

Chrome選中文本崩潰----靈格斯罪魁禍首

在使用Chrome過程中,正在Google Docs上編輯文本,其中貼了一張圖片,準備調整圖片大小的時候Chrome崩潰了,我重啟Chrome,同樣要調整圖片大小的時候Chrome崩潰。接下去反复幾次同樣的情況。
崩潰症狀:
  • 選中任意網頁中文字會崩潰
  • 調整Google 
原因:靈格斯惹得禍,靈格斯劃詞翻譯,取詞翻譯和很多程序都有衝突,靈格斯出現這種問題的時候,不僅僅是Chrome,Windows下的IE,Word,PPT等等都有可能產生這樣的情況。所以禁用劃詞翻譯即可。

诺贝尔情结(2012)

中国作家“莫言”获诺贝尔文学奖,在一定意义上,可以说是完成了中国人多年的一个梦想,获得诺贝尔奖。

可是看到下面的一些报道和事实,却又有些心酸:
http://news.163.com/12/1011/20/8DIHMTO60001124J.html
2000年中国作协就高行健获诺贝尔奖的表态

新华社北京10月13日电瑞典文学院10月12日将2000年度诺贝尔文学奖授予法籍华人作家高行健。
高行健1940年出生于中国江西省,1987年到国外,后加入法国国籍。
中国作家协会有关负责人在接受新华社记者采访时说,中国有许多举世瞩目的优秀文学作品和文学家,诺贝尔文学奖评委会对此并不了解。看来,诺贝尔文学奖此举不是从文学角度评选,而是有其政治标准。这表明,诺贝尔文学奖实质上已被用于政治目的,失去了权威性。

记高级英语


Dear Students,

Attached is an assessment form you should print and bring to class to familiarize yourselves with the critiquing format for the speech presentations.

Remember, the class has two major issues to consider after each speech, first, the delivery. Were the speaker's body, words, and actions in agreement? Did one support the other or was there tension between the body and the voice? Secondly, were you persuaded or inspired? Why or why not?

 "Half the world is composed of people who have something to say and can't; the other half have nothing to say and keep saying it."

Anyone can give a speech. Not everyone can give an effective speech. To give an effective speech there are 6 elements you should consider.

1. Be Prepared - Being prepared is by far the most important element. How many times do you practice your speech? As a general rule, you should spend about 30 hours of preparation and rehearsal time for every hour you will be speaking. Use a tape recorder or videotape yourself. This will help you to get an accurate picture of how you speak.

2. Give of Yourself - Use personal examples and stories in your speech whenever possible. Make sure your stories help to emphasize or support your point. The stories must match your message. Use examples from your personal and professional life to make your point. In either case be willing to give of yourself by sharing some of yourself with the audience.

3. Stay Relaxed - To stay relaxed you should be prepared. Also, focus on your message and not the audience. Use gestures, including walking patterns. Practice the opening of your speech and plan exactly how you will say it. The audience will judge you in the first 30 seconds they see you.

4. Use Natural Humor - Don't try to be a stand up comedian. Use natural humor by poking fun at yourself and something you said or did. Be sure NOT to make fun of anyone in the audience. People will laugh with you when you poke fun at yourself but don't over do it.

5. Plan Your Body & Hand Positions - During the practice of your speech look for occasions where you can use a gesture. Establish three positions where you will stand and practice not only how to move to them but where in your speech do you move. Pick three positions, one on center stage, one to your right, and one to your left. Do not hide behind the lectern. When you do move maintain eye contact with the audience.

6. Pay attention to all details - Make sure you have the right location (school, hotel, room & time). Make sure you know how to get to where you are speaking. Ask how large an audience you will be speaking to. Make sure you bring all your visual aids and plenty of handouts. Arrive early so you can check out where you will be speaking and make any last minute adjustments.
It is very important that you pay attention to even the smallest details. You can never overplan. Remember, "He who fails to plan is planning for failure"

Best,

Joseph

Galaxy Nexus连接诺基亚蓝牙耳机

今天从同学那弄来一个蓝牙耳机,也不知道他从哪里弄来的,连型号品牌都不知道,说明书还没有,鼓捣了半天终于能用这蓝牙听歌了。
刚开始的时候还不会弄这个蓝牙耳机,手机开了蓝牙还搜不到耳机的信号,无奈之下找“手机不能连接蓝牙耳机”在问问上找到答案。先前我是注意到了蓝牙耳机上面蓝色指示灯一闪一闪的,但是不清楚具体意义,看完这个才知道要等到指示灯常亮的时候才是蓝牙耳机等待匹配的时候。于是我重新长按开关键10s重启耳机,手机马上就搜到了“H320”,连接成功。
1、一般情况下,蓝牙耳机进入配对状态时,只需要一直按住开机按键10秒左右别松手,耳机就会从关机转为开机再转为配对状态,其表现为耳机指示灯(长亮)。然后用手机搜索蓝牙设置,就可以找到你的耳机。例如WEP200 WEP310 BH980 BH320 BH330 等等。。。
2、有些耳机的出厂设置是比较复杂的,例如索爱的HBH-602 HBH608 HBH610A和诺基亚的HS-36W等....602在对码的时候,要先打开耳机,然后同时后按住+、-号10秒左右,这时指示灯会红绿交替闪动,这样就可以用手机搜索蓝牙设备了。36W是在耳机开机后,同时按住开机按键和+号10秒左右,其他步骤都和普通耳机一样。
3、耳机进入配对后,手机要搜索蓝牙设备,一般手机用5秒钟左右的时间可以搜索到耳机,然后在手机上选择你找到的蓝牙耳机设备,手机会提示你输入密码。大部分的手机密码是0000或者1234,但是也有个别是厂家特别设置的,在你的耳机说明书里会有详细的记录。
4、当手机搜索到耳机,同时你也正确输入了密码后,并不是说你的手机就可以用蓝牙耳机来接听电话了。现在很多手机在找到蓝牙设备后还需要和耳机进行连接,如果你的手机没有在设置里与耳机进行连接的话,还是不能接听电话的。当然也有的手机如摩托罗拉的V3,就不需要你再另外去连接耳机了,只要配对成功,手机会很智能化的把耳机连接起来
连接成功后第一个反应就是尝试打电话的效果,对于接电话,打电话音质还是不错的。然后我自然而然的想到能不能用耳机听歌呢?打开Play Music,直接手机喇叭响了,我有点疑惑,因为网上有文档说当耳机连接成功后会自动接管手机声音设备,音频会自动转到蓝牙耳机上,但是现实告诉我明显不是这样的。于是我只能再次请教Google。因为还不知道蓝牙的型号只知道一个”H320“,直接拿这个Google,发现这个耳机可能是诺基亚H320型号。然后通过不断的尝试关键词,发现了这样一篇文档
发现了这样的一个概念 A2DP协议
1、蓝牙协议模块A2DP,蓝牙高级音频传输协议,它是为蓝牙立体声音频设定的,是一个单独的模块,和蓝牙协议本身、版本没有必然联系。
2、手机有A2DP协议,若耳机也有A2DP功能,那双方连接后就能听歌、听影视音频,音频质量最高达到16bit,44.1kHz,CD音质,立体声。
3、手机有A2DP,蓝牙耳机没有A2DP(比较低端的一些耳机),这就和手机的操作系统有一定关系了。经我做的一些测试,如果是诺基亚塞班系统,包括S40,、S60和塞班3,这种手机允许对没有A2DP的单声道蓝牙耳机发送mp3音频,就可以听歌,音频质量最高8bit,8kHz,音质一般。如果是安卓、Win Mobile、黑莓、iphone等操作系统,它们基本(我不可能测试所有此类手机)不会对单声道无A2DP蓝牙耳机发送mp3音频,就是所谓的无法听歌。
4、蓝牙耳机和电脑以及音乐播放器(mp4,ipod,ipad之类)的连接,也和手机类似,但估计那些东东应该不会对没有A2DP的耳机发送音乐音频,没什么意义。
5、对于Android(安卓)系统的手机,如果你的蓝牙耳机是不支持A2DP协议的,默认无法听歌,但是可以尝试在手机上安装super BT mono软件来支持听歌,多尝试几个版本,不一定都好使。
这样下来我基本上知道了,应该是这个蓝牙耳机不具备A2DP协议。并且我貌似看到了救星,super BT mono,不放过每一个有用的关键词,因为这些关键词往往就是搜索时最为重要的东西。
马上,我在酷安网酷市场找到了这个应用。试用一下,发现这个应用及其不稳定,第一次打开应用就死掉,之后几次大多数情况下都会崩溃。之后我又在Play Store上尝试了:


当然你也可以到豌豆荚啦什么上面取下载。而结果却让我大失所望,这三个崩溃的情况稍微好转,但是这三个连接蓝牙播放音乐后几乎都没有声音,并且手机此时也没有声音。
期间还找到两个可能有用的网址:都是机锋网的


没办法啦,只能再Google。再尝试“android 蓝牙耳机听歌”、”h320 听歌“、“诺基亚h320 听歌“、”super BT mono 无声音“、”android bluetooth app music“ 终于在最后一个关键词那里找到了这个YouTube视频。
在这个视频中又看到了一个新的App,BTmono,立马Play Store,直接下载,打开。这回程序没有崩溃,界面还很友好。一切完好。就这样这个问题解决了。
于是在这里,就知道Google作为一个工具的伟大之处了。搜索出现在生活的每个细节,这让我想到了可能吧那篇文章----遇到问题先别问高手,问搜索引擎

Eclipse版本问题

对于刚刚接触Eclipse的新手来说,对于Eclipse的版本选择肯定稀里糊涂,像我,在刚刚接触Java,上手Eclipse的时候根本对Eclipse的版本一点概念也没有,多次Google之后,虽然记住了Indigo,J2EE这些名词,但真正的说起来其实还是完全不知所云。所以为了更加深入的了解一下Eclipse,参考多篇文章,写下自己的一点认识。
到Eclipse的下载页面会看到很多版本的Eclipse(准确来说应该叫包Package):
  • Eclipse IDE for Java EE Developers
  • Eclipse Classic 4.2.1
  • Eclipse IDE for Java Developers
  • Eclipse IDE for C/C++ Developers
类似还有很多这里就简要的说说最常用的几种。
其实从名字来看就知道这几种版本的最重要的区别,Eclipse Classic 4.2.1,经典版,毫无疑问肯定是包含了Eclipse Java开发最基本的东西。而Eclipse IDE for Java Developers和Eclipse IDE for C/C++ Developers肯定是对Java开发和C/C++开发做了优化。具体来说就是Eclipse IDE for Java Developers在Eclipse平台上加入了JDT插件,Eclipse IDE for C/C++ Developers就是在Eclipse平台上加入CDT插件。Eclipse IDE for Java EE Developers是Eclipse的平台加上WTP插件,用来java企业级开发。 而最核心的区别在于:不同的Eclipse版本之间plugins/features目录下的文件不同。一个标准的Eclipse的,给它添加一些JEE开发需要的plugins,比如WTP,WST等等,它摇身一变就变成”Eclipse IDE for Java EE“了。其他的也一样。作为一个熟练的Eclipse使用者,选择哪一个都可以,需要的plugin可以从Eclipse官网轻松获取。
更多的区别可以参考Eclipse官方
另外一个让人有点犯迷糊的是不同的代号
  • Juno Packages
  • Indigo Packages
  • Helios Packages
  • Galileo Packages
  • Ganymede Packages
  • Europa Packages
在上面提到的Eclipse IDE for Java EE Developers版本下面有分为好几大类的版本代号。其实这个只是一个Eclipse开发版本的代号而已,就像Android一样,Android 2.3 Gingerbread(姜饼),Android 4.0 Ice Cream Sandwich (冰淇淋三明治),Android 4.1 Jelly Bean(果冻豆)。
Eclipse 3.1 IO 木卫1,伊奥
Eclipse 3.2 Callisto 木卫四,卡里斯托
Eclipse 3.3 Eruopa 木卫二,欧罗巴
Eclipse 3.4 Ganymede 木卫三,盖尼米德
Eclipse 3.5 Galileo 伽利略
Eclipse 3.6 Helios 太阳神
Eclipse 3.7 Indigo 靛青
Eclipse 4.2 Juno 朱诺
顺便说下,英文命名是按照土星卫星发现的顺序命名的,不是距离。

参考:1 2

命令行版Google

我们都知道Google作为一个全球性公司,针对每一个国家都会有一种语言的版本,像Google US,Google UK,Google France,Google Russia,Google South Africa,Google Austrila,还有那个不怎么存在的Google CN等等。Google作为一个Geek公司,当然也推出了很多奇特语言版本的Google,像Klingon Google (Klingon维基链接 克林贡语言维基中文链接)。而现在我又发现一个Unix-Shell版本的Google,名叫Goosh,而这个版本的Google搜索是Unoffical的。
链接 : http://www.goosh.org/
进入这个网页会看到一些提示:


PS:我还看到了一个Dropbox的邀请链接,可惜的是我已经注册了Dropbox,不然可以支持下作者的。

键入h获得了如下的一些帮助
熟悉Unix或者Linux的人应该很快就能熟悉这些命令。每一行是一个命令,第一列command是命令名字,第二列aliases是命令的别名,作用和直接键入命令作用相同,第三列parameters是命令的参数,第四列是命令的含义。

列入想要搜索GooglePlus:只需要键入 web Google Plus
或者是用别名 search Google Plus 或 s Google Plusw Google Plus
返回结果
看到第一个选项就是需要的结果,所以再选择1就能进入结果了。其实仔细观察,当我们输入1,回车时Goosh自动将我们的选择变成了一行命令 open <url>.

关于这个命令行版的Google还有什么其他神奇的地方,还是等待着你去发现吧。

Google十大真理(转)

Google的价值观:永不满足,力求最佳

Google 创始人之一 Larry Page 指出:“完美的搜索引擎需要做到确解用户之意,切返用户之需”。就搜索技术的现状而言,我们需要通过研究、开发和革新来实现长远的发展。Google 致力于成为这一技术领域的开拓者。尽管 Google 已是全球公认的业界领先的搜索技术公司,但其目标是为所有信息搜寻者提供更高标准的服务,无论用户是坐在波士顿的台式机旁,还是正在驾车穿过波恩,或是漫步在曼谷街头。

为了实现这个目标,Google 一直在孜孜不倦地追求技术创新,突破现有技术的限制,随时随地为人们提供快速准确而又简单易用的搜索服务。

是时候了(诗歌)

沈泽宜:是时候了
 (一)
   是时候了,
   年轻人
   放开嗓子唱!
   把我们的痛苦
   和爱情
   一齐都
   泻到纸上!
   不要背地里不平,
   背地里愤慨,
   背地里忧伤。
   心中的甜,酸,苦,辣
   都抖出来,
   见见天光!
   即使批评和指责
   急雨般落到头上,
   新生的草木
   从不怕
   太阳照耀!
 
   我的诗
   是一支火炬,
   烧毁一切
   人世的藩篱。
   它的光芒
   无法遮拦,
   因为
   它的火种
   来自
  “五四”!!!

引用

张元勋:是时候了

是时候了(二)
   
   是时候了。
   向着我的今天
   我发言!
   昨天我还不敢
   弹响沉重的琴弦。
    我只可用柔和的调子
   歌唱和风和花瓣!
   今天,我要唱起心里的歌,
   作为一支巨鞭
   鞭笞死阳光中的一切黑暗!
   为什么,有人说,团体里没有温暖?
   为什么,有人说,墙壁隔在我们中间?
   为什么,你和我不敢坦率地交谈?
   为什么。。。。。。?
   
   我含着愤怒的泪,
   向我辈呼唤:
   歌唱真理的弟兄们
   快将火炬举起
   火葬阳光下的一切黑暗!!!

引用

#林昭

Quote Of The Day