首页 开发编程 正文

idea怎么运行php

概述与一些动态语言(如Ruby、Groovy、Node.js)相比,项目创建环境要求采用SpringBoot最新版本2.1.3来讲解。即可自动下载创建好的项目代码。使用idea等IDE引入Maven项目。...

idea怎么运行php,如何快速上手Spring?

概述

与一些动态语言(如Ruby、Groovy、Node.js)相比,Java开发显得异常笨重。接触过外包项目的朋友也有所了解,如果要开发一个小型项目,首选的编程语言并不是Java,而是PHP。为什么呢?因为开发起来快!目前很多大型互联网公司的早起编程语言都是类似PHP这种能够快速开发的语言。

既然问题出现了,那必然有解决问题的方案,SpringBoot做到了。

SpringBoot让我们可以在几分钟内就搭建出一套项目的基础架构,同时为我们提供了大量集成方案——starters。基于“约定优于配置”的理念,减少大量的配置文件,让项目快速、简单的运行起来。内置web容器(如tomcat、Netty等),通过jar -jar命令即可启动一个项目。

项目创建

环境要求

采用SpringBoot最新版本2.1.3来讲解。我们使用Maven项目管理工具来管理项目,电脑上要预先安装好Maven3.3+(SpringBoot要求)版本。JDK当然也少不了,但需要JDK8及以上版本。

创建项目方式一

通过官网提供的Spring Initializr来创建项目。访问官方网址:https://start.spring.io/ 。显示内容如下

简单了解一下相应的参数选择:

Project:选择项目构建的工具,采用默认的Maven;

Language:选择构建项目的语言,采用默认的Java;Spring Boot:选择使用的SpringBoot的版本信息,采用最新版本2.1.3;Project Metadata:设置项目的元数据,主要就是设置Maven相关的配置;Group,对应Maven中的GroupId,Artifact对应Maven中的ArtifactId。

打开More options会看到另外一些默认的配置:

Packaging:指定打包的模式,默认采用Jar包模式,即使用java -jar启动即可,如果需要部署到单独的tomcat或其他web容器,则可选择war包。Java Version:SpringBoot2.13默认支持最低JDK为8。

我们前面提到的starters的选择就是在Dependencies中设置,在没有输入任何内容的时候,能够看到该输入栏目有对应的提示信息。当输入web时,会动态匹配与web相关的依赖,点击“➕”添加即可。这里选择web的最小化配置。

当完成选择,点击“Generate Project”即可自动下载创建好的项目代码。解压之后,会看到是一个标准的Maven项目,使用idea等IDE引入Maven项目,自动加载依赖即可

创建项目方式二

第二种创建方式就是直接使用IDEA进行创建,当然前提是IDEA中已经安装了Spring Boot相关的插件——Spring Boot,如下图所示。

像创建其他项目一样,File,New,Project…,即可进入创建项目页面,如下图:

选择Spring Initializr,展示右边基础配置项。我们会发现,其实此插件进行创建时默认也是调用官方提供的网址进行创建。选择JDK8,点击下一步。

像第一种方式一样,填写相关参数信息,这里就不再重复描述。点击“Next”,进入选择依赖界面。点击“Web”,同时勾选中间部分出现的“Web”。能够看到下面出现了“Servlet web application with Spring MVC and Tomcat”,因此,项目已经具有了SpringMVC框架和Tomcat内置web容器了。

当然,如果项目需要,也可以选择添加更多相关依赖。完成依赖选择之后,点击“Next”,指定项目的名称和位置,点击“Finish”,等待项目构建完成即可。根据网络速度,等待时间有所不同,当添加依赖jar包一直卡着不动时,可考虑关闭项目重新打开,手动“Reimport”一下Maven依赖。

项目目录结构

项目完成创建之后,来看一下目录结构:

项目目录结构简单明了,就是一个普通的Maven项目。src/main/java目录下为项目的启动程序和后续需要编写的业务代码。resources目录存放配置文件和资源文件,如web项目的js、css、image、jsp等。test目录存放单元测试类。

配置文件

在常规spring构建的web项目中的配置文件,比如spring-content.xml、web.xml等配置文件都不见了。能够看到的只有application.properties,它默认内置了一些配置,可以通过IDEA的提示功能,快速配置相应的参数,比如在文件内入手server,则会给出如下提示:

通过提示可以看出,内嵌tomcat默认的端口为8080。可以通过server.port=xx,重新指定端口号。

项目依赖

<?xml version="1.0" encoding="UTF-8"?>

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.1.3.RELEASE</version>

