我们的应用程序中有数百个 JavaScript 文件,目前以未压缩的方式提供。为了提高客户端性能,我们的解决方案之一是缩小 JavaScript 文件。我已经创建了一个自动化解决方案来在构建中执行此操作,但是,当部署这些新文件时,确定是否将其重新发送给客户端的文件时间戳将会更改。这意味着,在未来的每个版本中,所有 javascript 文件都将具有新的时间戳。我们的客户将再次重新下载所有缩小的 JavaScript 文件,从而破坏缩小的性能方面。
这是其他人遇到过的问题吗?你的解决方案是什么?您的项目中是否使用了单独的非缩小和缩小的 javascript 文件,并且不在构建中执行缩小?
我们考虑了其他解决方案(例如仅在源代码控制存储库中查找实际更改的文件),但这是我想了解其他人正在做什么的一个问题。
在GNOME终端中,Bash执行智能自动完成功能.例如
apt-get in<TAB>
Run Code Online (Sandbox Code Playgroud)
变
apt-get install
Run Code Online (Sandbox Code Playgroud)
在Emacs shell模式下,即使在我明确提供源代码后,此自动完成也不起作用/etc/bash_completion.上面的示例in在当前目录中使用文件名而不是有效的apt-get命令选项粘贴或自动完成.据推测,这是因为Emacs正在拦截Tab键按下.如何启用智能自动完成功能shell-mode?
我有一个使用CherryPy编写的Web应用程序,它在本地运行127.0.0.1:4321.我们使用mod-rewrite和mod-proxy让Apache充当反向代理; Apache还处理我们的SSL加密,最终可能用于传输所有静态内容.
这一切都适用于小型工作负载.但是,我最近urllib2编写了一个压力测试脚本,可以模拟100个客户端的工作负载.一段时间后,每个客户端从Apache获得503错误,表明Apache无法连接127.0.0.1:4321.CherryPy运行正常,但我的Apache错误日志显示如下行:
[Thu Oct 02 12:55:44 2008] [error] (OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted. : proxy: HTTP: attempt to connect to 127.0.0.1:4321 (*) failed
谷歌搜索此错误表明Apache可能已用完套接字文件描述符.由于我只运行了100个客户端,这意味着我的urllib2连接和Apache 之间的连接没有被关闭(我肯定是在调用.close()返回值urlopen),还是在Apache和CherryPy之间.
我已经确认我的urllib2请求是发送HTTP Connection: close标头,尽管KeepAlive On如果重要的话配置了Apache .
如果重要,我使用的是Python 2.5,Apache 2.2,CherryPy 3.0.3,并且服务器在Windows Server 2003上运行.
那么我的下一步是什么阻止这个问题呢?
我正试图从一张小桌子中随机抽取10%的样本.我以为我只是使用RAND()函数并选择随机数小于0.10的那些行:
SELECT * FROM SomeTable
WHERE SomeColumn='SomeCondition' AND
RAND() < 0.10
Run Code Online (Sandbox Code Playgroud)
但我很快发现RAND()总是返回相同的数字!让我想起这个xkcd卡通片.

没问题,RAND函数采用种子值.我将定期运行此查询,如果我在不同的日子运行它,我希望它给出不同的结果,所以我使用日期和唯一行ID的组合来播种它:
SELECT * FROM SomeTable
WHERE SomeColumn='SomeCondition' AND
RAND(CAST(GETDATE) AS INTEGER) + RowID) < 0.10
Run Code Online (Sandbox Code Playgroud)
我还是没有得到任何结果!当我显示RAND返回的随机数时,我发现它们都在一个狭窄的范围内.从RAND获取随机数似乎需要您使用随机种子.如果我首先有一个随机种子,我就不需要随机数!
我已经看到之前有关此问题的讨论:
他们没帮我.TABLESAMPLE在页面级别工作,这适用于大表,但不适用于小表,并且看起来它适用于WHERE子句之前.TOP with NEWID不起作用,因为我不知道我想要多少行.
任何人都有解决方案,或者至少有一个提示?
编辑:感谢AlexCuse提供适用于我的特定案例的解决方案.现在更大的问题,如何使兰德表现?
我在www.darknovagames.com上运行了一个基于浏览器的游戏.最近,我一直在努力使用CSS重新格式化网站,尝试根据HTML标准验证其所有页面.
我一直在想着让左边的AJAX导航菜单进入页面的想法(而不是每次都将用户带到一个单独的页面,需要重新加载标题和导航栏,这几乎不会改变)和我知道如果我这样做,我可能会破坏浏览器中的前进/后退按钮.我想我的问题是,我应该继续使用AJAX网站,因此要求用户使用网站导航来玩游戏,还是应该离开现在的网站,并使用标准的超链接和导航的东西?
我猜我猜的原因是我在网站上建立了一个论坛系统,很多时候我想把它说到论坛里的特定话题.
我也愿意接受建议.是否有标准(最好没有传统框架)的方式只使网站的主体区域重新加载,同时仍然更改URL,以便用户可以书签和转发/返回等?这也可能解决我的问题.我只是在这里要求最好的解决方案,而不是特定问题的答案.^ _ ^
谢谢
在.net中,我有一个继承的控件:
public CustomComboBox : ComboBox
Run Code Online (Sandbox Code Playgroud)
我只是想将DropDownStyle属性的默认值更改为另一个值(ComboBoxStyle.DropDownList),除了在基类(ComboBoxStyle.DropDown)中指定的默认值.
有人可能认为你可以添加构造函数:
public CustomComboBox()
{
this.DropDownStyle = ComboBoxStyle.DropDownList;
}
Run Code Online (Sandbox Code Playgroud)
但是,这种方法会使Visual Studio Designer感到困惑.在Visual Studio中设计自定义控件时,如果为DropDownStyle选择ComboBoxStyle.DropDown,则认为您选择的属性仍然是默认值(来自基本ComboBox类中的[DevaultValue()]),因此它不会将customComboBox.DropDownStyle = ComboBoxStyle.DropDown行添加到Designer.cs文件中.令人困惑的是,您发现一旦运行屏幕就不会按预期运行.
好吧,你不能覆盖DropDownStyle属性,因为它不是虚拟的,但你可以这样做:
[DefaultValue(typeof(ComboBoxStyle), "DropDownList")]
public new ComboBoxStyle DropDownStyle
{
set { base.DropDownStyle = value; }
get { return base.DropDownStyle; }
}
Run Code Online (Sandbox Code Playgroud)
但是你会因使用"新"声明的细微差别而遇到麻烦.我已经尝试了它,它似乎不正常,因为视觉工作室设计师也从这种方法混淆并强制ComboBoxStyle.DropDown(基类的默认值).
有没有其他方法可以做到这一点?对于冗长的问题很抱歉,很难详细描述.
在网页上放置电子邮件地址时,请将它们放置为如下文本:
joe.somebody@company.com
Run Code Online (Sandbox Code Playgroud)
或使用一个聪明的伎俩试图欺骗电子邮件地址收割机机器人?例如:
HTML转义字符:
joe.somebody@company.com
Run Code Online (Sandbox Code Playgroud)
Javascript Decrypter:
function XOR_Crypt(EmailAddress)
{
Result = new String();
for (var i = 0; i < EmailAddress.length; i++)
{
Result += String.fromCharCode(EmailAddress.charCodeAt(i) ^ 128);
}
document.write(Result);
}
XOR_Crypt("êïå®óïíåâïäùÀãïíðáîù®ãïí");
Run Code Online (Sandbox Code Playgroud)
人体解码:
joe.somebodyNOSPAM@company.com
joe.somebody AT company.com
Run Code Online (Sandbox Code Playgroud)
你用什么或者你甚至打扰?
我经常需要在测试机器上调试.NET二进制文件(通过测试机器,我的意思是机器上没有安装Visual Studio,它经常重新映像,它与我开发的机器不同,等等).
我喜欢Visual Studio调试器,但是对于我来说,在新映像的测试机器上安装可视化工作室只是为了调试断言或崩溃(安装时间太长,占用空间太大等)并不实用.
我真的很喜欢一个快速安装的程序,它可以进入一个正在运行的进程,让我指定符号/源代码的位置,让我直接进入调试.对于原生二进制文件,windbg工作得很好,但是我没有找到任何类似于托管二进制文件的东西.有什么建议?
(作为旁注,我知道视觉工作室远程调试功能,但由于某种原因,它似乎永远不会对我一致...我经常有连接问题)
我想让用户轻松将NAT上的端口转发到我的C++应用程序的本地机器上.我想在OSX和Windows上做这个工作.Linux将是一个很好的奖励,但Linux用户可能更容易手动转发端口,所以它不是一个问题.LGPL类型代码没问题,但我不能使用任何直接GPL.
我很想听听任何人在这个领域有过的想法或经历,但我想到了一些具体的问题:
.net ×2
ajax ×2
html ×2
javascript ×2
apache ×1
autocomplete ×1
automation ×1
bash ×1
bonjour ×1
c# ×1
cherrypy ×1
controls ×1
debugging ×1
default ×1
emacs ×1
email ×1
frames ×1
minify ×1
mod-proxy ×1
nat ×1
navigation ×1
obfuscation ×1
properties ×1
python ×1
random ×1
shell ×1
sql ×1
sql-server ×1
tcp ×1
upnp ×1
urllib2 ×1