iT铁人赛完赛感想 - 30天的结束不是完结

今天原本要发表的内容是「用Keycloak学习JWT权杖格式」,然後应该还会有1-2篇与JWT相关的内容,以及Open-Id、Social Login的一些细节。

不过以铁人赛角度可能要先在这边结束了。

Hi~Hi~~ 各位,不知道有多少人是从第一篇跟随看到现在的?那可能潜在的30多位看官能不能留个言让我知道?
毕竟一篇内容几乎至少都是2个小时起跳的,尽管自己写的还算蛮开心的,但有时候看到自己文章的点阅率还是有点伤心。(还是网页开发和机器学习相关的内容比较多人看啊)

这系列内容几乎存在於现今所有系统之中,却因爲不是开发上主要的业务逻辑内容,也就经常被人遗忘。同样地,也有很多服务处理了这部分问题,故不需要自行处理。但是有时候「知识远比技术更爲重要」,其之所以,还需要之其所以然。能够了解来龙去脉,思考细节,绝对会对於软件设计、开发有所帮助。不过是不是还是没多少人有兴趣(苦笑)。

因为询问後得知,明天之後就部能够在铁人发文了,所以决定先把这次一路写下的一些感想先写下来。希望这不完整的系列文章不会影响到评分XD

系列规划前

这次主题虽然啓发於年初1、2月,但是完整规划确实在快开赛前,也就8-9月吧!不如上一次规划「Lua重拾笔记」的早,其中一部分原因是主题范围有点大,内容繁杂,顺序更是不好规划,甚至到有点焦虑,毕竟这次内容尽管不是第一次接触,却是第一次深入,很怕写的自己不满意。

反覆咀嚼。无招胜有招

与所有工具一样,了解工具的工作原理及其优点非常重要。毕竟,用锤子虽然可以将螺丝钉打入墙壁,但用螺丝刀可能会更省力。希望你了解OAuth适用於哪些场景,同样也了解它不适用於哪些场景。

-- OAuth 2.0 实战

我认爲会使用工具以外,了解其原理、历史脉络也同样有帮助。在细部规划内容的时候,不断反覆理解这些习以爲常的事物,甚至跨个范围有所顿悟。对於那些「设计模式(Design Pattern)」的技术文章,顿然觉得没什麽,自己对於一部分模式有其他的理解方式,豁然开朗。四人帮在其着作--设计模式,写下过:「设计模式并不要求使用独特的语言特性,也不采用那些足以使你的朋友或老板大吃一惊的神奇的程序技巧。」不是记住从程序语言上制式的写法,更需理解其应用场景、设计思想。做到无招胜有招,模式信手拈来。

风清扬道:「活学活使,只是第一步。要做到出手无招,那才真是踏入了高手的境界。你说『各招浑成,敌人便无法可破』,这句话还只说对了一小半。不是『浑成』,而是根本无招。你的剑招使得再浑成,只要有迹可寻,敌人便有隙可乘。但如你根本并无招式,敌人如何来破你的招式?」令狐冲一颗心怦怦乱跳,手心发热,喃喃的道:「根本无招,如何可破?根本无招,如何可破?」陡然之间,眼前出现了一个生平从所未见、连做梦也想不到的新天地。

https://kknews.cc/zh-tw/culture/xn896lr.html


知识并不是记住而已,反覆咀嚼思考内容化爲智慧,这仍然是许多人应该做得。这系列文章也仅仅是我粗浅的见解,若有发现错误,或是不同看法,还请留言让我知道

「只听张三丰问道:『孩儿,你看清楚了没有?』张无忌道:『看清楚了。』张三丰道: 『都记得了没有?』张无忌道:『已忘记了一小半。』张三丰道:『好,那也难为了你。你自己去想想罢。』张无忌低头默想。过了一会,张三丰问道:『现下怎样了?』张无忌道: 『已忘记了一大半。』


这里引用一段《庄子·大宗师》的译文。

「颜回说:『我进步了。』孔子问道:『你的进步指的是什麽?』颜回说:『我已经忘却仁义了。』孔子说:『好哇,不过还不够。』过了几天颜回再次拜见孔子,说:『我又进步了。』孔子问:『你的进步指的是什麽?』颜回说:『我忘却礼乐了。』孔子说:『好哇,不过还不够。』过了几天颜回又再次拜见孔子,说:『我又进步了。』孔子问:『你的进步指的是什麽?』颜回说:『我『坐忘』了』。孔子惊奇不安地问:『什麽叫『坐忘』?』颜回答道:『毁废了强健的肢体,退除了灵敏的听觉和清晰的视力,脱离了身躯并抛弃了智慧,从而与大道浑同相通为一体,这就叫静坐心空物我两忘的『坐忘』。』孔子说:『与万物同一就没有偏好,顺应变化就不执滞常理。你果真成了贤人啊!我作为老师也希望能跟随学习而步你的後尘。』」


