C# XPath 中是否有一种方法可以像使用 SQL select 那样传递参数?例如:
XPathExpression expr = nav.Compile("/root/employee[@name = @p1]");
expr.SetParameter ("@p1", "Smith");
Run Code Online (Sandbox Code Playgroud)
然后它将在哪里处理所有转义,在其周围放置引号等?
我有大量俄语文件名(以及一些斯洛文尼亚语和希腊语)。要在我的车上播放它们,歌曲名称必须仅使用西欧字符。
有没有程序可以重命名这个文件?
如果没有,是否有每个西里尔字母和希腊字母使用的字母列表?
谢谢 - 戴夫
我是否需要做任何事情来使所有请求异步,或者它们是否以这种方式自动处理?
我运行了一些测试,似乎每个请求都来自自己的线程,但我认为最好询问,因为我可能测试错误。
更新:(我有一个不完全解释的坏习惯 - 抱歉)这是我的担忧。客户端浏览器向我的服务器http://data.domain/com/employee_database/?query=state:Colorado发出 REST 请求。这涉及到控制器中适当的方法。该方法查询数据库并返回一个对象,然后将该对象转换为 JSON 结构并返回给调用应用程序。
现在假设 10,000 个客户端都向同一服务器发出类似的查询。所以我一下子收到了 10,000 个请求。我的控制器方法会在 10,000 个不同的线程中同时调用吗?或者第一个请求必须在调用第二个请求之前返回?
我不是在询问具有异步组件的处理程序方法中的代码。对于我的情况,请求变成单个 SQL 查询,因此代码没有任何可以异步处理的内容。在获得请求的数据之前,我无法从该方法返回。
我需要存储大量的RGB颜色对象.对于一些常见的用法,这些占我应用总内存的8%到12%.我现在定义如下:
class MyColor {
byte red;
byte green;
byte blue;
}
Run Code Online (Sandbox Code Playgroud)
我假设(大多数)JVM实际上为每个条目使用int.最简单的选择是:
class MyColor {
byte [] color = new byte[3];
private static final int red = 0;
private static final int green = 1;
private static final int blue = 2;
}
Run Code Online (Sandbox Code Playgroud)
将整个数组放在一个int中吗?或者它是一个int [3]的封面?如果是第一个,这很好.如果是第二个,那么最好的是:
class MyColor {
int color;
private static final int red_shift = 0;
private static final int green_shift = 8;
private static final int blue_shift = 16;
}
Run Code Online (Sandbox Code Playgroud)
还是有更好的方法?
更新:我还将有一个getRed(),setRed(int),...作为访问器.我刚刚列出了类的数据组件以使其更小.和大小是关键的问题在这里.代码不会花费大量时间来访问这些值,因此性能不是一个大问题.
更新2:我使用SizeofUtil …
关于GWT和javascript有很多帖子,但我找不到任何关于GWT和打字稿的帖子.
我在Java中有大约20,000行代码我需要转移到浏览器客户端.但是,如果我走这条路,它不仅仅是在GWT中重新编译.我需要删除该代码中引用的一堆对象(现有代码是更大程序的一部分).
此外,一些广泛使用的低级类正在发生变化.这不是一个很大的变化,但这些类在很多地方都有使用.所以这两种方式都是重写.如果我得到了GWT,那么重写会更顺利一些,但是重写一下.
此代码也没有GUI或I/O组件.它在客户端上由javascript调用,仅用于处理javascript代码创建和使用的javascript对象.
这引出了我的问题.GWT与打字稿有什么优缺点?
我为我的网络工作者设置了一个承诺/延迟,其中主线程对网络工作者的数据进行了更改并告诉我重新计算。我承诺完成后将其召回。
但是,在中间过程中,主线程可以进行额外的更改,再次承诺在完成后回调。(这个中断可能发生是因为 web worker 有时会调用 setTimeout 来允许中断。)此时 web worker 持有 2 个对主线程的 promise,它们都将返回完全相同的值。
可以扔掉第一个承诺,只回电第二个。代码将全部运行良好,主线程逻辑将非常好(实际上更好),只需一个回调。这样做有什么问题吗?
承诺只是一个存储在我保存在哈希表中的对象中的函数。所以如果我从哈希表中删除它,它的内存应该返回到堆中,所以应该没有任何泄漏。
那么我可以让我的回调系统成为骗子吗(在适当的时候)?
我有以下类和接口:
export interface IBody {
body : ListBody;
}
export class Element {
// ...
}
export class Paragraph extends Element implements IBody {
// ...
}
export class Character extends Element {
// ...
}
Run Code Online (Sandbox Code Playgroud)
我有代码,我将获得一个Element派生对象数组(不仅仅是段落和字符).在实施IBody的情况下,我需要对身体中的元素采取行动.
查看它是否实现IBody的最佳方法是什么?是"if(element.body!== undefined)"吗?
然后我如何访问它?"var bodyElement = <IBody> element;" 给了我一个错误.
C:/src/jenova/Dev/Merge/AutoTagWeb/client/layout/document/elements/factory.ts(34,27): error TS2012: Cannot convert 'Element' to 'IBody':
Type 'Element' is missing property 'body' from type 'IBody'.
Type 'IBody' is missing property 'type' from type 'Element'.
Run Code Online (Sandbox Code Playgroud)
谢谢 - 戴夫
我们正在创建一个使用Web worker的javascript客户端应用程序.我们只会在支持Web worker的浏览器上运行.
我们可以假设这些浏览器支持哪种版本的ECMAScript?他们都支持第5版吗?
我正在将一些Java代码移植到JavaScript.我有很多成员元素char.使这些数字或字符串(字符串始终是单个字符)更有效率?
更新: 目前在Java中使用的方式是:
/** alignment is left. */
public static final char TAB_STOP_LEFT = 'l';
/** alignment is center. */
public static final char TAB_STOP_CENTER = 'c';
/** alignment is right. */
public static final char TAB_STOP_RIGHT = 'r';
private char tabStop;
Run Code Online (Sandbox Code Playgroud)
然后我有很多地方可以将其中一个TAB_STOP_*值分配给tabStop,或者根据特定值测试tabStop的值.它没有必要是l/c/r,我只是用它们来使它更容易在调试器中读取(这段代码来自Java 1.3,早在枚举之前).
最简洁的方法是将它们设为枚举,然后tabStop就是一个数字.但是,如果它更快并且使用更少的内存,如果每个是1个字符的字符串,我可以这样做.
更新2: 非常感谢Juan Mendes和JLRishe - 非常好的细节.我决定做的是使用枚举(即数字),因为两者之间的差异很小,而且枚举使一切都更加清晰.
如果我渲染到位图,则位图具有特定数量的像素和DPI.这种组合可以很容易地绘制一个1"x 1"的正方形 - 我为DPI像素长的每一边渲染线条.
当我创建一个SVG时,我认为它仍然可以这样设置.我设置每英寸的单位,以及整个对象的单位大小.是的,您可以放大SVG文件,因为它是所有向量,但它仍然应该有100%的缩放大小来渲染.
在我的情况下,我正在为我的单位使用EMU.所以914400单位/英寸.问题#1是,如何使用Batik设置缩放比例.对于位图,它是:
AffineTransform scaleToEmus = AffineTransform.getScaleInstance(dpi / (float) DrawingSurface.EPI, dpi / (float) DrawingSurface.EPI);
graphics.transform(scaleToEmus);
Run Code Online (Sandbox Code Playgroud)
但是SVG没有dpi等价物.
然后对于EMU中的给定宽度和高度,我是否使用以下方法设置图像的大小(或最大范围):
svgGraphics.setSVGCanvasSize(new Dimension(width, height));
Run Code Online (Sandbox Code Playgroud)
我想我还没有完全理解SVG,或者至少是Batik,因为我没有看到如何将单位设置为100%缩放渲染.
javascript ×3
typescript ×2
asynchronous ×1
batik ×1
browser ×1
byte ×1
c# ×1
char ×1
gwt ×1
interface ×1
java ×1
promise ×1
svg ×1
translation ×1
xpath ×1