White Death
 
       突然意识到春节没几天了,每年对春节的期望是很高的,尤其是出去上大学以后,因为有一种“回家就是为了过年”的想法,可是现在的春节越来越不给力了,感觉就像是平常的一天,唯一让那天觉得不同的是:那天有个晚会,可以看很多小品相声。
       想起以前,我都等着姐姐回家,姐姐回家了就意味着快过年了。除夕那天下午我们一起玩,晚上7点就吃完年夜饭,8点前等着看晚会。过了12点回来我们依旧会看很长时间电视过了年,姨哥姨弟还有我们三家都聚在一起,一起玩各种好玩的,一起放鞭炮...如今姐姐已经嫁出去了,不可能和我们一起过年了...前天,我和姨弟说,今年我们还一起去把小鞭炮拆开玩吧....我们还说,等啥时候一起过年,或者可以去一个其他的地方,找回那过年的新鲜感,丢掉寂寞,找回那原来的团圆的味道。计划生育,唉!就算我们三兄弟彼此认为是亲兄弟,毕竟我们不是,过年的时候不能一起玩耍。
        于是,现在的我与其说是等待着春节,不如说等待着初二的大团聚。
        年后还要学车,正月15就又要去学校了,在家的时候真的不多,但是日子一天一天地在指尖间流逝,在各种无聊中度过。搭建的网站本来以为回家后可以外网访问了,结果移动的破网比学校的破网还复杂,本以为没有内外网之分,没想到不仅有内外网,而且外网好像不在本地解析,我竟然找不到自己的外网地址!我猜测是这样子的,移动将不同的网络:电脑、电视、可视电话都分配了一个内网地址?然后共同在客厅那个路由器解析?...仅仅是猜测,下载了wireshak,尝试研究一下吧。

———————————--
1.29晚,后记:
         折腾了一下午,用wireshark监视,竟然发现每次上网或者下载东西或者ping都是直接用我的10.*.*.*(那个看似是内网的IP)直接连目的IP,响应也是直接返回到这个内网IP,我就很纳闷。后来注意到一件事情,所有的包的物理地址块都一样,一个是dell...,我电脑的物理地址,另一个是华为....,所有的都一样,想到这里,我马上跑到客厅,从沙发下取出路由器,果然是华为的!这样一切都解释通了,我之所以找不到外网IP,因为电脑和电视、电话组成了一个区域网,在路由器那里才能找到真正的外网IP。
         一下子更理解路由器的作用了...目的IP和源IP保持不变,物理地址一直在变,直到变到目的IP对应的
 
      回家了,其实昨天晚上10点半就回来了。嗯。
      杭州21和22停了2天的雪,感谢老天;萧山机场1000名员工和1000名武警官员帮忙除去了跑道上的雪,感谢他们。还有感谢妈妈姐姐和小祺祺来接我~顺便BS那个让我们等了半个小时的值机后不登机的guy!
      现在习惯性一上飞机就睡着了,连啥时候起飞的都不知道,不过这次刚刚起飞后醒来了,杭城整个是白的,很是壮观...2个小时后,将要降落在太原时,太原整个是黑的,不要误会,那是因为天黑了 -_-!
       飞机上小屏幕放映有关时间的视频,讲外祖母悖论。我突然想到一件事情,想写博文,但是没办法写。记得上一个暑假,和姨哥讨论时间的问题,当时我们对于外祖母悖论的解释是:就算你可以返回到过去,只能看到发生的事情,看到那些景象沿着光速传出去,而你相当于追上了它们,但你不能改变什么,因为发生的已经发生了,也就是说那种可以回到事情未发生前的时间旅行是不可能的。但是,这个“发生”有需要定义一下,我们当时定义说,因为我们现在有知觉,有自己的判断,因为这些不是能够传递的。但是,我突然又想,如果我们的判断,我们的想法,都是一个其他地方映射过来的呢?也就是说,我现在想的这个想法,是因为几万年前,一个星球上的一个人这样想,传递到了这里?...这样的想法很恐怖,那样的话,我们根本改变不了什么,我们的想法、我们的决定,看似改变了,其实这发生在几万年前,这样的想法很荒谬,但是也不能被证伪...时空,总是一个难以解开的迷...
 
      烤了4头怪兽后,终于有时间做C#大程了,这几天准备把它干掉,省得考完试后还得被它烦。另外,今天收获了很多:
      首先,配置成功了IIS,以前一直用apache,但是做C#大程要生成的服务器网页每次还得用vs打开,我觉得很烦,就去鼓捣了单个配置IIS。本来以为还要下载的,结果发现原来集成在windows里面了,在 控制面板 -> 程序 -> 打开或关闭windows功能 里面,将以下打钩,然后点确定即可(尤其是红框内的):
