我有一个带回形针的Rails 3应用程序,目的是在S3上存储数据.
在应用程序中,用户属于一个实例.
我希望每个实例的所有模型都存储数据.并且希望阻止来自实例A的用户访问或能够从实例B加载数据.
处理这个问题的最佳方法是什么?谢谢
写一些测试用例和我的思绪徘徊,假设有更好的方法来写这样的东西.我有一个列表,它的数字从所有奇数值转换到所有偶数,无所谓.我需要断言这是事实,这就是我想出的:
values = [1, 3, 5, 7, 5, 3, 5, 3, 5, 7, 4, 6, 8, 4, 2, 2, 8, 6]
# find all the indexes of odd and even values
odds = [i for (i, v) in enumerate(values) if v % 2 == 1]
evens = [i for (i, v) in enumerate(values) if v % 2 == 0]
# indexes should be a continuous sequence: 0, 1, 2, 3 ... n
assert odds + evens == range(evens[-1] + 1) …Run Code Online (Sandbox Code Playgroud) 我有一个Makefile,其中包含一对如下规则:
file.c: filesvn
filesvn: .svn/entries
action1
action2
Run Code Online (Sandbox Code Playgroud)
在svn存储库中,这当然可以正常工作.该文件依赖于生活在subversion存储库中.从存储库导出时,这不起作用(没有规则来制作目标...),我想解决这个问题.我试图简单地将以前生成的filesvnout 版本带到导出的目录中,但Make仍坚持验证其filesvn依赖性.
当然,简单地删除.svn/entries的依赖关系确实有效,但是由于观察修订更新是目标,因此规则的精神被打破了.
有没有办法让Make不在乎.svn/entries文件不存在?
这种技术的优点并不是问题的一部分.我无法从根本上改变这一点,但如果有一种改变可以保持可能有效的精神.答案"你不能"当然是完全有效的.:)
我需要以mm-dd-yyyyy格式将日期选择器的初始日期设置为03/20/2010.我做到了这一点
<input id='datepicker' type='text' value='20/03/2010' />
Run Code Online (Sandbox Code Playgroud)
但我的问题是点击字段日期选择器填充今天的日期为高亮度,没有选择日期,并选择日期值
但当我改变我的输入字段时,如下所示
<input id='datepicker' type='text' value='03/20/2010' />
Run Code Online (Sandbox Code Playgroud)
日期选择器将在3月20日填充,因为选中的日期和当前日期会突出显示.但都是'mm-dd-yyyy'格式!
我希望用'dd-mm-yyyy'格式显示所有日期.我怎么解决这个问题?
我尝试了下面的一些选项和组合,但没有一个解决了我的问题
$("#datepicker").datepicker();
$("#datepicker").datepick({dateFormat: 'mm/dd/yyyy'});
$("#datepicker").formatDate('dd/mm/yy');
$('#datepicker').datepicker("setDate", new Date($("#datepicker").val()) );
Run Code Online (Sandbox Code Playgroud)
更新:不幸的是我不能直接通过javascript sice设置Date值march 20它是动态变化的并且存储在PHP变量中.我需要从输入字段本身获取默认值.
希望这对于SQL-Ninja来说是微不足道的......试图让以下查询工作:
这适用于SQL Server 2008
SELECT
ROW_NUMBER() OVER (ORDER BY Date_Time DESC) AS RowNumber, *
FROM
(SELECT
T.A_ID, T.User_Name, T.Date_Time, T.Value,
U.ID, U.Name, U.Field1, U.Field2,
COUNT(U.ID) OVER () AS TotalRows
FROM
TeeTable as T
INNER JOIN
YouTable AS U ON T.U_ID = U.ID
WHERE
T.Value BETWEEN 222 AND 225) Filtered
WHERE
RowNumber BETWEEN 1 AND 5
Run Code Online (Sandbox Code Playgroud)
这些值在某种程度上是为了给出一个具体的例子而设计的,但是查询的精神被完全保留了下来.我从这个陈述中得到的错误是:
列名称'RowNumber'无效.
如果我删除最后的WHERE子句(RowNumber BETWEEN ...),它返回一个预期的结果集(A_ID,User_Name,Date_Time等...),在所述结果中RowNumber为一列(具有敏感值).但我无法在WHERE子句中与它进行比较.我显然做了一些愚蠢的事情,但这达到了我的SQL限制!
我已经尝试将其重新安排为CTE,(WITH Filtered AS ...)但最终结果是一样的,看来这只是我已经在做的糖.
想法?如何过滤RowNumber派生列?
我有一个列表,我希望根据从结构类型B到A的转换进行分块.例如,我有以下内容:
iex(1)> defmodule A, do: defstruct []
{:module, A ...
iex(2)> defmodule B, do: defstruct []
{:module, B ...
iex(3)> values = [ %A{}, %A{}, %B{}, %B{}, %B{}, %A{}, %A{}, %B{} ]
[%A{}, %A{}, %B{}, %B{}, %B{}, %A{}, %A{}, %B{}]
Run Code Online (Sandbox Code Playgroud)
我希望将这些数据分成2个元素列表,其中包含:
[ [ %A{}, %A{}, %B{}, %B{}, %B{} ], [ %A{}, %A{}, %B{} ] ]
Run Code Online (Sandbox Code Playgroud)
如果输入最初都是A或全部B,则输出将保持不变,因为没有发生B-> A转换.
我想Enum.chunk_by/2是要走的路,但是我很难弄清楚如何保持前一个元素的上下文来知道何时分割.
对这样的事物的惯用解决方案是什么样的?
我正在修改一些现有的严格代码,只需调用[tableView reloadData]任何更改,使用插入/删除方法使用更具体的表更新.
但是,我这样做会有一些非常糟糕的行为.以前,正如人们所想象的那样,当表加载时,它只请求当时可见的行的单元格.这是使用时的行为reloadData.
现在insertSections正在调用,在更新后请求所有单元格,可以是数百个.这导致为每一行创建单元格,完全破坏可重用的单元格队列,并且只是浪费.我一定是做错了.
更改就是这个简单的代码,导致tableView只询问可见行:
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context {
// ... ensure it's the right key
[tableView reloadData];
}
Run Code Online (Sandbox Code Playgroud)
导致tableView要求所有内容的代码:
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context {
// ... ensure it's the right key
NSUInteger sectionCount = [self sectionCount];
NSIndexSet *indices = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, sectionCount)];
[tableView insertSections:indices withRowAnimation:UITableViewRowAnimationFade];
}
Run Code Online (Sandbox Code Playgroud)
我可以来回切换以查看行为的变化.令人沮丧.想法?
添加赏金只是为了看看是否有人有更多的洞察力.
beginUpdates/endUpdates不影响任何东西,我不指望它,这只是一个命令,没有额外的东西可以合并到一个更新中.
我认为这只是想要动画的副作用.要让所有内容"滑动",它必须拥有一切要呈现的内容.游戏结束.
我正在读一个二进制文件,其中有一个结构,其中数据的第一个字节表示跟随它的数据类型.我试图通过模式匹配处理这个问题,但我遇到了麻烦.
我尝试了一些我认为可行的方法,但没有一种方法可行.您可以在下面看到我的微弱尝试:
defmodule Test do
def build(<< 0x11, rest >>) do
"11!"
end
def build(<< 0x12, rest :: size(4) >>) do
"12!"
end
def build(<< type, rest >>)
when type == 0x13 do
"13!"
end
def build(bytes) do
"Unknown!"
end
end
[ << 0x11, 0x01, 0x02, 0x03, 0x04 >>,
<< 0x12, 0x01, 0x02, 0x03, 0x04 >>,
<< 0x13, 0x01, 0x02, 0x03, 0x04 >> ]
|> Enum.map(&Test.build/1)
|> IO.inspect
# => ["Unknown!", "Unknown!", "Unknown!"]
Run Code Online (Sandbox Code Playgroud)
我想得到:["11!", "12!", "13!"]相反.
这些匹配的数据都是固定大小(在这种情况下总共5个字节). 这个SO问题 …
我有一个动态配置的时区的 rails 应用程序。它存储在包含其他选项的数据库表中,并且 rails 应用程序本身配置为 UTC(默认)。
我已经通过一个简单的around过滤器使用Time.use_zone(..., &block).
我想为我的 Sidekiq 员工做类似的事情。其中一些处理与时区相关的数据,因此他们需要它。我在 Sidekiq 本身没有看到任何可用的过滤选项,没有回调,在我可以挂钩的类型之前/之后。我目前的解决方案是prepend一个模块,如下所示:
module TimeZoneAwareWorker
def perform(*args)
Time.use_zone(Options.time_zone) do
super
end
end
end
Run Code Online (Sandbox Code Playgroud)
并混入:
class MyWorker
include Sidekiq::Worker
prepend TimeZoneAwareWorker
...
end
Run Code Online (Sandbox Code Playgroud)
这适用于简单的工人,但如果prepend与include Sidekiq::Worker. 如果工作程序是子类化的,则层次结构不适用于perform包装实现的前置任务。
有没有更好的办法? 最终,我真正想要的是一种万无一失的方法,用另一种方法包装单个方法,并产生包装的实现。
我知道我的另一个选择是在 Sidekiq 的实现中对前/后/周围类型回调进行猴子修补,但我只想在被迫时去那里。
使用URL,更具体地说,是从其他已发现的URL逐步构建它们.在这样做时,我想继续使用NSURL对象而不是操纵NSStrings,只是为了从URL类中获得额外的健全性检查和特定于URL的方法.
不幸的是,似乎没有办法让以下内容加入到我希望的方式:
NSURL *base = [NSURL URLWithString:@"http://my.url/path"]; NSString *suffix = @"sub/path";
我想追加他们:
http://my.url/path/sub/path
但我能得到的最好的是:
NSURL *final = [NSURL URLWithString:suffix relativeToURL:base];
哪个修剪了基础上的路径,导致:
http://my.url/sub/path
有一个CoreFoundation函数可以做到:
CFURLRef CFURLCreateCopyAppendingPathComponent ( CFAllocatorRef allocator, CFURLRef url, CFStringRef pathComponent, Boolean isDirectory );
这似乎工作正常,但从ObjC到C的反复弹跳是令人不快和恼人的...我宁愿只是操纵字符串...我错过了什么?除了当然太挑剔了.:)
我需要反转用户输入的字符串.
我需要以最简单的方式完成它.我试图做reverseOrder(UserInput),但它没有工作.
例如,用户输入abc我只是取字符串并打印出cba
elixir ×2
objective-c ×2
amazon-s3 ×1
date ×1
datepicker ×1
format ×1
ios ×1
iphone ×1
java ×1
jquery ×1
list ×1
makefile ×1
paperclip ×1
python ×1
ruby ×1
sidekiq ×1
sql ×1
sql-server ×1
uikit ×1
uitableview ×1