rest规范 ; restful 风格; gradel介绍 ; idea安装 ;

【说明】上午整理了一下心情;下午继续开始任务,了解了restful,知道了那个牛人的博士论文,下载了管理工具gradle,并且部署了环境;晚上安装了idea继承环境并且建了一个简单的gradle项目(对着教程第一次使用idea我也是需要适应半天)

一:今日完成

1)rest架构规范

2)idea环境安装

3)gradle插件使用

二:明日计划

1)建立自己的REST接口。

2)使用PostMan/dhc测试自己写的接口,确认接口可以正常使用。

3)任务二完成

三:疑难问题

restful架构搞的我也是一脸懵逼,看了大量的文章,包括上层的思想介绍,下层的代码演示,还是不得要领

四:思考总结

今天配置环境变量的时候竟然因为目录带有中文出现了编译问题!下次要注意

    1. Gradle是一种构建工具,它可以帮你管理项目中的差异,依赖,编译,打包,部署......,你可以定义满足自己需要的构建逻辑,写入到build.gradle中供日后复用.
    2. Gradle不是一种编程语言,它不能帮你实现软件中的任何实际功能
    3. ant可以自动化打包逻辑。
      maven也可以自动化打包,相比于ant,它多做的事是帮你下载jar包。
      但是maven的打包逻辑太死板,定制起来太麻烦,不如ant好用。gradle就是又能自动下jar包,又能自己写脚本,并且脚本写起来还比ant好用的这么个东西。

      AS其实就是Intellij IDEA的安卓开发环境特供版(谷歌定制版),Intellij IDEA是有收费版本的IDE。
      Ant和Maven都是基于XML的构建工具,Gradle是用Groovy编写的构建工具,Groovy是JVM衍生的与JAVA语法高度兼容的动态强类型语言。

      Gradle通过编写一个名为build.gradle的脚本文件对项目进行设置,再根据这个脚本对项目进行构建(复杂的项目也有其他文件)
      Gradle 脚本本质上就是Groovy脚本,只不过高度利用了groovy的语法糖,例如省略方法参数括号和省略句尾分号等,让代码看起来像DSL。
      所以几乎所有java和groovy支持的语法,它的脚本都支持。(使用JAVA和GROOVY的SDK应该也是没问题的)

      Gradle支持基于惯例的构建,并有丰富的适合不同情景下的插件库,光有官方用户手册支持的就有20多种,方便构建。

      Gradle里有两个基本概念:项目(projects)和任务(tasks)。项目由多个任务组成,一个项目可以理解为提供给不同设备的构建版本,如桌面版、网页版、安卓版、iOS版等等,也可以理解为一种行为,例如部署应用到生产环境。任务相当于Ant的target,可以理解成一个构建中原子性的工作,例如编译、打包、执行等。需要注意的是,Ant中他自己的命令例如javac、copy等也叫做task,但Ant的task远没有Gradle的task那么自由。

      Gradle的构建分两个阶段,第一阶段是设置阶段(configuration phase),分析构建脚本,处理依赖关系和执行顺序等,脚本本身也需要依赖来完成自身的分析。第二阶段是执行阶段(execution phase),此阶段真正构建项目并执行项目下的各个任务。

      Ant与Maven对于Gradle,前者编写容易,但功能有限,需要人工操作的过程也多;后者依托于庞大的依赖仓库,因此有着强大的外部依赖管理,但添加本地依赖并不方便,且项目不能灵活修改。而Gradle能很好地结合Ant与Maven各自的优点,可以随意的编写任务并组合成项目,直接利用Maven仓库,并且能很好的支持传递依赖和内部依赖。(本部分为个人主观意见,可能与大多数人的意见并不相同)(其实也都是别人的个人主观意见,来源于我当初搜索的Gradle相关文章内容)

      通俗一点类比成吃饭的话,大致就是:Ant是自己买菜洗菜烧水做饭,Maven是去饭店点餐,Gradle是3D打印食物。

一句话概括就是:依赖管理和任务执行。

像Ruby里面的bundler+rake,像iOS中的cocoapods,像node中的npm+grunt.

通俗的讲就是:你的项目需要哪些第三方库,它帮你把它们都下载下来,并且编译好放到指定的位置,你就直接可以import后用了。

它本身是基于Apache的ant和maven的,但都不是特别好用,要引入一个库,还得写好多行的XML,麻烦死了。而且他们在任务执行上都比较弱,所以gradle就逐渐发展壮大了并被Google所推崇了。

编译源代码只是整个软件开发过程的一个方面,更重要的是,你要把你的软件发布到生产环境中来产生商业价值,所以,你要运行测试,构建分布、分析代码质量、甚至为不同目标环境提供不同版本,然后部署。

整个过程可以分成以下几个步骤:

  • 编译源代码
  • 运行单元测试和集成测试
  • 执行静态代码分析、生成分析报告
  • 创建发布版本
  • 部署到目标环境
  • 部署传递过程
  • 执行冒烟测试和自动功能测试

