本文的目的在于如果使用spring Security 建立一个OAuth服务,且演示如何调用OAuth服务来请求获取的资源。 1.OAuth2的基本原理 A为请求服务器,B为资源服务器 2.OAuth2 角色划分 1.Resource Sever --> 被授权访问的资源 2.Authorization Server --> Oauth2认证授权中心 3.Resource Owner --> 用户 4.Client --> 使用API 的客 More
docker exec -it c6d74720ed00 /bin/bash cd /home/git/gitlab/bin ./rails console -e production user = User.where(id: 1).first user.password='123456' user.save!
我用第二种办法搞定的,个人推荐第二种,成本低,见效快,适合多人开发 方法1:直接安装到本地库 mvn install:install-file -Dfile=D:\dechnicLib\INetSDK.jar -DgroupId=com.dahua.netsdk -DartifactId=dahua-netsdk-jni -Dversion=1.0.0 -Dpackaging=jar -DgeneratePom=true -Dmaven.repo.local=E:\USERDATA\maven\repository pom 里 com.dahua.n More
1. 首先进行清理idea的缓存,然后进行重启idea 2. 这个时候一般就会没问题了,如果还有问题的话,就执行maven-reimport重新加载maven依赖 idea 2021版本为reload
解法 步骤1 python --version 确认系统安装python的版本号 步骤2 查找对应版本的官方文档,获取 https://docs.python.org/release/2.7.16/installing/index.html?highlight=pip 步骤3 根据文档,执行命令 sudo python -m ensurepip --default-pip 搞定
MQ消息队列三个典型的应用场景 异步处理 使用前:注册--->发邮件--->发短信 如果连续处理,每个动作为50ms,那么一共花费150ms 使用后:注册--->MQ队列 MQ队列-->发邮件 (异步) MQ队列--->发短信 (异步) 用MQ队列服务缩短为55ms,注册50ms,写入MQ 5ms 应用解耦 使用前:订单系统--->库存系统 下单后减去库存,订单系统会依赖库存系统稳定性 使 More
整理完毕的笔记,收获很大 视频 https://www.bilibili.com/video/av667586995/ 提交订单 1. Redis里查库存-库存充足-扣减成功-更新库存 并发测试三单,从50变成49(其实为47),库存会超卖 2. synchroinzed(productID) 上锁 单机可以,多机器就拉倒了 synchroinzed JVM级别的锁 3. 分布式锁 锁标记productID,多方机器共享锁标记 More
章节1:Java中wait方法和sleep的不同之处 区别1: a.wait来自Object方法 b.sleep来自Thread方法 区别2: a.sleep 让当前方法休眠1000毫秒,休眠后自动醒来,不一定要是锁对象 b.wait 传入毫秒参数,效果和sleep方法相似,但是比较麻烦,wait方法必须由锁对象调用 锁对象必须存放在同步当中 (不建议wait(1000) )建议wait() More
秒杀活动对稀缺或者特价的商品进行定时定量售卖,吸引成大量的消费者进行抢购,但又只有少部分消费者可以下单成功。因此,秒杀活动将在较短时间内产生比平时大数十倍,上百倍的页面访问流量和下单请求流量。 秒杀活动可以分为3个阶段: 秒杀前:用户不断刷新商品详情页,页面请求达到瞬时峰值。 秒杀开始:用户点击秒杀按钮,下单请求达到瞬时峰值。 秒 More
总结: 单机互斥锁 1. SET KEY Value PX milliseconds NX SET 商品ID 线程ID PX 30000 NX 1.PX 防止锁过期,NX互斥 2.线程ID 记录下来,作为唯一值 3.释放锁验证value,不能让别人的线程,解了别人的锁。 2. 集群锁 RedLock 假设集群5个节点 P1.获取当前Unix时间,毫秒为单位 P2.依次从5台机器,相同的KEY 和 唯一性的Value请求锁,为每 More