<relativePath/> <!-lookup parent from repository -->

</parent>

<groupId>com.example</groupId>

<artifactId>demo</artifactId>

<version>0.0.1-SNAPSHOT</version>

<name>demo</name>

<description>Demo project for Spring Boot</description>

<properties>

<java.version>1.8</java.version>

</properties>

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>

</dependencies>

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

</project>

看到pom里面的内容是不是感觉清爽到极致了。是的,忽略掉Maven的元数据配置,其实我们仅仅引入了三部分的内容:

parent元素,引入了spring-boot-starter-parent的依赖管理,主要提供了整体版本控制和打包等内容;

dependencies元素中,引入了spring-boot-starter-web这个starter和单元测试的starter。

build元素中,引入了一个构建项目的maven插件。

而此刻,如果打开项目的jar包依赖,会看到已经引入了几十个功能相关的jar包了。

HelloWorld

编写一个可通过浏览器访问的hello web程序。在com.example.demo包下创建一个controller的包,并创建HelloWorldController类。

package com.example.demo.controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

@RestController

public class HelloWorldController {

@RequestMapping

public String hello() {

return "hello world!";

}

}

像我们使用spring mvc一样,在controller中实现上面的代码。运行DemoApplication中的main方法启动项目,在浏览器输入:http://localhost:8080/hello,页面显示出”hello world!”,一个简单的rest接口请求便完成了。

是不是非常的便捷呀.......

idea是前端还是后端?

答案是两者都不是。

因为idea只是用来编写程序的一个开发工具,既不属于前端也不属于后端,但是他既可以用来开发前端代码,也可以用来开发后端的代码,但主要是用来开发后端的代码,比如java,php,python语言,而前端代码多用webcharm工具进行开发。

IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的

Python是学什么的?

为什么这么多人在学Python呢?很多小白都听说Python很火,简单易学,学起来很容易,学习周期短,可是为啥要学Python呢?,下面谈谈我对Python的感悟。

在PC时代大量的嵌入式的设备,底层的代码,底层原理,以及底层逻辑运用,以及桌面的应用都是用C、C++实现的,毋庸置疑它们是最接近底层,对底层有着强大的解释说服力,也是最早的、最快的。随着2000年电商的大规模的兴起,多数人融入到这个大家庭中,逐渐地从PC时代过度到互联网时代,Java开始王者归来,再加上2010移动互联网的爆发Android开始风靡起来,Java更是如日中天,走向了辉煌。那我们现在为什么要学习Python呢?Python到底是用来干什么的?

1、Web开发Python的诞生历史比Web还要早,由于Python是一种解释型的脚本语言,开发效率高,所以非常适合用来做Web开发,大大提高了做web开发人员的效率。

Python有上百种Web开发框架,有很多成熟的模板技术,选择Python开发Web应用,不但开发效率高,而且运行速度快,加快了时代的发展。

常用的web开发框架有:Django、Flask、Tornado 等。

许多知名的互联网企业或者小型公司将Python作为主要开发语言:豆瓣、知乎、果壳网、Google、NASA、YouTube、Facebook……

由于后台服务器的通用性,除了狭义的网站之外,很多App和游戏的服务器端也同样用 Python实现,来运行,完成相应的工作。

一个Web应用的本质就是:

浏览器发送一个HTTP请求;服务器收到请求,生成一个HTML文档;服务器把HTML文档作为HTTP响应的Body发送给浏览器;浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。所以,最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,接收用户请求,从文件中读取HTML,返回。Apache、Nginx、Lighttpd等这些常见的静态服务器就是干这件事情的,完成这些事情的。

如果要动态生成HTML,就需要把上述步骤自己来实现。不过,接受HTTP请求、解析HTTP请求、发送HTTP响应都是苦力活,如果我们自己来写这些底层代码,还没开始写动态HTML呢,就得花个把月去读HTTP规范。

正确的做法是底层代码由专门的服务器软件实现,我们用Python专注于生成HTML文档。因为我们不希望接触到TCP连接、HTTP原始请求和响应格式,所以,需要一个统一的接口,让我们专心用Python编写Web业务。

这个接口就是WSGI:Web Server Gateway Interface。(Web服务器网关接口)

wsgi就是一种规范,它定义了使用web应用程序与Python编写的web服务器程序之间的接口格式。无论多么复杂的Web应用程序,入口都是一个WSGI处理函数。HTTP请求的所有输入信息都可以通过environ获得,HTTP响应的输出都可以通过start_response()加上函数返回值作为Body。

WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应HTTP请求。我们来看一个最简单的Web版本的“Hello,web!”:

上面的application()函数就是符合WSGI标准的一个HTTP处理函数,它接收两个参数:

environ:一个包含所有HTTP请求信息的dict对象;start_response:一个发送HTTP响应的函数。在application()函数中,调用:

就发送了HTTP响应的Header,注意Header只能发送一次,也就是只能调用一次start_response()函数。start_response()函数接收两个参数,一个是HTTP响应码,一个是一组list表示的HTTP Header,每个Header用一个包含两个str的tuple表示。

通常情况下,都应该把Content-Type头发送给浏览器。其他很多常用的HTTP Header也应该发送。

然后,函数的返回值'<h1>Hello, web!</h1>'将作为HTTP响应的Body发送给浏览器。

有了WSGI,我们关心的就是如何从environ这个dict对象拿到HTTP请求信息,然后构造HTML,通过start_response()发送Header,最后返回Body。

了解了WSGI框架,我们发现:其实一个Web App,就是写一个WSGI的处理函数,针对每个HTTP请求进行响应。

但是如何处理HTTP请求不是问题,问题是如何处理100个不同的URL。

由于用Python开发一个Web框架十分容易,所以Python有上百个开源的Web框架。各种Web框架的优缺点自己去了解一下就可以了,直接选择一个比较流行的Web框架——Flask来使用。

除了Flask,常见的Python Web框架还有:

Django:全能型Web框架;web.py:一个小巧的Web框架;Bottle:和Flask类似的Web框架;Tornado:Facebook的开源异步Web框架。做一个游戏

2、网络爬虫许多人对编程的热情始于好奇,终于停滞,小有成就就止步于此。

距离真枪实干做开发有技术差距,也无人指点提带,也不知当下水平能干嘛?就在这样的疑惑循环中,编程技能止步不前,而爬虫是最好的进阶方向之一。

网络爬虫是Python比较常用的一个场景,国际上,google在早期大量地使用Python语言作为网络爬虫的基础,带动了整个Python语言的应用发展。以前国内很多人用采集器搜刮网上的内容,现在用Python收集网上的信息比以前容易很多了,如:

从各大网站爬取商品折扣信息,比较获取最优选择;对社交网络上发言进行收集分类,生成情绪地图,分析语言习惯;爬取网易云音乐某一类歌曲的所有评论,生成词云;按条件筛选获得豆瓣的电影书籍信息并生成表格……应用实在太多,几乎每个人学习爬虫之后都能够通过爬虫去做一些好玩有趣有用的事。

例子:爬取网络上的歌曲

3、人工智能人工智能是现在非常火的一个方向,AI热潮让Python语言的未来充满了无限的潜力。现在释放出来的几个非常有影响力的AI框架,大多是Python的实现,为什么呢?

因为Python有很多库很方便做人工智能,比如numpy, scipy做数值计算的,sklearn做机器学习的,pybrain做神经网络的,matplotlib将数据可视化的。在人工智能大范畴领域内的数据挖掘、机器学习、神经网络、深度学习等方面都是主流的编程语言,得到广泛的支持和应用。

人工智能的核心算法大部分还是依赖于C/C++的,因为是计算密集型,需要非常精细的优化,还需要GPU、专用硬件之类的接口,这些都只有C/C++能做到,所有c/c++和P相结合就可以实现人工智能。

4、Python的其他应用举例系统编程:提供API,能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。

图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。

数学处理:NumPy扩展提供大量与许多标准数学库的接口。

文本处理:Python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用Python进行XML程序的开发。

数据库编程:程序员可通过遵循PythonDB-API(数据库应用程序编程接口)规范的模块与MicrosoftSQLServer,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。Python自带有一个Gadfly模块,提供了一个完整的SQL环境。

网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet及BitTorrent.Google都在广泛地使用它。

Web编程:应用的开发语言,支持最新的XML技术。

多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。

黑客编程: Python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。

以上内容分享自华为云社区《【云驻共创】你知道在未来Python主要的运用途径和领域吗?》,作者:楠羽。

有哪些好用的代码编辑器值得推荐?

作为一个程序员,日常的开发工作绝对离不开代码编辑器,不管是前端还是后台,下面我介绍几款常用的代码编辑器,感兴趣的话,可以尝试一下(排名不分前后):

1.Notepad++:相信大部分开发人员都听说或使用过这个代码编辑器,记事本的增强版,免费开源、小巧灵活、使用方便,支持常见的自动补全、语法提示、代码高亮,可编辑语言多达27种,常见的html,css,javascript,java,python,c++等,都可直接编辑,是一款非常不错的代码编辑器:

