小编kno*_*orv的帖子

快速达到YYYY-mm-dd HH:MM:SS in Perl

在编写Perl脚本时,我经常发现需要获取当前时间,表示为格式化为YYYY-mm-dd HH:MM:SS(例如2009-11-29 14:28:29)的字符串.

在这样做的过程中,我发现自己采取了这条相当繁琐的道路:

  • man perlfunc
  • /localtime搜索本地时间 - 重复五次(/+ \n)以到达联机帮助页的相关部分
  • 将字符串($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);从联机帮助页复制到我的脚本.
  • 试试吧 my $now = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $year, $mon, $mday, $hour, $min, $sec);
  • 记住陷阱#1:必须加上1900到$年才能获得当年.
  • 试试吧 my $now = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $year+1900, $mon, $mday, $hour, $min, $sec);
  • 记住陷阱#2:必须加1到$ mon才能获得当前月份.
  • 试试吧 my $now = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $year+1900, $mon+1, $mday, $hour, $min, $sec);
  • 好像没问题.完成!

虽然上面概述的过程是有效的,但它远非最佳.我确信有一种更聪明的方式,所以我的问题很简单:

YYYY-mm-dd HH:MM:SS在Perl中获取当前日期/时间的最简单方法是什么?

"简单"包含"易于书写"和"易于记忆".

formatting perl datetime timestamp

65
推荐指数
6
解决办法
13万
查看次数

以最短的停机时间部署Java Web应用程序的最佳实践?

部署大型Java webapp(> 100 MB .war)时,我目前使用以下部署过程:

  • 应用程序.war文件在开发计算机上本地扩展.
  • 扩展的应用程序是rsync:从开发机器到实时环境.
  • rsync之后重新启动实时环境中的应用服务器.这个步骤并不是严格需要的,但我发现在部署时重新启动应用程序服务器会因为经常加载类而避免出现"java.lang.OutOfMemoryError:PermGen space".

关于这种方法的好处:

  • rsync最大限度地减少了从开发机器发送到实时环境的数据量.上传整个.war文件需要十几分钟,而rsync需要几秒钟.

关于这种方法的坏事:

  • rsync正在运行时,应用程序上下文会在文件更新后重新启动.理想情况下,重新启动应在rsync完成后进行,而不是在它仍在运行时进行.
  • 应用服务器重启会导致大约两分钟的停机时间.

我想找到一个具有以下属性的部署过程:

  • 部署过程中停机时间最短.
  • 上传数据所花费的时间最少.
  • 如果部署过程是特定于应用程序服务器的,那么应用程序服务器必须是开源的.

题:

  • 根据规定的要求,最佳部署流程是什么?

java deployment grails resin tomcat

55
推荐指数
5
解决办法
2万
查看次数

在Python列表上进行排序加uniq的最简洁方法是什么?

考虑my_list包含的Python列表['foo', 'foo', 'bar'].

什么是最Python的方式uniquify和排序列表?
(想cat my_list | sort | uniq)

这就是我目前的工作方式,虽然它有效但我确信有更好的方法可以做到这一点.

my_list = []
...
my_list.append("foo")
my_list.append("foo")
my_list.append("bar")
...
my_list = set(my_list)
my_list = list(my_list)
my_list.sort()
Run Code Online (Sandbox Code Playgroud)

python unique

55
推荐指数
3
解决办法
5万
查看次数

解释段错误消息

以下段错误消息的正确解释是什么?

segfault at 10 ip 00007f9bebcca90d sp 00007fffb62705f0 error 4 in libQtWebKit.so.4.5.2[7f9beb83a000+f6f000]
segfault at 10 ip 00007fa44d78890d sp 00007fff43f6b720 error 4 in libQtWebKit.so.4.5.2[7fa44d2f8000+f6f000]
segfault at 11 ip 00007f2b0022acee sp 00007fff368ea610 error 4 in libQtWebKit.so.4.5.2[7f2aff9f7000+f6f000]
segfault at 11 ip 00007f24b21adcee sp 00007fff7379ded0 error 4 in libQtWebKit.so.4.5.2[7f24b197a000+f6f000]
Run Code Online (Sandbox Code Playgroud)

linux qt kernel webkit segmentation-fault

53
推荐指数
3
解决办法
12万
查看次数

如何在Python 2.6中获得线程安全打印?

print根据这些 文章,在Python中不是线程安全的.

后一篇文章中提供了Python 3解决方法.

如何print在Python 2.6中获得线程安全?

python multithreading

50
推荐指数
4
解决办法
4万
查看次数

Java版本之间是否存在后向不兼容的具体示例?

Java版本之间是否存在不兼容性,其中针对Java版本X的Java源代码/ Java类文件将无法在版本Y(其中Y> X)下编译/运行?

"Java发布"我指的是以下版本:

  • JDK 1.0(1996年1月)
  • JDK 1.1(1997年2月)
  • J2SE 1.2(1998年12月)
  • J2SE 1.0(2000年5月)
  • J2SE 1.4(2002年2月)
  • J2SE 5.0(2004年9月)
  • Java SE 6(2006年12月)

家庭规则:

  • 请尽可能包含参考和代码示例.
  • 请尽量在答案中具体/具体.
  • 被标记为@Deprecated的类不计为向后不兼容.

java jvm bytecode backwards-compatibility

48
推荐指数
7
解决办法
3597
查看次数

用于正则表达式匹配的Groovy语法

什么是以下Perl代码的Groovy等价物?

my $txt = "abc : groovy : def";
if ($txt =~ / : (.+?) : /) {
  my $match = $1;
  print "MATCH=$match\n"; 
  # should print "MATCH=groovy\n"
}
Run Code Online (Sandbox Code Playgroud)

我知道有多种方法可以做到这一点(包括常规的Java方式) - 但是这样做的"Groovy方式"是什么?

这是一种方法,但它感觉有点笨拙 - 特别是数组符号(m[0][1])感觉有点奇怪.有更好的方法吗?如果没有 - 请描述背后的逻辑m[0][1].

def txt = "java : groovy : grails"
if ((m = txt =~ / : (.+?) :/)) {
  def match = m[0][1]
  println "MATCH=$match"
}
Run Code Online (Sandbox Code Playgroud)

regex groovy

44
推荐指数
2
解决办法
6万
查看次数

42
推荐指数
2
解决办法
2万
查看次数

哪些浏览器支持HttpOnly cookie?

哪些浏览器支持HttpOnly cookie,以及哪个版本?

有关HttpOnly cookie和XSS-prevention的讨论,请访问http://www.codinghorror.com/blog/archives/001167.html.

browser security cookies xss httponly

38
推荐指数
2
解决办法
2万
查看次数

用于生成slugs的Java代码/库(用于漂亮的URL)

诸如Rails和Django之类的Web框架内置了对"slugs"的支持,后者用于生成可读和SEO友好的URL:

团状串典型地只包含的字符a-z,0-9-且可因此在不URL转义写入(认为"富%20巴").

我正在寻找一个Java slug函数,给出任何有效的Unicode字符串将返回一个slug表示(a-z,0-9-).

一个微不足道的slug函数将是这样的:

return input.toLowerCase().replaceAll("[^a-z0-9-]", "");
Run Code Online (Sandbox Code Playgroud)

但是,此实现不会处理国际化和重音(ë> e).解决这个问题的一种方法是列举所有特殊情况,但这不是很优雅.我正在寻找更好的思考和一般的东西.

我的问题:

  • 在Java中生成Django/Rails类型slugs的最通用/最实用的方法是什么?

java regex seo url-rewriting slug

37
推荐指数
4
解决办法
2万
查看次数