target

3. maven 常用指令

一曲冷凌霜 提交于 2020-02-25 16:10:54
一些maven的 常用指令 清理 就是清理一些,已经编译过的文件。 [root@localhost java]# ls aaa.txt pom.xml src target test.txt [root@localhost java]# tree target/ target/ ├── classes │ └── com │ └── ghz │ └── testweb │ └── App.class ├── maven-archiver │ └── pom.properties ├── maven-status │ └── maven-compiler-plugin │ └── compile │ └── default-compile │ ├── createdFiles.lst │ └── inputFiles.lst ├── original-testweb-v1.3.jar └── testweb-v1.3.jar 我们看到target下面就有已经已经编译过的 class文件 mvn clean 执行完成后,我们看到 target 目录 就没了。 看到的执行过程,其实就是删除target 目录 。 编译 mvn compile 编译完成后, target 目录就出来了 class文件就编译完成了。 单元测试 这个指令,需要在代码中有测试项的代码。就是源代码中 /src

systemd与system V init 的区别-《linux就该这么学》笔记

拈花ヽ惹草 提交于 2020-02-25 15:23:18
在redhat7中,已经没有“运行级别”这个概念了,linux系统在启动时要进行大量的初始化工作,比如挂载文件系统和交换分区、启动各类进程服务等,这些都可以看作是一个一个的单元(Unit),systemd用目标(target)代替了System V init 中运行级别的概念,区别如下: init运行级别 systemd目标名称 作用 0 runlevel0.target - poweroff.target 关机 1 runlevel1.target - rescue.target 单用户模式 2 runlevel2.target - multi-user.target 等同于级别 3 3 runlevel3.target - multi-user.target 多用户的文本界面 4 runlevel4.target - multi-user.target 等同于级别3 5 runlevel5.target - graphical.target 多用户的图像界面 6 runlevel6.target - reboot.target 重启 emergency emergency.target 紧急shell 如果需要将系统默认运行的目标修改为“多用户,无图形”模式,可以直接用ln 命令把多用户模式目标文件连接到/etc/systemd/system/目录: ln -sf /lib

LeetCode 74——搜索二维矩阵

