小编lon*_*gda的帖子

如何在Java中获取文件的文件扩展名?

为了清楚起见,我不是在寻找MIME类型.

假设我有以下输入: /path/to/file/foo.txt

我想要一种方法来打破这种输入,特别.txt是扩展.在Java中有没有内置的方法来做到这一点?我想避免编写自己的解析器.

java io file

457
推荐指数
15
解决办法
62万
查看次数

HTML5 - 如何流式传输大型.mp4文件?

我正在尝试设置一个非常基本的html5页面来加载一个20MB的.mp4视频.看起来浏览器需要下载整个内容而不是仅仅播放视频的第一部分和其他内容的流媒体.

这篇文章是我在搜索时发现的最接近的东西......我尝试过Hand Brake和Data Go Round,但两者似乎没有什么区别:

关于如何做到这一点或有可能的任何想法?

这是我正在使用的代码:

<video controls="controls">
    <source src="/video.mp4" type="video/mp4" />
    Your browser does not support the video tag.
</video>
Run Code Online (Sandbox Code Playgroud)

video streaming html5 large-files

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

如何在SQL Server中的大表中添加NOT NULL列?

要将NOT NULL列添加到具有许多记录的表中,需要应用DEFAULT约束.如果表非常大,则此约束会导致整个ALTER TABLE命令运行很长时间.这是因为:

假设:

  1. DEFAULT约束修改现有记录.这意味着db需要增加每条记录的大小,这会导致它将完整数据页上的记录转移到其他数据页,这需要时间.
  2. DEFAULT更新作为原子事务执行.这意味着需要增加事务日志,以便在必要时可以执行回滚.
  3. 事务日志跟踪整个记录.因此,即使只修改了一个字段,日志所需的空间也将基于整个记录的大小乘以现有记录的数量.这意味着向具有小记录的表添加列将比向具有大记录的表添加列更快,即使两个表的总记录数相同也是如此.

可能的解决方案:

  1. 把它吸干然后等待这个过程完成.只需确保将超时时间设置得很长.这样做的问题是,根据记录数量,可能需要数小时或数天才能完成.
  2. 添加列但允许NULL.然后,运行UPDATE查询以设置现有行的DEFAULT值.不要做UPDATE*.一次更新批量记录,否则您将遇到与解决方案#1相同的问题.这种方法的问题在于,当您知道这是一个不必要的选项时,最终会得到一个允许NULL的列.我相信有一些最佳实践文档说明你不应该有允许NULL的列,除非有必要.
  3. 使用相同的架构创建新表.将列添加到该架构.从原始表传输数据.删除原始表并重命名新表.我不确定这比#1更好.

问题:

  1. 我的假设是否正确?
  2. 这是我唯一的解决方案吗?如果是这样,哪一个是最好的?我不,我还能做什么?

sql-server

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

如何在MVC4中将Json字符串输出为JsonResult?

这看起来很简单,我必须过度思考它.

TL; DR;

如何修改下面的代码以返回包含在字符串中的json对象而不是恰好包含json的字符串?

