今天有人问我他们应该如何在SQL数据库中存储任务目标.在这种情况下,想一下RPG.目标可能包括以下部分内容:
我能想到的最好的是:
Quest 1-* QuestStep
QuestStep 1-* MobsToKill
QuestStep 1-* PlacesToFind
QuestStep 1-* ThingsToAcquire
QuestStep 1-* etc.
Run Code Online (Sandbox Code Playgroud)
这似乎有点笨重 - 他们应该存储一些描述的查询(或公式或???)
任何建议赞赏
我正在使用PHP/CURL来自动化两个紧密相关的代码点火器之间的调用.
代码点火器返回两个set-cookie
标头,一个用于具有真实会话数据的安全cookie,一个用于具有空会话的不安全连接...
Set-Cookie: overshare=a%3A0%3A%7B%7D; expires=Thu, 17-Jun-2010 05:09:32 GMT; path=/
Set-Cookie: overshare=BdHJPVt...STsCxnMBj; path=/; secure
Run Code Online (Sandbox Code Playgroud)
我一直在尝试解析安全cookie(两个站点都在同一个域上,所以如果我通过CURL获得更新的会话信息,我应该更新客户端cookie,就像他们直接拨打电话一样)
我目前正在使用以下内容来解析cookie:
preg_match('/Set-Cookie: (.*)\b/', $Head, $Cookies);
Run Code Online (Sandbox Code Playgroud)
这给了我$Cookies
:
Array
(
[0] => Set-Cookie: overshare=a%3A0%3A%7B%7D; expires=Thu, 17-Jun-2010 05:09:32 GMT; path
[1] => overshare=a%3A0%3A%7B%7D; expires=Thu, 17-Jun-2010 05:09:32 GMT; path
)
Run Code Online (Sandbox Code Playgroud)
但这只匹配第一个set-cookie标头.我的正则表达能力很差 - 如何匹配第二个标题?
我需要ElasticDatastore
能够根据业务逻辑中的任意标准返回文档列表。
该方法目前看起来像这样......
private ElasticContext esLinq;
private void initialise() {
esLinq = new ElasticContext(new ElasticConnection(endpoint, index: index));
}
public IEnumerable<Entities.Item> Items(Func<Entities.Item, bool> predicate) {
var ret = esLinq.Query<Item>().Where(predicate);
return ret;
}
Run Code Online (Sandbox Code Playgroud)
我这样称呼它
var newItems = dataStore.Items(x=>
x.SomeField == node.SomeValue.ToString()
& (x.AssignedTo == null
| x.AssigmentExpires < DateTime.UtcNow)
).ToList();
Run Code Online (Sandbox Code Playgroud)
就目前情况而言,该方法返回零结果。通过使用弹性头(和卷曲),我可以验证是否存在符合索引中指定条件的文档。
我的第一个猜测是 EsLinq 预期的字段名称不正确(案例......索引是使用Nest构建的)。但是,我找不到一个好方法来检查 EsLinq 实际发送到 elasticsearch 的内容。
我可以
esLinq.Query<Item>().ToElasticSearchQuery();
Run Code Online (Sandbox Code Playgroud)
并获取一个表示(空白)查询的 json 字符串,但是...Query<Item>().Where(predicate)
返回一个IEnumerable<Item>
没有ToElasticSearchQuery
扩展名的字符串。
编译器接受
ret.AsQueryable().ToElasticSearchQuery()
Run Code Online (Sandbox Code Playgroud)
但我在运行时得到ArgumentException
:
Query must be of type …
Run Code Online (Sandbox Code Playgroud) 也许我忽略了这一点,但是来自C#背景,我看不出有任何理由使用Java的泛型......
在C#中,我有一个方法,它接受一个字符串并将其反序列化为一个对象...
public static Deserialize<T>(string source) {
// Use reflection to examine T and determine
// which properties I should be reading from
// the string. Create an instance of T,
// populate the properties and return it
}
Run Code Online (Sandbox Code Playgroud)
我可以打电话如下: x.Deserialize<AnyClass>("String representation of AnyClass");
类型擦除似乎使Java无法实现这一点?
我的下一个最常见的泛型用法是存储事物列表,但由于我不能做List<int>
并且必须使用盒子List<Integer>
,所以当我可以使用时,它似乎毫无意义的顶部装箱/拆箱int[]
.
所以...是泛型的唯一真正用途
List<MyClass> MyClassList = new List<MyClass>
Run Code Online (Sandbox Code Playgroud)
并获得一些类型的编译时类型检查?如果是这样的话,似乎非常多余,因为变量名称清楚地说明了类型应该是什么(至少只要我使用合理的命名约定).
我情不自禁地觉得我错过了什么......
我正在编写一个小型的Web服务,它以具有各种"主题"的图像的形式生成SO/SF/SU/MSO用户天赋.我发现这比使用SO提供的HTML/JS解决方案更为可取,因为它更灵活,并且在论坛签名中也更好.
我正在使用显然非官方的API检索数据(此处有更多信息).我可以用HTML或JSON格式获取数据.我假设JSON更容易解析.
不幸的是,我在正则表达方面并不擅长.而我能想到的最好的是一些非常hacky的子串.我相信正则表达式应该是最优雅的解决方案,但欢迎其他建议.
有人可以指出我正确的方向与匹配ID,GravatarURL,ProfileURL,DisplayName,声誉和徽章计数(青铜/银/金)的正则表达式.
FWIW这将在VB.Net项目中使用(如果影响语法)
{"id":1,"gravatarHtml":"\u003cimg src=\"http://www.gravatar.com/avatar/51d623f33f8b83095db84ff35e15dbe8?s=50&d=identicon&r=PG\" height=\"50\" width=\"50\" alt=\"\"\u003e","profileUrl":"http://stackoverflow.com/users/1/jeff-atwood","displayName":"Jeff Atwood","reputation":"18,446","badgeHtml":"\u003cspan title=\"8 gold badges\"\u003e\u003cspan class=\"badge1\"\u003e●\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e8\u003c/span\u003e\u003c/span\u003e\u003cspan title=\"57 silver badges\"\u003e\u003cspan class=\"badge2\"\u003e●\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e57\u003c/span\u003e\u003c/span\u003e\u003cspan title=\"72 bronze badges\"\u003e\u003cspan class=\"badge3\"\u003e●\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e72\u003c/span\u003e\u003c/span\u003e"}
Run Code Online (Sandbox Code Playgroud)
或者稍微可读的格式:
{
"id":1,
"gravatarHtml":"\u003cimg src=\"http://www.gravatar.com/avatar/51d623f33f8b83095db84ff35e15dbe8?s=50&d=identicon&r=PG\" height=\"50\" width=\"50\" alt=\"\"\u003e",
"profileUrl":"http://stackoverflow.com/users/1/jeff-atwood",
"displayName":"Jeff Atwood",
"reputation":"18,446",
"badgeHtml":"
\u003cspan title=\"8 gold badges\"\u003e\u003cspan class=\"badge1\"\u003e●\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e8\u003c/span\u003e\u003c/span\u003e
\u003cspan title=\"57 silver badges\"\u003e\u003cspan class=\"badge2\"\u003e●\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e57\u003c/span\u003e\u003c/span\u003e
\u003cspan title=\"72 bronze badges\"\u003e\u003cspan class=\"badge3\"\u003e●\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e72\u003c/span\u003e\u003c/span\u003e
"
}
Run Code Online (Sandbox Code Playgroud)
(注意:值得注意的是,如果你没有任何一个徽章,根本没有该徽章的入口,而不是显示"0")
不幸的是,我甚至不知道从哪里开始使用正则表达式,所以任何帮助,建议或文档都非常感谢
[编辑]
如果您对此感兴趣,可以在此处获得一些正在进行的工作的截图:Me,Jeff Atwood,Joel Spolsky
如果有人想要自己的话,我会公开访问吗?
[/编辑]
我写了一个简单的mandelbrot分形发生器(可根据要求提供漂亮的照片:)
我遇到的问题是,当我"放大"足够远时,图像开始像素化.经过一番调查后,这似乎是由于使用双精度类型的精度限制System.Numerics.Complex
来存储我计算中使用的实数和虚数值.
是否有任何其他类型我可以使用或其他方式来获得更高的精度(可能是以更多的内存为代价)
如果失败了,是否有一种简单的方法可以确定双倍的最大精度并禁用缩放功能,如果缩放会导致像素化?
提前感谢您提供的任何帮助
我有一个缩略图,它扫描给定目录并为它找到的图像文件生成缩略图.
我有加载其匹配允许的文件扩展名,我觉得图像(一个很好的通用的方式bmp
,jpg
,png
等),但......我想写的所有缩略图文件作为png
.
我不知道的是如何在没有扩展名的情况下方便地提取文件名并.png
在输出我的图像之前粘贴到最后...
For Each File In SourceFileList
Dim FileInfo = New FileInfo(File)
Dim ThumbFilename = String.Format("{0}\Thumb_{1}", TargetDir, FileInfo.Name) '<-- How do I set the correct name here?
Dim Thumb = Thumbnailer.Thumbnail(FileInfo.FullName, 100)
Thumb.Save(ThumbFilename, Imaging.ImageFormat.Png)
Next
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用Split
和各种其他字符串操作,但所有看起来都有点笨重.这样做有最佳实践方法吗?什么东西System.IO
?
(10年前,我从未想过split
会太笨重 - 时代变了!)