2014年底回顾

蓦然间发现  原来今天已经到了2014年的倒数第二天
回顾这一年  我只能说自己不曾后悔

唯一的感觉是累  然后就是自己的付出与收获有点不成正比
作为一名运维人员  我觉得我是成功的  但又是失败的

怎么说呢   年初住在安贞 离上班的地点不是很远  这段时间刚好还有着工资的缓慢增长 所以每月都有点小激动  算是每月的神秘大礼吧
而且当时自己接手的事情也比较多  终端到交易平台 再到商户信息平台  每一次测试实际上都是对代码掌控能力的一次巩固   这样的日子 忙却安定……

不记得从哪个月开始  公司那边蔓延一种离职之风   一个个老员工慢慢的退出了福尔这个平台
当时  也没有想太多  毕竟是自己的第一份工作  就算是工资少点   自己看得都不是那么重
记得第一个走的好像是终端的届哥  然后就到了本组的财哥  信息的说姐   具体的顺序不是太记得了  只是感觉中层骨干人员在慢慢流失
当时对此看的也不是太重  毕竟雏鹰总得要经历风雨才能翱翔蓝天  中层的退出不外乎是我们新人的一次历练
虽然过程或许曲折  但前景应该是一片光明……

不得不承认期间自己犯了很多错
拖了很多后腿  时间进度控制的往往差强人意
但终归也算是体验到了成功的喜悦
也算是在一步步的成长吧

到了年中  发现自己已经毕业工作一年了
在几个好友的聚会上   总免不了会谈及到工作生活中的一些琐事
结果发现 虽然自己的生活忙碌而充实  但总少了些许东西
细想了下  应该是工作的激情~~~
想当年工作的时候都是载着满满的热情  但是那段时间  所有的一切感觉总是忙碌而没有新知识的收获
便想着挤点时间去充充电  考个软考证……
虽然明白  就算是拿到证了  或许对自己而言魅族实际上的好处  但至少总可以证明自己的青春没有白费

接下来就开始学霸的日子  周末跑去国图  徜徉在书香之中
好吧  得要承认   去那边不仅仅是纯粹的为了考试   也想着体验纸质书的那种触动以及学习的氛围
这种  或许也可以算是对考研生活中被动学习的一种弥补吧
毕竟  得不到的永远在骚动……

结果 很神奇的  这次软考竟然通过了
有点有激动  但更多的只是一种  只要有付出 总归会有收获的人生态度的认可
只是接下来的搬家让我有点淡淡的忧伤
住的远了  自己需要负担的房租还涨幅了
刚好当时奶头也刚好跟我“分道扬镳”  分住在帝都的南北
不过  兴庆的是龙宝过来了  有了大厨  自己的饮食质量总归是有指数级的增长
不过  问题也就来了   要知道吃货总归是抵挡不了美食的诱惑的
三个月增长近15斤就是一个非常明显的佐证

到下半年了  在帝都也参与了一次大学同学的游玩 —— 世界公园一日游
期间不可避免的涉及到了薪资浮动的相关事宜
想想公司从7月提出薪酬变更计划  到现在都还是“静若处子”   一下子感觉自己的工作生涯貌似缺少了点什么动力
不得不承认   运维的工资要比开发的要少  但是自己从不认为自己的能力就要比其他孩子低   只是整个行情是这样  自己也无力吐槽一点……
好吧  准切来说  也正是由于那一次的聚会  心里总感觉有些许躁动
但是  生活又总那么忙碌  基本上找不到任何空闲的时间来充实自己的技术
没办法  只能充分利用公交上的1个小时了

努力说服自己买了个手机 将自己的盛大换成了现在的荣耀
其实  最主要是准备换个双卡的手机  不要让自己接电话的时候  总在背包里面翻半天  而且也充分利用起湖南号的那100条免费短信 