如果你手工去操作这些过程会很繁琐,效率低下,Gradle提供自动化的构建机制,上面的每个步骤都可以表示成Gradle里面的一个任务(Task),任务之间可以相互依赖,比如你定义任务A和任务B,

defaultTasks ‘taskB‘

task taskA << {
    println "i‘m task A"
}

task taskB << {
    println "i‘m task B, and I depend on " + taskA.name
}

taskB.dependsOn taskA

运行命令$ gradle -q之后(参数q让Gradle不要打印错误之外的日志),就能看到如下的预期输出:

i‘m task Ai‘m task B, and I depend on taskA执行完之后Gradle会生成相应的报告,如果没有问题就可以发布到生产环境中。Gradle脚本是基于Groovy领域特定语言,也就是说构建文件也是代码,Maven引入的XML配置文件可读性和可扩展性比较差,Gradle可以让你像写代码一样写出容易维护、可复用、可读性好、易于理解的构建代码。Gradle同样引入了依赖管理、仓库和标准项目布局,Gradle引入的领域特定语言使得添加和删除依赖非常方便,你只需要在dependency块里面添加一行代码,注明要在哪个配置部分引入依赖,以及要引入哪个依赖,比如:

dependencies {
    compile(‘org.springframework:spring-core:2.5.6‘)//表示编译期依赖spring-core这个库

    testCompile(‘junit:junit:4.7‘)//表示测试代码的时候依赖junit这个库
}

传统的构建工具比如ant一开始并没有引入中央仓库的概念,他需要手动复制依赖的库文件到指定的目录,这使得这些JAR文件添加到版本控制系统当中,而Gradle会自动解析你的依赖配置,从中央仓库比如mavenCentral()中解析并下载依赖到你的本地仓库中,这些文件并不会添加到版本控制系统当中,Gradle也支持传递依赖,你也可以排错部分传递依赖或者干脆去掉传递依赖,还可以支持动态版本,只需要把最后一位数字改成+号。Gradle支持多项目构建,当你的项目变得越来越庞大的时候,维护起来会比较困难,Gradle多项目构建使得你可以根据代码的功能把项目分成几个子项目,比如web项目开发中把项目分成逻辑、视图和控制三个模块,每个模块可以有各自的配置和依赖,也可以定义通用的配置。当你需要为不同的环境打生成不同的发布时,以往可能是为每一个目标环境新建一个过程,有了gradle你不需要重复的工作,你会很容易生成不同的版本,你可以指定多个版本共同的构建逻辑,也可以给他们单独指定一些脚本。总而言之,Gradle并没有引入太新鲜的东西,它是一个结合Ant和Maven理念的优秀实现,最重要的就是引入了Groovy语言,使得构建代码更加容易维护、可读性强、易于扩展,给了你充分的自由去自定义你的项目。

  1. 依赖:Android Studio, Gradle, 其中过程,

    Android Studio使用Gradle来编译Android apk 本文大致讲述其中过程

    Gradle

    依赖:Apache Ant ,Apache Maven ,项目自动化建构工具 ,Groovy, 特定领域语言(DSL),

    Gradle =>一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)

    Apache Ant => 由Apache 提供的自动化软件构建工具 (可以理解为其负责软件的编译) 开始于2000年左右

    Apache Maven => 是由Apache 提供的管理项目的构建 报告和文档的软件项目管理工具 (我将其理解为 通过pom.xml来描述软件依赖关系 并提供一个云端类库) 开始于2001年左右

    项目自动化建构工具 => 抽象项目编译过程 提供一个容易使用的接口的工具

    Groovy => 一门编程语言 基于JVM 的面对对象的动态脚本语言

    特定领域语言=>为了解决某个特定领域的问题 而编写的语言 一般基于其他语言

    Android Studio =>2013年谷歌推出的Android开发环境 使用Gradle 作为编译工具

    其中过程

    依赖:grdle基本知识,编译过程,

    Android Studio 使用Gradle做为Android apk的编译工具 在android studio执行run 实际上底层调用的是gradle 命令 由gradle再去使用Android SDK中编译工具 这主要是因为直接使用sdk的编译工具太麻烦太痛苦 而gradle提供了一个很好的接口 让我们能通过命令行来编译android apk

    grdle基本知识

    gradle通过解析build.gradle这个文件来运行

    build.gradle 主要由task和一些配置组成,task之间有相互依赖关系 通过这些依赖关系和配置就能编译项目

    可以通过 apply plugin 来加入一些默认的task 例如

    apply plugin: ‘java‘
    

    这是java的插件 他加入了许多编译java的task 如果你的目录结构正确 那么通过gradle 运行 task 就能编译java项目

    和Maven一样,Gradle只是提供了构建项目的一个框架,真正起作用的是Plugin。Gradle在默认情况下为我们提供了许多常用的Plugin,其中包括有构建Java项目的Plugin,还有War,Ear等。与Maven不同的是,Gradle不提供内建的项目生命周期管理,只是java Plugin向Project中添加了许多Task,这些Task依次执行,为我们营造了一种如同Maven般项目构建周期。

