小编Emi*_*dın的帖子

如何在url请求中发送数组

我的要求如下:

我想给演员姓名,开始日期,结束日期,并获得他在那个时期演出的所有电影.

出于这个原因,我的服务请求是这样的.

  http://localhost:8080/MovieDB/GetJson?name=Actor&startDate=20120101&endDate=20120505
Run Code Online (Sandbox Code Playgroud)

现在,我想改进它.我想给出开始日期,结束日期和多个演员姓名,并希望在那段时间内看到所有演员电影.

我不确定我的网址应该如何支持这样的事情.

我正在使用spring编写基于java的Web服务.

下面的代码是支持一个actor

   @RequestMapping(value = "/GetJson", method = RequestMethod.GET) 
    public void getJson(@RequestParam("name") String ticker, @RequestParam("startDate") String startDate, @RequestParam("endDate") String endDate) {
   //code to get results from db for those params.
 }
Run Code Online (Sandbox Code Playgroud)

我想的一个解决方案是使用%符号来分隔演员姓名.例如:

 http://localhost:8080/MovieDB/GetJson?name=Actor1%Actor2%Actor3&startDate=20120101&endDate=20120505
Run Code Online (Sandbox Code Playgroud)

现在,在控制器中,我将使用%解析名称字符串并获取所有actor名称.

这是一个很好的方法吗?还是有标准方法?

谢谢

java url spring web-services spring-mvc

45
推荐指数
1
解决办法
13万
查看次数

如何在Commodore 64中禁用屏幕?

我知道这个问题是非常特殊的问题,但我知道这里有一些c64代码大师.所以,这是我的问题.

当我尝试使用$ d011技巧禁用屏幕时,上/下边框也会打开.我想这样做而不打开上/下边框.可能吗?

c64 commodore 6510

17
推荐指数
1
解决办法
880
查看次数

H.264帧存储器泄漏与一些解码器

我正在H.264 stream使用其SDK从DVR 接收.有内存泄漏,我认为这是导致所有泄漏的SDK.但是当我录制流并从磁盘上逐个读取帧时(没有涉及任何第三方dll),我注意到问题不是dll而是流本身.

奇怪的是,DivX H264 Decoder它是唯一不会导致内存泄漏的编解码器,但是当流运行很长时间时,有时DivX解码器也会崩溃.我更喜欢使用,Microsoft DTV-DVD Video Decoder但它会导致巨大的内存泄漏并丢失大量帧.我尝试过的许多其他H.264解码器的行为方式相同.

我检查了h.264 frames使用一些h.264 parsers与其他一些无问题的流比较,但我没有注意到日志中的任何明显的东西.

由于我的问题是关于h.264帧结构,我已经准备了一个名为的源过滤器FramesFromFileSourceFilter,你可以在下面下载.

http://www.akaydin.com/directshow/FramesFromFileSourceFilter.zip

这是一个Visual Studio 2008项目,所有依赖项都包含在相对位置的文件夹(包括h.264帧)中的zip文件中.因此,您需要做的就是编译项目,注册输出regsvr32.exe并使用GraphEdit或GraphStudio中的任何h.264解码器运行过滤器.示例图如下.

使用DivX的FramesFromFileSourceFilter

FramesFromFileSourceFilter与Microsoft DTV-DVD视频解码器

此外,h264帧可作为单个原始h264文件在下面的链接中使用,该链接可由VLC播放(错误的FPS,因为原始版本为12 FPS).

http://www.akaydin.com/directshow/stream.zip

题:

除DivX解码器外,许多着名的H264解码器可能导致内存泄漏问题.这个流有什么问题?

更新1

读取数据线程被删除,功能移入FillBuffer而不使用任何缓冲区和标志.问题依然存在.

http://www.akaydin.com/directshow/FramesFromFileSourceFilterUpdate1.zip

更新2

UPDATE1使用Sleep()FillBuffer()这是导致一些问题的功能.现在我删除了Sleep()并且曾经SetTime()拥有~12 FPS.这也解决了Microsoft DTV-DVD Video Decoder丢帧问题,但没有解决内存问题.

http://www.akaydin.com/directshow/FramesFromFileSourceFilterUpdate2.zip

内存增加Working Set仅发生.Virtual Bytes而且Private Bytes似乎很稳定.什么可能导致连续的Working Set内存增量只发生Microsoft DTV-DVD Video Decoder

video memory-leaks stream codec h.264

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

Amstrad CPC颜色

我最近正在挖掘Amstrad CPC的硬件功能,我对调色板信息感到困惑.

这个链接;

http://www.exotica.org.uk/mirrors/gfxzone/articles/cpc_graphics-article_01.html

并非所有这27种可能的颜色都可以在同一屏幕上使用,最多可以同时使用16种颜色.

这对我来说很有意义,因为所有4位图形模式都受到2 ^ 4 = 16种颜色的限制.但维基百科链接;