然而 坏事年年有  今年特别多
在龙宝准备回广西的那几天  合租房说要拆隔断  而且还说房子已经被房东没卖出去了
没办法  自己也没有太多的精力去跟他们据理力争   只能默默的接受生活的无奈
更要命的当时  王小兵也回深圳办理离职  也就是说自己得要开始一个人接手两个人的工作了
曾记否 每天晚上拖着疲惫不堪的身躯  穿梭在天通苑周边的各个小区  回家之后看到其他租客都已经退房  只留下垃圾一片
当时真是有一种直接放弃的冲动
干脆直接回深圳办理离职!!!
终归强行制止了自己的冲动 理性的继续穿梭于房子周边  要命的是不知哪个挨千刀的将路由给顺走  搞得连续几天都木有网络~~   只能拿着手机在赶集 58上搜索合租房的信息
现在想想  也挺兴庆 当时公司那边没做监管  还是可以上外网  手机也还有足够的流量来进行搜查  不然当时估计还会是各种凌乱……
在此  还是得要非常感谢圈的收留  让我在最后的几个月里还没沦落到睡马路的境地
同时也感谢梁哥当天直接非常给力的房屋搬迁  
至少  年底的这一两个月还是相当顺利……

之后  在月底又开始筹备自己工作的转型
在拉勾 内推等网络上投递了无数次简历  每天晚上明明已经很晚了  却还在修改简历
只能说否极泰来吧 竟然第一次面试就让我直接拿到offer了
这也算是我一年来工作的认可吧~~
只是之后百度游戏及UC的电话面试 让我对电话面试累觉不爱
其实  也不是自己能力不够  而是电话面试 自己总不能在第一时间明白对方的需求  让自己有些丧失优势
毕竟  运维虽然说很多需要进行尝试与学习的  但说白了 很多时候只要建立起一套自己的理念   其他的应当都不是事

好了  感觉自己洋洋洒洒的做了年度流水账   夜深了  只能休息了 
争取年底前把总结的后半部分给写完……

UC面试

运气比较衰  今天参加UC的电话面试  前面聊的还算OK

虽然说也出现了些差错 但是多多少少不像上次百度游戏的面试一样纯粹出现了鸡同鸭讲的情况

但是  也有一件很忧桑的事情   刚刚跟他讲nginx 准备和他谈及自己站点及部署过程中的一些情况

结果人家直接华丽丽的来了一句  现在站点502!!

 

好吧 当时就震惊了

其实 也没有什么好震惊的  毕竟早上的时候 稍微瞄了一眼 站点是打开有些缓慢

但是至少也没有出现502这样直接打不开的错误……

 

哎  但是又没有办法,虽然知道是已经出现了这个问题 但是今天活本来就比较多

根本就抽不出时间来处理这个  只能想想看晚上有没有时间来处理了

 

只能承认  一旦忙起来 很多事情都忘了

下完班  跟新同事讲解了下平台运行原理及账务处理流程

结果却忘了修复站点的问题……

 

好吧  只能等圈回来  占用他电脑来处理一下站点情况了

 

首先查看一下双机使用情况,结果发现应用程序运行正常

查看了一下主机日志,结果发现他在前一刻还有访问记录
[codesyntax lang=”text”]

148.251.124.173 - - [24/Dec/2014:21:11:30 +0800] "GET /robots.txt HTTP/1.0" 200 654 "-" "Mozilla/5.0 (compatible; MJ12bot/v1.4.5; http://www.majestic12.co.uk/bot.php?+)" "-"
148.251.124.173 - - [24/Dec/2014:21:11:46 +0800] "GET /?author=11 HTTP/1.0" 301 0 "-" "Mozilla/5.0 (compatible; MJ12bot/v1.4.5; http://www.majestic12.co.uk/bot.php?+)" "-"
111.202.0.63 - - [24/Dec/2014:21:26:42 +0800] "GET / HTTP/1.1" 200 48591 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36" "-"

[/codesyntax]
好吧 那主机肯定是没有问题的

那也就是说明今天面试的时候估计蛋疼的是那边刚好访问到备机了

而且 最要命的是当初做双机负载的时候采用的

针对一个ip访问 只能访问其中的一台服务器

哎  运气真心忧桑……

 