时间: 2024-10-12 09:15:43

rest规范 ; restful 风格; gradel介绍 ; idea安装 ;的相关文章

restful 风格 web api规范

协议:http/https 域名 : http://api.example.com/xxx/xxx api: 标明api接口服务 xxx: 服务 xxx: 资源 版本控制: 一.使用MediaType,即在请求头header中做版本控制,数据格式等控制 想要获取的资源格式 GET /user/123456 HTTP/1.1 Accept: application/vnd.123456.user-v3+json 获取v3版userid为123456 的用户信息,返回资源格式为json 响应的文本格

Restful风格wcf调用2——增删改查

写在前面 上篇文章介绍如何将wcf项目,修改成restful风格的接口,并在上面提供了查询的功能,上篇文章中也感谢园友在评论中的提的建议,自己也思考了下,确实是那个道理.在urltemplate中,定义的url确实不规范,虽然能实现功能,但是缺少点专业性.rest风格的请求,是通过post,delete,get,put等请求方法来区别的,而不是通过在url中取不同的名字来进行区别.这里再次感谢@~Js园友提醒. 在这篇文章中将最新的代码贴出来,方便查看. 系列文章 Restful风格wcf调用 

进入全屏 nodejs+express+mysql实现restful风格的增删改查示例

首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间接触到node.js,于是花了两天时间学了一下node.js并写了一个CRUD简单示例.由于前几天一直学用github pages搭建博客,一直没时间写README,今天有空补了上来. 下面来内容自于项目的README. 二.项目介绍 基于node.js + express + mysql实现的re

thinkphp5设置项目为restful风格

我用的是thinkphp5.0.16 环境是 LAMP(linux+apache+mysql5.6+php5.6) 首先去官网下载一个thinkphp5.0.16的完整版,然后放到apache指定的项目运行目录下 然后下一步也就是第一步,我们先开启路由完整匹配模式,这个配置在config.php这个文件里. // 路由使用完整匹配'route_complete_match' => true, 设置成true就可以 下一步就开始创建你的restful风格的目录了比如我想设置的前台模块的登录路由为a

分析一套源代码的代码规范和风格并讨论如何改进优化代码

工程实践选题是数据获取相关的,这里选择分析一个微信公众号爬虫的源代码. 一.源代码目录结构 目录结构比较清晰 1.bin存放关键代码 2.docs存放说明文件,比如界面说明,安装说明,使用说明,环境说明等 3.wechat这里是爬虫管理的代码,比如数量控制,链接控制 4.wechatspider存放爬虫代码,url获取与解析等 5.其他 一些配置文件和readme 二 .命名规则 1.文件名 可以看到是小驼峰命名法,getNewIp.py中首个单词首字母,第二个单词开始每个单词的的首字母大写 2

测开大佬告诉你:如何5分钟快速创建restful风格的API接口-使用django restframework框架

一.思考?? 1.创建API接口难吗? 软件测试工程师: 只测过API接口, 从没创建过 应该需要掌握一门后端开发语言和后端开发框架吧!? 脑容量有限,想想就可怕 2.如何创建API接口呢? 使用Django restframework能快速创建符合restful风格的API接口 通过Django restframework框架提供的序列化器.视图集可轻轻松松实现 简单高效,学习成本低 二.搭建项目工程???? 1.创建项目 打开pycharm 创建项目 使用豆瓣源安装Django Django

RESTful风格的Web服务框架:Swagger

Swagger与SpringMVC项目整合 为了方便的管理项目中API接口,在网上找了好多关于API接口管理的资料,感觉目前最流行的莫过于Swagger了,功能强大,UI界面漂亮,并且支持在线测试等等,所以本人仔细研究了下Swagger的使用,下面就如何将Swagger与个人的SpringMVC项目进行整合做详细说明: 最终API管理界面:  详细步骤: Step1:项目中引入相关jar包: <properties> <project.build.sourceEncoding>UT

Wcf体现Restful风格

Wcf体现Restful风格 概述 含状态传输(Representational State Transfer)的软件架构风格.主要特点 1.  资源是由URI来指定: 例如http://example.com/resources/ 2.  对资源的操作 包括获取.创建.修改和删除资源,这些操作正好对应HTTP协议提供的GET.POST.PUT和DELETE方法 3.  传输的资源:Web服务接受与返回的互联网媒体类型,比如:JSON,XML ,YAML 等. 下面通过一个简单的例子逐个问题解决

Restful风格API接口开发springMVC篇

Restful风格的API是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制. 在Restful风格中,用户请求的url使用同一个url而用请求方式:get,post,delete,put...等方式对请求的处理方法进行区分,这样可以在前后台分离式的开发中使得前端开发人员不会对请求的资源地址产生混淆和大量的检查方法名的麻烦,形成一个统一的接口. 在Restful风格中,现