小编Gal*_*aim的帖子

如何在rails 3.x迁移中更改新列的位置

我创建了一个只添加新列的迁移,但是我希望在created_at和updated_at列之前添加它,有没有办法指定新列的创建位置?

我搜索过,只发现有人说要在add_column中使用:after选项,但它没有做任何事情.然后我查看了rails api文档,发现没有这样的选项.

ruby-on-rails ruby-on-rails-3

4
推荐指数
1
解决办法
2538
查看次数

使用ContentProvider插入多个表

我正在实现一个PRIVATE ContentProvider,它有几个关系表(一对多,多对多).在我当前的实现中,所有表都可以通过URI访问.如何简化界面,以便URI不必访问内部的"通过"表?

例如,我有一个POSTS表,每个POST通过TAGGINGS表有很多TAGS.我想只与POSTS URI进行交互,并在内部进行"私有"工作ContentProvider.

为了query简单地返回带有连接表的游标,但我该怎么做insert呢?是bulkInsert我应该到什么?

android android-contentresolver android-contentprovider android-sqlite

4
推荐指数
1
解决办法
3987
查看次数

ActionBarSherlock:更改homeAsUpIndicator不起作用

我想通过将以下样式应用到我的活动来更改向上图标,但它不起作用,但我仍然得到默认的黑色"<"图标.

任何人都可以找到这里缺少的东西吗?

<style name="AppTheme.ActionBar" parent="@style/Theme.Sherlock.Light">
    <item name="actionBarStyle">@style/actionBarStyle</item>
    <item name="android:actionBarStyle">@style/actionBarStyle</item>
</style>

<style name="actionBarStyle" parent="@style/Widget.Sherlock.Light.ActionBar.Solid">
    <item name="android:background">@drawable/header_bar</item>
    <item name="background">@drawable/header_bar</item>

    <item name="android:homeAsUpIndicator">@drawable/up_indicator</item>
    <item name="homeAsUpIndicator">@drawable/up_indicator</item>
    <item name="android:displayOptions">homeAsUp|showHome</item>
    <item name="displayOptions">homeAsUp|showHome</item>

</style>
Run Code Online (Sandbox Code Playgroud)

android android-xml actionbarsherlock android-actionbar

4
推荐指数
1
解决办法
9614
查看次数

Robolectric:使用ViewHolder模式测试ListView会导致NullPointerException

我有一个ListActivity它的适配器实现ViewHolder模式.

适配器和视图:

private class PlaceAdapter extends ArrayAdapter<PlaceModel> {
    final int viewResourceId;

    public PlaceAdapter(Context context, int textViewResourceId, List<PlaceModel> objects) {
        super(context, textViewResourceId, objects);
        viewResourceId = textViewResourceId;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;

        if (convertView == null) {
            LayoutInflater inflater = getLayoutInflater();
            convertView = inflater.inflate(viewResourceId, null);

            holder = new ViewHolder(convertView);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }

        PlaceModel place = getItem(position);

        holder.name.setText(place.getName());
        holder.address.setText(place.getVicinity());

        return convertView;
    }
}

private class ViewHolder { …
Run Code Online (Sandbox Code Playgroud)

android robolectric android-testing

4
推荐指数
1
解决办法
3433
查看次数

Ember.js:将应用程序转换为Router API V2

我是Ember.js的新手,在开发应用程序时我发现了新的路由器API.合并后根本没有文件(除此之外 - https://gist.github.com/3981133)

我不知道如何开始将我的应用程序转换为新的路由器API.这个"演练"并没有多大帮助.

1)如何将模板连接到命名插座,例如{{outlet main}}?

2)我使用App.router.someController和App.router.get('store').findAll()和.find()全部,应该用什么代替?

3)html中的把手标签有什么变化<script type="text/x-handlebars" data-template-name="templateName">吗?

我现在能想到的一切......

ember.js

4
推荐指数
1
解决办法
949
查看次数

Redis:在列表或排序集中扇出新闻提要?

我通过以下方式使用 Redis 缓存扇出新闻提要:

