Decorative image frame

Fun90

物有本末,事有终始。知所先后,则近道矣。

Fun90

Nginx 504 Gateway Time-out

背景

Nginx + Tomcat搭建的服务器,客户反映在在访问系统过程中会出现504 Gateway Timeout的错误,出现的频率还不低,但看上去并没什么规律。

Nginx代理配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
upstream test {
server 192.168.0.28:9087 weight=1;
}

server {
listen 81;
server_name localhost;
charset utf-8;

location / {
proxy_pass http://test;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

阅读全文...

IntelliJ IDEA 导出增量补丁文件插件(Patcher)

介绍

当你遇到增量更新有没有完整的增量编译环境时,这款插件可以帮到你。

Patcher是一款导出增量补丁文件的IDEA插件,可轻松的将修改过的文件导出到指定位置。

安装

  1. 下载插件:GitHub
  2. 进入菜单:Settings –> Plugins –> Install plugin from disk,选择
  3. 安装完之后在IDEA中有4处可以看到“Create Patcher”的菜单项,详情参见GitHub

阅读全文...

如何从shell脚本创建简单的Mac应用程序

翻译至:《How to create simple Mac apps from shell scripts》

通常Mac应用程序有一个.app的扩展名,但是它不是一个真正的文件,而是一个包。你可以在Finder中查看应用程序的内容,只要右键应用程序然后选择“显示包内容”。

内部文件结构可能在App之间有所不同,但是你可以确定每个Mac App都有一个包含MacOS子文件夹的Contents文件夹。在MacOs目录中,有一个与App本身同名的无扩展文件。这个文件可以是任何东西,但最简单的形式是一个shell脚本。事实证明,这个文件夹/文件结构是创建App的全部内容。

阅读全文...

Mac IDEA 注册服务开机自动启动

创建两个文件

com.fun90.IDEALicenseServer.plist

com.fun90.IDEALicenseServer.plist名称可以自定义,内容如下,注意其中的文件路径。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.fun90.IDEALicenseServer</string>
<key>ProgramArguments</key>
<array>
<string>/Users/xxx/IntelliJIDEALicenseServer/IntelliJIDEA.command</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

阅读全文...

Tomcat Console日志引起应用挂起

问题背景

给客户新开发的同步服务,其实就是采用Quartz的写的定时任务,由运维部署到客户的服务器之后总是时不时出现应用卡住不动的问题。具体现象是在windows server下启动Tomcat,Tomcat弹出的Console一开始正常刷着日志,隔一段不固定的时间就有同事报告“Tomcat Console的日志莫名停住了,定时任务也卡住不执行,而且不报任何异常信息”。

阅读全文...

Maven打包插件:自动添加css js版本号

jcv-maven-plugin、maven-replacer-plugin这两款maven打包插件均可以实现在打出的包自动添加js/css版本号。jcv-maven-plugin是专门为压缩js/css文件和添加js/css版本号设计的一款插件,使用的人很少,使用说明文档较为模糊。maven-replacer-plugin则可以在打包时匹配指定文件中的内容并替换,这里介绍用来自动添加js/css版本号。

阅读全文...

MS Word通配符下划线转驼峰

在写接口文档时,经常要将字段的下划线转换为驼峰命名,使用通配符并了解如下知识即可快速替换了。

  1. 任意单个字符 ?,小写英文字母[a-z],任意英文字母[a-zA-Z]
  2. 替换内容中的\n表示在查找内容第n个括号的匹配内容
  3. Windows快捷键:查找和替换对话Ctrl+H,大小写转换Shift+F3(Mac中还没试)

以下截图为Office 2016,其他版本大同小异。

阅读全文...