2020-01-31,过了一个长长的春节假期

2020-01-31,农历正月初七,春节的第8天,宅在老家里,还剩下2天假期,明天准备返回工作城市。

村子里的广播一遍又一遍播放着病毒防疫的各类注意事项,这是生物病毒,不是电脑病毒,但比电脑病毒严重多了。远在西南偏远山区的小村庄,也受到影响。

这时刻,能深刻地感受到大家都在一起,一起抗战,一起需要口罩与防治措施,等等。

宅在家成了作个人贡献的重要环节,看着电视了解一切,都去当监工跟进,不添堵,不增加麻烦。

 

一种休息久了很需要工作才能满足的感觉油然而生,我们作好准备,迎接更可变的未来。

心态的积极面对,总会更好许多。

2020年阅读计划

阅读自有书,2020阅读计划

  1. 《Effective Java中文版(原书第3版)》2月
  2. 《持续交付:发布可靠软件的系统方法》7月
  3. 《鞋狗:耐克创始人菲尔.奈特亲笔自传》3月
  4. 《论人类不平等的起源和基础》
  5. 《新未来简史:区块链,人工智能,大数据陷阱与数字化生活》3月
  6. 《人间失格》2月
  7. 《企业IT架构转型之道》1月
  8. 《和谐拯救危机》
  9. 《演进式架构》
  10. 《暗网I:揭秘数字货币骗局》
  11. 《区块链 领导干部读本》6月
  12. 《译文纪实:血疫》6月
  13. 《基因,大脑和人类潜能》
  14. 《深入分布式缓存:从原理到实践》6月
  15. 《程序员必读之软件架构》4月
  16. 《程序员思维修炼(修订版)》5月
  17. 《深入理解Spring Cloud与微服务构建(第2版)》4月
  18. 《大数据之路:阿里巴巴大数据实践》5月
  19. 《用户故事地图》7月
  20. 《美国独行:西方世界的末日》9月
  21. 《税法禁行线》9月
  22. 《吃,是一种公民行为》8月
  23. 《病毒星球》7月
  24. 《平凡的世界》全三册 7月
  25. 《零信任网络》8月
  26. 《聊聊“架构”》9月
  27. 《第七天》

 

 

——————————-

2019年阅读计划

2018年阅读计划

2017年阅读计划

2016年及之前所看之书

解决oauth_access_token表出现一个UserName有多条数据异常

在spring-oauth-server的ISSUE #IAI2E#IP5N9中提到的oauth_access_token表会出现多条相同username的数据的异常情况,

解决办法如下:

1.对 oauth_access_token 表的authentication_id 字段增加唯一索引,创建索引SQL如下:

ALTER TABLE oauth_access_token ADD UNIQUE INDEX authentication_id_unique_index(authentication_id);

若是新建数据库,则直接按照 spring-oauth-server开发要求运行SQL文件(initial_db.ddl)即可(创建表的SQL中已经加了唯一索引)

 

2.推荐使用将access token 数据存入redis来提升性能与解决此问题,详细请访问 http://andaily.com/blog/?p=19776

 

域名清单

monkeyk.com

andaily.com

shengzhaoli.com

wancunle.com

schqst.com

————–

kisso.net

sharego.net

idaas.net

————–

qiuchang8.cn

————–

monkeyk.cc

kisso.cc

wdcy.cc

————–

qc8.me

 

 

spring-oauth-server 2.0.1 发布,基于Spring-Boot2.x实现,向微服务靠拢

spring-oauth-server在2019-08-04更新发布了2.0.1版本,

此版本是使用Spring Boot重构实现后的第2个发布版本(2.0.0是第1个),更新内容如下:

  1. 将项目用视频方式讲解出来,更直观学习与掌握,视频链接http://list.youku.com/albumlist/show/id_51900110.html(不断更新中)
  2. Fix issue #IJO9R /oauth/rest_token 接口 client_secret字段没有校验
  3. Use spring-boot version to :   2.0.2.RELEASE
  4. 修改ROLE的错误配置
  5. 升级Spring Security OAuth版本为2.3.4.RELEASE
  6. 增加将AccessToken存入Redis的配置参考,提高读写性能
  7. 增加使用代码生成AccessToken功能

 

2.0.1分支链接:https://gitee.com/shengzhao/spring-oauth-server/tree/2.0.1/

spring-oauth-server

 

 

历史更新

 

如何通过代码生成AccessToken

在默认的OAuth2场景中,需要发送请求到 /oauth/token 响应AccessToken,这能满足大部分的需求;但在更复杂的场景中,比如在请求时需要传递更多的信息,如deviceId(设备ID),tenantId(租户ID)等,这时默认的实现就不满足要求,需要另写API来实现(同时传递OAuth2需要的参数,如client_id),在后台代码实现中,需要通过代码来生成AccessToken。

在spring-oauth-server的2.0.1版本中,增加了通过代码生成AccessToken的JAVA类,具体如下:

token-code

 

InlineAccessTokenInvoker.java  — 生成AccessToken的抽象类,提供许多公共方法实现;

ClientCredentialsInlineAccessTokenInvoker.java  — 生成grant_type=client_credentials 时的AccessToken类;

PasswordInlineAccessTokenInvoker.java  — 生成grant_type=password 时的AccessToken类;

RefreshTokenInlineAccessTokenInvoker.java — 生成grant_type=refresh_token 时的AccessToken类;

 

具体的使用示例可查看每个类的单元测试代码。一个示例如下:

demo-token-get

 

调用成功返回 AccessTokenDto 对象,若失败则会抛出OAuth2中的异常对象,如:InvalidGrantException。

 

相关阅读

处理/oauth/token与/oauth/authorize的Endpoint

 

spring-oauth-server

《领域驱动设计》摘录

没有哪个项目会用到本书中介绍的所有技术。尽管如此,我们很容易通过几个方面辩认出一个项目是否采用了领域驱动设计。标志性的特征是把“理解目标领域并将学到的知识融合到软件中”当作首要任务。其他工作都以它为前提。

 

他们知道,开发出高质量的,能够清晰反映出领域模型的软件并非易事,因此他们一丝不苟地运用设计技巧。他们也因为遇到障碍而跌倒过,但却始终坚持自己的原则,百折不挠,继续前进。

 

当下,“复杂性”领域是众多科学的前沿。虽然有才能的软件工程师通常都认为纯粹的技术任务是最有趣,最有挑战性的,但领域驱动设计展现了一个同样富有挑战性(甚至具有更大挑战性)的新领域。

 

由外行创建复杂软件的时代还远未到来。

 

创建好的软件是一项需要学习和思考的活动。

 

但不管怎样都不能仅仅停留在“一切都是对象”这种层次上,至少要分清“螺栓”和“弹簧”。