一、介绍

IDEA全称IntelliJ IDEA,是java语言开发的集成环境。idea提倡的是智能编码,目的是减少程序员的工作,其特色功能有智能的选取、丰富的导航模式、历史记录功能等,最突出的功能是调试(Debug),可以对Java代码、javascript、JQuery等技术进行调试。首先,如果你做开发的话,肯定少不了开发工具,不过现在主流的java开发工具有传统的eclipse变成了IDEA,因为它开发更方便,更快捷。

二、IDEA的优点

1.智能的选取。在很多时候我们要选取某个方法,或某个循环或想一步一步从一个变量到整个类慢慢扩充着选取IDEA就提供这种基于语法的选择,在默认设置中Ctrl+w,可以实现选取范围的不断扩充,这种方式在重构的时候尤其显得方便。

2.丰富的导航模式。IDEA提供了丰富的导航查看模式,例如ctrl+e显示最近打开过的文件,ctrl+n显示你希望显示的类名查找框(该框同样有智能补充功能,当你输入字母后IDEA将显示所有候选类名)。在最基本的project试图中,你还可以选择多种的试图方式。

3.历史记录功能。不用通过版本管理服务器,单纯的IDEA就可以查看任何工程中文件的历史记录,但版本恢复时你可以很容易的将其恢复。

4.JUnit的完美支持。

5.对重构的优越支持。IDEA是所有IDE中最早支持重构的,其优秀的重构能力一直是其主要卖点之一。

6.编码辅助。java规范中提倡的tostring()hashcode()equals()以及所有的get/set方法,你可以不用进行任何 的输入就可以实现代码的自动生成,从而把你从无聊的基本方法编码中解放出来。

7.灵活的排版功能。基本所有的IDE都有重排版功能,但仅有IDEA的是人性的,因为她支持排版模式的定制,你可以根据不同的项目要求采用不同的排版方式。

8.xmxxxxl的完美支持。

9.简洁易用的GUI界面。

10.与文件系统自动同步。当你最小化IDEA,直接对文件进行编辑之后,重新打开IDEA后IDEA将自动的完成文件的更新,而不用重新导入工程或刷新工程。

11.自定义的快捷键。强大的快捷键设置,基本可以让程序员离开鼠标工作

12.动态语法检测。任何不符合java规范,自己预定义的规范,累赘都将在页面中加亮显示。

13.代码检查。对代码进行自动分析,检测不符合规范的,存在风险的代码,并加亮显示。

14.对SP的完全支持。不需要任何的插件,完全支持SP。

15.智能编辑。代码输入过程中,自动补充方法或类。

16.EB支持。不需要任何插件完全支持EB(6.0支持ejb3.0)

17.列编辑模式。用过utralEdit的肯定对其的列编辑模式赞赏不已,因为她减少了很多很多的无聊重复工作,而IDEA完全支持该模式,从而更加提高了编码效率。

18.智能模板。预置模板可以让你把经常用到的方法编辑进模板,使用时你只用输入简单的几个字母就可以完成全部代码的编写。例如使用比较高的public static void main(String[] args)你可以在模板中预设pm为该方法,输入时你只要输入pm再按代码辅助键,IDEA将完成代码的自动输入。

19.完美的自动代码完成。智能检查类中方法,当发现方法名只有一个时自动完成代码输入,从而减少剩下代码的编写工作。

20.Ant支持。不需要任何的第三方插件。

21.不使用代码检查。自动检查代码中不使用的代码,并给出提示,从而使代码更高效。

22.智能代码。自动检查代码,发现与预置规范有出入的代码给出提示,若程序员同意修改自动完成修改。例如代码:String str = "Hello Intellij "+ "IDEA";IDEA将给出优化提示,若程序员同意修改IDEA将自动将代码修改为:String str = "Hello Intellij IDEA";

23.正则表达的查找和替换功能。查找替代支持正则表达,从而提高效率。

24.JavaDoc预览支持。支持JavaDoc的预览功能,在JavaDoc代码中ctrl+q显示lavaDoc的结果,从而提高文档的质量。

