- 博客(151)
- 资源 (4)
- 收藏
- 关注
原创 Centos 部署Flask+Nginx+uwsgi+Python3
前因以前没有玩过flask,最近写了个flaskdemo本地跑通之后,想放到服务器上部署测试测试。把代码上传服务器之后,先下载依赖:pip install -r requirements.txt下载完依赖之后直接按照本地运行的命令直接跑python -m flask run或者python app.py跑完成之后用postman进行测试,好家伙,有些接口能调通,有些接口不能调通。这是为什么呢?最后通过询问朋友和百度之后发现flask的一般部署需要借助wsgi和nginx。wsgi全称
2021-12-29 11:23:28 2251
原创 Java中的枚举你真的了解嘛?
1.什么是枚举类?Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。Java 枚举类使用enum 关键字来定义,各个常量使用逗号 ,来分割。比如定义一个颜色枚举:public enum ColorEnum { GREEN,READ,BLUE; public static void main(String[] args) { ColorEnum colorEnum = ColorEnu
2021-12-23 09:36:33 614
原创 Java中的反射与代理
反射1.什么是反射Java反射是程序运行过程中,对于任何一个类或对象,都可以动态获取其信息和调用其方法。2.使用2.1. ClassClass类是反射的根源,你想要进行相关反射操作都要从获取Class开始。Class本身也是一个类Class对象只能由系统建立对象一个加载的类在JVM中只会有一个Class实例一个Class对象对应的是一个加载到JVM中的.class文件通过Class可以完整地得到一个类中的所有被加载的结构获取反射Class的几种方法 public void
2021-12-15 18:38:41 871
原创 一文读懂Java深拷贝浅拷贝引用拷贝
1.什么是拷贝?拷贝即对已有的数据创建一个副本。Java中,拷贝可分为引用拷贝、浅拷贝、深拷贝。2.引用拷贝引用拷贝即直接赋值。举例如下: User user1 = new User(1, new Address("湖南",404100)); User user2 = user1;堆栈图如下:3.浅拷贝浅拷贝对于引用对象里面的基本类型的数据直接拷贝,对于引用对象里面的引用类型数据不进行拷贝。在Java里面实现浅拷贝只要实现Cloneable接口,重写clone方法即可,但
2021-12-15 18:33:23 825
原创 Java中的序列化
1.什么是序列化?将数据对象转换为二进制流的过程称为序列化(Serialization),反之将二进制流恢复为数据对象的过程称为反序列化(DEserialization)。内存中的数据对象只有转换为二进制流才可以进行数据持久化和网络传输。序列化需要保留充分的信息以恢复数据对象,但是为了节约存储空间和网络宽带,序列化后的二进制流又要尽可能小。序列化常见的使用场景是RPC框架的数据传输。常见的序列化有以下三种:Java序列化:不支持跨语言,兼容性较差Hessian序列化:支持跨语言Json序列
2021-12-15 18:30:55 488
原创 Java中的注解与反射
1.什么是注解?注解(Annotation)其实就是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation,我们开发人员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。从JDK5.0开始增加了对元数据(MetaData)的支持,也就是注解。注解可以像修饰符一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明,这些信息被保存到注解的"name=value"对中。2.JDK中的元注解JDK中的元注解用于其他注解的定义。
2021-12-15 18:27:19 451
原创 一文剖析Java匿名内部类
1.问题引入在我们学习多线程的时候可能会碰到以下三种获取线程的写法:public class MyRunnable implements Runnable { @Override public void run() { System.out.println("run."); } public static void main(String[] args) { MyRunnable instance = new MyRunnable();
2021-11-18 12:14:37 155
原创 一文读懂Java远程debug(Remote JVM Debug)
1.什么是远程debug?远程debug即对远程部署的内容进行debug,例如我们部署的项目在线上出现问题了,而我们又不知道具体是哪里出现问题,我们就可以使用远程debug进行排查问题。2.怎么实现远程debugJava要实现远程debug其实很简单,只要我们在启动Java程序之前用相关参数对JPDA(Java Platform Debugger Architecture)做相应的配置即可。对于Java程序目前主要有两种部署形式:Tomcat部署,SpringBoot项目打包jar部署,下面以这两种方
2021-10-23 16:42:51 15387
原创 解决 git push每次都要输入用户名密码问题
1.问题如下在执行git push ....命令后弹出框框让你输入用户名密码,输入用户名密码之后可能在命令还要再输入一次,这时候提交成功了,感觉也不是不能接受,但是当你下次再提交时还要进行重复的输入用户名密码操作,这样就感觉有点接受不了了,必须要解决这鸡肋的问题。2. 问题分析我们知道git连接远程仓库的方式有两种,一种是https、另外一种是ssh。ssh是采用秘钥进行连接,如果配置了秘钥,肯定不会出现要输入用户名密码的情况,那么只有使用https方式进行连接才会出现需要多次登录的问题,那么我们可以
2021-06-19 11:29:49 4385
原创 Spring Data JPA 增删改查就是这么简单
在国内,你可能会发现大部分项目用的orm都是Mybatis或者Mybatis-plus,对于个人来讲,我也挺喜欢Mybatis,毕竟它开发起来非常的自由;但是对于简单curd操作jpa效率上还是可以的,所以作为一个合格的Java程序员,熟练使用jpa时非常有必要的。1.什么是jpa?jpa是Java EE 5.0 平台标准的 ORM 规范,使得应用程序以统一的方式访问持久层。Jpa与Hibernate的关系JPA 是 Hibernate 的一个抽象(就像JDBC和JDBC驱动的关系);JP.
2021-06-16 17:23:05 722
原创 Nginx常用配置(反向代理、负载均衡、动静分离、高可用集群)
1.Nginx是什么Nginx是一个高性能的Web和反向代理服务器。作为web服务器它与我们常用的web应用服务器(tomcat、jetty)不同的是:它不能解析jsp等页面,只能解析html、css、JavaScript;作为反向代理服务器它在我们应用部署时应用广泛,例如静态页面的部署、反向代理等。2.安装Windows下载,解压即可立即使用。Linux看这篇教程MacMac可以跟Linux一样安装,也可以用下面方法安装:查询是否已经安装和对应信息brew info nginx安
2021-01-11 13:05:04 760
原创 Git非官方使用总结
原文地址:https://blog.dpf114.top/page/2/1.什么版本控制系统单独的讲版本控制我们或许不知道它是什么,但是举个我们生活中的小例子,我们很容易明白它是什么。例如我们毕业修改无数遍的论文:毕业论文最终版毕业论文最最终版毕业论文最最最终版毕业论文最最最最终版毕业论文最终不改版毕业论文最终真不改版毕业论文最终真真不改版毕业论文最终打死不改版毕业论文最终打死不改版 2...这里有很多版本,而版本控制系统就是对我们写的内容不同版本进行控制的系统。常用的版本
2020-12-03 22:03:06 322
原创 CentOs安装 MySQL
1.前言以前每次新环境安装都是百度,以至于安装方式每次可能都不一样,可能不能一次性成功,为了以后能节省时间,所以今天记录一下CentOs安装MySQL方法。这里以CentOs 7为例。2.添加yml源目前项目主流的MySQL还是5.7所以这里也是安装5.7下载源安装包wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm安装:yum localinstall mysql57-community-r
2020-10-18 22:55:22 191
原创 类与类之间的几种关系
0.相关问题1、 类图是针对什么进行建模?系统结构建模2、 UML类图中如何表示一个类?矩形框3、 类之间的关系有哪几种?关联(简单关联(Association)、聚合(Aggregation)、组合(Composition))、实现(Implementation)、依赖(Dependence)、泛化(Generalization)。4、 类之间的关联属性有哪些?方向/导航、关联名、多重性、关联角色、关联类型1.组合(Composition)组合关系(Composit
2020-09-27 16:45:39 8482
原创 Sentinel 入门学习记录
1.Sentinel是什么?随着分布式系统变得越来越流行,服务之间的可靠性变得比以往任何时候都更加重要。Sentinel是强大的流控制组件,以“流”为切入点,涵盖多个领域,包括流控制,并发限制,电路中断和自适应系统保护,以确保微服务的可靠性。一句话讲就是Spring Cloud Alibaba用来替换之前的Hystrix的技术。2.有什么用?用来做系统流量控制、熔断降级、系统的负载保护等。3.下载并启动Sentinel1.下载地址2.启动sentinel-dashboard-1.7.1.j
2020-07-06 23:43:42 580
原创 Java 8使用总结
lambda表达式Runnable r2 = () -> System.out.println("hello");箭头左侧,指定了lambda表达式的参数箭头右侧,lambda体,即要执行的功能1.无参无返回值 Runnable r1 = new Runnable() { @Override public void run() { Sy...
2020-06-08 20:36:58 766
原创 java基础回顾--枚举类和注解
枚举类当我们需要定义一组常量时我们常常用枚举类。用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl…. 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum ColorEnum { RED, GREEN, BLANK, YELLOW } 用法二:switchJDK1....
2020-06-08 20:35:17 232 1
原创 位运算你真的懂了吗?
1.前言在任何一门编程语言基础中都不可避免使用运算符。运算符都有赋值运算符、比较运算符、逻辑运算符、位运算符。对于前面三种运算符每一个编程学习者应该都有学过,但是对于第四种可能就不是每个人都学过,我也一样,在起初学习的过程中并不是那么了解位运算符。所以这篇文章我将好好的梳理位运算符的使用。2.知识准备由于位运算符操作的都是二进制位(0101010),所以在看下面的内容之前建议看看这篇原码、补码、反码详解,进一步了解二进制位操作。3.位运算符详解位运算符有如下图几种:1.按位取反运算符 ~~是
2020-06-05 17:36:09 543
原创 Spring Cloud Alibaba Nacos 简易入门
1.Nacos 简介为什么叫Nacos前四个字母为Nameing和Configuration的前两个字母,最后的s为Service。是什么?Nacos(Nacos:Dynamic Naming and Configuration Service)是一个更易于构建原生应用的动态服务发现、配置管理和服务管理平台。Nacos就是注册中心+配置中心的组合,它等价于Eureka+Config+Bus。能干嘛?它能替代Eureka做服务中心,替代Config做微服务配置中心。2.安装Nacos安装之前首
2020-06-05 09:38:35 295
转载 原码, 反码, 补码 详解
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助! 一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1、机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1...
2020-06-04 16:51:06 301
原创 数据库原理第十一章---并发控制
1.并发控制的概述事务是并发控制的基本单位,保证事务的ACID特性是事务处理的重要任务,而事务的ACID破坏的可能原因之一是多个数据对事务的并发控制造成的。所以为了保证事务的一致性和隔离性,数据库系统需要对并发操作进行正确的调度。并发控制带来的数据不一致性包括数据丢失、不可重复度和“脏读”。数据丢失两个事务T1、T2读同一数据并修改,T2提交的结果破坏了T1提交的结果,导致数据的丢失。例如在甲乙两个售票点中,事务T1和T2所读到的票余额都为16,T1购票后把余票15写回数据库,T2购票后也吧余票15
2020-05-28 10:37:56 1057
原创 数据库原理第十章---数据库恢复技术
1.事务的基本概念事务所谓事务时用户定义的一个数据库操作序列,这些操作要么全做,要么不做,是一个不可分割的工作单位。事务的开始和结束可以由用户显示控制。如果用户没有显示定义事务,则由数据库管理系统按默认规定自动划分事务。在SQL中定义事务的语句一般有以下三条:-- 开启事务BEGIN TRANSACTION;-- 事务提交COMMIT-- 事务回滚ROLLBACK事务的特性ACID事务具有四个特性:原子性(Atomicity)、 一致性(Consistency)、 隔离性(Isol
2020-05-24 09:57:46 1264
原创 Oauth2 终于看懂了
基本知识Oauth是什么简单说,OAuth 就是一种授权机制。数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用,OAuth 的核心就是向第三方应用颁发令牌。Oauth2是Oauth的第二个版本。简易理解参考大佬文章http://www.ruanyifeng.com/blog/2019/04/oauth_design.html相关名词解释第三方应用程序(Third-party application): 又称
2020-05-23 21:30:35 567
原创 Spring Cloud Sleuth 极简使用
简介在微服务环境下,一次请求可能会引起数十次、上百次的服务端服务之间的调用,这时候一旦出现问题,有些问题需要我们去考虑:如何快速定位问题?问题都涉及哪些服务?到底哪一个服务出现问题了?这时候分布式链路追踪(Spring Cloud Sleuth)就能帮我们解决问题。官网原理图:简单原理图:名词解释:Trace:类似于树结构的Span集合,表示一条调用链路,存在唯一标识span:表示调用链路来源,通俗的理解span就是一次请求信息简单使用首先创建一个项目,引入如下依赖:
2020-05-21 22:19:14 341
原创 Spring Cloud Stream 简易使用
1.概述是什么?Spring Cloud Stream 是一个构建消息微服务驱动的框架。可以屏蔽底层消息中间件的差异,降低版本切换成本,统一消息的编程模型,目前仅支持 RabbitMQ 和 Kafka。设计思想标准 MQ 的设计思想。生产者 / 消费者之间靠消息媒介传递信息内容,Message消息必须走特定的通道,MessageChannel消息通道里的消息如何被消费呢,谁负责收发处理?消息通道MessageChannel的子接口SubscribableChannel,由消息处理
2020-05-20 20:02:18 285
原创 数据库系统概论(第六章)----关系数据理论
1.问题的提出针对一个具体问题,应该如何构造一个适合于它的数据库模式,即应构造几个关系模式,每个关系由哪些属性构成等。这是数据库设计的问题,确切的讲是关系数据库逻辑设计问题。------------------------------------------------------------解决:数据库逻辑设计的工具-关系数据库理论。关系模式形式化定义在第二章有讲到关系模式化形式定义,这里做一个回顾。前面定义关系模式由五部分组成,是一个五元组 :R(U, D, DOM, F)关系名R是符
2020-05-19 10:41:51 830
原创 Spring Cloud Bus消息总线
简介Spring Cloud Bus通过轻量级消息代理连接各个微服务,可以用来广播配置文件的更改,或者管理服务监控。它的一个核心思想是通过分布式的启动器对spring boot应用进行扩展,也可以用来建立一个多个应用之间的通信频道。目前唯一实现的方式是用AMQP消息代理作为通道,同样特性的设置(有些取决于通道的设置)在更多通道的文档中。目前常用的有Kafka和RabbitMQ。这里以RabbitMQ为例进行测试。环境准备docker启动RabbitMQdocker run -d --hostnam
2020-05-19 08:46:41 190
原创 数据库系统概论(第五章)----数据库完整性
数据库的完整性是指数据库的正确性和相容性。正确性是指符合现实世界的语义、反映当前实际状况;数据相容性是指数据库中同一对象在不同关系表中的数据是符合逻辑的。数据库的完整性是为了防止数据库中存在不正确的数据,数据库的安全性是防止恶意破坏和非法获取。为维护数据库完整性数据库管理系统必须能实现以下几个功能:提供定义完整性约束条件的机制提供完整性检查方法进行违约处理1.实体完整性定义实体完整性定义实体完整性即给表设定主键(primary key),即在创建表的时候定义主键。例-- 第一种 列.
2020-05-15 12:38:50 2550
原创 RabbitMQ基本使用看这篇就够了
1.简单介绍MQ全称(Message Queue)又名消息队列,是一种异步通讯的中间件。可以将它理解成邮局,发送者将消息传递到邮局,然后由邮局帮我们发送给具体的消息接收者(消费者),具体发送过程与时间我们无需关心,它也不会干扰我进行其它事情。常见的MQ有kafka、activemq、zeromq、rabbitmq 等等。RabbitMQ是一个遵循AMQP协议,由面向高并发的erlanng语言开发而成,用在实时的对可靠性要求比较高的消息传递上,支持多种语言客户端。基础概念Broker:简单来说就是消
2020-05-15 00:18:49 521
原创 Linux安装Nginx看这篇就够了
前言大家都知道,linux安装软件一般有两种方式,一种是通过YML类似的包管理工具直接安装,另外一种是通过下载好软件包安装。这两种方法各有利弊,前面一种方法是一行代码安装简单方便,但是前提是你网速足够好(网不好或者从国外镜像下载可能会很慢);后面一种方法比较保险,只要你有安装包随时随地都可以安装,而且有利于与其他软件的相关配置,所以个人更喜欢后面一种。安装第一种安装方式请看1.下载nginx所需要的依赖yum -y install make zlib zlib-devel gcc-c++ libt
2020-05-12 12:20:59 2249 2
原创 DecimalFormat的基本使用
简介DecimalFormat是我们java中的一个工具类,DecimalFormat我们可能不经常使用,但是说起SimpleDateFormat你肯定知道,SimpleDateFormat是用来格式化时间,而DecimalFormat是用来格式化十进制数字。DecimalFormat 包含一个模式 和一组符号。符号如下图基本使用double pi = 3.1415927;//圆周率/...
2020-05-05 22:40:13 335
原创 数据库系统概论(第四章)----数据库安全性
数据库的一大特点是数据可以共享,既然是共享,那么可定会有数据的安全性问题。所以说数据的共享不能是无条件的共享。1.数据库安全性概述数据库的安全性是指保护数据库防止不合法使用所造成的数据泄露、更改或破坏。系统安全保护措施是否有效是数据库系统主要的性能指标之一。数据库的不安全因素非授权用户对数据库的恶意存取和破坏一些黑客(Hacker)和犯罪分子在用户存取数据库时猎取用户名和用户口令,然后...
2020-05-03 17:53:11 4168
原创 数据库系统概论(第三章)----关系数据库标准语言SQL
SQL概述数据定义早期数据库系统,所有数据库对象都属于一个数据库,也就是说只有一个命名空间。现代的数据库系统,一个数据库管的实例中可以建立多个数据库,一个数据库中可以建立多个模式,一个模式下通常包括多个表、视图和索引等数据库对象。模式定义模式定义模式实际上定义了一个命名空间,在这个空间中可以进一步定义该模式包含的数据库对象。例如基本表、视图、索引等。基本模板:CREATE SC...
2020-04-30 09:43:38 1289
原创 数据库系统概论(第二章)----关系数据库
关系数据结构及形式化定义关系单一的数据结构----关系现实世界的实体以及实体间的各种联系均用关系来表示逻辑结构----二维表从用户角度,关系模型中数据的逻辑结构是一张二维表域域是一组具有相同数据类型的集合。笛卡尔积笛卡尔积是数据上的一种集合运算。给定一组域D1,D2,…,Dn,允许其中某些域是相同的。D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn ={(d1,d...
2020-04-28 11:14:15 1201
原创 数据库系统概论(第一章)----绪论
数据库的四个基本概念数据(Data)数据库(Database)数据库管理系统(DBMS)数据库系统(DBS)数据数据是数据库中存储的基本对象数据的定义描述事物的符号记录数据的种类数字、文字、图形、图像、音频、视频、学生的档案记录等举例数据的含义称为数据的语义,数据与其语义是不可分的(李明,男,199505,江苏南京市,计算机系,2013)语义:学生姓名、性别、...
2020-04-26 21:25:27 1043
原创 浏览器存储数据方式汇总
存储方式类别我们以我们现在最常用的Google浏览器为例,f12然后查看Application从图中可以看出Google浏览器的数据存储方式有以下5种:Local StorageSession StorageIndexedDBWeb SQLCookie区别和使用1.Local StoragelocalStorage 中的键值对是以字符串的形式存储,除非清除,否则长期有效(...
2020-04-13 12:21:00 1004
原创 Spring Security 入门
Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展了多年了,但是使用的并不多,安全管理这个领域,一直是 Shiro 的天下。相对于 Shiro,在 SSM/SSH 中整合 Spring Security 都是比较麻烦的操作,所以,Sprin...
2020-04-11 16:15:59 296
原创 VueCli 4.0创建项目
全局安装脚手架npm uninstall -g @vue/cli-service-globalnpm install -g @vue/cli-service-global先卸载旧版本再安装。安装之后检查脚手架版本:vue -V创建项目1.创建项目vue create hello-worlddefault:默认配置,只添加babel跟eslint依赖Manually:自...
2020-04-10 15:55:17 1946
原创 Springcloud配置中心之Spring Cloud Config
介绍Spring Cloud Config项目是一个解决分布式系统的配置管理方案。它包含了Client和Server两个部分,server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client通过接口获取数据、并依据此数据初始化自己的应用。Spring cloud使用git或svn存放配置文件,默认情况下使用git。Spring Cloud Config主要功能:集中管理各...
2020-04-06 22:03:38 351 1
kibana-6.3.0-windows-x86_64.zip
2019-09-27
elasticsearch.zip
2019-09-27
FastDFS.zip
2019-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人