我需要一个简单的文字过滤器,如果它检测到字符串中的过滤词,将会杀死脚本.
说我的话如下
$showstopper = array(badword1, badword2, badword3, badword4);
$yourmouth = "im gonna badword3 you up";
if(something($yourmouth, $showstopper)){
//stop the show
}
Run Code Online (Sandbox Code Playgroud) 我有类似的东西
declare @foo bigint;
declare @bar nvarchar(20);
set @foo = select foo from theTable where id = 37;
set @bar = select bar from theTable whre id = 37;
Run Code Online (Sandbox Code Playgroud)
用一个选择可以做到这一点吗?
我有以下jquery代码来调用aspx页面中的webmethod
$.ajax({
type: "POST",
url: "popup.aspx/GetJewellerAssets",
contentType: "application/json; charset=utf-8",
data: '{"jewellerId":' + filter + '}',
dataType: "json",
success: AjaxSucceeded,
error: AjaxFailed
});
Run Code Online (Sandbox Code Playgroud)
这是web方法签名
[WebMethod]
public static string GetJewellerAssets(int jewellerId)
{
Run Code Online (Sandbox Code Playgroud)
这很好用.
但是现在我需要将两个参数传递给web方法
新的Web方法看起来像这样
[WebMethod]
public static string GetJewellerAssets(int jewellerId, string locale)
{
}
Run Code Online (Sandbox Code Playgroud)
如何更改客户端代码以成功调用此新方法签名?
编辑:
以下2种语法有效
data: '{ "jewellerId":' + filter + ', "locale":"en" }',
Run Code Online (Sandbox Code Playgroud)
和
data: JSON.stringify({ jewellerId: filter, locale: locale }),
Run Code Online (Sandbox Code Playgroud)
其中filter和locale是局部变量
NHibernate映射文件中的列表,集合和包之间有什么区别?每个如何与.NET集合相关?
考虑以下两种情况:场景1).今天是2012年5月1日,场景2).今天是2012年9月1日.
现在,请考虑我们在我们的网页上写下以下关于某人留下的评论:"此评论写于3个月和12天前".即使声明完全相同,这两种情况下的天数也总是不同.在情景1中,"3个月和12天"将相等102 days.但是,在场景2中,"3个月和12天"将是104 days!
现在,谈谈我的观点,让我们使用一个不同的例子,并说有人在2013年1月30日在我们的网站上发表评论,今天是2013年3月10日.我们真实的TimeSpan对象需要知道这个相对日期,并且可以计算出来以下内容:
因此,这意味着10天+ 1天+ 1个月总计,转换为This comment was posted 1 Month and 11 Days ago.
现在,如果您使用MS样式TimeSpan对象(或任何语言的任何TimeSpan对象),它将为您提供从1月30日到3月10日(39天)的天数,并且因为TimeSpan对象不存储相对日期(我们减去获得TimeSpan的基数/初始日期),如果你问它有多少个月和几天,它会假设一个月内有30天,甚至最差,大于30天的平均值,并在几天内返回其余的,所以要到39天,它会告诉你它是1个月和9天,你会收到This comment was posted 1 Month and 9 Days ago消息.请记住,这两种情况都具有相同的开始日期和相同的当前/结束日期,是的Microsoft TimeSpan对象,不允许我们告诉它应该考虑2013年2月,给了我们一个完全不同的TimeSpan,关闭整整2天.它实际上对我们撒了谎.
问题是,人们会相信这一点,谁知道他们可能有什么看法,他们对过去的看法如何改变,以及他们在尝试重建过去内部事件时可能做出的决定和生活选择,而从不注意或理解代表时间的缺点和固有的失败,这在当今无处不在.他们不会理解编程语言没有实现(或关心)上个月有31天,反对30,29或28 - 反之亦然,并且当你增加TimeSpan时这会增加.
这是这篇文章的核心问题.我知道大多数人都不会关心这种差异(但要确保我们有些人这样做,并且不能背负这种差异),如果这不打扰你,那没关系.我希望它不会打扰我,我会节省一些时间,压力和失望.如果这不是一个麻烦,您可以使用该功能有效地文本显示相对时间(可定制为从几秒到几年的1到6个节点),而不是使用它提供的通常可忽略的精度.
令我失望的是,我注意到没有真正的时间跨度对象,如果你得到一个时间跨度,做一个.years或.months你什么也得不到,你只会得到.days和降低,因为timeSpan对象没有任何东西告诉它哪个月或者年份是什么时候创建的.因此,它永远不会真正知道自每个月的日子在一年内变化多少个月甚至是闰年的变化.
为此,我将发布一个我开发的函数,以获得准确的读数,并能够在我的ASP.NET网页上返回如下内容......
发表于4年,3个月,14天,15小时,18分钟和24秒之前
我想有一个......
timeSpan.GetActualNumberOf[Months/Days/Hours/etc] (当然必须提供基准日期)
...此数据类型的类型方法,但没有.
所有你真的需要做的是在时间跨度对象上创建另一个属性给它上计算出的差异,那么上面可爱的字符串将是可计算很容易地和一个基准日.year及.month会存在!
更新:我已经大大扩展并更新了我在下面的答案中的官方答案和代码使用细节,100%工作答案和代码(完整),准确和准确的相对时间/日期,没有近似值 - 谢谢.
我有一个关于在JAX-WS中使用MTOM/XOP的问题.我正在编写一个发送大量二进制数据的Web服务.客户端请求许多文件,服务器返回响应中的文件.
我能够正确地构建响应,以便正确实现XOP,但我遇到了与内存相关的问题,因为它在发送之前将整个响应存储在内存中.此Web服务发送的文件可能会变得非常大(如giga-bytes large),因此将响应存储在内存中不是一种选择.
此Oracle网站(并沿此一个),似乎解决了这个问题,但我只是不明白.我认为他们使用一个DataHandler对象来传输请求/响应,但我无法弄清楚它们如何实例化它.
我正在使用现有的WSDL生成我的JAX-WS类文件wsimport.我正在使用JAX-WS RI 2.1.6和Java 6.
我如何在建立响应时发送响应而不必先存储在内存中?
在此先感谢您的帮助.
更新12月17日:我将以下属性添加到包含二进制数据的WSDL中的schema元素.这会导致wsimport将DataHandler对象添加到JAXB类.FileDataHandler然后可以将A 添加到响应中,而不是添加文件的全部内容,从而允许服务器流式传输每个文件的内容,而不是将它们全部保存在内存中:
xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
xmime:expectedContentTypes="application/octet-stream"
Run Code Online (Sandbox Code Playgroud)
因此,服务器现在正确地构建响应,并且客户端在收到请求时正确地将每个文件保存到磁盘.但是,客户端仍然会出于某种原因将整个响应读入内存.
服务器代码(SIB):
@MTOM
@StreamingAttachment(parseEagerly = true, memoryThreshold = 4000000L)
@WebService(...)
public class DownloadFilesPortTypeImpl implements DownloadFilesPortType {
@Override
public FileSetResponseType downloadFileSet(FileSetRequestType body) {
FileSetResponseType response = new FileSetResponseType();
for (FileRequest freq : body.getFileRequest()){
try{
//find the file on disk
File file = findFile(freq.getFileId());
//read the file data into memory …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个简单的结构,只转储我的数据库.使用mysqldump给我一个结果,如:
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
DROP TABLE IF EXISTS `foo`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
Run Code Online (Sandbox Code Playgroud)
无论我尝试什么,我似乎都无法摆脱那些评论.
我目前正在使用: mysqldump -p -d --add-drop-table --skip-tz-utc --skip-set-charset -h 127.0.0.1 -u foo bar --result-file=dumpfile.sql
编辑:但我希望保留其他评论,例如-- MySQL dump 10.13 Distrib 5.1.41, for Win32 (ia32)
我最近遇到了一个令人沮丧的问题,归结为一个非常简单的编码错误.请考虑以下代码:
#include <iostream>
class Base
{
public:
void func() { std::cout << "BASE" << std::endl; }
};
class Derived : public Base
{
public:
virtual void func() { std::cout << "DERIVED" << std::endl; }
};
int main(int argc, char* argv[])
{
Base* obj = new Derived;
obj->func();
delete obj;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是
基础
显然(对于这种情况),我的意思是将虚拟关键字放在Base :: func上,以便在main中调用Derived :: func.我意识到这可能(可能)是由c ++标准允许的,并且可能有充分的理由,但在我看来,99%的时间这将是一个编码错误.但是,当我使用g ++和我能想到的所有-Wblah选项编译时,没有生成任何警告.
有什么方法可以在基类和派生类都具有相同名称的成员函数时生成警告,其中派生类的函数是虚函数而基类的函数不是?
我想在我的视图上创建一个索引,但我需要确保在创建索引时仍然可以读取数据.我正在阅读一篇文章,建议在创建非聚簇索引时,如果指定ONLINE = ON选项,数据仍然可读(下面的示例):
CREATE UNIQUE CLUSTERED INDEX CLUST_IDX_SQLTIPS
ON SQLTips (tip) with (ONLINE=ON)
Run Code Online (Sandbox Code Playgroud)
我理解正确吗?在创建索引之前,我在创建索引之前是否有任何潜在的问题需要注意?