好吧  赶紧上备机上查看一下err文件
[codesyntax lang=”text”]

2014/12/25 05:20:11 [error] 26729#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 123.125.71.125, server: favorinfo.com, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "favorinfo.com", referrer: "http://favorinfo.com/"
2014/12/25 05:20:24 [error] 26729#0: *3 connect() failed (111: Connection refused) while connecting to upstream, client: 111.202.0.63, server: iprayz.com, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.iprayz.com"
2014/12/25 05:20:24 [error] 26729#0: *3 connect() failed (111: Connection refused) while connecting to upstream, client: 111.202.0.63, server: iprayz.com, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.iprayz.com"

[/codesyntax]
好吧  问题很明显 CGI接口出现故障 不能讲数据传入进行处理

赶紧用netstat查看了一下9000端口的情况  果不其然  端口还真是没有启动

然后果断查看一下是否是当时转发出问题了

netstat | grep 9000
ps ef | grep php-fpm

好吧 果不其然 真是转接出问题了

解决起来比较容易了 直接启动对应server 就OK了

service php-fpm start

​Over了  站点至此可以正常访问了……

 

常用CI工具汇总

为了实施CI,必须使用工作的支持,以使整个过程的自动化进行,以下把该过程涉及的各种工具汇集一下

必须的工具和功能

源代码控制系统

微软的工具: Microsoft Team Foundation Server (TFS) 或VSS

开源工具:

服务端:

Subversion:http://subversion.apache.org/

