1. Delegation in Ruby and Rails

    这是一篇在Ruby和Rails中使用代理模式各种方法的总结文章。

    2016/08/20 Rails

  2. Ruby Concurrency and Parallelism A Practical Tutorial(翻译)

    特别的,Ruby并发指的是:两个任务可以在重叠的时间段启动、运行和完成。 不过,这并不意味着他们都是运行在同一瞬间(比如:多个线程在单核机上运行) 与此形成鲜明对比的是,并行是指:两个任务运行在相同的时间。(比如:多线程运行在多核心的处理器上)

    2016/08/03 Ruby

  3. include extend prepend ActiveSupport::Concern(Mixin)

    该总结的还是要总结的

    2016/07/25 Ruby

  4. 如何为一个千万级以上的表新建一个字段

    MySQL中有一张表A,有十几个字段,字段中有索引,大概是1千万条记录。并且这个表是线上服务的表,随时有读写操作。 现在,根据需求,你需要为这张表新建一个字段。你会怎么做?

    2016/07/22 Database

  5. RVM Gemset Bundler Rbenv Rack Capistrano原理总结

    RVM

    2016/07/18 Ruby

  6. Go语言中的OOP

    学习Golang差不多五个多月了,从一开始的“不习惯”(作为一名Ruby程序员,Go的语法和Ruby还是有较大不同),到现在逐渐能接受Go语言的整体架构的思想。 这篇文章是对Golang语言中OOP思想的个人总结。将会用Ruby中的OOP内容进行一个对比。

    2016/07/15 Golang

  7. The encryption in ruby and rails

    在一个项目中会有很多数据是需要加密的,以保证数据不会泄露。 比如: 密码的保存。登入时,cookie保存的值。做支付接口的时候,对参数进行加密后传递等待。 加密的作用就是为了防止他人得到真实的数据,从而进行一些操作,避免用户或项目受到损失。

    2016/07/05 Rails

  8. rails中快速插入简单总结

    ActiveRecord makes interface to the DB very easy, but it doesn’t necessarily make it fast.

    2016/07/01 Rails

  9. MySQL百万以上记录表分页优化

    我们知道,当MySQL表的数据达到百万以上甚至千万的时候,整个表的查询性能是会下降的。如果遇到更大的数据时,有一些解决方案,比如分表分库。 看了一些文章有讲“关于百万以上记录表的分页优化”,所以今天实际操作总结一下。

    2016/06/26 Database

  10. 基本排序的总结

    ```ruby

    2016/06/22 Algorithm

  11. Hash Sort

    今天有个需求,将存在redis hash结构中的数据进行排序(热门搜索词,存于redis hash中) 所以就涉及到了hash排序。看下面的示例,很简单,主要是有被一个问题”坑”到了,所以写此文记录

    2016/06/14 Ruby

  12. Processing large CSV files with Ruby(翻译)

    原文链接: Processing large CSV files with Ruby

    2016/06/13 Rails

  13. Rails的底层cache

    Rails中使用的缓存方式有很多种,推荐的缓存策略是”俄罗斯套娃缓存”。不过使用这种缓存方式只能缓存html的片段,还是会进行sql查询。 一种方式,可以直接使用redis,rails中redis的gem也有不少,而且封装的功能足够使用。可以直接操作redis进行数据缓存。 另一种方式,rails也封装了底层的缓存的API:ActiveSupport::Cache::Store。在config.cache_store可以配置使用什么存储缓存 数据。可以这样 config.cache_store = :redis_store, “redis://localhost:6379”。就使用了redis缓存数据。

    2016/06/11 Rails

  14. Hessian in ruby

    简单介绍: Hessian is a binary web service protocol that makes web services usable without requiring a large framework, and without learning a new set of protocols. Because it is a binary protocol, it is well-suited to sending binary data without any need to extend the protocol with attachments. Hessian是由caucho提供的一个基于binary-RPC实现的远程通讯library。 网上传的一个性能效率对比结果 测试结果显示,几种协议的通讯效率依次为: RMI > Httpinvoker >= Hessian » Burlap » web service

    2016/06/09 Rails

  15. How key-based cache expiration works(翻译)

    原文链接: How key-based cache expiration works

    2016/06/03 Rails

  16. rails + grape 快速API简单搭建

    grape: An opinionated framework for creating REST-like APIs in Ruby. http://www.ruby-grape.org

    2016/05/28 Rails

  17. 理解rack中间件(转)

    找到一篇讲解rack中间件的好文章,讲解的通俗易懂。于是便转载过来了。

    2016/05/25 Rails

  18. 理解class_eval and instance_eval

    例子1.

    2016/05/22 Ruby

  19. rpc浅析

    RPC 的全称是 Remote Procedure Call 是一种进程间通信方式。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的,本质上编写的调用代码基本相同。

    2016/05/21 Summary

  20. 10 most underused activerecord relation methods(翻译)

    10.first_or_create with a block 常用的first_or_create:

    2016/05/20 Rails

  21. after_commit vs after_save

    在rails中使用after_ 或before_ 的回调方法,能方便的帮我们处理代码逻辑。 after_save方法:顾名思义就是在save 之后进行操作。 rails guide中的一句:after_save runs both on create and update, but always after the more specific callbacks after_create and after_update, no matter the order in which the macro calls were executed.

    2016/05/15 Rails

  22. go interface

    go interface

    2016/05/11 Golang

  23. 简单的异常处理机制示例

    使用异常处理机制会停止本次block代码的执行,但是本次block之后的代码可以继续执行。不使用异常处理,遇到异常时就会停止,并且之后的代码不会执行。而实际中我们不希望有异常错误的时候就中断程序,而是想让代码继续执行,所以我们需要捕捉异常

    2016/05/09 Ruby

  24. Swimming in my life

    今天是学游泳的第五次课

    2016/04/18 Thought

  25. autoload_paths vs eager_load_paths

    In Ruby you have to require every .rb file in order to have its code run. However, notice how in Rails you never specifically require any of your models, controllers, or other files in the app/ dir. Why is that? That’s because in Rails app/* is in autoload_paths. This means that when you run your rails app in development (for example via rails console) — none of the models and controllers are actually required by ruby yet. Rails uses special magical feature of ruby to actually wait until the code mentions a constant, say Book, and only then it would run require ‘book’which it finds in one of the autoload_paths. This gives you faster console and server startup in development, because nothing gets required when you start it, only when code actually needs it.

    2016/03/22 Rails

  26. KMP算法分析

    KMP算法是字符串匹配中的经典算法。相比暴力匹配算法的时间复杂度为O(m*n),KMP算法的时间复杂度为O(m+n)。虽然,之后又出现了比KMP算法还高效的字符匹配算法,不过KMP算法作为经典,一直作为算法学习中的教材知识。 KMP算法流程: 假设现在文本串S匹配到 i 位置,模式串P匹配到 j 位置

    2016/03/15 Algorithm

  27. Event-Loop

    Event Loop是计算机系统的一种运行机制。Javascript就采用这种机制,Nodejs也是采用这种机制,来解决单进程运行时带来的一些问题。

    2016/03/11 Summary

  28. About Lock

    About Lock

    2016/03/08 Summary

  29. A Decision

    A Decision

    2016/03/04 Thought

  30. Study algorithm again and again

    Study algorithm again and again

    2016/03/01 Thought

  31. 关于连接池原理

    ### 理解中的连接池

    2016/02/28 Database

  32. A story about concurrency and parallelism

    A story about concurrency and parallelism

    2016/02/23 Summary