`

ruby工具箱

阅读更多

https://rubygems.org
https://www.ruby-toolbox.com/

 

https://www.ruby-toolbox.com/categories/by_name

 

https://www.ruby-forum.com/ 古老!!!

 

http://guides.rubyonrails.org/
http://rubyonrails.org/documentation/

http://www.ruby-doc.org/ # ruby library doc
http://rubydocs.org/ # ruby and rails library doc
rake doc:rails # generate rails api doc
rake doc:guides # generate rails guides
 
ruby书籍
ruby元编程(高阶)
rails高级编程(高高阶)
ruby基础教程 第四版(基基础)

名词

bundler
rack中间件
rake任务构建工具
sinatra framework
padrino framework(基于sinatra)
camping(非阻塞式,类似nodejs)
rails
grape gem(用于构建api)
goliath(构建api的杀手级产品)(EventMachine)
SwaggerUI(api的ui界面)

gem

devise(登录注册gem)

gem 'resque_mailer' (异步发送邮件,redis支持)

gem 'acts-as-taggable-on', '~> 3.4' (tags)

whenever cron job(https://github.com/javan/whenever)

railssetting(配置保存到数据库,可以修改)

ckeditor-rails

mailboxer

 

acts-as-messageable

community_engine
acts_as_commentable_with_threading
gem "websocket"
logging

natural language date parser

chronic

 

Recommendation Engines

recommendable

 default_value_for

acts_as_list
backup
icalendar

continuous_integration

travis-ci

 

forum

forem

 

spider

metainspector

 

 

gem 'simplecov', :require => false, :group => :test

 

微信gem

# gem "wechat-rails", git:"https://github.com/skinnyworm/wechat-rails"
# rack-weixin
# gem 'weixin_rails_middleware', '~> 1.2.6'
# 微信高级api(自定义菜单...)
# gem 'weixin_authorize'
# 微信支付
# gem 'Rwepay'

 

# 移动端bootstrap ratchet
# gem 'twitter_ratchet_rails'

 

# 配置文件
# gem 'settingslogic'

 

  require 'securerandom'
  def generate_access_token
    access_token = SecureRandom.hex
  end

  # http://ruby-doc.org/stdlib-2.1.3/libdoc/securerandom/rdoc/SecureRandom.html#method-c-uuid
  def generate_uuid
    uuid = SecureRandom.uuid
  end

 

进程监控

god gem(进程监控)
God vs. Monit(http://stackoverflow.com/questions/768184/god-vs-monit
god vs monit vs supervisord(http://noops.me/?p=133
newrelic
supervisord python的进程管理工具,配合nginx(supervisord的弊端)
压力测试工具siege和ab

 

部署

passenger+apache/nginx(首选)
Unicorn
Rainbows
puma
thin
ansible,FPM打包成deb

 

markdown浏览器端解决方案:https://code.google.com/p/pagedown/wiki/PageDown
markdown.min.js(https://github.com/evilstreak/markdown-js)
diaspora社交网站
关于测试:https://leanpub.com/everydayrailsrspec-cn

 

docker(segmentfault.com文章)
vagrant(http://segmentfault.com/blog/fenbox/1190000000264347)
分发:http://tutorials.jumpstartlab.com/topics/vagrant_setup.html
https://gist.github.com/dergachev/3866825
整理版:http://flowerwrong.iteye.com/blog/2123258
parallels tools(搭配vagrant,虚拟机与主机直接共享文件和剪贴板)
puppet(C/S架构集中配置管理系统)
chef(简化服务器配置)英文书籍:http://gettingstartedwithchef.com/
mina(作用同Capistrano)
capistrano(http://www.tuicool.com/articles/bEJnqyj
Twitter如何在數千台伺服器上快速部署程式碼(BitTorrent)

 

爬虫

curb适合json类通信的数据
mechanize适合少js和少iframe类页面的抓取
watir适合测试,虽然完全模拟浏览器行为,但是性能是个大问题
验证码:rtesseract
py的Scrapy(大名鼎鼎)

 

大数据

hadoop(java)海量数据处理,但不具有实时性。本质上是一个批处理系统(HDFS,mapreduce,hbase)google三大论文
hadoop应用案例(http://wenku.baidu.com/link?url=DAv570Aph9ZdJ1OOkajvYaaqrUNaO8gq-ngvidkjEkRfkRZixYB-F0VPxUIsltRQE0HUB91Zbh5kx8PibDCBrBkBbwKvWgQlxiNyEuf_f_3)例如处理千万级的六度人脉,即好友推荐;联通的电话记录和流量记录查询
storm(Clojure)实时处理模型,比如把Twitter上的热门话题发送到浏览器中,目前来看,优于S4
OpenStack(python)为建设公共云计算和私有云计算建立通用基础的开源项目。http://trystack.cn/

 

 

 

 

开源巨头

1.Facebook(https://github.com/facebook
hhvm+WordPress(http://wuduoyi.com/note/hhvm/

 

数据库

1.数据库读写分离
2.数据库主从架构

 

XMPP

vines(ruby)
ejabberd(erlang)
openfire(java)
tigase
strophe.js(bosh)
xmpp4r
集成架构:social stream(重点研究对象)

 

实时websocket

faye(node和ruby两个版本)
socket.io(nodejs websocket)
node-webkit(开发桌面应用,基于Chromium与NodeJS的应用程序运行器,)
webRPC(WebRTC实现了基于网页的视频会议,标准是WHATWG 协议)
nodeOS
对于实时通信(视频和音频),使用WebRTC会是更好的选择
sse协议(w3c html5标准),websocket的简化版,工作于http/https

ruby websocket server
em-websocket(http://stackoverflow.com/questions/4767268/best-ruby-on-rails-websocket-tool)
Websocket-Rails(http://blog.pogoapp.com/websockets-on-rails-4-and-ruby-2/)
https://github.com/websocket-rails

EventMachine(fast, simple event-processing library for Ruby programs)

MQTT协议

https://github.com/mqtt/mqtt.github.io/wiki/software?id=software
http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1308_xiangr_mqtt/1308_xiangr_mqtt.html

纯java的websocket实现
http://java-websocket.org/

websocket解析库(自己实现websocket服务器)http://blog.csdn.net/yl02520/article/details/7366033
LibWebSockets(c)
WebSocket-Node(nodejs)
PyWebSocket(python)

 

长微博

ImageMagick
wkhtmltoimage(http://my.oschina.net/lidonghao/blog/90083)适合建立全局网页快照
wkhtmltopdf
PhantomJS(适合建立全局网页快照)
CasperJS(可以部分截屏)建议采用他,使用方便
slimerjs(据说字体支持比较好)
txt2img gem
imgkit(https://github.com/csquared/IMGKit 基于wkhtmltoimage,可搭配rails,可以使用css截图,不错的gem)
最后实现:rmagick+casperjs,效果类似36kr.com
现在也可以考虑imgkit+rmagick,都是gem

 

thor(构建命令行接口的gem)

 

全文检索

ElasticSearch(http://www.elasticsearch.cn/
solr + sunspot(https://ruby-china.org/topics/21562
https://www.digitalocean.com/community/tutorials/how-to-install-solr-on-ubuntu-14-04
https://ruby-china.org/topics/21473
elasticsearch + tire

Sphinx

前段主题

adminica(http://themeforest.net/item/adminica-the-professional-admin-template/full_screen_preview/160638
clip-one

移动端js框架

quojs 各种手势事件
jquery
bulid jquery mobie app the easy way(https://codiqa.com

富文本编辑器

pagedown+simditor
codemiror编辑器

nodejs其他应用

node-webkit(https://github.com/rogerwang/node-webkit/wiki/List-of-apps-and-companies-using-node-webkit
webRTC
nodeOS
PDFKIT

nodejs 论坛

nodebb(GPLv3)
nodejs博客ghost(MIT)

meteor(案例:telescope)

 

代码行统计工具:CLOC

 

浏览器内核

blink
webkit

 

docker

fig(python)
泛域名解析(https://gist.github.com/ngoldman/7287753)
Dokku 一个迷你版的Heroku

电子商务

spree(https://github.com/spree/spree
中国省市区(china-city)

CRM ERP

fat_free_crm
odoo(python)

项目管理系统

redmine

邮件服务器

sendcloud(搜狐)
amazon ses
sendgrid

问题

1.开发rails一直用bundle install,他是怎么工作的?
小测试:手动构建基于Gemfile的sinatra app

2.rake and rack你是否搞混?
小测试:基于config.ru部署1中的sinatra app(生产环境)

3.能否自己手动构建最佳实践?
最佳实践使用方便,但是对于新手却隐藏了太多细节,不妨试着用sinatra构建一个最佳实践。
小测试:基于sinatra构建最佳实践(可参考https://github.com/SaitoWu/simba

4.能开发gem了吗?
小测试:写一个简单的豆瓣api的gem(部分api即可)
官方文档:http://guides.rubygems.org/
我的渣渣翻译:http://flowerwrong.iteye.com/blog/2091683

路还很长,欢迎补充。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics