自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Zero小葵司的博客

只要不是纯科研,技术问题都不该脱离组织与客户价值被单独看待

  • 博客(43)
  • 收藏
  • 关注

原创 基于CentOS 7 搭建Redis 7集群

我们的目标是使用2台(多台服务器类似)服务器搭建一个3主3从的redis集群。我们为什么要使用redis 7呢?因为6、7的版本都做了大量优化,比如6引入了多线程(一些JAVA八股文面试还喜欢问redis为什么是单线程),7的aof文件可以写入多文件,这些都带来了性能及稳定性的提升。当然,新版本的Redis对于搭建集群的友好程度也进一步提升了。

2023-02-17 21:41:40 842

原创 阿里云使用NAS做存储盘搭建安全的SFTP

SFTP服务器对于资源的要求并不高,我们根据自己的需要购买一台ECS即可,考虑到SFTP通常需要外部访问,因此不要忘记购买公网IP。这里只举了一个例子,网络安全的限制也没添加,这个在防火墙、安全组都需要做相应配置以限制访问。这里自己玩玩与生产使用是不太一样的,生产使用需要关注我们在开篇提到的前两点。开放SFTP服务器有一定的风险性,建议与其它服务器隔离不混用。在阿里云的NAS服务中购买一定资源,按量付费即可。先创建一个目录用来承载SFTP的功能。至此我们可以在客户端尝试连接了。所以下面的步骤是环环相扣的。

2023-02-02 21:44:20 828

原创 麦肯锡精英高效读书法心得

关于读书,其实中国人自古就有很多心得体会,大家最为熟知的莫过于那句“书中自有黄金屋,书中自有颜如玉;”古今中外对于读书,无论从认知还是方法,即道与器,其实都没有大的改变,这篇心得我们一边看看麦肯锡精英的读书法,一边看看我们的古人如何读书。首先《麦肯锡精英高效读书法》这本书的写作风格很日系,朴素平淡的小故事,缓缓展开,没有什么高深的论调与理论,就像是普通的分享,这篇心得也结合此书的标题做一些分享。关于读书的分享与书籍有很多,大家都会有自己的方法论,也就是道与器的器,希望大家首先用空杯心态去阅读,然后用学

2022-03-20 12:51:11 552

原创 SaaS系统权限体系设计

权限系统是系统中链接用户与功能的关键桥梁,也是实际业务中组织角色及其职权的映射,不同的组织会需要不同的权限系统,但是作为SaaS我们需要考虑到灵活的配置、系统复杂度等综合情况。权限情况是否能满足业务,是判断该系统价值度的一个重要标尺,如何在灵活与标准化、复杂度之间去平衡设计,就变得关键起来。权限管理系统的设计中常遇到的问题有: 配置不规范,系统基础不稳,拓展性差; 配置不灵活,用户需求难满足,体验差; 配置太灵活,逻辑会复杂,实施成本高; 目录基本要素 主体

2021-12-19 22:06:34 2256

原创 【API】开源免费接口管理

接口文档管理平台该平台主要用于整合后端各系统的服务,每个空间根据用户的空间权限,可以对接口文档进行不同层度的操作。该平台涵盖了:接口文档导入(基本不用额外代码)权限管理调试格式化导出主要技术:swagger 或 smart-doctorna接口文档以系统自动生成为主,除非不能进行自动更新时,则少量手动更新,但是并不建议手动更新,以免自动更新后覆盖更新内容。空间及项目权限管理生产测试分别管理接口在生产环境的应都为稳定版本,而测试环境的版本会更新,但不代表是稳定版,因此生产与测

2021-12-10 18:03:10 2054

原创 MySQL调优 - 读写分离