Picture
    然后直接在开始那里搜索 iis,有个“Internet 信息服务(IIS)管理器”,就在里面配置。在左边的“连接”下看到有个“网站” -> “Default Web Site”,然后点IIS栏里面的asp,右边进行相关配置:在高级设置里面改网站的目录,在绑定里面更改IP和端口,需要停止和重新开始也在右边,最后需要将目录浏览启动!还要添加一个默认文档,命名为index.asp即可。详见:
Picture
     然后这样,我就可以直接在cs生成aspx文件里后写一句:  
         System.Diagnostics.Process.Start("Firefox.exe", "http://127.0.0.1/list.aspx ");
      就直接打开了,不用在将生成的代码再放在vs中,再运行一次了。

      另外,还学会了 DropDownList 的用法,想要用DropDownList1_SelectedIndexChanged这个响应的时候,必须将其属性AutoPostBack 改为 "True"的!
 PS:每次做大程的时候,总是遇到各种问题,但是每次在网上都能找到遇到同样问题并解决了并写在       博客里的童鞋们,在这里表示感谢!同时,19号考试咋办呀,平时编程太依赖VS的提示了,随便打两个字母就到了自己想要的类、函数、变量了,或者遇到问题可以查msdn帮助文档和童鞋们的博客,这闭卷考试情何以堪....

      最后上一张寒假生活的真实写照:
Picture
 
        首先今天是个喜庆的日子,人们都在迎接这新的一年的到来,今天成功的希望再接再厉,再创辉煌,今年失利的希望新的一年有个新的开始,一切重新来过;但今天也是一个悲伤的日子,著名作家史铁生于今天(准确说是12月31日)凌晨3点46分离开人世,PQ说记得我以前老是跟她提前史铁生,我不记得了,有一年没有看书(非专业书)了,但是我仍然记得史铁生对生命的诠释:“死是一件无须乎着急去做的事,是一件无论怎样耽搁也不会错过了的事,一个必然会降临的节日。”。如今他的这个节日日降临了,只是,我觉得有一丝遗憾,终究没有跨过2010这个坷儿,好似魔咒一般...
        其次就是先回首过去了呗,总结一句话,2010就是一个很大很大的茶几,接下来大家都懂的:
