一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
–groupId:定义当前Maven项目隶属项目
- groupld :定义当前Maven项目隶属的实际项目。首先, Maven项目和实际项目不-定是一-对一 -的关系。比如SpringFrameWork这一实际项目,其对应的Maven项目会有很多,如spring-core spring-contex等。这是由于Maven中模块的概念,因此,一个实际项目往往会被划分成很多模块。其次,groupld不应该对应项目隶属的组织或公司。原因很简单, -个组织下会有很多实际项目,如果groupld只定义到组织级别,而后面我们会看到 , aifactd只能定义Maven项目(模块) , 那么实际项目这个层次将难以定义。最后, groupld的表示方式与Java包名的表达方式类似,通常与域名反向一对应。
–artifactId:定义实际项目中的一个模块
- artifactld :该元素定义当前实际项目中的一-个Maven项目(模块) , 推荐的做法是使用实际项目名称作为artifactld的前缀。比如上例中的my-app。
–version:定义当前项目的当前版本
- version :该元素定义Maven项目当前的版本
–packaging:定义该项目的打包方式
- packaging :定义Maven项目打包的方式,首先,打包方式通常与所生成构件的文件扩展名对应,如上例中的packaging为jar,最终的文件名为my-app-0.1-SNAPSHOT.jar。也可以打包成war, ear等。当不定义packaging的时候 , Maven会使用默认值jar
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.rjxy.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Hello</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Maven为什么使用坐标?
- Maven世界拥有大量构建,我们需要找一个用来唯一标识一个构建的统一规范
- 拥有了统一规范,就可以把查找工作交给机器
2、 依赖的范围
依赖声明主要包含如下元素:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
</dependencies>
其中依赖范围scope 用来控制依赖和编译,测试,运行的classpath的关系. 主要的是三种依赖关系如下:
- compile: 默认编译依赖范围。对于编译,测试,运行三种classpath都有效
- test:测试依赖范围。只对于测试classpath有效
- provided:已提供依赖范围。对于编译,测试的classpath都有效,但对于运行无效。因为由容器已经提供,例如servlet-api(Tomcat)
- runtime:运行时提供。例如:jdbc驱动
3、仓库管理
什么是Maven仓库?
用来统一存储所有Maven共享构建的位置就是仓库
Maven仓库布局
- 根据Maven坐标定义每个构建在仓库中唯一存储路径
仓库的分类
-
本地仓库
~/.m2/repository/(默认的仓库目录)
每个用户只有一个本地仓库(需要从中央仓库中下载资源存到本地仓库) -
远程仓库
- 中央仓库:Maven默认的远程仓库 http://repo1.maven.org/maven2
- 私服:是一种特殊的远程仓库,它是架设在局域网内的仓库
- 镜像:用来替代中央仓库,速度一般比中央仓库快
4、 生命周期
何为生命周期?
- Maven生命周期就是为了对所有的构建过程进行抽象和统一
- 包括项目清理,初始化,编译,打包,测试,部署等几乎所有构建步骤
Maven三大生命周期
- clean:清理项目的
- default:构建项目的
- site:生成项目站点的
生命周期Maven有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是:
- Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
- Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
- Site Lifecycle 生成项目报告,站点,发布站点。
注意:
- 再次强调一下它们是相互独立的,你可以仅仅调用clean来清理工作目录,仅仅调用site来生成站点。当然你也可以直接运行 mvn clean install site 运行所有这三套生命周期。
Clean生命周期包含了三个阶段:
给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网络安全面试题
绿盟护网行动
还有大家最喜欢的黑客技术
网络安全源码合集+工具包
所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!