2.EditPlus:这也是一款小巧灵活的代码编辑器,功能类似于Notepad++,拥有强大的文本处理功能,界面简洁美观,启动速度较快,支持常见的语法高亮、代码折叠等功能,还可直接编辑运行html网页,可扩展性也比较强,唯一的不足就是不支持代码提示功能,自动补全功能相对较弱,但总体来说,也是一个非常不错的代码编辑器:

3.VSCode:这是由微软开发研制的一款免费、开源、跨平台的代码编辑器,支持几乎所有主流语言开发,常见的语法高亮、智能补全、语法检查、括号匹配,这个软件都支持,除此之外,还支持git功能,插件扩展丰富,下载配置相关插件后,可直接调试、运行python,java,c++等程序,在业界是一个非常受欢迎的代码编辑器:

4.Atom:这个是由GitHub专门为广大程序员开发的一款免费、跨平台的代码编辑器,用于强大的文本编辑处理功能,常见的语法提示、代码高亮、智能补全,这个软件都能很好的支持,界面简洁、直观,还支持宏和文件管理器功能,对于初学者来说,是一个非常不错的选择:

5.Sublime Text:这也是一个非常不错的代码编辑器,小巧灵活、轻便快捷、界面友好,相信大部分开发人员都使用过,常见的代码高显亮、智能补全等功能,这个软件都能很好的支持,除此之外,插件扩展机制也相对丰富,配置相关文件后,可以直接调试运行python等程序,也是一个非常不错的代码编辑器,值得一试:

目前,就介绍这5款代码编辑器吧,相信,对于大部分日常开发工作来说,完全够用了,当然,你也可以使用对应的IDE来完成相关工作,像Eclipse,VS等都可以,感兴趣的话,可以到网上搜一下相关资料和教程,很多,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。

学习C语言有什么好的编程软件推荐?

学习C语言有什么好的编程软件推荐?这个目前来说就非常多了,作为一门起源比较早、偏底层的开发语言,c语言在操作系统、嵌入式、服务器方面有着非常广泛的应用,自然对应于编程软件也非常多,下面我简单介绍几个,感兴趣的朋友可以尝试一下:

轻便灵活的开发软件,适合于初学者

code::blocks

这是一个免费、开源、跨平台的c/c++编程软件,基于wxwidgets开发而成,相信许多做c语言开发的朋友应该非常熟悉,插件扩展丰富,功能拓展良好,支持自动补全、语法提示、代码补全等常见功能,除此之外,自带有许多工程模板,可以很方便的创建OpenGL、Qt、DirectX等常见应用,个人使用非常容易掌握,尤其对于初学者可以说是非常合适:

dev-c++

说起dev-c++,相信许多初学c语言的朋友应该非常熟悉,许多高校都采用这个软件作为教学,相比较功能齐全的code::blocks,dev-c++功能比较单一,仅支持windows平台,插件扩展少,而且不支持自动补全、语法提示等常见功能,初学来说可以很好的锻炼基本功,尤其是编码能力,但对于项目开发来说,效率有些捉襟见肘,而且现在官方也已经停止更新和维护:

智能强大的开发软件,适合于专业开发者

visual studio

说起visual studio这个大名鼎鼎的开发神器,相信只要是做编程的朋友无人不知无人不晓,号称宇宙第一IDE环境,只要你能想到的功能,vs几乎都能满足,除了基本的vb、c/c++、c#,新版本中也加入了python、java、node.js,智能补全、代码高亮、语法提示等功能非常不错,许多高级功能,包括cmake、单元测试等也能很好支持,初学来说不容易掌握,但熟悉后的确是一个开发利器,尤其是多人协作的大型项目:

clion

这是jetbrains公司专门为c/c++开发的一款软件,说起jetbrains,许多朋友应该非常熟悉,idea、pycharm、phpstorm这些良心软件都出自jetbrains,作为同类型产品,clion同样非常强大,智能补全、代码高亮、语法提示等功能非常不错,兼容cmake、单元测试、代码重构等高级功能,如果你需要跨平台开发,习惯了jetbrains全家桶,可以使用一下clion,很快就能掌握,当然,软件本身是不免费的:

目前就推荐这4个不错的c语言开发软件吧,初学来说可以使用code::blocks、dev-c++等简单易用的软件,熟悉后,可以使用visual studio、clion等专业强大的软件,当然,你也可以使用vs code、source insight等轻量级代码编辑器,都行,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

本文转载自互联网,如有侵权,联系删除