小编FBr*_*t87的帖子

OpenGL ES 1.1到2.0有哪些重大变化?

我正在使用cocos2d创建一个iPhone应用程序,我正在尝试使用以下OpenGL ES 1.1代码.但是,我不熟悉OpenGL,我的应用程序使用OpenGL ES 2.0,所以我需要转换它.

因此我想知道,将以下代码从ES 1.1转换为ES 2.0有多难?是否有一些来源可以告诉我哪些方法需要更换等?

-(void) draw
{
    glDisableClientState(GL_COLOR_ARRAY);
    glDisableClientState(GL_TEXTURE_COORD_ARRAY);
    glDisable(GL_TEXTURE_2D);

    glColor4ub(_color.r, _color.g, _color.b, _opacity);
    glLineWidth(1.0f);
    glEnable(GL_LINE_SMOOTH);

    if (_opacity != 255)
        glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

    //non-GL code here

    if (_opacity != 255)
        glBlendFunc(CC_BLEND_SRC, CC_BLEND_DST);

    glEnableClientState(GL_COLOR_ARRAY);
    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
    glEnable(GL_TEXTURE_2D);
}
Run Code Online (Sandbox Code Playgroud)

xcode opengl-es cocos2d-iphone opengl-es-2.0

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

循环遍历ZIP存档的子目录中的文件

假设我有一个包含10个文本文件的zip文件.使用以下方法迭代这些文本文件很容易:

