前言 使用 OAuth2 进行第三方登陆分为好几种情况,例如完全第三方登陆,不保存任何用户信息,或者第三方登陆后保存用户信息关联本站账号.个人觉得保存一下用户信息比较妥当(虽然这样注册的时候让用户觉得很不方便,但是第二次使用就不会这么麻烦了),如果数据库中不存在该用户则重定向到注册页面,否则查找关联的本站账号,登陆. 修改回调的URL 因为要绑定本站账号,所以毁掉的 URL 应该是注册页面.在注册页面判断是否该用户已存在,是则直接登陆,否则填写注册信息. 对应的.env文件也要修改:GITHUB…
数据库设计 系统主要包含用户(sys_user).组织(sys_dept).角色(sys_role).菜单(sys_menu).角色组织(sys_role_dept).角色菜单(sys_role_menu).用户Token(sys_user_token).系统日志(sys_log)等表. 1.用户属于组织,通过 sys_user 表中的 dept_id 关联到组织. 2.组织拥有角色,通过角色组织表关联. 3.用户拥有角色,通过用户角色表关联,用户可以继承组织的角色. 4.角色关联菜单,菜单关联…
仿联想商城laravel实战---1.仿联想商城需求和数据库设计(lavarel如何搭建项目) 一.总结 一句话总结: composer引入lavarel.配置域名.配置apache 1.项目名 lenovo 商城 1.composer create-project laravel/laravel lenovo --prefer-dist "5.3.*" 2.配置域名 C:\Windows\System32\drivers\etc\hosts 127.0.0.1 www.lianxia…
最近项目需要添加权限拦截,经讨论决定采用spring security4.2.2!废话少说直接上干货! 若有不正之处,请谅解和批评指正,不胜感激!!!!! spring security 4.2.2文档:http://docs.spring.io/spring-security/site/docs/4.2.2.RELEASE/reference/htmlsingle/#el-access-web spring security 3 中文2文档:http://www.mossle.com/docs…
一.MySQL中的索引###<1>索引的概念 索引就是一种数据结构(高效获取数据),在mysql中以文件的方式存在.存储建立了索引列的地址或者指向. 文件 :(以某种数据 结构存放) 存放地址 指向数据 类似一本书的目录,能够提高检索效率. ###<2>特点 提高数据的获取效率,也是数据库优化的一部分. 在多表连接时,作为条件加速连接的速度 . 在分组和排序查询时,作为条件,能够减少分组和排序所消耗的时间. 创建和维护索引 会消耗时间,随着数据量的增加消耗的时间也增加 索引文件会占…
SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移 上一篇文章已经为配置镜像数据库做好了准备,接下来就要进入真正的配置阶段 一.在镜像数据库服务器上设置安全性并启动数据库镜像会话 1.展开数据库,选择VirtualManagerDB,点击右键选择任务——镜像 2.点击配置安全性,点选是,包括见证服务器 3.去掉见证服务器,以后进行配置 4.设置主体服务器,填入端点名称为site1 5.添加镜像服务器,取端点名为site2 6.指定服务账户为域管理员账户(可以在域内…
项目Github地址:前端(https://github.com/14glwu/stuer)后端(https://github.com/14glwu/stuer-server) 项目线上预览:http://stuer.ericwu.cn 前言 项目其他的实现都好说,不过为了梳理好思路和架构首先要搞定数据库 设计 这里推荐使用processon.com,因为是个在线的作图平台可以很方便的和他人合作. 设计出数据表后,就可以使用sequelize来生成相应的orm对象,然后sync到数据库中从而生成…
2一.概念设计 1.1 概念设计关键知识 1.2 辨析 实体与属性的区别: ①实体能进一步用多个属性来描述,属性却不能,属性是不可再细分/分割的原子项. ②实体内部或者多个实体之间存在联系,而属性无. 实体与联系的区别: ①联系不能单独存在,必须由它联系的双方或者多方共同决定,而实体不需要. ②联系的码由它关联的实体的主码决定,而实体的码和其它实体或联系无关. 一般很多人容易将三元联系和三个二元联系混淆. 1.3 附属图 图1.1 三元联系(三个实体的关系) 图1.2 一元联系 图1.3 各类属…
参考资料:阿里云官方文档 2018-02-20 一.MySQL数据库的下载 在Ubuntu环境下安装MySQL数据库十分简单 在命令行中输入 sudo apt-get update(更新软件源,预防出现 enable to locate package) sudo apt-get install mysql-server 安装过程中会提示设置root密码 sudo apt-get isntall mysql-client 二.MySQL数据库的使用 进入MySQL,在命令行中输入 mysql -…
原文:MySQL性能优化(二):优化数据库的设计 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/vbirdbest/article/details/81051579 一:数据库的设计 数据库命名:数据库名的命名一般和项目的名称保持一致,不要随意的起名字. 数据库编码: 采用utf8mb4而不使用utf8 MySQL 的"utf8"实际上不是真正的UTF-8,真正的UTF-8是每…
一.postfix基础邮件服务 目标: 本例要求在虚拟机server0上配置 postfix 基础服务,具体要求如下: 1> 监听本机的所有接口    2> 将邮件域和邮件服务主机名都改为 example.com 然后在server0上使用mail命令测试发信/收信操作: 1> 由 root 给本机用户 mike 发一封测试邮件    2> 查收用户 mike 的邮箱,读取邮件内容,确保是从 root@example.com 发过来的 方案: 电子邮箱:1234567@qq.com…
对于千万级与百万级数据库设计是有所区别的,由于本项目是基于中小型软件开发框架来设计,记录量相对会比较少,所以数据库设计时考虑的角度是:与开发相结合:空间换性能:空间换开发效率:减少null异常......当然不同的公司与项目要求不同,初学者要学会适应不同的项目开发要求,使用本框架开发时,必须严格按照本章节的要求来设计数据库,不然可能会产生不可控的异常. 从零开始编写自己的C#框架 数据库设计规范   文件状态: [√] 草稿 [  ] 正式发布 [  ] 正在修改 文件标识: C#框架 当前版本…
Laravel教程 二:路由,视图,控制器工作流程 此文章为原创文章,未经同意,禁止转载. View Controller 上一篇教程我们走了那么长的路,终于把Laravel安装好了,这一篇教程我们就要进入Laravel的神奇世界了,主要是讲解Laravel的Router,Views,Controllers的工作流程,目的也就是让大家明白Laravel在处理一个get请求的时候是如何工作的. 在开始之前,我们首先得将我们的服务器启动起来,如果你使用Laravel的artisan,你可以直接: p…
一.菜单设计 在系统管理-菜单管理中可以设置内容管理菜单(自动生成) 注意:归属模块应属于核心模块core.如果新加的的菜单设置为内容管理模块cms,系统下次重启时会重置本次设置,具体原因不详. 二.数据库设计: js_cms_articles:js_cms_comments:js_cms_tags:js_cms_categories再加上两个中间表js_cms_articles_categories:js_cms_articles_tags DROP TABLE IF EXISTS `js_c…
使用oauth2保护你的应用,可以分为简易的分为三个步骤 配置资源服务器 配置认证服务器 配置spring security 前两点是oauth2的主体内容,但前面我已经描述过了,spring security oauth2是建立在spring security基础之上的,所以有一些体系是公用的. oauth2根据使用场景不同,分成了4种模式 授权码模式(authorization code) 简化模式(implicit) 密码模式(resource owner password credent…
Storm系列二: Storm拓扑设计 在本篇中,我们就来根据一个案例,看看如何去设计一个拓扑, 如何分解问题以适应Storm架构,同时对Storm拓扑内部的并行机制会有一个基本的了解. 本章代码都在: git@github.com:zyzdisciple/storm_study.git 项目下的 user_behavior包下. 问题案例 有这样一种场景,在前端存在会话,我们会不断收到来自前端的消息,消息包含消息的发送时间,消息内容,结束标识, 消息的发送者, SessionId等其他信息,…
一.Pager-taglib数据库分页前提    Pager-taglib分页标签也可以实现数据库分页,与页面分页不同的是需要给后台传两个参数,一个是pageNo(当前页数)或pageOffset(偏移量),另一个参数是pageSize(分页尺寸).数据库分页的实质是根据页面传递过来的这两个参数从数据库中提取部分记录(而不是所有记录),然后由页面呈现这些数据.因每次只装载一部分数据,因而占据少量内存,适合大量数据查询.  二.SSH数据库分页示例(通用设计)   1.准备工作    首先下载pa…
本规范适用于mysql 5.1或以上版本使用 数据库范式 第一范式(1NF)确保每列保持原子性 第一范式(1NF):数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项. 例如: 体重是每个学生的属性,在数据库设计的时候,不会将“体重”拆分成两个字段保存,所以建立一个“学生表”(学生ID.姓名.身高.体重): 第二范式(2NF)确保表中的每列都和主键相关 满足第二范式(2NF)必须先满足第一范式(1NF),第二范式(2NF)要求实体的属性完全依赖于主关键字.如果存在不…
laravel基础课程---10.数据库基本操作(如何使用数据库) 一.总结 一句话总结: 1.链接数据库:.env环境配置里面 2.执行数据库操作:DB::table('users')->update(['votes' => 1]); 1.链接数据库(D:\laravel\yzmedu\yzm2\.env) DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=yzm DB_USERNAME=root DB_PASSWO…
zsql user/pasword@ip:port -c "show databases" # 展示一条sql语句 spool file_path 指定输出文件 可以为相对路径 spool off 保存执行结果 并关闭输出流 gsql 配置数据库服务器 gs_guc reload -Z coordinator -N NodeName -I all -C "listen_address = 'localhost,192.126.0.100,10.11.12.13'"g…
大家好,我是jacky,很高兴继续跟大家学习MySQL数据分析这门课,上次课我们介绍了E-R图,我们要给手机销售公司设计数据库,那么同一个项目,10个设计人员可能设计出10种不同的E-R图:因为不同的设计人员会从不同的角度,标识出不同的实体,而每个实体又包含不同的属性,自然设计出的下E-R图也就不同了: 正是因为有这个原因,所以我们自然就要想办法找出一个E-R图设计优劣或者说好坏的标准,大家说是不是,有了这个标准,我们才能找出最优的设计数据库的方案,那么,这个标准就是数据的三大范式: 这里,我估…
BBS数据库设计 一.BBS数据库设计 # models.py from django.db import models # Create your models here. from django.contrib.auth.models import AbstractUser class UserInfo(AbstractUser): """用户信息 blank=True) # blank告诉django admin后台管理 该字段可以为空 ""&quo…
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网远程连接法 查看\创建\使用\删除\清空\修改 数据库表(是否可空,默认值,主键,自增,外键) 表内容的增删改查 where条件.通配符_%.限制limit.排序desc\asc.连表join.组合union 查看建表语句.查看表结构.查看是否走索引 数据类型 索引! 一.数据库操作 1.查看数据库…
1.数据库设计 2.插入测试数据 3.配置相关问题 1.数据库设计 数据库有简单的三张表:Article.Category.Tag以下是代码 # -*- coding:utf-8 -*- from __future__ import unicode_literals from django.db import models class Article(models.Model): STATUS_CHOICES = ( ('d', 'Draft'), ('p', 'Published'), ) t…
优化MySchool数据库设计 之独孤九剑 船舶停靠在港湾是很安全的,但这不是造船的目的 By:北大青鸟五道口原玉明老师 1.学习方法: 01.找一本好书 初始阶段不适合,可以放到第二个阶段,看到知识点时,要进行验证 02.查看帮助文档和搜索引擎的使用 借助网络上的Blog文章 03.不要急功近利 不要抱着速成的想法,否则必然走弯路学习编程不是一蹴而就的事情付出的成本高,才能有一个高薪的收入 04.不要浮躁 不要什么都学,只学有用的 浮躁的程度和技术水平成反比的走自己的路,让别人去浮躁去吧! 每…
最近群里(134710707)的朋友都在讨论ABP源码,我把最近学习的内容记录下来,同时也分享给大家,希望正在研究ABP源码的朋友有一定帮助. 上篇介绍ABP的多语言,本篇主要介绍权限的数据库设计,用EntityFramework已经有段时间了,基于ABP这样的设计还是第一次看到,具体应用场景1:N,ABP权限设计,菜单的权限可以分配置给角色,也可以直接分配给用户. 另一个应用场景也可以是订单系统:客户可以通过订单查询到客户的所有订单明细,订单明细与客户没有关系,如果想直接查看客户的订单明细,也…
数据库的设计   一:什么是数据库设计? 数据库设计就是将数据库中的数据实体以及这些数据实体之间的关系,进行规范和结构化的过程. 二:为什么要实施数据库设计? 1:良好的数据库设计可以有效的解决数据冗余的问题 2:效率高 3:便于进一步扩展 4:使得应用程序开发变得容易 三:设计数据库的步骤 第一步    需求分析:  分析客户的业务和数据处理需求(收集信息,标识实体,标识每个实体需要存储的详细信息,标识实体间的关系) 第二步    概要设计:  绘制E-R图,用于与客户或团队成员的交流 第三步…
1) 在SQL Server 中,为数据库表建立索引能够( C ). A. 防止非法的删除操作 B. 防止非法的插入操作 C. 提高查询性能 D. 节约数据库的磁盘空间 解析:索引的作用是通过使用索引,大大提高数据库的检索速度,改善数据库性能 2) 在SQL SERVER中,创建一个表使用(  C)语句. A. INSERT B. DROP C. CREATE D. ALERT 解析:A :insert 插入数据.   B: drop 进行删除操作 D:alter 添加约束 3) 在SQL SE…
数据库设计是整个程序的重点之一,为了支持相关程序运行,最佳的数据库设计往往不可能一蹴而就,只能反复探寻并逐步求精,这是一个复杂的过程,也是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程.下面给出了20个数据库设计最佳实践,当然,所谓最佳,还是要看它是否适合你的程序.一起来了解了解吧. 1.使用明确.统一的标明和列名,例如 School, SchoolCourse, CourceID. 2.数据表名使用单数而不是复数,例如 StudentCourse,而不是StudentCourse…
数据库系统生存周期 数据库应用系统的开发是一项软件工程,一般具有信息的采集.组织.加工.抽取.综合.传播等功能,但又有自己的特点,所以称为 数据库工程. 数据库应用系统从开始规划.设计.实现.维护到最后被新的系统取代而停止使用的整个周期,称为 数据库系统生存期. 数据库系统生存期一般可划分成下面七个阶段: (1)规划:是数据库系统生存周期的第一步.在规划阶段需要做的工作是:通过了解用户的实际需求,明确该系统需要实现的目标和任务,确定数据库系统的总目标. 规划阶段需要做的工作有: a. 系统的调查…