原文:从Client应用场景介绍IdentityServer4(二) 本节介绍Client的ClientCredentials客户端模式,先看下画的草图: 一.在Server上添加动态新增Client的API 接口. 为了方便测试,在Server服务端中先添加swagger,添加流程可参考:https://www.cnblogs.com/suxinlcq/p/6757556.html 在ValuesController控制器中注入ConfigurationDbContext上下文,此上下文可用来…
原文:从Client应用场景介绍IdentityServer4(五) 本节将在第四节基础上介绍如何实现IdentityServer4从数据库获取User进行验证,并对Claim进行权限设置. 一.新建Web API资源服务,命名为ResourceAPI (1)新建API项目,用来进行user的身份验证服务. (2)配置端口为5001 安装Microsoft.EntityFrameworkCore包 安装Microsoft.EntityFrameworkCore.SqlServer包 安装Micr…
原文:从Client应用场景介绍IdentityServer4(四) 上节以对话形式,大概说了几种客户端授权模式的原理,这节重点介绍Hybrid模式在MVC下的使用.且为实现IdentityServer4从数据库获取User进行验证,并对Claim进行权限设置打下基础(第五节介绍). 本节内容比较多,且涉及一.二节的内容,如有不懂,可先熟悉一.二节知识. 一.新建授权服务,命名为AuthServer (1)新建Web API项目,不用配置HTTPS,不进行身份验证. 设置成控制台方式运行,端口设…
原文:从Client应用场景介绍IdentityServer4(一) 一.背景 IdentityServer4的介绍将不再叙述,百度下可以找到,且官网的快速入门例子也有翻译的版本.这里主要从Client应用场景方面介绍对IdentityServer4的应用. 首先简要介绍ID Token和Access Token: Access Token是授权第三方客户端访问受保护资源的令牌. ID Token是第三方客户端标识用户身份认证的问令牌,是JSON Web Token格式. 二.Client应用场…
原文:从Client应用场景介绍IdentityServer4(三) 在学习其他应用场景前,需要了解几个客户端的授权模式.首先了解下本节使用的几个名词 Resource Owner:资源拥有者,文中称"user": Client为第三方客户端: Authorization server为授权服务器: redirection URI:简单理解为取数据的地址: User Agent:用户代理,本文中就是指浏览器: 这里把访问资源服务器简单理解成取数据. Resource Owner Pas…
一.消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题.实现高性能,高可用,可伸缩和最终一致性架构.是大型分布式系统不可缺少的中间件. 目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等. 二.消息队列应用场景 以下介绍消息队列在实际应用中常用的使用场景.异步处理,应用解耦,流量削锋和消息通讯四个场景.本篇使用ActiveMQ+SpringBoot来模拟这四个场景. 2.…
这篇文章主要介绍了Redis中5种数据结构的使用场景介绍,本文对Redis中的5种数据类型String.Hash.List.Set.Sorted Set做了讲解,需要的朋友可以参考下 一.redis 数据结构使用场景 原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码.目前目标是吃透 redis 的数据结构.我们都知道,在 redis 中一共有5种数据结构,那每种数据结构的使用场景都是什么呢? String——字符串 Hash——字典…
在项目开发中,尤其是企业的业务系统中,对文档的操作是非常多的,有时几乎给人一种错觉的是”这个系统似乎就是专门操作文档的“.毕竟现在的很多办公中大都是在PC端操作文档等软件,在这些庞大而繁重的业务中,单单依靠人力去做文档的操作需要的代价是巨大的,比如数据统计,数据分析等业务要求.这就需要我们在开发系统时,应该尽量减少使用者的一些工作量,例如将数据直接写入文档,获取网页信息后直接存为PDF保存,以便以后继续查看.软件开发的目地是对使用者便捷,但这一要求未必对开发者来说也是便捷的. 在前面介绍过一款开…
cWeb是基于微软的.Net Framework 4框架,数据库是sql server 2008 r2. cWeb开发框架下载,点击这里去下载. cWeb开发框架借鉴三层架构理论分为三层,分别是:cData.cBN和cWeb.cData是数据层,cBN是业务处理层,cWeb是业务展示层.解决方案如图示: 一.cData数据层 cData数据层,数据库字段的映射类.在其他开发框架中常见于datatable和dataview,也就是将数据库表映射成datatable,dataview继承datata…
GCD介绍(二): 多核心的性能  概念         为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术(我们没必要去提多进程,这玩意儿和GCD没关系).在低层,GCD全局dispatch queue仅仅是工作线程池的抽象.这些队列中的Block一旦可用,就会被dispatch到工作线程中.提交至用户队列的Block最终也会通过全局队列进入相同的工作线程池(除非你的用户队列的目标是主线程,但是为了提高运行速度,我们绝不会这么干).         有两种途径来通过GCD“榨取”多核…
原文:thinkPHP 模板中的语法知识 详细介绍(十二) 本章节:介绍模板中的语法,详细的语法介绍 一.导入CSS和JS文件    ==>记住常量的是大写 1.css link .js  scr <link rel='stylesheet' type='text/css' href='__PUBLIC__/Css/test.css'/> <script src='__PUBLIC__/Js/test.js'></script> 2.import(==默认是在Pu…
表现层及ASP.NET MVC介绍(二) 最近的更新速度越来越慢,主要是项目上比较忙,封装EasyUi也要花很多时间.不过大家请放心,本系列不会半途夭折,并且代码干货也会持续更新.本文继续介绍表现层和Asp.net Mvc,我将在本篇讨论一些重要的设计问题和封装技巧. 是否需要将控制器分离为独立项目 经常有人问我,是否有必要将控制器从Web项目中分离出来,下面谈一下我的认识,仅供你参考,不一定正确,请根据你自己的实际情况决定. 控制器的作用是调用业务逻辑,将获得的结果传给视图显示.从根本上说,控…
基于ASP.NET MVC的热插拔模块式开发框架(OrchardNoCMS)介绍(二) 之前文章中给大家说明了下我这个小小的想法,发现还是有不少人的支持和关注.你们的鼓励是对我最大的支持. 我总结了了大家的评论,有以下几个问题: 1.希望有更多的文档说明. 2.希望介绍下Orchard的热插拔机制. 3.希望可以说明如何扩展功能什么的. 4.介绍下Orchard的核心机制. 5. 介绍下我对Orchard的整个瘦身过程怎么做的. 6.觉得这个像瑞星杀毒只剩下小狮子了(这个有意思 J) 除了这些还…
转载:from:http://www.verydemo.com/demo_c92_i210679.html 这个程序虽然我调试过,也分析过,但是没有记录笔记,发现下边这篇文章分析直接透彻,拿来借用,聊以自省,开发一直要研究透彻源码,学习其中的处理手段! kafka c接口librdkafka介绍之二:生产者接口 librdkafka当前版本可以从github上获取:https://github.com/edenhill/librdkafka 一.librdkafka基本信息: 源码结构:kafk…
Oracle EBS WMS功能介绍(二) (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处.否则请与本人联系,违者必究) 出货物流逻辑主要包括 1.      打包.能够进行多层嵌套式的打包.并通知用户为订单所做的特殊打包方法. 打包能够在拣货时做,也能够作为一个独立的操作来做. 2.      为行程进行码头预约,能够使仓库经理计划出库运输公司的预约,码头门的可用性和仓库内的待装区的使用. 3.      拣货方法,为不同订单的拣货须要选择不同的拣货方法. 4.  …
Android MVP模式简单易懂的介绍方式 (一) Android MVP模式简单易懂的介绍方式 (二) Android MVP模式简单易懂的介绍方式 (三) 上一篇文章我们介绍完了Model的创建和思路,那么这一篇文章我们继续借着讲Presenter.Presenter就是把原来写在Activtiy中的业务逻辑抽象出来的接口,然后再写一个类去实现这个业务逻辑的接口.然后,由于Presenter其实是作为View和Model之间沟通的桥梁,而模块之间的沟通是通过什么沟通呢?当然是接口啦.那么登…
上门洗车APP --- Androidclient开发 之 网络框架封装介绍(二) 前几篇博文中给大家介绍了一下APP中的基本业务及开发本项目使用的网络架构: 上门洗车APP --- Androidclient开发 前言及业务简单介绍 上门洗车APP --- Androidclient开发 之 网络框架封装介绍(一) 本篇接着给大家分享网络框架封装.相信感兴趣的朋友已经对上篇博文中的一些开源项目有了些许了解.这里继续为大家介绍关于GenericDataManager 通用网络管理类中的 data…
XML基础介绍[二] 1.schema约束dtd语法: <!ELEMENT 元素名称 约束>schema符合xml的语法,xml语句.一个xml中可以有多个schema,多个schema使用名称空间区分(类似于java包名)dtd里面有PCDATA类型,但是在schema里面可以支持更多的数据类型 比如 年龄 只能是整数,在schema可以直接定义一个整数类型schema语法更加复杂,schema目前不能替代dtd 2.schema的快速入门创建一个schema文件 后缀名是 .xsd 根节点…
010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二--变量类型--即Java中的数据类型 Java中变量的三要素 变量名 变量类型 变量值 其中变量类型,即 Java中的数据类型 Java中的数据类型 数据类型 基本数据类型 数值型 整数类型(byte.short.int.long) 浮点类型(float.double) 字符型 (char) 布尔型(boolean) 引用数据类型 类 (class) 接口 (inter…
上一篇<NIO简单介绍(一)>中讲解了NIO中本地IO相关的内容,这篇重点介绍的NIO的非阻塞式网络通信 一.阻塞与非阻塞 传统的 IO 流都是阻塞式的.也就是说,当一个线程调用 read() 或 write()时,该线程被阻塞,直到有一些数据被读取或写入,该线程在此期间不能执行其他任务.因此,在完成网络通信进行 IO 操作时,由于线程会阻塞,所以服务器端必须为每个客户端都提供一个独立的线程进行处理,当服务器端需要处理大量客户端时,性能急剧下降. Java NIO 是非阻塞模式的.当线程从某通…
上篇博客中讲了hystrix在公司中的一些应用场景,由于保密的原因没办法贴出优化的代码,这里专门写一篇hystrix代码的demo,供大家在使用的过程中快速上手 Hystrix有两个请求命令 HystrixCommand(该方式代码的执行由新创建的线程执行).HystrixObservableCommand(该方式代码的执行还是在主线程中执行). HystrixCommand用在依赖服务返回单个操作结果的时候.有两种执行方式  -execute():同步执行.从依赖的服务返回一个单一的结果对象,…
面临的问题 对于高并发高訪问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题.特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰 值已经达到500的时候,那你的程序执行离崩溃的边缘也不远了.非常多小站点的开发者一開始都将注意力放在了产品需求设计上,缺忽视了程序总体性能,可扩 展性等方面的考虑,结果眼看着訪问量一天天网上爬,可突然发现有一天站点由于訪问量过大而崩溃了.到时候哭都来不及.所以我们一定要未雨绸缪.在数据库还 没罢工前.想方设法给它减负.这也是这篇文章的主要议题.…
1. 传统数据湖存在的问题与挑战 传统数据湖解决方案中,常用Hive来构建T+1级别的数据仓库,通过HDFS存储实现海量数据的存储与水平扩容,通过Hive实现元数据的管理以及数据操作的SQL化.虽然能够在海量批处理场景中取得不错的效果,但依然存在如下现状问题: 问题一:不支持事务 由于传统大数据方案不支持事务,有可能会读到未写完成的数据,造成数据统计错误.为了规避该问题,通常控制读写任务顺序调用,在保证写任务完成后才能启动读任务.但并不是所有读任务都能够被调度系统约束住,在读取时仍存在该问题.…
作者:Jack47 上一篇SSTable 介绍(一)介绍了SSTable的适用场景和leveldb中SSTable的设计.本篇介绍SSTable文件的结构组成. SSTable的特点 首先明确一下上文中提到的SSTable特点: 需要存储的格式的字节数据 键可以重复,键值对不需要对齐,即可以是任意长度的 需要支持高效的随机读取操作 读者们不妨想一想,如果让你设计一种数据结构来支持上述的设计目标,你会怎么设计呢? SSTable文件的结构 一些辅助的类和结构体 在去看leveldb/table/t…
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/108.html?1455861435 一.redis 数据结构使用场景 原来看过 redisbook​这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码.目前目标是吃透 redis 的数据结构.我们都知道,在 redis 中一共有5种数据结构,那每种数据结构的使用场景都是什么呢? String——字符串Hash——字典List——列表Set—…
我终于开始写这个系列文章,实际上确实有一段时间没有动笔了.最近重新安装了一套SharePoint Server 2013的环境,计划利用工作之余的时间为大家写一点新的东西. SharePoint Server 2013发布后,现在已经有一些企业客户在评估甚至在考虑升级到这个新的版本了.从我的感受来说,我觉得这个版本改进还是挺大的,尤其是体现在用户友好性等一些方面.而深入地去看,后台的一些架构也发生了较大的变化.我觉得这样一个产品,它后续的发展趋势一定是这两个方面:对用户越来越简单,而对于架构和服…
下载 http://www.confluent.io/download,打开后,显示最新版本3.0.0,然后在右边填写信息后,点击Download下载. 之后跳转到下载页面,选择zip 或者 tar都行, 下载完成后上传linux系统,解压即完成安装. zip and tar archives– 推荐OS X 和 Quickstart deb packages via apt – 推荐安装服务在 Debian/Ubuntu系统 rpm packages via yum – 推荐安装服务在 RHE…
ZooKeeper是一个高可用的分布式数据管理与系统协调框架.维护着一个树形层次结构,书中的节点被称为znode.znode可以用来存储数据,并且有一个与之相关联的ACL(权限),znode不能大于1M.基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题.网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍. 值得注意的是,ZK并非天生就是为这些应用场景设计的…
面临的问题 对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题.特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰 值已经达到500的时候,那你的程序运行离崩溃的边缘也不远了.很多小网站的开发人员一开始都将注意力放在了产品需求设计上,缺忽视了程序整体性能,可扩 展性等方面的考虑,结果眼看着访问量一天天网上爬,可突然发现有一天网站因为访问量过大而崩溃了,到时候哭都来不及.所以我们一定要未雨绸缪,在数据库还 没罢工前,想方设法给它减负,这也是这篇文章的主要议题.…
1 引言 横看成岭侧成峰,远近高低各不同. 不识庐山真面目, 只缘身在此山中.                                                  ________苏轼,< 题西林壁> “社会化大开发”是人们梦寐以求的事情,信息化的软件将象您自家的水管一样,当您需要时您只要拧开水龙头,自来水就会源源不断地送到您家.将来的软件也会这样,只要您能上网,您随时都可通过访问软件服务公司提供商的某个地址,您所需要的业务就可以在网上完成,这里您完全不需要把软件和数据库下载到本…