Algorithm
用链表和二叉树实现Set集合
Review
996.ICU这个网站和Github上的项目影响力是病毒似的,几天时间名声响彻全球,还阴差阳错的摘下了2019年最佳项目的桂冠。同时被中国几大巨头联手抵制。
管理水平不给力,加班精神胜利法来凑,就是二十一世纪的大炼钢铁。
Tips/Technology
一、kerberos学习
kerberos定义
是由MIT开发的一套安全网络认证协议,支持客户端和服务端不需要在网络上传输密码就可以进行认证。使用的是对称机密算法生成时间敏感的票据。
官网教程
https://www.kerberos.org/software/tutorial.html
kerberos关键术语
- AS(Authentication Server)= 认证服务器
- KDC(Key Distribution Center)= 密钥分发中心
- TGT(Ticket Granting Ticket)= 票据授权票据,票据的票据
- TGS(Ticket Granting Server)= 票据授权服务器
- SS(Service Server)= 特定服务提供端
kerberos验证流程
kerberos学习推荐博客
kerberos简单原理解读
用通俗的话,由浅入深讲解kerberos的认证原理
Hadoop and Kerberos: The Madness beyond the Gate
二、schema-registry
解决问题:解决了用Avro序列化或者反序列化的时候,每条记录中嵌入都嵌入相同schema问题,通过第三方schema-registry服务,将schema整合统一注册统一管理。
GitHub开源:
前端:Landoop/schema-registry-ui
后端:confluentinc/schema-registry
三、如何在不修改代码的情况下debug线上程序?
Java动态追踪技术探究 美团技术团队的文章,从如何在不修改代码的情况下debug线上程序的问题出发,探究如何直接操作字节码。
java本身是个静态语言,但在1.5版本后开了一个口子jaInstrumentation类,然后就出现了基于这个类封装的框架ASM(cglib、动态代理和SpringAOP),有框架还是需要开发,那么就衍生出了工具BTrace,工具的二次封装Arthas。
Share
《思考工作的性质》
前几天,我听一个广播节目。主持人问,现在很多人开网约车,这样能赚多少钱,能够赚到大钱吗?
这个问题很容易回答,答案就是不能。出租车司机的收入,主要由营业时间的长短决定。基本上,一天开12个小时,就是比开6个小时,收入高出一倍。每天只有24个小时,因此收入存在上限,不可能偏离平均水平很远。
出租车是“时间换收入”的典型行业,投入的时间越多,收入越高,在家休息就没收入。很多行业都属于“时间换收入”,所有此类行业都赚不到大钱。因为你能用来交换的时间是有限的,而且进入中年以后,你就拿不出更多的时间来交换。开出租车赚零花钱,或者作为短期过渡,这是没问题的,但作为终身职业是很糟糕的。
我觉得,越来越多的程序员正在落入这个陷井,用编码的时间换取收入。只有不停地做项目,才能拿到钱。项目做得越多,收入越高。这个项目开发完了,公司又让他去干下一个项目。 忙了好几年,项目完成了一大堆,但是自己什么也没留下,以后的收入还要取决于从零开始的新项目。这样的话,你跟出租车司机有何两样,哪一天你不写代码了,不是照样没收入。
那些赚到大钱的人,没有一个是靠时间换取收入的。他们要么通过积累资产致富,要么购买他人的时间,为自己创造财富。你应该警惕,不要落入“时间换取收入”的陷井,不要只顾着为别人生产代码,而要注意积累自己的资产,以及适时开展属于自己的业务。
引用自阮一峰每周分享第50周开篇
Research
kerberos安全认证