25.程序员意图支持。当程序员编码时IDEA时时检测你的意图,或提供建议,或直接帮你完成代码。

三、IDEA的详细使用

整理的文 档如下:

 

1.背景介绍

  • IDEA VS Eclipse

Eclipse;IBM公司,它与IDEA是竞争对手的关系,现在很多的一线互联网公司开始逐步的使用IDEAIDEA是JetBrains公司产品,是捷克的一家公司。

WebStorm:用于开发 jaxxxxvascxxxxript、HTML5、CSS3 等前端技术;

PyCharm:用于开发 python

PhpStorm:用于开发 PHP

RubyMine:用于开发 Ruby/Rails

AppCode:用于开发 obxxxxjective - C/Swift

CLion:用于开发 C/C++

DataGrip:用于开发数据库和 SQL

Rider:用于开发.NET

GoLand:用于开发 Go

  • IDEA介绍

IDEA,全称 IntelliJ IDEA,是 Java 语言的集成开发环境,IDEA 在业界被公认为是最好的 java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS 整合、代码审查、创新的 GUI 设计等方面的功能可以说是超常的。IntelliJ IDEA 主要用于支持 Java、Scala、Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和 Web 应用的开发在做java或者大数据开发的时候都是可以使用这些,新用户可能会觉得博而不精,但是老用户是没有类似的感觉的

  • IDEA可以支持的

  • 相比较eclipse的优势在于

1).强大的整合能力。比如:Git、Maven、Spring 等

2).提示功能的快速、便捷

3).提示功能的范围广

4).好用的快捷键和代码模板 private static final psf

5).精准搜索

2.windows下idea

  • 硬件要求(Hardware requirements)

内存:2 GB RAM minimum 4 GB RAM recommended

硬盘:1.5 GB hard disk space + at least 1 GB for caches

屏幕:1024x768 minimum screen resolution

个人建议配置:内存 8G 或以上,CPU 最好 i5 以上 ,最好安装 块固态硬盘(SSD) ,将 IDEA安装在固态硬盘上,这样流畅度会 加快很多。

  • 软件要来

操作系统: Microsoft Windows 10/8/7/Vista/2003/XP (32 or 64 bit)

软件环境:

Ø JRE 1.8 is bundled with the IntelliJ IDEA distribution. You do not need to install Java on your computer to run IntelliJ IDEA

Ø A standalone JDK is required for Java development.

  • 安装步骤以及目录介绍

Ø 确认 32 位版还是 64 位版

Ø 确认是否与.java、.groovy、.kt 格式文件进行关联,这里也可以选择不关联

4.

安装总结:从安装上来看,IntelliJ IDEA 对硬件的要求似乎不是很高。可是实际在开发中其实并不是这样的,因为 IntelliJ IDEA 执行时会有大量的缓存、索引文件,所以如果你正在使用 Eclipse / MyEclipse,想通过 IntelliJ IDEA 来解决计算机的卡、慢等问题,这基本上是不可能的,本质上你应该对自己的硬件设备进行升级 。

目录介绍:

bin:容器,执行文件和启动参数等

help:快捷键文档和其他帮助文档

jre64:64 位java 运行环境

lib:idea 依赖的类库

license:各个插件许可

plugin:插件

配置目录:

这是 IDEA 的各种配置的保存目录。这个设置目录有一个特性,就是你删除掉整个目录之后,重新启动 IntelliJ IDEA 会再自动帮你生成一个全新的默认配置,所以很多时候如果你把 IntelliJ IDEA 配置改坏了,没关系,删掉该目录,一切都会还原到默认。

config目录是IntelliJ IDEA 个性化化配置目录,或者说是整个 IDE 设置目录。此目录可看成是最重要的目录,没有之一,如果你还记得安装篇的介绍的时候,安装新版本的 IntelliJ IDEA 会自动扫描硬盘上的旧配置目录,指的就是该目录。这个目录主要记录了:IDE 主要配置功能、自定义的代码模板、自定义的文件模板、自定义的快捷键、Project 的 tasks 记录等等个性化的设置

system目录是 IntelliJ IDEA 系统文件目录,是 IntelliJ IDEA 与开发项目一个桥梁目录,里面主要有:缓存、索引、容器文件输出等等,虽然不是最重要目录,但也是最不可或缺的目录之一

  • 启动应用后简单配置

1. 是否导入已有设置

首次启动,会弹出如下的对话框。选择不导入已有的设置。

2.激活

根据提供的激活码  或者百度:idea 破解码,填

入:lisence server 的具体值即可。(需要联网)或者 选择 Activation code,根据

文档提供的激活码,同样可以激活。(不需要联网)

补充:对于 IDEA 2017.3 月版本,需要按照如下的方式激活:

方式一:启动:idea_active_proxy 激活代理.exe ;接着启动 IDEA:输入server: http://localhost:8888 然后可以关闭idea_active_proxy 工具

方式二:淘宝,你懂的

3.简单设置以及HelloWorld

  • 主题设置

这里根据个人喜好,进行选择,也可以选择跳过(skip all and set defaults)。后面在settings 里也可以再设置主题等。这里选择:Next:Default plugins

  • 插件设置

设置 IDEA 中的各种插件,可以选择自定义设置、删除,或者安装本身不存在的插件(比如:支持 Scala 的插件)。这里不设置,后面也可以通过界面菜单栏的settings 进行设置。IDEA 插件官方:https://plugins.jetbrains.com/idea

  • 简单的HelloWorld创建

1.创建java工程

Ø Create New Project:创建一个新的工程

Ø Import Project:导入一个现有的工程

Ø Open:打开一个已有工程。比如:可以打开 Eclipse 项目。

Ø Check out from Version Control:可以通过服务器上的项目地址 check out Github

上面项目或其他 Git 托管服务器上的项目这里选择 Create New Project,需要明确一下概念:IntelliJ IDEA 没有类似 Eclipse 的工作空间的概念(Workspaces),最大单元就是Project。这里可以把 Project 理解为 Eclipse 中的 Workspace。

选择指定目录下的 JDK 作为 Project SDK。

如果要创建 Web 工程,则需要勾选上面的 Web Application。如果不需要创建 Web工程的话,则不需要勾选。这里先不勾选,只是创建简单的 Java 工程。其中,选择 New:选择 jdk 的安装路径所在位置:

给创建的工程起一个名字,点击 finish

  • 常见视图设置

调出工具条和按钮组  工程界面展示

工程下的 src 类似于 Eclipse 下的 src 目录,用于存放代码。

Ø 工程下的.idea 和 project01.iml 文件都是 IDEA 工程特有的。类似于 Eclipse 工程下的.settings、.classpath、.project 等。

接着创建 package 和 和 class

不管是创建 class,还是 interface,还是 annotation,都是选择 new – java class

然后在下拉框中选择创建的结构的类型。

接着在类 HelloWorld 里声明主方法,输出 helloworld,完成测试。

说明:在 IDEA  里要说的是,写完代码,不用点击保存。IDEA

创建模块

1.在 Eclipse 中我们有 Workspace(工作空间)和 Project(工程)的概念,在 IDEA中只有 Project(工程)和 Module(模块)的概念。这里的对应关系为:IDEA  官网说明:An Eclipse workspace is similar to a project in IntelliJ IDEA  。An Eclipse project maps to a module in IntelliJ IDEA

翻译 :Eclipse  中 workspace 相当于 IDEA  中的 的 Project。Eclipse  中 Project 相当于 IDEA  中的 Module

2.从 Eclipse 转过来的人总是下意识地要在同一个窗口管理 n 个项目,这在IntelliJ IDEA 是无法做到的。IntelliJ IDEA 提供的解决方案是打开多个项目实例,即打开多个项目窗口。即:一个 Project 打开一个 Window 窗口

3.在 IntelliJ IDEA 中 Project 是最顶级的级别,次级别是 Module。一个 Project可以有多个 Module。目前主流的大型项目都是分布式部署的,结构都是类似这种多 Module 结构。

六、如何删除模块

此时的删除,会从硬盘上将此 module 删除掉

七:查看项目配置

进入项目结构

4.常用配置

IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解,也因为这些人性化的设置让那些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它。

  • 设置界面

目录结构

  • 设置主题

这里默认提供了三套主题:IntelliJ,Darcula,Windows。这里可以根据自己的喜好进行选择

  • 设置窗体及菜单的字体及字体大小

  • 设置编辑区主题

如果想要更多的主题效果的话,可以到如下的网站下载:http://www.riaway.com/

Ø 下载以后,导入主题:(方式一)file –> import setttings –> 选中下载的主题 jar 文件 –> 一路确认 –> 重启。重启以后,新主题会自动启用。如果没有启用,可以如下方式选择

下载以后,导入主题:(方式二)

  • 通过插件(plugins)

喜欢黑色主题的话,还可以下载插件:Material Theme UI

点击按钮以后,在联网环境下搜索如下的插件-安装-重启 IDEA 即可:

如果对安装的主题插件不满意,还可以找到此插件,进行卸载 – 重启 IDEA 即可

  • 设置鼠标滚轮修改字体大小

我们可以勾选此设置后,增加 Ctrl + 鼠标滚轮 快捷键来控制代码字体大小显示。

  • 设置自动导包功能

Add unambiguous imports on the fly:自动导入不明确的结构

Ø Optimize imports on the fly:自动帮我们优化导入的包

  • 设置显示行号和方法间的分隔符

如上图红圈所示,可以勾选 Show line numbers:显示行数。我建议一般这个要勾选上。

Ø 如上图红圈所示,可以勾选 Show method separators: 显示方法分隔线。这种线有助于我们区分开方法,所以建议勾选上

  • 忽略大小写提示

IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写。如上图标注所示,默认就是 First letter 区分大小写的。

Ø 区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 stringBuffer,IntelliJ IDEA 默认是不会帮我们提示或是代码补充的,但是如果我们输入StringBuffer 就可以进行代码提示和补充。

Ø 如果想不区分大小写的话,改为 None 选项即可

  • 设置取消单行显示 tabs  的操作

如上图标注所示,在打开很多文件的时候,IntelliJ IDEA 默认是把所有打开的文件名 Tab 单行显示的。但是我个人现在的习惯是使用多行,多行效率比单行高,因为单行会隐藏超过界面部分 Tab,这样找文件不方便

  • 设置默认 的 字体、字体大小、字体行间距

  • 修改当前 主题的字体、字体大小、字体行间距

如果当前主题不希望使用默认字体、字体大小、字体行间距,还可以单独设置

  • 修改当前 主题的 控制台输出的字体及字体大小

  • 修改代码 中 注释的字体颜色

Doc Comment – Text:修改文档注释的字体颜色

Ø Block comment:修改多行注释的字体颜色

Ø Line comment:修改当行注释的字体颜色

  • 设置超过指定 import  个数,改为*

  • 修改类头的文档注释信息

/**@author sunstart

@create ${YEAR}-${MONTH}-${DAY} ${TIME}*/

常用的预设的变量,这里直接贴出官网给的:

${PACKAGE_NAME} - the name of the target package where the new class or interface will be created.

${PROJECT_NAME} - the name of the current project.

${FILE_NAME} - the name of the PHP file that will be created.

${NAME} - the name of the new file which you specify in the New File dialog box during the file creation.

${USER} - the login name of the current user.

${DATE} - the current system date.

${TIME} - the current system time.

${YEAR} - the current year.

${MONTH} - the current month.

${DAY} - the current day of the month.

${HOUR} - the current hour.

${MINUTE} - the current minute.

${PRODUCT_NAME} - the name of the IDE in which the file will be created.

${MONTH_NAME_SHORT} - the first 3 letters of the month name. Example: Jan Feb etc.

${MONTH_NAME_FULL} - full name of a month. Example: January February etc.

  • 设置项目文件编码

说明:Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选,不然 Properties 文件中的注释显示的都不会是中文。

  • 设置当前源文件的编码

对单独文件的编码修改还可以点击右下角的编码设置区。如果代码内容中包含中文,则会弹出如上的操作选择。其中:

①Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么。

②Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件,新编码是什么则是什么。