浪尽此生 提交于 2020-02-25 12:35:23
1. 题目 2. 解答 若矩阵为空,比如 [], [[]],此时直接返回 false。 若目标值小于矩阵第一个元素或者大于矩阵最后一个元素,则目标值不在矩阵范围内,直接返回 false。 其他情况下,则从矩阵第一行开始逐行扫描。若目标值位于矩阵某一行数值范围内,再针对矩阵的某一行用二分查找精准定位。 class Solution { public: bool binary_search(vector<int>& data, int target) { int left = 0; int right = data.size() - 1; int mid = 0; while(left <= right) { mid = left + (right - left) / 2; if (data[mid] == target) { return true; } if (data[mid] < target) { left = mid + 1; } else { right = mid - 1; } } return false; } bool searchMatrix(vector< vector<int> > & matrix, int target) { int row = matrix.size(); if (row == 0) return false; // [] 矩阵为空

20155301 Makefile和MyOD和共享库

自古美人都是妖i 提交于 2020-02-25 12:35:08
20155301 Makefile和MyOD和共享库 Makefile 作用:make命令执行时,需要一个 Makefile 文件,以告诉make命令需要怎么样的去编译和链接程序。 我们要写一个Makefile来告诉make命令如何编译和链接这几个文件。我们的规则是: 1.如果这个工程没有编译过,那么我们的所有C文件都要编译并被链接。 2.如果这个工程的某几个C文件被修改,那么我们只编译被修改的C文件,并链接目标程序。 3.如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的C文件,并链接目标程序。 target... : prerequisites ... command ... ... ------------------------------------------------------------------------------- target也就是一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签。 prerequisites就是,要生成那个target所需要的文件或是目标。 command也就是make需要执行的命令。(任意的Shell命令) 步骤: 1.我们可以把这个内容保存在文件为“Makefile”或“makefile”的文件中. 2.然后在该目录下直接输入命令“make”就可以生成执行文件edit

二分查找和线性查找(二)

别等时光非礼了梦想. 提交于 2020-02-25 12:32:34
二分查找和线性查找可运用于数组 线性查找 时间复杂度 O(n) 1、遍历数组 2、拿目标和数组中的元素进行匹对 3、找到则返回数组中该元素的下标 4、未查询到则返回-1 //自定义数组 public class MyArray { int[] elements; // 线性查找 public int search(int target) { for (int i = 0; i < elements.length; i++) { if (target == elements[i]) { return i; } } // 如果没找到 return -1; }} 二分查找 时间复杂度 O(log2n) 二分查找是有必要的前提,即数组中的元素一定要排好顺序 1、找到该数组的中点 2、目标元素与中点值进行比对 相等则返回该中点元素下标 如果目标元素大于中点 则把低位元素的下标设置成中点向右移动一位 如果目标元素小于中点 则把高位元素的下标设置成中点向左移动一位 根据低位元素下标和高位元素下标重新计算出中点 public class MyArray { int[] elements; // 二分查找 public int binarySearch(int target) { int low = 0; int high = elements.length - 1; int mid = (low

js事件监听器用法实例详解-注册与注销监听封装

耗尽温柔 提交于 2020-02-25 10:48:32
本文实例讲述了js事件监听器用法。分享给大家供大家参考。具体分析如下: 1、当同一个对象使用.onclick的写法触发多个方法的时候,后一个方法会把前一个方法覆盖掉,也就是说,在对象的onclick事件发生时,只会执行最后绑定的方法。而用事件监听则不会有覆盖的现象,每个绑定的事件都会被执行。如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 window.onload = function (){ var btn = document.getElementById( "yuanEvent" ); btn.onclick = function (){ alert( "第一个事件" ); } btn.onclick = function (){ alert( "第二个事件" ); } btn.onclick = function (){ alert( "第三个事件" ); } } 最后只输出:第三个事件,因为后一个方法都把前一个方法覆盖掉了。 原生态的事件绑定函数addEventListener: ? 1 2 3 4 5 6 7 8 9 10 11 12 var eventOne = function (){ alert( "第一个监听事件" ); } function eventTwo(){ alert( "第二个监听事件" ); } window.onload =

linux下建立软链接

 ̄綄美尐妖づ 提交于 2020-02-25 07:52:38
实例:ln -s /home/gamestat /gamestat linux下的软链接类似于windows下的快捷方式 ln -s a b 中的 a 就是源文件,b是链接文件名,其作用是当进入b目录,实际上是链接进入了a目录 如上面的示例,当我们执行命令 cd /gamestat/的时候 实际上是进入了 /home/gamestat/ 值得注意的是执行命令的时候,应该是a目录已经建立,目录b没有建立。我最开始操作的是也把b目录给建立了,结果就不对了 删除软链接: rm -rf b 注意不是 rm -rf b/ ln a b 是建立硬链接 建立链接的使用方法如下: [root@WEB_YQ_64_79 /]# ln --help Usage: ln [OPTION]... [-T] TARGET LINK_NAME (1st form) or: ln [OPTION]... TARGET (2nd form) or: ln [OPTION]... TARGET... DIRECTORY (3rd form) or: ln [OPTION]... -t DIRECTORY TARGET... (4th form) In the 1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form,

Find First and Last Position of Element in Sorted Array

拈花ヽ惹草 提交于 2020-02-24 23:24:14
Given an array of integers nums sorted in ascending order, find the starting and ending position of a given target value. Your algorithm's runtime complexity must be in the order of O (log n ). If the target is not found in the array, return [-1, -1] . Example 1: Input: nums = [ 5,7,7,8,8,10] , target = 8 Output: [3,4] Example 2: Input: nums = [ 5,7,7,8,8,10] , target = 6 Output: [-1,-1] 思路:binary search标准模板走起; class Solution { public int[] searchRange(int[] nums, int target) { int[] res = {-1,-1}; if(nums == null || nums.length == 0) { return res; } res[0] = findFirstPosition(nums, target, 0,

CouchDB 未授权访问漏洞

半城伤御伤魂 提交于 2020-02-24 21:16:04
0x00 CouchDB安装 CouchDB官方网站:http://couchdb.apache.org/ 一路Next直到完成安装,打开浏览器并访问以下链接:http://127.0.0.1:5984/ 可以使用以下网址与CouchDB Web界面进行交互:http://127.0.0.1:5984/_utils 0x01 漏洞利用 1、新增query_server配置,写入要执行的命令; curl -X PUT 'http://username:password@your-ip:5984/_config/query_servers/cmd' -d '"id >/tmp/success"' 2、新建一个临时库和临时表,插入一条记录; curl -X PUT 'http://username:password@your-ip:5984/vultest' curl -X PUT 'http://username:password@your-ip:5984/vultest/vul' -d '{"_id":"770895a97726d5ca6d70a22173005c7b"}' 3、调用query_server处理数据 curl -X POST 'http://username:password@your-ip:5984/vultest/_temp_view?limit=10' -d '

动态AOP自定义标签

≯℡__Kan透↙ 提交于 2020-02-24 16:04:48
前言 之前的文章讲述过自定义注解,如果声明了自定义的注解,那么就一定会在程序的某个地方注册了对应的解析器。我们发现在AopNamespaceHandler中的init函数: public class AopNamespaceHandler extends NamespaceHandlerSupport { /** * Register the {@link BeanDefinitionParser BeanDefinitionParsers} for the * '{@code config}', '{@code spring-configured}', '{@code aspectj-autoproxy}' * and '{@code scoped-proxy}' tags. */ @Override public void init() { // In 2.0 XSD as well as in 2.1 XSD. registerBeanDefinitionParser("config", new ConfigBeanDefinitionParser()); registerBeanDefinitionParser("aspectj-autoproxy", new AspectJAutoProxyBeanDefinitionParser());