2010年关键词:ACM,世博会,上海,搬校区,实验室,纠结,悲剧~
2010串烧:一开始,照旧是学期末的各种忙碌,大程+论文+复习,然后是回家,对了,因为逻辑大程,迟回家了几天,然后停水停电+教超早下班,各种无语,2010第一悲剧...然后回家前还去了一趟北京,姨哥带我吃的正宗重庆火锅,很给力,怀念很久了!然后回家,记得那个春节不是很爽,好像爸妈还经常吵架,最后年夜饭吃的剩菜,看晚会也很凄凉,具体不清楚了,总之留下不好的印象,2010第二悲剧...然后大二下学期几乎只干了一件事:ZOJ刷题,那时候情绪很高涨,每天上课下课吃饭睡觉脑子里都想的是算法和题解,还经常劳累过度,佩服自己那时候的状态!最后校赛省赛成绩还好,虽然主要功劳是猛犸和UFO的,ym!接下来的新手上路,第一场出师不利,导致最终被刷...其实,当时对暑期集训,心里是很矛盾的,想参加,因为可以见识到各种大牛,融入他们的圈子;又不想参加,因为我最喜欢的是自学,不喜欢和人们讨论,而且自己心里清楚那次是不可能进入最终校队的,所以2010第三悲剧,小小的悲剧,不是很郁闷的...然后就是短学期,Linux,第一次接触Linux,感觉很新鲜,很好玩,现在也觉得很不错,但是因为各种不便,没事还是很少去的...接下来可以算是2010为数不多的一次开心吧,父母从家里过来,直接飞上海,我从杭州自己去上海,那次感觉很好:1.第一次去上海,还是自己去的,而且去了后自己买了回程票、订了宾馆、去机场接了爸妈;2. 和爸妈一起旅游,可以整天整天地呆在一起,平时在家也没有这待遇,而且,旅馆比较小,所以三个人挤在一起看电视剧,真温馨;3. 爸妈到了杭州,虽然当时对这块不熟悉,很是不方便,但是至今到了韩国料理9号那里都会想起他们的...然后一起回家,第一次不是自己坐飞机回家,真happy~...短暂的假期,30天一晃而过,呆在家里,爸爸妈妈不吵架,每天很开心,最幸福的一个月~...返校的时候,因为高速公路大雾封掉了,于是从二级路爬过去后,误机了...第N悲剧了吧,这也预示了接下来的一个学期的茶几性质...太原呆了一天,在那破GPS的指导下在太原转悠了一天,晚上在宾馆呆了一天,第二天飞回杭州...悲剧正式开始,玉泉这里好破好破,什么有学术氛围,连个自习室都没有!于是想找个长期实验室呆,结果意识到那不是我目前想要的,于是把第一个项目做完后就撤了...后面整天碌碌无为的,及其郁闷,于是十一国庆又回了趟家,先又去北京玩了半天,吃了正宗的海碗居老北京炸酱面,很给力~然后家里呆了几天,又滚回来了...这个学期学了很多东西,但是精通的那是一个都没有啊...前几天做C#大程,各种不用,用了一个礼拜做完了,结果发现要求理解错了,需要重做...计算理论翘了很多课,结果现在各种不会,论文也不知道该怎么办...不想写了,越写越郁闷...
      2011年了,新的一年,并不能改变什么...
       唉!!!!
 
        操作系统实验课,老师明确说了考试考fork()和exec族函数,我一直以为自己理解的比较透彻,结果昨天小quiz,考了一道非常简单的题,虽然我做对了,但是我竟然有所犹豫,所以需要巩固一下,刚刚进行了一些实验,发现理解的更进一步了。首先,上个简单的例子:

int main()
{
   int p1,p2;
  
   printf("Once or Twice %d\n",getpid());         // 1
   p1 = fork();
   if(p1 == 0)
   {
      printf("This is the child process \n");
      execl("/bin/ls","ls","-a",NULL);
      printf("Will it be displayed????? \n");            //2
   }
   else
   {
       wait(p1);
       printf("This is the parent \n");
   }
   printf("The end\n");           //3
   return 0;
}


        我发现,1,3都只会显示一次,而2永远不显示,但是讲蓝色高亮的那行execl去掉,2就会显示1次了,而3会显示2次了。说明fork()新创建的子进制只执行从fork开始后面的进程内容(注意,是“只执行”,而不是“只复制”,我们后面会看到),而exec族函数调用后会将所有的进程都覆盖,也就是说不保留父进程的任何信息,相当于脱胎换骨了,所以在那个if里面execl后面写任何代码都不会被执行的。同理,3处的代码,子进程也不好去执行了。
      然后这里就想到一个好玩的程序,如果是在for循环里面调用fork()呢,如下:
int main()
{
    int i,pid1;
    for (i=0; i < 3; i++ )
   {
      pid1 = fork();
      if (pid1 == 0) {
        printf("This is child process! \n");
        //return 0; 
      } else {
        wait(pid1);
        printf("This is parent process!\n");
      }
   }
   return 0;
}
     如果你执行一下这段程序,你就会发现,咦?不应该是显示3对么?怎么这么多?
于是,为了看得清楚:
int main()
{
  int i,pid1;
  for (i=0; i < 3; i++ )
   {
      pid1 = fork();
  
      if (pid1 == 0) {
        printf("This is child process! %d \n",i);
        //return 0; 
      } else {
        wait(pid1);
        printf("This is parent process! %d\n",i);
      }
   }
   return 0;
}

    于是,我们得到如下结果:
