5 乌鲁木齐001号程序员

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 27w+

API 安全机制 | 认证

认证 vs 登录认证和登录不一样,登录是获取用户信息,认证是验证用户身份是否合法;登录的行为,在一段时间内,往往只发生一次;认证的行为,是每次请求调用业务逻辑的时候,都会做的;认证不管成没成功,都会往下走,进入审计步骤去记录;最终请求能不能通过,是需要授权机制去决定的,比如认证机制没生效,不知道当前用户是谁,但是这个请求任然可能是可以调用业务逻辑的,比如商品查询;登录如果没成功,就不会往下...

2020-07-12 11:25:37

API 安全机制 | 流控

流控 | 流量控制流控要做在所有安全机制的最前头;流控有针对整个集群的流控,有针对单个服务的流控;流控 | 单个服务的流控基于 Guava 的 RateLimiter 的实现package com.lixinlei.security.api.filter;import java.io.IOException;import javax.servlet.FilterChain;...

2020-07-11 23:02:25

API 安全

API 安全的目标 | CIA机密性:确保信息只被预期的读者访问;完整性:防止未授权的创建、修改和删除;可用性:当用户需要访问 API 时,API 总是可用的;常见的 API 风险 | STRIDESpoofing:欺骗,伪装成某人;Tampering:干预,将不希望被修改的数据、消息或设置改掉;Repudiation:否认:拒绝承认做过的事;Information disc...

2020-07-11 22:21:56

Gateway

Gateway | 简介Spring Cloud Gateway 是 Spring 官方提供的 API 网关;Gateway 是基于 Spring5 和 Springboot2 做开发的;Gateway 是基于 Netty 开发的异步调用网关;Gateway | 特性提供动态路由和限流等措施;提供了易于编写的 Predicate 和 Filter,提供了良好的扩展性;提供了 D...

2020-07-11 19:21:51

微服务自动化测试

自动化测试重要性微服务大部分时候是敏捷开发的前置条件;微服务之间需要减少接口变化,提高接口健壮性;自动化测试是团队 Leader 验收的标准之一;TestNGTestNG 是借鉴 JUnit 诞生的一款自动化测试框架;TestNG 支持多线程测试及灵活的运行时配置;TestNG 包括诸多方便的注解供我们使用;TestNG | 常见注解注解注解作用Test...

2020-07-10 18:35:06

JWT

JWT | 简介全称:JSON Web Token;JWT 主要用于身份认证和信息加密;JWT 是一个简单而有效的安全认证方式;JWT 身份认证JWT 身份认证.pngJWT 进阶特性JWT 可以携带数据进行传输,方便后端使用;JWT 可以对传输数据进行签名,增强安全性;JWT 颁发流程用户登录;登录成功,用 randomKey 和 userId 生成 ...

2020-07-10 14:17:36

Zuul

网关由于微服务“各自为政”的特性,使微服务的使用非常麻烦;通常会雇佣一个“传达室大爷”作为统一入口,这就是网关;网关的主要作用就是请求转发和请求过滤;Zuul | 介绍Zuul 是网关大军中的一员,目前市场的使用规模比较高;Zuul 除了实现请求转发和请求过滤之外,一般还作为鉴权和容错使用;Zuul 可以无缝衔接 Ribbon 和 Hystrix;Zuul | servic...

2020-07-10 00:48:15

Feign

Feign | 简介Feign 是一个非常好用的 HTTP 客户端;Feign 很大程度上简化了 HTTP 调用的方式;Feign 很好的弥补了 Spring Cloud 的 HTTP 调用缺陷;Feign 能干什么Feign 包含了多种 HTTP 的调用形式SpringMVC:支持:@RequestMapping, @RequestParam, @RequestPathV...

2020-07-09 19:42:25

Hystrix

HystrixHystrix 是用于处理延迟和容错的开源库;Hystrix 主要用于避免级联故障,提高系统弹性;Hystrix 解决了由于扇出导致的“雪崩效应”;Hystrix 的核心是“隔离术”和“熔断机制”;关键词扇出:服务的调用关系像一个思维导图;雪崩:下游的服务挂了,上游的所有服务都超时;某个节点挂了,所有的流量都会打在另一个节点上,导致另一个节点也挂了,进而导致更多的...

