• 《谁动了我的奶酪》读后感


      在这个浮躁的年纪,浮躁的日子里,想多读几本书已然成为一种奢侈。工作几年来,已经很少再涉猎文学文艺相关的书籍了,大多是一些枯燥无味的技术书籍,因为身处一个竞争激烈的社会和处处充斥着金钱味道的世界,唯有提升自身能力多挣钱才是这个社会的立足之本。诚然,这种思想有些媚俗了点,不过我本人也是一个热爱文学并自认为还有那么一些文学功底的文艺青年,奈何生逢就业压力空前巨大,物价飞涨,人口暴增,竞争残酷的现代社会,从此走上一条不归路,成为一名屌丝程序员,一入IT深似海,花落人亡两不知,保持一个文艺青年的赤子之心和满腔热血是我毕生追求的信仰。况且,自从走上程序员的道路,我就越来越觉得写程序和文学有着某种必然的联系。

      

      因为写程序需要大脑有很好的逻辑思维能力,空间想象能力,由整体架构到内部细节是清晰明朗的,有条不紊,循序渐进,一旦文思泉涌,则顺流而下,水到渠成。嗯,没错,就是这么美妙!而文学类作品或者创造文学也同样具备这样的思维能力和整体把控能力,有构思,有框架,有具象,有抽象,清晰的条理,严谨的思维,一旦有了好的构思,下笔就会行云流水,一气呵成。

      

      

      很久以前,读过王小波的《一只特立独行的猪》,对,没错,是一只特立独行的猪,不是猫,《Mac Talk》中也有讲到王小波的身份,王小波除了是一名作家,还是一名很牛的程序员,90年代算是早期的一批程序员了,会写各种汇编语言,C语言,数据结构,算法,还会编译原理,作为一个程序员,他能把文学家的脑洞和眼光运用到编程中,同样,他也能把编程中的一些思维和创意结合到文学创作中,王小波小说里的男主角基本都是理工男,比如《未来世界》里的王二是个工程师,整天想着和单位一起研制的永动机,还有《红拂夜奔》里的李靖发明过一个巨大的开跟号机器,在战场上,这台机器运转起来挥舞着杠杆边开跟攻击敌人,有的人死在根号 3 下,有的人倒在了根号 5 下。王小波干过很多事情,下过乡,考过大学,出过国,学过经济,打过代码,成了小说家,去世的那一年完成了心愿做了编剧。总之不管他干了什么,他身上让我们尊重的还是独立之精神,自由之思想。《Mac Talk·人生元编程》迟志强也讲到了人文与编程,编程不仅是工作,不仅是兴趣,同样也会改变我们的生活方式。

      

      

      所以,作为一名优秀的程序员,不仅要在技术上有所成就,在文学修养上也要有所修炼,不仅要做一个只会打代码的攻城狮,还要懂得生活的情趣,欣赏生活的浪漫,情商与智商齐飞,才华共情怀并进。

      

      说了这么多废话,下面开始进入正题,好的小说一般都是这样的,前面会有很长很长的序,难道不是吗(^o^)/。

      好友几番推荐,我决定就着午休的时光和周五下午的空闲读一读,《谁动了我的奶酪》,一听起名字,貌似很熟悉的的样子,早些年好像听说过,也貌似曾经流行一时,大概是在初中那会儿,那时候同学间流行着《羊皮卷》《人性的弱点》《钢铁是怎样炼成的》,估计就是这一批的,不过我确定我没有看过。

      我依然保持着一个程序员的基本素质,我用eBook打开了txt文本,然后开始慢慢的欣赏起来,内容不多,故事也不复杂,大体内容如下:我依然保持一个程序员应有的素质,采用树状列表的方式显示出来目录结构。

    树状菜单采用HTML+CSS+JS的技术实现,目录结构下不包括内容,可以添加新的父节点,也可以在指定的父节点下添加子节点。如要添加内容,需要使用Ajax+JSON+Oracle数据库。源码如下:

      1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      3 <html xmlns="http://www.w3.org/1999/xhtml">
      4 <head>
      5 <title>谁动了我的奶酪</title>
      6 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
      7 <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
      8 <style>
      9 *{margin:0px;padding:0px;}
     10 A:link{color: #000000; TEXT-DECORATION: none;}
     11 A:visited {COLOR: #000000; TEXT-DECORATION: none}
     12 A:active {COLOR: #3333ff; TEXT-DECORATION: none}
     13 A:hover {COLOR: #ff0000; TEXT-DECORATION: none}
     14 .panel{ BACKGROUND: #DDE4EA; COLOR:#654125;}
     15 ul {
     16   list-style: none;
     17   margin: 0;
     18   padding: 0;
     19 }
     20 img{
     21   border:0px;
     22   width:16px;
     23   height:16px;
     24 }
     25 #menu{
     26   margin-top: 0px;
     27 }
     28 .U1 {
     29   background: #FFFFFF;
     30   border-bottom:1px #9D9D9D solid;
     31 }
     32 .L1 a:link, .L1 a:visited{
     33   color: #476074;
     34   background: url("");
     35   font-size:9pt;
     36   display: block;
     37   text-decoration: none;
     38   height: 24px;
     39 }
     40 .L1 a:link span, .L1 a:visited span{
     41  background: url("") no-repeat left;
     42  padding-left: 15px;
     43  height:24px;
     44  vertical-align:middle;
     45  padding:7px 0px 0px 16px;
     46  cursor:pointer;
     47  width:100%;
     48 }
     49 .L1 a:hover{
     50   color: #000000;
     51   font-weight:bold;
     52   background: url("");
     53   background-position: 0 -24px;
     54 }
     55 /* 一级菜单 active 效果 */
     56 .L1 a:link.active, .L1 a:hover.active, .L1 a:active.active, .L1 a:visited.active{
     57   background: url("");
     58   background-position: 0 -24px;
     59 }
     60 .L1 a:link.active span, .L1 a:hover.active span, .L1 a:active.active span, .L1 a:visited.active span{
     61   color: #000000;
     62   font-weight:bold;
     63   background: url("") no-repeat left;
     64 }
     65 .L21 a:link, .L21 a:visited, .L22 a:link, .L22 a:visited, .L3 a:link, .L3 a:visited{
     66   color: #444659;
     67   background: none;
     68   height: 24px;
     69   font-size:9pt;
     70   display: block;
     71   text-decoration: none;
     72   padding-left: 13px;
     73   background: none;
     74 }
     75 .L21 a:link span, .L21 a:visited span, .L22 a:link span, .L22 a:visited span, .L3 a:link span, .L3 a:visited 
     76 
     77 span{
     78  vertical-align:middle;
     79  padding:7px 0px 0px 16px;
     80  background: url("") no-repeat left center;
     81  cursor:pointer;
     82  width:100%;
     83 }
     84 .L22 a:link span, .L22 a:visited span, .L3 a:link span, .L3 a:visited span{
     85  background:none;
     86 }
     87 .L21 a:hover, .L22 a:hover, .L3 a:hover{
     88   background: url("") no-repeat top left;
     89   font-weight:bold;
     90 }
     91 .L3 a:link span, .L3 a:visited span{
     92   padding:7px 0px 0px 26px;
     93 }
     94 .L4 a:link span, .L4 a:visited span{
     95   padding:7px 0px 0px 36px;
     96 }
     97 /* 二级菜单 active 效果 */
     98 .L21 a:link.active, .L21 a:hover.active, .L21 a:active.active, .L21 a:visited.active{
     99   background: none;
    100 }
    101 .L21 a:link.active span, .L21 a:hover.active span, .L21 a:active.active span, .L21 a:visited.active span{
    102   color: #000000;
    103   font-weight:bold;
    104   background: url("") no-repeat left center;
    105 }
    106 /* 二、三级菜单 active */
    107 .L22 a:link.active, .L22 a:hover.active, .L22 a:active.active, .L22 a:visited.active,
    108 .L3 a:link.active, .L3 a:hover.active, .L3 a:active.active, .L3 a:visited.active{
    109   background: url("") no-repeat left;
    110   background-position: 0 -24px;
    111 }
    112 .L22 a:link.active span, .L22 a:hover.active span, .L22 a:active.active span, .L22 a:visited.active span,
    113 .L3 a:link.active span, .L3 a:hover.active span, .L3 a:active.active span, .L3 a:visited.active span{
    114   color: #FFFFFF;
    115   font-weight:bold;
    116   background: none;
    117 }
    118 .Ls{
    119   text-align:right;
    120   padding-top:4px;
    121   height:20px;
    122   font-size:9pt;
    123 }
    124 .setting:link, .setting:visited{
    125   text-decoration: underline;
    126   display:block;
    127 }
    128 </style>
    129 </head>
    130 <body class="panel" onLoad="init();">
    131 <div id="sub_tabs" class="sub_tabs"></div>
    132  <div id="body">
    133 
    134 <ul id="menu"> 
    135 
    136 <ul id="m01d" style="display:none;" class="U1">
    137 <li class="L21"><a href="javascript:c('f40');" id="f40"><span><img src="" align="absMiddle"/></span></a></li>
    138  <ul id="f40d" style="display:none;">
    139  <li class="L3"><a href="javascript:c('f42');"><span><img src= align="absMiddle"/></span></a></li>
    140   <ul id="f42d" style="display:none;"><li class="L4" ><a href="#"><span><img src= 
    141 
    142 align="absMiddle"/></span></a></li></ul>
    143  <li class="L3"><a href="#"><span><img src="" align="absMiddle"/></span></a></li>
    144  </ul>
    145 <li class="L21"><a href="javascript:c('f41');" id="f41"><span><img src="" align="absMiddle"/></span></a></li>
    146  <ul id="f41d" style="display:none;">
    147  <li class="L3"><a href="#"><span><img src="" align="absMiddle"/></span></a></li>
    148  <li class="L3"><a href="#"><span><img src="" align="absMiddle"/></span></a></li> 
    149  </ul>
    150 <li class="L22"><a href="#"><span><img src="" /></span></a></li>
    151 <li class="L22"><a href="#"><span><img src="" /></span></a></li>
    152 <li class="L22"><a href="#"><span><img src="" /></span></a></li>
    153 </ul>
    154 <li class="L1"><a href="javascript:c('m03');" id="m03"><span><img src="aa/1.jpg" align="absMiddle"/>谁动了我的奶
    155 
    156 酪</span></a></li>
    157 <ul id="m03d" style="display:none;" class="U1">
    158 
    159  <ul id="f43d" style="display:none;">
    160  <li class="L3"><a href="#"><span><img src= align="absMiddle"/></span></a></li>
    161  <li class="L3"><a href="#"><span><img src= align="absMiddle"/></span></a></li> 
    162  </ul>
    163 <li class="L22"><a href="#"><span><img src="aa/1.jpg" />代序:变化与困惑</span></a></li>
    164 <li class="L22"><a href="#"><span><img src="aa/1.jpg" />我们多面的人性 </span></a></li>
    165 <li class="L22"><a href="#"><span><img src="aa/1.jpg" />故事背后的故事</span></a></li>
    166 <li class="L22"><a href="#"><span><img src="aa/1.jpg" />芝加哥的同学聚会</span></a></li>
    167 <li class="L22"><a href="#"><span><img src="aa/1.jpg" />“谁动了我的奶酪”的故事</span></a></li>
    168 <li class="L22"><a href="#"><span><img src="aa/1.jpg" />讨论</span></a></li>
    169 </ul>
    170 
    171 </ul>
    172 </ul>
    173 </div>
    174 <script language="JavaScript">
    175 window.onresize=function()
    176 {
    177   if(!parent.$('frame1')) return;
    178   var rows = parent.$('frame1').rows.split(",");
    179   if(rows.length < 2 || rows[1]!="*") return;
    180   $("bottom_center").style.width = "0px";
    181   if(document.body.clientHeight > $("sub_tabs").clientHeight+$("bottom").clientHeight)
    182    $("body").style.height=(document.body.clientHeight-$("sub_tabs").clientHeight-
    183 
    184 $("bottom").clientHeight)+"px";
    185   var widthTotal = parseInt($("bottom").clientWidth);
    186   var widthLeft = parseInt($("bottom_left").clientWidth);
    187   var widthRight = parseInt($("bottom_right").clientWidth);
    188   if(!isNaN(widthTotal) && !isNaN(widthLeft) && !isNaN(widthRight))
    189   {
    190    $("bottom_center").style.width = widthTotal - widthLeft - widthRight + "px";
    191   }
    192 };
    193 function init()
    194 {
    195   window.onresize();
    196 }
    197 var sub_menu="1";
    198 function view_menu(id)
    199 {
    200   set_current("");
    201   if($("menu").innerHTML.toLowerCase().indexOf("<li") >= 0)
    202    $("menu_code_"+sub_menu).innerText=$("menu").innerHTML;
    203   if($("menu_code_"+id).innerText=="" || isUndefined($("menu_code_"+id).innerText))
    204   {
    205    $("menu").innerHTML="<img src='/images/loading.gif' align='absMiddle'> 加载中,请稍候……";
    206    if(id==2) args="MENU_TYPE=SHORTCUT&OA_SUB_WINDOW=0&MENU_DISPLAY=";
    207    else if(id==3) args="MENU_TYPE=OA&OA_SUB_WINDOW=0";
    208    else if(id==4) args="MENU_TYPE=FAV&OA_SUB_WINDOW=0";
    209    else if(id==5) args="MENU_TYPE=FIS&OA_SUB_WINDOW=0";
    210    else args="OA_SUB_WINDOW=0";
    211    _get("menu_code.php", args, update_menu, true);
    212   }
    213   else
    214   {
    215    $("menu").innerHTML=$("menu_code_"+id).innerText;
    216   }
    217   if($('link_'+sub_menu))
    218    $('link_'+sub_menu).className="";
    219   $('link_'+id).className="active";
    220   sub_menu=id;
    221   setCookie("MENU_UI_1", id);
    222   if(id == 5)
    223   {
    224    openURL("http://www.jb51.net/");
    225   }
    226 }
    227 function update_menu(req)
    228 {
    229   if(req.status == 200)
    230   {
    231    if(req.responseText=="")
    232      $("menu").innerHTML="<div style='padding:10px;'>无可访问菜单</div>";
    233    else
    234    {
    235      $("menu").innerHTML=req.responseText;
    236      if(sub_menu == 2) c('mMENU_SHORTCUT');
    237    }
    238   }
    239   else
    240   {
    241    $("menu").innerHTML="<div style='padding:10px;'>错误:"+req.status+"</div>";
    242   }
    243 }
    244 var cur_id="",cur_expand="";
    245 var flag=0,sflag=0;
    246 //-------- 菜单点击事件 -------
    247 function c(id)
    248 {
    249  var targetid,targetelement;
    250  var strbuf;
    251  var el=$(id);
    252  if(!el)
    253    return;
    254  //-------- 如果点击了展开或收缩按钮---------
    255  targetid=el.id+"d";
    256  targetelement=$(targetid);
    257  var expandUL=$(cur_expand+"d");
    258  var expandLink=$(cur_expand);
    259  if (targetelement.style.display=="none")
    260  {
    261    if(expandUL && expandLink && el.id.substr(0,1)=="m")
    262    {
    263     expandLink.className="";
    264     expandUL.style.display='none';
    265    }
    266    if(el.id.substr(0,1)=="m")
    267     cur_expand=el.id;
    268    el.className="active";
    269    targetelement.style.display='';
    270    menu_flag=0;
    271    //$("expand_link").src="images/green_minus.gif";
    272  }
    273  else
    274  {
    275    el.className="";
    276    targetelement.style.display="none";
    277    menu_flag=1;
    278    //$("expand_link").src="images/green_plus.gif";
    279    var links=document.getElementsByTagName("A");
    280    for (i=0; i<links.length; i++)
    281    {
    282     el=links[i];
    283     if(el.parentNode.className.toUpperCase()=="L1" && el.className=="active" && el.id.substr(0,1)=="m")
    284     {
    285      menu_flag=0;
    286      // $("expand_link").src="images/green_minus.gif";
    287      break;
    288     }
    289    }
    290  }
    291 }
    292 
    293 var $ = function(id) {return document.getElementById(id);};
    294 var userAgent = navigator.userAgent.toLowerCase();
    295 var is_opera = userAgent.indexOf('opera') != -1 && opera.version();
    296 var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 
    297 
    298 3);
    299 function MouseOverBtn(){event.srcElement.className+="Hover";}
    300 function MouseOutBtn() {event.srcElement.className=event.srcElement.className.substr
    301 
    302 (0,event.srcElement.className.indexOf("Hover"));}
    303 function CorrectButton()
    304 {
    305   var inputs=document.getElementsByTagName("INPUT");
    306   for(var i=0; i<inputs.length; i++)
    307   {
    308    var el = inputs[i];
    309    var elType = el.type.toLowerCase();
    310    var elClass = el.className.toLowerCase();
    311    var elLength = Math.ceil(el.value.replace(/[^x00-xff]/g,"**").length/2);
    312    if(elType!="button" && elType!="submit" && elType!="reset" || elClass!="bigbutton"&&elClass!="smallbutton")
    313      continue;
    314    if(elLength<=3)
    315      el.className+="A";
    316    else if(elLength==4)
    317      el.className+="B";
    318    else if(elLength>=5 && elLength<=7)
    319      el.className+="C";
    320    else if(elLength>=8 && elLength<=11)
    321      el.className+="D";
    322    else
    323      el.className+="E";
    324    if(is_ie)
    325    {
    326      el.attachEvent("onmouseover", MouseOverBtn);
    327      el.attachEvent("onmouseout", MouseOutBtn);
    328    }
    329   }
    330 }
    331 if(is_ie)
    332   window.attachEvent("onload", CorrectButton);
    333 else
    334   window.addEventListener("load", CorrectButton,false);
    335 </script>
    336  </body>
    337 </html>

      让我们再把思维拉回到书上来,这本书主要讲了一个寓言故事,通过这个寓言故事让我们对人生对生活有了启发和思考,由同学聚会作为引子,同学之间的交谈和对生活现状的一些剖析和自我认知来引出两只老鼠“嗅嗅”,“匆匆”和两个小矮人“哼哼”,“唧唧”在寻找奶酪的过程中的行为状态和心理变化,然后故事结束,同学们开始讨论,各抒己见,同时也让我们读者从中获得一些思想上的启发和对人生的思考。一则很简单的寓言故事,但思考点却有很多,特别是如今互联网盛行的时代,我们会从中总结出很多东西来。

    (一)奶酪就在那里,不来也不去,你去不去找是你自己的事情,怎么找也是你的事情。

      我们从学生时代开始就一路追寻自己的梦想,这个过程中,我们吃了很多的苦,受过很多的罪,我们走过很多的弯路,也曾经迷路,但我们依然披襟斩棘,无怨无悔,为什么?因为那就是我们的奶酪,是我们追求的幸福,因为它,我们才生活的更有意义。所以,有梦想就要去努力,有喜欢的女孩子就要去追,虽然会历尽千辛,也可能会失败,但在这个过程中,你会发现自己越来越强大,你会收获很多,你会迅速的成长,而这个将会是你一生难得的财富。行动起来,空谈误国,实干兴邦,着手去做,踏踏实实的去做,比你定下一千个一万个理想目标都要实际的多,不是吗?

    (二)事情已经发生,难过于事无补。

      故事中,两个小矮人在发现C区的奶酪消失了没有了的时候暗自神伤起来,不断的质问对方,为什么没有了呢?为什么呢?为什么呢?发生了什么呢?到底是因为什么呢?而两只小老鼠却很早就已经发觉了C区的奶酪发生了异常情况,所以,他们早就明白,这里的奶酪迟早会消失,他们很早就做好了心理准备,在奶酪消失的时候他们没有选择难过伤心,怨天尤人,而是穿上鞋,迅速的行动起来,继续去寻找新的奶酪。所以,我们要保持对周围环境的一个感知,遇到突发情况,要镇定,要冷静,迅速反应,快速投入到新的环境中。而现实情况却是别人已经适应了新的环境,我们却还在四处张望,茫然犹豫,下手比别人慢,入行比别人晚,最终吃亏的还是自己。

    (三)“时势造英雄”,要学会随机而动。

      古人有云:识时务者为俊杰,面对新的机遇和新的挑战,如果不能清晰的判断和迅速的抉择,就会落后于别人,特别是在如今的互联网大潮中,机会多,渠道广,互联网给我们营造了很多的机遇,如果我们还是一直的沉浸在自我的世界中,被传统的思维所桎梏,不愿意接受新的事务和新的思维,终将会被淘汰,清朝的闭关锁国最终带来得是一张张不平等的条约,历史的经验和教训还在这里,如今,可以说是互联网世界一个新的开始,我们要勇敢迈出这一步,迅速的适应互联网的新环境,并利用互联网给我们的生活创造更多的便利。

      以上观点仅代表个人,如有雷同,纯属巧合。能从某本书中得到很多对人生有益的启发和思考,这是我从来都觉得读书的最大好处,高尔基说书是人类进步的阶梯,但现实中,我们总是因为各种原因以各种借口不读书,当然,就像第一点,书就在那里,你读或者不读,都看自己。作为程序员,我们总是以提高技术能力为核心任务,所以群猎各种技术书籍,可时间一久,又觉得确实乏味枯燥,所以不妨品读一些文学作品,作为我们枯燥生活的调剂,从混沌的代码世界里走出来,感悟生活的真诚,让眼睛里不再只有枯燥的代码,而是拥有发现美的能力,让心灵和身心也能在文学的美妙中自由的倘佯(同时也会提升内涵,人品,素养,妈妈再也不用担心我找不到女盆友了哦(^o^)/)。

      

  • 相关阅读:
    JavaScript开发中几个常用知识点总结
    编写高质量代码改善C#程序的157个建议[勿选List<T>做基类、迭代器是只读的、慎用集合可写属性]
    编写高质量代码改善C#程序的157个建议[泛型集合、选择集合、集合的安全]
    C#基础知识系列十(集合)
    Json.Net6.0入门学习试水篇
    编写高质量代码改善C#程序的157个建议[动态数组、循环遍历、对象集合初始化]
    C#基础知识系列九(对IEnumerable和IEnumerator接口的糊涂认识)
    Asp.Net MVC3.0项目部署到Win7 64过程总结
    .sql文件l通过PLSQL导入到Oracle数据库
    PowerDesigner工具将表字段转成java实体
  • 原文地址:https://www.cnblogs.com/ao-xiang/p/5242755.html
Copyright © 2020-2023  润新知