Util

一、IDEA(2019.2.3)

1.快速编码

1.1 快捷键(Keymap)

Effect 作用 IDEA
Reformat code 格式化 Ctrl+Alt+L(注意QQ快捷键冲突)
Replace implicit conversion action 小灯泡 Alt+Enter
Start New Line 快速换行 Shift+Enter
Duplicate Line Or Selection 快速复制 Ctrl+D
Delete Line 快速删除 Ctrl+Y
Move Statement Down/Up 方法、代码下移 Ctrl+Shift+down/up
Undo 撤销 Ctrl+Z
Redo 反撤销 Ctrl+Shift+Z
Find.../Replace 查找/替换 Ctrl+F/R
Move Caret To Previous/Next Word 智能调整光标 Ctrl+left/right
Move Caret To Previous/Next Word With Selection 智能调整光标并选中 Ctrl+Shift+left/right
Surround With 选中代码块生成包围代码 Ctrl+Alt+T
Variable... 自动生成变量声明 Ctrl+Alt+V
Generate... 生成... Alt+Insert/Generate
Type Hierarchy 继承关系 Ctrl+H
Class Name Completion 自动补全 Ctrl+Alt+Space
SmartType 智能提示 Ctrl+Shift+Space

 

1.2 快捷输入(Live Templates/Postfix Completion)

Live Templates 分类 作用
main Groovy 生成main方法
sout/souf/soutv Groovy 输出至控制台
foreach Android 遍历序列

 

Postfix Completion 适用语言 作用
.var+Tab java/scala 声明变量
.sout/.souf/.soutv java 输出至控制台
(seq).iter+Tab java 遍历序列
选中变量+Alt+Enter+Type Annotation scala 显示声明变量类型
.prtln/.sout scala 输出至控制台
(seq).for+Tab scala 遍历序列

2.IDEA的使用

2.1 目录的展开、折叠

  • 目录的一级展开:鼠标双击或键盘右箭头
  • 目录的完全展开(Fully Expand Tree Node):选中待展开目录+键盘*键
  • 目录的一级折叠:鼠标双击或键盘左箭头
  • 目录的完全折叠(Collapse Tree Node):选中待折叠目录+键盘-键

2.2 External Tools

2.2.1 javap -c

2.2.2 javap -verbose

2.3 鼠标悬停提示

Settings->Editor->General->Show quick documentation on mouse move

2.4 Git插件的使用

2.5 Mysql插件的使用

2.6 Tomcat插件的使用

2.6.1 热部署

2.7 Maven配置

2.7.1 setting/Build/Build Tools/Maven

2.7.2 setting/Build/Build Tools/Maven/Runner

配置不联网时使用本地已下载的插件创建Maven项目
VM Options中添加参数 -DarchetTypeCatalog=internal

2.8 控制台信息过多

方法1
https://logging.apache.org/log4j/2.x/manual/configuration.html#
将log4j2.xml放入resources目录

方法2
System.err.println("使用map算子:"+s);

方法3
resources目录新建log4j.properties

#Global logging configuration
log4j.rootLogger=WARN, stdout

#Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

3.Maven

3.1 基本内容

  • 相关信息

  • 定义

    • Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。
    • Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。
    • Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。
  • Maven 能够帮助开发者完成以下工作:

    • 构建
    • 文档生成
    • 报告
    • 依赖
    • SCMs
    • 发布
    • 分发
    • 邮件列表
  • 约定配置

    目录 目的
    $ 存放pom.xml和所有的子目录
    ${basedir}/src/main/java 项目的java源代码
    ${basedir}/src/main/resources 项目的资源,比如说property文件,springmvc.xml
    ${basedir}/src/test/java 项目的测试类,比如说Junit代码
    ${basedir}/src/test/resources 测试用的资源
    ${basedir}/src/main/webapp/WEB-INF web应用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面
    ${basedir}/target 打包输出目录
    ${basedir}/target/classes 编译输出目录
    ${basedir}/target/test-classes 测试编译输出目录
    Test.java Maven只会自动运行符合该命名规则的测试类
    ~/.m2/repository Maven默认的本地仓库目录位置
  • 特点

    • 项目设置遵循统一的规则。
    • 任意工程中共享。
    • 依赖管理包括自动更新。
    • 一个庞大且不断增长的库。
    • 可扩展,能够轻松编写 Java 或脚本语言的插件。
    • 只需很少或不需要额外配置即可即时访问新功能。
    • 基于模型的构建 ? Maven能够将任意数量的项目构建到预定义的输出类型中,如 JAR,WAR 或基于项目元数据的分发,而不需要在大多数情况下执行任何脚本。
    • 项目信息的一致性站点 ? 使用与构建过程相同的元数据,Maven 能够生成一个网站或PDF,包括您要添加的任何文档,并添加到关于项目开发状态的标准报告中。
    • 发布管理和发布单独的输出 ? Maven 将不需要额外的配置,就可以与源代码管理系统(如 Subversion 或 Git)集成,并可以基于某个标签管理项目的发布。它也可以将其发布到分发位置供其他项目使用。Maven 能够发布单独的输出,如 JAR,包含其他依赖和文档的归档,或者作为源代码发布。 -向后兼容性 ? 您可以很轻松的从旧版本 Maven 的多个模块移植到 Maven 3 中。
    • 子项目使用父项目依赖时,正常情况子项目应该继承父项目**依赖,无需使用版本号,
    • 并行构建 ? 编译的速度能普遍提高20 - 50 %。
    • 更好的错误报告 ? Maven 改进了错误报告,它为您提供了 Maven wiki 页面的链接,您可以点击链接查看错误的完整描述。

