[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"list-\u002Farticles\u002F11":3},{"items":4,"total":138},[5,20,28,38,48,72,80,90,101,111,122,130],{"id":6,"type":7,"slug":8,"title":9,"date":10,"category":11,"tags":12,"body_markdown":14,"permalink":15,"excerpt_src":15,"media_type":15,"media_title":15,"media_author":15,"media_url":15,"rating":15,"layout":15,"pv":16,"admin_only":16,"created_at":17,"updated_at":17,"deleted_at":15,"status":18,"cover":19},65,"article","off-year","小年","2011-01-26 20:36:27","life",[13,9],"随笔","\n昨天发了两条状态，第一条说今天是小年，第二条说是明天。两条都被人非议了。\n\n北方的小年是二十三，今天，而南方大部分地区，确实是明天。\n\n感觉像是好久没有回家了，已经忘了小年会做什么。记忆里浮现出来的竟全是小时候的画面：一大家子人在一起搓麻花，做黄豆糖、米子糖。我们小孩子就负责捣乱，一会这里弄点油，一会那点涂点粉。再要不就是拿面团做自己能想到的东西，飞机大炮自行车啥的，从锅里炸出来然后满足地一口吃掉……\n\n遥远的记忆。来深圳一个多月了，现在办公室空空如也。让本来就不太浓厚的新年氛围，更显得萧条。\n\n生活不总是那么如意，像围城一样，外面所有的人都羡慕你，但其实只有你自己才知道自己向往外面的世界。\n\n每天总有做不完的事情，即使做完了，也有发不完的呆，一点都不想做自己的事情。梦想依然很执着，但也依然遥远。\n\n最后一个寒假，在我完全没有意识到的情况下就溜走了，当高中同学要在寒假聚会的时候而我怎么都赶不回去的时候，我才发现，原来上班族的年假那么少。\n\n看了百度的视频《盒子里的梦想》，真好。其实，生活的精彩之处并不像我们臆想的那么遥远，走遍所有的厕所也可以是梦想，用心的生活一天也可以是成长。或许，人生的意义就在于用心地过好每一天吧。\n\n生活还是很美好的，只是，我还不够投入。就像我常常在想，如果我把自己的内心过年的氛围弄得再浓一点之后，当我看到满大楼的红色，会不会更欣喜一点？\n\n对自己微笑一下吧，不管是接下来几天的工作，还是即将热闹到感觉久违的春节，把自己融进去，再用心一点点，好么？\n\n小年快乐，大年快乐！\n\n> 补一个B站的视频链接 https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1dt411a7VJ\u002F\n",null,0,"2026-08-28 04:37:17","published","",{"id":21,"type":7,"slug":22,"title":23,"date":24,"category":11,"tags":25,"body_markdown":27,"permalink":15,"excerpt_src":15,"media_type":15,"media_title":15,"media_author":15,"media_url":15,"rating":15,"layout":15,"pv":16,"admin_only":16,"created_at":17,"updated_at":17,"deleted_at":15,"status":18,"cover":19},63,"my-2010","在路上——写给我的2010","2010-12-31 23:57:17",[26],"年度总结","\n每一个年末，都要面对一个陌生，但是又即将每天面对的词。今天，又是年末，即将面对的词，叫2011。\n\n站在2011的门口，回望我的2010，感慨颇多。\n\n## 一、爱情\n\n2010年4月，开学刚1个月。在守候了很久，开始怀疑自己能不能接着等下去的时候，不期而遇。\n\n2011年1月1日，第273天。我把这个数字写在我网站的右下角，很踏实。\n\n一路走来，波澜不惊，平静得很。很多人很不解，一份刚开始的感情怎么会这样？但是，我以为，这就是真实的感情。平淡，所以踏实，一如网站角下每天变动的数字。\n\n感谢惠儿，不论在习惯还是性格上，都让我改变了许多。未来的日子，我们一起加油！\n\n## 二、工作\n\n说起来，找工作也是上半年就开始了的，只不过，上半年找的是实习。\n\n大约我是我没重视，抑或是我重视得太晚了，反正就只看到腾讯一家的实习生招聘信息，于是投了。六次面试之后，终于没有踏进腾讯的大门。虽然如此，这次的经历还是给后面找工作的时候留下了宝贵的经验。\n\n十月份跟妈妈打电话的时候，我说，我的工作可能这个月就能搞定。果然，一共投了8次，拿到4个offer，中途拒掉2家。\n\n没能体会到找工作的艰难，是一大憾事。不过仍然有很多故事可以说。\n\n找工作第一次体会到信心和毅力的重要。我的求职记录中满满地记了好几十条，意味着几十场宣读会+笔试+面试。那段时间实在已经记不得每天要跑几个地方了，一向对记性有信心的我不得已用起了google日历，每天晚上回来一脸疲惫。我记得最忙的有几天：一天是三场宣读会+三个笔试，在华科西十二楼，华科大学生活动中心，武汉理工三个地方，那天还下着大雨，有一个宣读会实在赶不上，让万宇同学帮我听的，最后一场笔试完了从华师走出来，在公交上连说话的力气都没有了；另一天是六个面试，面到后来，我得很努力地不断提醒自己面试的公司和职位，避免想错说错，但是仍然忍不住会混乱，于是不得不经常停下来调整思路。最晚在半夜1点半接到过面试的电话通知。经常出现的情况是，第一天晚上还觉得第二天空空的，几条短信一飞过来，第二天就一点空都没有了。这些情况下，真的只有信心和毅力能让自己坚持下去，所幸，我做到了。\n\n面试的过程，于我而言，更多的是学习。一方面他们在了解我，另一方面，于我而言，我对各大公司有了一些更为清晰的认知，而且我相信，这些认知会给我以后的生活带来不少的好处。当然，有两次非常愉快的面试，让我印象颇深，顿时觉得是否录用我都不重要了，能找到一个聊得来的人聊上一个小时，多好。\n\n整个找工作的过程中，变化最大的是心态。\n\n一方面，是对工作的期望，上半年，我说过，给我2000元，我就去。可是下半年，offer一个比一个高，心态一下子被拉得很高。后来，经过不断调整，总算是有所回归。钱很重要，但是永远不是最重要的。于是，我拒绝了给钱最多的公司，虽然拒了任何一家我都可惜，但是这个决定总算说明我的心态没有乱。\n\n另一方面，是对自己的认知。我自知，我没有经过系统的学习，算得是山寨货，所以从来没有想过自己真的能被很多人认可。但是结果让我很意外，回过头来看，原来我走过的路都是对的，对自己，也需要再次打量。\n\n现在，身在深圳，每天写代码，可是写的并不全是我想做的东西。现实与理想总是有差距。但是像很多事情一样，也许，我现在的坚持在未来才会显现出意义，所以，不管怎样，坚持。\n\n感谢金山和迅雷，第一次让我认识到，我不只适合做技术；感谢淘宝的小马，让我真正看清楚web前端光明的前途，也让我找到我自己未来的路；当然，也得感谢腾讯的各位，让我有机会与你们共事。\n\n还要感谢我的家人，我的朋友，感谢你们一如既往的支持！最后，感谢一下我的小自行车，辛苦地跟我在武汉这个破地方东奔西走，立下汗马功劳。还有老大的《古城映象》，那段时间单曲循环的，每次听着都心情特好。\n\n## 三、那点破事\n\n2010年上半年，为了音乐会，基本没去上课，结果，音乐会流产了，挂了一些科，现在终于后悔了。\n\n2010年下半年，当我准备去排练音乐会的时候，改成新年音乐会了，于是我知道，我真的无缘了。\n\n12月25日，当新年音乐会的旋律经历再次延期后终于响起在地大弘毅堂的时候，我落寞地躺在深圳的小窝里，对着电脑屏幕上的节目单，看着惠儿发来的短信，努力地想象当时的场景。音乐会成功了，只是，那已经与我无关。\n\n后来知道了一些事情，第一次在QQ状态上指名骂人，骂了团委的那帮人。\n\n现在想起来，其实我真还得感谢一下团委那帮人。一次一次的被团委放鸽子，而与之对比的是自己的努力却很靠谱，去了一次北京校内网，去了一次杭州淘宝网。现在，我真的知道了，而且非常深刻：除非已经发生，否则一切都是不靠谱的，凡事做好另外的打算。用凡客的广告，团委该是属水瓶座的，可惜，我不喜欢。\n\n## 四、成长\n\n每一年回忆的时候，总能明显地看到自己的成长，唯独今年，似乎想不起什么。\n\n其实经历的事情依然是非常多的，可能是我还没来得及仔细回味。\n\n关于互联网，经历了找工作和一系列的互联网事件，理解深刻了很多，我依然喜欢这个行业。\n\n## 五、其他\n\n最后一天，免费的域名出问题了，于是我写这篇日志都只能在本机IIS下写。换成了www.shuhan.es，敬请期待域名生效。\n\n新的生活开始了，每天上班在班车上看看书，上班的空闲在网上学学技术，日子也不错，期待未来更多精彩。\n\n2010，一直在路上，期待2011能走得更稳更快更远！\n",{"id":29,"type":7,"slug":30,"title":31,"date":32,"category":11,"tags":33,"body_markdown":37,"permalink":15,"excerpt_src":15,"media_type":15,"media_title":15,"media_author":15,"media_url":15,"rating":15,"layout":15,"pv":16,"admin_only":16,"created_at":17,"updated_at":17,"deleted_at":15,"status":18,"cover":19},61,"memory-of-official-hotel","纪念官方饭店","2010-10-19 09:11:45",[34,35,36],"回忆录","官方饭店","民乐团","\n最近一直在忙着找工作，忙得我连午饭都只能用5分钟解决。\n\n10月16号那天经历了六场面试之后，终于有了一个空闲的晚上。惠惠叫我出去吃饭，我说，那我们就去官方饭店吧，好久不去了。\n\n到了之后才发现，我一个月不来，这里竟然已经换了老板了。顿时觉得无限伤感，我的官方饭店，不复存在了 。\n\n## 一、官方饭店的前世今生\n\n其实这个饭店叫“渝园老川菜”，在我刚上大一的时候，那里是一个胖胖的女老板。某一次我哥嫂过来，一起去那吃饭，我哥惊呼，在这种地方竟然还有这么好的厨师，真难得。\n\n后来，不知道什么时候，这里的老板换成了一对中年夫妻。由于饭菜可口（确切地讲，是菜可口），份量也足，我和我们团的人也就慢慢来得多了。\n\n2009年暑假集训的时候，我们一堆人，经常一约就跑到饭店吃饭了。吃完往往还会好好玩一顿。就这样，这个饭店被我们戏称为“民乐团官方指定饭店”，简称“官方饭店”。\n\n## 二、官方饭店里的故事\n\n想起来，在官方饭店里面发生的故事还真挺多的。\n\n前几天和惠惠吃饭的时候，她说起她第一次来的情况。那天是我请她，理由是她借我地质学的课本，而且我的地质学很幸运地过了，当然，这是借口。三个菜，两个人吃了半天，没吃完，很满意地走了。\n\n最值得回忆的不外乎杀人了。还是2009年暑假，一堆人一围，吃完饭就开始杀。像我和嘉姐这种推理能力超强的人总是在第一轮被秒杀，最多只能留点遗言，然后愤愤然地看着杀手再出来杀别人，郁闷得不行。中间也有很多经典的句子，像万威同学总会以“你们大家有没有发现……”开场，而我，总是先抛一句“为什么我会死呢”，然后一边乱想一边胡扯。中间有些小动作，也总是让人大跌眼镜，某次天黑闭眼了，我睁眼偷瞄了一下，结果不小心看到海爷的手就搭上了五妹的肩，雷死我了。\n\n暑假过后，大家还是常来吃饭，但是很难再有那么多的精力去尽情地杀人，于是这美好的记忆就只能封存了，每每想起来，还是会不自觉地笑。\n\n店里的老板很厚道，于是也发生了很多事情。\n\n有一次吃饭的时候，海爷跟我说，你知道为什么我们的菜份量那么多吗？我说，不知道，难道不是所有人的都很多吗？他说，不是，因为我们的菜是老板娘亲自配的。当时就对老板娘无限好感。还有一次，是海爷奉他妈妈之命，买了土鸡蛋，然后去问老板娘，怎么辨别土鸡蛋，然后老板娘很热心地跟我们讲了半天，最后我们都晕了，老板娘还是没告诉我们，海爷手上的是不是土鸡蛋。\n\n后来的后来，09级团员已经混熟了，我和海爷、农药还有几个人又去饭店了，正好碰上高峰期，服务员又回家了，老板忙得团团转。海爷和农药眼看菜等不上，闲得不行，就客串起服务员来了，收桌子端菜添饭，有模有样的，我们在一旁笑得肚子都疼了。从此以后，老板就记住海爷了，我们去吃饭上菜的时候，老板经常会偷偷跟我们说，又帮你们插队了。\n\n再后来，2010年暑假集训的聚餐，钱都没给，先赊了，开学好久之后海爷才把钱送过去。某一次又和海爷去吃饭，两人吃完海爷去结账，往柜台那站了一会跑回来，喜滋滋地跟我说，今天老板请客！当时觉得，唉，这老板人真不错。\n\n## 三、终点\n\n每段回忆都会有终点，官方饭店也不例外，自从乐团搬往北区之后，大家来得都少了。而我，也大四了，在乐团的时候也少得很，很难再跟大家一起混。这些美好的记忆也就随着时间慢慢风化消失了。\n\n其实我不愿承认的，但是前几天去的时候，让新的老板给我换一次性餐具，她说没有，但是我明明看到旁边桌上是一次性餐具，后来结账的时候我指着后面的一次性餐具，说，老板，你跟我说没有，这是什么？老板一口四川话，在那解释，说人家是自己拿的，她太忙了就说没有了之类的，听得我一阵阵恶心。\n\n我终于承认，这段回忆是到终点了。\n",{"id":39,"type":7,"slug":40,"title":41,"date":42,"category":43,"tags":44,"body_markdown":47,"permalink":15,"excerpt_src":15,"media_type":15,"media_title":15,"media_author":15,"media_url":15,"rating":15,"layout":15,"pv":16,"admin_only":16,"created_at":17,"updated_at":17,"deleted_at":15,"status":18,"cover":19},152,"exam-of-netease","纪念网易笔试错题","2010-09-28 14:35:41","web",[45,46],"笔试","网易","\n网易2010年校园招聘页面工程师笔试题，不幸做错，留下代码作为纪念。\n\n```\n\u003Chtml>\n\u003Chead>\n\t\u003Ctitle>网易笔试题\u003C\u002Ftitle>\n\u003C\u002Fhead>\n\u003Cbody>\n\t\u003Cdiv style=\"width:350px;margin:200px;\">\n\t\t\u003Cp style=\"text-indent:-2em;\">\u003Cspan>问：\u003C\u002Fspan>网易邮箱都有哪些品牌？\u003C\u002Fp>\n\t\u003Cp style=\"text-indent:-2em;\">\u003Cspan>答：\u003C\u002Fspan>网易的免费邮箱有126，163，Yeah等品牌，除此外还有免费的域名邮箱，有收费的188邮箱。还有收费的企业邮箱。\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>\n```\n\n居然做错了，真恶心，居然把text-indent这么重要的属性给忘了！晕啊晕……\n",{"id":49,"type":7,"slug":50,"title":51,"date":52,"category":53,"tags":54,"body_markdown":60,"permalink":15,"excerpt_src":15,"media_type":61,"media_title":62,"media_author":63,"media_url":67,"rating":15,"layout":15,"pv":16,"admin_only":16,"created_at":17,"updated_at":17,"deleted_at":15,"status":18,"cover":71},7,"about-3-films","近期看的几部电影","2010-09-28 09:35:38","bmm",[55,56,57,58,59],"观后感","电影","唐山大地震","盗梦空间","当幸福来敲门","\n嗯。好久没有写日志了，最近过得很忙，忙得很混乱。反正一切都还没有结果，也来不及回味总结什么的。\n\n## 唐山大地震\n\n![唐山大地震](\u002Fassets\u002Fbmm\u002F2010\u002Fabout-3-films\u002F01.jpeg)\n\n暑假的时候去电影院看了《唐山大地震》，也是大学第一次在电影院看电影。挺震撼的。一方面为电影本身，一方面为电影院的效果。\n\n我是一直哭着看完这部电影的，太让我感动了。\n\n第一个哭的镜头不在地震，而在姥姥接走震后唯一的孩子，母亲站在车后看着他们的时候。当孩子最后从车上下来，母亲叫孩子的名字，那一声出来的时候，我实在忍不住泪流满面。\n\n之后的故事一直让我感动着，另一个军人家庭的感人亲情，母亲多年的辛苦守候，还有最后的女儿回归。\n\n不想去探讨剧情是否真实，不想去辩论冯小刚是不是又在拿大家的眼泪赚钱。其实，所有的一切都无所谓，最关键的是，一部电影，能敲到我的心灵深处，与我产生共鸣，让我突然间意识到我身在这个社会，依然是那么有血有肉，冯小刚做到了。\n\n## 盗梦空间\n\n![盗梦空间](\u002Fassets\u002Fbmm\u002F2010\u002Fabout-3-films\u002F02.jpeg)\n\n《盗梦空间》也是在电影院看的，纯属偶然。\n\n感觉似乎和大家一样，很精彩。当然，我也回头看了网上各种版本的剧情分析，甚至还有严谨的数理逻辑分析。\n\n但是之后我一直在想，这部电影要表达的是什么？难道仅仅是一部与智商有关的电影？\n\n\n我一直觉得不是。那天突然看到一句话“只要梦还在继续，它就是真实的”，很值得回味。这部电影是不是也想表达人的认知局限？即只要你还在你的世界中运行，你就无法逃出，当然也就无法判断真伪。或者是不是在表达尊重自然规律和他人尊严？就像试图盗梦的人会受伤，改变别人思想的人会付出代价。或者是像哲学一样，抛出了一个命题：什么是真实？\n\n还没有想明白，但是我觉得它的精彩肯定不止于表面。\n\n## 当幸福来敲门\n\n![当幸福来敲门](\u002Fassets\u002Fbmm\u002F2010\u002Fabout-3-films\u002F03.jpeg)\n\n今天刚刚看完的是《当幸福来敲门》，之前很多人推荐过。\n\n不是在影院看的，而是在笔记本上，中间还夹杂在电脑上做了几件小事。不知道是不是这个原因，反正我觉得没有想象中那么精彩。\n\n诚然，主角生活的确艰难，品质固然可嘉，工作也非常努力。但是，从头到尾也只是讲了一个人怎样获得一份工作，要说残酷，其实也谈不上极致，或许在中国那些住胶囊宿舍的人比这更悲惨。\n\n也许，电影只是反映一种态度吧。主角对生活积极的态度的确值得学习。这种态度不论在哪个方面都会给我们带来非常大的收获。这也是我看这部电影觉得最值得的地方。\n\n## End\n\nOK，瞎扯完毕。晚上参加网易的笔试，祝我好运！\n","movie",[57,58,59],[64,65,66],"冯小刚","克里斯托弗·诺兰","加布里埃莱·穆奇诺",[68,69,70],"https:\u002F\u002Fmovie.douban.com\u002Fsubject\u002F3596502\u002F","https:\u002F\u002Fmovie.douban.com\u002Fsubject\u002F3541415\u002F","https:\u002F\u002Fmovie.douban.com\u002Fsubject\u002F1849031\u002F","https:\u002F\u002Fassets.toobug.net\u002Fassets\u002Fbmm\u002F2010\u002Fabout-3-films\u002F01.jpeg",{"id":73,"type":7,"slug":74,"title":75,"date":76,"category":11,"tags":77,"body_markdown":79,"permalink":15,"excerpt_src":15,"media_type":15,"media_title":15,"media_author":15,"media_url":15,"rating":15,"layout":15,"pv":16,"admin_only":16,"created_at":17,"updated_at":17,"deleted_at":15,"status":18,"cover":19},111,"manual-antivirus-in-3rd-space","第三空间杀毒记","2010-06-16 20:18:47",[78],"杀毒","\n今天在武汉理工大学附近的第三空间玩，里面人超多，看了会电视实在无聊，和同学找电脑CS去了，结果只有一台机，最后还是借了别人一台电脑玩的。\n\n玩了一会就出来上网了。奇怪的是QQ打开的时候很诡异地看到了通常在网页右下角看到的写有中奖的假的QQ消息，再过一会，QQ自动消失了。（博客程序依然没写完，暂不上图，有兴趣的看人人相册。）\n\n于是，马上反应过来机上有QQ木马，打开任务管理器一看，果然一堆不明进程。为了保护我的QQ安全，第一时间通过远程桌面到服务器上开启了QQ登录保护。\n\n有了登录保护，接下来再次登录了QQ，发现原来这个木马还会在右下角出现模仿QQ系统消息来了的图标，用心良苦啊！\n\n本来事情到这里也就差不多了，也不影响我QQ安全了。但是后来觉得无聊了，就在想，如果这是我的电脑，怎么来杀毒。\n\n首先假装这是个弱智的病毒，去下载杀毒软件，结果浏览器标题一出现“杀毒”“360”之类的字眼，窗口就被强制关闭了。然后想怎么去弄个杀毒软件呢。本来可以通过服务器弄，但是不是每个人都有服务器的，于是想不通过服务器看怎么搞。\n\n想了半天，最后居然想到了用记事本直接访问网站，自己当浏览器。（^O^，原来懂HTML还有这种好处！）于是用记事本打开360.cn，找到地址用迅雷下载下来了，安装过程中一直提示“你确实要退出吗”，看来病毒一直在试图关闭标题带有杀毒的程序，可是没有点确定就不会退出，于是就这样安装完了。可是，遗憾的是，不管是杀毒软件还是安全卫士都无法启动。\n\n直觉告诉我，这是典型的映像劫持。于是把杀毒软件和安全卫士改名运行了，开始杀毒。另一方面，通过拆字法，搜索到了IceSword，下载了下来，将不明进程全部杀掉。（GFW给了人拆字的灵感啊！）\n\n最后的结果是，杀了134个病毒，好久没有一下杀这么多了，快感一阵一阵的。^O^\n\n> 其实这是一次不完整的杀毒过程，因为有还原卡保护，所以涉及到重启之后的后续操作没法弄了，刚好时间不够也就罢了。\n",{"id":81,"type":7,"slug":82,"title":83,"date":84,"category":43,"tags":85,"body_markdown":89,"permalink":15,"excerpt_src":15,"media_type":15,"media_title":15,"media_author":15,"media_url":15,"rating":15,"layout":15,"pv":16,"admin_only":16,"created_at":17,"updated_at":17,"deleted_at":15,"status":18,"cover":19},153,"javascript-version-of-24-points-game","JavaScript版24点","2010-05-12 02:02:30",[86,87,88],"游戏","JavaScript","24点","\n前几天去森林公园烧烤，和同学一起玩24点。以前玩过，再次玩起来还是觉得不甘心，尤其是当我们都认为无解的情况。\n\n回来后就想写24点的计算程序，想了一下，似乎除了穷举之外没有其他的方法，上网搜了一下，也都是用的穷兴举法。不过算法不算很高效，其中[http:\u002F\u002Fwww.blogjava.net\u002Fcomic222\u002Farchive\u002F2009-01-06\u002F250101.html](http:\u002F\u002Fwww.blogjava.net\u002Fcomic222\u002Farchive\u002F2009-01-06\u002F250101.html)所述算法取2个数字有6种取法，运算有6种（减法和除法是有顺序的），第二次取数有3种取法，运算有6种，第三次取数有1种取法，运算有6种，所以一共有6\\*6\\*3\\*6\\*1\\*6=3888个表达式，而[http:\u002F\u002Fhi.baidu.com\u002Fgreation\u002Fblog\u002Fitem\u002F1f68fbfa808d10d9b58f3106.html](http:\u002F\u002Fhi.baidu.com\u002Fgreation\u002Fblog\u002Fitem\u002F1f68fbfa808d10d9b58f3106.html)就更夸张了，直接用循环（多少重，我没数……）要判断次数：4\\*3\\*2\\*1\\*4\\*4\\*4\\*11=16896。（不过这个思路挺好的，设定了11个表达式形式，不过经我验证，第一个表达式可以完全归入下面十个。）\n\n分析发现，在穷举过程中存在大量重复表达式，比如1，2，3，4这四个数字，1+2+3+4要运算一次，2+1+3+4又要运算一次，这样1+2+3+4等价的表达式就多达24个！\n\n为了尽量减少重复表达式，我决定将表达式按运算符类型分类，方案如下：\n\n1. 将所有只含有加减法提出来，将第一个数字前面也加上运算符，共有4个运算符，所以共有2^4=16种运算符方案，因为加减法是可以交换可以结合的，所以等价的表达式就不用再验证。又因为24点中不能4个数字前全是减号（负号），即至少有一个正数作为被减数，所以共有16-15个表达式；同理可知，只含有乘除法的表达式有15个（除号放在数前面用“1\u002F”表式，即该数的倒数）。\n2. 若是两端乘除再中间一加减（如2\\*9+1\\*6），用于乘除的两两组合有C(4,2)\u002F2=3种，每个乘除运算有3种（两数相乘，前者除后者，后者除前者），加减有3种（两数相加，前者减后者，后者减前者），共有3\\*3^2\\*3=81个表达式；同理，若是两端加减再中间一乘除，共有81个表达式。\n3. 若是前面两个乘除运算，后面一个加减运算，用于乘除运算的数字组合有4种选择，乘除方案有2^3-1=7种（因为不能全是除，所以减一），加减有3种，共有4\\*7\\*3=84个表达式，同理，若是先两个加减运算，再一个乘除运算，有84个表达式。\n4. 若是先乘除一次，再加减一次，再加减或者乘除一次，则第一步乘除运算取数字有6种取法，乘除方案有3种，第二步取数字有2种取法，加减方案有3种，第三步取数字有1种取法，加减乘除方案有7种（2\\*4-1），共有6\\*3\\*2\\*3\\*1\\*7=756个表达式；同理，先加减再乘除再加减，共有756个表达式。\n\n共计需要判断的表达式有15+15+81+81+84+84+756+756=1872个。\n\n已经用JavaScript实现，未加入对输入是否合法的判断。因为乘法中“负负得正”，所以有时候会出现几乎重复的方案，是否能够进一步优化待尚探讨。凌晨2点写完。以下是具体的程序代码：\n\n\t\u003C!DOCTYPE html PUBLIC \"-\u002F\u002FW3C\u002F\u002FDTD XHTML 1.0 Transitional\u002F\u002FEN\" \"http:\u002F\u002Fwww.w3.org\u002FTR\u002Fxhtml1\u002FDTD\u002Fxhtml1-transitional.dtd\">\n\t\u003Chtml xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\">\n\t\t\u003Chead>\n\t \t\u003Ctitle>JavaScript 24点\u003C\u002Ftitle>\n\t\t\u003C\u002Fhead>\n\t\u003Cbody>\n\t\t数1：\u003Cinput type=\"text\" \u002F>\u003Cbr \u002F>\n\t\t数2：\u003Cinput type=\"text\" \u002F>\u003Cbr \u002F>\n\t\t数3：\u003Cinput type=\"text\" \u002F>\u003Cbr \u002F>\n\t\t数4：\u003Cinput type=\"text\" \u002F>\u003Cbr \u002F>\n\t\t\u003Cinput type=\"submit\" value=\"计算\" onclick=\"startcalc();\" \u002F>\n\t\t\u003Cdiv id=\"result\">\u003C\u002Fdiv>\n\t\u003C\u002Fbody>\n\t\u003Cscript language=\"javascript\">\n\tvar n=new Array(0,0,0,0)\n\tvar o=new Array(\"\",\"\",\"\",\"\",\"\",\"\")\n\tvar count=0;\n\tfunction check(expression)\n\t{\n\t\tcount++;\n\t\tif (Math.abs(eval(expression)-24)\u003C0.0001)\n\t\t{\n\t\t\tdocument.getElementById(\"result\").innerHTML=document.getElementById(\"result\").innerHTML+\"第\"+count+\"次判断，找到有效解：\"+expression+\"\u003Cbr \u002F>\";\n\t\t}\n\t}\n\tfunction startcalc()\n\t{\n\t\tcount=0;\n\t\tfor (var i=0;i\u003C4;i++)\n\t\t{\n\t\t\tn[i]=document.getElementsByTagName(\"input\")[i].value;\n\t\t}\n\t\t\u002F\u002F全加减和全乘除，类似a+b-c+d\n\t\tfor (var i=0;i\u003C2;i++)\n\t\t\tfor (var j=0;j\u003C2;j++)\n\t\t\t\tfor (var k=0;k\u003C2;k++)\n\t\t\t\t\tfor (var l=0;l\u003C2;l++)\n\t\t\t\t\t{\n\t\t\t\t\t\t\u002F\u002F加减\n\t\t\t\t\t\to[0]=[\"\",\"-\"][i];\n\t\t\t\t\t\to[1]=[\"+\",\"-\"][j];\n\t\t\t\t\t\to[2]=[\"+\",\"-\"][k];\n\t\t\t\t\t\to[3]=[\"+\",\"-\"][l];\n\t\t\t\t\t\tif(!(o[0]==\"-\"&&o[1]==\"-\"&&o[2]==\"-\"&&o[3]==\"-\"))\n\t\t\t\t\t\t\tcheck(o[0]+n[0]+o[1]+n[1]+o[2]+n[2]+o[3]+n[3]);\n\t\t\t\t\t\t\u002F\u002F乘除\n\t\t\t\t\t\to[0]=[\"\",\"1\u002F\"][i];\n\t\t\t\t\t\to[1]=[\"*\",\"\u002F\"][j];\n\t\t\t\t\t\to[2]=[\"*\",\"\u002F\"][k];\n\t\t\t\t\t\to[3]=[\"*\",\"\u002F\"][l];\n\t\t\t\t\t\tif(!(o[0]==\"1\u002F\"&&o[1]==\"\u002F\"&&o[2]==\"\u002F\"&&o[3]==\"\u002F\"))\n\t\t\t\t\t\t\tcheck(o[0]+n[0]+o[1]+n[1]+o[2]+n[2]+o[3]+n[3]);\n\t\t\t\t\t}\n\t\t\u002F\u002F两端乘除中间加减或者两端加减中间乘除，如（6-2）*（8-2）\n\t\tfor(var i=1;i\u003C4;i++)\n\t\t{\n\t\t\tvar temparr=new Array(0,0,0,0);\n\t\t\ttemparr=n;\n\t\t\tvar tempnum=temparr[i];\n\t\t\ttemparr[i]=temparr[1];\n\t\t\ttemparr[1]=tempnum;\n\t\t\tfor(var j1=0;j1\u003C2;j1++)\n\t\t\t\tfor(var j2=0;j2\u003C2;j2++)\n\t\t\t\t\tfor(var j3=0;j3\u003C2;j3++)\n\t\t\t\t\t\tfor(var j4=0;j4\u003C2;j4++)\n\t\t\t\t\t\t\tfor(var j5=0;j5\u003C2;j5++)\n\t\t\t\t\t\t\t\tfor(var j6=0;j6\u003C2;j6++)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\u002F\u002F先加减后乘除\n\t\t\t\t\t\t\t\t\to[0]=[\"\",\"1\u002F\"][j1];\n\t\t\t\t\t\t\t\t\to[1]=[\"\",\"-\"][j2];\n\t\t\t\t\t\t\t\t\to[2]=[\"+\",\"-\"][j3];\n\t\t\t\t\t\t\t\t\to[3]=[\"*\",\"\u002F\"][j4];\n\t\t\t\t\t\t\t\t\to[4]=[\"\",\"-\"][j5];\n\t\t\t\t\t\t\t\t\to[5]=[\"+\",\"-\"][j6];\n\t\t\t\t\t\t\t\t\tif(!(o[0]==\"1\u002F\"&&o[3]==\"\u002F\") && !(o[1]==\"-\"&&o[2]==\"-\") && !(o[4]==\"-\"&&o[5]==\"-\"))\n\t\t\t\t\t\t\t\t\t\tcheck(o[0]+\"(\"+o[1]+temparr[0]+o[2]+temparr[1]+\")\"+o[3]+\"(\"+o[4]+temparr[2]+o[5]+temparr[3]+\")\");\n\t\t\t\t\t\t\t\t\t\u002F\u002F先乘除后加减\n\t\t\t\t\t\t\t\t\to[0]=[\"\",\"-\"][j1];\n\t\t\t\t\t\t\t\t\to[1]=[\"\",\"1\u002F\"][j2];\n\t\t\t\t\t\t\t\t\to[2]=[\"*\",\"\u002F\"][j3];\n\t\t\t\t\t\t\t\t\to[3]=[\"+\",\"-\"][j4];\n\t\t\t\t\t\t\t\t\to[4]=[\"\",\"1\u002F\"][j5];\n\t\t\t\t\t\t\t\t\to[5]=[\"*\",\"\u002F\"][j6];\n\t\t\t\t\t\t\t\t\tif(!(o[0]==\"-\"&&o[3]==\"-\") && !(o[1]==\"1\u002F\"&&o[2]==\"\u002F\") && !(o[4]==\"1\u002F\"&&o[5]==\"\u002F\"))\n\t\t\t\t\t\t\t\t\t\tcheck(o[0]+o[1]+temparr[0]+o[2]+temparr[1]+o[3]+o[4]+temparr[2]+o[5]+temparr[3]);\n\t\t\t\t\t\t\t\t}\n\t\t}\n\t\t\u002F\u002F两次乘除一次加减或者两次加减一次乘除，如3*4*3-12\n\t\tfor(var i=0;i\u003C4;i++)\n\t\t{\n\t\t\tvar temparr=new Array(0,0,0,0);\n\t\t\ttemparr=n;\n\t\t\tvar tempnum=temparr[i];\n\t\t\ttemparr[i]=temparr[3];\n\t\t\ttemparr[3]=tempnum;\n\t\t\tfor(var j1=0;j1\u003C2;j1++)\n\t\t\t\tfor(var j2=0;j2\u003C2;j2++)\n\t\t\t\t\tfor(var j3=0;j3\u003C2;j3++)\n\t\t\t\t\t\tfor(var j4=0;j4\u003C2;j4++)\n\t\t\t\t\t\t\tfor(var j5=0;j5\u003C2;j5++)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\u002F\u002F先加减后乘除\n\t\t\t\t\t\t\t\to[0]=[\"\",\"1\u002F\"][j1];\n\t\t\t\t\t\t\t\to[1]=[\"\",\"-\"][j2];\n\t\t\t\t\t\t\t\to[2]=[\"+\",\"-\"][j3];\n\t\t\t\t\t\t\t\to[3]=[\"+\",\"-\"][j4];\n\t\t\t\t\t\t\t\to[4]=[\"*\",\"\u002F\"][j5];\n\t\t\t\t\t\t\t\tif(!(o[1]==\"-\"&&o[2]==\"-\"&&o[3]==\"-\") && !(o[0]==\"1\u002F\"&&o[4]==\"\u002F\"))\n\t\t\t\t\t\t\t\t\tcheck(o[0]+\"(\"+o[1]+temparr[0]+o[2]+temparr[1]+o[3]+temparr[2]+\")\"+o[4]+temparr[3]);\n\t\t\t\t\t\t\t\t\u002F\u002F先乘除后加减\n\t\t\t\t\t\t\t\to[0]=[\"\",\"-\"][j1];\n\t\t\t\t\t\t\t\to[1]=[\"\",\"1\u002F\"][j2];\n\t\t\t\t\t\t\t\to[2]=[\"*\",\"\u002F\"][j3];\n\t\t\t\t\t\t\t\to[3]=[\"*\",\"\u002F\"][j4];\n\t\t\t\t\t\t\t\to[4]=[\"+\",\"-\"][j5];\n\t\t\t\t\t\t\t\tif(!(o[1]==\"1\u002F\"&&o[2]==\"\u002F\"&&o[3]==\"\u002F\") && !(o[0]==\"-\"&&o[4]==\"-\"))\n\t\t\t\t\t\t\t\t\tcheck(o[0]+o[1]+temparr[0]+o[2]+temparr[1]+o[3]+temparr[2]+o[4]+temparr[3]);\n\t\t\t\t\t\t\t}\n\t\t}\n\t\t\u002F\u002Falert(count);\n\t\t\u002F\u002F至此共判断360次，与预期一样\n\t\t\u002F\u002F乘除一次，加减一次，加减乘除一次，或者反过来，如(（3+4）*3)+3\n\t\tfor(var i=0;i\u003C4;i++)\n\t\t\tfor(var j=i+1;j\u003C4;j++)\n\t\t\t{\n\t\t\t\tvar temparr=new Array(0,0,0,0);\n\t\t\t\ttemparr=n;\n\t\t\t\tvar tempnum=temparr[i];\n\t\t\t\ttemparr[i]=temparr[0];\n\t\t\t\ttemparr[0]=tempnum;\n\t\t\t\ttempnum=temparr[j];\n\t\t\t\ttemparr[j]=temparr[1];\n\t\t\t\ttemparr[1]=tempnum;\n\t\t\t\tfor (var k=2;k\u003C4;k++)\n\t\t\t\t{\n\t\t\t\t\ttempnum=temparr[k];\n\t\t\t\t\ttemparr[k]=temparr[2]\n\t\t\t\t\ttemparr[2]=tempnum;\n\t\t\t\t\tfor(var j1=0;j1\u003C2;j1++)\n\t\t\t\t\t\tfor(var j2=0;j2\u003C2;j2++)\n\t\t\t\t\t\t\tfor(var j3=0;j3\u003C2;j3++)\n\t\t\t\t\t\t\t\tfor(var j4=0;j4\u003C2;j4++)\n\t\t\t\t\t\t\t\t\tfor(var j5=0;j5\u003C2;j5++)\n\t\t\t\t\t\t\t\t\t\tfor(var j6=0;j6\u003C4;j6++)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\u002F\u002F先加减后乘除再加减\n\t\t\t\t\t\t\t\t\t\t\to[0]=[\"\",\"-\"][j1];\n\t\t\t\t\t\t\t\t\t\t\to[1]=[\"\",\"1\u002F\"][j2];\n\t\t\t\t\t\t\t\t\t\t\to[2]=[\"\",\"-\"][j3];\n\t\t\t\t\t\t\t\t\t\t\to[3]=[\"+\",\"-\"][j4];\n\t\t\t\t\t\t\t\t\t\t\to[4]=[\"*\",\"\u002F\"][j5];\n\t\t\t\t\t\t\t\t\t\t\to[5]=[\"+\",\"-\",\"*\",\"\u002F\"][j6];\n\t\t\t\t\t\t\t\t\t\t\tif(!(o[2]==\"-\"&&o[3]==\"-\")&&!(o[1]==\"1\u002F\"&&o[4]==\"\u002F\")&&!(o[0]==\"-\"&&o[5]==\"-\"))\n\t\t\t\t\t\t\t\t\t\t\t\tcheck(o[0]+\"(\"+o[1]+\"(\"+o[2]+temparr[0]+o[3]+temparr[1]+\")\"+o[4]+temparr[2]+\")\"+o[5]+temparr[3]);\n\t\t\t\t\t\t\t\t\t\t\t\u002F\u002F先乘除后加减再乘除\n\t\t\t\t\t\t\t\t\t\t\to[0]=[\"\",\"1\u002F\"][j1];\n\t\t\t\t\t\t\t\t\t\t\to[1]=[\"\",\"-\"][j2];\n\t\t\t\t\t\t\t\t\t\t\to[2]=[\"\",\"1\u002F\"][j3];\n\t\t\t\t\t\t\t\t\t\t\to[3]=[\"*\",\"\u002F\"][j4];\n\t\t\t\t\t\t\t\t\t\t\to[4]=[\"+\",\"-\"][j5];\n\t\t\t\t\t\t\t\t\t\t\to[5]=[\"+\",\"-\",\"*\",\"\u002F\"][j6];\n\t\t\t\t\t\t\t\t\t\t\tif(!(o[2]==\"1\u002F\"&&o[3]==\"\u002F\")&&!(o[1]==\"-\"&&o[4]==\"-\")&&!(o[0]==\"1\u002F\"&&o[5]==\"\u002F\"))\n\t\t\t\t\t\t\t\t\t\t\t\tcheck(o[0]+\"(\"+o[1]+\"(\"+o[2]+temparr[0]+o[3]+temparr[1]+\")\"+o[4]+temparr[2]+\")\"+o[5]+temparr[3]);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t}\n\t\tdocument.getElementById(\"result\").innerHTML=document.getElementById(\"result\").innerHTML+\"共计判断表达式\"+count+\"次\";\n\t}\n\t\u003C\u002Fscript>\n\t\u003C\u002Fhtml>\n\n> 演示地址已经放到[https:\u002F\u002Frawcdn.githack.com\u002FTooBug\u002Fworks\u002Fgh-pages\u002F24points\u002Findex.html](https:\u002F\u002Frawcdn.githack.com\u002FTooBug\u002Fworks\u002Fgh-pages\u002F24points\u002Findex.html)。\n",{"id":91,"type":7,"slug":92,"title":93,"date":94,"category":11,"tags":95,"body_markdown":100,"permalink":15,"excerpt_src":15,"media_type":15,"media_title":15,"media_author":15,"media_url":15,"rating":15,"layout":15,"pv":16,"admin_only":16,"created_at":17,"updated_at":17,"deleted_at":15,"status":18,"cover":19},112,"transport-mp3-via-paper","关于用纸笔发送mp3的答案","2010-05-02 09:57:57",[96,97,98,99],"信息","纸笔","数据","传输","\n前一阵突发奇想，我们已经融入了数码生活，但是数码生活能不能用传统的事物作为载体？于是想到用纸笔怎么传递MP3的问题。\n\n原题是这样的：\n\n> 一台电脑，一个50k的mp3文件，一支笔，一打纸，一个信封，一张邮票，没有网络，要把这个mp3文件用这些东西无损发给别人，保持md5不变，怎么做？\n\n很多同学给我的答案是直接记录二进制编码，从原理上来讲不错，但是给你一个MP3文件，你能直接给我它的二进制编码么？（如果能，那么高手您就不用往下看了。）\n\n其实是很容易的，但是大家几乎都不这样做，因为没有必要。用个软件——WINHEX即可，搜一下满世界都可以下载。\n\n我们用WINHEX打开一个MP3文件（其实任何文件都可以），左边可以看到类似“AA FF CD 80”之类的，这便是文件的二进制代码的十六进制表示法，也就是说因为二进制占的屏幕空间太大，就换成16进制表示了，每位16进制代码4位二进制代码，每两位十六进制（8位二进制）表示一个字节，比如A是十进制10，二进制表示为1010，AA表示十进制170，二进制为10101010。于是我们用纸把十六进制抄下来，让对方用WINHEX新建一个文件，把十六进制代码打进去，保存为MP3就可以了。\n\n有兴趣的同学试一下在WINHEX中新建文件，大小为40Bytes，左边输入（不要粘贴）\n\n\t68 74 74 70 73 3A 2F 2F    63 68 75 61 6E 67 71 69\n\t61 6E 67 2E 62 69 7A 2F    77 2E 70 68 70 3F 70 3D\n\t37 35 34 35 37 41 33 41\n\n然后保存为TXT格式。（这是一个翻和谐墙工具的邀请，先看到的先得，拿到了麻烦告诉我一声。）\n\n通过这个示例可以看到这种方法传递文件是可行的。不过我承认我在题目中写的50K对于这样的手工操作确实工作量很大。\n\nWINHEX看到文件的二进制代码还能做很多事情，比如通过头几个字母判断文件类型（如BMP文件开头一定是字符BM对应的十六进制42 4D），比如直接修改文件（如BMP，根据位深，改相应的字节就可以控制某个像素颜色），比如可以比较两个文件异同（如WPS和WORD创建的DOC文件在结构上有很大差异，而WPS创建的WPS和DOC文件结构完全一样）等等。\n\n好了，第一个方法就说到这里，其实我本来是想说第二个方法的。有个小工具叫ANY2BAT，下载地址[http:\u002F\u002Fzzzevazzz.bokee.com\u002F5913260.html](http:\u002F\u002Fzzzevazzz.bokee.com\u002F5913260.html)。\n\n这个工具的用法——直接把任何文件拖到图标上，就会生成一个.bat文件，运行.bat文件又会生成原来的文件，所以叫any2bat。那它有什么用呢？它的作用可以概括为“把任何文件变成可打印字符”。不好理解吧？这么说吧，如果某个论坛上不让你上传附件，但是你要跟人共享一个小的图片，怎么办呢？把它用any2bat处理一下，然后用记事本打开bat文件，复制，粘贴就可以了。\n\n回到题目，把MP3拖上去，再把bat文件的内容抄写下来就OK。\n\n其实关于any2bat，重点也不在讲它有多神奇，而在于它用了BASE64编码，这个编码的原理是把3个相连的字节平分成4份，这样每份是6位，因为2^6=64，所以可以选择64个字符来表示每6位的编码，这样3个字节就变成了4个可打印字符。具体的技术细节参见[http:\u002F\u002Fbaike.baidu.com\u002Fview\u002F469071.htm](http:\u002F\u002Fbaike.baidu.com\u002Fview\u002F469071.htm)。有了这种编码，任何文本和文件的传输都变得可能了（虽然不一定方便）。事实上BASE64在邮件中用得非常广泛，因为现行的SMTP协议出现比较早，没有考虑到中文编码、附件等等，所以有中文、附件的电子邮件基本上都会用BASE64编码后传输。当然，3变4是会增大体积的。这就是我们经常看到邮件附件体积比真实体积大的原因。\n\n突然觉得我在做科普了，呵呵。\n\n最后，关于数码世界与真实世界，大家做的工作基本都是把真实世界的生活带到数码世界中去，然而，有一位很牛的人物在做的工作却是将数码世界带到现实世界中，而且已经做得非常好了，我当时看完的感觉是：不可思议，太神奇了！\n\n视频演示地址[http:\u002F\u002Fwww.ted.com\u002Ftalks\u002Flang\u002Fchi_hans\u002Fpranav_mistry_the_thrilling_potential_of_sixthsense_technology.html](http:\u002F\u002Fwww.ted.com\u002Ftalks\u002Flang\u002Fchi_hans\u002Fpranav_mistry_the_thrilling_potential_of_sixthsense_technology.html)。语言是英语，点一下下面的“SUBTITLES”，选择CHINESE，就可以显示中文字幕。\n\n> 抒寒居网站写博客功能还在DEMO阶段，尚不能发图，所以没有配图……\n",{"id":102,"type":7,"slug":103,"title":104,"date":105,"category":43,"tags":106,"body_markdown":110,"permalink":15,"excerpt_src":15,"media_type":15,"media_title":15,"media_author":15,"media_url":15,"rating":15,"layout":15,"pv":16,"admin_only":16,"created_at":17,"updated_at":17,"deleted_at":15,"status":18,"cover":19},154,"map-for-the-dom-count","（腾讯面试）js遍历页面输出dom数量","2010-04-26 07:55:19",[107,108,109],"javascript","dom","面试","\n昨天去参加了腾讯的面试，面试官现场出了一道题，要求用JS统计页面的DOM数量。\n\n现场写了一下，但是由于对JS原生DOM操作不基了了，具体的结点操作不会写，只好留了个大致思路。\n\n晚上回到宿舍，终于写出来了。\n\n```javascript\nvar domcount=0;\nfunction domsearch(domobj)\n{\nif(domobj.firstChild)\n\t{\n\t\tvar tempdom=domobj.firstChild;\n\t\tdo{\n\t\t\tdomsearch(tempdom);\n\t\t\ttempdom=tempdom.nextSibling;\n\t\t}while(tempdom);\n\t};\n\tif(domobj.nodeType==1)\n\t{\n\t\tdomcount++;\n\t}\n}\ndomsearch(document.getElementsByTagName(&apos;html&apos;)[0]);\nalert(domcount);\n```\n\n这个遍历过程实际上是用的树的孩子兄弟表示法，直接用孩子结点，得到以下代码：\n\n```\nvar domcount=0;\nfunction domsearch(domobj)\n{\n\tif(domobj.hasChildNodes)\n\t\tfor(var i=0;i\u003Cdomobj.childNodes.length;i++)\n\t\t{\n\t\t\tdomsearch(domobj.childNodes[i]);\n\t\t};\n\tif(domobj.nodeType==1)\n\t{\n\t\tdomcount++;\n\t}\n}\ndomsearch(document.getElementsByTagName(&apos;html&apos;)[0]);\nalert(domcount);\n```\n\n感想：基础知识还是要扎实才行，整个面试过程都没有问很虚无飘渺的东西，都是很基础很实在的知识。JS的具体函数可以记不住，但是一定要知道它能做些什么。回来查资料了才知道JS对DOM结点的原生操作是怎样的。另外，DOM编程的电子书在我电脑里好久了，很少去翻，罪过。\n",{"id":112,"type":7,"slug":113,"title":114,"date":115,"category":53,"tags":116,"body_markdown":118,"permalink":15,"excerpt_src":15,"media_type":61,"media_title":117,"media_author":119,"media_url":120,"rating":15,"layout":15,"pv":16,"admin_only":16,"created_at":17,"updated_at":17,"deleted_at":15,"status":18,"cover":121},8,"film-ren-gou-qi-yuan","被《人狗奇缘》感动了","2010-04-24 22:14:39",[55,56,117],"人狗奇缘","\n![电影海报](\u002Fassets\u002Fbmm\u002F2010\u002Ffilm-ren-gou-qi-yuan\u002F01.jpg)\n\n本来是觉得要让自己放松一下，找点事情做，于是想到好久没有看电影了，去迅雷找找，就看到了9.5分的《人狗奇缘》。\n\n故事从一开始节奏就很快，兄妹两个没了父母，妹妹过生日，哥哥偷了一只狗作生日礼物送给妹妹了。狗狗很快长大，兄妹两个与狗狗也是亲如一家，吃饭睡觉都经常一起。每当哥哥下课的时候，妹妹就会带着狗狗去车站接哥哥，然后一起回家。妹妹还会和狗狗玩游戏，教狗狗画画。我想，估计不在这种生活状况下，和一只狗能亲密到如此程度也着实不易。兄妹两个过着简单的日子，虽然艰辛，但也还算快乐。\n\n冬天，兄妹两个去冰上玩，突然哥哥肚子痛要去上厕所，让妹妹在冰上等他。妹妹很乖，狗狗却跑去玩了，然后，狗狗掉水下去了。妹妹去救狗狗，走过去，也掉下去了，哥哥要去救人，却被别人抱住了，眼睁睁看着妹妹消失了。看到妹妹站在冰上，口子从脚下裂开，回头很无助地看着哥哥的那一幕，突然觉得很心疼。我是一直想着狗狗会把妹妹救起来的，但是狗狗从水里爬起来时，妹妹已经没有影了。\n\n哥哥离开了家，去找妈妈了，狗狗也跟着，但是哥哥怪狗狗没有照顾好妹妹，一直不理它。看着狗狗顺着铁路一路跟下去，路上还要到处找食物找水，甚至还给人表演换取一点食物，很心酸。\n\n后来，人和狗相依为命，狗狗为了哥哥，连眼都快瞎了。而在这种状况下还在尽全力保护哥哥，直到连生命的最后灵力也失去。\n\n刚开始看到这部电影的影评，大家几乎都哭了。好些人甚至说从头哭到尾，还有人哭得都看不下去了。我觉得我的感情还不至于到这种程度，于是看了。看到结尾，物是人非的时候，我也哭了，忍不住，稀里哗啦哭了好几分钟。\n\n是的，这部电影情节不离奇、不复杂，但是感情很细腻、很真实。是的，我还要说，它利用了我对生活不幸的认同和对周围人感情的共鸣，但是，能将我的感情如此泛滥地挖掘出来，它就成功了。而我，获得共鸣，收获感动，生活需要这样的刺激，它让我真实地觉得，我还是一个有血有肉的人。\n\n> 有一点关于影片本身的想法，不愿在文中提及。这部电影在拍摄上还是下了功夫了，细节的功能非常到位，前后呼应很有效果。另外，我很好奇，怎么会有这么听话的狗狗拿来拍电影？\n","朴银炯\u002F吴达均","https:\u002F\u002Fmovie.douban.com\u002Fsubject\u002F1970437\u002F","https:\u002F\u002Fassets.toobug.net\u002Fassets\u002Fbmm\u002F2010\u002Ffilm-ren-gou-qi-yuan\u002F01.jpg",{"id":123,"type":7,"slug":124,"title":125,"date":126,"category":11,"tags":127,"body_markdown":129,"permalink":15,"excerpt_src":15,"media_type":15,"media_title":15,"media_author":15,"media_url":15,"rating":15,"layout":15,"pv":16,"admin_only":16,"created_at":17,"updated_at":17,"deleted_at":15,"status":18,"cover":19},60,"memory-of-middle-school-1","初中回忆录（一）","2010-04-24 21:21:13",[13,34,128],"初中","\n一直想对往事做些记录，可每每想起总觉得太矫情，不过就那么回事嘛，时间一晃就过了。可是，每每看到同学们笔下流淌的文字，那些似水年华还是会激起很多的回忆。\n\n故事大约要从2001年说起，那一年我小学毕业。从小在山里长大，但是分明我一点不像山里人：不认识哪个是胡萝卜，不知道莴苣该出现在哪个季节。那是，我满脑子是诸如世界上最小的国家是哪个、厄尔尼诺是什么之类的问题。这得益于我的父亲，是他从小逼我看书、看电视，努力增大我的视野。于是，在家人还在纠结去哪里上初中的时候，老爸袖口一挥：去县城！\n\n县城所在地叫新江口，那时的我自然不会放过那个“新”字，于是问老爸为什么那里叫新江口，他说以前有个地方叫江口，盛产棉花，新江口后来也盛产棉花，因此得名。不过，后来在新江口的六年着实没觉得和棉花有什么大的关系。\n\n开学的那天我和老爸去报道了，然后他回去了。当人坐定的时候我着实吃了一大惊，教室里满满当当全是人。连桌椅板凳都是三个人用两个。果然是实验班，居然有这么多人！肯定也有好多高手，不能太嚣张了。当天就有入学测试，也不知道为什么，那次测试就考了一门数学。无奈我数学极为自信，一下拿了第三名。130人的班很快变成91人，终于可以一人一套桌椅板凳了。我牢牢记住了测验成绩在我上面的两个名字：第一名，郑碧芸；第二名，李一林。\n\n第一周晚上都不上课，倒是五楼的多媒体教室天天放电影。我现在都想不明白那一周为什么会这样安排。那时每天晚上吃了晚饭就坐在操场边上，看天边的晚霞。当我第一次觉得那个时间我应该在家而又回不去的时候，有一股很难受的感觉涌上来，很强烈。\n\n“嘿，我们一个寝室，我叫A。”（实在想不起叫什么了，只好以A代了。）“你好！”我很拘谨地应了，不知道接下来说什么，只是觉得A实在太胖了。后来A成了我们的寝室长。\n\n偶尔，我也会去五楼看看电影，每天都是同样的《国产007》，那是我印象中的第二部电影，第一部是《titanic》。\n\n生活还是回到了正轨，每天上课，周末休息。第一堂语文课是在晚上，老师从前言讲起的。我并不喜欢语文，因为小学语文老师是班主任，总是布置好多好多作业。不过，我仍然是个乖学生，坐得端端正正的，听得认认真真的。老师开始提问了，我知道答案，但是没敢举手。老师没点人，我看看四周，几乎每个人都举手了。于是，我犹豫了一下，也举了。老师又看了一圈，终于说了：“请这位新同学来回答一下。”手就指到我了。我紧张地站起来，但是说得很流利。坐下后我看到了老师满意的表情。于是似乎在那一瞬间，我突然有自信了，觉得我和大家其实是在同一起跑线的，甚至，比他们更优秀。于是，从那一刻起我就记下了老师的名字：张丹容。\n\n数学课是班主任教的，我并不喜欢，但由于小学数学功底深厚，数学也学得颇有兴致，第一次听说0也是自然数时感到无比新奇。我现在还记得，有一次爸妈问起课程时，我说没有数学，在他们惊讶的表情还没来得及消失时再一脸得意地告诉他们：我学的是代数和几何！英语就更不在话下了，教材是六年级上过的，有个年轻的女老师叫赵晶，大家都喜欢，所以英语轻松得很。初一一年听力基本满分。\n",{"id":131,"type":7,"slug":132,"title":133,"date":134,"category":11,"tags":135,"body_markdown":137,"permalink":15,"excerpt_src":15,"media_type":15,"media_title":15,"media_author":15,"media_url":15,"rating":15,"layout":15,"pv":16,"admin_only":16,"created_at":17,"updated_at":17,"deleted_at":15,"status":18,"cover":19},64,"some-life-moments","生活即景","2010-04-21 14:40:23",[136,13],"生活","\n从教二出来，塞着耳机，悠闲地踱着。\n\n碰到朱见仁问老师的事情。偶遇，轻声问候，挺好。\n\n听着歌，想闭上眼，想深呼吸，看着操场三三两两的人群，仿佛我已超脱世外了，嗯，就这样看着他们，赏心悦目。\n\n看到小黑放肆地笑，和同学一起，许久不见，瘦了不少。\n\n看到冬冬和男友嘻笑打闹，澄澈透明。\n\n看到张丹丹，点头示意，眼神招呼。\n\n看到徐钫一鸣在二楼等人，见到我一脸惊恐，忍不住笑了。\n\n如此，生活……\n\n> 写于2010年3月31日\n\n> 自从把博客迁到新网站后，一直没有写，因为没有开发这个功能。今天终于把写博客的雏形做出来了，还做了RSS输出。小试一篇。\n",190]