这里是2022年第2期的 OneAuth《身份月报》——致力于成为对大家“有用”的 Highlight 看板——每月初通过公众号以及 EDM 邮件等渠道发布。也欢迎大家转发和反馈。

下面分享OneAuth工程设计原则,并随着我们的实践和学习,不断进化,以及五月的新的发布。以下为月报正文:

守正出奇,聚焦核心价值

首先,编写软件是为了为用户创造价值。这看起来很简单,但随着系统的发展和变得更加复杂,我们开始引入更多的抽象和分层,这使我们远离我们试图解决的具体问题,甚至于开发者忘记了编写软件的原因。

在OneAuth,每个新的功能的开发,都在秉持一个原则,我们开发这一功能将给客户带来何种价值。基于受众的理解和充分的沟通来传递用户价值和告知优先级,这一点对于SaaS的提供者来说,至关重要。

市场分析师们关注的是ARR(年度经常性收入),但对于SaaS的服务者来说,SaaS的核心价值是客户成功。这意味着几乎总是有很多客户渴望测试我们正在开发的新功能,这需要我们与客户密切合作,允许在每两周的发布中迭代客户最迫切的需求和获取更改时持续的反馈。

OneAuth从一开始就是一个敏捷开发团队,敏捷的一个重要方面是实现自下而上和自上而下决策的结合。特别是在明确传达高层次愿景和战略的情况下,使团队能够自主地交付价值,同时还可以将从一线的沟通中学到的知识向上反馈,为高层次目标提供信息。

保持简单,做好SaaS的第一要素

Everything should be made as simple as possible, but no simpler — Albert Einstein 任何事情都应保持简单,但这事并不简单——爱因斯坦

这一真理已存在多年,它与上一条原则密切相关,如果它现在不能为用户增加价值,你就不需要它了。

极限编程(XP)的原则是,在你真正需要的时候实现它们,而不是在你预见到你需要它们的时候。 

我们都会遇到过于复杂的代码,几乎无法对其功能进行推理来还原其原始的逻辑(即便是有详细的注释)。造成这种混淆现象的原因是,一般来说,读代码比写代码更难,但除此之外,一些代码显然具有一些基本特性,使其比其他代码更直观。

在这个主题上有很多现有技术,最好从Robert C.Martin的《Clean Code-代码整洁之道》开始,这本书对代码的质量进行了分解,使其更直观,并提供了一个关于代码质量的推理框架。

下面是一些关于在实践中如何编写的干净代码的指导原则,Clean Code中也介绍了这些原则:

  • 明确意图,在代码表达不够时使用注释

  • 可以被其他人(或几年后继任)阅读和改进

  • 提供一种而不是多种方法来执行特定任务

  • 表达方式地道的,符合(某一)语言习惯的

  • 拆分成几块,每一块都仅做一件事,而且做得很好

归根结底经验是无法替代的,就像任何手艺一样,编写“干净”的代码需要练习。慢就是快、快即是慢,每个工程师都在不断磨练自己的技能,我们在很大程度上依赖于代码审查和结对编程来帮助磨练彼此的技能。

专注手头任务,拒绝给牦牛剃须

2012年,Facebook公司以10亿美元的价格收购Instagram的开发团队,后者仅有13名成员,但却拥有3000万用户。

当我们期望构建一个伟大的产品时,并非需要非常多的工程师,而是避免团队快速扩张而产生的剃牦牛须现象。牦牛剃须是指一项任务,它会导致你执行另一项相关任务等等,这些都会分散你对最初目标的注意力。

让我们来看一个例子。

你想烤一个苹果派,所以你去厨房。

在走廊里,你注意到墙上有一些油漆碎裂。 

所以你走到五金店买一些油漆。

在路上,你经过一家面包店,

停下来吃一个纸杯蛋糕。 

吃蛋糕的时候,嘴巴会痛。

正是你一直在拖延的那个口腔。 

您拿起手机打电话给牙医预约,

但您看到朋友雪儿发来的通知,

他正在参加聚会。 

你不想空手而归,

所以你停下来喝一瓶酒…

你得到了什么。那个苹果派又怎么了?

在编码中,它可能会是这样的。

您着手修复一行代码中的错误。 

但在你这样做之前,

你将它重构为它自己的函数。 

为什么这个函数不在它自己的文件中?

事实上,整个文件应该被分解成

一个主函数和多个实用函数…

修复原始错误发生了什么?当然,所有这些其他事情本身都很好,但它们会分散注意力。

简而言之:专注于手头的任务,不要给牦牛剃毛!

5月OneAuth产品更新

5月是温煦的春夏之交,在过去的一个月中,OneAuth完成两次发布,完成以下Feature的发布,您可以线上进行体验。

云端的LDAP服务

OneAuth提供了全新的云托管的LDAP实现,提供了LDAP协议的强大功能,而无需传统LDAP实施的常规设置、维护工作。 由此,OneAuth具备了连接“人”与“设备”的能力,支持客户端通过OneAuth LDAP进行认证和同步账号。

具有以下特性:

  • 云托管的LDAP服务,免去了用户实施和运维的工作;

  • 可视化的管理界面;

  • 支持使用LDAP命令的方式调用OneAuth的查询和认证接口;

  • 支持各类应用程序或设备通过OneAuth进行LDAP协议的身份认证和数据同步;

SAML2.0协议单点登录

SAML 全称 Security Assertion Markup Language (当前流行的是2.0版本),通常简称为SAML2.0。它通过 XML 封装的认证断言来描述用户。通过 SAML2.0 协议,OneAuth支持了 SAML 协议应用接入的单点登录,如华为云、腾讯云、Teambition等。

