好像我可能在语法中遗漏了一些简单的东西,但是我想直接从linq语句中获取FirstOrDefault的结果,而不必先将IEnumerable存储在临时变量中.像这样的东西:
var bestCar = from c in cars
orderby c.Price
select first c
Run Code Online (Sandbox Code Playgroud)
我知道第一个关键字实际上并不存在,但说明了我想要做的事情.我也知道我可以在括号中包含from ... select语句并直接调用FirstOrDefault,但我认为上面的语法更清晰,更易于阅读.
我们有一个Rails 3.1应用程序,允许用户将照片上传到Amazon S3.由于我们在生产中使用S3,我想自动(上cap deploy)将预编译的资产(application.js和application.css&images)上传到我们的S3存储桶中.很简单.
超越设定 config.action_controller.asset_host = "http://assets.example.com"
简而言之,我正在寻找Capistrano工作"配方"的一些例子,但似乎找不到任何现代的(3.1资产管道兼容).我们成功预编制了资产但是如何将它们移到S3?而且,理想情况下,只有那些已经改变的?
当前"食谱"的"肉":
...
after "deploy:update_code", "deploy:pipeline_precompile"
before "deploy:finalize_update", "deploy:copy_database_config"
namespace :deploy do
task :start do ; end
task :stop do ; end
task :restart, :roles => :app, :except => { :no_release => true } do
run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
end
# copy database.yml into project
task :copy_database_config do
production_db_config = "/path_to_config/#{application}.yml"
run "cp #{production_db_config} #{current_release}/config/database.yml"
`puts "replaced database.yml with live copy"`
end
task :pipeline_precompile do
run "cd …Run Code Online (Sandbox Code Playgroud) 出于某种原因,当某些机器人访问该站点时,使用该UrlHelper.Action方法生成一个url 会引发一个null异常System.Web.HttpServerVarsCollection.Get.我做了一些调试,调用堆栈起源于尝试从HttpContextBase.Request.ServerVariables集合中获取'HTTP_X_ORIGINAL_URL' .
如果我直接从浏览器访问同一个地址 - 没问题.该页面是服务器,不记录任何错误.它似乎只发生在机器人访问时.
不确定它是否相关,但该网站刚刚迁移到IIS 7.5.仍在集成模式下使用.NET 2.0.
通过Reflector查看反转的代码,在Get方法中可以直接发生null异常的唯一地方是调用this._request.FetchServerVariables.好像没有正确设置完整的请求.
有没有其他人遇到这个问题或发现了一个解决方法?为什么在机器人访问时请求的设置不同?
更新:一些额外的调试表明HttpServerVarsCollection是Disposed,以及它的父HttpRequest对象.现在的问题是 - 如何在请求完成之前公开HttpContext.Current返回的Request对象?
HttpServerVarsCollection.Get方法
public override string Get(string name)
{
if (!this._populated)
{
string simpleServerVar = this.GetSimpleServerVar(name);
if (simpleServerVar != null)
{
return simpleServerVar;
}
this.Populate();
}
if (this._iis7workerRequest == null)
{
return this.GetServerVar(base.BaseGet(name));
}
string serverVar = this.GetServerVar(base.BaseGet(name));
if (string.IsNullOrEmpty(serverVar))
{
// Only place null reference can happen
serverVar = this._request.FetchServerVariable(name);
}
return serverVar;
}
Run Code Online (Sandbox Code Playgroud)
完整堆栈跟踪
NullReferenceException: …Run Code Online (Sandbox Code Playgroud) 对于我正在做的一些基本布局工作,我想要立即跟随价格的链接始终显示在与价格相同的行上.价格文本包含在<span class="price">标签中,而链接使用buy-link类,如下所示<a href="/buy" class="buy-link">Buy Now</a>.
我正在寻找可以自动防止span和a标签之间断线的CSS,但我要么缺少某些东西,要么就是无法完成.我可以轻松地防止两个标签内的换行- 但不能防止它们之间的换行.
我想避免使用手动将两个标签包装span在一起white-space: nowrap并尽可能使用纯CSS.
更新: HTML类似于以下内容.这不是真正的代码,而是非常相似.
<style>
.price{ font-weight: bold; }
.buy-link{ color: green; }
</style>
<span class="price">$50</span> <a href="/buy" class="buy-link">Buy Now</a>
Run Code Online (Sandbox Code Playgroud)
如果链接恰好位于页面边缘附近 - 或者在一个<div>或多个<table>浏览器中的块边缘将"立即购买"链接包装到下一行.分开这两个要素.
我正在使用YARD为我的rails应用程序生成文档,使用makrdown作为脚本解析器.大多数文档功能都是开箱即用的.但是,我还想将模型属性记录为一个,记录模型上的可用属性列表和两个,以描述它们的语义含义.
我无法在YARD中找到任何特殊的支持,我基本上只是列出了类评论中的属性.有没有办法记录动态生成的模型属性,以便它们出现在文档中,如标准属性/方法?
PS我已经使用annodate-models gem在类列表的顶部生成一个基本的模式转储,但这不是我想要的.
我的应用程序中至少有两个控制器当前使用自己的CLLocationManager实例.我很好奇但是如果使用多个实例实际上会给手机增加额外的负担 - 超出了不同实例的额外内存.
iPhone会多次ping GPS硬件,还是使用某种调度方式,以便硬件被抽象出来并转发给所有听众?我正要编写自己的抽象层来处理多个观察者,但想检查是否有任何知识表明它没有必要.
是否可以在加载实体时始终急切加载关联.例如
class Book
has_many :chapters
end
class Chapters
belongs_to :book
end
book = Book.find_by_title('Moby Dick')
Run Code Online (Sandbox Code Playgroud)
我知道你可以在电话中急于加载找到ie.book = Book.find_by_title( 'Moby Dick', :include => :chapters)但在这种情况下,我知道每当我找到一本书时,我总是希望这些章节急切加载,而不需要记住:include =>参数.
在MSBuild中,您可以覆盖<Target />自己的另一个文件.例如,只需通过定义具有相同名称的自己的Target,文件中包含的AfterBuild目标Microsoft.Common.targets:
<Target Name="AfterBuild">
<!-- Do something different -->
</TargetName>
Run Code Online (Sandbox Code Playgroud)
你会看到这样一个音符:
在项目"XXXXX"中使用目标"AfterBuild"覆盖项目"C:\ Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets"中的目标"AfterBuild".
有没有办法调用原始的AfterBuild目标?
我想这样做来检测某些复杂的默认目标,然后执行原始行为.像Build这样的许多目标暴露了可用于此的BuildDependsOn属性.许多其他人没有 - 我想在不完全复制其内容的情况下覆盖它们.
我正在构建一个流畅的接口,其中我有一个包含大量流畅逻辑的基类,以及一个添加了一些特殊行为的派生类.我面临的问题是从派生类型的实例调用时基类中的流畅方法的返回类型.在调用基类的方法之后,只有基类的方法仍然可用于进一步的流畅调用.
更改调用方法的顺序将有助于编译,但它使其可读性降低,这对于流畅的接口来说是有意义的.有没有办法为基类定义某种"This"类型,以便所有方法返回相同的类型.
public class Field<T>
{
public Field<T> Name( string name )
{
_name = name;
return this;
}
}
public SpecialField<T> : Field<T>
{
public SpecialField<T> Special(){ return this; }
}
// !!! Arrgh. Special is not a member of the Field<T> class.
var specialField = new SpecialField()
.Name( "bing" )
.Special();
Run Code Online (Sandbox Code Playgroud)
我尝试通过执行类似下面的操作来解决它,但它无效C#:(但至少表达了我想如何编码接口.
public class Field<T,TThis> : TThis
where TThis : Field<T,TThis>
{
public TThis Name( string name ){...}
}
public SpecialField<T> : Field<T,SpecialField<T>>
{
public TThis …Run Code Online (Sandbox Code Playgroud) 我正在使用NSDecimalNumber在Core Data中存储资金.我天真地使用stringWithFormat:首先要格式化值,后来意识到它不支持NSDecimalNumber而是格式化指针:(.所以在通过文档阅读之后我学会了使用NSNumberFormatter来获取我想要的格式.但这只是让我觉得"艰难的道路".有没有比这更简单的方法:?
NSNumberFormatter * formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle: NSNumberFormatterCurrencyStyle];
priceField.text = [formatter stringFromNumber: ent.price];
[formatter release];
Run Code Online (Sandbox Code Playgroud) .net ×2
iphone ×2
ruby ×2
activerecord ×1
c# ×1
capistrano ×1
cocoa ×1
css ×1
fluent ×1
generics ×1
linq ×1
msbuild ×1
objective-c ×1
whitespace ×1
yard ×1