小编ash*_*aka的帖子

如果REST API返回JSON,那么MIME类型是什么?

我的REST API返回JSON.

我目前正在返回text/plain作为MIME类型,但感觉很有趣.我应该回来application/x-javascript还是其他类型?

第二个问题是关于错误条件的HTTP状态代码.如果我的REST API返回错误状态,我将返回JSON

{ result: "fail", errorcode: 1024, errormesg: "That sucked. Try again!" }
Run Code Online (Sandbox Code Playgroud)

HTTP状态代码应该保留在200 OK

api rest json http mime-types

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

MySQL ENUM类型与连接表

我的要求

表需要维护状态列.

此列代表5种状态之一.


初步设计

我想我可以使它成为一个整数列,并使用数值表示状态.

  • 0 =开始
  • 1 =正在运行
  • 2 =坠毁
  • 3 =暂停
  • 4 =停了

由于我不希望我的应用程序维护从整数到字符串描述的映射,因此我计划将它们放在单独的状态描述表中(依赖于FK关系).

然后我发现MySQL的ENUM类型完全符合我的要求.除了直接依赖MySQL之外,使用ENUM类型有任何陷阱吗?

mysql enums database-design

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

如何在eclipse 3.4.1中导航到书签?

我可以在源文件中设置书签,但是有快捷键可以导航到书签吗?在导航菜单中有一个goto线.但这没用.

java eclipse bookmarks editor

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

自动递增列用完后会发生什么?

考虑一个带有自动增量列的简单表,如下所示:

CREATE TABLE foo 
(
  `fooid` bigint unsigned NOT NULL auto_increment,
   ....snipped.... other columns
  PRIMARY KEY (`fooid`)
) 
ENGINE=InnoDB AUTO_INCREMENT=10
Run Code Online (Sandbox Code Playgroud)

如何重新设计这个以便我们不会达到bigint数据类型的最大值?无符号范围是0到18446744073709551615.我不知道要达到18446744073709551615需要多长时间,但是就像Y2K问题一样,我想做好准备.

mysql database-design

23
推荐指数
2
解决办法
6566
查看次数

SICP练习1.3请求评论

我正在尝试通过SICP学习计划.练习1.3内容如下:定义一个过程,该过程将三个数字作为参数,并返回两个较大数字的平方和.请评论我如何改进我的解决方案.

(define (big x y)
    (if (> x y) x y))

(define (p a b c)
    (cond ((> a b) (+ (square a) (square (big b c))))
          (else (+ (square b) (square (big a c))))))
Run Code Online (Sandbox Code Playgroud)

scheme sicp

22
推荐指数
8
解决办法
4432
查看次数

在maven中处理Web项目的非常规源目录

我继承了一个目前在eclipse中构建的web项目(Servlets).

我想在它周围添加maven.但该项目的源目录不遵循maven约定.它不是在src/main/java里面,而是src/package/name/...

我现在不想改变任何事情,因为他们正在全速前进一个里程碑.我可以配置maven接受src /作为java源目录吗?谢谢

java maven-2

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

MySql connector/J中的autoReconnect和autoReconnectForPools有什么区别?

在MySql的连接器J驱动程序的配置参考中,发出了一个关于使用autoReconnect属性的警告.我按照说明操作,增加了服务器的wait_timeout.由于我正在使用DBCP(我正在考虑在阅读关于DBCP的Stackoverflow上的几篇帖子后转到c3po),是否可以使用autoReconnectForPools属性?在DBCP或任何连接池下启用时,它实际上做了什么?

java mysql jdbc apache-commons-dbcp

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

java.util.ConcurrentLinkedQueue

我想使用java.util.ConcurrentLinkedQueue作为Servlet的非持久队列.这是来自类的javadoc的模糊.

基于链接节点的无界线程安全队列.当许多线程共享对公共集合的访问时,ConcurrentLinkedQueue是一个合适的选择.此队列不允许null元素.

现在假设我在servlet上有1000个并发请求,每个线程都需要将一个对象嵌入到ConcurrentLinkedQueue中.从描述中,我应该得出结论,处理负载没有问题吗?我需要的保证是:

  1. 我自动收到线程安全保证,而无需自己进行同步.
  2. 如果流量负载超过1000个并发请求,我将不会丢失任何请求.

谢谢

java queue concurrency tomcat servlets

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

现在持久性的最佳做法是什么?

我来自java背景.

但我希望从跨平台的角度来看待持久对象的最佳实践.

我看到它的方式,有3个阵营:

  • ORM营地
  • 直接查询阵营,例如JDBC/DAO,iBatis
  • LINQ阵营

人们仍然会手动编码查询(绕过ORM)吗?为什么,考虑通过JPA,Django,Rails提供的选项.

database orm persistence

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

Future.get()是Thread.join()的替代品吗?

我想写一个永远运行的命令行守护进程.我知道如果我希望JVM能够在linux中正常关闭,那么需要通过一些C代码来包装引导程序.我想我现在可以使用关机钩子了.

关于我的问题:

  1. 我的main(String [])块将触发一个单独的Superdaemon.
  2. Superdaemon将永远轮询和循环.

通常我会这样做:

class Superdaemon extends Thread { ... }

class Bootstrap
{
    public static void main( String[] args )
    {
        Thread t = new Superdaemon();
        t.start();

        t.join();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想,如果我通过Executor启动Superdaemon,我可以做到

Future<?> f = exec.submit( new Superdaemon() );

f.get();
Run Code Online (Sandbox Code Playgroud)

Future.get()与实现的Thread.join()?如果没有,它的行为是否相同?

问候,

阿席达卡

java concurrency

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