- 博客(9)
- 收藏
- 关注
原创 golang pbkdf2加密存储用户密码
概述PBKDF2(Password-Based Key Derivation Function) 是一个用来导出密钥的函数,常用于生成加密的密码。原理是通过 password 和 salt 进行 hash 加密,然后将结果作为 salt 与 password 再进行 hash,多次重复此过程,生成最终的密文。如果重复的次数足够大(几千数万次),破解的成本就会变得很高。而盐值的添加也会增加“彩虹表”攻击的难度。用户密码采用PBKDF2算法存储,比较安全。代码package pbkdf2import
2021-03-08 19:16:47
696
原创 领域驱动模型&CQRS学习
1、领域驱动概述微服务系统的设计自然离不开DDD(Domain-Driven Design,领域驱动设计),它由Eric Evans提出,是一种全新的系统设计和建模方法。DDD事实上是针对面向对象分析和设计的一个扩展和延伸,对技术架构进行了分层规划,同时对每个类进行了策略和类型的划分。领域模型是领域驱动的核心。领域模型通过聚合(Aggregate)组织在一起,聚合间有明显的业务边界,这些边界将领域划分为一个个限界上下文(Bounded Context)。采用DDD的设计思想,业务逻辑不再集中在几个大型的类
2021-03-08 19:16:07
239
原创 深入理解Nginx:模块开发与架构解析阅读--Nginx架构设计简介
Nginx特点:(1)更快一方面,在正常情况下,单次请求会得到更快的响应;另一方面,在高峰期(如有数以万计的并发请求),Nginx可以比其他Web服务器更快地响应请求(2)高扩展性Nginx的设计极具扩展性,它完全是由多个不同功能、不同层次、不同类型且耦合度极低的模块组成(3)高可靠性Nginx的高可靠性来自于其核心框架代码的优秀设计、模块设计的简单性;另外,官方提供的常用模块都非常稳定,每个worker进程相对独立,master进程在1个worker进程出错时可以快速“拉起”新的worker
2021-03-08 19:15:31
448
原创 React开发-根据变量动态添加render中的JSX元素
1、背景需要根据某变量,如列表元素,const values = [{‘text’:‘123’},{‘text’:‘456’}],动态绘制页面元素,如上述列表元素需要绘制出两个 下拉框+输入框 的组合。2、问题:一般绘制页面代码如下:import React, { Component } from ‘react’;class A extends Component {// xxx;render() { return <div> &l
2021-03-08 19:14:51
1072
原创 Java Web框架篇之Spring
为什么要有Spring(IoC)Web发展的几个阶段(1)初级阶段:使用Model1(JSP+JavaBean)/Model2(Jsp+Servlet+JavaBean)/三层模型(表示层(JSP/Servlet)+业务逻辑层+持久化层)进行开发;(2)中级阶段:使用EJB进行分布式应用开发,忍受重量级框架带来的种种麻烦;(3)高级阶段:使用Spring春天带给我们的美好,但是还要忍受很多繁琐的配置;(4)骨灰级阶段:使用Spring Boot,畅享“预定大于配置”带给我们的种种乐趣!Web发展
2021-03-08 19:10:46
148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人