我正在使用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) 假设我有一个包含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)
在这种情况下,上面的代码只输出子目录文件夹('子目录'),而不是该文件夹中的所有文本文件.
是否有一种简单的方法来循环子目录中的文件?
在 IIS 中,我设置了一个带有入站规则的基本 URL 重写,以对另一个域执行重写操作:
模式匹配:^somedirectory/(.*)
动作类型:重写
重写网址: http: //www.google.com/ {R:1}(仅使用google作为测试)
问题是,我如何才能真正看到服务器将 URL 重写为什么?当我检查 IIS 日志时(我勾选了“日志重写 URL”选项),我希望能在某个地方看到 www.google.com - 但无处可寻。
该模式肯定是匹配的,因为我收到错误:“502 - Web 服务器在充当网关或代理服务器时收到无效响应。”
我怎样才能看到幕后发生的事情(IIS 如何更改请求)?
我正在尝试设置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,有什么想法吗?
一个简单的问题,但从实体框架 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。在集合中加载集合的正确方法是什么?
当使用 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() ?
假设我有一个非常嵌套的文件夹结构,其中包含许多项目文件:
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) 非常简单的问题,但我对JS很新,这不容易搜索.
如果我看到这样的一行:
var colours = {}, r, g, b;
Run Code Online (Sandbox Code Playgroud)
我知道这只是3个vars的声明,但{}位是什么意思?我无法看到任何可以让我了解这是什么声明的想法?
谢谢!
我在聚簇索引上删除了大约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.
我有一个Project对象,它由许多嵌套对象组成。
将此对象保存到数据库:
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# ×5
.net ×2
iis ×2
apache-kafka ×1
automapper ×1
delete-row ×1
docker ×1
iis-7 ×1
javascript ×1
opengl-es ×1
proxy ×1
xcode ×1
zip ×1