小编Pet*_*háč的帖子

正则表达式:删除不以数字开头的行

我在RegEx备忘单的帮助下一直在解决这个问题,试图弄清楚如何做到这一点,但我放弃了...我在Notepad ++中打开了这个冗长的文件,并希望删除所有无法启动的行用数字(0..9).我会使用N ++的查找/替换功能.我只是提到这一点,因为我不确定N ++正在使用的Regex实现...谢谢

例.从以下文字:

1hello
foo
2world
bar
3!
Run Code Online (Sandbox Code Playgroud)

我想提取

1hello
2world
3!
Run Code Online (Sandbox Code Playgroud)

不:

1hello

2world

3!
Run Code Online (Sandbox Code Playgroud)

通过在正则表达式上执行查找/替换.

regex notepad++

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

推土机映射JodaTime属性不按预期工作

我正在使用Dozer在Document类和DocumentManagementBean类之间进行映射,这两个都是我自己制作的.两者都有一个Joda DateTime类型的getter和setter属性,名为dateAdded.

当Document对象d具有property dateAdded= x时,调用mapper.map(d, DocumentManagementBean.class)所有字段都会自动正确映射(因为我可以完全控制代码库,我可以通过没有dozer-config而只依赖于匹配的属性名称),除了dateAdded字段,其中新的DocumentManagementBean 以其属性中dmb当前 DateTime 结束dateAdded,而不是来自d对象的x .

我期待Dozer试着打电话

dmb.setDateAdded(d.getDateAdded());

并且只是将dateAdded的值从source添加到target,但它似乎是为dmb对象创建新的DateTime然后单独留下它.

有人可以为我解释一下吗?

java mapping jodatime dozer

13
推荐指数
3
解决办法
5598
查看次数

如何手动读取/写入.exe机器码?

我对编译魔术并不熟悉.改造人类可读的代码(或不行为真正可读大会指令)转换成机器代码,对我来说,火箭科学与巫术相结合.

我将把这个问题的主题缩小到Win32可执行文件(.exe).当我在专门的查看器中打开这些文件时,我可以找到分散在不同位置的字符串(通常每个字符16b),但其余的只是垃圾.我认为不可读的部分(大多数)是机器代码(或者可能是资源,例如图像等......).

有没有简单的方法来读取机器代码?将exe作为文件流打开并逐字节读取,如何将这些单独的字节转换为汇编?这些指令字节和汇编指令之间是否有直接的映射?

.exe是如何写的?每条指令四个字节?更多?减?我注意到一些应用程序可以像这样创建可执行文件:例如,在ACD中您可以将一系列图像导出到幻灯片中.但这不一定是SWF幻灯片,ACD See也能够生成EXEcutable演示文稿.怎么做的?

我怎样才能理解EXE文件中的内容?

windows winapi executable operating-system exe

12
推荐指数
5
解决办法
1万
查看次数

罐子大小的番石榴依赖 - 有一个小版本?

我刚刚将Guava库的版本从9升到10,并注意到jar文件大小的增加.1.5MB只是为了有一些lib来过滤集合......(这就是我用它的真正原因 - 但我可能想要使用更多它提供的东西)

番石榴的分布是否只提供基础并且不是很大?我正在寻找50-250 KB而不是1.5MB的东西.(或者真的更小,比如500k还是可以的)

java collections dependencies jar guava

11
推荐指数
1
解决办法
1588
查看次数

如何实现这个Map <String,List <>>结构

我有如下数据:

 Key       value
-----      ------
car         toyota
car         bmw
car         honda

fruit       apple
fruit       banana

computer    acer
computer    asus
computer    ibm 
...
Run Code Online (Sandbox Code Playgroud)

(上述数据中的每一行是一个对象与字段"键"和"值",都在一个列表List<DataObject>)

我想将数据构建成Map<String, List<String>>如下所示:

 "car"      : ["toyota", "bmw", "honda"]
 "fruit"    : ["apple","banana"]
 "computer" : ["acer","asus","ibm"]
Run Code Online (Sandbox Code Playgroud)

如何Map从数据对象中实现上述结构?

******除了******

我更感兴趣的是使用纯JDK提供的类或接口来实现结果,而不是使用外部库.有帮助吗?

java multimap data-structures multi-mapping

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

浏览器显示jpeg的原始图像数据.我应该在回复中确定哪些标题?

我似乎遇到了一个有趣的问题,浏览器愉快地显示由我的Spring MVC Web应用程序生成的图像,只要我的控制器的URL设置为IMG标记的SRC,但在直接导航到URL时显示二进制数据.

我的Spring MVC Controller生成一些BufferedImage(缩略图),将其转换为byte[]并使用@ResponseBody控制器方法上的注释将其直接返回到响应主体.我已经注册了一个org.springframework.http.converter.ByteArrayHttpMessageConverter消息转换器,AnnotationMethodHandlerAdapter甚至将其supportedMediaTypes属性设置为image/jpeg,这实际上没有帮助,所以我在控制器方法中手动设置响应的Content-Type标头.

<img src="/images/thumbnail?id=1234" />
Run Code Online (Sandbox Code Playgroud)

工作正常并显示图像,但直接导航到图像的SRC(或右键单击图像并选择查看图像)最终会显示图像的原始数据.