3.2 what

  • 项目管理工具,可实现依赖管理(jar包管理)、一键构建等功能,实现代码可重用
  • Maven的java项目结构
    • src/main/java 放置核心代码
    • src/main/resources 放置配置文件
    • src/test/java 放置测试代码
    • src/test/resources 放置测试配置文件
    • src/main/webapp 放置页面资源:html、css、js、图片等
  • Maven的配置目录
    • boot/plexus-classworlds-2.6.0.jar(maven运行需要的类加载器)
    • conf/setting.xml
    • bin/mvn.cmd
    • lib(maven运行使用的jar包,其中提供了tomcat插件,可不安装tomcat直接部署web项目)

3.3 why

  • 防止大量jar包冗余(Myeclipse只能将jar包均复制至WEB-INF/libs)、防止jar包冲突、单元测试的必要性(检验代码质量)

3.4 how

3.4.1 配置环境变量

配置 JAVA_HOME
配置 MAVEN_HOME 并配置 %MAVEN_HOME%\bin
DOS命令执行 mvn -v

3.4.2 conf/setting.xml

//1.修改Maven仓库默认路径
<localRepository>${user.home}/.m2/repository</localRepository>
->
<localRepository>D:\Coder\Apache\apache-maven-Repository</localRepository>

//2.修改远程仓库url:中央仓库->阿里云,注意jar包获取流程:本地仓库->远程仓库下载至本地->中央仓库下载至本地
<mirrors>
    <mirror>
		<id>mirrorId</id>
		<mirrorOf>repositoryId</mirrorOf>
		<name>Human Readable Name for this Mirror.</name>
		<url>http://my.repository.com/repo/path</url>
    </mirror>
</mirrors>
->
<mirrors>
	<mirror>
		<id>alimaven</id>
		<!-- 把该源作为central源的代理,访问central源时即将请求发给该源 -->
		<mirrorOf>central</mirrorOf>
		<name>aliyun maven</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
	</mirror>
</mirrors>

3.4.3 mvn命令


#DOS命令行
mvn -X
[DEBUG] Reading global settings from D:\Coder\Apache\apache-maven-3.6.2-bin\apache-maven-3.6.2\bin\..\conf\settings.xml
[DEBUG] Reading user settings from C:\Users\22064\.m2\settings.xml
先从自行配置的apache-maven-3.6.2\bin\..\conf\settings.xml中读取配置信息
再从用户目录的C:\Users\22064\.m2\settings.xml中读取配置信息

1.编辑maven标准项目

2.清除已编译的target目录
mvn clean