③含有中文的代码文件,Convert 之后可能会使中文变成乱码,所以在转换成请做好备份,不然可能出现转换过程变成乱码,无法还原

  • 设置自动编译

构建就是以我们编写的 java 代码、框架配置文件、国际化等其他资源文件、JSP 页面和图片等资源作为“原材料”,去“生产”出一个可以运行的项目的过程

Intellij Idea 默认状态为不自动编译状态,Eclipse 默认为自动编译:很多朋友都是从 Eclipse 转到 Intellij 的,这常常导致我们在需要操作 class 文件时忘记对修改后的 java 类文件进行重新编译,从而对旧文件进行了操作。

  • 设置为省电模式

如上图所示,IntelliJ IDEA 有一种叫做 省电模式 的状态,开启这种模式之后IntelliJ IDEA 会关掉代码检查和代码提示等功能。所以一般也可认为这是一种 阅读模式,如果你在开发过程中遇到突然代码文件不能进行检查和提示,可以来看看这里是否有开启该功能。

  • 设置代码水平 或垂直显示

  • 设置快捷为 Eclipse  的快捷键

  • 通过 快捷键功能 修改快捷键设置

  • 通过指定快捷键, 查看或修改 其功能

  • 导入已有的设置

点击 0K 之后,重启 IDEA 即可

  • 常用快捷键

1  执行(run)  alt+r

2  提示补全 (Class Name Completion) :alt+/

3  单行 注释  ctrl + /

4  多行注释  ctrl + shift + /

5  向下复制一行 (Duplicate Lines)  ctrl+alt+down

6  删除一行或选中行 (delete line) ctrl+d

7  向下移动行(move statement down)  alt+down

8  向上移动行(move statement up) alt+up

9  向下开始新的一行(start new line)  shift+enter

10  向上开始新的一行 (Start New Line before current)   ctrl+shift+enter

11  如何查看源码 (class)   ctrl +  选中指定的结构  或  ctrl + shift + t

12  万能解错/ 生成返回值变量  alt + enter

13  退回到前一个编辑的页面 (back)  alt + left

14  进入到下一个编辑的页面( 针对于上条) (forward) alt + right

15  查看继承关系(type hierarchy)    F4

16  格式化代码(reformat code)   ctrl+shift+F

17  提示方法参数类型(Parameter Info)   ctrl+alt+/

18  复制代码    ctrl + c

19  撤销    ctrl + z

20  反撤销   ctrl + y

21  剪切    ctrl + x

22  粘贴   ctrl + v

23  保存  ctrl + s

24  全选   ctrl + a

25  选中数行,整体往后移动  tab

26  选中数行,整体往前移动    shift + tab

27  查看类的结构:类似于 eclipse 的 的 outline    ctrl+o

28  重构 : 修改变量名与方法名(rename)    alt+shift+r

29  大写转小写/ 小写转大写(toggle case)   ctrl+shift+y

30  生成构造 器/get/set/toString alt +shift + s

31  查看文档说明(quick documentation)  F2

32  收起所有的方法(collapse all) alt + shift + c

33  打开所有方法(expand all)  alt+shift+x

34  打开代码所在硬盘文件夹(show in explorer)  ctrl+shift+x

35  生成 try-catch  等(surround with)  alt+shift+z

36  局部变量抽取为成员变量(introduce field)    alt+shift+f

37  查找/ 替换( 当前)    ctrl+f

38  查找( 全局)  ctrl+h

39  查找文件    double Shift

40  查看类的继承结构图(Show UML Diagram) ctrl + shift + u

41  查看方法的多层重写结构(method hierarchy)  ctrl+alt+h

42 添加到 收藏(add to favorites)  ctrl+alt+f

43 抽取方法(Extract Method)   alt+shift+m

44  打开 最近 修改的文件(Recently Files)  ctrl+E

45  关闭当前打开的代码栏(close)  ctrl + w

46  关闭打开的所有代码栏(close all) ctrl + shift + w

47  快速搜索类中的错误(next highlighted error)  ctrl + shift + q

