介绍自己
大家好,我是怡红公子,这个是我常用的中文昵称,英文昵称的话一般就是我的名字拼音 lizheming。我的博客地址是 http://zh.eming.li,叫怡红院落,和昵称一样都是来自《红楼梦》。之前是学地质的,毕业于中国地质大学(北京),目前是 360 的前端工程师。喜欢倒腾一些新鲜事物,经常逛的几个网站是 SegmentFault, Github 和 v2ex。PHP 是世界上最好的语言,JavaScript 是宇宙最好的语言。
入坑史
以前高中的时候就挺喜欢倒腾电脑的,不过当时根本就没有网页程序的概念,就知道 .exe
的才是程序。高考完了之后突然就迷上了倒腾 QQ 空间,这个大家都懂得,每个人都年轻过非主流过嘛!后来不满于 QQ 空间的各种收费,就跑到百度知道(对,没错,就是百度知道 :)当年我也曾活跃在百度知道的计算机分类的)上问有没有同类的免费服务,结果有人给我说了一个 ASP 的博客程序。现在想起来真的不得不感谢他,是他的那个回答开启了我的新世界大门,让我知道了还有网页程序这么个东西。
后来的一段时间就一直在倒腾那个博客程序,当时在本地用 IIS 搭建的,那会儿免费的 ASP 空间也非常盛行,反正就是各种倒腾,乐此不疲。再之后为了给那个博客程序找一个漂亮的相册插件,有人给我推荐了一款 Flash+PHP 做的相册程序,但是没有与我博客对应的插件(没错,当时我还不知道可以部署多个程序的),遂对这款博客程序有点厌倦了。之后好多人就转 WordPress 去了,有好多漂亮的相册插件(没错我还在纠结相册插件:))我就立马切过去了。
切过去的日子还蛮快乐的,当时好像还是 WordPress 2.x 吧,通过博客认识了很多博友,大家经常互相逛来逛去。我喜欢基于现有的东西做一些微改动让其更符合自己的心意,所以经常会问其它人一些东西怎么改。其中就有一个博友在被我“烦”的不行之后教我怎么用 Firebug 改样式,当时 Chrome 还没有出世还没审查工具的事呢。好家伙,这一下子又开启了我的新世界大门,后来就各种改样式汉化主题做主题。
再过了一段时间饭否,微博开始火了起来,搞了独立博客之后就什么都喜欢独立... 于是就用了很久的 PageCookery。又是无止境的倒腾,这回的程序写的比较简单没有 WordPress 那么复杂,所以我通过阅读源码学习了很多 PHP 的东西。当时各种微博百花齐放,就出现了各种同步服务,我也痴迷于其中,基于各大微博的 SDK 倒腾同步服务。人的需求是无穷的,这时候我就发现有很多效果仅凭 PHP 和 CSS 是没办法做到的,就有大神推荐我去学 JavaScript 吧(没错,我玩了这么久居然才知道 JavaScript...)。
在大神的推荐下,我小打小闹的开始了 jQuery 之路。整个前半部分,我都还是菜逼一个,还处于啥都不知道的状态。可以算是我的本科的一个概括,之后就跑到帝都上研究生了。
WordPress 3.x 越来越臃肿,我就转到 Typecho 上来了,通过论坛知道了70他们正在做程序员问答网站 SegmentFault,也偶尔跑来看看。现在我偶尔还会翻阅自己以前的问题,经常就想:“当时自己怎么会问这么傻逼的问题呢?”。也是在其他人的推荐下我知道了 http://codewars.com 这么一个网站,在上面刷题的过程中我知道了很多原生 JS 屌炸天的花式写法,逐渐就开始脱离 jQuery。那个时候 SF 的人还少,还是有很多常驻大牛的。通过看他们的回答,以及自己偶尔也会回答一些问题的过程中,感觉知道的东西不知不觉就多了起来,也越来越享受这种“整理自己知道的内容分享给大家,搜索了解自己不知道的内容然后整理出来分享给大家”的过程。
研究生阶段的这些日子还是蛮痛苦的。一方面对专业实在是不太感兴趣,实在是没法继续钻研下去,一方面又是沉迷在编程的世界里对毕业以及自己的未来感到惶恐。与这种惶恐对应的就是别人在做实验,我在写代码,别人在看文献,我在写代码,别人在写文章,我还在写代码。好像写码已经成为了我的“毒品”,沉沦其中而不用管其他忧愁。
好在老师同门都非常好,在我的惶恐中总算是安全毕业了。工作在自己第一次面试地质单位之后毅然决然的选择了换行之后,在朋友的帮助下顺利找到。——“牛奶会有的,咖啡也会有的。”
如何解决编程问题
其实我的很多习惯都是在 SegmentFault 上养成的。早的时候我看大牛的回答就是“引经据典”的,都会附上各种文档链接,后来我就慢慢的养成了看文档的习惯。使用 Google 的习惯也是在 SegmentFault 上养成的,主要是源于我经常搜索编程问题,两者给的结果实在是相差太大了。
俗话说的好文档不能解决的问题,sof 也一定能解决。所以碰上问题我一般会先看程序文档,然后再 Google 搜索,搜索的话我会尽量使用英文关键词,这样会有很大的概率搜到 sof 上。这样都不能解决的问题估计我看源码也解决不了了,我的 QQ 有一个我的军师分类,此时就要开始各种问题轰炸了...当然也有军师解决不了的问题,那就上 SegmentFault 上提咯!不过
(话说,感觉我的解决问题的秘诀就是推广 SegmentFault 啊....
喜欢的软硬件
作为忠诚的果粉我觉得好像没有谈这个话题的必要,软件的话说实在的也没有特别偏爱的。虽然当年的梦想是做出一款本地程序,不过现在似乎用命令行用的比较多...
自用黑科技
没有太多的黑科技的东西,扒过虾米的音乐链接,爬过豆瓣电影的数据,为了满足网络分享路由登录功能做过一个学校的网页版校园网登录器,毕业后也扔有高达 2k+ 的用户量,不过好像最近校园网升级了这东西也变的没用啦。
推荐书籍
老实说我个人并不爱看书,属于一看书就想睡觉的那种。所以学习东西特别慢,经常是网络上的知识东拼西凑才能完整的了解一些知识。
好的习惯
会写程序之后,就变的越来越懒,什么东西都会想用写程序代替。另外就是有些时候写代码也会出现重复的代码,如何优雅的将重复的代码抽象出来减少代码量也是很好玩的事情。
印象中比较深的一件事情就是我的一个朋友喜欢去 coursera 上在线课程。有一会他给我一个课程视频的页面,上面有视频对应字幕的文字版。因为他想把视频下载下来,就想问我能不能帮他把这个字幕弄下来。我当时啥也没说就开始写一个 Chrome 的脚本程序自动抓取页面的内容并生成字幕文件。过了一会儿他跑过来问我“怎么还没弄下来么?”然后我说我在写一个通用程序,他立马就感动哭叻。后来这个小程序被他推广到果壳Mooc 上还获得了首页推荐,虽然代码不复杂但是也满也成就感的。
放弃专业后悔过吗
说实话并不后悔,以前想找个讨论程序的人都很少,现在有一群小伙伴可以交流,真的挺开心的。当然以前的生活让我认识了很多朋友,我也并不会后悔当初的决定。总之就是那句话,“我高兴就好:)”。
本文参与了 SegmentFault「我的编程之路」计划,欢迎正在阅读的你也加入,一起分享。