2020-07-08 12:58:20

Ribbon

Ribbon 概述Ribbon 是客户端负载均衡器;Ribbon 核心功能服务发现;服务选择规则;服务监听,可以监听服务列表中哪个服务可用,哪个不可用;Ribbon 与 Eureka 整合Ribbon 天然与 Eureka 无缝整合,引入 spring-cloud-starter-netflix-eureka-client 就引入了 Ribbon;通过在 RestTempl...

2020-07-05 18:13:25

函数 | find_in_set

find_in_set | 作用一次返回多条记录;SQL 示例select * from mooc_cat_dict_t cat where find_in_set(cat.UUID, '2,4,22');查询 cat.UUID 是 2,4,22 的记录;

2020-07-04 20:57:22

函数 | replace

replace | 作用替换掉字符串中的某个字符;示例 SQLselect replace(trim(both '#' from film.film_cats), "#", ",") from mooc_film_t film;

2020-07-04 20:57:12

函数 | trim

示例表CREATE TABLE `mooc_film_t` ( `UUID` int NOT NULL AUTO_INCREMENT COMMENT '主键编号', `film_name` varchar(100) DEFAULT NULL COMMENT '影片名称', `film_type` int DEFAULT NULL COMMENT '片源类型: 0-2D,1-3D,2-...

2020-07-04 20:56:58

函数 | group_concat

group_concat | 作用列转行;示例表CREATE TABLE `mooc_film_actor_t` ( `UUID` int NOT NULL AUTO_INCREMENT COMMENT '主键编号', `film_id` int DEFAULT NULL COMMENT '影片编号,对应mooc_film_t', `actor_id` int DEFAULT...

2020-07-04 20:56:39

Eureka

@LoadBalanced加了 @LoadBalanced 之后,restTemplate.getForObject(url, String.class); 中的 url 就不能用 ip + port 了,要用 spring.application.name 中指定的名字;@Bean@LoadBalancedpublic RestTemplate restTemplate(){ ...

2020-07-04 19:59:15

Java 接入 ALS & LR 为用户推荐商户

召回(ALS)接入之前离线召回的数据保存在了 MySQL 中;直接取出来就行了;package tech.lixinlei.dianping.recommand;import java.io.Serializable;import java.util.ArrayList;import java.util.List;import org.springframework.bean...

2020-06-16 15:41:43

SparkML 实现 LR 算法

离散特征举例性别的男和女就是离散的特征;离散特征 | 处理one-hot 编码,就是一维的编码,比如性别可以抽象成二维的向量,如果是男就是 (1, 0),女就是(0, 1);如果离散的特征分布的特别广泛, 比如有 10 种分类的方法,one-hot 编码的向量就是十维,其落在哪个维度上面,其对应的维度就是 1,其他的都是 0;连续特征举例age 从 0 到 100 就是连...

2020-06-16 14:39:43

SparkML 实现 ALS 算法

引入依赖<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-mllib_2.12</artifactId> <version>2.4.4</version> <exclusions> ...

2020-06-16 02:06:35

LR 个性化排序算法

LR | Logic Regression | 逻辑回归Y = ax1 + bx2 + cx3 + dx4 ...针对召回算法返回的数据,进行二次精排,可以看做是对点击率的预估;x1,x2,... 可以理解成特征值,比如用户的年龄,用户的性别,门店的类别,门店的价格等;a,b,... 是每个特征值的权重;Y 介于 0 和 1 之间,越接近 1,越可能被点中了,越趋近 0,被点击的概率就...

2020-06-15 19:05:54

ALS 个性化召回算法原理

概述是最小二乘法;利用矩阵分解的结果,无限逼近现有数据,得到隐含特征;利用隐含特征,预测其余结果;ALS 算法 | 举个栗子product1product2product3user13.0user21.03.0user33.0user41.0在线采集系统会记录用户的所有行为;user2 浏览过...

2020-06-15 18:40:27

查看更多

勋章 我的勋章
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。