Grails JSON Views 教程

Grails 3.2版本中的rest-api profile加入了JSON View插件,JSON View插件主要用于渲染JSON返回内容,类似于GSP,其好处就是将JSON渲染从控制器层移到了视图层,同时JSON View还能定义模板,继承等。

开始使用

创建视图

JSON View视图文件以.gson为扩展名,且文件要放在grails-app/views目录下。
例:person.gson

Read More

介绍一款可以用后台播放来『听』视频的软件

油管上有一些以语言内容为主的视频,如脱口秀、访谈节目、影评等。这些视频比较适合用来听,而官方的客户端又不支持后台播放,网上找了一圈发现有一款名叫Musi的软件可以支持后台播放油管视频。

Read More

记一个Grails JSON Views的Bug

最近项目用到了3.2版本的Grails,这个版本中引入了一个新特性JSON views,主要作用是将JSON返回内容视为一种视图,类似于GSP。其好处就是可以在视图层定义返回json的格式,而且可以定义bean的JSON模版,比较灵活。

项目中有一个名为QueryResult的类,并设置了QueryResult类的模版,名为_queryresult.gson

Read More

Intellij远程调试Tomcat

  1. 在Tomcat下新建setenv.sh文件
  2. 运行chmod 755 setenv.sh
  3. 将下面的代码添加到setenv.sh文件中

    1
    export CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,address=1043,server=y,suspend=n"

Read More

Kubernetes入门

Kubernetes入门

Kubernetes是什么

Kubernetes是用来自动化部署,扩展,管理容器应用的工具.

Read More

Spring Boot YAML配置文件设置字段默认值

SpringBoot中application.yaml如何设置配置项默认值一直困扰了我很久,官方文档也没有写如何设置默认值,今天有时间研究了下,发现只要加个冒号就可以了,如${配置名:默认值}.

application.yml

1
2
3
appconfig:
fileServerAccessKey: ${FILE_SERVER_ACCESS_KEY:default_access_key}
...

Read More

Linux下启动Java守护进程方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/sh
DESC="Java Service"
NAME=java-service
PIDFILE=/tmp/$NAME.pid
PATH_TO_JAR=~/java-service.jar
PATH_TO_JAVA=/usr/local/jdk1.8.0_131/bin/java
SERVICE_CONFIG='-Dserver.port=8080 -DLOG_PATH=/var/log'
COMMAND="$PATH_TO_JAVA -- $SERVICE_CONFIG -jar $PATH_TO_JAR"
d_start() {
start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE --exec $COMMAND
}
d_stop() {
start-stop-daemon --stop --quiet --pidfile $PIDFILE
if [ -e $PIDFILE ]
then rm $PIDFILE
fi
}
case $1 in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
d_stop
sleep 1
d_start
echo "."
;;
*)
echo "usage: $NAME {start|stop|restart}"
exit 1
;;
esac
exit 0

Read More

HPKP(HTTP Public Key Pinning)详解

HPKP是什么

HPKP(HTTP Public Key Pinning)又名公钥打孔,可以通过告知客户端将特定的加密公钥与特定服务器关联,以减少通过伪造证书进行中间人攻击(MITM)的风险.

Read More

PostgreSQL JDBC time类型存取细节

  • PostgreSQL中默认时区为UTC
  • record表中有一类型为Time without timezone的字段event_time
  • 本机的时区为UTC+8

Read More

Hibernate学习

占位符(named parameters)对order by无效

1
2
//对于最后两字段sortField和sortOrder设值时是没有效果的
SELECT * FROM t_table WHERE column=:param1 ORDER BY :sortField :sortOrder

Read More