小编cod*_*ver的帖子

Rails:ActiveRecord db排序操作不区分大小写

我正在尝试学习rails [通过遵循课程中的SAAS课程]并使用ActiveRecord使用简单的Movie表.

我想要显示所有已分类标题的电影.我希望它不区分大小写.

我试过这样做:

Movie.all(:conditions => ["lower(title) = ?", title.downcase],:order => "title DESC")
=>undefined local variable or method `title' for #<MoviesController:0xb4da9a8>
Run Code Online (Sandbox Code Playgroud)

我认为它不承认较低(标题).

这是实现案件分类的最佳方式吗?

谢谢!

sql activerecord ruby-on-rails

11
推荐指数
3
解决办法
7019
查看次数

如何为以前的Java版本构建jar?

我正在尝试编译我的代码并在不同的服务器上运行它.问题是我的JRE版本是Java版本"1.6.0_13",服务器上的版本是Java版本"1.4.2".

当我尝试在服务器上运行jar时,这给了我"无法识别的类文件版本"异常.我无法在服务器上编译我的代码,因为我将不得不设置各种依赖项.

所以我需要知道是否有办法"使用Eclipse"[这比命令行更容易,因为它负责依赖]并使用1.4.2而不是1.6.0_13编译我的东西.我是否必须从我的机器上卸载我的JRE,然后重新安装以前的版本然后编译或者是否有一种优雅和清洁的方式?

java eclipse javac

9
推荐指数
3
解决办法
3万
查看次数

为什么string.indexOf方法的参数是Java中的int

我想知道为什么indexOf方法的参数为int,当描述为char时.

public int indexOf(int ch)

Returns the index within this string of the first occurrence of the specified **character**
Run Code Online (Sandbox Code Playgroud)

http://download.oracle.com/javase/1,5.0/docs/api/java/lang/String.html#indexOf%28int%29

Also, both of these compiles fine:
char c = 'p';
str.indexOf(2147483647);
str.indexOf(c);
Run Code Online (Sandbox Code Playgroud)

a]基本上,我很困惑的是java中的int是32位,而unicode字符是16位.

b]为什么不使用字符本身而不是使用int.这是任何性能优化吗?字符难以表示而不是整数吗?怎么样 ?

我认为这应该是一个简单的推理,这让我更加了解它!

谢谢!

java primitive-types data-structures

9
推荐指数
1
解决办法
2379
查看次数

我们什么时候使用ruby模块和使用类组合?

之前已经提出过与此类似的问题,但我特别要求使用组合作为使用模块mixins的替代方法.

class Helper
  def do_somthing
  end
end
Run Code Online (Sandbox Code Playgroud)

如果我需要"使用"一个类而不是继承它,我只需要编写并使用它.

class MyStuff
  def initialize
    helper = Helper.new
    helper.do_something
  end
end
Run Code Online (Sandbox Code Playgroud)

为什么我要为此创建一个模块:

 module Helper
   def do_something
   end
 end

class MyStuff
  include Helper
end
Run Code Online (Sandbox Code Playgroud)

我看到的唯一区别是,Helper如果我使用模块,周围不会有很多物体.但是我没有看到任何东西,周围有更多物体,而不是更大的物体.

而且,我不知道将来是否需要将其子类化.那么我该如何判断我的库的用户是想要使用模块mixin,还是想要使用合成?

ruby inheritance multiple-inheritance composition mixins

9
推荐指数
1
解决办法
4600
查看次数

在脚本中运行SQL查询时抑制消息

我正在尝试编写一个简单的查询脚本,它可以让我获取表中的行数.但是我面临着压制各种oracle消息的问题.我感兴趣的是输出:

这是我的脚本:

#!/usr/bin/ksh
sqlplus /nolog <<EOF
connect user/pswd@databse
set serveroutput on
set heading off
set feedback off
select count(*) from table;
exit;
EOF
Run Code Online (Sandbox Code Playgroud)

我的输出如下:

.desktop% sh sql.ksh 
SQL*Plus: Release 10.2.0.2.0 - Production on Tue Dec 7 12:00:42 2010
Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.
SQL> Connected.
SQL> SQL> SQL> SQL> 
        70
SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Run Code Online (Sandbox Code Playgroud)

我想要的只是数字70,没有任何消息,所以我可以定期将它写入日志等.我知道我可以解析数字,但每次我的查询或模式更改时我都必须更改它.我不能只是要求mysqlplus来压制所有这些消息吗?

sql oracle shell scripting sqlplus

8
推荐指数
2
解决办法
2万
查看次数

为什么函数调用而不是变量地址用于检测堆栈增长方向?

我读到了检测堆栈增长检测问题的不同响应,我理解,在现代架构中,堆栈可能会随机增长,可能会在堆外创建,依此类推.

但是,在这个经典的访谈问题中,我想了解为什么人们使用函数调用而不是在同一函数中比较2个局部变量.我认为必须有一些特殊的理由这样做,但不是一个C /低级开发人员[Java :)],我只是在猜测.

这是我试过的代码:

void sub (int *a)  {
    int b;
    int c;
    printf ("a:%d\n", a);
    printf ("b:%d\n", &b);
    printf ("c:%d\n", &c);
    if (&b > a) {
        printf ("Stack grows up.\n");
    } else {
        printf ("Stack grows down.\n");
    }
}

int main (void) {
    int a;
    int b;
    sub (&a);
    printf ("\nHere we go again!!\n");
    if (&b > &a)  {
        printf ("Stack grows up.\n");
    } else  {
        printf ("Stack grows down.\n");
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我还发现这篇文章试图优化我不理解的解决方案:http …

c c++ stack low-level

8
推荐指数
3
解决办法
617
查看次数

Rails:运行代码忽略 binding.pry

我经常使用 pry-byebug gem 在我的代码中放置断点

binding.pry 
Run Code Online (Sandbox Code Playgroud)

但是,在调试期间(比如在进行了轻微更改之后),我经常希望在没有任何断点的情况下运行整个代码/规范。

有没有办法做到这一点?我正在寻找类似的东西

bundle exec rspec '--ignore-pry' spec/controller/my_controller.rb
Run Code Online (Sandbox Code Playgroud)

debugging binding ruby-on-rails breakpoints pry

8
推荐指数
1
解决办法
1599
查看次数

Heroku不会为rails4预编译资产

这里的文档说明了在Rails4中部署期间预编译资产的heroku.

但是,我没有看到预编译资产消息.

     Using thin (1.6.1)
       Using twitter-bootstrap-rails (2.2.8)
       Using uglifier (2.3.1)
       Using will_paginate (3.0.4)
       Your bundle is complete! It was installed into ./vendor/bundle
       Bundle completed (1.37s)
       Cleaning up the bundler cache.
-----> Writing config/database.yml to read from DATABASE_URL
       Detected manifest file, assuming assets were compiled locally
-----> Discovering process types
       Procfile declares types -> (none)
       Default types for Ruby  -> console, rake, web, worker
Run Code Online (Sandbox Code Playgroud)

我在我的应用程序中遇到了bootstrap的问题,导航栏无法正确加载+其他一些细微差别,我认为它是资产预编译问题.

我使用的是Rails4,Ruby2.0

我在application.rb中启用了资产

config.assets.enabled = true
Run Code Online (Sandbox Code Playgroud)

手动预编译没有帮助

heroku run rake assets:precompile
Run Code Online (Sandbox Code Playgroud)

ruby heroku asset-pipeline ruby-on-rails-4

8
推荐指数
3
解决办法
1611
查看次数

grep日志中的日期范围

我试图grep两个日期范围之间的所有行,日期格式如下:date_time.strftime("%Y%m%d%H%M")所以说[201211150821 - 201211150824]

我正在尝试编写一个脚本,其中涉及查找这些日期之间的行:

cat <somepattern>*.log | **grep [201211150821 -  201211150824]** 
Run Code Online (Sandbox Code Playgroud)

我试图找出unix中是否存在某些内容,我可以在其中查找日期范围.

我可以将日志中的日期转换为(从epoch开始),然后使用常规grep和[time1 - time2],但这意味着读取每一行,提取时间值然后转换它等.

可能是一些简单的东西已经存在,所以我可以指定日期/时间戳范围,就像我可以为grep提供数值范围一样?

谢谢!

PS:我也可以传递类似于2012111511(27 | 28 | 29 | [3-5] [0-9])的模式,但这是特定于我想要的范围和每次尝试不同日期的繁琐在运行时变得更加棘手.

regex shell datetime grep

7
推荐指数
1
解决办法
7032
查看次数

Neo4j而不是关系数据库

我正在实现一个基于sinatra/rails的门户网站,最终可能只有很多:表/模型之间的许多关系.这是一个单人团队,兼职,但真实世界的应用程序.

我与某人讨论了我的实体,并建议尝试neo4j.来自真正的"非性感"企业世界,我倾向于使用关系数据库,直到它停止缩放或因为分片等而成为一场噩梦,然后考虑其他任何事情.

然而,

  • 我在这个项目中第一次使用postgres以及datamapper,它让我有时间快速入门
  • 我只是尝试了一些事情并构建了更多的用例,因此我不得不更新我的架构(原型设计理念和来自beta的反馈).我不必在ne​​o4j中这样做(除了更改我的查询)
  • 看起来像使用neo4j很容易设置搜索.但Postgres也可以进行全文搜索.
  • Postgres最近宣布支持json和javascript.想知道我是否应该坚持PG并投入更多时间学习PG(有一个很好的社区)而不是neo4j.

寻找neo4j更好的用例,特别是在项目的原型设计/初始阶段.我知道如果网站增长,我可能最终会拥有多种持久性技术,如s3,关系(PG),mongo等.

了解Rails/Ruby生态系统如何发挥作用也是一件好事.


UPDATE1:

我得到了很多好的答案,看起来正确的做法是坚持使用Postgres(特别是因为我部署到heroku)

然而,无模式的想法很诱人.基本上我正在考虑一种方法,在你说100-150个用户之前你没有定义数据模型,而你自己已经为你的产品找到了一个好的模式(业务用例),而你只是在演示这个概念并获得有限注册的反馈.然后,人们可以决定一个架构并从关系开始.

很高兴知道是否有易于使用的架构/较少持久性选项(基于易于使用/设置为新用户)可能会放弃说缩放等.

postgresql web-applications neo4j nosql graph-databases

7
推荐指数
3
解决办法
8679
查看次数