回顾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
回顾2013 - 技术上相关推荐
- 颠覆平庸:在技术上持续精进
本文很长,约 9200 字,需要认真阅读 30 分钟,赶时间的朋友,看看下面的导图也会有一些帮助. 转载请联系订阅号"程序视界"获得授权,并在文章开始处声明作者信息:安晓辉(fo ...
- 颠覆平庸 在技术上持续精进
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本文很 ...
- 程序员如何在技术上提升自己
程序员如何在技术上提升自己 发表于2014-10-29 09:48| 26529次阅读| 来源CSDN| 111 条评论| 作者钱曙光 社区之星访谈李运华程序员面向对象团队管理 allowtransp ...
- 管理沟通 移情原则_解决技术上的移情差距
管理沟通 移情原则 by Arathi Mani 通过Arathi Mani I sat in a wind tunnel for the first time while attending a s ...
- 短视频的生成,不要在技术上想当然
短视频的生成,不要在技术上想当然 walker.xu 最近经常有人来问短视频生成方面的技术问题,恰好自己也在思考准备实现一个. 所以给了一些建议,但是事后细想,自己可能有点技术上想当然了. 通过分析竟 ...
- 从技术上还原入侵雅虎服务器是怎么一回事
本文讲的是从技术上还原入侵雅虎服务器是怎么一回事,5月20日晚上,我花了几天时间研究雅虎的Messenger应用程序.但是我依然无法搞清楚背后的工作管理.所以我走出了外面走走,决定找到一个新的目标.我 ...
- (转)Oracle与DB2在数据库高可用技术上的相同与差异探讨
原文:http://www.talkwithtrend.com/Article/178339 数据库建设过程中,高可用是每一个企业数据中心数据库建设过程中至关重要的一个关注点,直接关系到业务连续性和稳 ...
- 技术上根本不思进取的金山词霸2007
今天在一个学英语论坛里溜达,无意中发现了一款叫做Lingoes灵格斯的词霸软件.下载来试用了一下,在其出众的取词能力下,使得我对金山词霸2007立马就来气了!金山公司虽然前几天终于在其网游的支撑下隆重 ...
- Jerry的反省:程序员不要轻易说出“这个功能技术上无法实现“
这是Jerry 2020年的第81篇文章,也是汪子熙公众号总共第263篇原创文章. Jerry之前的文章从医院到家,再重返SAP成都研究院,Jerry还没死 提到,我手术后重返SAP成都研究院,加入了 ...
最新文章
- Centos7更改默认启动模式
- java注解简单实例
- 《Photoshop修色圣典(第5版)》目录—导读
- 「HDU6579 Operation」 - 线性基
- ssl2647-线段树练习4【线段树】
- predict_16x16[i_mode]( p_dst, i_stride )lowres
- .net研发工程师面试题,在线交流答案
- Atitit 研发管理之道 attilax总结 艾龙 著 研发管理	1 简介	1 基本理念	2 基本原则	2 内容	3 团队建设	4 流程设计	4 成本管理	4 项目管理	4 绩效管理	4 风险管理
- php做资源嗅探器,php做的端口嗅探器–可以指定网站和端口_php技巧
- linux基础知识考试试题
- 【JavaWeb学习】14综合案例
- python将网页转换为图片保存
- 动图gif怎么制作?制作方法你学会了吗?
- 2015年全国大学生电子设计大赛综合测评题
- 家庭作业 题解(C++)
- 三体 读后思考-泰勒展开/维度打击/黑暗森林
- Entrust 将不再签发超过13个月有效期的SSL证书
- 一款在线免费的甘特图,让你轻松管理项目进度
- win10系统打开更新服务器失败怎么回事,如何修复Windows Update组件以解决Win10无法自动更新的问题?...
- android 9 所有应用的行为变更 和 以API28为目标的应用行为变更
热门文章
- 球30家厂商角逐自动驾驶汽车 四年后1000万辆上路
- Unity3d HDR和Bloom效果(高动态范围图像和泛光)
- 开源ImageFilter库For IOS源码发布
- 阿里开发者们的第18个感悟:每次困难出现时,就是成长的机会出现了
- 7.5. Zend Optimizer
- boost::filesystem经常使用使用方法具体解释
- 如何让PhpStorm同时打开多个项目?(多项目并存的问题)
- lt;备份gt;10.9Sed and 计划任务
- lvs在nat dr tun 模型的实现
- 增加DIA进程的方法