把差不多所有 Option + 字母的组合都拿来做全局快捷键了,今天看了这个,又折腾着空出了 f
, b
, v
。其它用得不多就不绑定了。普通键盘布局,Option 都很难按,不大适用于常用快捷键。
include C
的时候,A
的子类还不存在呢。如果不考虑子类的子类,可以用 #1 楼 的方法,覆盖 A
的 inherited
方法。
module C
extend ActiveSupport::Concern
included do
def self.inherited(sub_class)
sub_class.send :include, SubMixin
end
end
module SubMixin
...
end
end
另外,如果所有子类都差不多,为什么不在父类中直接 mixin
呢?如果有些东西需要子类的特定信息,可以用类似 Template Method 的方式,在运行时的时候代理给子类
感觉你把最重要的信息给隐藏掉了,你是需要在 included
里判断 model 类型,然后根据类型去添加一些方法,或者是调用一些 class macros 吧。
看菜单 Selection 下有很多用于多选的。比较简单的一种方案就是选中所有行,然后用 Split into Lines (⇧⌘L);或者用 Select Next Line (⌃⇧↓)。选好后每行都有 Cursor 了,行首行尾分别加下 "
,再移到行尾把回车删掉
⌘+?
可以搜索菜单,很方便的,还可以用来学习快捷键
团队中有两位前同事,在数据挖掘和机器学习方法都有很深的造诣,非常靠谱。顶一下
#2 楼 @coolesting git log
也是可以的,用 -m
显示 merge commit 的 stat
git log --merges -m --name-only
虽然在江苏,不过到南京实在太远了。呆在没高铁的城市,出行还真是不方便。
找到 merge commit 的 SHA1
git show --stat SHA1
你要传给 DOM collection,这样 masonry 才能对上号。如果 j render(@photo)
返回的只有一个根结点可以用 $
先转成 DOM
el = $("<%= j render(@photo) %>");
$('#masonary').append(el);
$('#masonary').masonary('appended', el);
如果不只一个根结点,可以用个临时的 div
el = $(document.createElement('div')).html("<%= j render(@photo) %>").children();
...
http://masonry.desandro.com/methods.html
用 appended 或者 layout 方法。注意如果用图片需要图片加载完再重排,不然高度会是错误的。可以找个 jquery onload 的插件
C/C++ 还是推荐 CMake
maverick -> 牲口
加下 CSS,把 select 弄宽点
@jasl 这个很 cool
#3 楼 @saillee coffee 自己给变量加 var
,而且每个文件都在一个匿名函数里执行,所以上面那些相当于 JavaScript (自己多看看编译后的 JavaScript 就清楚了
(function() {
var search = function () {
...
};
}).call(this)
全局变量是不推荐的,实在需要的化,可以显示的定义为 window 对象的属性:
window.search = search
如果是在 CoffeeScript 文件的 top level 的话也可以写成
@search = search
不过推荐你加个全局的 Object 作为 namespace 来组织这些函数。
App = @App ||= {} App.search = search
// onclick="App.search()"
就你的情况来说,完全没有必要暴露这个函数,你可以直接用 js 来绑定,而不是在 HTML 里混用 JavaScript。当然你需要加些 class, id 方便 jQuery
来选取
$('body').on 'click', 'a.search-button', search
已经登录的用户可以和用户绑定吧
记下上次访问时间,定时清理
这种应用场景算是 mongodb 非常适用的,可以试试。可以在插入的统计,即插入的时候同时插入 N 张表。也可以在后台定时做 mapreduce
或者用带 block 的 gsub。用 /(.)\1+/
去匹配
@see Enumerable#chunk
简单说,所有你在 view 里点了名的 js 和 css 文件都需要加到 precompile 里。图片等资源在 4.0 之前默认全部,所以不用管。
可以运行 heroku run "rake db:migrate --trace"
拿到完整的错误
有加 gem pg 吗?
mv x.css x.scss
确实方便很多。以前要用都是用 development_linux
development_mac
这个 group,然后根据自己的系统去 without。
比较烦人的其实是 emacs 和 tmux 的 notifier,这货检测到就使用,颜色配置需要通过 add_notification
时修改,但用了 add_notification
就不会自动检测可用的 notifier 了,后来找到个办法就是用 ~/.guard.rb
去覆盖默认的配置。
require 'guard/notifier'
notifiers_options = {
:emacs => {
:fontcolor => "#8fb28f",
:default => "#2b2b2b",
:success => "#013009",
:failed => "#310602",
:pending => "#534626"
},
:tmux => {
:success => 'colour64',
:failed => 'colour124',
:pending => 'colour136',
:default => 'colour239',
:display_message => false,
}
}
::Guard::Notifier::NOTIFIERS.each do |group|
group.map { |n| n.first }.find { |notifier|
::Guard::Notifier.add_notification(notifier,
notifiers_options[notifier] || {},
true)
}
end