demo代码如下 public class ConsoleTimeAttribute : ApectBaseAttribute { public override void Before(ApectContext apectContext) { apectContext.SetCorrelationObject(DateTime.Now); Console.WriteLine($"Before > Method:{apectContext.MethodName} > {DateTim…
GIT代码地址:https://git.oschina.net/ruanjianfeng/Ruan.Framework.Core demo代码如下 public class ConsoleTimeAttribute : ApectBaseAttribute { public override void Before(ApectContext apectContext) { apectContext.SetCorrelationObject(DateTime.Now); Console.Write…
Log4a 基于AOP和ThreadLocal实现的一个简单Http API日志记录模块 github地址 : https://github.com/EalenXie/log4a 在API每次被请求时,可以在整个方法调用链路中记录一条唯一的API请求日志,可以记录请求中的任意内容,比如传参,响应,请求url,method,clientIp,请求成功或异常,等等,以及HttpServletRequest中的任意内容. 实现的核心为AOP以及ThreadLocal. AOP 会切所有被Log4a注解…
github上预览Demo网页最简单的方法: 1.打开你github上demo网页index.html,效果如图 2.复制上面的页面地址,然后在该地址前加上 htmlpreview.github.com/? 然后就可以访问预览了,效果如图: PS:参考教程:如何在github上做一个demo演示…
第一次有人把5G讲的这么简单明了 鲜枣课堂 纯洁的微笑 今天 关于5G通信,常见的文章都讲的晦涩难懂,不忍往下看,特转载一篇,用大白话实现5G入门. 简单说,5G就是第五代通信技术,主要特点是波长为毫米级,超宽带,超高速度,超低延时.1G实现了模拟语音通信,大哥大没有屏幕只能打电话:2G实现了语音通信数字化,功能机有了小屏幕可以发短信了:3G实现了语音以外图片等的多媒体通信,屏幕变大可以看图片了:4G实现了局域高速上网,大屏智能机可以看短视频了,但在城市信号好,老家信号差.1G~4G都是着眼于人…
关于OAuth2的一些简介,见我的上篇blog:http://wwwcomy.iteye.com/blog/2229889 PS:貌似内容太水直接被鹳狸猿干沉.. 友情提示 学习曲线:spring+spring mvc+spring security+Oauth2基本姿势,如果前面都没看过请及时关闭本网页. 我有信心我的这个blog应该是迄今为止使用spring security oauth2最简单的hello world app介绍了,如果你下下来附件源码还看不懂,请留言.. 其他能搜到的如h…
Spring Examples Demo website:http://www.ityouknow.com/ 对Spring框架的学习,包括一些经典的案例和demo,一些可以直接用于生产. spring4-mybatis3-simple:spring4+mybatis3的增删改查的例子 spring-mybatis-mulidatasource:对mybaits的简单封装,方便简单的调用和多数据源的配置 spring-mybatis-mulidatasource-atomikos: 使用atom…
之前所有的演示都是在docker for windows上进行部署的,没有真正模拟生产环境,今天我们模拟真实环境在公有云上用linux操作如何实现istio+dapr+电商demo的部署. 目录:一.通过Dapr实现一个简单的基于.net的微服务电商系统 二.通过Dapr实现一个简单的基于.net的微服务电商系统(二)--通讯框架讲解 三.通过Dapr实现一个简单的基于.net的微服务电商系统(三)--一步一步教你如何撸Dapr 四.通过Dapr实现一个简单的基于.net的微服务电商系统(四)-…
MySQL 系列(五) 多实例.高可用生产环境实战   第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 史上最屌.你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数.事物.索引.语句 第四篇:MySQL 系列(四) 主从复制.读写分离.模拟宕机.备份恢复方案生产环境实战 第五篇:MySQL 系列(五) 多实例.高可用生产环境实战 本章内容: MySQL 多实例 简介 安装前的配置 生产环境屌炸天…
consul是一款服务发现中间件,1.12版本后增加servicemesh功能.consul是分布式的,可扩展的,高可用的根据官方文档介绍,目前已知最大的consul集群有5000个节点,consul被广泛用用于服务发现,服务健康检测以及分布式配置存储,并且不断地改进对servicemesh和kubernetes的支持,很多优秀项目包括ocelot,spring cloud都提供了与consul的便利集成,本系列也会将consul做为一个重点的有状态服务较为细致讲解,让大家对kubernetes…
这一节内容有点长,我们将介绍如何基于docker搭建一client一server的consul测试环境,以及如何搭建多server consul测试集群.在基于docker搭建多server的consul集群时出碰到了一些坑,这对我们是很有益的提醒,很多时候我们不能仅仅满足于最小化的环境搭建及简单使用,而是要朝着接近生产环境的方向努力.同时,我们这里基于docker搭建集群其实和在宿主机上直接搭建并没有太大区别,也就是我们仅仅把docker当作类似虚拟机来使用,本系列我们多次强调新瓶装老酒,我们…
生产环境搭建高可用Harbor(包括恢复演练实操) 前言 因资源成本问题,本Harbor高可用架构为最小开销方案,如果资源充足,可以将PG.Redis全部使用使用云厂商集群模式. 同时为了配置简单,并没用使用keepalived与heartbeat等高可用开源组件. 准备工作 阿里云SLB 阿里云ECS 共享存储 Redis 最小实例SLB 2c4g 俩台 阿里云NFS 阿里云Redis 操作系统为Ubuntu18.04,在俩台ECS上搭建主从PG,如果不想用阿里云redis,也可以使用ECS搭…
一.先来张图,赏心悦目观赏一下,哈 . 这个就是使用phonegap框架搭建起来的,运行在安卓环境上的第一个demo. 安卓的开发环境,大家都会搭建了,所以不赘述.讲一下,安装phonegap的步骤. 二.phonegap的安装   1. 设置系统变量系统变量 Path后面添加:(以下变量都是必须的,路径根据自己的设置)E:\android_sdk\sdk\tools;E:\android_sdk\sdk\platform-tools;E:\android_sdk\eclipse\plugins…
1. 效果对比 1.1 开发环境 css+js+lib文件大小为好多M :) 1.2 部署环境(生产环境) css+js+lib文件大小约为800K 文件大小:好多M–>800K(多少自己试下),文件数目:N多–>4个 2. gulp实现 打开项目下的gulpfile.js文件 var gulp = require('gulp'); // 引入gulp组件(插件) var uglify = require('gulp-uglify'); var rename = require('gulp-r…
在<JavaScript忍者秘籍>2.4测试条件基础知识中,作者给出了一个精简版的assert和assert组的实现,对于初学者而言,这无疑是一个很好的例子,既让我们得到了一个好用的小工具,又让我们看到了用javascript实现这个工具是如此的简单. 这里主要是从代码角度最2.4章节做一些补充和说明,包括原有代码中的一些bug及其修正.当然了,既然涉及到了代码解析,这就不能说是初学者的范畴了,至少要多javascript中的函数声明,函数实现,函数闭包等内容有了基本的了解后,才能看懂这篇文章…
Javascript学习-简单测试环境 在<JavaScript忍者秘籍>2.4测试条件基础知识中,作者给出了一个精简版的assert和assert组的实现,对于初学者而言,这无疑是一个很好的例子,既让我们得到了一个好用的小工具,又让我们看到了用javascript实现这个工具是如此的简单. 这里主要是从代码角度最2.4章节做一些补充和说明,包括原有代码中的一些bug及其修正.当然了,既然涉及到了代码解析,这就不能说是初学者的范畴了,至少要多javascript中的函数声明,函数实现,函数闭包…
最近在部署Node.js程序时,写了段简单的脚本,发觉还挺简单的,忍不住想与大家分享. 配置文件 首先,本地测试环境和生产环境的数据库连接这些配置信息是不一样的,需要将其分开为两个文件存储 到config目录下,比如: 开发环境配置文件config/development.js: module.exports = { port: 3001, mysql: { user: 'root' } }; 生产环境配置文件config/production.js: module.exports = { po…
准备工作: 192.168.16.128 192.168.16.129 两条虚拟机.安装好 Nginx 安装Nginx 更新 yum 源文件: rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Cento…
准备工作: 192.168.16.128 192.168.16.129 两台虚拟机.安装好Nginx 安装Nginx 更新yum源文件: rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7…
今年 3 月份,阿里巴巴重磅开源 OpenJDK 长期支持版本 Alibaba Dragonwell的消息,在很长一段时间内都是开发者的讨论焦点,该项目在 Github 上的 Star 数迅速突破 1400.近日,Dragonwell JDK 8.0.0 正式发布 GA 版本,这意味着其已经具备在生产环境正式运行的能力. 2019 年 3 月,Dragonwell JDK正式开源,发布预览 (Preview) 版本.近日,阿里巴巴重磅宣布 Dragonwell JDK 8.0.0-GA 正式发布…
一.漏洞简介 NetLogon 远程协议是一种在 Windows 域控上使用的 RPC 接口,被用于各种与用户和机器认证相关的任务.最常用于让用户使用 NTLM 协议登录服务器,也用于 NTP 响应认…
webpack 之 一个简单的基本生产环境配置 // 用来拼接绝对路径的方法 const {resolve} = require('path') const HtmlWebpackPlugin = require('html-webpack-plugin') const MiniCssExtractPlugin = require('mini-css-extract-plugin') const OptimizeCssAssetsWebpackPlugin = require('optimize…
由于最近的服务项目提供接口有一个需求,所有操作都必须检查操作的服务可用,所以感觉Aop特别适合实施.完成学习的小例子. 关于spring-Aop原理:http://m.oschina.net/blog/174838这篇文章写的非常好. 个人觉着可能上线的时候配置文件更方便一下.所以样例主要是配置文件方式 Demo文件下载地址: http://download.csdn.net/detail/ruishenh/7261121 Spring配置文件 /idle-service-impl/src/ma…
Ajax是局部刷新,并不影响页面其他的操作 实例1:本测试是演示利用Ajax在一个页面播放视频,点击赞和踩按钮,视频不会受影响, 新建一个ajaxTest.html页面 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; chars…
AOP(Aspect-Oriented Programming.面向方面编程).能够说是OOP(Object-OrientedPrograming.面向对象编程)的补充和完好.OOP引入封装.继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合. OOP的问题,AOP的补充 当我们须要为分散的对象引入公共行为的时候,OOP则显得无能为力.也就是说,OOP同意你定义从上到下的关系,但并不适合定义从左到右的关系. 比如日志功能.日志代码往往水平地散布在全部对象层次中,而与它所散布到的…
新特性 smartDoc 0.1.1版正式发布,其中加入了更多方便生成文档的功能,主要特性如下: * 加入@demo配置项,看可以动态抓取html和js的内容作为@example,同时支持扩展@demo读取 * 支持jasmine测试js文件的单元代码抓取为@example * 实现多个example显示和tab切换 * 加入@show配置项来控制直接显示example效果 * 主题改版 * 去除@attribute属性设置,统一使用@property: docConfig新增配置: //dem…
前天偶然看到谷歌开源项目中有一个近乎无人问津的项目Google Preview Image Extractor(PIEX) . 项目地址: https://github.com/google/piex 官方的描述是这样的: The Preview Image Extractor (PIEX) is designed to find and extract the largest JPEG compressed preview image contained in a RAW file. 也就是说…
面向切面是什么我就不说了. 上代码: package com.foreveross.service.weixin.test; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annot…
假设我们有这样的一个场景 : 对于一个类的众多方法,有些方法需要从缓存读取数据,有些则需要直接从数据库读取数据.怎样实现呢? 实现方案有多种.下面我说下常见的几种实现方案 : 1.直接采用spring xml.或者  annotation AOP完成.但个人认为这种方案似乎有点不是很完美. 原因 :  ①.如果只有针对这个类做切面拦截,这种方案是没有问题的,只需对需要走DB(or 缓存,两者择一)的方法配置切面. ②.那如果是多个类呢?统一做一个切面,对指定方法拦截,如selectXXX.但,还…
Entity Framwork(实体框架,简称EF)是ORM(Object Relational Mapping,对象映射关系)的一个解决方案. EF允许项目将数据库的表映射为实体,并封装了操作方法,方便开发人员直接操作数据库. EF有三种开发模式,分别是: Database First(数据库先行): 将已存在的数据库中的表映射为实体: Code First(代码先行):先编写代码,再通过EF反向生成数据库的表: Model First(模型先行):通过一个可视化模型,分别生成数据库和代码.…