所谓将学到的东西忘掉,就是将形式与外表的部分抛掉,其他的变成你自己的一部分。但是这要经过消化、反刍、以及人生经验不断地精练、淬炼和回馈。只有你自己的知识才是有用的,别人的知识对你而言是没有用的。这也是奥修说的,只有你自己的真理才是真理,别人的真理不是真理。这与客观与否无关,客观在这里是没有用的。

https://blog.xuite.net/lichanglee/kuastm/28938733


现在感觉有总缓缓在 达克曲线 爬坡,而且有所成就的感觉。

image alt

内容的规划。30天的结束并不是完结

我并不知道爲什麽,其实一开始想到的是英文「Learn Authentication and Authorization with Keycloak」,然後才有了这才中文主题「用Keycloak学习身份验证与授权」。

也就与各位知道的,到目前爲止的内容并不是最初规划的全部。除了目前尚未提到的JWT权杖格式、Open-Id与Social Login细节外,另一大我觉得很重要的部分「存取控制(Access Control)」也还没提到。此外,先前在「Day20 - 【概念篇】OAuth flows: Device Code(2)」实现的应用,如何实现也没有分享。更原本实战篇想规划一个连存取控制都相对完整的应用,以及更多不直接与身份验证与授权相关的「进阶篇」内容。大概只能发表在个人部落格或是另做规划了。

OpenId-client

另外有点遗憾的是使用的oidc-client似乎有点旧了,若改用openid-client也许会更实用。

Keycloak管理的设计

在经过了解一部分Keycloak後,我个人还蛮喜欢Keycloak管理的设计的。尤其用自己管理核心应用的方式,让我蛮愉快的。

心情上的转变

其实一开始与上次写Lua重拾笔记一样,只是想写写,整理整理自己所知道的东西而已。但写到後来,这次是真的有些希望能够得奖。(真心希望不完整的系列内容不会影响评分阿XD)

但看到这次「Software Development」高达117人报名,更大概有75、76人完赛大概没问题。更有认识的人表现的也蛮好的,颇有压力阿Orz。

呵呵,我原本还想说多报个ARM主题,随意写写一些相关内容,拿个保底的奖品啥的XD
但这系列花费我心力就蛮大的了...

在最後

虽然之前不是没有发表超过30天,但这次选在最後一天开赛,也就可能没办法发表超过30天。原本规划上就超过30天,更是在边写的过程中冲到40天以上。虽然最後一两周的周末有些怠惰,但姑且还是留有一些草稿内容,蒐集的资料更是多很多没好好看过分享,其中也有不少略看很有意思的内容。

其实原本是想先询问大家还有没有兴趣看一下,周末在多补几篇,继续发表。虽然目前也做了一些措施,占位草稿什麽的,但不清楚作用如何?各位看官想法又如何?当然我也有自己的规划。还有写有点累,懒了(吐舌)

各位能够留个言我会很开心~

最近在了解PDF格式、影像处理与影像辨识。不知道会不会成为我下次主题(汗

有不少事要了解要做阿Orz


<<:  DAY30 - side project 的尾巴,反省与展望

>>:  Day30 把同学变成刘德华 他需要几杯忘情水

创建App一关於本App

创建App一关於本App(TeenMate) 为何选择在关於TeenMate的这一项功能作一天日记,...

[Day17] CH10:排序大家族——插入排序法

今天第三天要登场的是插入排序法(Insertion Sort),我自己在玩扑克牌的时候,都是使用这种...

【5】超参数 Batch size 与 Learning rate 的关系实验

Colab连结 昨天探讨了 Batch size 的问题和前天的 Warm-up 问题後,其实在我心...

Day04 - Laravel 档案架构

昨天我们已经成功的建立一个 Laravel 专案,今天我们就来稍微了解一下 Laravel 专案下面...

EP12 - 重构并模组化 Terraform 程序码

传统的架构上, 我们会使用独立机械建置 Git、Jenkins, 最後部署至目标环境, 到目前为止,...