后端技术

react学习笔记(1):从前后端分离到项目部署

匿名 (未验证) 提交于 2019-12-02 21:53:52
  我来到现在这家公司有一年多的时间,一直做的是财政系统相关的产品,前端的技术栈用的是传统的jQuery+bootStrap+requireJs,随着项目的开发,越来越多的弊病凸显出来。   首先是前后端的代码存放在同一个工程目录下,前后端工程师进行开发时,都必须把整个项目导入到开发工具中(像myEclipse和IntelliJ IDEA等),一方面前端在开发之前需要花费大量的时间来部署开发环境,如果后端上传错了文件,整个系统启动不起来,前端就只能干等着,前后端耦合性很大,另一方面使用myEclipse这样的开发工具开发前端项目操作上不熟悉,开发效率很低。   其次在整个项目中,组件化很明显,大多数页面中所需要的功能都是类似的,虽然可以使用require封装一些公用的组件,但是由于js技术有限,组件与组件之间还是存在很多耦合的问题,并且随着自定义的组件越来越多,经常遇到一个页面开头先加载几十个组件的情况,后期维护也很麻烦,对于有代码洁癖的人来说,这显然不是一种好方法。   于是就想到用react能不能解决这些问题呢?   什么是前后端分离   这几年前后端分离被提到的越来越多,在网上查什么是前后端分离,基本是说后台只提供数据api,与用户的交互操作前端来实现。我们现在的工作模式,前端也是通过ajax请求后台数据,前端的代码单独放在工程目录的一个文件夹中,不与后台的代码耦合

koa2 mongdb 做后端接口的小demo

匿名 (未验证) 提交于 2019-12-02 21:53:52
现在前端全栈里面有一种技术栈比较火 前端使用 vue 或者react 后端使用 koa2 mysql数据库 或者mongdb做数据储存 但是基本这样的全栈教程 都要收费 收费就收费吧 但是 有没有遇到非常好的教程 于是 准备硬着头皮看别人项目的源码 自己摸索 一步一步完成 koa + mongdb的后端学习 下面就写一个很简单的koa + mongdb 的数据库写入 var mongoose = require('mongoose') var Schema = mongoose.Schema; mongoose.connect('mongodb://localhost/m_data') //m_data是我的数据库名字 需要自己创建 mongoose.connection.once('open',()=> { console.log("[mongoose]mongdb is start"); //监听启动 }) var userSchema = new Schema({ //建表 username: { type: String }, password: { type: String }, call: { type: Number }, email: { type: String } }) var user = mongoose.model('User',userSchema);

ssm+RESTful bbs项目后端主要设计

匿名 (未验证) 提交于 2019-12-02 21:35:18
С̸ : 帖主妥妥的一名"中"白了哈哈哈。软工的大三狗了,也即将找工作,怀着丝丝忐忑接受社会的安排。这是第一次写博客(/汗颜),其实之前在学习探索过程中,走了不少弯路,爬过不少坑。真的挺感谢一路上的前辈们的博客也好,随笔也好,哪怕是评论,或多或少解决了一些问题。我感觉学技术的过程中,记录下自己解决问题的过程、经验,如果可以的话能分享,其实也挺好。希望能从“中白”变“大白”,再到佬行列哈哈。 简介: https://blog.csdn.net/qq_21383435/article/details/80032375 github : https://github.com/isMaxaaa/bbs ) 步骤: 1.数据库设计: 1 CREATE TABLE user ( 2 user_id int(11) NOT NULL AUTO_INCREMENT, 3 user_name varchar(50) DEFAULT NULL, 4 email varchar(50) DEFAULT NULL, 5 replys int(11) DEFAULT NULL, 6 topics int(11) DEFAULT NULL, 7 create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 8 praises int(11) DEFAULT

前后分离接口规范

