我最近使用SSL和客户端身份验证配置了tomcat 6,但我能做到的唯一方法是修改服务器配置文件(web.xml,server.xml).但由于我无法完全控制部署服务器,因此我想在不修改主配置文件的情况下为我的应用程序的某些页面或url-patterns配置所有内容.
例如:主服务器:
如果有人知道怎么做,请告诉我.
我喜欢LinqToSql数据上下文对象和底层SQL数据库之间的紧密耦合,但我很好奇混淆是如何适应图片的.
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FamilyId", IsPrimaryKey=true, IsDbGenerated=true)]
public int FamilyId
{
get
{
return this._FamilyId;
}
set
{
if ((this._FamilyId != value))
{
this.OnFamilyIdChanging(value);
this.SendPropertyChanging();
this._FamilyId = value;
this.SendPropertyChanged("FamilyId");
this.OnFamilyIdChanged();
}
}
}
Run Code Online (Sandbox Code Playgroud)
在数据上下文中,我的对象的属性autogenerated setter在这种情况下硬编码PropertyName,例如.SendPropertyChanging方法调用中的"FamilyId"字符串.下次重新生成文件时,将替换此代码中的更改,因此我无法使用反射帮助程序获取属性名称.
很明显,一旦发生混淆,这个属性就会被称为完全不同的东西.这似乎可以防止通知事件到达WPF应用程序UI事件处理程序.
所以我想,让我们尝试将这些自动生成的数据对象包起来,适配器模式样式.至少包装器将被混淆.因此,根据stackoverflow硬编码与反射
private Family _family;
public int FamilyId
{
get { return _family.FamilyId; }
set
{
NotifyPropertyChanging(() => FamilyId);
_family.FamilyId= value;
NotifyPropertyChanged(() => FamilyId);
}
}
Run Code Online (Sandbox Code Playgroud)
在我尝试处理集合之前,这似乎没问题.EntitySet集合更复杂,因为集合中的每个元素都需要强制转换为包装类型.此外,当我们开始讨论延迟加载,事务以及我们没有在实际类型上执行业务层逻辑但包装类型时,复杂性开始增长.
所以我的直觉是,这已经变得复杂了.
是否有其他人使用WPF,LinqToSql数据类和混淆,可以揭示更正确的架构?
您使用哪种混淆工具有助于支持此过程?
回顾一下你从尝试中学到的东西,你能否建议你是否会再次进行同样的过程?你会尝试另一种方式吗?
我的偏好当然是让所有东西都完全混淆,如果它给我提供很少的保护,就不要坚持使用半开烘烤的高包装.
可能重复:
Python使用什么IDE?
任何人都可以建议我使用适合Linux的Python IDE吗?
在Python 2.5中,我使用以下代码存储数据:
def GLWriter(file_name, string):
import cPickle
import zlib
data = zlib.compress(str(string))
file = open(file_name, 'w')
cPickle.dump(data, file)
Run Code Online (Sandbox Code Playgroud)
它工作正常,我能够通过反向执行该过程来读取数据.它不需要是安全的,只是人眼无法读取的东西.如果我将"test"放入其中然后打开它创建的文件,它看起来像这样:
S'x\x9c+I-.\x01\x00\x04]\x01\xc1'
p1
.
Run Code Online (Sandbox Code Playgroud)
由于各种原因,我们现在被迫使用Python 3.1,我们需要编写可以读取这些数据文件的代码.
Pickle不再接受字符串输入,所以我必须用"rb"打开文件.当我这样做并尝试使用pickle.load(文件)打开它时,我收到此错误:
File "<stdin>", line 1, in <module>
File "C:\Python31\lib\pickle.py", line 1365, in load
encoding=encoding, errors=errors).load()
UnicodeDecodingError: 'ascii' codec can't decode byte 0x9c in position 1: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
我发现我可能无法在pickle中打开文件,我开始做一些研究,发现pickle只是在zlib生成的主要数据块的每一侧包含几个字符.然后我尝试将其修剪为zlibs输出并将其放入zlib.decompress.我的问题是它读取文件并将"\ x04"之类的内容解释为四个字符而不是一个字符.很多测试和搜索后来我找不到一种方法来使pickle加载文件,或让python识别这些代码所以我可以通过zlib.
所以我的问题是:如何使用Python3.1恢复原始数据?
我很乐意让我的客户安装Python2.5并手动完成,但这是不可能的.
非常感谢你的协助!
我正在使用curl从许多网站获取数据.有时他们会发回gzip.如何检测响应是否是gzip?
<?php
function pregForPreg($value)
{
$value = preg_replace(array('#\(#', '#\)#', '#\+#', '#\?#', '#\*#', '#\##', '#\[#', '#\]#', '#\&#', '#\/#', '#\$#', '#\\\\#'), array('\(', '\)', '\+', '\?', '\*', '\#', '\[', '\]', '\&', '\/', '\\\$', '\\\\'), $value);
return $value;
}
$var = "TI - Yeah U Know [OFFCIAL VIDEO] [TAKERS] [w\LYRICS]";
$var = pregForPreg($var);
//$var is now:
// TI - Yeah U Know \[OFFCIAL VIDEO\] \[TAKERS\] \[w\LYRICS\]
$var = preg_replace("#" . $var . "#isU", 'test', $var);
echo $var;
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:*警告:preg_replace():编译失败:PCRE不支持第13行test.php中偏移50处的\ L,\ l,\ N,\ U或\ u …
我创建了一个控制程序运行速度的类,有点像垂直同步,它在每一帧都将一些必要的信息传递给程序.我有整个工作,但我已经尝试使用更准确的Thread.sleep(long millis,int nanos),这是我相当缺乏经验的东西.根据我所见的描述,它只是将提供的毫秒数加到纳秒,然后暂停线程.但是,大约90%的帧会抛出奇怪的异常,我真的无法解读.
java.lang.IllegalArgumentException: nanosecond timeout value out of range
Run Code Online (Sandbox Code Playgroud)
以下是我使用的大部分代码,它以任何方式与我用来延迟线程的变量进行交互.
long startTime = System.nanoTime();
while (! this.stop)
{
try
{
// Run Frame
long endTime, deltaTime, deltaRemainder;
endTime = System.nanoTime();
deltaTime = endTime - startTime;
deltaRemainder = this.rate - (deltaTime % this.rate);
System.out.println("Frame Completed with "
+ (double)(deltaRemainder * .000000001) + " seconds left!");
if (deltaRemainder > 0)
Thread.sleep(0, (int)(deltaRemainder));
startTime = System.nanoTime();
}
catch (Exception e)
{
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
rate是一个变量,它等于帧的长度,以纳秒为单位,stop非常不重要,而且很明显.start/endTime是帧开始和结束的时间.deltaTime是帧完成所用的时间长度.最后,deltaRemainder是帧应该完成的额外时间量(如果它需要更长的时间,它会跳到最后一个可能的帧结束).
任何人都可以解释为什么抛出这个异常?我真的更喜欢使用此功能提供的准确性.
我需要为抽象基础模型编写一些单元测试,它提供了其他应用程序应该使用的一些基本功能.为了测试目的,有必要定义一个继承它的模型; 是否有任何优雅/简单的方法来定义该模型仅用于测试?
我看到一些"黑客"使这成为可能,但从未在django文档或其他类似的地方看到过"官方"方式.
first = [(1, text, text, 1, 2, 3),
(1, text, text, 1, 0, 3), ... (6054, text, text, 2, 2, 3)]
second = (1, 2, 3, 4, 5 ... 5412)
Run Code Online (Sandbox Code Playgroud)
有没有更快的方法来做到这一点:
data = [x for x in first if x[0] in second]
Run Code Online (Sandbox Code Playgroud) 我想访问cookie,然后执行相同的操作,无论操作或控制器如何.
我不想写出一个从我的无数动作方法中调用的方法,因为除了痛苦之外,它不会产生非常灵活的代码.我宁愿在application_controller.rb中从ApplicationController类(所有控制器类的超类)调用我的cookie处理方法.
但是,cookies()在ApplicationController类的主体中调用会引发"未定义的方法"错误.(我想cookies直到后来才定义.)
我能做什么?我应该覆盖initialize()ApplicationController 的方法并从那里调用我的cookie处理方法吗?如果是这样,我应该如何将参数传递给超级构造函数?
PS我正在使用Rails 2.3.5
python ×3
java ×2
php ×2
abstract ×1
c# ×1
cookies ×1
curl ×1
django ×1
exception ×1
gzip ×1
linq-to-sql ×1
obfuscation ×1
optimization ×1
pcre ×1
pickle ×1
preg-match ×1
ruby ×1
sleep ×1
ssl ×1
tomcat ×1
unit-testing ×1
war ×1
zlib ×1