上一篇:MySQL调优 - 索引原理及优化索引是数据量达到一定之后数据量很好的优化方式,那么读写分离又是解决什么问题呢?以及你是否真的需要读写分离呢?首先读写分离是有额外成本的,而且成本不低,因为这需要至少再来一套数据库从库,所以我们列一些情况,帮助你判断是否真的需要读写分离。哪些情况适合读写分离:数据量很大;读远多于写(互联网应用基本都是如此),且读取已经造成了性能瓶颈;缓存已不足以解决读的性能问题(缓存的性价比更高);有经费做数据库的主从;架构上支持了应用系统的读写分离;基于上面几点

2021-06-18 00:16:54 152

原创 MySQL调优 - 索引原理及优化

我们来开启一个新的系列,mysql调优,这个系列我们写3个部分:mysql索引优化;mysql读写分离;mysql分表分库;mysql事务(该部分就不写了,一般不会去修改其读写类型,知道其默认的是可重复读级别);这个系列的更新会比较快,结束之后我们就开启大数据的相关更新内容。我们以索引展开MySQL的优化,因为这是MySQL读写高性能的基础,也是设计的关键与难点,当然并不是看完这三篇优化,数据库的东西就都搞定了,这和我们在具体业务开发中的场景依然密切相关,这篇优化可以说还只是入门,但不要看到

2021-06-16 20:24:34 380

原创 JVM调优 - 用Arthas解决CPU过高问题

上一篇:JVM调优 - 用Arthas解决OOM问题上一篇我们分享了如何排查定位OOM,OOM属于生产中问题定位相对简单的,

2021-06-15 23:17:09 996

原创 JVM调优 - 用Arthas解决OOM问题

上一篇:JVM调优 - 理解GC接上一篇理解GC后,这一篇我们将讲解如何生产调优,或者说生产性能问题排查。这一篇我们比较偏实际运用,就不过多去讲解一些原生指令或者java visualVm工具了。java visualVm可以用于自己本地使用,或者测试环境调试,但是生产环境是不适用的,一是生产服务器基本不可能安装这个,二是本地连接进生产查看基本不可能,增加了网络安全风险。所以我们这次主要讲一讲如何主要用Arthas做生产性能问题定位,并进行更新。OOMOOM是最常见的问题,如果FGC无法回收内存

2021-06-03 12:36:13 3323 4

原创 JVM调优 - 理解GC

关于JVM调优系列Hey Guys,我们将开启这个JVM的调优系列,那么什么是JVM调优呢?其实说起来我们能调的东西也不多,因为这个不是让我们去修改JVM的源码或者修改其GC算法,这里主要是去针对生产出现的OOM、卡顿、CPU飙升、假死等情况去排查处理,以及减少排查问题、GC带来的过多性能消耗影响到生产应用的运行。这个系列我们依然先从基础入手,然后针对各种生产问题,去看看如何排查、定位、解决。GCGC就是垃圾回收,试想我们的系统在不断地创建新的对象与引用,这些都会占用内存空间,如果不对不再有用的对象

2021-05-30 17:30:04 594 2

原创 多线程与并发编程

距离上次更新已经过了很久了,最近一直在弄公司的三个新产品,目前也终于告一段落了。目前的生产环境系统,CPU性能基本都是过剩的,如何提升系统的性能与使用率呢? 压榨CPU的性能就很有必要了,这里我们先一步步的来看看如何提升CPU使用率。基本概念进程在说线程之前,我们先来说说进程,学过操作系统的小伙伴的都知道进程是OS分配资源的最小单元,一般由程序,数据集合和进程控制块三部分组成。这里讲起来还是比较抽象,举两个例子:1. 电脑打开一个应用程序,会启动一个进程,再打开一个应用程序,会再启动

2021-05-29 00:05:02 528 2

原创 关于技术产品的三个ABCD