48  选择要粘贴的内容(Show in Explorer)  ctrl+shift+v

49  查找方法在哪里被调用(Call Hierarchy)   ctrl+shift+h

5.关于模板

  • Live Templates( 实时 代码模板) 功能介绍

它的原理就是配置一些常用代码字母缩写,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。最简单的例子就是在 Java 中输入 sout 会出现 System.out.println();

  • 已有 的常用模板

Postfix Completion  默认如下

Live Templates  默认 如 下

二者的区别:Live Templates 可以自定义,而 Postfix Completion 不可以。同时,有些操作二者都提供了模板,Postfix Templates 较 Live Templates 能快 0.01 秒

2.1 psvm :  可生成 main  方法

2.2 sout : System.out.println()  快捷输出类似的:

soutp=System.out.println("方法形参名 = " + 形参名);

soutv=System.out.println("变量名 = " + 变量);

soutm=System.out.println("当前类名.当前方法");

“abc”.sout => System.out.println("abc");

2.3 fori :  可生成 for  循环类似的:

iter:可生成增强 for 循环

itar:可生成普通 for 循环

2.4 list.for :  可生成集合 list 的 的 for  循环

List<String> list = new ArrayList<String>();

输入: list.for 即可输出

for(String s:list){ }

又如:list.fori 或 list.forr

2.5 ifn :可生成 if(xxx = null)类似的:inn:可生成 if(xxx != null) 或 xxx.nn 或 xxx.null

2.6 prsf :可生成 private static final类似的:

psf:可生成 public static final

psfi:可生成 public static final int

psfs:可生成 public static final String

修改现有模板 修改现有模板:Live Templates

如果对于现有的模板,感觉不习惯、不适应的,可以修改:

修改:通过调用 psvm 调用 main 方法不习惯,可以改为跟 Eclipse 一样,使用 main 调取

  • 自定义模板

IDEA 提供了很多现成的 Templates。但你也可以根据自己的需要创建新的Template。

先定义一个模板组:

选中自定义的模板组,点击”+”来定义模板

1.Abbreviation:模板的缩略名称

2. Descxxxxription:模板的描述

3. Template text:模板的代码片段

4. 应用范围。比如点击 Define。选择如下

可以如上的方式定义个测试方法,然后在 java 类文件中测试即可。

类似的可以再配置如下的几个 Template:

好啦。到目前为止,关于我精心整理的IDEA文档,已经快写了一半啦(共11个,到目前为止写了5个:1.背景介绍、2.windows下idea、3.简单设置以及HelloWorld、4.常用配置、5.关于模板),真是耗费精力啊(太难了....),这是上篇;

下篇的内容更是干货,适用范围极广:具体包括6大类:

1.创建 Java Web Project  或 Module

2.整合Tomcat

3.关联数据库

4.版本控制(Version Control)

5.配置 Maven

6.其他设置

加油吧,兄弟们,我们 下篇见!

