我没有安装chrome,我主要使用其他浏览器进行开发(opera,yandex等).但命令:
cordova运行浏览器
默认情况下使用chrome,因此它失败并显示"系统无法找到文件chrome.".我可以更改cordova使用的浏览器吗?
有没有办法使用注释验证原始(int,String等)GET参数?
@RequestMapping(value = "/api/{someInt}",
method = RequestMethod.GET,
produces = MediaType.TEXT_PLAIN_VALUE)
public ResponseEntity<String> someRestApiMethod(
@PathVariable
@Valid @Min(0) @Digits(integer=10, fraction=0)
int someInt) {
//...
return new ResponseEntity<String>("sample:"+someInt, HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)
如你所见,我已经放了一堆注释来验证someInt是一个10位数的正整数,但它仍接受各种整数.
我正在尝试复制数组中的每个元素,但使用的是函数式.
我现在有这个:
["a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)
我得到了这个:
["a","a","b","b","c","c"]
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试了以下内容,将每个元素映射到一个数组,然后使用flat()来获取一个数组.是否有一种更清洁的方式,因为它感觉我在滥用地图和平面.
["a", "b", "c"].map(item => [item, item]).flat();
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
我试图提供一个尽可能简单的例子,但留下一些细节.实际输入未排序,因为元素不具有可比性.它是这样的:
[
{
a:"a"
b:"b"
},
{
c: 1
d: 2
},
{
apple: {},
sellers: ["me", "her"]
}
]
Run Code Online (Sandbox Code Playgroud)
重复的结果应该是这样的,其中重复的元素彼此相邻:
[
{
a:"a"
b:"b"
},
{
a:"a"
b:"b"
},
{
c: 1
d: 2
},
{
c: 1
d: 2
},
{
apple: {},
sellers: ["me", "her"]
},
{
apple: {},
sellers: ["me", "her"]
}
]
Run Code Online (Sandbox Code Playgroud) 我被赋予了使用UDP传输文件的经典任务.在不同的资源上,我已经阅读了检查数据包错误(将CRC与数据一起添加到数据包)是必要的并且UDP已经检查了损坏的数据包并丢弃它们,因此我只需要担心重新发送丢弃的数据包.
哪一个是正确的?我是否需要手动对到达的数据包执行完整性检查,或者已经丢弃了不正确的数据包?
顺便说一句,该项目的语言是Java.
编辑:一些来源(课本,互联网)说校验和只覆盖标题,因此确保发送者和接收者IP是正确的等等.有些消息来源称校验和也涵盖数据段.一些消息来源称校验和可能涵盖数据段,但它是可选的并由操作系统决定.
编辑2:问我的教授,他们说数据段的UDP错误检查在IPv4中是可选的,在IPv6中是默认的.但我仍然不知道它是由程序员控制,还是操作系统或其他层......
我知道您可以将get请求参数绑定到像这样的pojo:
@RequestMapping(value = "/reservation",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
public List<Reservation> loadReservations(ReservationCriteria criteria)
return service.loadReservations(criteria);
}
Run Code Online (Sandbox Code Playgroud)
使用像这样的pojo:
public class ReservationCriteria {
String hotelName;
DateRange reservationDateRange;
//getters-setters omitted
}
Run Code Online (Sandbox Code Playgroud)
有要求:/ reservation?hotelName = myHotel
myHotel将绑定到ReservationCriteria对象中的hotelName。
但是,如何将参数绑定到嵌套对象DateRange?定义如下:
public class DateRange {
Date from;
Date to;
//getters-setters omitted
}
Run Code Online (Sandbox Code Playgroud)
有没有一种URL模式,它允许这种绑定,例如:
/reservation?hotelName=myHotel&reservationDateRange={fromDate=14.04.2016,toDate=15.04.2016}
Run Code Online (Sandbox Code Playgroud)
还是我必须声明单独的请求参数并手动绑定它们?
@RequestMapping(value = "/reservation",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
public List<Reservation> loadReservations(
ReservationCriteria criteria,
@RequestParam Date from,
@RequestParam Date to)
DateRange range = new DateRange();
range.setFrom(from);
range.setTo(to);
criteria.setDateRange(range);
return service.loadReservations(criteria);
} …
Run Code Online (Sandbox Code Playgroud) 我从 azure 库下载了 Web App + MySQL 的 arm 模板:
https://gallery.azure.com/artifact/...
现在尝试使用它进行部署。但我不知道/无法找出为 HostingEnvironment 等某些参数提供哪些值,可接受的值是什么,我在哪里可以找到它们?
我尝试了“免费”和“共享”的价值,两者都是错误的。
"ErrorEntity": {
"Code": "NotFound",
"Message": "Cannot find HostingEnvironment with name Shared.",
"ExtendedCode": "51004",
"MessageTemplate": "Cannot find {0} with name {1}.",
"Parameters": [
"HostingEnvironment",
"Shared"
],
InnerErrors": null
}
Run Code Online (Sandbox Code Playgroud) 成为码头工人的新手:
现在我有一个在tomcat上运行的java web应用程序,使用mysql作为数据库服务器,并从文件系统写入/读取.
我应该把tomcat,mysql和文件系统资源放在不同的容器上(使用官方的tomcat和mysql dockerfiles)并以某种方式连接它们,或者我自己编写一个dockerfile,它将所有内容组合在一个容器中?
在第二种情况下,我应该从一个基本的dockerfile开始,比如一个ubuntu,然后通过复制它们各自的官方dockerfiles来添加mysql,java和tomcat?
我知道您可以构建一个WAR文件来部署到应用程序服务器,但是在运行主Application类时会创建什么样的服务器?
/**
* Main method, used to run the application.
*/
public static void main(String[] args) throws UnknownHostException {
SpringApplication app = new SpringApplication(Application.class);
SimpleCommandLinePropertySource source = new SimpleCommandLinePropertySource(args);
addDefaultProfile(app, source);
Environment env = app.run(args).getEnvironment();
log.info("Access URLs:\n-----------------------------------------------------\n\t" +
"Local: \t\thttp://127.0.0.1:{}\n\t" +
"External: \thttp://{}:{}\n-----------------------------------------------",
env.getProperty("server.port"),
InetAddress.getLocalHost().getHostAddress(),
env.getProperty("server.port"));
}
Run Code Online (Sandbox Code Playgroud) 我只用 @OneToOne 注释了我的字段,当我检查数据库(使用 liquibase 生成)时,发现数据库列有唯一的约束。
这是否意味着@OneToOne 本身就暗示了唯一性,例如。一个建筑只能在一个城市,其他建筑不能在同一个城市?
当我想告诉同一个城市可能还有其他建筑物时,我该怎么办?
我不想在 city 类中放置一个 Buildings 字段,因为我永远不会调用 city.getBuildings();。以下任何一项是否需要双向参考?
class Building {
@OneToOne(optional = false)
City city;
}
class Building {
@OneToOne(optional = false)
@JoinColumn(unique = false)
City city;
}
class Building {
@JoinColumn(unique = true)
City city;
}
class Building {
@ManyToOne
City city;
}
Run Code Online (Sandbox Code Playgroud) 一个人有身份证.学生有学生证.司机有驾驶执照.
这些事情是否只是状态改变,如下例所示:
class Person {
ID id;
StudentID stId;
DriverLicense license;
void drive() {
if(license == null) //illegal state exception
//drive
}
//bla bla
}
Run Code Online (Sandbox Code Playgroud)
还是继承?由于对象是数据+行为,新数据和能够做新事物应该保证新对象
class Student extends Person {
//
}
class Driver extends Person {
//
}
//things get messy here, in Java you can't extend multiple class
//what if there's a rule that, student drivers can request/get a tax reduction?
class DriverStudent extends Person, Driver {
//
}
Run Code Online (Sandbox Code Playgroud)
加上,更重要的是,一个人如何成为另一个?通过方法或构造函数或第三类(如服务或聚合)?
class …
Run Code Online (Sandbox Code Playgroud) java ×4
spring ×2
arrays ×1
azure ×1
cordova ×1
docker ×1
dockerfile ×1
file ×1
javascript ×1
jhipster ×1
jpa ×1
liquibase ×1
object ×1
oop ×1
protocols ×1
spring-boot ×1
spring-rest ×1
transfer ×1
udp ×1