白空间下面的转义序列有什么区别?
\ t,\n,\ x0B,\ f和\ r \n.
默认情况下,printf()似乎将字符串对齐到右侧.
printf("%10s %20s %20s\n", "col1", "col2", "col3");
/* col1 col2 col3 */
Run Code Online (Sandbox Code Playgroud)
我也可以像这样对齐左边的文字:
printf("%-10s %-20s %-20s", "col1", "col2", "col3");
Run Code Online (Sandbox Code Playgroud)
有没有快速的方法来中心文本?或者,如果该列的文本宽度为8,我是否必须编写一个将字符串test转换为的函数(space)(space)test(space)(space)?
一般的javascript问题,这也很好知道如何(如果可能的话)在jquery中做.
将鼠标悬停在某个项目上时,是否可以触发点击事件?
我知道会有人问为什么,但请你幽默我.
非常感谢,C
我即将开发一个在线酒店预订系统...使用php和mysql ...我对我当前的数据库架构和业务逻辑有所怀疑,以获得两个特定日期之间免费房间的酒店...
有谁知道某种教程,我可以了解酒店预订架构和应该在系统中使用的业务逻辑...?
谢谢你的建议......
编辑:我已经弄明白了大部分的逻辑......我不清楚的一点是以下几点......
如果用户在两个特定日期之间选择特定酒店中的多个房间,我如何在下面的预订表中表示......?
表:预订
Field 1 : reservation_id
Field 2 : room_id
Field 3 : no. of Rooms
Field 4 : check-in date
Field 5 : check-out date
Field 6 : Customer id
Run Code Online (Sandbox Code Playgroud)如何根据预订表和下列房间表查看两个日期之间的房间?
表:房间
Field 1 : hotel_id
Field 2 : room_id
Field 3 : total_num_rooms
Run Code Online (Sandbox Code Playgroud)注意:数据库包含多个酒店...因此,用户可以选择一个城市,并在两个特定日期之间查找该地区酒店的房间...
另外说如果酒店中有10个特定类型的房间号码,我只需要显示在该特定时间段内免费的房间数量.....
在Java中,IoC/DI是一种非常常见的做法,广泛用于Web应用程序,几乎所有可用的框架和Java EE.另一方面,也有很多大的Python Web应用程序,但除了Zope(我听说代码应该非常糟糕),IoC在Python世界中似乎并不常见.(如果你认为我错了,请说出一些例子).
当然有几个流行的Java IoC框架克隆可用于Python,例如springpython.但它们似乎都没有被实际使用.至少,我从来没有在一个stumpled Django的或SQLAlchemy的 + <insert your favorite wsgi toolkit here>,它使用类似的东西,基于Web应用程序.
在我看来,IoC具有合理的优势,并且可以很容易地替换django-default-user-model,但是在Python中广泛使用接口类和IoC看起来有点奇怪而不是"pythonic".但也许有人有更好的解释,为什么IoC没有在Python中广泛使用.
python architecture design-patterns dependency-injection inversion-of-control
我希望在我的ASP.NET MVC应用程序中使用NVelocity,而不是作为视图引擎,只是为了呈现一些电子邮件模板.
但是,我不能为我的生活得到它的工作.我已经从城堡项目下载了它,并按照http://www.castleproject.org/others/nvelocity/usingit.html#step1上的示例进行了操作
无论我尝试什么,我似乎无法加载位于我的网站中的模板.该示例建议使用绝对路径,我试图无效:
Template t = engine.GetTemplate("/Templates/TestEmail.vm");
Run Code Online (Sandbox Code Playgroud)
所以请有人给我两个例子.一个是加载位于网站目录中的模板,另一个是解析一个字符串变量(因为我的模板很可能存储在数据库中).
非常感谢Ben
我们的网络应用程序需要符合PCI标准,即不得存储任何信用卡号码.该应用程序是大型机系统的前端,它在内部处理CC号码 - 正如我们刚刚发现的那样 - 偶尔会在其响应屏幕上吐出一个完整的CC号码.默认情况下,这些响应的全部内容都以调试级别记录,并且从这些响应中解析的内容也可以记录在许多不同的位置.所以我无法追捕这些数据泄漏的来源.我必须确保在我们的日志文件中屏蔽了CC编号.
正则表达式部分不是问题,我将重用我们已在其他几个地方使用的正则表达式.但是我找不到有关如何使用Log4J更改日志消息的一部分的任何好的来源.过滤器似乎更受限制,只能决定是否记录特定事件,但不能改变消息的内容.我还发现了Log4J 的ESAPI安全包装API,它初看起来有望实现我的目标.但是,显然我需要用ESAPI记录器类替换代码中的所有记录器 - 这是一个痛苦的屁股.我更喜欢更透明的解决方案.
知道如何屏蔽Log4J输出的信用卡号码吗?
更新:根据@ pgras的最初想法,这是一个有效的解决方案:
public class CardNumberFilteringLayout extends PatternLayout {
private static final String MASK = "$1++++++++++++";
private static final Pattern PATTERN = Pattern.compile("([0-9]{4})([0-9]{9,15})");
@Override
public String format(LoggingEvent event) {
if (event.getMessage() instanceof String) {
String message = event.getRenderedMessage();
Matcher matcher = PATTERN.matcher(message);
if (matcher.find()) {
String maskedMessage = matcher.replaceAll(MASK);
@SuppressWarnings({ "ThrowableResultOfMethodCallIgnored" })
Throwable throwable = event.getThrowableInformation() != null ?
event.getThrowableInformation().getThrowable() : null;
LoggingEvent maskedEvent = new LoggingEvent(event.fqnOfCategoryClass,
Logger.getLogger(event.getLoggerName()), …Run Code Online (Sandbox Code Playgroud) 我有这样的代码:
string uriString = @"C:\Temp\test.html";
Uri uri = new Uri(uriString);
bool goodCond = uri.IsWellFormedOriginalString();
Run Code Online (Sandbox Code Playgroud)
但是goodCond是假的!我究竟做错了什么?
编辑:谢谢Johannes和Catdirt.我将集中讨论我的问题:如何将有效文件路径转换为有效文件Uri(使用uri.IsWellFormedOriginalString作为Uri有效性的指示)?看看这个:
DirectoryInfo di = new DirectoryInfo(@"c:\temp");
FileInfo [] fis = di.GetFiles("test.html");
FileInfo fi = fis[0];
string uriString = fi.FullName;
Uri uri = new Uri(uriString);
bool goodCond = uri.IsWellFormedOriginalString()
Run Code Online (Sandbox Code Playgroud)
Obviosly fi.fullName是一个结构良好的路径,但仍然是goodCond很糟糕!
我正在使用osql对数据库运行几个sql脚本,然后我需要查看结果文件以检查是否发生了任何错误.问题是Perl似乎不喜欢结果文件是Unicode的事实.
我写了一个小测试脚本来测试它,输出结果都出现了问题:
$file = shift;
open OUTPUT, $file or die "Can't open $file: $!\n";
while (<OUTPUT>) {
print $_;
if (/Invalid|invalid|Cannot|cannot/) {
push(@invalids, $file);
print "invalid file - $inputfile - schedule for retry\n";
last;
}
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我尝试使用解码,decode_utf8但它没有任何区别.我还尝试在打开文件时设置编码.
我认为问题可能是osql将结果文件放在UTF-16格式中,但我不确定.当我在textpad中打开文件时,它只是告诉我'Unicode'.
编辑:使用perl v5.8.8编辑:十六进制转储:
file name: Admin_CI.User.sql.results
mime type:
0000-0010: ff fe 31 00-3e 00 20 00-32 00 3e 00-20 00 4d 00 ..1.>... 2.>...M.
0000-0020: 73 00 67 00-20 00 31 00-35 00 30 00-30 00 37 00 s.g...1. …Run Code Online (Sandbox Code Playgroud) 我想动态地将类atttributes添加到超类.此外,我想创建动态继承自这个超类的类,这些子类的名称应该取决于用户输入.
有一个超类"单元",我可以在运行时添加属性.这已经有效了.
def add_attr (cls, name, value):
setattr(cls, name, value)
class Unit(object):
pass
class Archer(Unit):
pass
myArcher = Archer()
add_attr(Unit, 'strength', 5)
print "Strenght ofmyarcher: " + str(myArcher.strength)
Unit.strength = 2
print "Strenght ofmyarcher: " + str(myArcher.strength)
Run Code Online (Sandbox Code Playgroud)
这导致了期望的输出:
肌肉的强度:5个
强度的肌肉:2
但是现在我不想预定义子类Archer,但我宁愿让用户决定如何调用这个子类.我尝试过这样的事情:
class Meta(type, subclassname):
def __new__(cls, subclassname, bases, dct):
return type.__new__(cls, subclassname, Unit, dct)
factory = Meta()
factory.__new__("Soldier")
Run Code Online (Sandbox Code Playgroud)
但没有运气.我想我还没有真正理解这里的新功能.我想要的结果是
class Soldier(Unit):
pass
Run Code Online (Sandbox Code Playgroud)
由工厂创建.如果我用"Knight"这个参数调用工厂,我会想要创建一个类Knight,Unit的子类.
有任何想法吗?提前谢谢了!
再见 -
萨诺