小编Bas*_*sic的帖子

如何在SQL中存储目标(想想RPG Quest)

今天有人问我他们应该如何在SQL数据库中存储任务目标.在这种情况下,想一下RPG.目标可能包括以下部分内容:

  • 发现[位置]
  • 杀死[MOB类型]
  • 获取[对象]的n
  • 在[技能组]中实现[技能]
  • 你在RPG中获得的所有其他东西

我能想到的最好的是:

Quest 1-* QuestStep
QuestStep 1-* MobsToKill
QuestStep 1-* PlacesToFind
QuestStep 1-* ThingsToAcquire
QuestStep 1-* etc.
Run Code Online (Sandbox Code Playgroud)

这似乎有点笨重 - 他们应该存储一些描述的查询(或公式或???)

任何建议赞赏

sql schema database-design

1
推荐指数
2
解决办法
1882
查看次数

PHP CURL使用preg_match解析多个set-cookie头

我正在使用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标头.我的正则表达能力很差 - 如何匹配第二个标题?

php regex curl preg-match

1
推荐指数
1
解决办法
7793
查看次数

了解 ElasticLinq 实际上在做什么

我需要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)

.net c# linq elasticsearch elasticlinq

1
推荐指数
1
解决办法
802
查看次数

有没有理由在Java中使用泛型?

也许我忽略了这一点,但是来自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)

并获得一些类型的编译时类型检查?如果是这样的话,似乎非常多余,因为变量名称清楚地说明了类型应该是什么(至少只要我使用合理的命名约定).

我情不自禁地觉得我错过了什么......

java generics

1
推荐指数
1
解决办法
1595
查看次数

.Net Regex解析特定的JSON格式

我正在编写一个小型的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&amp;d=identicon&amp;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&#9679;\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e8\u003c/span\u003e\u003c/span\u003e\u003cspan title=\"57 silver badges\"\u003e\u003cspan class=\"badge2\"\u003e&#9679;\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e57\u003c/span\u003e\u003c/span\u003e\u003cspan title=\"72 bronze badges\"\u003e\u003cspan class=\"badge3\"\u003e&#9679;\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&amp;d=identicon&amp;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&#9679;\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e8\u003c/span\u003e\u003c/span\u003e
    \u003cspan title=\"57 silver badges\"\u003e\u003cspan class=\"badge2\"\u003e&#9679;\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e57\u003c/span\u003e\u003c/span\u003e
    \u003cspan title=\"72 bronze badges\"\u003e\u003cspan class=\"badge3\"\u003e&#9679;\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

如果有人想要自己的话,我会公开访问吗?

[/编辑]

.net regex vb.net json

0
推荐指数
1
解决办法
1187
查看次数

更精确但功能与.Net中的双倍功能相同

我写了一个简单的mandelbrot分形发生器(可根据要求提供漂亮的照片:)

我遇到的问题是,当我"放大"足够远时,图像开始像素化.经过一番调查后,这似乎是由于使用双精度类型的精度限制System.Numerics.Complex来存储我计算中使用的实数和虚数值.

是否有任何其他类型我可以使用或其他方式来获得更高的精度(可能是以更多的内存为代价)

如果失败了,是否有一种简单的方法可以确定双倍的最大精度并禁用缩放功能,如果缩放会导致像素化?

提前感谢您提供的任何帮助

.net math precision

0
推荐指数
1
解决办法
131
查看次数

在.NET中更改文件扩展名的最佳方法是什么?

我有一个缩略图,它扫描给定目录并为它找到的图像文件生成缩略图.

我有加载其匹配允许的文件扩展名,我觉得图像(一个很好的通用的方式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会太笨重 - 时代变了!)

.net .net-4.0

0
推荐指数
1
解决办法
143
查看次数