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
名词
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
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
路还很长,欢迎补充。