Picture
      为什么这么诡异呢?看到0,1,2,2,1...于是我知道了,再第一次循环的时候,子进程并非只复制父进程fork()后面的内容,而且复制了父进程的所有内容,只是它只是从fork()后面执行而已(相当于CS:IP为fork()后一条指令的地址!)
     于是这个例子就不难理解了,i = 0时,那个child开始循环,注意,这里child保存了父进程的所有内容,包括i,所以child执行i = 1,接着 i =2,结束后,开始parent 2(注意:虽然child改变了i,但是这里执行的是copy on write,即在子进程修改前,父进程先另外copy一份i保存起来),parent1(还原child1相对的那个i)....整个过程就像是递归调用似的...
     这样就把fork剖析地更清楚了:每当父进程fork一个子进程时,其实就是将子进程弄个指针过来,指向父进程的内存块,但是,保留了CS:IP,即当前进程的入口地址,然后安装父进程的内存内容进行执行...当需要改变某一内容时,父进程会另外保存这个内容,即copy on write...
 
本文转载自Matrix大牛博客,原地址:Hit here
     这里我们来看:用正则表达式判断数的整除性。例如,下面这个表达式可以匹配01串S当且仅当S是一个可以被3整除的二进制数。

     ^1((10*1)|(01*0))*10*$

     如果你不信的话,不妨把下面这段代码粘贴进浏览器的地址栏,然后回车运行一下:

      javascript:alert(/^1((10*1)|(01*0))*10*$/.test("1000000100"))

     被test的是516的二进制表达。516可以被3整除,因此程序返回true。你可以自己把1000000100换成其它的二进制数试试。
     但是呢,从这个正则表达式里我们竟看不出任何端倪。奇怪了,为什么这个正则表达式可以用于判断整除性?能被3整除的二进制数究竟有何规律?

      其实,能被3整除的二进制数并没有什么明显的规律。这个正则表达式的求法可以说是相当暴力的。这一切的谜底很简单——判断一个数的整除性能轻易地用有限状态自动机实现,而有限状态自动机又可以翻译成正则表达式。

Picture
      
       注意到,一个二进制数后面加一个“0”相当于该数乘以2,一个二进制数后面加一个“1”相当于该数乘2加1。设定三个状态,分别叫做0、1和2,它们表示当前的数除以3所得的余数。如果对于某个i和j,有i*2≡j (mod 3),就加一条路径i→j,路径上标一个字符“0”;如果i*2+1≡j (mod 3),则在路径i→j上标记“1”。状态0既是我们的初始状态,也是我们的最终状态。我们的自动机就做好了。现在,假如二进制数10010走进来了。从状态0出发,机器首先读到一个“1”,于是当前位置挪到状态1,表明目前该数模3余1;然后,系统读了一个“0”,我们紧跟着走到状态2,表明二进制数“10”被3除余2;下一步,我们回到状态1,表明“100”除以3余1;再往后,我们得知“1001”能被3整除。最后呢,我们读到一个0,“1001”的两倍当然还是能被3整除,我们依旧停留在原位。我们得到结论:二进制数10010能被3整除。
      有限状态自动机是可以转化为正则表达式的。上面的这个自动机转化起来非常容易。我们可以先试着用自然语言叙述一下。首先,每个二进制数第一位必然为“1”。到达状态1后,我们可以随意地、任意多次地在状态1周围绕圈圈,最终回到状态1。临近末尾,我们再读到一个“1”返回状态0,这之后随便读多少个“0”都可以了。现在问题分解为:我们又如何用正则表达式表述“从状态1出发随意地走最终回到状态1”呢?在本例中,这是很好描述的:它可以是字符串“1000..001”和“0111..110”的任意组合。把这些东西用正则表达式写出来,就是我们刚才那个神秘的式子:1((10*1)|(01*0))*10* 。
       从原理上说,我们可以这种方法求出任意进制下用于任意数的整除性判断的正则表达式。只不过,它们所对应的自动机都更加复杂,从而得出一长串令人眼花缭乱的表达式。本文开头我把1((10*1)|(01*0))*10*的来源作为一个有趣的问题提出来,因为这个式子恰好不长,让人很难想到这背后藏有一个普适的暴力算法。

 
         今天晚上在文三路的一个小餐馆吃饭的时候,有个穿着简陋、背着行囊的老大爷一直站在门外,隔着玻璃窗盯着打饭的 地方的菜和饭,眼神很可怜,这时外面走过去一个年轻小伙,差不多也就30岁左右,应该是上班族,走过去频频回头,然后又返回来,给那个老大爷开门,请他进 去,老大爷看了店内很整洁,不敢进去,劝了很久,把行囊放在门外进去了...然后那个小伙跟老大爷比划了一会儿(看起来像是哑语,可能老大爷是聋哑 人?..),然后给了那个老大爷50元就离开了,我们当时正好吃完了,目睹了这一幕,出去后发现那个小伙好像去等公交了...自己等公交却出手这么大 方...我感觉人间自有真情在,心里暖暖的...
       寒冷的冬天,很温馨的画面,心里很暖很暖...最后我看到那位老人慢慢地过去排队打饭了,可是眼神里透露出了一丝的不安...可能他觉得自己不属于那里,就像我们老师说的,农村人到了城市,看到干净的店铺都不敢进去,就是这个道理...
       为什么人和人总是有这么大的差别,当我埋怨这个不好吃,那个不想吃的时候,周围还有很多这样没钱吃饭的人,或者有钱了也不敢进去吃饭的人..

       不过,回来在网上和三姨已经高中同学说了这事,三姨说太假了,我说亲眼看到的,然后才信。高中同学更狠,说那个老大爷是骗子,或者那个小伙是他的儿子,但是不孝,给了50元打发走...还说我太幼稚了..