每个提要活动都是一个键/值,例如 activity:id,其中值是数据的 JSON 字符串。

每个新闻提要当前是一个列表,键是 feed:user:user_id 并且列表包含相关活动的键。

检索我使用的新闻提要,例如:'sort feed:user:user_id by nosort get * limit 0 40'

我正在考虑将提要更改为排序集,其中分数是活动的时间戳,这样提要始终按时间排序。

我读过http://arindam.quora.com/Redis-sorted-sets-and-lists-Pertaining-to-Newsfeed推荐使用列表,因为排序集的时间复杂性,但通过继续使用列表,我必须小心在插入顺序中,插入过去的故事需要遍历列表并找到要推送到的正确索引。(这可能会导致分布式环境中出现新问题)。

我应该继续使用列表还是使用排序集?

有没有办法从排序集中立即检索新闻提要(就像使用 sort ... get * 命令获取列表一样),或者它是否必须是 zrange 然后遍历结果并获取每个值?

redis

4
推荐指数
1
解决办法
2639
查看次数

RSpec:如何在静态方法上使用should_receive?

我在lib/gcm.rb中有一个模块:

require "net/http"
require "uri"

module GCM
  def self.dispatch_message(reg_ids, data)
    url = URI.parse(GCM_URL + "/send")

    @msg = { :registrationIds => reg_ids, :data => data }

    request = Net::HTTP::Post.new(url.path)
    request.content_type = 'application/json'
    request.body = @msg.to_json
    response = Net::HTTP.start(url.host, url.port) { |http| http.request(request) }
  end
end
Run Code Online (Sandbox Code Playgroud)

我想测试dispatch_message在我的一个控制器中调用它:

it "should dispatch a GCM message" do
  post :create, :post => @attr, :format => :json
  GCM.should_receive(:dispatch_message)
end
Run Code Online (Sandbox Code Playgroud)

但它失败了:

PostsController POST 'create' should dispatch a GCM message
 Failure/Error: GCM.should_receive(:dispatch_message)
   (GCM).dispatch_message(any args)
       expected: 1 time …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails

3
推荐指数
1
解决办法
2607
查看次数

用于创建可扩展的MongoDB短ID的策略

我希望有一个比MongoDB的ObjectID更友好的面向ids(即Youtube样式:/ posts/cxB6Ey6).

我读到为了可伸缩性,最好将_id留作ObjectID,所以我想到了两个解决方案:

1)为每个文档添加一个索引的postid字段

2)在_id和postid之间创建一个映射集合

在这两种情况下都使用类似https://github.com/dylang/shortid的内容来生成短ID,并在生成时通过查询数据库确保id是唯一的.(这个query-generate-insert可以是一个原子操作吗?)

这些解决方案会对性能产生显着影响吗?

这样做的最佳策略是什么?

mongodb

3
推荐指数
1
解决办法
3854
查看次数

MongoDB应该使用Memcache还是Redis进行缓存?

我使用MongoLab作为托管的MongoDB,使用Memcache或Redis缓存响应是否有意义?

我读到了使用Redis作为缓存的常见问题,但另一方面,我读到如果没有分页MongoDB,MongoDB和Redis可能会有类似的性能.

memcached mongodb redis

3
推荐指数
1
解决办法
1285
查看次数

在Android中执行网络操作的最佳做​​法是什么?

在Android中执行网络操作的最佳实践是什么(无需在ContentProvider中存储数据)?

目前我使用的模式类似于http://www.youtube.com/watch?v=xHXn3Kg2IQE中描述的模式- 包含在Fragment,IntentService和ResultReceiver中的服务助手.

这非常复杂和肮脏.

正在使用类似Fragment(with setRetainInstance(true))的东西,它启动AsyncTasks并且对Activity的回调足够好?

我想我还需要处理在活动暂停然后恢复时完成任务的情况.

有没有比这里提出的更好的策略?

编辑:我所指的网络操作是与简单的JSON Web服务的交互

android android-networking

3
推荐指数
1
解决办法
4490
查看次数