稀小饭

稀小饭 查看完整档案

杭州编辑  |  填写毕业院校  |  填写所在公司/组织 github.com/xufanchn 编辑
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 该用户太懒什么也没留下

个人动态

稀小饭 发布了文章 · 9月5日

稀小饭初识Maven

Maven

Maven的作用:项目构建,依赖管理。
文章借鉴了菜鸟教程Maven相关的内容,链接为Maven教程

1、项目对象模型POM(Project Object Model)

图片来源于网络

包含4个部分:

  • POM关系
  • 构建设置
  • 构建环境
  • 项目信息

2、Maven的生命周期

  • clean

    清除上次构建生成的文件

    • 1)pre-clean:执行清理前需要完成的工作
    • 2)clean:清理上一次构建生成的文件
    • 3)post-clean:执行清理后需要完成的工作
  • default

    构建项目,重要的phase如下:

    • 1)validate:验证工程是否正确,所有需要的资源是否可用。
    • 2)compile:编译项目的源代码。
    • 3)test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。
    • 4)package:把已编译的代码打包成可发布的格式,比如jar。
    • 5)integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。
    • 6)verify:运行所有检查,验证包是否有效且达到质量标准。
    • 7)install:把包安装到maven本地仓库,可以被其他工程作为依赖来使用。
    • 8)deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
  • site

    建立和发布项目站点

    • 1)`pre-site:生成项目站点之前需要完成的工作
    • 2)`site:生成项目站点文档
    • 3)post-site:生成项目站点之后需要完成的工作
    • 4)site-deploy:将项目站点发布到服务器

3、Maven仓库

仓库:项目所依赖的第三方库存放的位置
  • 本地(local)
  • 远程(remote)
  • 中央(central)

搜索顺序:本地-->远程-->中央

4、项目模板

Maven 使用原型 archetype插件创建自定义的项目结构,形成Maven项目模板。原型即为一个项目模板,例如要创建一个简单的helloworld项目,则执行mvn命令使用DarchetypeArtifactId=maven-archetype-quickstart参数,创建原型为maven-archetype-quickstart的项目。

5、构建简单的java项目

mvn archetype:generate

-DgroupId=com.companyname.bank

-DartifactId=consumerBanking

-DarchetypeArtifactId=maven-archetype-quickstart    //项目原型

-DinteractiveMode=false   //是否交互模式,区别于批处理模式

6、引入外部依赖

直接在pom.xml中添加依赖的参数。

7、依赖管理

Maven拥有对依赖的传递机制,例如B依赖于A,C依赖于B,则C依赖A,maven会管理这种依赖传递的关系。

8 、Maven自动化部署

部署步骤

通常在项目的开发的过程中,部署包括以下步骤:

  • 将项目代码提交到SVN或者其它代码库中并打上标签;
  • 从SVN下载完整的项目代码;
  • 使用Maven构建应用;
  • 把构建好的WAR或JAR包文件存储到常用的网络位置下;
  • 从网络上获取文件并部署到生产站点上;
  • 更新文档和应用版本号。

自动部署

maven-release-plugin插件可以实现自动部署,部分参数如下:

  • scm配置SVN的路径,Maven将从该路径下将代码取下来。
  • repository构建的WAR或EAR或JAR文件的位置,或者其他源码构建成功后生成的构件的存储位置。
  • plugin配置maven-release-plugin插件来实现自动部署过程。
  • resources:用于排除或包含某些资源文件

9、Maven中POM的3种关系

  • 依赖关系:<dependencies><dependency>标签;
  • 继承关系:<parent>标签,子pom文件能继承父pom的依赖;
  • 聚合关系:<modules>标签,将多个maven的项目聚合为一个大的项目。

10、Maven的属性

Maven的属性是值得占位符,如${X},可用于pom文件任何赋值的位置。

查看原文

赞 1 收藏 1 评论 0

稀小饭 发布了文章 · 8月30日

稀小饭的linux初体验

Linux学习

这是第一篇博客,介绍刚工作时配置环境,没有写博客的经验,所以可能会比较凌乱,希望大佬多包含。

一、常用指令

Linux命令大全

  • -eq //等于
  • -ne //不等于
  • -gt //大于
  • -lt //小于
  • ge //大于等于
  • le //小于等于

二、处理目录常用命令

  • ls: 列出目录及文件名
  • cd:切换目录
  • pwd:显示目前的目录
  • mkdir:创建一个新的目录
  • rmdir:删除一个空的目录
  • cp: 复制文件或目录
  • rm: 移除文件或目录
  • mv: 移动文件与目录,或修改文件与目录的名称

三、Linux内容查看

  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl 显示的时候,顺道输出行号!
  • more 一页一页的显示文件内容
  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
  • head 只看头几行
  • tail 只看尾巴几行

四、更改文件属性:

  • chgrp:更改文件属组

    chgrp [-R] 属组名 文件名
  • chown:更改文件属主,也可以同时更改文件属组

    chown [–R] 属主名 文件名
    chown [-R] 属主名:属组名 文件名
  • chmod:更改文件9个属性

    Linux文件属性有两种设置方法,一种是数字,一种是符号。

    Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。

    先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

  • r:4
  • w:2
  • x:1

    每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1 = 7
  • others= --- = 0+0+0 = 0

五、Linux系统账号管理

1、添加新的用户账号使用useradd命令,其语法如下:

useradd 选项 用户名

参数说明:

  • 选项:

    • -c comment 指定一段注释性描述。
    • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
    • -g 用户组 指定用户所属的用户组。
    • -G 用户组,用户组 指定用户所属的附加组。
    • -s Shell文件 指定用户的登录Shell。
    • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
  • 用户名:

    指定新账号的登录名。

查看原文

赞 0 收藏 0 评论 0

稀小饭 关注了专栏 · 8月29日

力扣加加

努力做西湖区最好的算法题解

关注 3240

稀小饭 关注了专栏 · 8月29日

SegmentFault 行业快讯

第一时间为开发者提供行业相关的实时热点资讯

关注 25113

稀小饭 关注了标签 · 8月29日

java

Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

Java编程语言的风格十分接近 C++ 语言。继承了 C++ 语言面向对象技术的核心,Java舍弃了 C++ 语言中容易引起错误的指針,改以引用取代,同时卸载原 C++ 与原来运算符重载,也卸载多重继承特性,改用接口取代,增加垃圾回收器功能。在 Java SE 1.5 版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对 Java 语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言”。

版本历史

重要版本号版本代号发布日期
JDK 1.01996 年 1 月 23 日
JDK 1.11997 年 2 月 19 日
J2SE 1.2Playground1998 年 12 月 8 日
J2SE 1.3Kestrel2000 年 5 月 8 日
J2SE 1.4Merlin2002 年 2 月 6 日
J2SE 5.0 (1.5.0)Tiger2004 年 9 月 30 日
Java SE 6Mustang2006 年 11 月 11 日
Java SE 7Dolphin2011 年 7 月 28 日
Java SE 8JSR 3372014 年 3 月 18 日
最新发布的稳定版本:
Java Standard Edition 8 Update 11 (1.8.0_11) - (July 15, 2014)
Java Standard Edition 7 Update 65 (1.7.0_65) - (July 15, 2014)

更详细的版本更新查看 J2SE Code NamesJava version history 维基页面

新手帮助

不知道如何开始写你的第一个 Java 程序?查看 Oracle 的 Java 上手文档

在你遇到问题提问之前,可以先在站内搜索一下关键词,看是否已经存在你想提问的内容。

命名规范

Java 程序应遵循以下的 命名规则,以增加可读性,同时降低偶然误差的概率。遵循这些命名规范,可以让别人更容易理解你的代码。

  • 类型名(类,接口,枚举等)应以大写字母开始,同时大写化后续每个单词的首字母。例如:StringThreadLocaland NullPointerException。这就是著名的帕斯卡命名法。
  • 方法名 应该是驼峰式,即以小写字母开头,同时大写化后续每个单词的首字母。例如:indexOfprintStackTraceinterrupt
  • 字段名 同样是驼峰式,和方法名一样。
  • 常量表达式的名称static final 不可变对象)应该全大写,同时用下划线分隔每个单词。例如:YELLOWDO_NOTHING_ON_CLOSE。这个规范也适用于一个枚举类的值。然而,static final 引用的非不可变对象应该是驼峰式。