支持CAS协议单点登录

CAS 全称 Central Authentication Service(中心认证服务),是一种单点登录实现,支持应用通过CAS协议进行单点登录,如Jumpserver 通过CAS协议与OneAuth集成单点登录。

应用市场新增应用

华为云,腾讯云,阿里云,Teambiton,Jumpserver。

OneAuth 5月报:关于身份 少即是多相关推荐

  1. 全自动化处理每月缺卡数据,输出缺卡人员信息

    不管是上学还是上班都会统计考勤,有些学校或公司会对每月缺卡次数过多(比如三次以上)的人员进行处罚.有些公司还规定对于基层员工要在工作日提交日志.管理人员要提交周报或月报,对于少提交的人员要进行处罚.如 ...

  2. XToolsCRM的“企业维生素”理念让忙于不忙只在一瞬之间

    企业维生素XTools官方咨询中心(www.yunwins.com)分享: 就像我们知道缺乏维生素A,可致眼球结合膜干燥.角膜软化.穿孔,眼适应能力下降(夜盲),那么企业了,他如果缺少必要的养分,他会 ...

  3. java面试大厂必考题(2023)

    Java面试总结汇总,整理了包括Java基础知识,集合容器,并发编程,JVM,常用开源框架Spring,MyBatis,数据库,中间件等,包含了Java工程师在面试中需要用到或者可能用到的绝大部分知识 ...

  4. 英伟达首次开源内核、GitHub 强制用户身份验证、Google 悬赏 150 万美元找安卓漏洞 | 开源月报 Vol. 06...

    「WeOpen Insight」是腾源会推出的「开源趋势与开源洞见」内容专栏,不定期为读者呈现开源圈内的第一手快讯.优质工具盘点等,洞察开源技术发展的风向标,预见未来趋势. 1 开源企业新闻 1.NV ...

  5. 苹果计算机转换,便携毕亚兹苹果计算机转换器,超极本的少接口都能转换身份...

    前一秒钟,也许你还为拥有类似微软Surface这样的轻便型电脑而高兴,后一秒钟你就会发现自己这款平板电脑的接口根本不够用,和很多超极本一样,都存在着少接口的问题. 当咱们想接驳更多外设.显示器时,就需 ...

  6. 记录、总结、复盘的重要性和方法(另有周报、月报、年度总结撰写方法)

    文章目录 一.记录 1.记录的分类 2.学习记录 3.工作记录 定义 分类 作用 提醒作用 跟踪作用 证明作用 写好日志 时间维度 内容维度 感想维度 4.生活记录 二.总结和复盘 1.总结 2.复盘 ...

  7. ArcBlock ⑨ 月报 | 树立技术传播三大支柱 夯实全球开发者社区基础

    1 摘要 Summary 9 月,ArcBlock 区块基石团队持续优化 OCAP 服务,迭代 OCAP Playground.开发链上数据分析工具 TokenFlow,15 日在中国北京成功举办第三 ...

  8. Shiro01 功能点框图、架构图、身份认证逻辑、身份认证代码实现

    基本功能点 功能点框图 功能点说明 1.Authentication:身份认证/登录,验证用户是不是拥有相应的身份: 2.Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个 ...

  9. Facebook 与 Google 正在主导在线身份验证市场

    OpenID 公司 JanRain 的一项研究发现,用户在第三方网站进行身份验证时,最喜欢使用 Google 和 Facebook 的身份验证服务.Facebook 的验证服务 在媒体, 零售,技术等 ...

最新文章

  1. 简单介绍一下umask 命令使用方法
  2. CODEVS 1408 最长公共子序列
  3. C语言实现循环链表Circularly Linked List(附完整源码)
  4. QT的QSemaphoreReleaser类的使用
  5. FastDB内存数据库API
  6. Halcon 多个点拟合圆
  7. 如何通过XMind 实践OKR 工作法
  8. n的阶乘末尾含0的个数
  9. 虚拟机搭建Windows2003步骤详解
  10. 485. Max Consecutive Ones \ 118. Pascal's Triangle
  11. C# BackgroundWorker的用法
  12. Xmind2021绿色版,思维导图最佳软件
  13. 【Pytorch】touch.optim
  14. 课程体系包括哪些要素_课程建设包括哪些内容_以课程建设为抓手,促进专业团队的发展...
  15. Win10台式电脑怎么不拔网线断网
  16. 领袖一般会采用什么方式?
  17. C判断tic tac toe输赢
  18. Grafana接入Elasticsearch数据,绘制dashboard
  19. R语言-出图时的中英文字体解决方案
  20. 计算机网络可用主机地址数量怎么算,子网数目及子网主机数计算

热门文章

  1. 【STM32H7】第8章 ThreadX NetXDUO之TCP服务器
  2. GCC中 -I、-L、-l 选项的作用
  3. 达特茅斯计算机专业师资力量如何,达特茅斯学院本科计算机专业怎么样?
  4. 2015年《大数据》高被引论文Top10文章No.6——医疗健康大数据:应用实例与系统分析...
  5. python线程间通信方法之Event
  6. 数字金融崛起,科技撬动增长
  7. inprivate浏览是什么意思_如何使IE浏览器打开默认是InPrivate浏览
  8. Mac电脑解决Google翻译失效实用方法
  9. PID控制算法与参数整定,用这几招轻松搞定!
  10. 当销售离当老总还有多远(转)