[知识积累] 技术框架积累

项目管理

纸上原型:用手绘创建低保真度原型,然后拍照下来,用该app建立连接,用于设计手机app的时候很好(我们一直在项目中强调使用低保真度原型的重要性)
Docker:Docker 提供了一个可以运行你的应用程序的封套(envelope),或者说容器。性能比虚拟机和沙箱都高。Docker 之所以有用,是因为把代码从一个机器迁移到另一个机器经常是困难的。它尝试去使得软件迁移的过程变得更加可信和自动化。Docker 容器可以移植到所有支持运行 Docker 的操作系统上。Docker是现在云平台的最好的一个实现方案

javascript框架

Angular google出品的js框架,是最早的,也比较大,提供了强大的双向绑定等功能,但是学习曲线很陡峭,需要学习大量他自己定义的东西,但是如果学好了,写一些很酷的功能的时候,代码量很小。它采用了一个将dom对象划分为区域,然后自动导入js代码的概念。

Backbone.js 出品于2010年,轻量的

Ember 出品于2011年,是最庞大的,但是功能最多,融合了backbone.js的组件化模型(容易学习)和Angular的动态绑定,官网上第一个例子就是用Ember去做的Angular的双向绑定例子。虽然大但是超值!

RESTFul 框架

Jersey 比较轻量级的RESTFul框架,但是文档少

JBoss出的 RESTEasy 也很不错,优点是文档多


数据分析

snowplow : 存储用户行为数据并进行分析
piwik:web统计软件,个人觉得用网站统计平台就行了,没必要自己搭建统计工具


测试

JSHint 用于js的代码检查,相当于是js版本的findBug

Mokito可以很方便的做Junit 的 Mock

moco :一个mock框架,用很短的代码就可以模拟一个服务器出来,对测试手机端有很大的帮助,配置极度简单


分布式容错

Hystrix 这是一个针对分布式系统的延迟和容错库,对错误资源隔离防止影响其他资源

持续集成

grunt 可以建立项目脚手架,运行自动测试等内建任务,相当于js版的maven(除去包管理功能,这块npm已经覆盖了)

snapCI:thoughtwork出品的持续集成工具,没看出来比jenkins的好处在哪里,可能是其有良好的分布式集成界面支持吧。

travis CI:为ios 和 os x 的基于云计算的持续集成业务

分布式部署

使用Capistrano实现多机代码部署自动化

使用Puppet实现多机环境配置的自动化

使用Greenhopper插件可以实现jira的敏捷管理

ansible采用yaml规范编写playbook实现自动化部署,而且支持命令式,专为linux设计

cloud-init: 允许配置虚拟机启动时的行为,与Immutable和Phoenix 服务器配合使用,优点是轻量级,缺点是这三个东西文档都很少

Docker:Docker 之所以有用,是因为把代码从一个机器迁移到另一个机器经常是困难的。它尝试去使得软件迁移的过程变得更加可信和自动化。跟传统的war打包方式不同的是,他连依赖环境都打包了,打包成一个镜像。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)

自动化测试

Selenium(ThoughtWorks公司开发的web自动化测试工具)直接运行于web可以做界面化的测试

Calabash是一个开源的移动端UI自动化测试框架,支持android和IOS

Chaos Monkey 通过主动的搞坏系统来进行测试“避免失败的最好办法是经常失败”。随机杀掉架构中的运行实例和服务,这是一个很新颖的思路。前提是你的系统每个节点都是轻量级的,经得起下线的。

负载均衡

HAproxy 是做负载均衡的,成本很低使用方便


监控

Logwatch一款专门监测Linux log文件(日志文件)的软件

Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,用于Unix平台。它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误。

Upstart 是Ubuntu使用的替代init的新的自启动方案,是基于事件的

cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具,小而灵活,界面美观

ganglia适用于分布式的监控,报警机制欠缺但是适用于分布式,查看资源利用率,服务端负载低 [mongodb插件支持]

zabbix最新的监控平台,定制化程度高,但是服务端负载高,但是功能强大(nagios + cacti),配置简单,

nagios监控,报警多样性,一般nagios跟 ganglia 混用 或者 nagios 跟 cacti 混用 [mongodb插件支持]

Munin 监控 ,提到的较少,安装简单,界面简单 [mongodb]

Sensu:基于ruby的监控工具。不同于以往监控机器性能等的框架,Sensu主要监控业务行为。

Node.js

Forever专门用于node.js的崩溃后自启动的东西
nodejitsu 可以提供npm私有库托管
express是node.js的框架,建立一个服务器写的代码会更少
request.js相当于js版本的httpclient
mocha是一个js测试框架,比jasmine小,但是很多功能需要自己找插件,比如 spy需要sinon.js 断言需要 chai

IOS自动化测试

淘宝的athrun
豆瓣的ynm3k
主流的appium

Bower

跟npm相对的,是管理客户端js库的管理中心

你可能感兴趣的:(其他)