java

  1. Arrays.asList()方法是将数组转化为list
  2. JSONObject转JSONArray
String temp = jsonObject.getString(mark) ;
JSONArray jsonArray = JSON.parseArray(temp) ;
  1. List<JSONObject>转JSONArray
JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(list\<JSONObject\>));

linux

  1. rm -rf 文件夹
  2. rm -f 文件

-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思

  1. 查看服务器版本 cat /etc/lsb-release

docker

  1. docker kill $(docker ps -a -q) 杀死所有正在运行的容器
  2. docker rm $(docker ps -a -q) 删除所有已经停止的容器
  3. docker rmi $(docker images -q) 删除所有镜像

docker&linux

  1. bash: sudo: command not found
    解决办法
    apt-get update
    apt-get install sudo

  2. bash: wget: command not found
    解决办法
    apt-get install -y wget

  3. bash: yum: command not found
    解决办法
    apt-get install yum

  4. gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation
    解决办法
    apt-get install -y gnupg2

  5. 运行systemctl相关指令时出现:Failed to connect to bus: No such file or directory
    解决办法
    似乎是因为docker容器无特权的原因
    创建容器时 使用docker run -ti -d --privileged=true images_docker "/sbin/init" 进行创建,主要是--privileged=true

  6. sudo:add-apt-repository:command not found
    解决办法
    sudo apt-get install software-properties-common python-software-properties

MacOS

  1. Homebrew国内安装地址
    /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

  2. 安装gpg
    brew install gnupg gnupg2

  3. 安装rvm(当连接不上时)
    查询真实IP
    https://www.ipaddress.com/查询raw.githubusercontent.com的真实IP。
    修改hosts
    sudo vim /etc/hosts
    添加如下内容:
    199.232.28.133 raw.githubusercontent.com

Chrome

  1. 私密连接无法访问
    直接在此页面键盘敲击thisisunsafe(神奇的彩蛋)

MyBatis

  1. mapper文件中,如果返回值是map的话,key是数据库字段名,value是查询结果

前后端传参

后端使用@RequestParam来接收前端传的参数时:

  1. Content-Type为application/x-www-form-urlencoded
  2. 需要对data使用qs.stringify来进行转换

后端使用@RequestBody来接收前端传的参数时:
Content-Type要设置为application/json

axios默认情况下, 不写content-type, 是以json的方式来传递:
(Content-Type: application/json;charset=UTF-8)
如需表单提交方式,即content-type为x-www-form-urlencoded,需添加:

 headers: {
   'Content-type': 'application/x-www-form-urlencoded'
  }

Activiti工作流框架

taskService.claim(task.getId(), "billy");	//此时代理人是billy
taskService.delegateTask(task.getId(), "cc");	//此时委托人是billy,代理人是cc
taskService.resolveTask(taskId,variables);	// 被委派人处理完成任务
taskService.complete(taskId, variables);	// 提交用户任务表单并完成任务

Win10

电脑不支持UEFI时,U盘需FAT32;镜像大于4G解决办法:

  1. 下载镜像并解压,将sources中的install.wim用指令或者Dism++等工具拆分为两个swm文件,指令模板为:
    Dism /Split-Image /ImageFile:C:\install.wim /SWMFile:C:\install.swm /FileSize:2500
  2. 用软碟通打开镜像,删除原来的install.wim,将拆分的两个swm放进去,并保存镜像。试用版无法保存,尝试以下公号:
    用户名:王涛 注册码:7C81-1689-4046-626F
  3. 保存后写入即可

log4j

配置文件


### 设置###
log4j.rootLogger = debug,stdout,D,E

### 输出信息到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E://logs/error.log 
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

代码中使用,显示到控制台

  1. private static Logger logger = Logger.getLogger(A.class);
  2. logger.info("aaa"); logger.debug("aaa");

IDEA

  1. 需要调试线程时,右键断点并设置为Thread
  2. 自己写的包明明没报错却无法启动 可以尝试检查Project Structure - > Libraries

swagger2

@ApiImplicitParams:用在请求的方法上,表示一组参数说明
    @ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
        name:参数名
        value:参数的汉字说明、解释
        required:参数是否必须传
        paramType:参数放在哪个地方
            · header --> 请求参数的获取:@RequestHeader
            · query --> 请求参数的获取:@RequestParam
            · path(用于restful接口)--> 请求参数的获取:@PathVariable
            · body(不常用)
            · form(不常用)    
        dataType:参数类型,默认String,其它值dataType="Integer"       
        defaultValue:参数的默认值

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

To see the world as it is and to love it.