Hello World

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

编译并调用:

javac -d . HelloWorld.java
java -cp . HelloWorld

Java 的源代码会被编译成可被 Java 命令执行的中间形式(用于 Java 虚拟机的字节代码指令)。

可用的 IDE

学习资源

常见的问题

下面是一些 SegmentFault 上在 Java 方面经常被人问到的问题:

(待补充)

关注 104945

稀小饭 关注了标签 · 8月29日

程序员

一种近几十年来出现的新物种,是工业革命的产物。英文(Programmer Monkey)是一种非常特殊的、可以从事程序开发、维护的动物。一般分为程序设计猿和程序编码猿,但两者的界限并不非常清楚,都可以进行开发、维护工作,特别是在中国,而且最重要的一点,二者都是一种非常悲剧的存在。

国外的程序员节

国外的程序员节,(英语:Programmer Day,俄语:День программи́ста)是一个俄罗斯官方节日,日期是每年的第 256(0x100) 天,也就是平年的 9 月 13 日和闰年的 9 月 12 日,选择 256 是因为它是 2 的 8 次方,比 365 少的 2 的最大幂。

1024程序员节,中国程序员节

1024是2的十次方,二进制计数的基本计量单位之一。程序员(英文Programmer)是从事程序开发、维护的专业人员。程序员就像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世界。1GB=1024M,而1GB与1级谐音,也有一级棒的意思。

从2012年,SegmentFault 创办开始我们就从网络上引导社区的开发者,发展成中国程序员的节日 :) 计划以后每年10月24日定义为程序员节。以一个节日的形式,向通过Coding 改变世界,也以实际行动在浮躁的世界里,固执地坚持自己对于知识、技术和创新追求的程序员们表示致敬。并于之后的最为临近的周末为程序员们举行了一个盛大的狂欢派对。

2015的10月24日,我们SegmentFault 也在5个城市同时举办黑客马拉松这个特殊的形式,聚集开发者开一个编程大爬梯。

特别推荐:

【SF 黑客马拉松】:http://segmentfault.com/hacka...
【1024程序员闯关秀】小游戏,欢迎来挑战 http://segmentfault.com/game/

  • SF 开发者交流群:206236214
  • 黑客马拉松交流群:280915731
  • 开源硬件交流群:372308136
  • Android 开发者交流群:207895295
  • iOS 开发者交流群:372279630
  • 前端开发者群:174851511

欢迎开发者加入~

交流群信息


程序员相关问题集锦:

  1. 《程序员如何选择自己的第二语言》
  2. 《如何成为一名专业的程序员?》
  3. 《如何用各种编程语言书写hello world》
  4. 《程序员们最常说的谎话是什么?》
  5. 《怎么加入一个开源项目?》
  6. 《是要精于单挑,还是要善于合作?》
  7. 《来秀一下你屎一般的代码...》
  8. 《如何区分 IT 青年的“普通/文艺/二逼”属性?》
  9. 程序员必读书籍有哪些?
  10. 你经常访问的技术社区或者技术博客(IT类)有哪些?
  11. 如何一行代码弄崩你的程序?我先来一发
  12. 编程基础指的是什么?
  13. 后端零起步:学哪一种比较好?
  14. 大家都用什么键盘写代码的?

爱因斯坦

程序猿崛起

关注 110373

稀小饭 关注了标签 · 8月29日

关注 81766

稀小饭 关注了标签 · 8月29日

springboot

Spring Boot 项目旨在简化创建产品级的 Spring 应用和服务。你可通过它来选择不同的 Spring 平台。

关注 11992

认证与成就

  • 获得 1 次点赞
  • 获得 2 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 2 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 8月29日
个人主页被 69 人浏览