3.编译maven项目核心代码,对src/main/*的Sources Root目录内的文件编译为class文件,生成target/classes目录
mvn compile

4.编译maven项目核心代码与测试代码,对src/test/*的Test Sources Root目录内的文件编译为class文件,生成target/classes与target/test-classes目录
mvn test

5.编译maven项目核心代码与测试代码并打包,pom.xml中须配置打包格式,如<packaging>pom</packaging>、<packaging>war</packaging>
mvn package

6.编译maven项目核心代码与测试代码并打包,同时将包配置到本地仓库
mvn install

7..编译maven项目核心代码与测试代码并打包,同时将包配置到本地仓库并发布,pom.xml中须配置
mvn deploy

3.4.4 Maven项目的生命周期(后面的步骤执行时,必会执行前面的所有步骤)

  • 默认生命周期:编译compile->测试test->打包package->安装install->发布deploy
    • 编译
    • 测试
    • 打包
    • 安装
    • 发布
  • 清理生命周期:清除项目编译信息
  • 站点生命周期

3.4.5 Maven项目的概念模型(pom.xml)

  • 项目对象模型:项目自身信息
  • 项目依赖模型:项目依赖信息(local本地仓库->b2b远程仓库->central中央仓库)dependencies
    • 组织名groupId
    • 项目名artifactId
    • 版本号version
  • 生命周期管理:项目运行环境信息(build/plugin标签,如jdk、tomcat...)

4.Maven项目的创建

需求:
1.用IDEA创建Maven webapp项目并实现网页登录
2.将该项目打带依赖的jar包并在windows上运行
3.将该项目打带依赖的jar包并在linux上运行

4.1 IDEA

4.1.1 创建Maven项目->webapp

4.1.2 pom.xml导包

pom.xml
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
  <scope>provided</scope>
</dependency>

<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>fastjson</artifactId>
  <version>1.2.46</version>
</dependency>

4.1.3 新建Test目录(需Mark Directory as Sources Root)及HelloController类

HelloController
@WebServlet(urlPatterns = "/hello")
public class HelloController extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		PrintWriter out = resp.getWriter();
		out.println("hello");

		Map<String,Object> map = new HashMap<String,Object>();
		map.put("a1234","aaa");
		String json = JSONObject.toJSONString(map);
		out.println(json);

		out.flush();
		out.close();
	}
}

4.1.4 部署tomcat(实时更新Deployment中Artifact需添加day1_1mavenTest_war_exploded)并访问http://localhost:8080/day1_1mavenTest_war_exploded/hello

4.1.5 若idea运行tomcat控制台乱码,需Edit Custom VM Options,末尾添加-Dfile.encoding=UTF-8

4.2 windows+jar

4.2.1 打带依赖的jar包

4.2.2 放入windows中的tomcat/webapp目录


4.3 linux+jar

4.3.1 打带依赖的jar包

4.3.2 放入linux中的tomcat/webapp目录


4.4 IDEA部署Maven

4.4.1 配置Maven

4.4.2 新建java项目

4.4.3 新建web项目(使用tomcat插件)

5.Maven项目的导入、导出、运行

5.1 项目导入

Eclipse导入IDEA
New Project from Existing Sources...

5.2 项目jar包导入

<!--如何在maven的pom.xml中添加本地jar包-->
<dependency>
	<groupId>com.yc</groupId>
	<artifactId>part1_dataStructure</artifactId>
	<version>1.0-SNAPSHOT</version>
</dependency>

5.3 导出

5.3.1 导出(zip)

Exeport to Zip File
Export Project to Eclipse

5.3.2 导出(jar)

  • 1.通过Project Structure
Project Structure->Artifacts->Add jar Empty->compile output拖动至jar包上->OK
Build -> Buile Artifacts -> jar包名
见out目录
  • 2.通过Maven Tool Windows
<build>
	<finalName>WordCount</finalName>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-assembly-plugin</artifactId>
			<version>3.0.0</version>
			<executions>
				<execution>
					<id>make-assembly</id>
					<phase>package</phase>
					<goals>
						<goal>single</goal>
					</goals>
				</execution>
			</executions>
			<configuration>
				<descriptorRefs>
					<descriptorRef>jar-with-dependencies</descriptorRef>
				</descriptorRefs>
			</configuration>
		</plugin>
	</plugins>
</build>
LifeCycle -> 双击clean再双击package
见target目录
  • 3.通过DOS打包
cd 项目路径
mvn clean package

5.3.3 导出(war)


5.3.4 运行

  • 1.Windows(DOS)运行jar
...
  • 2.Linux(Shell)运行jar

  • 3.Windows(DOS)运行war
...
  • 4.Linux(Shell)运行war

二、HbuilderX -> SublimeText

1.SublimeText

1.1 连接虚拟机

1.1.1 ftp/sftp

1.2 markdown文件预览

1.3 前端文件格式化

1.3.1 html-css-js prettify

html、css、js代码格式化插件
Ctrl+Alt+H

1.本地配置NodeJS环境
2.Ctrl+Shift+P调出命令面板
3.install->PCIC
4.HTML-CSS-JS Prettify

5.查看本地安装的NodeJS配置环境路径(在dos命令下,输入where node)
6.SublimeText新建html文件并右击,选择Set Plugin Options
7.将上述步骤5中的NodeJS本地路径保存到node_path->windows
8.右击html文件,选择Prettify Code

三、FastStoneCapture

四、SQLyog -> Navicat

五、PLSQL

六、VMware Workstation pro

七、XShell/Xftp -> MobaXterm

八、Pycharm

posted @ 2020-02-22 22:00    阅读(568)  评论(0)    收藏  举报