不过,我还是宁愿相信这个社会没有那么险恶,宁愿相信好人还是有很多很多的...55555....
 
1.去别人家里,不要坐在人家的床上 。
2.在酒桌上与别人碰杯,自己的杯子一定要低于对方的,特别是对方是长辈或领导 。
3.晴带雨伞,饱带干粮—未雨绸缪总是好的。
4. 如果问别人话,别人不回答你,不要死着脸皮不停的问。
5. 吃饭的时候尽量不要发出声音。

6. 捡东西或者穿鞋时候要蹲下去,不要弯腰撅屁股。
7. 别人批评你的时候,即使他是错的,也不要先辨驳,等大家都平静下来再解释 。
8.做事情要适可而止,无论是狂吃喜欢的食物还是闹脾气 。
9.到朋友家吃完饭,要主动帮忙洗碗清理桌子—–主人做饭已经很辛苦了,不能事后还让主人清理。
10.生活中会遇见各式各样的人,你不可能与每个人都合拍,但是有一点是四海皆准的:你如何对待别人,别人也会如何对待你 。
11.待客不得不大,持家不得不小 。
12.把拳头收回来是为了更有力的还击
13.人活在这个世上,首先要学会一个 “忍”字。
14.任何时候对任何人不要轻易告诉对方你的秘密 。
15.钱不是靠攒的,会花才会赚 。
16.学无止境,不仅仅是学书本知识,更要学会怎么待人处事,社会远比你想象的要复杂 。
17.不要跟同事议论上司或其他同事的是非,你的无心之言很可能成为别人打击你的证据。
18.做事情,做好了是你的本分,做的不好就是你失职 。
19.只有错买,没有错卖。不要只顾着贪小便宜。
20.有时候孤单是正常的,不要害怕,要自己调剂
21.有真正的朋友,但不知你有没有福气遇到。不管有没有遇到,都不要否认它。不要算计别人,尤其不要算计自己喜欢的人。对自己喜欢的人,不要使用手段去得到 。
22.最勇敢的事情是认清了生活的真相之后依旧热爱生活。不要害怕欺骗,但要知道世界上存在欺骗 。
23.借钱的时候,心里要有个底,就是要想着这个钱是回不来的。所以借出去的钱永远要在自己能承受的损失范围之内。可以承受的数字以内,即使回不来,也是心里早准备好的。自己不能承受损失的数目,就不能借。
24.最好的朋友之间,除非他穷的吃不了饭了,否则最好不要有经济往来。许多可贵的友谊都败坏在钱上。
25.君子可寓意于物,但不可留意于物 。
26.出门在外能忍则忍,退一步海阔天空。
27.擦桌子的时候要往自己的方向抹 。
28.打电话接电话第一句话一定要是 喂,您好;挂电话的时候等别人先挂。
29.一次不忠 百次不容。
30.不随地吐痰扔东西,如果没有垃圾箱,就拎回家扔垃圾筒里。
31.多看书对心灵有益,你会看到一个更广阔的世界 。
32.是你去适应社会,不是社会来适应你。
33.不要让别人知道自己的真实想法,要笑在人前笑, 要哭一个人躲起来哭。
34.走路手不要插在口袋里。
35.简单的事情复杂做,复杂的事情简单做 。
36.机会只留给有准备的人,天上不会掉馅饼。
37.不管什么条件下,仔细刷牙,特别是晚上 。
38.早上一定要吃早餐,没有早餐喝杯水也一定要 。
39.少说别人是非,把自己管牢 。
40.你是无价之宝 。
41.女生,和男孩子出去要自己买单 。
42.要对自己的行为负责,不要怨天由人,在做之前要想想应不应该,出了事要学会自己解决 。
43.要想人前显贵,必先人后受罪
 
       突然发现明天已经是第6周了,就剩3周了,一个学期过得好快啊。回顾这一个学期,发现自己好像什么也没做似的,除了郁闷。寝室跟图书馆一样,开始觉得挺好的,可以安心学习,结果,就像大家说的“这样会疯了的”,越来越发现自己行为异常,一连几天一句话都没说过...经常怀念紫金港,但是回去却发现找不到那种感觉,原来我怀念的不是紫金港,而是紫金港的那种生活,怀念我熟悉的朋友都在那里,怀念每天可以呆在那里;然后就是经常想家,大一大二都这么频繁地想家,可能是因为那时我在那里有个一个新的家了吧?...
        今天又突然地郁闷,其实从昨天就开始了,各种不爽,其实也都没什么,就是发自内心的郁闷。记得看过那个帖子,说“如果你一天早上几点几点出去自习,一直忙到晚上,然后睡觉,肯定不会郁闷之类的”,我发现我没有那种所谓“学霸”的境界,当我心情不好的时候,肯定不能把事情做好的,哪怕是明天就要截止了的事情。
       昨天的六级很悲剧,估计还没有上次高呢;今天的比赛很郁闷,题型很诡异,密码破译出来了,还有一堆陷阱,搞得我很早就已经放弃了...
      晚上忍受不了10米VPN的速度,换了50米的,然后就后悔了,很不稳定,虽然有时很快,但是慢的时候QQ音乐都更新不出来,百度都连不上,真悲剧~另外,为了测试网速,破戒玩了一盘CF,ping真小啊,才20左右,太爽了,直接拿下了MVP~