public ActionResult Test()
{
  var json_string = "{ success: \"true\" }";
  return Json(json_string, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)

此代码返回包含json的字符串文字:

"{ success: "true" }"
Run Code Online (Sandbox Code Playgroud)

但是,我希望它返回字符串中包含的json:

{ success: "true" }
Run Code Online (Sandbox Code Playgroud)

版本略长

我正在尝试快速创建一些外部api调用的原型,并且只想通过我的"api"将这些结果作为现在的假响应传递.json对象非常重要 - 大约10,000"行"或90KB.我不想为这个json响应的所有内容创建一个强类型对象,因此我可以通过反序列化器运行它 - 所以这样就完成了.

所以我控制器的基本逻辑是:

  1. 调用externall api
  2. 将Web请求的字符串结果存储到var中(参见上面的json_string)
  3. 使用JsonResult生成方法Json()将这些结果输出为json(不是字符串)

非常感谢任何帮助......心灵正在融化.

c# asp.net-mvc serialization json deserialization

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

如何使用java驱动程序更新mongo db中的文档字段?

参考文献:

仍然是mongo db的新手,但我正在尝试更新集合中现有文档的一部分......遗憾的是,上面的链接没有更新示例.

基本上,我只是希望能够:

  1. 向文档添加新字段
  2. 将文档的现有字段更新为新值

这是我的代码(Grails + Groovy + Java + MongoDB + java驱动程序):

def shape = mongo.shapes.findOne(new BasicDBObject("data", "http://www.foo.com")); // get the document
mongo.shapes.update(new BasicDBObject("_id", shape._id), new BasicDBObject("isProcessed", 0));  // add a new "isProcessed" field set to 0
mongo.shapes.update(new BasicDBObject("_id", shape._id), new BasicDBObject("data", "http://www.bar.com"));
Run Code Online (Sandbox Code Playgroud)

这几乎破坏了整个对象...我可能只是尝试修改原始形状对象,然后在其上运行更新.但在那之前,是否有人有更新单个字段(而不是整个文档)的经验?

编辑:

我只是尝试了它,并且能够通过发送整个对象以及新的和/或更新的字段来成功更新.我想知道驱动程序是否足够聪明,只更新最小的更改子集,或者只是盲目更新整个事物?(在下面的例子中,它只是更新电线或整个形状文档的foo字段?)

码:

def shape = mongo.shapes.findOne(); // get the first shape to use as a base
shape.removeField("_id");  // remove the id field
shape.put("foo","bar");  // add a new field "foo"
mongo.shapes.insert(shape); …
Run Code Online (Sandbox Code Playgroud)

java grails groovy mongodb mongo-java

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

如何在mongo db中更新嵌套数组中的对象?

假设我有以下文档结构:

{
    "name": "myProduct",
    "perspectives" : [
        {
            "name": "p1",
            "views" : [
                {
                    "name": "v1"
                },
                {
                    "name": "v2"
                }
            ]
        },
        {
            "name": "p2",
            "views" : [
                {
                    "name": "v1"
                },
                {
                    "name": "v2"
                }
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

如何更新文档结构以向每个视图添加"别名"字段?

基本上我正在寻找像perspectives.views.alias:"av1"这样的所有perspectives.views.name:"v1".

结果结构如下所示:

{
    "name": "myProduct",
    "perspectives" : [
        {
            "name": "p1",
            "views" : [
                {
                    "name": "v1",
                    "alias": "av1" 
                },
                {
                    "name": "v2",
                    "alias": "av2" 
                } 
            ] 
        },
        {
            "name": "p2",
            "views" : [
                {
                    "name": "v1",
                    "alias": …
Run Code Online (Sandbox Code Playgroud)

json mongodb

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

当表中的数据发生变化时,SqlCacheDependency如何知道何时与任何侦听器进行通信?

我一直在做一些研究,我可以看到这个系统的大部分管道,但是我不知道sql服务器如何知道何时在表中的数据发生变化时将消息发送回任何监听器(应用程序),例如.我将首先解释我理解的内容,直到我迷路了.

1)需要在数据库上启用Service Broker,并且需要设置一些权限.

2)应该部署数据库模式.

3)使用aspnet_regsql.exe,为需要缓存数据的数据库和表启用sql缓存依赖(此步骤创建一个表来跟踪表上的更改和触发器以捕获更改并在该表中增加值).

4)在.net应用程序中设置sql缓存依赖项.例如,在Web应用程序中,您需要为轮询时间,连接字符串等添加配置值; 启动/停止global.asax.cs中的依赖项,然后在向缓存中添加项目时添加sql缓存依赖项.

4a)启动依赖关系时发生的部分事情是为队列,服务和sproc设置基础结构,以便之后进行通信和清理.使用Sql Query Profiler,您可以看到正在建立的连接以及在服务上设置的通信通道,以便应用程序从sql server接收消息.

5)这是我感到困惑的地方.此时,我已经在应用程序缓存中缓存了一个项目,并引用了基础表上的sql缓存依赖项,以便我的应用程序可以在行更改时收到更改.如果我在该行上手动运行更新,我可以看到触发器被命中并且跟踪表中的值增加1.但是,我没有看到任何通信返回到应用程序,sql查询分析器上没有任何内容,也没有是从缓存中删除的项目.我也没有在数据库的队列中看到任何内容(动态应用程序队列和标准错误/传输队列)

我的问题是,什么在数据库中观察跟踪表,以便可以将消息发送回与此数据更改有关的sql依赖项?

非常感谢任何帮助...我一直在搜索许多在线参考资料,但无法找到任何具体的解释.

.net sqlcachedependency sql-server-2008 asp.net-mvc-3

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

从架构上讲,我应该如何用更易于管理的东西替换极大的switch语句?

编辑1:忘记添加嵌套属性曲线球.

更新:我选择了@ mtazva的答案,因为这是我特定案例的首选解决方案.回想起来,我用一个非常具体的例子问了一个普遍的问题,我认为这最终会使每个人(或者可能只是我)混淆这个问题究竟是什么.我相信一般问题也得到了回答(参见战略模式答案和链接).感谢大家!

很大的开关语句显然闻到了味道,我已经看到了一些关于如何使用映射到函数字典来实现这一点的链接.但我想知道是否有更好(或更聪明的方法)来做到这一点?在某种程度上,这是一个我总是在脑后滚动的问题,但从来没有真正有一个很好的解决方案.

这个问题源于我之前提到的另一个问题:如何使用C#在.Net中的类型对象列表中选择对象属性的所有值

这是我正在使用的示例类(来自外部源):

public class NestedGameInfoObject
{
    public string NestedName { get; set; }
    public int NestedIntValue { get; set; }
    public decimal NestedDecimalValue { get; set; }
}

public class GameInfo
{
    public int UserId { get; set; }
    public int MatchesWon { get; set; }
    public long BulletsFired { get; set; }
    public string LastLevelVisited { get; set; }
    public NestedGameInfoObject SuperCoolNestedGameInfo { get; set; } …
Run Code Online (Sandbox Code Playgroud)

.net c# architecture mapping switch-statement

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

Sitecore - 无法访问内容项

我正在尝试访问管理员用户创建的现有内容项作为标准内容编辑用户(内容作者,我相信的sitecore术语),但是我收到以下错误:

当前语言的安全设置会阻止您查看此项目.要继续,请从"版本"选项卡上的"语言"下拉列表中选择另一种语言.

关于什么是错的任何想法?

sitecore content-management-system sitecore6

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

如何从jQuery对象中获取字符串表示?

真是愚蠢的问题,但是,例如,给出:

var $foo = $('<div>bar</div>');
Run Code Online (Sandbox Code Playgroud)

我该如何'<div>bar</div>'退出?

jquery

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