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

项目管理

纸上原型:用手绘创建低保真度原型,然后拍照下来,用该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库的管理中心
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
技术框架认知系统学习是指通过学习和理解不同的技术框架来增强对软件开发和系统设计的认知能力。这种学习可以帮助开发人员更好地理解和使用不同的技术框架,从而提高他们在开发过程中的效率和质量。 学习技术框架认知系统需要进行以下几个步骤: 1. 理解基本概念:首先,需要了解技术框架的基本概念和原理。这包括了解框架的设计目标、主要特性和工作原理等。可以通过阅读相关文档、书籍或参加培训课程来获得这些知识。 2. 实践项目:在理解基本概念后,可以通过实践项目来应用所学的技术框架。通过亲自动手开发项目,可以深入了解框架的使用方法、常见问题和最佳实践等。 3. 参与社区:参与技术框架所在的社区可以获得更多的学习资源和经验分享。可以加入相关的论坛、邮件列表或社交媒体群组,与其他开发人员交流和讨论问题。 4. 阅读源代码:阅读技术框架的源代码可以进一步深入了解其内部实现和工作原理。这可以帮助开发人员更好地理解框架的设计思路和核心功能。 5. 持续学习:由于技术框架的更新迭代速度很快,持续学习是非常重要的。可以通过订阅相关的博客、新闻资讯和教程等,及时获取最新的框架信息和技术趋势。 总之,技术框架认知系统学习是一个不断积累和提升的过程,需要结合理论学习和实践经验,并保持对新技术的敏感度和学习动力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值