回顾2013

因为自己的执意选择,2013经历了许多“人生第一次”:第一次辞职,第一次更多地体会动态语言python,第一次进入在创业公司的经历,第一次用git到项目,第一次尝试自动部署,第一次更多地了解vps,第一次的nginx,第一次的shell,太爽了能学习更多地vim,太爽了自己能感觉到自己思维活跃,更自由地感受自己学习、进步,还有一直伴随的孤独,2013年第一次遇到的无奈(或许能发展成 隐忍)。

乱糟糟的开头,需要整理的2013年。

知识:

1. python

更多的python理解,一直不停看着`python核心编程`。因为学习python发现、遇到了许多美好的特性,比如 函数编程,doctest测试驱动。

python的简单好用,能轻松接触到更多激发兴趣的知识,比如 便捷的图片处理,便捷的服务器监控,自己写一个简单的服务器,虽然写不了但是可以完整看看有趣的框架,例如webpy。

python在性能上,速度完全能胜任大多数用户的需求。多注意 python自身数据结构的正确使用,编码上也有良好的习惯,比如【多用用 列表(元祖、字典)推导,少用用for】。

自己目前感悟是“看源码”。我看webpy的一少部分源码,会更快地学习到python的各种知识。学习也有利于我的工作。

2. html,大学就会表格布局,后来遗忘,现在因为时不时地用用html,越来越熟悉了。

`-> 这两天又在家了,随手翻翻挑着看《html5 高级程序设计》,我承认我看见这种非常薄的书就欲望读:D

Chrome常常F12,可以不使用firebug,特别推荐的是:Chrome自带各种`设备模拟`,就是说,你可以在Chrome种模拟Nexus 7啊,IOS啊,方便测试网页。

<kbd>最好玩的标签,例:ctrl

常被忽略却有用的`实体转义`,值得一提的 ‘url 编码’,在人肉分析别人url的时候,%什么,也类似。

3. xml,自定义的html。

因为使用webpy的原因,提供xml就是简单return。自己在chrome中,安装插件:XML Tree,帮助语法正确检查。

工作中,常常需要提供给api出去,常用的数据格式就两种:JSON 和 xml。(chrome - JSON view有助于看JSON)

`-> python除了手动拼接字符串生成“xml”,还提供了相对应的库。如果使用,值得看看。

在 sae的配置文件,apache的配置文件,rss订阅格式,小网站的数据库代替品,都使用了 xml。

最近在看 `公开课 - 哈佛大学 - 如何构建动态网站`,英文语速很快,讲得很棒。其中,值得一提,对于小网站,完全可以使用xml 代替 数据库。

只要利用python lxml解析xml,就能方便的处理xml,方便地生成动态网站。

特别想说的是:像THIS中提到的,“xml 换行显示更友好”的问题,这真的是个多余网络开销。toString()方法本来就是“方便人类阅读”,换行显示是多余的。

4. git,红丸蓝丸。用过了git,真的就不想用svn了。

git能提供分支,对于我,最好的就是“方便代码回滚”。一开始就是简单的分支提交,熟练了,稍微增加“分支管理策略 - THIS”。

git还能在hook中,方便代码部署,或者写一个shell脚本来部署代码。真的非常方便。

git init, 便捷地创建自己的代码仓库,别人提交也一样方便~

5. markdown,缩写是MD,让人魂牵梦绕的缩写。

因为github,因为stackoverflow,还因为oschina wiki中的文档,没事都是看着说明,写写md.

马克飞象 - chrome插件,在线编辑md。

顺便一提,markdown可以直接生成html,也好用。

顺便再一提,我的大vim也是可以生成html的!!不告诉你们这些坏人!!

6. webpy,怀念 Aaron Swartz.

最初熟练了webpy而不是django的原因是工作。工作需要使用webpy,主站是用webpy写的。

webpy是只小麻雀,非常非常好用,我们平时处理的GET(),POST()请求,其实只是整个框架的一个回调函数而已。

你完全可以不去使用webpy提供的form,db机制。但是,你又可以仔细阅读webpy的每一行代码,你想怎么读就能怎么读,整个框架都简洁。

比如__slots__ 与 __dict__,这样的系统自定义变量的含义、作用、区别。

webpy代码都会指引你。

7. vim

vim现在就是我的IDE了,可定制的快速输入,你需要多利用利用vim的插件。

使用简单的vim通常会得到 简单的文件结构。

在打开文件的时候会有困扰,可以考虑command-T,这样同样会导致你自己去思考文件名。因为你自己会使用。

8. ubuntu

每天都用,无所不能,魅族也快出ubuntu的产品了。

可以在查找指定文件夹 中 所有文件 中的 关键字kw

find dir/ -name * | xargs grep kw

因为工作关系,基本的top、iostat也得常注意。

crontab计划任务也得用着,系统中如果没有搞得好的线程,crontab 也能更新db内容的排序。

10. nginx

工作中用到,自己就google着学了。简单好用。

现在总结两方面:

a. 使用上:写配置文件(sudo nginx -t)、服务器重启、简单的nginx状态查询(使用了stub_status 模块)、access.log分割备份(分割就是‘重命名,再生成’)、error.log分析(可以指定生成error.log的格式)

b. 开发上:淘宝 连 Tengine都搞出来了。我还假装自己什么啊,要是有时间,周围也有朋友跟你结对,大家一起搞呗。

7. mysql

代码上正常使用python - MySQLdb。

在ubuntu的环境下,直接使用地命令行。在select语句之后加G 会有更好的显示格式。

工作中,记得备份。备份就是做人厚道不厚道的问题了。

工作中,tail -f 查看slow_log.log,消除slow query。

工作中,对于查询多行但只返回少数结果的语句,代码搞一搞。

服务器出现性能问题,show status查查。explain看看语句。

11. Django,全都做好了,非常欣赏自动生成的后台。

`-> 自己也看了一遍书,自己也照着例子写了写,以后工作中能用到,自己也能多学习吧。

12. js,越来越逆天了,后端也能搞了:D

`-> node.js, jquery

`-> bootstrap

14. tornado

`-> 跟webpy好像啊,性能会有提升,多学学

15. php

`-> 挺常见的,有时间学学

p.s: `-> ,补遗点。

原文地址:https://www.cnblogs.com/kevin922/p/3551229.html