AnkhSVN (http://ankhsvn.open.collab.net/)

Visual SVN Server: http://www.visualsvn.com/server/download

客户端:

VisualSVN (www.visualsvn.com/visualsvn/) 和VS集成,需要付费

TortoiseSVN (http://tortoisesvn.tigris. org ) 很流程的Shell工具

现在很流行的分布式代码管理:

GIt,一个很好的中文参考资料: http://wenku.baidu.com/view/78898a1fa76e58fafab00377.html

持续集成服务器

反馈机制

团队成员需要知道构建的状态,如邮件、门户信息、SMS等

构建管理 BUILD MANAGER

NAnt

MSBuild

或sln等各种构建脚本等

单元测试框架UNIT TEST FRAMEWORK

NUnit  MbUnit and  xUnit.net

MSTest

各种的测试框架集成

其他工具

代码分析

构建的过程对于代码规范等各方面进行自动分析也很重要,这样可以持续保持代码的质量

FxCop代码静态分析工具  http://code.msdn.microsoft.com/codeanalysis

StyleCop 代码风格检查工具http://code.msdn.microsoft.com/sourceanalysis

http://stylecop.codeplex.com/

NDepend静态分析 www.ndepend.com 商业/开源

覆盖率工具

NCover:商业软件

PartCover :http://sourceforge.net/projects/partcover/)

VS2010自带的覆盖率测试工具

TeamCity 的代码重复分析工具

http://www.jetbrains.com/teamcity/download/download_thanks.jsp

http://www.harukizaemon.com/simian/

测试工具

工具 目的
NUnit

MSTest

Performing integration tests
Mocking framework Simulating the behavior of some objects while unit testing others

mocking framework that comes with NUnit. Many other good mock

ing frameworks are available, such as Rhino Mocks, Moq, and Typemock Isolator.

White Testing Windows Forms and Silverlight applications
Selenium Testing web applications

seleniumhq.org

FitNesse Performing acceptance testing in a highly sophisticated manner

fitnesse.org/

文档生成

GhostDoc是VS的一个扩展,可以自动编写XML的注释,可一定程度的提高编写效率,安装后根据提示设置,默认在方法上按Shift-Ctrl-D即可以看到自动的注释(http://submain.com/GhostDoc/)

Sandcastle工具:

Sandcastle Help File Builder (SHFB)

www.codeplex.com/Sandcastle

SHFB at http:// shfb.codeplex.com/

安装以上两个,把生成的XML文件和库加入建立工程即可生成文档

安装

WIX开源工具:

http://wixtoolset.org/

http://wix.sourceforge.net/

Visual Stuido的工具:

ClickOnce

Visual Studio Installer

Web Deploy

数据库CI

开源工具 :

http://code.google.com/p/roundhouse/

Visual Studio:

Visual Studio 的Database项目功能很强, 可进行存储过程的单元测试

 

非墙访问谷歌应用

在Google新版的Chrome浏览器中,支持QUIC协议,在 Chrome 浏览器中打开“实验性功能”页面(chrome://flags/),启用“实验性 QUIC 协议”和“经由实验性 QUIC 协议发出的 HTTPS 请求”,重启浏览器后可以正常登陆 Google 相关服务(被DNS污染的除外)。对于被DNS污染的Google服务,还需要设置Hosts的IP,然后通过HTTPS才能访问。

QUIC协议的原理介绍:

TCP、UDP都是计算机网络通信层的主要协议。TCP是面向连接的,更强调的是传输的可靠性,UDP是面向无连接的,也即在通信双方进行数据交换之前,无需建立连接,只要知道对方地址即可发送数据,由于UDP协议是无连接方式的协议,所以它的效率高,速度快,占资源少。

为了集合两者的优点,谷歌公司研制了一种UDP通信的改进版——Quick UDP Internet Connections(QUIC),快速UDP互联网连接。

访问Google的神器:Chrome的QUIC协议

QUIC的主要特点包括,具有SPDY(SPDY是谷歌研制的提升HTTP速度的协议,是HTTP/2.0的基础)所有的优点;0-RTT连接;减少丢包;前向纠错,减少重传时延;自适应拥塞控制, 减少重新连接;相当于TLS加密。

总之,QUIC系统能够降低网络通信的延迟,提供更好的用户互动体验,尽管随着互联网的发展,网络带宽会持续增加,QUIC等新型通信协议具有越来越重要的意义。

大黑苹果不能卸载预装应用

据新快报报道,因认为苹果iPhone手机存在无法卸载预装软件、窃取用户私密信息问题,深圳市民姚女士将苹果公司告上了法庭。昨日该案在福田法院一审公开开庭审理,双方就苹果手机是否泄密展开了激烈的辩论。记者了解到,姚女士起初提起诉讼,是因为iPhone手机中对自己造成困扰又无法卸载的预装软件,包括指南针、语音备忘录、GAME CENTER、地图、股市、邮件、SAFARI、PASSBOOK等。

原告:要求公开是否窃取用户信息

在昨日的庭审现场,记者了解到,姚女士起初提起诉讼,是因为iPhone手机中对自己造成困扰又无法卸载的预装软件,包括指南针、语音备忘录、GAME CENTER、地图、股市、邮件、SAFARI、PASSBOOK等。

姚女士表示,苹果手机制造商让用户一拿到手机就被预装了若干软件且这些软件是包括自己在内的所有用户无法自由卸载的。她怀疑这些软件是否具有特别功能,如监控、窃取用户私密信息,产生额外手机流量及费用等。

为此,姚女士将苹果公司在中国大陆地区的总经销商——苹果电子产品商贸(北京)有限公司(下称苹果北京公司)和深圳的两家零售商一并告上了法庭并提出6项诉求。当中包括判令苹果北京公司公开自己购买的苹果手机iPhone5中的预装软件是否存在监控及窃取用户私密信息的功能;公开苹果手机iPhone5设置唯一的软件下载途径是否存在监控及窃取用户私密信息的功能;公开用户不能自由卸载预装软件的理由及是否会产生流量和费用的相关情况;须为用户能自由卸载预装软件而重新设计手机系统功能;就用户不能自由卸载预装软件产生的不便,在全国性媒体上公开赔礼道歉;以及要求法院判令零售商承担连带责任。

用户起诉苹果公司无法卸载预装软件

被告:预装软件为提升用户体验

苹果北京公司的代理人首先指出,苹果北京公司不应当成为本案的被告,原告的手机并非在苹果直营店或是授权零售商处购买,而且为港版手机,苹果北京公司并不是涉案手机的销售商、生产商,更不是售后服务提供商,因此针对苹果北京公司提起的诉讼请求,法院应当予以驳回。

针对预装软件和只能从App Store下载应用程序的问题,其指出,据苹果北京公司了解,苹果手机预装若干软件以及苹果手机的应用程序只能从App Store下载的设计,是为了提升用户体验,而非原告所称的具有特殊功能。苹果手机所预装的软件,是作为智能手机用户所普遍使用的一些最常用、最基本的软件,为了便于用户的使用,苹果手机出厂时才预装了这些软件。为了防止用户误删相关软件,才设置了预装软件不能删除的设定。

Google不再强制注册Google Plus

据美国科技新闻网站瘾科技等媒体报道,日前行业人士发现,用户在注册Gmail帐户时,谷歌不再要求用户强制建立Google+个人资料,用户可以选择拒绝。

美国科技媒体指出,Google+在谷歌内部的失宠,十分明显,谷歌正在取消Google+和其他产品的关联。就在上个月,在网页搜索结果中,谷歌已经不再显示来自Google+的网页作者信息。

今年四月份,Google+项目的创始人VicGundotra从谷歌离职,随后就传出Google+在谷歌内部的战略地位全面下降的消息,Google+不再是核心产品,甚至有猜测称,Google+未来将会被关闭。?

不过,Google+尚未被“一棒子打死”。目前,网民如果希望在使用其他谷歌产品时获得社交分享功能,仍然必须注册Google+帐号。

媒体指出,逐渐取消Google+和谷歌其他的整合,对于谷歌来说是一个修正以往错误的明智之举。此前,谷歌强制整合了Google+和YouTube的用户评论功能,引发YouTube用户强烈反对。

此外,为了推广Google+,谷歌还强制关闭了拥有大量用户的RSS订阅工具Reader,Reader成为推广Google+的“炮灰”。

业内一般认为,佩奇一手推动Google+项目,目的是挑战Facebook在社交网络的主导地位。但是从过去几年的发展来看,Google+基本陷入失败,和Facebook的差距越来越大,Google+甚至被扣上了“社交鬼城”的帽子。

分析人士指出,佩奇的社交网络战略已经成为谷歌的一个重大失误。在盲目追赶Facebook的同时,谷歌又错失了移动社交的发展良机,在移动互联网背景下,WhatsApp、Snapchat、Instagram等移动社交工具深受手机用户的欢迎,而谷歌的移动聊天工具,虽然启动时间很早(甚至推出多个相互“打架”的同门产品),但现在基本上被网民遗忘。

北京动物园 — 风景篇

来帝都已经一年多了 一直都说要去北京动物园溜达溜达 但是一直都没有实施
趁着这次周末 硬是拉了两个孩子一起狠狠逛了一下

关键的问题是 这两个孩子就是战斗力为0的渣渣
刚进园走了还不到1/3呢 就各种说要回家休息
好吧 没办法 只能到处晃悠晃悠着了~~

其实 动物园里面并不是只有动物的 有些东西
慢慢走着 便也发现了无尽的美感……
鉴于 手机像素只有这样 只能把看到的风景与大家一起分享一下了

如对图片质量要求较高者 敬请移驾: 百度盘


动物园地图


08年欢庆奥运时的小孩涂鸦


突然间发现熊猫的日子过得比我们爽多了~~


至少这环境就不是我们可以比拟的~~


这个是当时的野外探索营  简单却很朴实

游园过程中公园一角 蓦然间感觉风景不错


当初是看到了动物 但是回家之后硬是没看到 只能放到风景篇了……


传说中的狮虎山  感觉最震撼的一幕了


哈哈  就小郭一个人很是无奈的没有捧手机拍照了……


小兵子当初很专注的在拍之前的霸气老虎像呢~~


为何现在的小卖部都装潢的这么“fashion”了呢 都不敢直视了~~


传说中的树化石~~  不过感觉是用石灰贴合的……


芦苇丛 一下子让我想到了抗战时的《洪湖之战》~~  哈哈


这水特别清澈  让我忍不住拍了下来……


哈哈  再清澈的水  也可澎湃的一天……


蓦然间发现一朵开的很灿烂的话  就是不知道叫啥~~


这个是游北极熊的展馆里面的  主要是感觉这水蓝的让人有点犹豫~~


老虎华丽丽的进洞了  留下一地的空虚~~


猎豹还是灰常矫健啦 只能隐约看到一点豹子的轮廓~~


不记得是哪里的水  这颜色有一点深沉  哈哈~~


本来是想拍河马的生活环境的  结果直接展示了我们三个货的中部崛起 哈哈~~


犀牛的住处  虽然画面有点假 但是 额 没但是了~~


几只小鸟住处  颜色不错 只是拍不出当时的画面~~


模拟生态环境  主要感觉那瀑布有点带喜感~~


预计以后自己房子周围也这样部署  很带惬意……


下面的几只傻鸟 一点都不怕生  可能是游客太多了吧~~

好了  暂时就写到这里
明天有时间把动物的图给贴出来了  敬请期待哦~~

北京世界公园

蓦然间发现来帝都已经有一年多了 在这一年里 虽然也经常和几个同学到处去晃悠
却是发现 自己手头上没有一点相关的影像资料

这不,趁着老姚的提议,联系上川泽与保姐,果断在中秋前一天跑到北京世界公园去哈皮了一天
虽然 走了整整一天 已经身心疲惫 但是心中还是各种愉悦~~

好了 实在是没有精力去长篇大论及进行贴图处理了 直接一个华丽丽的上传吧
PS“如上传顺序与时间先后顺序有误 也只能等到后期在进行处理啦~~

如有对照片质量要求较高者,敬请移驾:百度盘

北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园
北京世界公园

编程武器

对程序员来说,编程语言就是武器,但有的武器好用,有的武器不好用,有的武器甚至会杀了自己

m1.png

  C语言是M1式加兰德步枪,很老但可靠。 

numchucks.png

  C++是双截棍,挥舞起来很强悍,很吸引人,但需要你多年的磨练来掌握,很多人希望改用别的武器。

molotov.png

  Perl语言是燃烧弹,曾经在战场上很有用,但现在很少人使用它。

240G.png

  Java是M240通用弹夹式自动机枪,有时它的弹夹是圆的,但有时候不是,如果不是,当你开火时,会遇到NullPointerException问题,枪就会爆炸,你被炸死。

manual.png

  Scala是M240通用机枪的变种,但它的使用手册是用一种看不懂的方言写的,很多人怀疑那只是一些梦话。

sword.png

  JavaScript是一把宝剑,但没有剑柄。

starterpistol.png

  Go语言是一种自制的“if err != nil”发令枪,每一次发射后,你都必须要检查它是否真的发射了。

3dprintedgun.png

  Rust语言是一种3D打印出的枪。将来也许真的能派上用场。

hammer.png

  bash是一个十分碍手的锤子,你抡起它时会发现所有东西看起来都像钉子,尤其是你的指头。

doublebarrel.png

  Python是一种“v2/v3”双管枪,每次只能用一个管子发射,你永远不知道该用哪个管子发射好。

rubysword.png

  Ruby是一把外嵌红宝石的宝刀,人们使用它通常是因为看起来很炫。

hose.png

  PHP是水管子,你通常会把它的一段接到汽车的排气管,另一端插进车窗里,然后你坐进车里,开动引擎。

spaceweapon.png

  Mathematica是一种地球低轨道粒子大炮,它也许能够干出很神奇的事情,但只有付得起费用的人才能使用它。

donkeylaser.png

  C#是一种强悍的激光大炮,架子一头驴子上,如果从驴子上卸下来,它好像就发不出激光。

ai.png

  Prolog语言是一种人工智能武器,你告诉它要做什么,它会照做不误,但之后,它会弄几个终结者出来,烧掉你的房子。

shiv.png

  Lisp语言是一把剃须刀,有很多款式。只有寻求刺激和危险的人才会使用它。

  via:techug