根据Firebug,从对此 URL的请求(http:// localhost:8888/images/thumbnail?id = F0snPkvwhtDbl8eutbuq)收到的响应标头是:

HTTP/1.1 200 OK
Expires: Wed, 21 Dec 2011 12:39:07 GMT
Cache-Control: max-age=2592000
Content-Type: image/jpeg
Content-Length: 6998
Server: Jetty(6.1.10)
Run Code Online (Sandbox Code Playgroud)

最后一句话:在Firebug中,单击Response选项卡显示图像:-)我错过了什么?我认为浏览器接收内容类型和内容长度标题,知道期望jpeg图像,接收jpeg的原始数据,然后在空浏览器选项卡中显示jpeg.不知何故FF和Chrome正在显示收到的原始图像数据.

我正在使用的代码:

@RequestMapping(value = "thumbnail", method = { RequestMethod.GET })
@ResponseBody
public byte[] getImageThumbnail(@RequestParam("id") String documentId, HttpServletResponse response) {
    try {
        Document document = documentService.getDocumentById(documentId);
        InputStream imageInputStream = new FileInputStream(document.getUri()); …
Run Code Online (Sandbox Code Playgroud)

java browser servlets spring-mvc http-headers

10
推荐指数
1
解决办法
4054
查看次数

"动态"关键字和JSON数据

我的ASP.NET MVC2应用程序中的一个操作方法返回一个JsonResult对象,在我的单元测试中,我想检查返回的JSON对象是否确实包含了预期的值.

我试过这个:

1. dynamic json = ((JsonResult)myActionResult).Data;
2. Assert.AreEqual(JsonMessagesHelper.ErrorLevel.ERROR.ToString(), json.ErrorLevel);
Run Code Online (Sandbox Code Playgroud)

但我得到一个RuntimeBinderException"'对象'不包含'ErrorLevel'的定义".

然而,当我把第2行断点和检查JSON动态变量(见下图),这显然包含的ErrorLevel字符串,它的预期值,因此,如果运行时绑定是不是在玩有趣的测试将通过.

Locals调试器窗口的快照

我得不到什么?我做错了什么,我该如何解决这个问题?如何让断言通过?

c# json unit-testing dynamic asp.net-mvc-2

8
推荐指数
1
解决办法
1977
查看次数

如何允许下载暂停/恢复?

通常,当我想允许用户下载文件而不泄露确切的位置时,我只是使用这样的东西让他们下载文件:

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"" . $filename) . "\";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($filename));
readfile("$filename");
Run Code Online (Sandbox Code Playgroud)

但是,如果他们使用现代浏览器或其他下载客户端,并且他们暂停下载并尝试恢复它,脚本(假设它们仍然经过身份验证或其他)将从头开始重新发送标头和文件内容,从而打破了下载,基本上要求从头开始重新下载文件.

如何启用我的脚本以补偿暂停(以及相应的恢复)下载?

php http download

7
推荐指数
2
解决办法
4864
查看次数

VisualStudio 2010中是否有类似Eclipse的WORD完成快捷方式?

我最近从Java开发和Eclipse IDE切换到C#.NET和VisualStudio 2010.我真正想念的是用于完成单词的Alt+ /Eclipse快捷方式.我不是在谈论IntelliSense自动完成的东西.我的意思是,我希望文本编辑器能够完成在文档中某处已经存在但不会出现在IntelliSense中的单词,例如字符串文字.

在Notepad ++中,它是Ctrl+ Enter快捷键.在Eclipse中,它是前面提到的Alt+/

VS2010可以这样做吗?如果不是默认情况下,任何人都可以指向一个体面的VB宏,我可以插入我的VS2010来做到这一点?

谢谢.

编辑

请注意,CODE完成(即大多数IDE /聪明的编辑器通过Ctrl + Space执行的操作)和简单的WORD完成(我正在寻找的)之间存在差异.单词完成不会尝试分析当前上下文,或猜测您可能会使用的类型/方法.所有这一切都试图通过查看光标位置并搜索当前文档中已经出现的类似单词来完成您开始键入的工作.

eclipse keyboard-shortcuts visual-studio word-completion

7
推荐指数
1
解决办法
864
查看次数

Hibernate实体可序列化

我已经阅读了一些关于hibernate和实体序列化的主题,但是仍然无法理解为什么我的应用程序工作,尽管事实上我没有实现Serializable.

"如果实体实例通过值作为分离对象传递,例如通过会话bean的远程业务接口,则该类必须实现Serializable接口." (C)

我拥有: 使用Hibernate的简单Spring MVC项目.我有MyEntity数据表,以及用户从我的应用程序编辑它的功能.

  • 用户向getMyEntity()发出请求,并获取空的MyEntity对象
  • 然后在表格中他设置了所有需要的参数

  • 然后将更新的myEntity发送到服务器

问题: 根据我的理解,用户在填写表单时将拥有myEntity对象.所以,myEntity处于分离状态.但是,MyEntity没有实现Serializable

我的问题:

  • 如果没有MyEntity实现Serializable,为什么它可以工作?

  • 我对我的所有实体都有相同的方案(如上所述).我需要实现Serializable吗?

serialization spring hibernate

7
推荐指数
1
解决办法
8109
查看次数