精华内容
下载资源
问答
  • 想从事Python后端开发?如何入门和学习,这篇文章来告诉你。
    千次阅读
    2020-10-21 15:05:31

    想从事Python后端开发的你,不知道如何入门和学习,但首先必须知道什么是“Python后端开发”。

    1、什么是“Python后端开发”
    刚开始接触软件行业的你,以前可能经常会被人问到:“你以后想走前端还是后端呢?”这对于刚入门的你来说,心里当时肯定在想:“啥意思呢?”在手机查完一番之后,才知道:前端原来就是网民在上网页时第一眼看到的页 面或是分支点信息页面等。或者是页面中的图片、文字、框架分配、视频、语音等整体布局都是前端。而后端就是网民第一眼是看不到的,一般只有部分专业人员才能大致看到。像语言编写、创建方式、改写或优化网站的方式这些操作则为后端。这里“Python后端开发”的意思说白了,也就是:自己用Python语言写代码给服务器看的。

    2、Python后端开发
    在明白了“Python后端开发”是什么之后。如果现在的你想学习“Python后端开发”,那应该学习哪些主要内容呢?让我们一起来看一下吧!

    在这里插入图片描述
    想学习“Python后端开发”大致需要经过五个阶段的学习。

    第一阶段:Python入门
    数据类型
    流程控制
    常用模块
    函数、迭代器、装饰器
    递归、迭代、反射
    面向对象编程
    更高级的技能就不说了,最起码这几个你必须得烂熟于心。

    第二阶段:WEB前端基础
    Html/CSS 基础
    Dom 编程
    原生 JS 学习
    JQuery、EasyUi、AngulaJS
    Ajax 异步加载
    Highchart 画图
    Bootstrap
    既然想学习“Python后端开发”,那就需要对简单的Web前端基础有点了解。

    第三阶段:网络编程
    Socket C/S编程、Twisted 异步网络框架
    多线程、多进程、gevent、select\poll\epoll
    FTP 服务器开发
    批量命令、文件分布工具
    RabbitMQ 消息队列、SqlAlchemy ORM
    Reids\MemCache\MongoDB 缓存数据库
    这个阶段没什么要求,但是最好还是要了解一下。

    第四阶段:Python WEB框架
    Django
    Tornado
    Flask
    Bottle
    Session/中间件/ORM/Cookie/CSRF/FORM
    框架至少要熟悉两个,其他的做个了解。

    第五阶段:数据库
    作为一名开发人员,不说要精通数据库,那也是需要熟悉数据库的,至少你要能独立编写较高质量的SQL,懂得简单的数据库调优,不要指望数据库部分的事情都交给DBA去做,要相信我们程序员是万能的,而且你代码中的SQL部分也是不管DBA的事的,所以作为一名未来的"Python后端开发"工程师一定要熟练使用数据库,如果觉得数据库太多不知道学习哪一个的话就从MySQL下手吧。

    欢迎随时咨询

     
    更多相关内容
  • 后端开发入门1

    2021-04-25 05:14:37
    2. 理解前后端分离开发和不分离开发的区别。 前置知识: 脚本、脚本语言:脚本是为了重复一个设定好的规程。与编译型语言不同,脚本语言通常是解释型的,因此便于根据需求修改。在前端开发中,脚本语言一般是JS...

    学习路线来自Handy前辈的规划
    技术栈暂定为SpringBoot+MySql。一段话前面加的星号*表示这段话是我个人的理解。

    一、理论知识

    1. 复习Java基础知识。

    略。
    (接口interface,多线程,TCP编程,Daemon,Thread/Runnable,异常处理,注解annotation)

    2. 理解前后端分离开发和不分离开发的区别。

    前置知识:

    脚本、脚本语言

    脚本是为了重复一个设定好的规程。与编译型语言不同,脚本语言通常是解释型的,因此便于根据需求修改。在前端开发中,脚本语言一般是JS(JavaScript)。——知乎:如何用通俗易懂的语言解释脚本(script)是什么?
    按我的理解,脚本就是小型的(至少最初是小型的?)、直接解释执行所以易修改的程序。

    JSP

    Jakarta Server Pages/JavaServer Pages的缩写。部署在服务器上,响应客户端的请求,并根据请求动态生成Web网页。以Java作为脚本语言,为HTTP请求提供服务,并能与服务器上其他Java程序共同处理业务需求。——维基百科 - JSP

    JSP实际上是把Java代码嵌入HTML代码中。例如:

    <html>
    <head>
        <title>Hello World - JSP</title>
    </head>
    <body>
        <%-- JSP Comment --%>
        <h1>Hello World!</h1>
        <p>
        <%
             out.println("Your IP address is ");
        %>
        <span style="color:red">
            <%= request.getRemoteAddr() %>
        </span>
        </p>
    </body>
    </html>
    

    在.jsp文件中,<%%>之间的代码是它与HTML最根本的区别。这些代码有三种:

    • <%----%>之间是注释。
    • <%=%>之间是一个变量,这个语句直接输出一个变量的值。
    • 其他情况就是普通的Java语句。这也是Java成为JSP的脚本语言的原因。

    传统Java Web开发中,前端程序员完成HTML代码,后端程序员将其转为JSP再进行开发。如果后端遇到bug等问题,则难以与前端交流,因为前端看不懂后端用的JSP,而后端看不懂前端用的HTML;而且前端无法独自调试,因为页面的上线需要由后端程序员完成。
    如果前端只负责数据展示和用户交互,后端只负责处理数据,前后端程序员约定好他们唯一的交流——接口的文档(参数、数据类型),然后独立并行开发,就能实现前后端解耦合,避免上述问题。——还搞不明白前后端分离?

    *按我的理解,这与封装类似。两端都只需要处理接口处来的数据,而不需要管对方的细节,正如同调用封装好的函数不需要知道它的实现方式一样。当然,正如同有时候需要了解封装函数的内部细节一样,前后端可能也需要了解对方。

    3. 理解JSON在前后端分离开发中的作用。

    JSON

    JavaScript Object Notation的缩写,即JavaScript对象表示法,用来传输由属性值或序列性的值组成的数据对象。虽然是JS的子集,但是是独立于语言的文本格式,即数据格式与语言无关。——维基百科 - JSON
    JSON的文法:——json.org

    *按我的理解,JSON是前后端交互的数据的形式,如同调用封装函数时的参数和返回值一样。对一端而言,另一端看起来只是大量JSON的流。

    *由于JSON是语言无关的,并且现代编程语言基本都能支持array/vector/list/sequence等等与JSON中的array类似的数据形式之一,所以JSON很适合作为不同程序之间交互数据的形式。

    4. 理解Tomcat/SpringMVC/Spring/SpringBoot/Servlet的关系。

    Servlet

    本质上,Servlet最狭义、最原始的意思是用Java语言实现的一个接口;广义地,Servlet指实现了这个接口的类。
    ——维基百科 - Java Servlet
    既然是接口,它实际上就是一种规范,使得实现它的类都遵循这种规范。
    ——进击的算法
    除了Servlet之外,还有ServletContext, ServletRequest, ServletResponse等诸多接口提供规范。
    ——简书 - servlet/tomcat等容器/springMVC之间的关系
    既然是类,它也是可以运行在机器(服务器)上的程序。
    ——Introduction to Servlets and Servlet Containers

    //
    // Source code recreated from a .class file by IntelliJ IDEA
    // (powered by Fernflower decompiler)
    //
    
    package javax.servlet;
    //在最新的Servlet API版本(Jakarta Servlet 5.0.0 M1)里,
    //这个包被移动到了jakarta.servlet。
    
    import java.io.IOException;
    
    public interface Servlet {
        void init(ServletConfig var1) throws ServletException;
    
        ServletConfig getServletConfig();
    
        void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
    
        String getServletInfo();
    
        void destroy();
    }
    

    功能上,servlet是一个组件。它的功能很简单:接收请求,处理请求,发回响应。理论上,servlet可以通过任何客户端-服务器协议来对话,但最常处理的请求是HTTP协议的,所以servlet一词常常是对HTTP servlet的简称。
    Servlet常被用来给一个web服务器添加动态内容,这些内容通常是HTML,但有时也可能是XML或者JSON。当输出HTML时,servlet的语句常常是这样:

    PrintWriter pw = resp.getWriter();
    pw.write("<html>");
    pw.write("<body>");
    pw.write("<h1>Welcome, " + name + "!</h1>");
    pw.write("</body>");
    pw.write("</html>");
    pw.flush();
    

    所以我们说,servlet把HTML语句嵌入Java代码中。
    这和JSP正好相反。那么servlet和JSP之间是否有某种关系?
    有。
    JSP需要先编译成Java程序才能执行。比如上面举例JSP时的代码会被Tomcat编译为下面的样子:

    package org.apache.jsp;
    import ...
    
    public final class hello_jsp extends org.apache.jasper.runtime.HttpJspBase
        implements org.apache.jasper.runtime.JspSourceDependent,
                   org.apache.jasper.runtime.JspSourceImports {
    
        ...
    
        public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
            throws java.io.IOException, javax.servlet.ServletException {
            ...
            out.write("<html>\n");
            out.write("<head>\n");
            out.write("    <title>Hello World - JSP</title>\n");
            out.write("</head>\n");
            out.write("<body>\n");
            ...
        }
        ...
    }
    

    这实际上就是servlet。

    Servlet处理来自客户端的请求,但并不直接与客户端互动。相反地,它(们)由容器管理,通过容器和web服务器进而和客户端互动。

    容器

    是一个组件和更底层的支持这个组件的功能之间的接口。——Java EE Containers
    书中代言:

    [A CONTAINER provides] an execution environment that is responsible for adding the technical concerns to the COMPONENTS…Conceptually, it wraps the COMPONENTS, thus giving clients the illusion of of tightly-integrated functional and technical concerns.
    ——Server Component Patterns by M.Volter, et al.

    意思大概是说:容器把一些部件给包起来,为这些部件提供运行环境,对外提供一种功能和技术高度整合的假象。

    Servlet容器是Java EE服务器中很常见的一种容器。它的内部运行着servlet,外部与web服务器对接。
    ——StackOverflow - Definition of a Java Container
    *容器像是房间,而servlet是房间中的职员。


    ——Java EE Containers

    Servlet处理HTTP请求时的一个典型的事件序列如下:

    1. 客户端(例如一个web浏览器)访问web服务器,发出一个HTTP请求。
    2. web服务器收到请求,交给servlet容器。此处的容器可以和主机web服务器运行在同一个进程中,或者同一个主机上的不同进程中,或者不同主机上。
    3. 根据servlets的具体配置,servlet容器决定要调用哪个servlet,然后用代表着请求和响应的对象调用它。
    4. servlet根据请求对象查明用户是谁、请求里可能送来了哪些HTTP POST参数,以及其他相关数据,然后做其他事,最后生成数据发回客户端(通过响应对象)。
    5. servlet处理完请求后,容器妥善处置servlet,然后把控制权交给主机web服务器。

    上面这段翻译自官方说明Jakarta Servlet Specification。顾名思义,该网站也对一个servlet应该实现的功能做了规范。

    *第4步显然隐藏了许多细节,那些细节暂时不是我能考虑的……不过显然和上面代码中定义的void service(ServletRequest var1, ServletResponse var2)有关。

    待解决问题:容器使用servlet的过程;servlet的生命周期。

    Tomcat

    全称Apache Tomcat,是一个免费、开源的对Java Servlet, JSP, Java Expression Language和WebSocket技术的实现,也是最常用的servlet容器。

    如前所述,Tomcat被用于管理servlet并为之提供接口。具体地,它代替程序员执行TCP编程、HTTP编解码等繁重的底层工作,解析客户端发起的请求,组装出HttpRequest,创建HttpRespoonse,将它们交给程序员编写的servlet处理。

    需要注意的是,Tomcat代替servlet接收请求,但并不发回响应。响应是servlet自己发回的。

    本来应该在此处继续了解Spring/SpringBoot/Spring MVC,但我看了一会发现,首先要知道框架是什么。

    框架

    框架之于应用开发,如同库之于功能实现。当大家需要砍很多树的时候,锯子(库)应运而生;当大家需要造很多桌子的时候,工厂(框架)应运而生。
    框架既是一种规范,规定开发某种软件的基本组件;也是帮助程序员实现这种规范的工具,提供并实现最基础的软件架构。
    但正如同桌子工厂难以制造椅子,锯子不能拧螺丝一样,String类的函数不能建立哈希表,框架使得工作的灵活性减少。
    YouTube - What is the difference between frameworks and libraries?

    *这个视频里还说“人调用库,框架调用人”,没太明白这句话是什么意思。

    Spring

    Spring framework(Spring框架)是最受欢迎的Java应用开发框架。它提供的功能中有三种是主要的:

    • 应用上下文(application context)与依赖注入(dependency injections)。这两个功能帮助程序员管理服务和对象之间的联系,在可以共享同一个实例时避免创建新的实例。
    • 数据访问(data access)。有98.7%的Java应用需要建立数据库连接,因此提供这一功能的框架能大大提高工作效率。
    • Spring MVC。更容易地开发web应用。

    ——YouTube - What is the Spring framework really all about?

    *事实上,除了这三者之外,Spring框架还提供一些其他功能,如事务管理;除了Spring框架之外,Spring还有很多其他服务,如Spring Data/Spring Cloud/Spring Security等几十种,在官网Spring Projects上有列举。但我一时没法学这么多……姑且认为Handy前辈指的是Spring框架吧。

    MVC是Java Web开发的一种模式,指的是在Web服务器上建立Model(模型层,如Java Bean)、View(视图层,如JSP)、Controller(控制器)这三个耦合度低、逻辑清晰的部分。
    Spring MVC则是实现了MVC设计模式的一个Web框架,是Spring框架的一个部分。

    *在组合使用Tomcat和Spring MVC之后,对于Tomcat而言,整个Spring MVC就像是一个servlet;而对于Spring MVC而言,Tomcat的意义只在于上图中的1.HTTP请求和8.HTTP响应,就像是浏览器一样,因为Tomcat创建了请求和响应各一个对象供Spring MVC来交互。

    待解决问题:处理器,控制器。

    Spring Boot

    一个开源的基于Spring框架的微框架。
    Spring框架提供了依赖注入,因而提供灵活性,但代价是开发者要给每个部件设置大量的XML配置语句。Spring Boot则相反,采用自动配置(可以手动重写),尽量减少代码长度,让开发、测试和部署更加便捷。随之而来的是开发者对程序的控制力的下降,这是Spring Boot的一个局限性。
    ——Stackify - What is Spring Boot?
    Spring Boot中内置的web容器就是Tomcat。

    *回到开始的问题。这几者的关系大概是Spring Boot>Spring>Tomcat/Spring MVC(大于表示包含),Tomcat管理Spring MVC,Spring MVC是一种/实现了servlet。

    5. 理解Spring Boot,重点理解一个请求从接收到返回会经过哪些流程,以及Spring Boot的注解。

    REST API

    REST是Representational State Transfer的缩写,意为表现层状态转换。是基于HTTP的一种软件架构风格(而非标准)。这种风格的Web API即为REST API/RESTful API,其具有以下特点:

    • 由客户端、服务器、资源组成的客户端-服务器架构,请求通过HTTP处理。
    • 无状态通信。请求里没有客户端的信息,并且每个请求都独立。
    • 缓存。
    • 统一接口。
    • 分层系统。客户端不知道自己是否连接到了服务器,因为中间可能有很多层服务器实现缓存等机制。
    • 按需代码。服务器可以发送给客户端可执行代码,来扩展客户端的功能。

    ——What is a REST API?

    请求处理流程

    在这里插入图片描述
    ——Spring MVC流程图

    1. 一个Tomcat服务器运行中。
    2. 客户端发送请求到Tomcat,给出URL。
    3. 一般情况下,Tomcat根据配置文件web.xml找到URL对应的servlet或者filter,并委托其处理该请求。但在基于Spring MVC的Java应用中,所有请求都被移交给同一个servlet,即DispathcerServlet,因为它处理的URL格式是*,也就是所有URL。
    4. 在Spring MVC内部,DispatcherServlet作为前端总控制器,把不同的请求移交给不同类型的控制器处理。
      4.1. 请求首先进入DispatcherServletdoService方法。
      4.2. doService中调用doDispatch方法。
      4.3. doDispatch中,遍历所有的handlerMapping来寻找可以处理该请求的控制器(亦即处理器,handler),并移交请求。
      4.4. 具体的处理器映射由注解决定。各种控制器类都带有有参数的注解@RequestMapping以表明它处理哪些请求。例如:
    @Controller
    @RequestMapping("/appointments")
    public class AppointmentController{
    	@GetMapping
    	public Map Get(){
    		return appointmentBook.getAppointmentsForToday();
    	}
    
    	@PostMapping
    	public String add(@Valid AppointmentForm appointment, BindingResult result){
    		if(result.hasErrors()){
    			return "appointments/new";
    		}
    		appointmentBook.addAppointment(appointment);
    		return "redirect:/appointments";
    	}
    }
    
    

    该控制器会处理任何带有"/appointments"的URI的请求,再根据请求类型调用不同的方法来处理。对于GET请求,它调用Get()方法。对于POST请求同理。

    1. 控制器处理完请求后,向servlet返回一个模型与视图(ModelAndView)。
    2. servlet将模型交给视图解析器(view resolvers,例如JSP)。
    3. 解析器渲染模型,返回视图,发送给客户端作为响应。

    ——How Spring MVC Framework works? How HTTP Request is processed?
    ——springboot请求处理流程
    ——Spring MVC flow with Example

    关于Spring Boot的注解:

    Bean

    JavaBean指的是符合如下条件的类:

    • 有无参构造函数。
    • 可序列化。
    • 提供设置和获得属性值的方法,即setter和getter方法。
      根据Java白皮书,JavaBean是可重复使用的软件组件。一个bean能把许多对象封装进同一个,于是我们可以从多个地方访问到这个对象,并且还提供了便捷的维护。
      ——JavaTPoint - JavaBean
      *“把许多对象封装进同一个”这句话我是真不太懂,然而维基百科和JavaTPoint都是这么说的。我在StackOverflow上查了一下,发现有人有一样的疑问,但回答都模棱两可,只有一条解释最通的评论说这句话的重点在于“封装”而非“许多”。这就很好理解了。

    Spring中的bean则泛指各种组件。

    *也许是因为Spring里的组件都封装得很好吧。

    IoC

    即Inversion of Control,控制反转。如果没有IoC,程序的控制完全在开发者手中。这固然提供很大的自由度,但在不同对象需要使用同一个组件时,常常需要重复创建,也就是说对象的创建、配置与使用过于耦合。
    反转控制后,控制权由IoC容器掌握。容器能自动地创建和配置组件,并且管理其生命周期。在有对象需要使用组件时注入,在没有对象需要使用组件时销毁。
    那么自然有必要告诉容器组件之间的依赖关系。最简单的方式是在XML文件中描述。
    Spring的IoC容器支持字段注入、构造方法注入、方法注入。
    Spring的IoC容器具有无侵入性,即容器中的组件不需要使用和Spring有关的特定接口。

    Spring Boot的注解

    主要有以下几种。

    核心Spring框架注解
    • @Required:类级注解。被注解的bean在配置时必须要被设置指定属性,否则抛出异常BeanInitializationException
    • @Autowired:不需要在XML中写明依赖关系,该注解就可以让Spring把被注解的组件注入此处的方法/构造方法/字段。
    • @Configuration:类级注解。被注解的类是配置类。
    • @Component:类级注解。被注解的类是一个组件(可能不清楚在哪个层)。与@ComponentScan配合使用。
    • @Repository:类级注解。被注解的类是一个持久层(Data Access Object, DAO)组件,直接访问数据库。
    • @Service:类级注解。被注解的类是一个服务层组件。
    • @Controller:类级注解。被注解的类是一个控制层组件。常被用来提供web页面,配合@RequestMapping使用。以上三种都是特别的@Component
    • @RequestMapping:类/方法级注解。用于映射web请求。
    • @ComponentScan:标注在启动容器类前面,使得启动容器自动搜索当前包及其所有子包,创建所有被注解了@Component的bean的实例,并根据@Autowired装配。
    • @Bean:方法级注解。XML中<bean>标签的替代。被注解的方法给Spring容器产生一个bean。
    Spring Boot注解
    • @SpringBootApplication:启动类的注解,默认加上。相当于
    @EnableAutoConfiguration
    @ComponentScan
    @Configuration
    

    包含了自动配置和自动扫描。

    ——Spring Boot Annotations
    ——Spring/Spring Boot常用注解总结

    6.理解Maven在Java项目中的作用与用法。

    Maven:是一个软件(主要是Java程序)项目管理和自动构建工具,使用名为pom.xml的项目对象模型文件来配置。

    maven一词原意为【某领域的专家,致力于向其他人传授相关知识】。该词来自犹太语meyvn,意为【专家、行家】,而这个词又来自希伯来语מבין‎ mēvīn,意为’person with understanding, teacher’
    ——维基百科 - Maven

    Maven的首要目的是让开发者在最短时间里理解一个项目的完整状态。为实现这一目标,Maven处理以下问题:

    • 简化构建过程。虽然使用Maven并没有消除了解底层机制的需要,但Maven依然为开发者屏蔽了许多细节。
    • 提供标准化的构建系统。Maven使用项目对象模型(project object model, POM)和一系列插件来构建项目。一旦你熟悉了一个Maven项目,你就明白了所有Maven项目的构建过程。
    • 提供高质量的项目信息。Maven提供的项目信息非常有用,其中一部分来自你的POM,一部分来自你的项目源码。
    • 鼓励更好的开发实践。
      ——What is Maven

    POM:是Maven的基本工作单元,是一个包含项目信息和配置细节的XML文件。在执行一个任务时,Maven在当前目录下寻找POM,读取POM,获得所需信息,然后执行任务。

    POM中可以指定一些配置,比如项目依赖,可用插件,构建概要,等到。POM也可以指定项目版本、描述、开发者等信息。

    Super POM是Maven的默认POM。除非特别设置,所有POM都继承自Super POM。

    一个POM中最少要有以下信息:

    • project 根。
    • modelVersion 应该被设置为4.0.0。
    • groupId 当前项目的组的id。
    • artifactId 当前项目(artifact)的id。
    • version 指定组下的项目的版本。
      下面是一个例子(minimal POM):
    <project>
      <modelVersion>4.0.0</modelVersion>
     
      <groupId>com.mycompany.app</groupId>
      <artifactId>my-app</artifactId>
      <version>1</version>
    </project>
    

    POM要求groupId, artifactId和version都设置好,这三个值唯一确定项目名,形式为<groupId>:<artifactId>:<version>。如上面例子中的项目名为com.mycompany.app:my-app:1
    如果配置细节没有设置,则按照默认值。如打包类型,如果POM中没有指定,则使用默认值jar
    POM中还包括如下元素:依赖,开发者与贡献者,插件列表,插件执行,插件配置,资源。
    POM能实现如下功能:

    • 项目继承。parent项可以引入一个父项目,其同样需要上述三元组指定。额外的,可以用relativePath参数指定相对路径;如果项目与父项目的groupId, version相同,则可以省略不写。
    • 项目整合。module项可以引入一个模组,其参数值为模组相对当前文件夹的路径。
    • 项目依赖。dependencies项可以引入若干项目,每个以一个dependency项指定。
    • 变量。文件中任何一个单值的字段都可以被作为变量引用,如${project.groupId}等。除了project.之外,也可以pom.作为前缀。有一些特别的变量:project.basedir, project.baseUri, maven.build.timestamp, ${mavenVersion}等。
      ——Introduction to the POM

    下面是一个更完整的例子:

    <project>
      <!-- model version is always 4.0.0 for Maven 2.x POMs -->
      <modelVersion>4.0.0</modelVersion>
      <!-- project coordinates, i.e. a group of values which uniquely identify this project -->
      <groupId>com.mycompany.app</groupId>
      <artifactId>my-app</artifactId>
      <version>1.0</version>
      <!-- library dependencies -->
      <dependencies>
        <dependency>
          <!-- coordinates of the required library -->
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <!-- this dependency is only used for running and compiling tests -->
          <scope>test</scope>
        </dependency>
      </dependencies>
    </project>
    

    ——维基百科 - Apache Maven

    Maven的一个生命周期(lifecycle)包含若干阶段(phase),每个阶段包含若干目标(goal)。运行mvn <lifecycle>命令时,Maven按顺序执行给定的生命周期(不指定则为default)中的所有阶段中的所有目标。也可以指定多个生命周期。
    常用的生命周期有clean, clean compile, clean test, clean package等。
    每个目标由插件参数两部分按照<plugin>:<parameter>的格式组成。如阶段compile中唯一的目标compiler:compile,阶段test中的两个目标compiler:testCompile, surefile:test等。
    插件也可以自定义。

    *Maven可以把项目发布到本地/Maven中央仓库/GitHub Packages。第三个是最可能用于我的示例的,但我被给到的连接似乎的GithHub库而非Packages,所以似乎无法用Maven上传。

    7.复习关系型数据库SQL语法,重点理解如何设计一个关系。

    略。

    二、搭建开发环境

    • IDE:idea。
    • 在Windows上安装MySQL。
    • MySQL连接工具:Navicat Premium。
    • 前后端调试工具:postman。
    • Git。

    三、例子:简单的登录注册

    SpringBoot+Mysql做登陆接口
    SpringBoot+MyBatis做注册接口

    *本文的参考远远不止给出了超链接的那些文章,不给链接的原因主要有两个。1. 很多文章的内容大同小异,我是综合它们做好的笔记,将它们的链接全部给出既费力又没有什么意义。2. 提供了很多参考但很分散,就在下面统一写出吧。

    *实际上就一个:廖雪峰的官方网站。其中的讲述非常丰富并且易于理解,可惜时间所限,我不会的东西又太多……无法细细学习。

    展开全文
  • 前端开发和后端开发哪个难学

    千次阅读 2021-12-06 12:30:49
    前端开发和后端开发哪个难学,还是要因人而异的。前端开发和后端开发学的知识不太一样。有些人可能擅长学习前端开发的知识,有些人可能擅长学习后端开发的技术。学前端开发和后端开发的前景都挺不错的。这两种岗位的...

    相对来讲,后端开发可能更难学一点。

    前端对于逻辑思维的要求不是那么高,学起来不是很难。很多前端开发人员都是从零基础开始学的。后端开发需要程序员有很好的逻辑思维,学习的知识也不少,学习起来可能并没有那么简单。前端开发和后端开发哪个难学,还是要因人而异的。前端开发和后端开发学的知识不太一样。有些人可能擅长学习前端开发的知识,有些人可能擅长学习后端开发的技术。学前端开发和后端开发的前景都挺不错的。这两种岗位的人才需求量比价大,薪资也比较高!

    前端开发和后端开发哪个难学

    前端开发和后端开发都学什么?

    前端开发是创建Web页面或APP等前端界面呈现给用户,实现互联网产品的用户界面交互。学前端开发主要学习HTML5、HTML5、JS、移动Web开发等。后端开发指的是运行在后台并且控制前端的内容,负责程序设计架构、数据库管理之类的的业务逻辑。后算开发主要是考虑功能的实现以及数据的操作。学后端开发主要学习JavaSE基础、javaWeb、java框架、java+大数据等。

    前端开发和后端开发哪个难学

    在哪儿学前端开发和后端开发比较好?

    来火星时代学培训机构学很不错!

    小编建议你在火星时代培训机构进行学习前端开发或后端开发。火星时代有专业的老师助你攻克难关,并采用由浅入深式教学方法,零基础学员也能跟上学习进度,学习起来并不吃力。你不用担心自己学不会了!火星时代还有好的就业资源,助你增加就业机会!你可以与客服联系,客服会根据你的需求和能力,帮你选择适合你的前端开发或后端开发培训班!

    原文链接:前端开发和后端开发哪个难学_火星时代前端对于逻辑思维的要求不是那么高,学起来不是很难。很多前端开发人员都是从零基础开始学的。后端开发需要程序员有很好的逻辑思维,学习的知识也不少,学习起来可能并没有那么简单。前端开发和后端开发哪个难学,还是要因人而异的。前端开发和后端开发学的知识不太一样。有些人可能擅长学习前端开发的知识,有些人可能擅长学习后端开发的技术。学前端开发和后端开发的前景都挺不错的。这两种岗位的人才需求量比价大,薪资也比较高!https://www.hxsd.cn/wenda/2068.html

    展开全文
  • 简单之处在于好用方便,接入简单使用简单,异步操作能够解耦系统间的依赖,同时失败后也能够追溯重试。难的地方在于,设计一套可以支撑业务的消息机制,并提供高可用架构,解决消息存储、消息重试、消息队列的负载...

    前言

    消息中间件作为分布式系统的重要成员,各大公司及开源均有许多解决方案。目前主流的开源解决方案包括RabbitMQ、RocketMQ、Kafka、ActiveMQ等。消息这个东西说简单也简单,说难也难。简单之处在于好用方便,接入简单使用简单,异步操作能够解耦系统间的依赖,同时失败后也能够追溯重试。难的地方在于,设计一套可以支撑业务的消息机制,并提供高可用架构,解决消息存储、消息重试、消息队列的负载均衡等一系列问题。然而难也不代表没有方法或者“套路”,熟悉一下原理与实现,多看几个框架的源码后多总结势必能找出一些共性。

    消息框架大同小异,熟练掌握其原理、工作机制是必要的。就拿用的比较多的RocketMQ为引,来说说消息引擎的设计与实现。阿里的消息引擎经过了从Notify到Napoli、再到MetaQ三代的发展,现在已经非常成熟,在不同部门的代码中现在没准都还可以从代码里看到这一系列演进过程。当前的Apache RocketMQ 就是阿里将MetaQ项目捐赠给了Apache基金会,而内部还是沿用MetaQ的名称。

    栈和队列部分(10)

    1. 设计一个有getMin功能的栈(士★☆☆☆)

    2. 由两个栈组成的队列(尉★★☆☆)

    3. 如何仅用递归函数和栈操作逆序一个栈(尉★★☆☆)

    4. 猫狗队列(士★☆☆☆)

    5. 用一个栈实现另一个栈的排序(士★☆☆☆)

    6. 用栈来求解汉诺塔问题(校★★★☆)

    7. 生成窗口最大值数组(尉★★☆☆)

    8. 构造数组的MaxTree(校★★★☆)

    9. 求最大子矩阵的大小(校★★★☆)

    10. 最大值减去最小值小于或等于num的子数组数量(校★★★☆)

    链表问题(20)

    1. 打印两个有序链表的公共部分(士★☆☆☆)

    2. 在单链表和双链表中删除倒数第K 个节点(士★☆☆☆)

    3. 删除链表的中间节点和a/b 处的节点(士★☆☆☆)

    4. 反转单向和双向链表(士★☆☆☆)

    5. 反转部分单向链表(士★☆☆☆)

    6. 环形单链表的约瑟夫问题(原问题:士★☆☆☆进阶:校★★★☆)

    7. 判断一个链表是否为回文结构(普通解法士★☆☆☆)(进阶解法尉★★☆☆)

    8. 将单向链表按某值划分成左边小、中间相等、右边大的形式(尉★★☆☆)

    9. 复制含有随机指针节点的链表(尉★★☆☆)

    10. 两个单链表生成相加链表(士★☆☆☆)

    11. 两个单链表相交的一系列问题(将★★★★)

    12. 将单链表的每K个节点之间逆序(尉★★☆☆)

    13. 删除无序单链表中值重复出现的节点(士★☆☆☆)

    14. 在单链表中删除指定值的节点(士★☆☆☆)

    15. 将搜索二叉树转换成双向链表(尉★★☆☆)

    16. 单链表的选择排序(士★☆☆☆)

    17. 一种怪异的节点删除方式(士★☆☆☆)

    18. 向有序的环形单链表中插入新节点(士★☆☆☆)

    19. 合并两个有序的单链表(士★☆☆☆)

    20. 按照左右半区的方式重新组合单链表(士★☆☆☆)

    二叉树问题(24)

    1. 分别用递归和非递归方式实现二叉树先序、中序和后序遍历(校★★★☆)

    2. 打印二叉树的边界节点(尉★★☆☆)

    3. 如何较为直观地打印二叉树(尉★★☆☆)

    4. 二叉树的序列化和反序列化(士★☆☆☆)

    5. 遍历二叉树的神级方法(将★★★★)

    6. 在二叉树中找到累加和为指定值的最长路径长度(尉★★☆☆)

    7. 找到二叉树中的最大搜索二叉子树(尉★★☆☆)

    8. 找到二叉树中符合搜索二叉树条件的最大拓扑结构(校★★★☆)

    9. 二叉树的按层打印与ZigZag打印(尉★★☆☆)

    10. 调整搜索二叉树中两个错误的节点(原问题:尉★★☆☆)(进阶问题:将★★★★)

    11. 判断t1 树是否包含t2 树全部的拓扑结构(士★☆☆☆)

    12. 判断t1 树中是否有与t2 树拓扑结构完全相同的子树(校★★★☆)

    13. 判断二叉树是否为平衡二叉树(士★☆☆☆)

    14. 根据后序数组重建搜索二叉树(士★☆☆☆)

    15. 判断一棵二叉树是否为搜索二叉树和完全二叉树(士★☆☆☆)

    16. 通过有序数组生成平衡搜索二叉树(士★☆☆☆)

    17. 在二叉树中找到一个节点的后继节点(尉★★☆☆)

    18. 在二叉树中找到两个节点的最近公共祖先(原问题:士★☆☆☆)(进阶问题:尉★★☆☆再进阶问题:校★★★☆)

    19. Tarjan算法与并查集解决二叉树节点间最近公共祖先的批量查询问题(校★★★☆)

    20. 二叉树节点间的最大距离问题(尉★★☆☆)

    21. 先序、中序和后序数组两两结合重构二叉树(先序与中序结合士★☆☆☆)(中序与后序结合士★☆☆☆先序与后序结合尉★★☆☆)

    22. 通过先序和中序数组生成后序数组(士★☆☆☆)

    23. 统计和生成所有不同的二叉树(尉★★☆☆)

    24. 统计完全二叉树的节点数(尉★★☆☆)

    递归和动态规划(17)

    1. 斐波那契系列问题的递归和动态规划(将★★★★)

    2. 矩阵的最小路径和(尉★★☆☆)

    3. 换钱的最少货币数(尉★★☆☆)

    4. 换钱的方法数(尉★★☆☆)

    5. 最长递增子序列(校★★★☆)

    6. 汉诺塔问题(校★★★☆)

    7. 最长公共子序列问题(尉★★☆☆)

    8. 最长公共子串问题(校★★★☆)

    9. 最小编辑代价(校★★★☆)

    10. 字符串的交错组成(校★★★☆)

    11. 龙与地下城游戏问题(尉★★☆☆)

    12. 数字字符串转换为字母组合的种数(尉★★☆☆)

    13. 表达式得到期望结果的组成种数(校★★★☆)

    14. 排成一条线的纸牌博弈问题(尉★★☆☆)

    15. 跳跃游戏(士★☆☆☆)

    16. 数组中的最长连续序列(尉★★☆☆)

    17. N皇后问题(校★★★☆)

    字符串问题(23)

    1. 判断两个字符串是否互为变形词(士★☆☆☆)

    2. 字符串中数字子串的求和(士★☆☆☆)

    3. 去掉字符串中连续出现k 个0 的子串(士★☆☆☆)

    4. 判断两个字符串是否互为旋转词(士★☆☆☆)

    5. 将整数字符串转成整数值(尉★★☆☆)

    6. 替换字符串中连续出现的指定字符串(士★☆☆☆)

    7. 字符串的统计字符串(士★☆☆☆)

    8. 判断字符数组中是否所有的字符都只出现过一次(按要求1 实现的方法士★☆☆☆)(按要求2 实现的方法尉★★☆☆)

    9. 在有序但含有空的数组中查找字符串(尉★★☆☆)

    10. 字符串的调整与替换(士★☆☆☆)

    11. 翻转字符串(士★☆☆☆)

    12. 数组中两个字符串的最小距离(尉★★☆☆)

    13. 添加最少字符使字符串整体都是回文字符串(校★★★☆)

    14. 括号字符串的有效性和最长有效长度(原问题士★☆☆☆)(补充问题尉★★☆☆)

    15. 公式字符串求值(校★★★☆)

    16. 0 左边必有1 的二进制字符串数量(校★★★☆)

    17. 拼接所有字符串产生字典顺序最小的大写字符串(校★★★☆)

    18. 找到字符串的最长无重复字符子串(尉★★☆☆)

    19. 找到被指的新类型字符(士★☆☆☆)

    20. 最小包含子串的长度(校★★★☆)

    21. 回文最少分割数(尉★★★☆)

    22. 字符串匹配问题(校★★★☆)

    23. 字典树(前缀树)的实现(尉★★☆☆)

    大数据和空间限制(6)

    1. 认识布隆过滤器(尉★★☆☆)

    2. 只用2 GB 内存在20 亿个整数中找到出现次数最多的数(士★☆☆☆) .

    3. 40 亿个非负整数中找到没出现的数(尉★★☆☆)

    4. 找到100 亿个URL 中重复的URL 以及搜索词汇的top K 问题(士★☆☆☆)

    5. 40 亿个非负整数中找到出现两次的数和所有数的中位数(尉★★☆☆)

    6. 一致性哈希算法的基本原理(尉★★☆☆)

    位运算(6)

    1. 不用额外变量交换两个整数的值(士★☆☆☆)

    2. 不用任何比较判断找出两个数中较大的数(校★★★☆)

    3. 只用位运算不用算术运算实现整数的加减乘除运算(尉★★☆☆)

    4. 整数的二进制表达中有多少个1 (尉★★☆☆)

    5. 在其他数都出现偶数次的数组中找到出现奇数次的数(尉★★☆☆)

    6. 在其他数都出现k 次的数组中找到只出现一次的数(尉★★☆☆)

    数组和矩阵问题(26)

    1. 转圈打印矩阵(士★☆☆☆)

    2. 将正方形矩阵顺时针转动90 °(士★☆☆☆)

    3. "之"字形打印矩阵(士★☆☆☆)

    4. 找到无序数组中最小的k 个数(O(Nlogk)的方法尉★★☆☆)(O(N)的方法将★★★★)

    5. 需要排序的最短子数组长度(士★☆☆☆)

    6. 在数组中找到出现次数大于N/K 的数(校★★★☆)

    7. 在行列都排好序的矩阵中找数(士★☆☆☆)

    8. 最长的可整合子数组的长度(尉★★☆☆)

    9. 不重复打印排序数组中相加和为给定值的所有二元组和三元组(尉★★☆☆)

    10. 未排序正数数组中累加和为给定值的最长子数组长度(尉★★☆☆)

    11. 未排序数组中累加和为给定值的最长子数组系列问题(尉★★☆☆)

    12. 未排序数组中累加和小于或等于给定值的最长子数组长度(校★★★☆)

    13. 计算数组的小和(校★★★☆)

    14. 自然数数组的排序(士★☆☆☆)

    15. 奇数下标都是奇数或者偶数下标都是偶数(士★☆☆☆)

    16. 子数组的最大累加和问题(士★☆☆☆)

    17. 子矩阵的最大累加和问题(尉★★☆☆)

    18. 在数组中找到一个局部最小的位置(尉★★☆☆)

    19. 数组中子数组的最大累乘积(尉★★☆☆)

    20. 打印N 个数组整体最大的Top K(尉★★☆☆)

    21. 边界都是1 的最大正方形大小(尉★★☆☆)

    22. 不包含本位置值的累乘数组(士★☆☆☆)

    23. 数组的partition 调整(士★☆☆☆)

    24. 求最短通路值(尉★★☆☆)

    25. 数组中未出现的最小正整数(尉★★☆☆)

    26. 数组排序之后相邻数的最大差值(尉★★☆☆)

    其他问题(34)

    1. 从5 随机到7 随机及其扩展(原问题尉★★☆☆补充问题尉★★☆☆)(进阶问题校★★★☆)

    2. 一行代码求两个数的最大公约数(士★★☆☆)

    3. 有关阶乘的两个问题(原问题尉★★☆☆进阶问题校★★★☆)

    4. 判断一个点是否在矩形内部(尉★★☆☆)

    5. 判断一个点是否在三角形内部(尉★★☆☆)

    6. 折纸问题(尉★★☆☆)

    7. 蓄水池算法(尉★★☆☆)

    8. 设计有setAll功能的哈希表(士★☆☆☆)

    9. 最大的leftMax与rightMax之差的绝对值(校★★★☆)

    10. 设计可以变更的缓存结构(尉★★☆☆)

    11. 设计RandomPool结构(尉★★☆☆)

    12. 调整[0 ,x)区间上的数出现的概率(士★☆☆☆)

    13. 路径数组变为统计数组(校★★★☆)

    14. 正数数组的最小不可组成和(尉★★☆☆)

    15. 一种字符串和数字的对应关系(校★★★☆)

    16. 1 到n 中1 出现的次数(校★★★☆)

    17. 从N 个数中等概率打印M 个数(士★☆☆☆)

    18. 判断一个数是否是回文数(士★☆☆☆)

    19. 在有序旋转数组中找到最小值(尉★★☆☆)

    20. 在有序旋转数组中找到一个数(尉★★☆☆)

    21. 数字的英文表达和中文表达(校★★★☆)

    22. 分糖果问题(校★★★☆)

    23. 一种消息接收并打印的结构设计(尉★★☆☆)

    24. 设计一个没有扩容负担的堆结构(将★★★★)

    25. 随时找到数据流的中位数(将★★★★)

    26. 在两个长度相等的排序数组中找到上中位数(尉★★☆☆)

    27. 在两个排序数组中找到第K 小的数(将★★★★)

    28. 两个有序数组间相加和的TOP K 问题(尉★★☆☆)

    29. 出现次数的TOP K 问题(原问题尉★★☆☆进阶问题校★★★☆)

    30. Manacher算法(将★★★★)

    31. KMP 算法(将★★★★)

    32. 丢棋子问题(校★★★☆)

    33. 画匠问题(校★★★☆)

    34. 邮局选址问题(校★★★☆)

    题目可多,手打的要抽筋了…题目+答案(有分析有源码)就是一本完整的书《程序员代码面试指南 IT名企算法与数据结构题目最优解》,总共有532页。

    image

    总结

    总体来说,如果你想转行从事程序员的工作,Java开发一定可以作为你的第一选择。但是不管你选择什么编程语言,提升自己的硬件实力才是拿高薪的唯一手段。

    如果你以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。

    这些视频如果需要的话,可以无偿分享给大家,点击这里即可免费领取

    数据结构题目最优解》,总共有532页。

    [外链图片转存中…(img-TWTNuXK6-1623898234014)]

    总结

    总体来说,如果你想转行从事程序员的工作,Java开发一定可以作为你的第一选择。但是不管你选择什么编程语言,提升自己的硬件实力才是拿高薪的唯一手段。

    如果你以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。

    这些视频如果需要的话,可以无偿分享给大家,点击这里即可免费领取

    展开全文
  • Web后端开发入门(1)

    万次阅读 多人点赞 2018-07-10 20:23:48
    Web概述: 在英语中web表示网页的意思,它用于表示Internet主机上供外界访问的资源。Internet上供外界访问的Web资源分为: 1....动态Web应用的实现手段: 静态web开发技术有html,常用动态web开发...
  • 先聊下 Java 后端开发工具吧,我推荐使用IntelliJ IDEA,这是被公认为最好用的 Java 开发工具,熟悉 Android Studio 的 Android 开发人员对它应该不陌生,其强大的功能和特性可以说是完虐Eclipse和MyEclipse,尤其...
  • 以下是web前端开发和java后端开发两者的分析。 前端开发入门简单,HTML,CSS和JS是前端学习的三个基础,如果要进步,还必须学习H5,C3,Node,Ajax,Vue.js等, 后端技术,学习的广度和深度都不小。首先,您需要...
  • 简单理解下前端与后端的关系? 前端就是与用户交互的界面,就像时装秀 ,年年都有新款(有全新的新技术)。...我本身就是做后端开发,发展前景可以说是无限,扩展性强! 前端一直就只能是做前端 后端可以转做大数据
  • 所以通过url传参只能传达简单的数据,需要传达其它数据请使用form表格或者其它方式(我也不知道还有啥,可能之后会更新) ③ 使用Ajax动态更新页面 这个也算是数据传输方式了吧,使用GET/POST请求,和form表格...
  • 后端开发人员会写Java代码SQL语句,能做简单的数据库设计会Spring和iBatis懂一些设计模式等。 前端开发是什么? 前端称为客户端开发,你可以在应用程序或网站的屏幕上看到的所有内容都属于前端。 后端开发是什么? ...
  • 写给后端开发看的安卓入门

    万次阅读 多人点赞 2017-01-11 20:12:04
    写给后端开发看的安卓入门写给后端开发看的安卓入门 可以看也可以不看的序 安卓的一些入门知识 ADT SDK API Intent Android的开发IDE Eclipse IDEA Android Studio 开发一个APP的过程 初始化 文件分布 发短信的功能 ...
  • 以下内容来自公众号逆锋起笔,关注每日干货及时送达如果你是一个小白,你打算自学JAVA,你如果想找到一份月薪1万的JAVA开发工程师的工作。那么很简单,你只需要花1个月的时间,学完我推荐的...
  • Python本身就属于后端语言,学习知识如下:第一部分:各个领域应用的语言。大家看这个内容,其实你很明显发现,其实各个语言都有他的用处。我们可以说Python是应用最广的。但是暂时还是不能说它是全能的,因为他也有...
  • JAVA后端开发浅谈

    千次阅读 多人点赞 2020-02-28 16:00:40
    两个阵营的开发基本上都是各自围绕着各自的开发语言(php/Java),选取最为兼容合适的框架结构和数据库,然后进行服务器端的开发。以下附上PHP和Java语言的区别介绍和原文链接: 《php和java的区别有哪些》 php中文...
  • 首先我们就要做好面试准备,拿Java后端开发为例,无论是实习还是校招或社招,都是要熟练掌握基础知识。下面我们就来看一下Java后端开发需要掌握哪些知识。 基础知识: 计算机网络:OSI七层模型和TCP/IP四层模型,...
  • 前端和后端(Java)开发哪个难?,哪个学习容易一点? 关于前端和后端java学习难以程度,以下是我的分享。 难易程度: web前端开发 起点低。容易入门,相对于Java来说,前端对于逻辑思维的要求比较低,所以学习前端...
  • 从本篇开始,我开始按照企业对于后端开发者的需求层级,将成长阶段拆分为入门、初级、中级、高级、史诗级,逐步深入的为大家介绍后端的学习内容,下面开始正题。 一、前期准备 首先说前期准备,承接序言中的观点,...
  • 前端开发和后端开发哪个做起来更累?对于刚接触开发的朋友可能会有这样的疑问,下面就一起来了解下吧!1、前端开发:网站的“前端”是与用户直接交互的部分,包括你在浏览网页时接触的所有视觉内容--从字体到颜色,...
  • 1、首先要明确后端包括哪些职业DBA(数据库维护优化专家)Developer(程序猿)Architect(构架师)Scrum master及类似(敏捷开发专家)Project Manager(产品狗)Maintenance&ITsupport(通讯和服务器相关)当然这只是一个...
  • C++后端开发路线必读书籍

    千次阅读 2020-09-02 14:59:19
    C++后端开发路线:(总共分了四个大项,每个大项之间是可以同步进行的) 语言工具方面: 必读: 1.《C++ primer》(感到吃力的话可以先看《C++ primer plus》,找时间再把《C++ primer》看一遍)这本不用介绍了吧...
  • 作为一个服务端开发人员,需要了解并掌握一定的前端技能吗?回答是,当然需要。我记得刚开始做开发的时候,还不流行前后端分离,那时候也没那么多的前端框架,什么 Vue、React 都还不存在,Angular 才刚刚发布第一代...
  • java后端开发需要学什么

    千次阅读 2021-02-28 19:27:43
    1java后端开发需要学什么互联网的时代就会产出时代的成果,成果也将不止一个,虽然我要了解就可以了,但是我们学会了一种会更好。今天我们就了解一下java,毕竟java现在是真的非常流行,而想学的人也很多。下面小编...
  • 简单入门工具,即可将前端和后端Web开发与NodeJ连接起来 安装 使用软件包管理器NPM进行安装 npm install 用法 npm start 特征 解析前后之间的变量 公用文件夹和路由 只需复制项目并打开它,阅读代码,您就会明白 ...
  • 很多小伙伴想转行做Java的后端,但是又... Scrum master及类似(敏捷开发专家)  Project Manager(产品狗)  Maintenance&ITsupport(通讯和服务器相关)  当然这只是一个大致的分类,并没有一个清晰的界限。  
  • 原因二:对前端,普遍存在巨大的误解,其实前端一点也不简单 大多人都认为前端开发是一个「相对于其他模块来说更简单的领域」,在他们心中的前端工程师是这样工作的: 1、把 Photoshop 文件、图片或者线框放进一个...
  • java后端开发(一):基本认知之web开发是什么

    千次阅读 多人点赞 2018-08-05 13:22:10
    数据库设计学完后,接着来了解一下到底什么是web开发,在脑海中形成宏观的感受。本文主要讲述web开发的相关背景知识
  • 后端开发学习Vue(一)

    千次阅读 2022-02-09 13:39:44
    】 npm 【vue入门不需要了解太多,可能只需要了解npm的几个命令】 MVVM模型 MVVM是Model-View-ViewModel的简写 MVVM的基础是MVP模式.[MVP类似于MVC,后端开发者应该对MVC比较熟悉了] 【常见的MVP前端开发有几个步骤:1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,387
精华内容 20,154
关键字:

后端开发哪个简单入门