什么是等同于__declspec的D2语言(dllexport)
我有D2 DLL链接示例代码并运行.在dmd的错位名称空间以及标准的u-mangled"C"名称空间中导出函数就像一个魅力.但是我正在遇到关于在DLL和主exe程序之间共享(全局)int变量的未知问题......我已经使用depends22_x86检查了DLL符号表,同时我提出了使用导出的问题在Var的声明之前的指令,它没有出现在DLL的表中,而函数也是如此.可以使用Digital Mars dmd工具链导出Varibles在DLL中可见吗?
在Postgres中,您可以使用dblink如下链接到您的其他数据库:
SELECT *
FROM dblink (
'dbname=name port=1234 host=host user=user password=password',
'select * from table'
) AS users([insert each column name and its type here]);
Run Code Online (Sandbox Code Playgroud)
但这很冗长.
我通过使用dblink_connect和dblink_disconnect从我的dblink查询中抽象连接字符串来缩短它.但是,这仍然留给我手动表定义(即[insert each column name and its type here]).
而不是手动定义表,有没有一种方法可以用一个TYPE或其他可重复使用的东西来定义它?
在我的例子中,我必须加入的远程表的数量和涉及的列数使我的查询量大.
我尝试过以下方面:
SELECT *
FROM dblink (
'myconn',
'select * from table'
) AS users(postgres_pre_defined_type_here);
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
ERROR: a column definition list is required for functions returning "record"
我很难使用PHP DateTime将GMT -8时区(PST)收到的日期转换为时区GMT -7(PDT)的人类可读格式.
这是一个例子:
$tz = new DateTimeZone('America/Los_Angeles');
$saleEndDate = new DateTime("2016-11-07T17:30:00-08:00");
$saleEndDate->setTimezone($tz);
echo $saleEndDate->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)
上面代码的输出是:2016-11-07 17:30:00.但是,它应该显示2016-11-07 18:30:00,因为America/Los_Angeles现在是夏令时(GMT -7,PDT).
根据我在DateTime文档中读到的内容,该new DateTime命令应该能够解释该字符串2016-11-07T17:30:00-08:00具有GMT -8时区:
的时区时的参数和当前时区被忽略时间参数或者包含一个UNIX时间戳(例如946684800)或指定一个时区(例如2010-01-28T15:00:00 + 02:00).
即使这样,我也不认为DateTime正确识别GMT-8.
有谁知道正确转换时区需要什么方法?
更新:
我也尝试将a DateTimeZone作为第二个参数传递给DateTime构造函数,但也无济于事:
$tz = new DateTimeZone('America/Los_Angeles');
$saleEndDate = new DateTime("2016-11-07T17:30:00-08:00", new DateTimeZone("America/Los_Angeles"));
$saleEndDate->setTimezone($tz);
echo $saleEndDate->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)
也不起作用:
$tz = new DateTimeZone('America/Los_Angeles');
$saleEndDate = new DateTime("2016-11-07T17:30:00", new DateTimeZone("PST"));
$saleEndDate->setTimezone($tz); …Run Code Online (Sandbox Code Playgroud) 据我了解,Web浏览器是否缓存项目取决于:
Cache-Control和Expires).对于从网络文件共享提供的文件,这有何不同?在不同的浏览器?考虑这个JavaScript包括:
<script type="text/javascript" src="\\SOMECOMPUTER\folder\file.js"></script>
Run Code Online (Sandbox Code Playgroud)
meta当涉及网络文件时,浏览器是否会遵守此标记?
<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 31 Dec 2011 11:12:01 GMT">
Run Code Online (Sandbox Code Playgroud)
我发现关于这个主题的文档很少.
假设我想编写一个SELECT使用以下内容的简单查询VIEW:
CREATE TEMP VIEW people AS
SELECT
p.person_id
,p.full_name
,p.phone
FROM person p
ORDER BY p.last_name;
SELECT
p.*
,h.address
,h.appraisal
FROM people p
LEFT JOIN homes h
ON h.person_id = p.person_id
ORDER BY p.last_name, h.appraisal;
Run Code Online (Sandbox Code Playgroud)
这里显而易见的问题是,p.last_name当我去执行决赛时,它已不再可用ORDER BY.
如何对最终查询进行排序,以便people视图的原始序列跟进到最终查询?
这里的简单解决方案是将p.last_name包含在视图中.我不想这样做 - 我的真实世界的例子(更复杂)使这成为一个问题.
我过去和临时表做过类似的事情.例如,我创建表,CREATE TEMP TABLE testing WITH OIDS然后执行一个ORDER BY testing.oid以传递原始序列.
是否有可能对视图做同样的事情?
我在一个带有大表的Web应用程序的页面上工作.在某些情况下,12列和最多300行.我很难在Internet Explorer中快速呈现表格.我在这段测试代码中复制了我的困难:
英特尔四核Q8200与4GB RAM上的IE9的一些基准测试:
50行,12列:432ms
100行,12列:1023ms
200行,12列:2701ms
400行,12列:8107ms
800行,12列:24619ms
指数不好.
我设法挖掘了一些代码,这些代码在Internet Explorer上更快地渲染相同的测试表,但因为我使用mustache.js模板来渲染我的单元格和行(保留所有HTML标记不在我的JavaScript中),我不是能够使用这些DOM方法:
基准测试结果:
50行,12列:仅为37微秒
100行,12列:72ms的
200行,12列:146ms
400行,12列:324ms
800行,12列:566ms
我不能像第二个例子那样逐块构造表,因为使用客户端模板我需要注入胡子返回的HTML字符串.如果你开始坚持.innerHTML在那里,表演坦克再次.
任何人都可以推荐一种以更有效的方式构建表的方法,以符合客户端模板的使用吗?
分页是管理这个问题的一种方法,但我想解决问题本身.
任何建议非常感谢!
我正在使用jQuery向Web服务发出CORS请求$.ajax.根据标准,有一个飞行前请求,然后是实际的POST请求.
我注意到的是,每次我尝试进行一次Web服务调用(一次飞行前和一次实际POST请求)时,有两个请求.如果两个请求之间有一个时间间隔.
如果我继续连续进行网络服务呼叫而没有任何时间间隔(例如两次请求之间不到1秒),那么预飞行就会丢失.
我怎样才能每次都避免这个飞行前请求?
这个时间间隔是多少?
这是Chrome浏览器特有的内容吗?
jQuery的
$("document").ready(function(){
$("#test").click(function(){
alert("abc");
});
});
Run Code Online (Sandbox Code Playgroud)
CSS
.blue {
background-color:blue;
}
Run Code Online (Sandbox Code Playgroud)
标记正文
<body>
<div class="blue" id="test">Testing code</div>
</body>
Run Code Online (Sandbox Code Playgroud)
test,但点击不起作用jQuery的
$("document").ready(function(){
$.get("new.php", {
// this math avoids IE from crashing
nbRandom: Math.random()
},
function(data){
$("body").html(data);
});
$("#test").click(function(){
alert("abc");
});
});
Run Code Online (Sandbox Code Playgroud)
CSS
.blue {
background-color:blue;
}
Run Code Online (Sandbox Code Playgroud)
标记正文
<body>
</body>
Run Code Online (Sandbox Code Playgroud)
有谁知道怎么做?
有没有办法从Internet Explorer 7/8错误对象中检索行号?
我只知道.message,.description和.number属性.
我搜索了一下,发现了一篇关于.stack的MSDN文章(http://msdn.microsoft.com/en-us/library/hh699850(v=vs.94).aspx),但即便使用他们自己的例子代码不返回行号:
在使用反斜杠正则表达式时遇到一些麻烦.我想删除对象的任何字符串属性上存在的所有双反斜杠(或2的任意倍数).我不想删除单个反斜杠,也不想删除奇数个反斜杠中的最后一个反斜杠(例如,在一组五个连续反斜杠中保留一个反斜杠\\\\\ - > \).
代码在这里:
//removes all dual backslahes on all string properties on an object
var removeDualBackslash = function (obj) {
var ret = null;
if (typeof(obj) == "string") {
obj = obj.replace(/\\\\/g,"");
return obj;
} else if (typeof(obj) == "number") {
return obj;
} else if (typeof(obj) == "array") {
ret = [];
} else {
ret = {};
}
for (var key in obj)
ret[key] = removeDualBackslash(obj[key]);
return ret;
};
var oJSON = {"t4m_data_in":{"no_data":"No data \\passed …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用preg_match来获取两个HTML标记之间的文本.
这是我的代码的简化版本:
$sPattern = "/<li class=\"sample\">(.*?)<\/li>/s";
$sText = "blah blah blah <li class=\"sample\">hello world!</li> blah blah blah";
preg_match($sPattern,$sText,$aMatch);
echo '<pre>'.print_r($aMatch).'</pre>';
Run Code Online (Sandbox Code Playgroud)
但是,当我运行此代码时,我会返回完整的HTML字符串:
<li class=\"sample\">hello world!</li>
Run Code Online (Sandbox Code Playgroud)
有谁知道我需要对正则表达式做出哪些更改?
注意:我知道从HTML页面解析数据的其他方法.由于各种原因,DOMDocument和DOMXPath不是一个选项 - 我坚持使用RegEx.
我怎样才能让两个div在两者之间交替淡入/淡出,这样一次只能看到一个?并使它成为一个永无止境的循环?
提前致谢!!
我知道它应该用.fadeOut和.fadeIn完成 - 但不知道如何让它一遍又一遍地循环.