牧云@^-^@ 提交于 2019-12-02 20:15:17
转自: https://www.jianshu.com/p/c81008b68350 1. 前言 随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高,后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕细作。 然而带来的另一个问题:前后端的对接界面双方却关注甚少,没有任何接口约定规范情况下各自撸起袖子就是干,导致我们在产品项目开发过程中,前后端的接口联调对接 工作量占比在30%-50%左右,甚至会更高。往往前后端接口联调对接及系统间的联调对接都是整个产品项目研发的软肋。 本文的主要初衷就是规范约定先行,尽量避免沟通联调产生的不必要的问题,让大家身心愉快地专注于各自擅长的领域。 2. 为何要分离 参考两篇文章 《Web 研发模式的演变》 、 《Web应用的组件化开发》 , 目前现有前后端开发模式:“后端为主的MVC时代”,如下图所示: 后端为主的MVC时代 代码可维护性得到明显好转,MVC 是个非常好的协作模式,从架构层面让开发者懂得什么代码应该写在什么地方。为了让 View 层更简单干脆,还可以选择 Velocity、Freemaker 等模板,使得模板里写不了 Java 代码。看起来是功能变弱了,但正是这种限制使得前后端分工更清晰。然而依旧并不是那么清晰,这个阶段的典型问题是:

ajax

不羁岁月 提交于 2019-12-02 20:01:03
目录 choice参数 MTV与MVC模型 ajax 示例 ,计算器(简单加法) AJAX准备知识:JSON 什么是 JSON ? stringify与parse方法 编码格式种类总结 ajax传json格式的数据 ajax传文件 序列化 Django内置的serializers 数据在前端展示的三种方式 比较1 比较2 真正的序列化3 SweetAlert插件示例 和XML的比较 AJAX简介 AJAX常见应用情景 AJAX的优缺点 jQuery实现的AJAX views.py: $.ajax参数 JS实现AJAX(了解) AJAX请求如何设置csrf_token 方式1 方式2 方式3 练习(用户名是否已被注册) 功能介绍 案例分析 choice参数 主要是一种对应关系,存储到数据库中,而且用choice的时候,所有的情况都能够列举出来 choice参数 可以用做 用户性别 用户学历 用户工作状态 客户来源 ... class Userinfo(models.Model): name = models.CharField(max_length=32) password = models.IntegerField(default=123) choice = ( (1,'male'), (2,'female'), (3,'other') ) gender = models

Django篇--->七

Deadly 提交于 2019-12-02 18:13:46
Django查询 聚合查询 关键字:aggregate from django.db.models import Max,Min,Count,Sum,Avg 分组查询 关键字:annotate 1.最简单的规律 models后面点什么 就是按什么分组 F与Q查询 from django.db.modles import F,Q F 能够帮助你获取到表中字段所对应的数据 # 书籍的库存数与卖出数 models.Book.objects.filter(kucun__gt=F('maichu')) 因为filter过滤的条件的都是and连接 modesls.Book.objects.filter(Q(title='python'),Q(price=666)) modesls.Book.objects.filter(Q(title='python')|Q(price=666)) modesls.Book.objects.filter(~Q(title='python')|Q(price=666)) # Q进阶用法 q = Q() q.connector = 'or' q.children.append(('title','python')) q.children.append(('title__icontains','python')) q.children.append(('price'

django之choice、ajax初步

我与影子孤独终老i 提交于 2019-12-02 17:03:10
django之choice参数,ajax choice参数 应用场景:主要是用户性别、用户工作状态、成绩对应 ##在测试文件中运行,需要写以下几个模块 if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "day62.settings") import django django.setup() choices = ( (1, 'male'), (2, 'female'), (3, 'others') ) gender = models.IntegerField(choices=choices) ##注意: """ 针对choices字段,如果想拿到数字所对应的的中文或者其他值 不能直接点字段 固定句式 数据对象.get_字段名_display() """ 执行下面两种语句 from app01 import models #1. user_obj = models.Userinfo.objects.filter(pk=2).first() print(user_obj.username) print(user_obj.gender) print(user_obj.get_gender_display()) ''' #会打印出来 nick 1 male #这样存在值的话

Django的日常-AJAX