我带领技术产品团队,这么多年总结下来以下几个ABCD,来打造全方位的团队,实现客户价值。3个ABCD的技术产品组织建设理念:技术的A(AI), B(Block Chain), C(Cloud), D(Data)这是大家听到最多的,也确实是技术的发展大方向,即使我们不能深入去研究这些技术,我们也要关注与使用这些技术。AI:人工智能Block Chain:区块链Cloud:云Data:大数据人的A(Across), B(Business Model), C(Customer Cen

2021-03-20 12:38:54 448 4

原创 应用埋点及增长方法

大年初五朋友圈都在迎财神应该是过年以来最热闹的一天了看来大家都想明白了情人节撒的狗粮总有自己吃回去的一天只有自己挣到了钱才能真正过自己想要的生活哈哈哈哈但是不好好努力甚至连彩票都不想买只发个朋友圈大概率好难发财那么怎么才能发财呢?这事还得理性首先要找到入手点 - 埋点然后找到方法 - 数据分析所以今天我们就来聊一聊应用埋点及数据分析现在大家的心情是不是都是下面这样的(才怪)1. WHY - 为什么要埋点?小C:我们的新应用要做一下埋点。小K:为什么?小C:别人的都加了这

2021-02-16 21:54:08 927

原创 全面质量管理体系方案

质量体系调整方案原因业务不断增加,使得系统复杂度不断增加,回归测试流程越来越长。而对于质量、稳定性、性能以及快速交付能力的要求会进一步提升。如何成为更好的高效能团队,使得稳定性不因为交付吞吐量的提升而下降,同时让整个团队共同担负起质量的责任,是从去年以来,我们一直希望去做到的。很显然我们需要进一步提升自动化测试的程度,提升自动化的覆盖面,进一步清晰化统一化自动化的技术体系,为未来的测试标准化平台化做准备,使得我们可以从大量手工测试、质量与研发体系关联不强,逐渐到质量共责、提升自动化,到慢慢的测试

2021-02-04 10:20:42 1647 1

原创 系统返回码规则建议

为什么要统一返回码返回码返回与传达了系统发生了什么,对于定位问题,找到解决方案是非常重要的一环。要使用好返回码,也需要对于异常处理错误处理有良好的理解。返回码反映了系统的异常情况,异常提供了一种识别及响应错误情况的一致性机制,有效地异常处理能使程序更加健壮、易于调试。异常之所以是一种强大的调试手段,在于其回答了以下三个问题:什么出了错? 在哪出的错? 为什么出错?在有效使用异常的情况下,异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪“抛出,异常信息回答了“为什么“会抛出,如果你的异

2021-02-04 09:55:47 759

原创 Open Feign调用出现CRTL CODE 31两种解决方案

在通过spring cloud的系统间调用中,大家会大量使用feign,但是在一些业务情况下可能会出现CRTL CODE 31。feign.codec.DecodeException: Error while extracting response for type [class com.zhundian.member.common.R] and content type [application/json]; nested exception is org.springframework.http.co

2021-01-15 11:50:50 1080

原创 会员体系是以权益为表现的用户场景连接

会员体系现如今已经存在于各种各样的产品、商业主体中了,那么你的产品是否需要会员体系呢?应该说,对于目前的互联网产品,都已经过了曾经疯狂增长的年代,无论拉新还是运营老用户,成本都会越来越高,而用户的选择也越来越多,如何为用户带来更加持久的价值以及陪伴用户更多的时间,会员体系的建设就会很重要。有一些产品会堆叠很多的权益,不管是否相关的都堆叠上去,这样做是并不合适的,会像爵迹2-冷血狂宴一样,你发现就是一堆莫名其妙的堆叠,但是没有灵魂没有剧情,不停的3D视角转换晃得人头晕,甚至产生生理反感。那么我们就在这里浅

2021-01-11 11:10:55 1630

翻译 JavaScript代码规范

类型基本类型: 直接存取基本类型。字符串数值布尔类型nullundefinedconst foo = 1;let bar = foo; bar = 9; console.log(foo, bar); // => 1, 9复杂类型: 通过引用的方式存取复杂类型。对象数组函数const foo = [1, 2];const bar = foo; bar[0] = 9; console.log(foo[0], bar[0]); // => 9, 9引用对所有的引用使

2021-01-06 19:27:49 612

原创 复杂项目的版本管理及git分支管理建议

在复杂项目中,特别是多团队的快速迭代中,版本管理与分支管理,总是我们难以回避的问题,这里分享一下我们在团队中使用的规范,以及对应的每一步的步骤。为什么需要GIT使用建议团队开发中,遵循一个合理、清晰的Git使用流程,是非常重要的。否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。没有规则的分支管理,同样会使版本变得混乱,系统难以进行持续发布、持续集成。版本号规则版本命名规范软件版本号有四部分组成,第一部分为主版本号,第二部分为次版本号,第三部分为修订版本号,第四部分

2021-01-06 19:02:57 4491

原创 一股脑追中台就好比没看完阴阳师拍了晴雅集

其实中台这个东西,18年就想谈,19年就想吐槽,但是那时候你不能说面对中台大家要冷静,这玩意不是什么新东西也不具备普适性,别被概念炒作坑了。那时候这样讲要被认为是逆潮流的。很多去年要上中台,今年又要追风拆中台的企业,这些企业就像是郭小4刚上映的晴雅集,你都怀疑郭小4是不是就看了阴阳师第一本第一章,也不知道他是基于什么体系训练出来的风格。阴阳师原著就像是中台设计参考的架构设计原则,而晴雅集就是大家追风的中台。所以阴阳师里的博雅贵族出身善良正义共情能力极高,安倍晴明则是天才阴阳师超凡脱俗,二人惺惺相惜;到了

2020-12-26 23:24:47 3454 10

原创 用一篇恰到好处的年终总结为自己献上爱的花束

又到一年年底了,happy不happy?因为不管这一年过得怎么样,人们对于翻年似乎都有着一种原始本能一般的期待,即使翻年后年龄又会大一岁,可能就再也不是18岁的少年少女了(也有人永远都是18岁 哈哈。)总之年底就是有着小焦虑小忧愁,但是更多的会是开心与期待,直到有一天体会到被年终总结所支配的恐惧。年终总结真的不是那么好写的,很多的小伙伴不要说年终总结了,每日、每周、每月总结要让写那也要会像打小boss一样,甚至可能被打空血。所以如果你是即便没有组织和领导要求,也想自己写年终总结的人,你真的对自己

2020-12-12 21:30:52 3114

原创 JollyFintech-价值驱动的自组织团队

这是一篇老文了,也算是一个回顾,这是曾经我在打造公司金融科技技术产品团队时,所作的一个总结。现在发出来与大家分享,也是去思考与3、4年前比,我们的组织为了适应内外部的变化,应该有一些什么调整。Jolly Fintech是一个年轻有活力的金融科技团队,这里有很多充满激情与梦想的年轻人。我们希望做一只立足中国,服务世界的金融科技团队。这个团队属于即富集团,是一支价值驱动的自组织团队,追寻着新的技术以及新的管理方式,正因为此,团队展现着蓬勃生机,如同不断盛开的繁花。即富的企业文化及核心价值观是:有爱、守正、出

2020-11-30 09:40:01 286 1

原创 产品基础训练 - Persona[用户画像]

产品设计基础系列这个系列会从一些产品设计的基础入手,去帮助我们的产品经理们打下洞察需求设计需求的基础。这个系列没有太多的工具使用,会偏向于一些基础底层思想与方法论。文章目录产品设计基础系列一、Persona是什么?二、为什么要使用PERSONA1.来看个案例2. 问题在哪里?创建Persona看看persona的例子Persona的常用维度Persona的目标如何让Persona工作创建Persona的方法实地考察2.读入数据总结一、Persona是什么?中文翻译用户画像,但是运营体系也有用

2020-11-28 23:25:54 2077

原创 基本训练 - 概念模型

产品设计基础系列这个系列会从一些产品设计的基础入手,去帮助我们的产品经理们打下洞察需求设计需求的基础。这个系列没有太多的工具使用,会偏向于一些底层思想与方法论。文章目录产品设计基础系列一、为什么我们需要概念模型?二、什么是抽象模型?1.System2.Model抽象模型抽象模型示例抽象模型帮助设计什么时候创建抽象模型?如何创建抽象模型?模型基础天使视角分治算法初级名词信息结构卡片分类卡片分类步骤样例卡排序结果评估模型的过程可视化总结一、为什么我们需要概念模型?我们理解世界的方式:我们的感

2020-11-23 22:40:59 289

原创 [Camunda]流程引擎从入门到入行 - 节点

Camunda流程引擎系列五、节点文章目录Camunda流程引擎系列前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言流程引擎的关键,特别是基于BPMN的流程引擎,我们应该去了解它包含哪些元素。BPMN基本元素包括了这些元素,如下:泳道:池和道;三种连接对象:序列流、消息流和关联;一种活动:任务(Task),其中包括了子流程任务(Sub-ProcessTask);两种事件:普通开始事件(NoneStart Event)和普通结束事件(None End Event

2020-11-18 14:53:12 3131 1

原创 [Camunda]流程引擎从入门到入行 - 运行时服务runtimeService

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2020-11-16 16:56:23 3207

原创 [Camunda]流程引擎从入门到入行 - 租户组与用户

Camunda流程引擎系列三、租户、组、用户 - IdentityService文章目录Camunda流程引擎系列前言一、IdentityService二、基于数据库的IdentityService1. 简介2. 数据库表组表用户与组关系表用户表用户信息表租户表租户与组/用户关系表表外键总结前言上一个分享我们从流程引擎配置获得了流程引擎的一个对象,事实上我们去看源码,我们接下来的这些Service也都是来自于流程引擎配置,所以上一个分享很简短,但是很重要,在后面的分享我们也可以再回过头来把流程

2020-11-13 17:18:26 4731 4

原创 [Camunda]流程引擎从入门到入行 - 获取ProcessEngine

Camunda流程引擎系列二、获取ProcessEngine文章目录Camunda流程引擎系列前言一、编写ProcessEngine枚举二、使用ProcessEngine1. 编写测试类并获取总结前言ProcessEngine是Camunda流程引擎的基础,我们要进行我们自己Service的编写,或多或少都需要基于ProcessEngine,因此如何正确拿到服务的ProcessEngine会很关键。提示:以下是本篇文章正文内容,下面案例可供参考一、编写ProcessEngine枚举枚举

2020-11-08 23:24:06 1919 2

原创 [Camunda]流程引擎从入门到入行 - 初始化springboot项目

Camunda流程引擎系列一、基于Springboot搭建自己的流程引擎中心文章目录Camunda流程引擎系列前言一、开始Camunda的基础准备Camunda简介重要概念系统架构二、使用步骤1. 下载资源2. 引入工程修改pom文件2. 修改配置文件初始化数据库启动项目前言现在的业务系统流程越来越多样化,根据不同的数据需要采用不同的策略,如果所有判断逻辑都由开发人员手工编写,对于系统稳定性及开发效率都有一定挑战,这种时候构建一个流程引擎就变得非常重要。过去的系统,业务逻辑不会太多,而OA

2020-11-08 14:36:52 2521

原创 【白话技术】从地铁高峰导流看抢购系统设计思路

又到了一年一度的大抢购,李佳琦熬夜赚钱白天补觉,我熬夜花钱白天还得打工,我们都有光明的未来,加油,尾款人。作为一个打工魂强过尾款魂的人,今天想用比尾款活动规则更简单更常见的方式来讲讲大流量的抢购系统怎么设计,毕竟拧螺丝使我快乐。我们以地铁高峰期来比喻抢购系统,看看彼此之间的相似点。= 整体场景相似性 =抢购地铁高峰流量冲击用户短时间大量访问,下订单,付款。乘客集中涌入地铁站,过闸机、排队、上车。相似场景下订单过安检负载均衡多口分流流量不能引起核心

2020-11-01 14:52:00 194

原创 让产品经理做ACE是做好产品的基础

之前发了一篇产品经理基本素质的文,有三个很有代表性的评论:“很多产品负责人在产品方面非常业余,只会拍脑袋,但是又很喜欢指手画脚。”“其实很多产品总监或者对产品经理的看法也蛮深刻,只是出于个人管理还有公司权利利益分配,不需要真正的产品经理,要个会写prd会用axure会传话会跟进反馈的工具人就行啦。”“很多团队都是技术话语权重,产品经理没有权力要做什么和做成什么样,产品技术团队也是矛盾重重。”其实上面的反馈都在反应一个问题,即使如今国内移动互联网行业都进入下半场了,也有很多组织靠着

2020-10-26 13:47:14 508

原创 奔跑者阿甘:我就干活,别的顺其自然才是禅者的初心

前几天和一位朋友聊到关于奖金的问题,这是个到了每年年底都会被拿出来提及的话题,但是这位朋友只是平静地回答:“我就干活,别的顺其自然”。这个回答从不同的人说出来,真的是不一样的,有的人讲出来是因为佛系,就是活也就随便干干,年终奖也就随缘;也有人其实在乎的要死,但是要表现出不在乎。不过这位朋友我知道,是真的专注在做好事做好自己,而把别的没有那么看重。这样的人都好容易被人误解,就像杨过、令狐冲也老被人觉得是别有用心。为什么我能肯定这位朋友?因为我能看到几年前的自己,虽然比几年前的我在某些方面还差点,但是也没

2020-10-19 19:03:38 647 5

原创 从基础特质初判一个产品经理潜质

前几天与某A字头大厂一产品朋友聊天,讨论现在产品经理这个职位的现状,这位朋友就越说越生气。他说:“现在我们公司,大家都觉得只要是个稍微有点脑子的人就能做产品经理了。但是我也理解,现在大多数产品经理水平确实很差。”我当然明白他的愤怒,因为他真的是一位优秀的产品经理,但产品经理这个职位现在鱼龙混杂也确实是不争的事实。想当年乔布斯、雷军、小马哥都说自己是产品经理时,产品经理这职位的热度可谓一时无两。加上“人人都是产品经理”这口号一喊,于是“产品经理”群雄并起,进入了草莽英雄的时代,个个顶着产品经理的头衔开始指点

2020-10-13 16:36:08 631 2

原创 从车祸事故看部门墙的人性本质

最近看了很多车祸视频,真的触目惊心,有些也颇有感触,真的是道路千万条,安全第一条,行车不规范,亲人两行泪。行车真的不要怕慢一点,抢那一下真的没有必要,我们真的差那么几秒钟时间吗?其实不差的,对不对。在众多车祸类型中,我觉得有两种是完全可以避免的,哪两种呢?一种是看到了对方,死命按喇叭自己就是不减速;另一种是狭小空间还要变道甚至不开转向灯。看到这两种车祸类型时,我觉得开车人的心态都是类似的,而且与产生跨部门协作的心理底层因素是很相似的。开车不让这种行为比较直白,大家都比较好理解,我按喇叭的意思就是,虽然现

2020-10-12 10:08:35 320

原创 90后偏好领导力调研报告

为什么要做这个调研?毫无疑问,90后已经是如今这个时代最有生产力的一个群体,这个群体有以下一些特点:生长环境比较好,物质文化都已比较丰富;从小便已接受了比较开化的文明思潮,对于东方传统的管理体系已经不是那么了解,比如前不久的银行强迫喝酒事件就是一个印证;基本都受过高等教育,特别是坐办公室的,已经不再是绝对服从的体力劳动者(当然体力劳动者的范畴如果扩大,比如只会简单完成任务,成日复制粘贴的程序员,只是需求的搬运工的产品经理,只会每日机械重复算账的财务人员,可能也该被归类于当代体力劳动者),

2020-10-08 21:21:13 823

原创 让90后给高管做导师来帮助企业数字化转型与走向长期主义

最近又看到“长期主义”被不断提及,其实每个老板在企业势起时,想着的都是这家公司我要一直做下去,但事实上真正能长久的企业少之又少。大多数的企业都逃不过这样的宿命,什么宿命呢?用自己过去的成功经验,让自己走向了失败,正可谓成也萧何败也萧何。为什么会这样呢?这其实很正常,当然要怪还是怪老美发明了互联网这么个东西,信息壁垒已经越来越少了,人们尤其是年轻人,每天接收着海量信息的冲击,他们的认知、价值观、消费观都在不断刷新着。这意味着什么?意味着企业要管理的员工,企业要面对的消费者都在日新月异地变化着。如果企业抱着

2020-10-07 11:27:13 546

原创 用Spring Security做分布式权限管理 - 卷二基于servlet动态实现

在前面我们已经分享了会涉及到的一些基础知识,现在我们要结合DEMO工程来看看如何实现,这个工程涵盖了注册、登录、权限配置、角色管理,从而实现了自定义的用户注册、登录以及基于数据库的动态权限管理。在DEMO中为了便于部署测试,将token下发方与使用方放在一个工程内,体验的小伙伴可以部署两个工程,一个下发一个校验。工程结构PhoenixWebConfig该配置类继承自WebSecurityConfigurerAdapter,是我们认证鉴权的入口,因为我们的工程以前后端分离为前提,所以在config里

2020-08-16 16:29:26 435

原创 用Spring Security做分布式权限管理 - 卷一基本功

我们但凡做一个系统,这个系统不是在封闭环境中,不是只给一个人用,为了保证系统与数据安全,那么就会涉及到权限控制,权限控制这个东西可以说是很多系统的基础,因为我们不能让所有人对系统上的所有资源都进行同样的操作。这篇分享与我们之前的分享一样,我们以一个框架与DEMO为切入口,会比较系统的讲到主题所指的内容,也会交叉一些其他知识点,其实技术这个东西也是熟能生巧的,我们如果不断把一些知识,一些细节融汇在一起反复提及,那么你慢慢就在潜移默化中掌握了。还是那句话,念念不忘必有回响。喜欢先动手的小伙伴,或者急着需要使

2020-08-10 23:54:39 1631 1

原创 从清晰的RESTful接口到漂亮的系统设计

接口是系统与外界交互的窗口,其他系统通过接口可以知道你管理着哪些资源,他能对这些资源干些什么。当然我们不遵守RESTful的建议也可以满足上面的目标,既然如此我们为什么还要按RESTful的规范来设计我们的接口呢?这样的灵魂拷问很现实也很真实,有小朋友会讲,我写接口都是一把梭,快得很,什么RESTful?不存在的。那么我们先来聊一聊为什么要把接口给RESTful了,稍后再聊如何做,有哪些正例反例,以及如何以接口为开头来设计出漂亮的 DDD CQRS 的微服务系统。为什么要写清晰的RESTful接口

2020-07-05 20:59:26 4927

原创 ElasticSearch 7.x with Springboot 2.3.x - 让ES在我们的程序中起飞

如何将ES运用到我们的程序中呢?我们将从集成、配置、体验其接口步步展开,其中会涉及到一些TDD的东西,不过不用太担心,因为TDD不是这里的重点,我们的重点将围绕 Springboot 2.3 + Spring Data Elastisearch 4 + ES 7.7 展开。Springboot 与 Spring data elasticsearch 为我们做了很多封装,有兴趣的小伙伴也可以试试自己直接在java中去操作ES,也不难就是麻烦一些,但是更有利于理解外部系统如何与ES交互。我们去做应用去实现业

2020-06-28 19:31:30 1635 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除