1. 最近工作总结(二)

    serialize Hash 在serialize Hash 有个小坑。 普通的hash和ActionController::Parameters 或 Hashie::Mash 等类型都能存。这就会导致了,如果代码中原本使用symbol方式取值正确的逻辑,当该字段值用hash类型,并且hash对应的key用字符串形式存了,原本原本使用symbol方式取值正确的逻辑取值就变为空了。所以,推荐当取值的时候都用字符串形式。第二个是,如果数据库存了ActionController::Parameters类型的值,在rails 5中取这个值的时候就报错,,直接导致用这个model的时候就报错。因为ActionController::Parameters 在rails 5不再继承于Hash,而进行 serialize hash 的时候就不行了。在rails 4 中把这个数据用普通hash更改一下,在rails 5 项目中就恢复正常

    2017/03/09 Work

  2. Manage and custom your elasticsearch index in Rails project

    这周对Rails项目中的ElasticSearch进行了总结并写成了文档,觉得有一些内容值得记录和分享。 这篇文章主要是在Rails项目中对索引,mapping的设置、管理操作的总结,不涉及搜索方面的内容。 源数据是存在MySQL中,ES的数据是MySQL写操作的时候进行了回调同步到ES中,这个应该和很多人的使用同步策略一样。

    2017/03/02 Elasticsearch

  3. Background job is awesome for your application

    What is the background job? It is simple that is running in the background.

    2017/02/17 Thought

  4. Pointer in Go

    Go有指针类型含义和作用和C语言的指针是一样的,指向类型的地址,而且用途很广,但是你不能对指针进行运算。 比如C语言中的对指针的++ 运算或移位运算在Go中是没有的。

    2017/02/10 Golang

  5. More about OOP in Go

    面向对象程序设计(英语:Object-oriented programming,缩写:OOP)是种具有对象概念的程序编程范型,同时也是一种程序开发的方法。它可能包含数据、属性、代码与方法。对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关连的数据。Go语言也是一种面向对象编程的语言,但是和传统的编程语言有一些不同。但是Go也有很多传统OOP语言的特点:

    2017/01/22 Golang

  6. CSV operation in Go

    简单的读取

    2017/01/20 Golang

  7. Nice Conferences In The World

    Ruby Rails

    2017/01/16 Nice

  8. 最近工作总结(一)

    ES 慢查询优化 对搜索客户手机号码的ES慢查询进行优化。由于表的记录已经达到一定数量级,对手机号码进行char_split 的分词方法, 会产生性能问题,因为该分词方法会把手机号码进行拆分组合,这里很耗时。 优化方法:用正则表达式检验出传的参数是手机号码,不使用char_split分词查询,而是使用完全匹配的方式进行过滤

    2017/01/10 Work

  9. Range In Go

    iteration variable重用

    2016/12/31 Golang

  10. go方法

    methods on value or pointer

    2016/12/29 Golang

  11. supervisor 安装、配置和使用

    简介

    2016/12/20 Tool

  12. Elasticsearch 聚合搜索

    这次掉了这个坑里。

    2016/12/13 Elasticsearch

  13. 如何更可控、稳定地写Rails脚本操作线上数据库的记录

    描述:某个功能需要为数据库增加相关数据。大概逻辑是:根据表Company,根据某些条件往Department和DepartmentsUser表中插入数据。 然后将User表中满足筛选条件的status字段进行更改。

    2016/11/08 Rails

  14. Hash struct in rails

    最近遇到了一个坑,关于rails中的hash struct。问题不难,但非常容易让人忽略。

    2016/09/25 Rails

  15. Rails 项目的数据库慢查询优化

    最近项目中出现了很多MySQL的慢查询,平均耗时10s钟。运维小哥把慢查询找了出来,交给我们进行优化。本文就是本次MySQL慢查询优化的总结。

    2016/09/14 Database

  16. Seek the amazing Git

    Git is amazing! 本文是对git的进一步的学习和掌握总结。

    2016/08/30 Tool

  17. Delegation in Ruby and Rails

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

    2016/08/20 Rails

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

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

    2016/08/03 Ruby

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

    该总结的还是要总结的

    2016/07/25 Ruby

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

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

    2016/07/22 Database

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

    RVM

    2016/07/18 Ruby

  22. Go语言中的OOP

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

    2016/07/15 Golang

  23. The encryption in ruby and rails

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

    2016/07/05 Rails

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

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

    2016/07/01 Rails

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

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

    2016/06/26 Database

  26. 基本排序的总结

    ```ruby

    2016/06/22 Algorithm

  27. Hash Sort

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

    2016/06/14 Ruby

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

    原文链接: Processing large CSV files with Ruby

    2016/06/13 Rails

  29. 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

  30. 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

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

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

    2016/06/03 Rails

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

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

    2016/05/28 Rails

  33. 理解rack中间件(转)

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

    2016/05/25 Rails

  34. 理解class_eval and instance_eval

    例子1.

    2016/05/22 Ruby

  35. rpc浅析

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

    2016/05/21 Summary

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

    10.first_or_create with a block 常用的first_or_create:

    2016/05/20 Rails

  37. 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

  38. go interface

    go interface

    2016/05/11 Golang

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

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

    2016/05/09 Ruby

  40. Swimming in my life

    今天是学游泳的第五次课

    2016/04/18 Thought