http://en.wikipedia.org/wiki/Amstrad_CPC

重新设计的视频硬件允许硬件精灵和软滚动,调色板从27个中的17个扩展到4096个颜色中的32个

此信息是在另外一节,但在与加比较旧的硬件,它说:"17个27"而不是"16".

另一个环节;

http://cpcwiki.eu/index.php/Video_modes

Amstrad Plus显示相同的模式,但由于Hardwired Sprites可以自然显示15种颜色.这意味着每个屏幕有32种颜色,没有技巧(包括边框).

所以32-15 = 17再次.

我猜第17种颜色可能是背景颜色,但我不确定这一点.任何在Amstrad CPC平台上编码的人都可以证实这一点吗?

还有上面的第一个链接说

only 16 out of those 4096 colours can be used at the same time
Run Code Online (Sandbox Code Playgroud)

对于Plus系列,但其他人说32而不是16.也许该页面没有计算精灵颜色和背景颜色.我只是想确定一下.

colors

6
推荐指数
1
解决办法
2185
查看次数

将JPEG图像调整为固定宽度,同时保持纵横比不变

如何在保持纵横比的同时将JPEG图像调整为固定宽度?以简单的方式,同时保持质量.

c# aspect-ratio image-resizing

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

Visual Studio版本之间不同的未分配内存行为

我有一个奇怪的情况.我正在尝试将10年以上的pci相机设备SDK应用到我的相机管理软件中.Manifacturer不再经营,我没有机会获得官方帮助.我在这里,寻找一些帮助解决我的丑陋问题.

SDK附带Visual Studio 6.0样本.其中一个包含文件的结构以一个字节数组结尾,如下所示;

typedef struct AVData {
    ...  
    BYTE audioVideoData[1];
}AVDATA, *PAVDATA;
Run Code Online (Sandbox Code Playgroud)

但是这个单字节分配的字节数组接收视频帧并且很奇怪,它适用于Visual Studio 6.0版本.如果我使用Visual Studio 2005/2008/2010进行尝试,我会开始收到Memory Access Violation错误消息,因为之后不应该将空间分配给固定大小的数组,不是吗?但是同样的代码在VS 6.0中运行良好?!它可能是由编译器或c ++运行时差异引起的,但我对这个主题不是很有经验,所以我很难说出某些原因.

我尝试将大小更改为预期的最大字节数,如下所示;

typedef struct AVData {
    ...  
    BYTE audioVideoData[20000];
}AVDATA, *PAVDATA;
Run Code Online (Sandbox Code Playgroud)

这有助于它开始工作,但在尝试销毁库的解码器对象时,我不时会遇到内存访问冲突问题.

这肯定存在一些问题.我没有SDK的源代码,只有DLL,Lib和Header文件.我的问题是:

1)在Visual Studio 6.0版本中为固定大小的数组分配空间是否合法?

2)是否有任何可能的方法(编译器选项等)使相同的代码适用于较新的VS版本/ C++运行时?

3)由于我编辑头文件的工作方式可以达到某一点但仍有问题,你知道有什么更好的方法可以解决这个问题吗?

c++ memory-management compiler-errors visual-studio visual-c++

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

LDA / ROL / STA-说明说明

有人可以解释LDA,ROL,STA每条指令给出的结果到底是什么?

C=1 (carry flag is 1)

LDA A #$08 0008 | 01
ROL A      0009 | 02
STA A $10  000A | 03  // A result is $11
           000B | 04
           000C | 05
Run Code Online (Sandbox Code Playgroud)

我想到这个:

LDA A #$08 0008   - Store 0000 into memory
ROL A      0009   - Get a data 0x08 from accumulator 0000 0100 add carry +1 = 0000 1011
STA A $10  000A   - get a result 0000 1011 = $11
Run Code Online (Sandbox Code Playgroud)

解释正确吗?

6502

2
推荐指数
1
解决办法
752
查看次数

对c#中的继承感到困惑

我有一个基类看起来像这样:

public class BaseController : Controller {
}
Run Code Online (Sandbox Code Playgroud)

继承这个的类:

public class ABC : BaseController {
   public void Create(string a, string b) {
      var Meta = new Meta();
      Meta.Title = "test";
   }
}

public class DEF : BaseController {
   public void Create(string a, string b, string c) {
      var Meta = new Meta();
      Meta.Title = "job";
   }
}
Run Code Online (Sandbox Code Playgroud)

从BaseController继承的每个类都需要创建一个Meta()实例;

有没有什么方法可以将这个创建从ABC和DEF类转移到基本控制器?请注意,ABC,DEF等类中的某些方法具有不同数量的参数.

我对此有一个想法是在BaseController中执行以下操作:

    public Meta Meta { get; set; }
    protected override void Initialize(RequestContext requestContext)
    {
        if (Meta == null) { Meta = …
Run Code Online (Sandbox Code Playgroud)

c# inheritance base-class

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