using (ZipArchive archive = ZipFile.OpenRead(zipIn))
{
    foreach (ZipArchiveEntry entry in archive.Entries)
    {
        Console.writeLine(entry)
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,假设文本文件位于子目录中:

zip/subdirectory/file1.txt
Run Code Online (Sandbox Code Playgroud)

在这种情况下,上面的代码只输出子目录文件夹('子目录'),而不是该文件夹中的所有文本文件.

是否有一种简单的方法来循环子目录中的文件?

.net c# zip

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

IIS URL 重写 - 如何查看重写的 URL?

在 IIS 中,我设置了一个带有入站规则的基本 URL 重写,以对另一个域执行重写操作:

模式匹配:^somedirectory/(.*)

动作类型:重写

重写网址: http: //www.google.com/ {R:1}(仅使用google作为测试)

问题是,我如何才能真正看到服务器将 URL 重写为什么?当我检查 IIS 日志时(我勾选了“日志重写 URL”选项),我希望能在某个地方看到 www.google.com - 但无处可寻。

该模式肯定是匹配的,因为我收到错误:“502 - Web 服务器在充当网关或代理服务器时收到无效响应。”

我怎样才能看到幕后发生的事情(IIS 如何更改请求)?

iis proxy url-rewriting

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

简单地URL重写不起作用

我正在尝试设置IIS URL 重写功能,只是将任何URL请求发送到谷歌(作为测试):

            <rule name="Intercept" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
                <match url="(.*)" />
                <action type="Rewrite" url="google-homepage-url-here" appendQueryString="false" logRewrittenUrl="true" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="example.com$" />
                </conditions>
            </rule>
Run Code Online (Sandbox Code Playgroud)

我正在使用重写而不是重定向,因为我需要隐藏用户的URL.以上配置适用于Redirect,但不适用于Rewrite,为什么会这样?

当我点击http://example.com/blablabla时,我得到了404.4

我的目标是将用户定向到Google主页.

我安装了ARR,有什么想法吗?

iis iis-7 url-rewriting

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

EF 在集合中显式加载集合

一个简单的问题,但从实体框架 MSDN 示例和其他搜索中,我看不到执行此操作的正确方法。

我可以像这样显式加载 EF 集合:

db.Entry(project).Collection(p => p.Reports).Load();
Run Code Online (Sandbox Code Playgroud)

但是,如果每个报告中都有一个需要加载的页面列表,我该怎么做?我认为它是这样的:

db.Entry(project.Reports).Collection(r => r.Pages).Load();
Run Code Online (Sandbox Code Playgroud)

但这行不通,因为 'r' 是 ICollection of Reports。在集合中加载集合的正确方法是什么?

c# entity-framework

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

.NET Confluent Kafka 消费者内存泄漏

当使用 Confluent Kafka .NET 库从 Kafka 消费时,我们看到了巨大的内存泄漏。

我注意到的一件事是代码在没有 using 语句的情况下使用:

while (true)
{
    if (_consumer.Consume(out Message<string, string> message, TimeSpan.FromMilliseconds(100)))
    {
        OnMessage(message);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,该 while 循环在应用程序的整个生命周期内运行,因此 .Dispose() 永远不会在消费时被调用。不会创建其他消费者实例。

由于库背后的代码是 C 语言,如果我们调用 GC.Collect() 会清除库创建的对象,还是垃圾收集器无法控制的非托管代码?

其他任何可能导致泄漏的事情,是否需要在某些时期或类似的时间调用 consumer.Close() ?

.net c# apache-kafka confluent-platform

5
推荐指数
0
解决办法
705
查看次数

Dockerfile - 仅复制与扩展名匹配的文件,同时保持文件夹结构

假设我有一个非常嵌套的文件夹结构,其中包含许多项目文件:

src
  projectA
    projectA.csproj
    someFile.txt
  projectB
    projectB.csproj
    someFile.txt
  projectC
    projectC.csproj
    someFile.txt
Run Code Online (Sandbox Code Playgroud)

在本例中,我希望 DockerFile 复制完整的文件夹结构,但仅包含 .csproj 文件:

src
  projectA
    projectA.csproj
  projectB
    projectB.csproj
  projectC
    projectC.csproj
Run Code Online (Sandbox Code Playgroud)

我可以对每个文件逐行执行此操作,但是有更干净的方法吗?

COPY src/projectA/projectA.csproj src/projectA/projectA.csproj
COPY src/projectB/projectB.csproj src/projectB/projectB.csproj
COPY src/projectC/projectC.csproj src/projectC/projectC.csproj
Run Code Online (Sandbox Code Playgroud)

docker

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

在JavaScript中使用{}?

非常简单的问题,但我对JS很新,这不容易搜索.

如果我看到这样的一行:

var colours = {}, r, g, b;
Run Code Online (Sandbox Code Playgroud)

我知道这只是3个vars的声明,但{}位是什么意思?我无法看到任何可以让我了解这是什么声明的想法?

谢谢!

javascript

4
推荐指数
2
解决办法
216
查看次数

EntityFramework 6.0每行生成一个DELETE

我在聚簇索引上删除了大约5000行我的表,而EF需要将近30秒才能完成.

记录生成的SQL显示它正在为每一行执行一次删除:

DELETE [dbo].[Table]
WHERE ([ColumnID] = @0)
Run Code Online (Sandbox Code Playgroud)

所以共有5000笔交易.

我已经尝试批量调用SaveChanges(),但这似乎没有提高性能,或改变上述行为.

//loop
{
    //get batch
    db.Table.RemoveRange(batch);
    db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

我看了一些其他问题,指出了每行执行删除命令的这个缺陷,但之后没有提出建议: 如何在Entity Framework中删除多行(没有foreach)

有没有办法阻止EF每行执行一个命令?如果可能的话,我想避免使用内联SQL.

c# entity-framework delete-row

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

AutoMapper 混淆了 ChangeTracker

我有一个Project对象,它由许多嵌套对象组成。

将此对象保存到数据库:

  • 我仅更改项目中的一个属性(作为测试),并将其传递给我的 DAL。
  • 我使用 EF 从数据库加载现有项目。
  • 我将更改的项目映射到现有项目。
var existingProject = 
    db.Project.Single(p => p.ID == changedProject.ID).Include(p => p.Something);

existingProject = Mapper.Map(changedProject, existingProject);

db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

由于外键为空,这失败了,这并不奇怪,因为当我深入研究更改跟踪器时,我可以看到它非常混乱:

var added = db.ChangeTracker.Entries().Where(e => e.State == EntityState.Added);
Run Code Online (Sandbox Code Playgroud)

映射发生后,项目中的大量对象被标记为“已添加”(即使项目中没有添加或删除任何内容,我只更改了一个属性)。

这是因为 AutoMapper 创建嵌套对象的新实例,而 EF 无法将它们与数据库中的现有对象关联吗?

我在很多地方都看到了这种方法的建议,有没有一种方法可以让 AutoMapper 与 ChangeTracker 一起工作,以便它理解上述内容 - 或者最好手动映射所有内容?(就我而言,有很多工作)

c# entity-framework automapper entity-framework-6

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