余生长醉 提交于 2019-12-02 16:36:19
目录 Django的日常-AJAX AJAX简介 AJAX与JQ的一个实例 AJAX与contentType AJAX传json格式 AJAX传文件 Django的日常-AJAX AJAX简介 首先AJAX是一种无需重新加载整个网页的前提下,能够更新部分网页的技术,他并不是一种新的编程语言,而是一种使用现有标准的新方法,是基于原生JavaScript开发的,他可以用于创建快速动态网页. AJAX最大的特点就是局部刷新以及异步提交,局部刷新,顾名思义就是可以在不刷新整个页面的情况下局部刷新,而异步提交就是提交任务之后不需要原地等待任务的返回值,可以继续向下运行,之后通过回调函数来接收到之前提交任务的返回值,效率非常高. 本文并不是从JS来对AJAX做说明,而是从一个相对简单的角度,结合AJAX和jQuery的用法,可以大大简化AJAX本身的代码量,并实现更多的功能,下面我们通过一个实例来说明AJAX和jQuery结合的具体用法. AJAX与JQ的一个实例 题目如下:写一个前端页面,页面上有两个输入框,在第一个输入框里面输入一个计算式,在第二个输入框里面显示其结果,注意,页面不可以刷新,即不能通过直接赋值刷新页面的方式来做,现在我们就回忆一下怎样从零开始创建一个Django项目,然后一步一步完成这个需求 # 首先,创建一个Django项目,注意,目录名不要带中文

怎样深入学习php,成为php高手!?

百般思念 提交于 2019-12-02 16:08:00
本文章开头我想问一句话:PHP是做什么的? 因为这是面试中会问到的一个问题,虽然它看起来很简单,回答做网站的,也就是个简单建站的水平。回答做网站后端开发的,对PHP有了一定的认识,回答做后端处理的,有了更深层次的认识。 学习一样技能,你得先清楚这项技能是到底做什么的,说到这里,我想大家都会简单的说是做网站的,因为PHP在WEB领域应用最为广泛,大多数网站都是用PHP做的。准确的说PHP是做网站的后端开发的,其实我这样说还不算正确,PHP只是做后端开发的,但不只是网站而已。就像现在比较火的APP开发也可以用PHP做后端处理。 PHP相对于其他语言,比较简单,相对好上手,比较适合零基础的人学习,但是就像我上面说的那样,PHP只完成了一个网站或者系统的一部分。一个运行的网站或者软件系统可以分为前端页面,后端程序,数据库,linux。而处理后端的PHP仅仅是只占了四分之一,PHP本身的东西其实并不多,真正多的东西都在PHP之外,所以单纯的掌握PHP并不足已做出什么产品,可能连工作都找不到。 关于学习PHP,我想讲讲我的心路历程: 前端: 但凡是一个网站都必须得让人能看得见,使用得起来。任何一个网站可以没有数据库,可以没有后端程序,但是必须得有前端页面,而这也是最早期的网站形态—一 一个只能展示文字和图片等信息的静态页面。掌握静态网页的制作技术是学习开发网站的先决条件。这里面的学习包括

web前端和后端有哪些区别?哪个更好就业

南楼画角 提交于 2019-12-02 08:40:36
web前端分为网页设计师、网页美工、web前端开发工程师。 首先网页设计师是对网页的架构、色彩以及网站的整体页面代码负责。 网页美工只针对UI这块儿的东西,比如网站是否做的漂亮。 web前端开发工程师是负责交互设计的,需要和程序猿进行交互设计的配合。 web前端需要掌握的有脚本技术javascript DIV+CSS现下最流行的页面搭建技术,ajax和jquery以及简单的后端程序等。 后端的话可供开发的语言有asp、php、jsp、.NET 这些后端开发语言的话搭建环境都不一样,具体如果你想学的话看是想从事前端部分还是后端程序部分。后端开发如果有一定的条件的话可以转为软件开发。不过要有一定的语言基础,类似java语言、C++等。关键是看你的兴趣爱好。 这个到后期不会区分这么细,做前端到后期也会懂一些后端的技术,反之,后端也是。 在实际的开发过程中,我们当前这样定位前端、后端开发人员。 1)前端开发人员:精通JS,能熟练应用JQuery,懂CSS,能熟练运用这些知识,进行交互效果的开发。 2)后端开发人员:会写Java代码,会写SQL语句,能做简单的数据库设计,会Spring和iBatis,懂一些设计模式等。 现在来看,对前后端的要求还是蛮低的,尤其是后端,新员工经过实习之后都是可以参与到后端开发的,没有太高的技术门槛,唯一需要做的就是先变成熟练工种,这个阶段没有涉及到设计模式