def refresh_menu
@menu_pages = []
$menu_items.each do |id|
@menu_pages[id - 1] = Page.find(id)
end
end
Run Code Online (Sandbox Code Playgroud)
$ menu_items只是一个数组[1,2].显然我想要做的是填充@menu_pages,其中包含根据$ menu_items找到的所有页面.
提个醒,
@menu_pages = Page.all
Run Code Online (Sandbox Code Playgroud)
工作得很好.那么为什么我不能用Page.find(id)一个一个地添加它们呢?
错误返回:
当你没想到它时,你有一个零对象!您可能期望一个Array实例.评估nil.each时发生错误
我有一个程序,开始不断在三个独立的计时器之间玩杂耍.
我的应用程序的主线程有一个while循环,不断检查全局变量是否已设置为true,如果有,它将停止一个计时器并启动另外两个 - 一个连续,另一个自动停止它,如果它不是'无论出于何种原因,他都要求停下来.
这个while循环的条件为(1 == 1),因此它会永远运行.
在任务管理器(XP)中,我看到我的程序在或多或少闲置的系统上占用了50%的CPU.
有没有办法通过降低while循环的速度来减少这个数字?
谢谢.
假设我每秒都有大约150个请求进入api(node.js),然后在Redis中登录.按照这个速度,价格适中的RedisToGo实例每小时左右就会填满一次.
日志只是生成每日\ monthly\annual统计信息所必需的:这是最受欢迎的关键字,它是最高请求的网址,每日请求的总数等.没有超级重的计算,但有点耗时的数组运行看哪个是每个中最常见的元素.
如果我分析然后转储这些数据(在节点中使用setInterval函数可能?),比方说,每30分钟一次,这似乎不是什么大问题.但是如果突然间我必须处理每秒2500个请求呢?
我突然间每小时处理4.5~Gb的数据.每30分钟约2.25Gb.即使redis \node有多快,计算最频繁的请求仍需要一分钟.
问题:当处理2.25 gb的dada时,redis实例会发生什么?(从列表中,我想)
是否有更好的方法来处理潜在的大量日志数据,而不是将其移动到redis然后定期刷新?
我可能会遗漏一些非常简单的东西......
说我有模型叫Option.然后,我在视图中列出这些选项,使用启用/禁用按钮导致控制器操作,然后启用或禁用该特定的控制器操作Option.
如果列表只在一个地方,我知道只是打电话redirect_to或render让用户回到正确的页面,因为只有一个.
如果同一个列表在多个位置怎么办?
这意味着,如果只有一个控制器具有启用/禁用操作,如何让该控制器将用户"返回"到他们单击按钮的页面?
我想将上一页保留在会话变量或其他东西,但这似乎是错误的.
Time.now 会产生类似的东西:
2013-07-24 22:23:08 -0700
我想要:
2013-07-24 22:23:08
用于后续进入DB.一定要简单,但我没有在时间文档中找到它.写作Time.now.to_s[0..19]听起来像糟糕的编程.
我正试图抓住从当天午夜创建的所有记录,直到按下按钮为止.
我曾经尝试过类似的东西,但它并没有真正解决问题.
SELECT COUNT(*) FROM ... AND a.lastAction > now() - interval '24 hour'"
Run Code Online (Sandbox Code Playgroud)
我需要的是:
SELECT COUNT(*) FROM ... AND a.lastAction > midnight() AND a.lastAction < now()
Run Code Online (Sandbox Code Playgroud)
有没有办法将字符串转换"2013-08-06 00:00:01"为时间戳?
所以我有一个XML feed返回一堆结果.首先,我在这里创建一个XML解析器,如faino的答案所述.
XML解析得很好.每个结果都是这样的:
<result>
<title>some title</title>
<bid>0.05123</bid>
<description>some desc</description>
</result>
Run Code Online (Sandbox Code Playgroud)
所以我有:
// parse
var xmlParser = returnXMLParser();
var resultsDoc = xmlParser(adXML.responseData); // #document
var listings = resultsDoc.getElementsByTagName('listing'); // returns 8-10
// get title node
var title = listings[0].getElementsByTagName('title')[0];
title.nodeType // 1
title.nodeName // "title"
Run Code Online (Sandbox Code Playgroud)
这里的问题,虽然,我都想尽财产可以想象得到的内部文本:textConent,innerText,innerHTML,nodeValue-他们都不在IE8工作.
使用相同的脚本在Chrome/FF中完美运行 .textContent
救命!
我想用Sinatra创建一个简单的实验性MVC框架.
我想按名称定义资源"pages",例如应该解决:
/pages (index)
/pages/new
/pages/:id/show (show)
Run Code Online (Sandbox Code Playgroud)
如同映射到app/controllers/PagesController.rb对应get('/')负责索引,post('/pages/create')负责创建等.
在阅读官方文档之后,我甚至感到非常困惑.我想我需要使用非经典的Sinatra模型,但有人能指出我正确的方向吗?
谢谢
我想使用 puppeteer 搜索页面并返回所有可用资产,包括图像、pdf、任何可嵌入的内容等。
出于我们的目的,让我们简单地使用图像。img标签有一个src属性,但是通过 CSS 规则加载的图像呢?有没有办法查看加载的资产总数?
我正在尝试将资源从资源复制到%localappdata%.我有这样的事情:
HINSTANCE hInstance = GetModuleHandle(NULL);
HANDLE hFile = INVALID_HANDLE_VALUE;
HRSRC hrsrc = FindResource(hInstance, MAKEINTRESOURCE(MSIE), RT_RCDATA);
HGLOBAL exeRes = LoadResource(hInstance, hrsrc);
DWORD size = SizeofResource(hInstance, hrsrc);
TCHAR szPath[MAX_PATH];
HANDLE hfile;
if(SUCCEEDED(SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA|CSIDL_FLAG_CREATE, NULL, 0, szPath))) {
PathAppend(szPath, TEXT("test.exe"));
hFile = CreateFile(szPath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
}
LPVOID exePtr = LockResource(hrsrc);
DWORD exeWritten = 0;
BOOL writeResult = WriteFile(hFile, exePtr, size, &exeWritten, NULL);
cout << GetLastError() << endl;
BOOL closed = CloseHandle(hFile);
system("PAUSE");
return 0;
Run Code Online (Sandbox Code Playgroud)
我能够找到HRSRC并使用SizeofResource()确认大小.CreateFile实际上是创建文件并返回句柄.GetLastError()报告没有错误.写入磁盘的字节数完全正确.
然而输出exe已损坏(此文件的版本与Windows的版本不兼容......等等) - 它丢失了它的图标和一切.在十六进制编辑器中并排 …
var exec = require('child_process').exec
var cmd = 'C:\\Users\\Johnny Cash\\Desktop\\executeme.exe'
exec(cmd, function(e, stdout, stderr) {
console.log(e);
console.log(stdout);
console.log(stderr);
});
Run Code Online (Sandbox Code Playgroud)
"C:\ Users\Johnny"未被识别为内部或外部命令
这必须是有史以来最新的问题,但如何在窗户上使用空格来逃避这些路径呢?它在这个空间被切断了,我所做的一切(单人或双人事先逃脱)似乎都可以解决问题.是否exec()做了一些格式,我不知道的?
我有一个User模型和一个Dispute模型。争议包含涉及用户的列表,以及“原告”和“被告”。我希望能够做到这一点:
Dispute.first.users
#[<User 1>, <User 2>]
Dispute.first.accuser
#<User 1>
Dispute.first.defendant
#<User 2>
Run Code Online (Sandbox Code Playgroud)
所以这是我的模型:
class Dispute < ApplicationRecord
has_and_belongs_to_many :users
belongs_to :accuser, polymorphic: true
belongs_to :defendant, polymorphic: true
end
class User < ApplicationRecord
has_and_belongs_to_many :disputes
has_one :user, as: :accuser
has_one :user, as: :defendant
end
Run Code Online (Sandbox Code Playgroud)
迁移:
class CreateDisputes < ActiveRecord::Migration[5.0]
def change
create_table :disputes do |t|
t.references :accuser, polymorphic: true, index: true
t.references :defendant, polymorphic: true, index: true
end
end
end
class CreateUsers < ActiveRecord::Migration[5.0]
def change
create_table …Run Code Online (Sandbox Code Playgroud) 我刚刚第一次接受了那些采访编码测验,而我正介于淹没在一个dran-o的浴缸和投资No Tears泡泡浴产品以及一堆烤面包机之间.
问题如下:
如果给你一个字符串"zx(c)abcde[z{x]}",写一个函数,如果语法正确则返回true,如果语法不正确则返回false:例如,在该字符串中,括号和大括号混乱.换句话说,"{hello}mot[o]"会通过,但"{hello}mo{[t}"不会.
我的整个过程如下:保持一个开始和结束括号/括号/ parens位置列表,然后查看是否有重叠.但这不是最佳解决方案,因此我对其进行了轰炸.
我想帮助理解如何解决这个问题.
提前致谢.
ruby ×7
javascript ×3
node.js ×3
performance ×2
postgresql ×2
routing ×2
time ×2
activerecord ×1
c# ×1
c++ ×1
cpu ×1
escaping ×1
express ×1
foreign-keys ×1
heroku ×1
logging ×1
loops ×1
nodes ×1
parsing ×1
path ×1
pg ×1
puppeteer ×1
redis ×1
sinatra ×1
sql ×1
string ×1
syntax ×1
timer ×1
timestamp ×1
web-scraping ×1
winapi ×1
windows ×1
xml ×1