前些日子被内存泄露困扰,使用了一些办法。突然发现puma的版本用的还是3.x,  果断切换到最新的5.1.1 配置具体参考: https://github.com/puma/puma/blob/master/lib/puma/dsl.rb 看的时候,直接看方法定义即可。 例如 worker 1 的意思是啥,直接看上面 dsl.rb 的 def worker 方法即可。 ...
Ruby rails 分页: will paginate, 对于大数据量,不要用@count ,会引起加载缓慢,要使用without
前端erb 页面:  <%= link_to_prev_page @trades, "上一页" %><%= link_to_next_page @trades, "下一页" %> 后端controller:  调用.without_count 方法 @trades.page(params[:page]).per(1000).without_count
Linux 查看内存使用的几个命令(linux 操作系统级别)
pmap 有点用 $ sudo pmap 35854 -X 35854: puma: cluster worker 0: 23406 [20201102084205] Address Perm Offset Device Inode Size Rss Pss Referenced Anonymous LazyFree ShmemPmdMapp...
接口系统对于异常的处理 (exceptions in web interface design)
目前对于异常有两种处理: (there're 2 ways for exception process )  1. 不处理。 直接抛出。让客户能看到,方便开发人员的处理。 典型的是使用exception_notification 这样的插件, 遇到异常,直接给开发人员邮件。  ( just throw it so that developers could find wh...
软件方法论: 抛弃 boiler plate code . (没它不行,但是它又跟核心功能无关)
想读一个文件: read "some_file.txt" # 不懂编程, 和 编程了 10年+ 的人。 # 有一定编程基础/经验的人: BufferedReader br = new BufferedReader(new FileReader("file.txt")); try { StringBuilder sb = new Strin...
Speak 如何提高代码的可读性?(level up your coding skill)
可读性分成:1. 善于重构。 2. 善于写单元测试。3. 命名要恰到好处。 擅长使用 ”隐喻“(metapha), 让不懂业务的人,一听某个词,就能知道这里是干嘛用的。例如: bool值: is_xxx , does_xxx, xxx? (ruby中的方法可以使用问号),例如: 命名一个 数组,使用复数形式: posts, 4. 擅长使用代码来沟通( 设计模式,实现模式)...
一丢丢思考(thinking about grammar)
1. 为什么行末尾要加分号?  为什么每个方法结束要放(), {} ?  2. 为什么 声明变量,常量,数组的方法不一样? var $apple = 'apple'; define('APPLE', 'an apple'); $apples = array('apple1', 'apple2', 'apple3'); 像ruby, js 那样一个写法多好:  $...
Ruby的eval, class_eval, instance_eval
refer to:  https://4loc.wordpress.com/2009/05/29/eval-module_eval-and-instance_eval eval: 上来就运行代码.  例如: eval(" a = 1; puts a+1 ") #=> 2 b = 3 eval(" puts b") # => 3 @forty = 40 ...
使用国内镜像快速安装rbenv 中的 ruby, nvm 中的node, npm, rubygem, 以及docker
refer to:  https://github.com/AndorChen/rbenv-taobao-mirror 1. rbenv中安装ruby 先安装这个 rbenv plugin: $ git clone https://github.com/andorchen/rbenv-taobao-mirror.git ~/.rbenv/plugins/rbenv-taoba...
心得体会 终于知道 传统 语言跟 ruby语言的使用区别了
以前记得Martin 说, 写ruby 的时候,可以把注意力都放在业务逻辑上。 最近有了更深的体会。 传统语言(java): 书写时,心里时刻要为编译器做考虑: 这个变量,他的 class是什么, 下个变量,我需要把它转换成 什么 口味的 class, 下一行代码才能使用 (  String.valueOf( 11.0) )   这个数组, 是全由 String 组成的,...