0%

Basic Knowledge

的基本使用

假如路由的配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
export default [{
path: '/index',
component: $ => import('@/page/index/Index'),
children: [{
path: 'vocabulary',
component: $ => import('@/page/word/Search'),
children: [{
path: 'detail',
component: $ => import('@/page/word/Detail')
}, {
path: 'starList',
component: $ => import('@/page/word/StarList')
}, {
path: 'starListDetail',
component: $ => import('@/page/word/StarListDetail')
}]
}]
}]

vue的依赖关系如下:

App.vue -> @/page/index/Index.vue -> @/page/word/Search.vue

App.vue:

1
2
3
4
5
<template>
<div id="app">
<router-view></router-view>
</div>
</template>

@/page/index/Index.vue:

1
2
3
4
5
6
<template>
<div class="platform-header">
<div>一些固定内容xxx,比如页头,导航栏之类的<div>
<router-view></router-view>
</div>
</template>
Read more »

期货交易原理

期货一般是买方(多方)<=>卖方(空方)

双方指定在未来的某个时间一手交钱一手交货,前提是双方签订之日都交保证金(比如这一单的10%)

期货平仓机制

空方卖给多方按照合约的价格P1和时间的交易过程叫【开仓】

如果出现异常情况不能【开仓】,那么就会启动【平仓】操作:多方把合约还给空方,此时采用另外一个价格P2(该价格随着市场的波动变化)【平仓】,【强制平仓】可以及时止损。

综上所述:

如果P1<P2,多方就赚了,空方亏了,因为多方在过去的时间以低价位拿到货,而在交易时日时,平仓的时候空方要重新拿回来合约要以更高的价格结算;

如果P1>P2,反之,多方亏了,空方赚了。

期货保证金交易制度

Read more »

Basic Knowledge

Http请求的总入口

org.springframework.web.reactive.DispatcherHandler.handle

HandlerFunction vs RouterFunction

参考自:https://www.baeldung.com/spring-5-functional-web

HandlerFunction

1
2
3
4
@FunctionalInterface
public interface HandlerFunction<T extends ServerResponse> {
Mono<T> handle(ServerRequest request);
}

这个接口的实现其实类似servlet,如果和标准的Servlet.service(ServletRequest req, ServletResponse res)比对的话,HandlerFunction返回的是一个响应,而不是将和Servlet一样,将ServerResponse作为参数,这样子几乎没有副作用,而且更方便测试和重用。

RouterFunction

1
2
3
4
5
6
7
8
9
@FunctionalInterface
public interface RouterFunction<T extends ServerResponse> {
Mono<HandlerFunction<T>> route(ServerRequest request);
// ...
}

public static <T extends ServerResponse> RouterFunction<T> route(
RequestPredicate predicate,
HandlerFunction<T> handlerFunction)
Read more »

TodoItem

如果统一通过网关来控制请求的话,其他业务服务提供者要怎么关闭外部请求权限? todo

Basic Knowledge

两种实现过滤器方式的区别

  1. 通过继承AbstractGatewayFilterFactory工厂类
  2. 通过实现GlobalFilter和Ordered

简单来说就是:前者需要通过spring.cloud.routes.filters配置作用在指定的路由上,或者通过spring.cloud.default-filters配置,作用在全局路由上;后者无需配置,系统初始化的时候自动加载,作用在每个路由上。

Problem Solution

(No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.

HikariCP maxLifetime 参数设置太小了,或者太大,跟进HikariCP源码会发现:

1
2
3
4
5
6
if (maxLifetime != 0 && maxLifetime < SECONDS.toMillis(30)) {
LOGGER.warn("{} - maxLifetime is less than 30000ms, setting to default {}ms.", poolName, MAX_LIFETIME);
maxLifetime = MAX_LIFETIME;
}

private static final long MAX_LIFETIME = MINUTES.toMillis(30);
Read more »

参考https://www.cnblogs.com/hellxz/p/9306507.html

Basic Knowledge

配置服务端修改配置,不需要重启服务端和客户端的服务?

在配置中心的服务端修改了配置,还是要先启动配置中心的服务端,再重启配置中心的客户端。。。

配置中心的yml

编写yml配置文件的时候,可以自动提示,但是这个自动提示貌似只会提示Spring Boot的基础配置,如果是在配置中心的话,其他的依赖配置要在配置中心引入其spring-boot-starter的依赖才能自动提示对应的配置。

Read more »