Ark.exploit.log

Date: 2019-11-23 18:18:27

  • Ctrl + Alt + N 内联变量(相当于提取变量的逆向操作)

Date: 2019-11-20 22:01:04

  • Pro Environment Deployment Review

    • 安装Git yum install git
    • 服务器端用 git pull 拉取开发环境提交的最新代码 git clone https://github.com/OrekiYuta/ArCanoe.git
    • 安装Maven yum install
    • 修改配置文件信息;👉Maven官方文档

      • 环境分离,Spring 提供在本地使用 Pom 配置
      • 服务端用Maven 的 .m2/setting.xml 配置文件
        • vim ~/.m2/settings.xml
          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
          <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
          https://maven.apache.org/xsd/settings-1.0.0.xsd">
          <localRepository/>
          <interactiveMode/>
          <offline/>
          <pluginGroups/>
          <servers/>
          <mirrors/>
          <proxies/>
          <profiles>
          <profile>
          <id>dev</id>
          <properties>
          <db.url>jdbc:h2:~/ArCanoe</db.url>
          <db.user>sa</db.user>
          <db.password>123</db.password>
          </properties>
          <activation>
          <activeByDefault>true</activeByDefault>
          </activation>
          </profile>
          <profile>
          <id>pro</id>
          <properties>
          <db.url>jdbc:mysql://localhost:3306/ArCanoe</db.url>
          <db.user>root</db.user>
          <db.password>xxxxx</db.password>
          </properties>
          </profile>
          </profiles>
          <activeProfiles/>
          </settings>
    • 配置jdk,maven环境

      • cd 进入项目
      • 用flyway工具按脚本生成数据库表 mvn clean compile flyway:migrate -Ppro pro是在配置中 profile 节点自定义的名称
      • 配置了环境分离的话,可以在开发环境和服务端分别按配置构建数据库连接进行便利开发,因为开发环境的配置不能随意填写
      • 开发环境最好和服务部署环境保持一致性
    • mvn clean compilemvn package 构建jar包
    • 运行jar包即可 java -jar target/xxxx-0.0.1 -SNAPSHOT.jar
    • 访问服务端即可

    • 在服务器部署方面采用docker会更方便后续工作
    • docker主要步骤为: 拉取镜像/构建镜像→构建容器→运行容器
    • 首先得安装docker,运行 service docker start
    • 在这里以MySQL为例:
    • docker image pull mysql 首先会从本地查看有没有mysql镜像,没有再去docker仓库拉取
    • docker image ls
    • docker container run mysql 生成的容器会持久化存在,不需要可删除
    • docker ps docker container ls -all
    • docker run -it --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -v xx/xx : xx/xx mysql 端口映射,文件夹映射
    • 需要深入了解网络IP
    • docker exec -it mysql /bin/bash 进入容器启动容器命令行
    • docker exec -it mysql -h localhost -u root -p
    • docker exec -it mysql bash mysql -uroot -p
    • docker exec -it mysql mysql -uroot -p

    • 对于项目而言可以采用 dockerFile 方式把环境和项目和操作步骤写入dockerFile文件里
    • 然后构建项目镜像,就可以方便的在不同环境利用docker部署
    • 也可以把项目容器和数据库容器等多个容器用docker compose 方式构建
    • 多下点功夫去看官方英文文档

Date: 2019-11-15 17:06:49

  • Ctrl + shift + U 选中内容小写

Date: 2019-11-08 17:06:50

  • Ctrl + Alt + M 把选中代码提取成方法
  • Ctrl + Alt + P 把选择代码提取成形式参数

Date: 2019-11-02 16:51:41

  • 页面debug方法:

    1. 在调试处加入debugger

    2. 运行页面进行相应调试

Date: 2019-11-01 16:55:42

  • Ctrl+F6 调整方法参数位置

Date: 2019-10-28 21:05:57

  • 数据库字段默认值设置了default 0 ,但是就是不生效。

    1. 问题逐一排查,先debug了看了下提交的字段为null,按道理更新数据之后该条记录中的null应该为默认值0;但是仍是null。

    2. 思考……是不是之前应用了的MybatisGenerator的用法不对呢。

    3. 通过分析源码,发现insert()和insertSelective的区别了,加入是insert就把所有值插入,但是要注意加入数据库字段有default,default是不会起作用的,而后者就不会忽略default

    4. 同理updateByPrimaryKeys,updateByPrimaryKeySelective

Date: 2019-10-26 00:15:59

  • Alt+F7 查看依赖处

Date: 2019-10-25 01:17:27

  • 在数据库后期维护时,如果增加字段,要修改Mapper,Model等已有代码,这时就很麻烦;

    MyBatis Generator 可以帮助完成这些操作,配置Maven依赖,配置xml,运行命令 mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate

Date: 2019-10-21 01:12:13

  • Ctrl+F12 快速展示源码的方法列表

  • Win+Alt+← 后退 +→ 前进

Date: 2019-10-19 17:59:27

  • Ctrl+Win+W 会自动选中已选中的页面标签最外层

Date: 2019-10-16 12:20:25

  • Lombok 通过注解自动化生成getter和setter,同时也有它的缺点,Google一下,你就知道!

Date: 2019-10-15 19:16:56

  • IEDA快捷生成DIV,输入标签.类名 按Tag键;同理纯标签的话,输入标签名按Tag生成

  • Ctrl+D 复制光标当前所在行内容到下一行

  • Flyway集成错误: org.flywaydb.core.api.FlywayException: Version may only contain 0..9 and . (dot). Invalid version: 3.Creare.question.table -> [Help 1]

    解决方案:根据错误提示,发现是命名格式错误,修改即可

Date: 2019-10-13 16:57:00

  • flyway 类似版本管理工具一样,管理数据库

  • rm ~/ArCanoe.* 删除已有库

  • H2数据库仅支持单链接,执行相关内容,需要关闭之前的链接

Date: 2019-10-11 16:04:50

  • Crtl+E 切换最近编辑的窗口

Date: 2019-10-10 20:38:00

  • Alt+Enter 提示添加jar包或其它

  • Ctrl+Alt+V 快速创建变量

  • Shift+Enter 自动换行并将光标移动到下一行前面

Date: 2019-10-10 11:13:13

  • IDEA(Shift+F6) 重命名文件

  • Crtl+Shift+F12 代码栏最大化

Date: 2019-10-09 20:16:26

  • 不知道传什么变量的时候,IDEA(Crtl+P)提示

< - 僕らは知らない - >