----------------------------------------时间分割线----------------------------------------------
 
      明天开始第6周了,选课、大程都需要在接下来两周完结了吧...又到一个将ACM放下的季节了,等把usaco的1.3做完结以及把“双调欧几里得旅行商问题”的题目做完(悲剧啊,这个很早就学了,但是一道题也没做),就开始调用一个中断吧...
     另外,看了一下考试,首先是操作系统实验和计算机安全、计算理论和操作系统原理,而这里面,操作系统实验还是需要好好复习的,短学期学的都忘光了;计算机安全一直认真听课,所以可以等到第8周复习;计算理论很悲剧,这几天就开始看吧,唉...;操作系统原理每次都是3节课听2节,需要把落下的都补回先;...还有就是边做汇编大程和C#大程边复习它们吧(其实可以说是预习了,>_<)...
       等到寒假,只有2个任务:学车、学网络(他们说,21世纪的人要学会开车、学会上网,于是我专心去学如何开车和“如何”上网...)...
      另外,今天中午吃饭,不知不觉走神了,想到了很多小时候的事情,想爸爸妈妈姐姐,5555555555~

 
       起先头疼,好几个小时后,竟然习惯了。然后突然想起周三心理学老师讲的一个实验了:
一个心理学家做了一个实验,戴上一副特殊的眼镜(这个眼镜的作用是将你看的图像上下左右颠倒)。于是他看到人们都是倒着走路,楼房、汽车都是倒着的,甚至都不敢向前走一步,因为他看到的下面是天空。但是,这个心理学家戴着这副眼镜生活了一个月,慢慢地竟然习惯了这个世界,这里说的习惯是指,他看到的图像已经是正立的了,更准确地说是他脑子形成的图像是正立的了。然后当他拿下眼镜后发现会不适用,又会感觉世界是倒着的。
        上课时候听的时候没有很注意,现在想想,觉得这是一项很伟大的实验,它证明了眼镜看到的不一定是真的。长期以来,我们经常说一句话叫,眼见为实,这下好了,眼见也不一定为实了。是啊,我们太相信眼睛了,其实我们不能这么相信它,因为它真的不可信,随便举个例子(随处可见的例子):
Picture
       比如上面这张图片,根本没有转动,但是你会认为转动,眼镜为实么?后来又写了一些,但是网速慢,发布不出去,再