前言 今年年初时,阿里巴巴开源的高性能服务框架dubbo又开始了新一轮的更新,还加入了Apache孵化器.原先项目使用了spring cloud之后,已经比较少用dubbo.目前又抽调回原来的行业应用部门,可能还会使用dubbo进行服务调用.趁着编写教材的机会来进行学习下.而且目前Dubbo也出了springboot的starter项目了,借着SpringBoot的东风,集成起来很方便,基本上就一个依赖包引入的问题了.废话不多说,开始吧~ 一点知识 Dubbo简介 dubbo特点 连通性 健壮性…
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc/tree/1.12. 直接浏览双语版的文档请访问: http://gradledoc.qiniudn.com/1.12/userguide/userguide.html. 另外,Android 手机用户可通过我写的一个程序浏览文档,带缓存功能的,目前…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多线程第二十九章:可重入锁与不可重入锁详解 下一章 "全栈2019"Java多线程第三十章:尝试获取锁tryLock()方法详解 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第二十九章:数组详解(中篇) 下一章 "全栈2019"Java第三十章:数组详解(下篇) 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组"…
zipkin的数据存储可以存在4个地方: 内存(仅用于测试,数据不会持久化,zipkin-server关掉,数据就没有了) 这也是之前使用的 mysql 可能是最熟悉的方式 es Cassandra 一.代码(基于 第二十八章 springboot + zipkin(brave定制-AsyncHttpClient)) 1.pom.xml <dependency> <groupId>io.zipkin.brave</groupId> <artifactId>b…
zipkin的数据存储可以存在4个地方: 内存(仅用于测试,数据不会持久化,zipkin-server关掉,数据就没有了) 这也是之前使用的 mysql 可能是最熟悉的方式 es Cassandra 一.代码(基于 第二十八章 springboot + zipkin(brave定制-AsyncHttpClient)) 1.pom.xml <dependency> <groupId>io.zipkin.brave</groupId> <artifactId>b…
前言 讲解了日志相关的知识点后.今天来点相对简单的,一般上,我们在开发一些注册功能.发送验证码或者订单服务时,都会通过短信或者邮件的方式通知消费者,注册或者订单的相关信息.而且基本上邮件的内容都是模版,一些差异化的可根据实际情况来进行替换.比如12306购票成功后,会发送一封购票信息邮件:在京东下单成功后,也会收到一封包含订单的邮件.所以,今天就来讲讲如何利用Spring提供的JavaMailSender接口,实现邮件发送功能. 一点知识 SpringBoot集成 纯文本格式 附件格式 HTML…
前言 前面两章节我们介绍了一些日志框架的常见配置及使用实践.一般上,在开发过程中,像log4j2.logback日志框架都提供了很多Appender,基本上可以满足大部分的业务需求了.但在一些特殊需求或者需要将日志进行集中管理(集群部署时,日志是分拆到不同服务器上的,不可能去每一台服务器上去下载文件的,也不便于日志检索)时,就需要自定义Appender,将日志集中输出或者其他一些特殊需求.所以本章节就来简单介绍下关于log4j2和logback的自定义Appender知识. 一点知识 log4j…
前言 上两章节,我们简单的讲解了关于异步调用和异步请求相关知识点.这一章节,我们来讲讲开发过程也是经常会碰见的定时任务.比如每天定时清理无效数据.定时发送短信.定时发送邮件.支付系统中的定时对账等等,往往都会定义一些定时器,进行此业务的开发.所以,本章节介绍下在SpringBoot中定时任务如何使用及一点分布式定时服务的思考总结. 一点知识 基于JDK方式实现简单定时 Timer ScheduledExecutorService 基于SpingTask实现定时任务 Cron表达式详解 自定义线程…
前言 web开发也讲解了三章了,这章节开始讲解关于与前端通信相关知识.实现一个在线聊天室类似的功能或者后端推送消息到前端,在没有WebSocket时,读大学那伙还有接触过DWR(Direct Web Remoting),也使用过轮询的方式,当Servlet3.0出来后,也有使用其异步连接机制进行前后端通信的.今天我们就来说说WebSocket.它是HTML5开始提供的. 关于WebSocket WebSocker属性 WebSocket事件 WebSocket方法 WebSocket实践 一点知…
前言 上一章节,介绍了目前开发中常见的log4j2及logback日志框架的整合知识.在很多时候,我们在开发一个系统时,不管出于何种考虑,比如是审计要求,或者防抵赖,还是保留操作痕迹的角度,一般都会有个全局记录日志的模块功能.此模块一般上会记录每个对数据有进行变更的操作记录,若是在web应用上,还会记录请求的url,请求的IP,及当前的操作人,操作的方法说明等等.在很多时候,我们需要记录请求的参数信息时,通常是利用拦截器.过滤器或者AOP等来进行统一拦截.本章节,就主要来说一说如何利用AOP实现…
共享内存数据结构 共享内存函数 shmget int shmget(key_t key, size_t size, int shmflg); 功能: 用于创建共享内存 参数: key : 这个共享内存段名字 size : 共享内存大小 shmflg : 由9个权限位标志构成,它们的用法与创建文件时使用的mode模式标志是一样的 返回值: 成功 : 返回一个非负整数,即该共享内存段的标识码 失败 : -1 #include <unistd.h> #include <sys/types.h&…
bootstrap 内置了html,css,js插件为一体的前端框架 响应式布局: 设计一套页面就可以使用于很多现实设备 bootstrap: 1.入门(响应式布局的容器) 1.先进入jQuery的js2.再引入bootstrap的js3.引入bootstrap的css文件4.设置视口(支持移动设备优先) <meta name="viewport" content="width=device-width,initial-scale=1"> 5.页面创建一…
Python元组包含了以下内置函数 序号 方法及描述 实例 1 len(tuple)计算元组元素个数. >>> tuple1 = ('Google', 'Baidu', 'Taobao') >>> len(tuple1) 3 >>> 2 max(tuple)返回元组中元素最大值. >>> tuple2 = ('5', '4', '8') >>> max(tuple2) '8' >>> 3 min(t…
数据banding的最简单情形是,源对象时WPF元素而且源属性是依赖性属性.前面章节解释过,依赖项属性具有内置的更改通知支持.因此,当在源对象中改变依赖项属性的值时,会立即更新目标对象中的绑定属性.这正是我们所需要的行为——而且不必为此构建任何额外的基础结构. 为理解如何将一个元素绑定到另一个元素,下面创建一个简单的示例.该示例窗口包含了两个控件:一个Slider控件和一个具有单行文本的TextBlock控件.如果向右拖动滑动条上的滑块,文本字体的尺寸会立即随之增加.如果向左拖动滑块,字体尺寸会…
一.概述 容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有如下: 容器中的Frame为一个矩形的框架对象,对应类QFrame,QFrame类是PyQt中带框架部件的所有类的基类,如菜单.进度条.Label标签等.QFrame类除了派生子类外,也可以直接用于创建没有任何内容的简单占位符框架,用于占用一部分空间. 二.属性和方法 QFrame的方法和基本都是属性访问方法,基本没有单独的方法,因此本部分将属性和方法一起介绍. 在Qt Designer中可以设置…
注意: hystrix基本使用:第十九章 springboot + hystrix(1) hystrix计数原理:附6 hystrix metrics and monitor 一.hystrixdashboard 作用: 监控各个hystrixcommand的各种值. 通过dashboards的实时监控来动态修改配置,直到满意为止 仪表盘: 二.启动hystrix 1.下载standalone-hystrix-dashboard-1.5.3-all.jar https://github.com/…
注意: hystrix基本使用:第十九章 springboot + hystrix(1) hystrix计数原理:附6 hystrix metrics and monitor 一.hystrixdashboard 作用: 监控各个hystrixcommand的各种值. 通过dashboards的实时监控来动态修改配置,直到满意为止 仪表盘: 二.启动hystrix 1.下载standalone-hystrix-dashboard-1.5.3-all.jar https://github.com/…
          大白话5分钟带你走进人工智能-第二十九节集成学习之随机森林随机方式 ,out  of  bag  data及代码(2) 上一节中我们讲解了随机森林的基本概念,本节的话我们讲解随机森林的随机方式,以及一些代码. 目录 1-随机森林随机方式 2-out  of   baf data 3-代码 1-随机森林随机方式 我们先来回顾下随机森林中都有哪些随机?     第一:用Bagging生成用来训练小树的样本时,进行有放回的随机抽样.                 第二:抽样数据之…
前言 上一章节,我们介绍了Actuator的使用,知道了可通过访问不同的端点路径,获取相应的监控信息.但使用后也能发现,返回的监控数据都是以JSON串的形式进行返回的,对于实施或者其他人员来说,不是很直观,而当需要监控的应用越来越多时,依次去访问对应的应用也过于繁琐和低效了.所以,本章节来介绍下Spring Boot Admin这个UI监控工具. Spring-Boot-Admin是什么 先看看,官网给其定义: 简单来说,Spring Boot Admin是一个管理和监控Spring Boot应…
Django路由规则 1.基于正则的URL 在templates目录下创建index.html.detail.html文件 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> {% for k,item in user_dict…
第十九章 Django的ORM映射机制 第一课 Django获取多个数据以及文件上传 1.获取多选的结果(checkbox,select/option)时: req.POST.getlist('favor')获取一个列表 2.上传文件: 前端html中: <form action='/login' method='POST' enctype='multipart/form-data'> 后端接收: if req.method=='POST': obj = req.FILES.get('fffa…
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc/tree/1.12. 直接浏览双语版的文档请访问: http://gradledoc.qiniudn.com/1.12/userguide/userguide.html. 另外,Android 手机用户可通过我写的一个程序浏览文档,带缓存功能的,目前…
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc/tree/1.12. 直接浏览双语版的文档请访问: http://gradledoc.qiniudn.com/1.12/userguide/userguide.html. 另外,Android 手机用户可通过我写的一个程序浏览文档,带缓存功能的,兼容…
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc/tree/1.12. 直接浏览双语版的文档请访问: http://gradledoc.qiniudn.com/1.12/userguide/userguide.html. 另外,Android 手机用户可通过我写的一个程序浏览文档,带缓存功能的,兼容…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多线程第十九章:死锁详解 下一章 "全栈2019"Java多线程第二十章:同步方法产生死锁的例子 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组&q…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异常第十九章:RuntimeException详解 下一章 "全栈2019"Java异常第二十章:自定义异常详解 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Ja…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第十九章:关系运算符.条件运算符和三元运算符 下一章 "全栈2019"Java第二十章:按位与.按位或.异或.反码.位运算 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复&qu…
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11457867.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言   前一章(SpringBoot第二十二篇:应用监控之Actuator)介绍了 SpringBoot 应用使用 Actuctor 进行监控.文章最后也提出了一个问题,是否可以将监控结果更好的展示个运维同学?   本章解答这个问题.   Spring Boot Admin 是一个管理和监控 Spring Boot…
Django ORM基本配置 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 django为使用一种新的方式,即:关系对象映射(Object Relational Mapping,简称ORM),django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表 1.修改project数据库配置(程序主目录下的setting…