我的Rails应用程序开始需要复杂的查询.我应该开始使用原始SQL查询吗?Rails社区的趋势是什么?
更新:
我现在没有书面查询,我想在开始之前问这个问题.但这是我想要做的一个例子:
我有有类别的书.我想说-
Give me all books that were:
-created_at (added to store) between date1 and date2
-updated_at before date3
-joined with books that exist in shopping carts right now
Run Code Online (Sandbox Code Playgroud)
我还没有编写查询,但我认为rails版本将是这样的:
books_to_consider = Book.find(:all,
:conditions => "created_at <= '#{date2}' AND created_at >= '#{date1}' AND updated_at <= '#{date3}'",
:joins => "as b inner join carts as c on c.book_id = b.id")
Run Code Online (Sandbox Code Playgroud)
我并不是说ActiveRecord无法处理这个查询,但是为了便于阅读(或者还有其他我还不知道的限制),是否更容易接受原始SQL?
我有一个进程可以获取一系列"xml"文件.我把xml放在引号中的原因是文件中的文本没有一个根元素,它使得xml无效.在我的处理中,我想纠正这个并打开每个文件,在每个文件的开头和结尾添加一个根节点,然后将其关闭.这是我的想法,但这涉及打开文件,读取整个文件,在节点上标记,然后写出整个文件.这些文件的大小可能超过20 MB.
foreach (FileInfo file in files)
{
//open the file
StreamReader sr = new StreamReader(file.FullName);
// add the opening and closing tags
string text = "<root>" + sr.ReadToEnd() + "<root>";
sr.Close();
// now open the same file for writing
StreamWriter sw = new StreamWriter(file.FullName, false);
sw.Write(text);
sw.Close();
}
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我将Emacs用于shell脚本.我知道我在某处阅读了一些模式,以便更容易(代码完成,自动完成,括号匹配,语法高位,检查语法)在Emacs上编写Shell脚本但无法找到它.简而言之,我想将Emacs变成一个Bash IDE.
另外,还有其他工具/ IDE可以让GNU/Linux Shell上的脚本更容易吗?
所以我正在逐步完成我的代码,现在我再次运行该项目以转移到另一个断点.但是我的项目没有继续前进,而是崩溃说我超过了web服务的超时限制.
如何增加Web服务的超时限制,以便停止获取这些异常?
我有一个网站,要求用户使用用户名和密码进行身份验证.我想使用SSL,但我没有SSL证书.但是,我认为其他一些事情我觉得还可以.
我的网站主要是基于AJAX的,需要 JavaScript,否则什么都行不通.
当用户尝试登录时,我使用AJAX查询数据库以查找该用户名的盐,如果没有找到,则返回随机盐(以防止人们知道是否存在具有该用户名的用户) .然后,使用JavaScript的MD5函数,我将密码哈希并加密密码4K次(就像Linux使用MD5进行密码哈希)客户端,然后我以明文形式将该哈希传递给服务器.然后,将对此哈希进行多次哈希处理,并使用数据库中的内容进行检查.
这样安全吗?如果没有,我怎样才能保证它的安全而不需要为大多数内部网站提供SSL证书?
我有一个字符串,我需要看看它是否包含以下"_archived".
我使用以下内容:
preg_match('(.*)_archived$',$string);
Run Code Online (Sandbox Code Playgroud)
但得到:
Warning: preg_match() [function.preg-match]: Unknown modifier '_' in /home/storrec/classes/class.main.php on line 70
Run Code Online (Sandbox Code Playgroud)
我是正则表达式的新手,所以这可能很容易.
或者我应该使用更简单的东西
strstr($string, "_archived");
Run Code Online (Sandbox Code Playgroud)
提前致谢
情况就是这样,我的macbook pro中有两个网络接口.一个是静态定义的以太网接口,另一个是DHCP配置的无线接口.
我试图弄清楚如何配置一个特定的java项目只使用我的静态有线接口,而不是简单地通过JVM或我的IDEA(IntelliJ 8)选择列表中的第一个
我已经设法通过vmware实例实现了这个目标,我的虚拟环境仅仅依赖于我的有线接口,但是广告性能问题以及在windows/osx之间翻转的一般麻烦.
到目前为止,我一直无法找到一个jvm属性,让我指定使用哪个nic,也没有看到IntelliJ定义的文档.如果有人对如何尽可能无痛地解决这个问题有任何想法,我将不胜感激.
我正试图弄清楚如何做以下事情:
def foo(msf: String, o: Any, os: Any*) = {
println( String.format(msf, o :: List(os:_*)) )
}
Run Code Online (Sandbox Code Playgroud)
有一个原因,我必须单独声明方法o和一个os Seq.基本上,我最终得到了使用单个对象参数(类型List)调用的格式方法.尝试:
def foo(msf: String, o: Any, os: Any*) = {
println( String.format(msf, (o :: List(os:_*))).toArray )
}
Run Code Online (Sandbox Code Playgroud)
给我类型错误:
发现:数组[任意]
必需的Seq [java.lang.Object]
我尝试过编译,编译但失败的原因和第一个例子差不多.当我尝试
println(String.format(msg, (o :: List(os:_*)) :_* ))
Run Code Online (Sandbox Code Playgroud)
这无法使用隐式转换歧义进行编译(any2ArrowAssoc和any2stringadd)
我知道如何以丑陋的方式做到这一点,但我想知道是否有更优雅和简洁的方法.
我有一个字符串数组的电子邮件地址.假设字符串数组具有任意长度 - 它可能有几个项目,或者它可能有很多项目.我想构建另一个字符串,包括来自字符串数组的50个电子邮件地址,直到数组的末尾,并在每个50之后使用Send()方法中的50个地址的字符串调用发送操作.
更普遍的问题是做这种事情的最干净/最清晰的方法是什么.我有一个解决方案,这是我的VBScript学习的遗产,但我认为在C#中有更好的方法.
我在网上搜索过,但没找到任何东西......
有没有人有一个使用WinSock和OpenSSL的简单代码示例?我正在寻找一个简单的Visual C++ 2005或更高代码示例,它创建并打开winsock连接并使用OpenSSL应用必要的SSL设置并适当地释放所有资源.