IDEA使用教程(上)的更多相关文章

  1. 七牛云存储Python SDK使用教程 - 上传策略详解

    文 七牛云存储Python SDK使用教程 - 上传策略详解 七牛云存储 python-sdk 七牛云存储教程 jemygraw 2015年01月04日发布 推荐 1 推荐 收藏 2 收藏,2.7k  ...

  2. EditText使用详解-包含很多教程上看不到的功能演示

    写道 标题有点大,说是详解,其实就是对EditText的一些常用功能的介绍,包括密码框,电话框,空白提示文字等等的讲解,尽量的介绍详细一点,也就是所谓的详解了..呵呵 广告一下我的应用“我团”,最新1 ...

  3. GitHub教程--上传项目四步法 GitBash命令行下使用方法

    之前就用过GitHub,感觉用GitHub托管自己的代码非常不错.可是之前用的都是窗口化的TortoiseGit,省了很多命令行的操作,但是个人非常喜欢使用命令行,于是,今天就试着用了用GitBash ...

  4. django入门教程(上)

    相信用过python的人都听过Django的大名,知道它是一个web框架,用来支持动态网站.网络应用程序以及网络服务的开发.那么为什么我们需要一个web框架,而不是直接用python来写web应用呢? ...

  5. Web前端-JavaScript基础教程上

    Web前端-JavaScript基础教程 将放入菜单栏中,便于阅读! JavaScript是web前端开发的编程语言,大多数网站都使用到了JavaScript,所以我们要进行学习,JavaScript ...

  6. Drools(BRMS) 速成教程(上)

    大家在日常开发中,肯定遇到过一些业务规则变来变去的需求,比如:会员积分系统(今天要新注册会员送10积分,明天要改成注册送优惠券,后天搞活动要改成注册自动变成高级会员...),此类需求,一般都是通过写i ...

  7. KMP算法完整教程 (上)

    KMP算法完整教程 全称: Knuth_Morris_Pratt Algorithm(KMP算法) 类型: 高级检索算法 功能: 字符串匹配查找 提出者: D.E.Knuth(克努兹),J.H.Mor ...

  8. React Native之React速学教程(上)

    概述 本篇为<React Native之React速学教程>的第一篇.本篇将从React的特点.如何使用React.JSX语法.组件(Component)以及组件的属性,状态等方面进行讲解 ...

  9. jenkins 入门教程(上)

    jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译.打包.分发部署.jenkins可以很好的支持各种语言(比如:java, ...

  10. DEDECMS教程:上/下一篇文章标题长度的截取方法

    对dedecms了解的朋友们,想必对如何获取上一篇.下一篇文章的标签也是非常熟悉.dedecms获取上一篇.下一篇文章的标签分别为:{dede:prenext get='pre'/}.{dede:pr ...

随机推荐

  1. 【JVM之内存与垃圾回收篇】程序计数器

    程序计数器 介绍 JVM 中的程序计数寄存器(Program Counter Register)中,Register 的命名源于 CPU 的寄存器,寄存器存储指令相关的现场信息.CPU 只有把数据装载 ...

  2. python爬虫入门(1)----- requests

    介绍 requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多 基本使用 requests.get("http://www.baidu.com") ...

  3. ActiveMQ【CVE-2016-3088】上传公钥实现sssh免密登录

    Apache-ActiveMQ是apache旗下的消息中间件,至今为止还是有较多的甲方爸爸们,还在使用该中间件.据了解,Apache-ActiveMQ中间件有2个厉害的CVE,一个是CVE-2016- ...

  4. http连接,缓存,cookie,重定向,代理

    早期的HTTP协议使用短连接,收到响应后就立即关闭连接,效率很低:   HTTP/1.1默认启用长连接,在一个连接上收发多个请求响应,提高了传输效率:   服务器会发送“Connection:     ...

  5. 金字塔卷积:Pyramidal Convolution

    论文地址:https://arxiv.org/pdf/2006.11538.pdf github:https://github.com/iduta/pyconv 作者认为,当前CNN主要存在两个不足: ...

  6. Android复习准备

    1. 四大组件是什么? Activity(活动):用于表现功能 Service(服务):后台运行服务,不提供界面呈现 BroadcastReceiver(广播接收器):用来接收广播 ContentPr ...

  7. MVC + EFCore 项目实战 - 数仓管理系统8 - 数据源管理下--数据源预览

    上篇我们完成了数据源保存功能,并顺便看了保存后的数据源列表展示功能. 本篇我们开始开发预览功能,用户预览主要步骤: 1.点击数据源卡片预览按钮 2.查看数据源包含的表 3.点击表名,预览表中数据   ...

  8. Apache Tomcat/8.5.51 secretRequired="true"

    1.报错IllegalArgumentException: The AJP Connector is configured with secretRequired="true" b ...

  9. 10-Pandas之数据融合(pd.merge()、df.join()、df.combine_first()详解)

    一.pd.merge() pd.merge()的常用参数 参数 说明 left 参与合并的左侧DataFrame right 参与合并的右侧DataFrame how 如何合并.值为{'left',' ...

  10. PHP getdate() 函数

    ------------恢复内容开始------------ 实例 返回当前本地的日期/时间的日期/时间信息: <?phpprint_r(getdate());?> 运行实例 » 定义和用 ...